[@@@ocaml.warning "-27-30-39-44"]

type avatar_slot_type =
  | Avatar_slot_1 
  | Avatar_slot_2 
  | Avatar_slot_3 

type item_type =
  | Item_type_none 
  | Item_avatar_card 
  | Item_equipment 
  | Item_material 
  | Item_avatar_exp 
  | Item_relic 

type virtual_item =
  | Virtual_item_none 
  | Virtual_item_hcoin 
  | Virtual_item_scoin 
  | Virtual_item_mcoin 
  | Virtual_item_stamina 
  | Virtual_item_reserve_stamina 
  | Virtual_item_avatar_exp 
  | Virtual_item_exp 
  | Virtual_item_daily_active_point 
  | Virtual_item_mp_max 
  | Virtual_item_player_return_point 
  | Virtual_item_battle_college_point 
  | Virtual_item_rogue_coin 
  | Virtual_item_rogue_talent_coin 
  | Virtual_item_rogue_reward_key 
  | Virtual_item_achievement_exp 
  | Virtual_item_bp_exp 
  | Virtual_item_bp_real_exp 
  | Virtual_item_museum_funds 
  | Virtual_item_warrior_exp 
  | Virtual_item_rogue_exp 
  | Virtual_item_mage_exp 
  | Virtual_item_shaman_exp 
  | Virtual_item_warlock_exp 
  | Virtual_item_knight_exp 
  | Virtual_item_priest_exp 
  | Virtual_item_punk_lord_point 
  | Virtual_item_gameplay_counter_monster_sneak_vision 
  | Virtual_item_gameplay_counter_wolf_bro_bullet 
  | Virtual_item_alley_funds 
  | Virtual_item_rogue_puman_coupon 
  | Virtual_item_month_card 
  | Virtual_item_bp_normal 
  | Virtual_item_bp_deluxe 
  | Virtual_item_bp_upgrade 
  | Virtual_item_heliobus_fans 
  | Virtual_item_space_zoo_hybrid_item 
  | Virtual_item_space_zoo_exp_point 
  | Virtual_item_rogue_nous_talent_coin 
  | Virtual_item_evolve_build_coin 
  | Virtual_item_drink_maker_tip 
  | Virtual_item_monopoly_dice 
  | Virtual_item_monopoly_coin 
  | Virtual_item_monopoly_cheatdice 
  | Virtual_item_monopoly_reroll 
  | Virtual_item_rogue_tourn_permanent_talent_coin 
  | Virtual_item_rogue_tourn_exp 
  | Virtual_item_matchthree_coin 
  | Virtual_item_sword_training_skill_point 
  | Virtual_item_fight_fest_coin 

type gameplay_counter_type =
  | Gameplay_counter_none 
  | Gameplay_counter_monster_sneak_vision 

type black_limit_level =
  | Black_limit_level_all 

type area_type =
  | Area_none 
  | Area_cn 
  | Area_jp 
  | Area_asia 
  | Area_west 
  | Area_kr 
  | Area_overseas 

type entity_type =
  | Entity_none 
  | Entity_avatar 
  | Entity_monster 
  | Entity_npc 
  | Entity_prop 
  | Entity_trigger 
  | Entity_env 
  | Entity_summon_unit 

type language_type =
  | Language_none 
  | Language_sc 
  | Language_tc 
  | Language_en 
  | Language_kr 
  | Language_jp 
  | Language_fr 
  | Language_de 
  | Language_es 
  | Language_pt 
  | Language_ru 
  | Language_th 
  | Language_vi 
  | Language_id 

type platform_type =
  | Editor 
  | Ios 
  | Android 
  | Pc 
  | Web 
  | Wap 
  | Ps4 
  | Nintendo 
  | Cloud_android 
  | Cloud_pc 
  | Cloud_ios 
  | Ps5 
  | Mac 
  | Cloud_mac 
  | Cloud_web_android 
  | Cloud_web_ios 
  | Cloud_web_pc 
  | Cloud_web_mac 
  | Cloud_web_touch 
  | Cloud_web_keyboard 

type relogin_type =
  | No_kick 
  | Force_kick 
  | Idle_kick 
  | Silence 

type avatar_type =
  | Avatar_type_none 
  | Avatar_trial_type 
  | Avatar_limit_type 
  | Avatar_formal_type 
  | Avatar_assist_type 
  | Avatar_aether_divide_type 
  | Avatar_upgrade_available_type 

type multi_path_avatar_type =
  | Multi_path_avatar_type_none 
  | Mar_7th_knight_type 
  | Mar_7th_rogue_type 
  | Boy_warrior_type 
  | Girl_warrior_type 
  | Boy_knight_type 
  | Girl_knight_type 
  | Boy_shaman_type 
  | Girl_shaman_type 

type gender =
  | Gender_none 
  | Gender_man 
  | Gender_woman 

type dhlmiciamka =
  | Product_none 
  | Product_normal 
  | Product_limit 
  | Product_limit_no_pay 
  | Product_no_process_order 

type pifanmpbmaj =
  | Product_gift_none 
  | Product_gift_coin 
  | Product_gift_month_card 
  | Product_gift_bp_68 
  | Product_gift_bp_128 
  | Product_gift_bp68_upgrade_128 
  | Product_gift_point_card 
  | Product_gift_ps_pre_order_1 
  | Product_gift_ps_pre_order_2 
  | Product_gift_google_points_100 
  | Product_gift_google_points_150 
  | Product_gift_ps_point_card_030 
  | Product_gift_ps_point_card_050 
  | Product_gift_ps_point_card_100 

type feature_switch_type =
  | Feature_switch_none 
  | Feature_switch_shop 
  | Feature_switch_lineup_name 
  | Feature_switch_recharge_shop 
  | Feature_switch_nickname 
  | Feature_switch_signature 
  | Feature_switch_battlepass 
  | Feature_switch_punk_lord 
  | Feature_switch_monthcard_daily 
  | Feature_switch_picture_share 
  | Feature_switch_rogue 
  | Feature_switch_challenge 
  | Feature_switch_cocoon 
  | Feature_switch_raid 
  | Feature_switch_maze_plane_event 
  | Feature_switch_activity_panel 
  | Feature_switch_mailbox 
  | Feature_switch_quest 
  | Feature_switch_gacha 
  | Feature_switch_chat 
  | Feature_switch_modify_friend_alias 
  | Feature_switch_use_item 
  | Feature_switch_activity_schedule 
  | Feature_switch_farm_element 
  | Feature_switch_achievement_level 
  | Feature_switch_daily_active_level 
  | Feature_switch_player_return 
  | Feature_switch_first_set_nickname 
  | Feature_switch_main_mission_reward 
  | Feature_switch_sub_mission_reward 
  | Feature_switch_pam_mission 
  | Feature_switch_daily_mission 
  | Feature_switch_destroy_item 
  | Feature_switch_consume_item_turn 
  | Feature_switch_rogue_modifier 
  | Feature_switch_chess_rogue 
  | Feature_switch_chess_rogue_board 
  | Feature_switch_roll_shop 
  | Feature_switch_h5_return 
  | Feature_switch_offering 
  | Feature_switch_server_red_point 
  | Feature_switch_monopoly_option_ratio 
  | Feature_switch_monopoly_get_raffle_ticket 
  | Feature_switch_monopoly_take_raffle_reward 
  | Feature_switch_challenge_recommend_lineup 
  | Feature_switch_psn_member_ship_check 
  | Feature_switch_player_board_development 
  | Feature_switch_pvp 
  | Feature_switch_rogue_mode 
  | Feature_switch_rogue_tourn_ugc 
  | Feature_switch_relic_filter_plan_name 
  | Feature_switch_maze_item_use_buff_drop 
  | Feature_switch_red_dot 

type hchcnfgecjj =
  | Secret_key_none 
  | Secret_key_server_check 
  | Secret_key_video 
  | Secret_key_battle_time 

type replay_type =
  | Replay_type_none 
  | Replay_type_punk_lord 

type punk_lord_share_type =
  | Punk_lord_share_type_none 
  | Punk_lord_share_type_friend 
  | Punk_lord_share_type_all 

type punk_lord_attacker_status =
  | Punk_lord_attacker_status_none 
  | Punk_lord_attacker_status_attacked 
  | Punk_lord_attacker_status_attacking 
  | Punk_lord_attacker_status_attacked_and_attacking 

type punk_lord_monster_info_notify_reason =
  | Punk_lord_monster_info_notify_reason_none 
  | Punk_lord_monster_info_notify_reason_enter_raid 
  | Punk_lord_monster_info_notify_reason_battle_end 
  | Punk_lord_monster_info_notify_reason_leave_raid 

type chat_type =
  | Chat_type_none 
  | Chat_type_private 
  | Chat_type_group 

type msg_type =
  | Msg_type_none 
  | Msg_type_custom_text 
  | Msg_type_emoji 
  | Msg_type_invite 

type shield_type =
  | Shield_type_none 
  | Shield_type_replace 
  | Shield_type_shied 

type func_unlock_id =
  | Func_unlock_id_none 
  | Func_unlock_id_relic 
  | Func_unlock_id_relic_num 
  | Func_unlock_id_equipment 
  | Func_unlock_id_skilltree 
  | Func_unlock_id_gacha 
  | Func_unlock_id_expedition 
  | Func_unlock_id_compose 
  | Func_unlock_id_fightactivity 

type assist_avatar_type =
  | Assist_avatar_unknow 
  | Assist_avatar_level 
  | Assist_avatar_rank 

type development_type =
  | Development_none 
  | Development_rogue_cosmos 
  | Development_rogue_chess 
  | Development_rogue_chess_nous 
  | Development_memory_challenge 
  | Development_story_challenge 
  | Development_unlock_avatar 
  | Development_unlock_equipment 
  | Development_activity_start 
  | Development_activity_end 
  | Development_boss_challenge 
  | Development_rogue_tourn 
  | Development_rogue_tourn_week 

type playing_state =
  | Playing_state_none 
  | Playing_rogue_cosmos 
  | Playing_rogue_chess 
  | Playing_rogue_chess_nous 
  | Playing_challenge_memory 
  | Playing_challenge_story 
  | Playing_challenge_boss 
  | Playing_rogue_tourn 

type apkcjpohccj =
  | Match_room_character_none 
  | Match_room_character_leader 
  | Match_room_character_member 
  | Match_room_character_watcher 

type match_room_character_status =
  | Match_room_character_status_none 
  | Match_room_character_status_idle 
  | Match_room_character_status_operating 
  | Match_room_character_status_ready 
  | Match_room_character_status_fighting 
  | Match_room_character_status_watching 

type player_basic_info = {
  nickname : string;
  level : int32;
  exp : int32;
  stamina : int32;
  mcoin : int32;
  hcoin : int32;
  scoin : int32;
  world_level : int32;
}

type sp_progress = {
  sp_cur : int32;
  sp_need : int32;
}

type black_info = {
  begin_time : int64;
  end_time : int64;
  limit_level : int32;
  ban_type : int32;
}

type lmamieaaodh = {
  avatar_type : avatar_type;
  id : int32;
}

type version_count = {
  version : int32;
  count : int32;
}

type client_download_data = {
  version : int32;
  time : int64;
  data : bytes;
}

type client_obj_download_data = {
  obj : bytes;
  hdhpoaagdem : client_download_data option;
}

type client_upload_data = {
  tag : string;
  value : string;
}

type feature_switch_param = {
  param_list : int32 list;
}

type feature_switch_info = {
  type_ : feature_switch_type;
  switch_list : feature_switch_param list;
  is_all_closed : bool;
}

type lbofjhojgph = {
  hpifcabfbpa : string;
  ipljneeomdp : string;
  apmgpgghokn : string;
  iobdkibfiaj : string;
  jblmmlkkdkn : string;
  hmmclkjhige : string;
  fkojgdfhpep : string;
}

type nlhgcplikkp = {
  pjlagobkdmo : int64;
  blnoeiceljf : replay_type;
  stage_id : int32;
  uid : int32;
  nickname : string;
  bmfhibobmhp : int32;
  aedhlhjgfpg : string;
  fgilieldboi : int64;
  lfnjmcnfhha : int32;
  oeoikijbcfg : int32;
}

type punk_lord_battle_avatar = {
  avatar_id : int32;
  avatar_level : int32;
}

type punk_lord_battle_record = {
  uid : int32;
  damage_hp : int32;
  is_final_hit : bool;
  over_kill_damage_hp : int32;
  battle_replay_key : string;
  avatar_list : punk_lord_battle_avatar list;
  assist_score : int32;
  damage_score : int32;
  final_hit_score : int32;
}

type fgljkmekiom = {
  eolalkfgdal : punk_lord_battle_record list;
}

type hbbaohkdklj = {
  uid : int32;
  monster_id : int32;
}

type aapoalmfpan = {
  uid : int32;
  monster_id : int32;
  pfbnanpcdjh : int32;
  world_level : int32;
  fgilieldboi : int64;
  left_hp : int32;
  lgkegiimjka : int32;
  cpefaednmcc : punk_lord_share_type;
  kjpdknocoeo : bool;
}

type punk_lord_battle_replay = {
  battle_replay_key : string;
  replay_info : nlhgcplikkp option;
}

type naondbibjjo = {
  pomlpdggdfc : int64;
  dfpkdpmefac : int32;
  hngamdhjhld : int32;
}

type kicjpjalbbh = {
  mjjmhnkknlb : naondbibjjo option;
}

type lbjifmkiiec = {
  name : string;
  ldcmdeljigi : string;
  hggbkfedhoe : string;
  gohgfmolkmk : string;
  clmljolpmen : string;
  msg : string;
}

type chhhgfihhcp = {
  retcode : int32;
  msg : string;
  ajkbajlebhn : string;
  ognpknahdef : lbjifmkiiec list;
  odbdlipeoog : string;
}

type relic_filter_plan_settings = {
  rarity_bitset : int32;
  relic_set_list : int32 list;
  body_main_property_list : int32 list;
  foot_main_property_list : int32 list;
  sphere_main_property_list : int32 list;
  rope_main_property_list : int32 list;
  is_include_filter_sub_property : bool;
  sub_property_num : int32;
  sub_property_list : int32 list;
}

type bmobaidmcnj =
  | Battle_check_strategy_identical 
  | Battle_check_strategy_server 
  | Battle_check_strategy_client 

type akminadfpee =
  | Battle_check_result_succ 
  | Battle_check_result_fail 
  | Battle_check_result_pass 

type abiljflakgk =
  | Battle_module_maze 
  | Battle_module_challenge 
  | Battle_module_cocoon 
  | Battle_module_rogue 
  | Battle_module_challenge_activity 
  | Battle_module_trial_level 
  | Battle_module_aether_divide 

type gkaagdjgcjj =
  | Aetherdivide_spirit_lineup_none 
  | Aetherdivide_spirit_lineup_normal 
  | Aetherdivide_spirit_lineup_trial 

type hlclpfefepb =
  | Battle_target_type_none 
  | Battle_target_type_score 
  | Battle_target_type_achievement 
  | Battle_target_type_raid 
  | Battle_target_type_challenge_score 
  | Battle_target_type_common 
  | Battle_target_type_client_achievement 

type ldhimmjaieb =
  | Unknown 
  | Killed_by_others 
  | Killed_by_self 
  | Escape 

type dbghoandoje =
  | Tag_none 
  | Tag_hide_npc_monster 

type cmhfgepjlfl =
  | Normal_create 
  | Form_change 

type ikiinnobojc =
  | Battle_end_reason_none 
  | Battle_end_reason_all_die 
  | Battle_end_reason_turn_limit 

type lbbkaebelpp =
  | Battle_statictic_event_none 
  | Battle_statictic_event_treasure_dungeon_add_explore 
  | Battle_statictic_event_treasure_dungeon_open_grid 
  | Battle_statictic_event_treasure_dungeon_pickup_item 
  | Battle_statictic_event_treasure_dungeon_use_buff 
  | Battle_statictic_event_television_activity_update_maze_buff_layer 

type battle_end_status =
  | Battle_end_none 
  | Battle_end_win 
  | Battle_end_lose 
  | Battle_end_quit 

type battle_op = {
  turn_counter : int32;
  state : int32;
  action_entity_id : int32;
  target_entity_id : int32;
  op_type : int32;
  skill_index : int32;
  operation_counter : int32;
  pmepgjijdmc : string;
}

type battle_equipment = {
  id : int32;
  level : int32;
  promotion : int32;
  rank : int32;
}

type relic_affix = {
  affix_id : int32;
  cnt : int32;
  step : int32;
}

type battle_relic = {
  id : int32;
  level : int32;
  main_affix_id : int32;
  sub_affix_list : relic_affix list;
  unique_id : int32;
  peehdpfeeoo : int32;
  fgmdoekgpee : int32;
  ckcmdjnelkb : int32;
}

type avatar_skill_tree = {
  point_id : int32;
  level : int32;
}

type gnompbkahnm = {
  cghmoccghlb : bool;
  kafibpbdljp : int32 list;
  hfhlhamjfpm : int32;
  findipnanjj : int32;
}

type battle_avatar = {
  avatar_type : avatar_type;
  id : int32;
  level : int32;
  rank : int32;
  index : int32;
  skilltree_list : avatar_skill_tree list;
  equipment_list : battle_equipment list;
  hp : int32;
  promotion : int32;
  relic_list : battle_relic list;
  world_level : int32;
  apkmboagcmi : int32;
  mpoioekkgli : gnompbkahnm option;
  sp : sp_progress option;
  iojopnilicf : int32;
}

type cjbomedfedo = {
  ednldnkdhim : int32;
  level : int32;
  gcljbgjckpi : int32;
  gmimbapadel : int32;
}

type fndpkoiaoco = {
  monster_id : int32;
  femmkmapjng : int32;
  max_hp : int32;
}

type battle_monster_wave = {
  monster_list : fndpkoiaoco list;
  djicbhlfoga : cjbomedfedo option;
  jmdhdbhgjhj : int32;
  comggjmfjao : int32;
}

type battle_buff = {
  id : int32;
  level : int32;
  owner_index : int32;
  wave_flag : int32;
  target_index_list : int32 list;
  dynamic_values : (string * float) list;
}

type cojkoonnbee = {
  id : int32;
  dpepdejdlka : int32;
  obeicoahpbg : int32;
}

type ieimejdokoc = {
  iheiaoggmoc : int32;
}

type nimklecdanj = {
  id : int32;
  dpepdejdlka : int32;
}

type pajllggkegp = {
  id : int32;
  progress : int32;
}

type battle_target = {
  id : int32;
  progress : int32;
  total_progress : int32;
}

type eecgcenalep = {
  nkpcaindgao : battle_target list;
}

type jjnjilkjjaf = {
  licjmbbbbpo : int32;
  akneacgkoia : int32;
}

type oojccnomfia = {
  onjeogniggp : int32;
  kjbihcphcco : bool;
  kncldmlpjec : jjnjilkjjaf option;
}

type joiiobnkcbh = {
  mgemlbmpcgb : int32 list;
}

type fgbiollmcpi = {
  pkeohpicjkc : int32;
}

type evolve_build_gear_damage_info = {
  gear_id : int32;
  damage : float;
  hp_damage : float;
}

type hjfmcnckmgd = {
  wave : int32;
  lpgaoolbbfm : int32;
  ndkkogolmal : int32;
  mmegdkinbcn : jjnjilkjjaf list;
  nkgnnpndkfj : float;
}

type ghilljbihfa = {
  jnpdoibnicc : int32;
  pcnkojjcfie : hjfmcnckmgd list;
}

type evolve_build_battle_info = {
  cur_level_id : int32;
  cur_period : int32;
  cur_coin : int32;
  weapon_slot_list : oojccnomfia list;
  accessory_slot_list : oojccnomfia list;
  ban_gear_list : int32 list;
  collection : joiiobnkcbh option;
  allowed_gear_list : int32 list;
  cur_exp : int32;
  cur_reroll : int32;
  cur_treasure_miss_cnt : int32;
  period_id_list : int32 list;
  cur_gear_lost_cnt : int32;
  cur_wave : int32;
  is_unlock_gear_reroll : bool;
  is_unlock_gear_ban : bool;
  card_list : fgbiollmcpi list;
  gear_damage_list : evolve_build_gear_damage_info list;
  stat_params : int32 list;
  is_giveup : bool;
  cur_unused_round_cnt : int32;
  stat_log_info : ghilljbihfa option;
  period_first_random_seed : int32;
}

type cbipmgkdbmj = {
  nbippcmhdij : (int32 * int32) list;
  bfhblojhfbn : int32;
  eccooggmmkm : int32;
  ogoballkjcg : int32;
}

type cddnfpbchdb = {
  avatar_list : battle_avatar list;
  monster_wave_list : battle_monster_wave list;
  buff_list : battle_buff list;
  world_level : int32;
  pkilellljap : (int32 * eecgcenalep) list;
  mgacgfelfph : ieimejdokoc option;
  lphaolobnol : battle_avatar list;
  bcilaimkepo : evolve_build_battle_info option;
  obneanlbpjf : cbipmgkdbmj option;
}

type dohhfaklimj = {
  id : int32;
  index : int32;
  promotion : int32;
  pbcjjbpdaco : int32 list;
  iaknlgphklb : gkaagdjgcjj;
  sp : sp_progress option;
}

type gepemalmpkc = {
  avatar_list : dohhfaklimj list;
  monster_wave_list : battle_monster_wave list;
  buff_list : battle_buff list;
}

type aeeaaeghbcf = {
  jmfgaemkdao : int32;
  glgkbnnobem : int64 list;
}

type lhbjccjikld = {
  llgkepoegkh : string;
  count : int32;
}

type faekpkgkkfn = {
  turn_counter : int32;
  nnkhhlofopd : int32;
  amchcneihno : int32;
  fgopniajipd : aeeaaeghbcf list;
  opjffhdcimd : lhbjccjikld list;
  eejampcafkf : int32;
}

type pclbkphkhcb = {
  fajcbknihho : bool;
  ajepkmhogca : int32;
  jmlmhajmmgm : bool;
  cimlpamboae : string;
  occpagnninm : bool;
  kohhcdnlhkk : bool;
  hgbiemklalm : int32;
}

type mjobkecmmdg = {
  emabnjbclgd : int32 list;
  gmgpibhkomg : int32 list;
  fcdfcganbdh : int32 list;
  opejjkdakho : int32 list;
}

type jengakjkbap = {
  mdkaibfcgkm : int32;
  iognnoaljjj : int32;
}

type abjdkbhcagj = {
  mbmlkfbaebi : bool;
  foelnpbpkef : (string * jengakjkbap) list;
  jgabaooklbg : bytes;
}

type ncokmoifijp = {
  ddeebkcfmih : int32;
  value : string;
}

type nlpkjmbokmg = {
  mpkfbobkglo : faekpkgkkfn list;
  ikbigpbobak : string;
  clhgagmlpgk : string;
  bgcniallbni : ncokmoifijp list;
  plane_id : int32;
  floor_id : int32;
  epeofnhnbob : int32;
  faonpmhplea : int32;
  nljgmpkelkd : abjdkbhcagj option;
}

type chcjbneicfa = {
  sp : sp_progress option;
}

type llnhnhhlcip = {
  hgnfloilneg : int32;
  nkgnnpndkfj : float;
  nkpcaindgao : int32 list;
  ohfcbnkchlo : float;
}

type pldmljcickk = {
  ghhnoefibke : int32;
  status : chcjbneicfa option;
  hhapkchnbea : llnhnhhlcip list;
}

type pdfijnjfeof = {
  version : int32;
  logic_random_seed : int32;
  stage_id : int32;
  lineup : cddnfpbchdb option;
  ooadhaglibc : battle_op list;
  nnhllnhjjnh : bytes;
  inpimhmcgli : int32;
  iceodjdgjco : int32 list;
  gnkmjinkoif : bool;
  kjbecldpidj : bmobaidmcnj;
  momcmjflaod : abiljflakgk;
  apkpbammnhm : pldmljcickk list;
  cmhngcflcab : int32;
  lillnioocan : pclbkphkhcb option;
  paojieohhab : bytes;
  pafnmmndegp : int32;
  empiofaicfc : int32;
  dfmnmhpbbfa : gepemalmpkc option;
  pofphcbemla : nlpkjmbokmg option;
}

type avatar_property = {
  max_hp : float;
  attack : float;
  defence : float;
  speed : float;
  left_hp : float;
  left_sp : float;
  max_sp : float;
}

type nahchkhjomp = {
  id : int32;
  rank : int32;
  promotion : int32;
  level : int32;
}

type apkldjghfcp = {
  palefhlckln : string;
  ohfcbnkchlo : float;
}

type mjenmjiahll = {
  hgnfloilneg : int32;
  aglbkdknioh : string;
  kafehefomai : int32;
  dkecbneeecd : int32;
  okoebgnppii : int32;
  ipacnpiogji : int32;
  cmhakdimelf : int32;
  edmjmnfgmad : int32;
  okffdjngjed : int32;
}

type nnpiljhejfe = {
  gnfpnbgacdf : string;
  pomclecifom : int32;
}

type hgghpnnojej = {
  efjpeijemee : string;
  count : int32;
  fcadgcfhlce : float;
}

type hjddflabbdf = {
  avatar_type : avatar_type;
  id : int32;
  fdmeklimpgp : int32;
  eahmcbeennh : int32;
  omokjhmjako : int32;
  nichanllgkh : avatar_property option;
  cfohkkgalch : avatar_skill_tree list;
  klafgbakeoo : nahchkhjomp list;
  eldappkkaoc : int32;
  fcadgcfhlce : float;
  glnamalcdfc : float;
  pdimoicpocf : float;
  oihhodldilm : float;
  dfgadbjbiob : float;
  stage_id : int32;
  nmedaaeibfk : int32;
  jnchgklgnlf : float;
  hgmplmmdcad : apkldjghfcp list;
  kmkbogbaeno : apkldjghfcp list;
  dcfbmhagghh : apkldjghfcp list;
  cohhcjjmfil : mjenmjiahll list;
  fckomicbfmc : float;
  okpkiancelf : int32;
  khlmmickphp : nnpiljhejfe list;
  kimilnnnflf : int32;
  ndlnbbpfffl : int32;
  aeddfdkbpep : int32;
  omhlpnoflne : int32;
  njlpaaookdl : int32;
  ojeocegbkdi : float;
  lnikhkhpcge : float;
  emmikoejmph : float;
  jdmdemjpcia : avatar_property option;
  baeigohghnm : battle_relic list;
  apkmboagcmi : int32;
  pnnbhmgbbaf : apkldjghfcp list;
  ifogdklojaj : float;
  fpokhaemoli : float;
  gdljjodkiip : float;
  mldjfbabhek : float;
  jacedoenhfa : hgghpnnojej list;
  faomiaggpaa : int32;
  fadjmlcifbf : int32;
}

type khcifglangg = {
  max_hp : float;
  attack : float;
  defence : float;
  nbjopehdkfh : float;
  speed : float;
  left_hp : float;
  honehbbhond : float;
}

type kdofgnnbigl = {
  eijiiekodce : int32;
  nccjkbdbimf : float;
  jbmkkgchkgf : int32;
  omhlpnoflne : int32;
}

type adcnfghedmc = {
  phkkegggmdi : int32;
  monster_id : int32;
  nookgaachhh : int32;
  gdjhhjhgoga : int32;
  mffjijlmahi : khcifglangg option;
  eldappkkaoc : int32;
  fcadgcfhlce : float;
  glnamalcdfc : float;
  pdimoicpocf : float;
  kmbdiheeddp : float;
  oihhodldilm : float;
  stage_id : int32;
  battle_id : int32;
  dgecmhijdlf : int32;
  hgmplmmdcad : apkldjghfcp list;
  cohhcjjmfil : mjenmjiahll list;
  nmedaaeibfk : int32;
  odlhlhjjaep : float;
  fckomicbfmc : float;
  oebalcpdekb : ldhimmjaieb;
  wave : int32;
  kkmpoanfdel : int32;
  djemibiamha : int32;
  pcglhakdjej : int32;
  emejkljonad : dbghoandoje;
  hhapkchnbea : llnhnhhlcip list;
  dpmoonnbhaf : int32;
  egngccehkaj : kdofgnnbigl list;
  eopdilcmffl : int32;
  anahoapange : int32;
  leffngnjgkg : cmhfgepjlfl;
}

type cfgemgamfma = {
  jcjkjhddkcf : int32;
  lpgaoolbbfm : int32;
}

type dllfnlcjiaa = {
  avatar_id : int32;
  ilcjbmhadch : int32 list;
  gnfpnbgacdf : int32;
  ohfcbnkchlo : float;
  fgecaendmjj : int32 list;
  nhfpnkffjgf : int32;
  hadlfdifcal : float;
  caomnkckhhk : int32;
  wave : int32;
}

type eceobeagdad = {
  avatar_id : int32;
  gnhadjpljbo : int32;
}

type dbbhaaodpgl = {
  eijiiekodce : int32;
  monster_id : int32;
  ngcppmnflba : eceobeagdad list;
  nkgnnpndkfj : int32;
}

type hllmbjmbieh = {
  fgmdoekgpee : lbbkaebelpp;
  iigaapiiddb : int32;
  iihookopmmk : int32;
}

type lmnnafiaafp = {
  djemibiamha : string;
  mjlbfjkonhd : float;
  amabfdlohmk : float;
  iedlbcpkgon : int32;
  hdccniamncp : int32;
  lbbhinoknng : int32;
  ndembhkchba : int32;
  bkihfdilonh : int32;
  ajcndmbmimb : int32 list;
  cmdpbhlgmeo : int32 list;
}

type jnegdknfdfj = {
  enihajmdhhp : int32;
  kccnlbdlima : int32;
  pjhcepapfoo : int32;
  lohcjdhdnlp : int32;
  kgfmdacaapm : int32;
  khnnhomamnn : int32;
  mbknfpcaghc : int32 list;
  ifphmbnpcec : lmnnafiaafp list;
}

type gfhlelkfecd = {
  wave : int32;
  pfggnfbgjef : float;
  njmdeogblko : float;
  dbooppgpefo : int32;
  ekfilfopihm : int32;
}

type fkdalpnlnpp = {
  pfmlckgckob : string;
  value : float;
}

type ogchmgibmee = {
  monster_id : int32;
  dbopmmcclja : int32;
  dbooppgpefo : int32;
  ekfilfopihm : int32;
}

type iehmgigdfgi = {
  mmeaphlkfnh : int32;
  lpgejjgcjfi : float;
  ialkcegdpoj : float;
  wave : int32;
  dbopmmcclja : int32;
  ncmmbhpfmpp : float;
  mkdomgoogbd : float;
}

type ijbeafbgipi = {
  pgonjaacafm : int32;
  kkhjioepbpb : int32;
  dcgodnihhph : float;
  wave : int32;
  dbopmmcclja : int32;
}

type ilomdgdoidb = {
  afcpodfhplf : ogchmgibmee list;
  llpagigkmdd : iehmgigdfgi list;
  hfojdfpnied : ijbeafbgipi list;
}

type mpconokhbfi = {
  oadeikogppf : ilomdgdoidb option;
}

type njfhjpmofkj = {
  fgmdoekgpee : gkaagdjgcjj;
  id : int32;
  sp : sp_progress option;
}

type mofdljpgdjc = {
  lhbdodgndmj : int32;
  ealjhgebino : int32;
}

type battle_statistics = {
  total_battle_turns : int32;
  total_auto_turns : int32;
  avatar_id_list : int32 list;
  ultra_cnt : int32;
  total_delay_cumulate : float;
  cost_time : float;
  avatar_battle_list : hjddflabbdf list;
  monster_battle_list : adcnfghedmc list;
  round_cnt : int32;
  cocoon_dead_wave : int32;
  avatar_battle_turns : int32;
  monster_battle_turns : int32;
  custom_values : (string * float) list;
  challenge_score : int32;
  battle_challenge_list : pldmljcickk list;
  gflgglklflo : ikiinnobojc;
  kafhlccjdpe : dllfnlcjiaa list;
  bkbifgcidje : int32 list;
  cbdokccplbl : dbbhaaodpgl list;
  eojhikielja : hllmbjmbieh list;
  gfiihegmnbc : njfhjpmofkj list;
  pkilellljap : (int32 * eecgcenalep) list;
  lepkomadmba : mofdljpgdjc list;
  bcilaimkepo : evolve_build_battle_info option;
  eebjfpdkkla : jnegdknfdfj option;
  ckopikjmnno : bool;
  pcnkojjcfie : gfhlelkfecd list;
  gccpcejdpgf : fkdalpnlnpp list;
  bfjbhggehfp : int32;
  fmloeohebom : mpconokhbfi option;
}

type egfppaehfmb = {
  fooekjjlepi : int32;
  level : int32;
  exp : int32;
}

type inaakoibpao = {
  retcode : akminadfpee;
  end_status : battle_end_status;
  ppkofopmfjc : battle_statistics option;
  paojieohhab : bytes;
  dcgkdkmible : (string * int32) list;
  oocaibocjln : int32;
  liidlgebipm : int32;
}

type gkkpbgmoodd =
  | Fight_game_mode_none 
  | Fight_game_mode_match3 

type iafdbbcgofo =
  | Fight_kickout_unknown 
  | Fight_kickout_black 
  | Fight_kickout_by_gm 
  | Fight_kickout_timeout 
  | Fight_kickout_session_reset 

type eaejedljpgh =
  | Lobby_character_none 
  | Lobby_character_leader 
  | Lobby_character_member 
  | Lobby_character_watcher 

type gienaojphnb =
  | Lobby_character_status_none 
  | Lobby_character_status_idle 
  | Lobby_character_status_operating 
  | Lobby_character_status_ready 
  | Lobby_character_status_fighting 
  | Lobby_character_status_watching 
  | Lobby_character_status_matching 

type ejnhbdlcndj =
  | Lobby_modify_type_none 
  | Lobby_modify_type_idle 
  | Lobby_modify_type_ready 
  | Lobby_modify_type_operating 
  | Lobby_modify_type_cancel_match 
  | Lobby_modify_type_match 
  | Lobby_modify_type_quit_lobby 
  | Lobby_modify_type_kick_out 
  | Lobby_modify_type_time_out 
  | Lobby_modify_type_join_lobby 
  | Lobby_modify_type_lobby_dismiss 
  | Lobby_modify_type_match_time_out 
  | Lobby_modify_type_fight_start 
  | Lobby_modify_type_logout 
  | Lobby_modify_type_fight_end 
  | Lobby_modify_type_fight_room_destroy_in_init 

type gfopbkkefeo =
  | Fight_room_destroy_reason_none 
  | Fight_room_destroy_reason_svr_stop 
  | Fight_room_destroy_reason_game_end 

type donhpbjnknp =
  | Match3_finish_reason_default 
  | Match3_finish_reason_leave 
  | Match3_finish_reason_die 
  | Match3_finish_reason_gameend 
  | Match3_finish_reason_kickout 

type nkbjfdkkbid =
  | Match_unit_type_none 
  | Match_unit_type_normal 
  | Match_unit_type_robot 
  | Match_unit_type_gm 

type dilkchlpoba = {
  uid : int32;
  level : int32;
  nickname : string;
  nnlodfdobia : int32;
  dbgjcbcfaec : platform_type;
  meijfajkmmp : string;
  mjalbnjgfmj : string;
  version : int64;
}

type jhpgipfhpjm = {
  ipfplgihdbj : eaejedljpgh;
  status : gienaojphnb;
}

type ijbclkbblen = {
  kkgeojnphcn : int32;
  icpnclpicnm : bool;
  ileodajnnlf : int32;
  eehicmneonc : int32;
}

type lnnkgnfmmll = {
  mjkmfnjeddo : string list;
  oommfhnmaci : bool;
  kpjaichmnce : ijbclkbblen option;
}

type egokacjfaen = {
  basic_info : dilkchlpoba option;
  lhhkllkkgki : jhpgipfhpjm option;
  akfdaaaiich : lnnkgnfmmll option;
}

type obminlghola = {
  gkhlagcmbep : int32;
  chhlgofkode : int32;
  ohendokilbg : int32;
  kdldpilbjih : int32;
  doppanjiahe : int32;
  lgbmfnociof : int32;
  pbcfilehadp : int32;
  mfkojkldhlg : int32;
  ofolhglfdbe : int32;
  ohhndhfpidi : int32;
}

type mfoaahgomic = {
  ejphmffiidi : int64;
  cicgmfacfbc : gkkpbgmoodd;
}

type mbbjjfnjnde = {
  id : int64;
  kcffnljmjdj : gkkpbgmoodd;
  fjifpjhfgdd : egokacjfaen list;
  fgmdoekgpee : nkbjfdkkbid;
  pomlpdggdfc : int64;
  kiofoicccjm : int64;
  mnpddkgcfcd : int32;
}

type dmmifgboihc =
  | Ret_succ 
  | Ret_fail 
  | Ret_server_internal_error 
  | Ret_timeout 
  | Ret_repeated_req 
  | Ret_req_para_invalid 
  | Ret_player_data_error 
  | Ret_player_client_paused 
  | Ret_func_check_failed 
  | Ret_feature_switch_closed 
  | Ret_freq_over_limit 
  | Ret_system_busy 
  | Ret_player_not_online 
  | Ret_repeate_login 
  | Ret_retry_login 
  | Ret_wait_login 
  | Ret_not_in_white_list 
  | Ret_in_black_list 
  | Ret_account_verify_error 
  | Ret_account_para_error 
  | Ret_anti_addict_login 
  | Ret_check_sum_error 
  | Ret_reach_max_player_num 
  | Ret_already_registered 
  | Ret_gender_error 
  | Set_nickname_ret_callback_processing 
  | Ret_in_gm_bind_access 
  | Ret_quest_reward_already_taken 
  | Ret_quest_not_accept 
  | Ret_quest_not_finish 
  | Ret_quest_status_error 
  | Ret_achievement_level_not_reach 
  | Ret_achievement_level_already_taken 
  | Ret_avatar_not_exist 
  | Ret_avatar_res_exp_not_enough 
  | Ret_avatar_exp_reach_promotion_limit 
  | Ret_avatar_reach_max_promotion 
  | Ret_skilltree_config_not_exist 
  | Ret_skilltree_already_unlock 
  | Ret_skilltree_pre_locked 
  | Ret_skilltree_level_not_meet 
  | Ret_skilltree_rank_not_meet 
  | Ret_avatar_dress_no_equipment 
  | Ret_avatar_exp_item_not_exist 
  | Ret_skilltree_point_locked 
  | Ret_skilltree_point_level_upgrade_not_match 
  | Ret_skilltree_point_level_reach_max 
  | Ret_world_level_not_meet 
  | Ret_player_level_not_meet 
  | Ret_avatar_rank_not_match 
  | Ret_avatar_rank_reach_max 
  | Ret_hero_basic_type_not_match 
  | Ret_avatar_promotion_not_meet 
  | Ret_promotion_reward_config_not_exist 
  | Ret_promotion_reward_already_taken 
  | Ret_avatar_skin_item_not_exist 
  | Ret_avatar_skin_already_dressed 
  | Ret_avatar_not_dress_skin 
  | Ret_avatar_skin_not_match_avatar 
  | Ret_item_not_exist 
  | Ret_item_cost_not_enough 
  | Ret_item_cost_too_much 
  | Ret_item_no_cost 
  | Ret_item_not_enough 
  | Ret_item_invalid 
  | Ret_item_config_not_exist 
  | Ret_scoin_not_enough 
  | Ret_item_reward_exceed_limit 
  | Ret_item_invalid_use 
  | Ret_item_use_config_not_exist 
  | Ret_reward_config_not_exist 
  | Ret_item_exceed_limit 
  | Ret_item_count_invalid 
  | Ret_item_use_target_type_invalid 
  | Ret_item_use_satiety_full 
  | Ret_item_compose_not_exist 
  | Ret_relic_compose_not_exist 
  | Ret_item_can_not_sell 
  | Ret_item_sell_excedd_limit 
  | Ret_item_not_in_cost_list 
  | Ret_item_special_cost_not_enough 
  | Ret_item_special_cost_too_much 
  | Ret_item_formula_not_exist 
  | Ret_item_auto_gift_optional_not_exist 
  | Ret_relic_compose_relic_invalid 
  | Ret_relic_compose_main_affix_id_invalid 
  | Ret_relic_compose_wrong_formula_type 
  | Ret_relic_compose_relic_not_exist 
  | Ret_relic_compose_black_gold_count_invalid 
  | Ret_relic_compose_black_gold_not_need 
  | Ret_month_card_cannot_use 
  | Ret_item_reward_exceed_disappear 
  | Ret_item_need_recycle 
  | Ret_item_compose_exceed_limit 
  | Ret_item_can_not_destroy 
  | Ret_item_already_mark 
  | Ret_item_mark_exceed_limit 
  | Ret_item_not_mark 
  | Ret_iten_turn_food_not_set 
  | Ret_item_turn_food_already_set 
  | Ret_item_turn_food_consume_type_error 
  | Ret_item_turn_food_switch_already_open 
  | Ret_item_turn_food_switch_already_close 
  | Ret_hcoin_exchange_too_much 
  | Ret_item_turn_food_scene_type_error 
  | Ret_equipment_already_dressed 
  | Ret_equipment_not_exist 
  | Ret_equipment_reach_level_limit 
  | Ret_equipment_consume_self 
  | Ret_equipment_already_locked 
  | Ret_equipment_already_unlocked 
  | Ret_equipment_locked 
  | Ret_equipment_select_num_over_limit 
  | Ret_equipment_rank_up_must_consume_same_tid 
  | Ret_equipment_promotion_reach_max 
  | Ret_equipment_rank_up_reach_max 
  | Ret_equipment_level_reach_max 
  | Ret_equipment_exceed_limit 
  | Ret_relic_not_exist 
  | Ret_relic_reach_level_limit 
  | Ret_relic_consume_self 
  | Ret_relic_already_dressed 
  | Ret_relic_locked 
  | Ret_relic_already_locked 
  | Ret_relic_already_unlocked 
  | Ret_relic_level_is_not_zero 
  | Ret_unique_id_repeated 
  | Ret_equipment_level_not_meet 
  | Ret_equipment_item_not_in_cost_list 
  | Ret_equipment_level_greater_than_one 
  | Ret_equipment_already_ranked 
  | Ret_relic_exceed_limit 
  | Ret_relic_already_discarded 
  | Ret_relic_already_undiscarded 
  | Ret_equipment_batch_lock_too_fast 
  | Ret_relic_filter_plan_slot_empty 
  | Ret_relic_filter_plan_num_exceed_limit 
  | Ret_relic_filter_plan_name_utf8_error 
  | Ret_relic_filter_plan_name_format_error 
  | Ret_relic_filter_plan_no_change 
  | Ret_lineup_invalid_index 
  | Ret_lineup_invalid_member_pos 
  | Ret_lineup_swap_not_exist 
  | Ret_lineup_avatar_already_in 
  | Ret_lineup_create_avatar_error 
  | Ret_lineup_avatar_init_error 
  | Ret_lineup_not_exist 
  | Ret_lineup_only_one_member 
  | Ret_lineup_same_leader_slot 
  | Ret_lineup_no_leader_select 
  | Ret_lineup_swap_same_slot 
  | Ret_lineup_avatar_not_exist 
  | Ret_lineup_trial_avatar_can_not_quit 
  | Ret_lineup_virtual_lineup_plane_not_match 
  | Ret_lineup_not_valid_leader 
  | Ret_lineup_same_index 
  | Ret_lineup_is_empty 
  | Ret_lineup_name_format_error 
  | Ret_lineup_type_not_match 
  | Ret_lineup_replace_all_failed 
  | Ret_lineup_not_allow_edit 
  | Ret_lineup_avatar_is_alive 
  | Ret_lineup_assist_has_only_member 
  | Ret_lineup_assist_cannot_switch 
  | Ret_lineup_avatar_type_invalid 
  | Ret_lineup_name_utf8_error 
  | Ret_lineup_leader_lock 
  | Ret_lineup_story_line_not_match 
  | Ret_lineup_avatar_lock 
  | Ret_lineup_avatar_invalid 
  | Ret_lineup_avatar_already_init 
  | Ret_lineup_limited 
  | Ret_mail_not_exist 
  | Ret_mail_range_invalid 
  | Ret_mail_mail_id_invalid 
  | Ret_mail_no_mail_take_attachment 
  | Ret_mail_no_mail_to_del 
  | Ret_mail_type_invalid 
  | Ret_mail_para_invalid 
  | Ret_mail_attachement_invalid 
  | Ret_mail_ticket_invalid 
  | Ret_mail_ticket_repeated 
  | Ret_stage_settle_error 
  | Ret_stage_config_not_exist 
  | Ret_stage_not_found 
  | Ret_stage_cocoon_prop_not_valid 
  | Ret_stage_cocoon_wave_not_valid 
  | Ret_stage_prop_id_not_equal 
  | Ret_stage_cocoon_wave_over 
  | Ret_stage_week_cocoon_over_cnt 
  | Ret_stage_cocoon_not_open 
  | Ret_stage_trial_not_open 
  | Ret_stage_farm_not_open 
  | Ret_stage_farm_type_error 
  | Ret_chapter_lock 
  | Ret_chapter_challenge_num_not_enough 
  | Ret_chapter_reward_id_not_exist 
  | Ret_chapter_reward_already_taken 
  | Ret_battle_stage_not_match 
  | Ret_in_battle_now 
  | Ret_battle_cheat 
  | Ret_battle_fail 
  | Ret_battle_no_lineup 
  | Ret_battle_lineup_empty 
  | Ret_battle_version_not_match 
  | Ret_battle_quit_by_server 
  | Ret_in_battle_check 
  | Ret_battle_check_need_retry 
  | Ret_battle_cost_time_check_fail 
  | Ret_lack_exchange_stamina_times 
  | Ret_lack_stamina 
  | Ret_stamina_full 
  | Ret_authkey_sign_type_error 
  | Ret_authkey_sign_ver_error 
  | Ret_nickname_format_error 
  | Ret_sensitive_words 
  | Ret_level_reward_has_taken 
  | Ret_level_reward_level_error 
  | Ret_language_invalid 
  | Ret_nickname_in_cd 
  | Ret_gameplay_birthday_invalid 
  | Ret_gameplay_birthday_already_set 
  | Ret_nickname_utf8_error 
  | Ret_nickname_digit_limit_error 
  | Ret_sensitive_words_platform_error 
  | Ret_player_setting_type_invalid 
  | Ret_maze_lack_ticket 
  | Ret_maze_not_unlock 
  | Ret_maze_no_ability 
  | Ret_maze_no_plane 
  | Ret_maze_map_not_exist 
  | Ret_maze_mp_not_enough 
  | Ret_spring_not_enable 
  | Ret_spring_too_far 
  | Ret_not_in_maze 
  | Ret_maze_time_of_day_type_error 
  | Ret_scene_transfer_locked_by_task 
  | Ret_plot_not_unlock 
  | Ret_mission_not_exist 
  | Ret_mission_already_done 
  | Ret_daily_task_not_finish 
  | Ret_daily_task_reward_has_taken 
  | Ret_mission_not_finish 
  | Ret_mission_not_doing 
  | Ret_mission_finish_way_not_match 
  | Ret_mission_scene_not_match 
  | Ret_mission_custom_value_not_valid 
  | Ret_mission_sub_mission_not_match 
  | Ret_adventure_map_not_exist 
  | Ret_scene_entity_not_exist 
  | Ret_not_in_scene 
  | Ret_scene_monster_not_exist 
  | Ret_interact_config_not_exist 
  | Ret_unsupported_prop_state 
  | Ret_scene_entry_id_not_match 
  | Ret_scene_entity_move_check_failed 
  | Ret_assist_monster_count_limit 
  | Ret_scene_use_skill_fail 
  | Ret_prop_is_hidden 
  | Ret_loading_succ_already 
  | Ret_scene_entity_type_invalid 
  | Ret_interact_type_invalid 
  | Ret_interact_not_in_region 
  | Ret_interact_sub_type_invalid 
  | Ret_not_leader_entity 
  | Ret_monster_is_not_farm_element 
  | Ret_monster_config_not_exist 
  | Ret_avatar_hp_already_full 
  | Ret_cur_interact_entity_not_match 
  | Ret_plane_type_not_allow 
  | Ret_group_not_exist 
  | Ret_group_save_data_in_cd 
  | Ret_group_save_lengh_reach_max 
  | Ret_recent_element_not_exist 
  | Ret_recent_element_stage_not_match 
  | Ret_scene_position_version_not_match 
  | Ret_gameplay_counter_not_exist 
  | Ret_gameplay_counter_not_enough 
  | Ret_group_state_not_match 
  | Ret_scene_entity_pos_not_match 
  | Ret_group_state_custom_save_data_off 
  | Ret_scene_not_match 
  | Ret_buy_times_limit 
  | Ret_buy_limit_type 
  | Ret_shop_not_open 
  | Ret_goods_not_open 
  | Ret_city_level_reward_taken 
  | Ret_city_level_not_meet 
  | Ret_single_buy_limit 
  | Ret_tutorial_not_unlock 
  | Ret_tutorial_unlock_already 
  | Ret_tutorial_finish_already 
  | Ret_tutorial_pre_not_unlock 
  | Ret_tutorial_player_level_not_match 
  | Ret_tutorial_tutorial_not_found 
  | Ret_challenge_not_exist 
  | Ret_challenge_not_unlock 
  | Ret_challenge_already 
  | Ret_challenge_lineup_edit_forbidden 
  | Ret_challenge_lineup_empty 
  | Ret_challenge_not_doing 
  | Ret_challenge_not_finish 
  | Ret_challenge_target_not_finish 
  | Ret_challenge_target_reward_taken 
  | Ret_challenge_time_not_valid 
  | Ret_challenge_stars_count_not_meet 
  | Ret_challenge_stars_reward_taken 
  | Ret_challenge_stars_not_exist 
  | Ret_challenge_cur_scene_not_entry_floor 
  | Ret_challenge_no_team_archive 
  | Ret_challenge_lineup_avatar_type_invalid 
  | Ret_challenge_lineup_recommend_in_cd 
  | Ret_basic_type_already 
  | Ret_no_basic_type 
  | Ret_not_choose_basic_type 
  | Ret_not_func_close 
  | Ret_not_choose_gender 
  | Ret_not_req_unlock_basic_type 
  | Ret_avatar_path_locked 
  | Ret_rogue_status_not_match 
  | Ret_rogue_select_buff_not_exist 
  | Ret_rogue_coin_not_enough 
  | Ret_rogue_stamina_not_enough 
  | Ret_rogue_appraisal_count_not_enough 
  | Ret_rogue_prop_already_used 
  | Ret_rogue_record_already_saved 
  | Ret_rogue_roll_buff_max_count 
  | Ret_rogue_pick_avatar_invalid 
  | Ret_rogue_quest_expire 
  | Ret_rogue_quest_reward_already 
  | Ret_rogue_revive_count_not_enough 
  | Ret_rogue_area_invalid 
  | Ret_rogue_score_reward_pool_invalid 
  | Ret_rogue_score_reward_row_invalid 
  | Ret_rogue_aeon_level_not_meet 
  | Ret_rogue_aeon_level_reward_already_taken 
  | Ret_rogue_aeon_config_not_exist 
  | Ret_rogue_trial_avatar_invalid 
  | Ret_rogue_handbook_reward_already_taken 
  | Ret_rogue_room_type_not_match 
  | Ret_rogue_shop_good_not_found 
  | Ret_rogue_shop_good_already_bought 
  | Ret_rogue_shop_good_already_own 
  | Ret_rogue_shop_miracle_not_exist 
  | Ret_rogue_shop_not_exist 
  | Ret_rogue_shop_cannot_refresh 
  | Ret_rogue_select_buff_certain_mismatch 
  | Ret_mission_event_config_not_exist 
  | Ret_mission_event_not_client 
  | Ret_mission_event_finished 
  | Ret_mission_event_doing 
  | Ret_has_challenge_mission_event 
  | Ret_not_challenge_mission_event 
  | Ret_gacha_id_not_exist 
  | Ret_gacha_num_invalid 
  | Ret_gacha_first_gacha_must_one 
  | Ret_gacha_req_duplicated 
  | Ret_gacha_not_in_schedule 
  | Ret_gacha_newbie_close 
  | Ret_gacha_today_limited 
  | Ret_gacha_not_support 
  | Ret_gacha_ceiling_not_enough 
  | Ret_gacha_ceiling_close 
  | Ret_not_in_raid 
  | Ret_raid_doing 
  | Ret_not_prop 
  | Ret_raid_id_not_match 
  | Ret_raid_restart_not_match 
  | Ret_raid_limit 
  | Ret_raid_avatar_list_empty 
  | Ret_raid_avatar_not_exist 
  | Ret_challenge_raid_reward_already 
  | Ret_challenge_raid_score_not_reach 
  | Ret_challenge_raid_not_open 
  | Ret_raid_finished 
  | Ret_raid_world_level_not_lock 
  | Ret_raid_cannot_use_assist 
  | Ret_raid_avatar_not_match 
  | Ret_raid_can_not_save 
  | Ret_raid_no_save 
  | Ret_activity_raid_not_open 
  | Ret_raid_avatar_captain_not_exist 
  | Ret_raid_story_line_not_match 
  | Ret_talk_event_already_taken 
  | Ret_npc_already_meet 
  | Ret_npc_not_in_config 
  | Ret_dialogue_group_dismatch 
  | Ret_dialogue_event_invalid 
  | Ret_talk_event_take_proto_not_match 
  | Ret_talk_event_not_valid 
  | Ret_expedition_config_not_exist 
  | Ret_expedition_reward_config_not_exist 
  | Ret_expedition_not_unlocked 
  | Ret_expedition_already_accepted 
  | Ret_expedition_repeated_avatar 
  | Ret_avatar_already_dispatched 
  | Ret_expedition_not_accepted 
  | Ret_expedition_not_finish 
  | Ret_expedition_already_finish 
  | Ret_expedition_team_count_limit 
  | Ret_expedition_avatar_num_not_match 
  | Ret_expedition_not_open 
  | Ret_expedition_friend_avatar_not_valid 
  | Ret_expedition_not_published 
  | Ret_login_activity_has_taken 
  | Ret_login_activity_days_lack 
  | Ret_trial_activity_reward_already_take 
  | Ret_trial_activity_stage_not_finish 
  | Ret_monster_research_activity_has_taken 
  | Ret_monster_research_activity_material_not_submitted 
  | Ret_monster_research_activity_material_already_submitted 
  | Ret_fantastic_story_activity_story_error 
  | Ret_fantastic_story_activity_story_not_open 
  | Ret_fantastic_story_activity_battle_error 
  | Ret_fantastic_story_activity_battle_not_open 
  | Ret_fantastic_story_activity_battle_avatar_error 
  | Ret_fantastic_story_activity_battle_buff_error 
  | Ret_fantastic_story_activity_pre_battle_score_not_enough 
  | Ret_trial_activity_already_in_trial_activity 
  | Ret_common_activity_not_open 
  | Ret_message_config_not_exist 
  | Ret_message_section_not_take 
  | Ret_message_group_not_take 
  | Ret_message_section_id_not_match 
  | Ret_message_section_can_not_finish 
  | Ret_message_item_can_not_finish 
  | Ret_message_item_raid_can_not_finish 
  | Ret_friend_already_is_friend 
  | Ret_friend_is_not_friend 
  | Ret_friend_apply_expire 
  | Ret_friend_in_blacklist 
  | Ret_friend_not_in_blacklist 
  | Ret_friend_number_limit 
  | Ret_friend_blacklist_number_limit 
  | Ret_friend_daily_apply_limit 
  | Ret_friend_in_handle_limit 
  | Ret_friend_apply_in_cd 
  | Ret_friend_remark_name_format_error 
  | Ret_friend_player_not_found 
  | Ret_friend_in_target_blacklist 
  | Ret_friend_target_number_limit 
  | Ret_assist_query_too_fast 
  | Ret_assist_not_exist 
  | Ret_assist_used_already 
  | Ret_friend_report_reason_format_error 
  | Ret_friend_report_sensitive_words 
  | Ret_assist_used_times_over 
  | Ret_assist_quit_already 
  | Ret_assist_avatar_in_lineup 
  | Ret_assist_no_reward 
  | Ret_friend_search_num_limit 
  | Ret_friend_search_in_cd 
  | Ret_friend_remark_name_utf8_error 
  | Ret_friend_report_reason_utf8_error 
  | Ret_assist_set_already 
  | Ret_friend_target_forbid_other_apply 
  | Ret_friend_marked_cnt_max 
  | Ret_friend_marked_already 
  | Ret_friend_not_marked 
  | Ret_friend_challenge_lineup_recommend_in_cd 
  | Ret_view_player_card_in_cd 
  | Ret_view_player_battle_record_in_cd 
  | Ret_player_board_head_icon_not_exist 
  | Ret_player_board_head_icon_locked 
  | Ret_player_board_head_icon_already_unlocked 
  | Ret_player_board_display_avatar_not_exist 
  | Ret_player_board_display_avatar_exceed_limit 
  | Ret_player_board_display_repeated_avatar 
  | Ret_player_board_display_avatar_same_pos 
  | Ret_player_board_display_avatar_locked 
  | Ret_signature_length_exceed_limit 
  | Ret_signature_sensitive_words 
  | Ret_player_board_assist_avatar_not_exist 
  | Ret_player_board_assist_avatar_locked 
  | Ret_signature_utf8_error 
  | Ret_player_board_assist_avatar_cnt_error 
  | Ret_battle_pass_tier_not_valid 
  | Ret_battle_pass_level_not_meet 
  | Ret_battle_pass_reward_take_already 
  | Ret_battle_pass_not_premium 
  | Ret_battle_pass_not_doing 
  | Ret_battle_pass_level_invalid 
  | Ret_battle_pass_not_unlock 
  | Ret_battle_pass_no_reward 
  | Ret_battle_pass_quest_not_valid 
  | Ret_battle_pass_not_choose_optional 
  | Ret_battle_pass_not_take_reward 
  | Ret_battle_pass_optional_not_valid 
  | Ret_battle_pass_buy_already 
  | Ret_battle_pass_near_end 
  | Ret_music_locked 
  | Ret_music_not_exist 
  | Ret_music_unlock_failed 
  | Ret_punk_lord_lack_summon_times 
  | Ret_punk_lord_attacking_monster_limit 
  | Ret_punk_lord_monster_not_exist 
  | Ret_punk_lord_monster_already_shared 
  | Ret_punk_lord_monster_expired 
  | Ret_punk_lord_self_monster_attack_limit 
  | Ret_punk_lord_lack_support_times 
  | Ret_punk_lord_monster_already_killed 
  | Ret_punk_lord_monster_attacker_limit 
  | Ret_punk_lord_world_levle_not_valid 
  | Ret_punk_lord_reward_levle_not_exist 
  | Ret_punk_lord_point_not_meet 
  | Ret_punk_lord_in_attacking 
  | Ret_punk_lord_operation_in_cd 
  | Ret_punk_lord_reward_already_taken 
  | Ret_punk_lord_over_bonus_reward_limit 
  | Ret_punk_lord_not_in_schedule 
  | Ret_punk_lord_monster_not_attacked 
  | Ret_punk_lord_monster_not_killed 
  | Ret_punk_lord_monster_killed_score_already_take 
  | Ret_punk_lord_reward_levle_already_take 
  | Ret_daily_active_level_invalid 
  | Ret_daily_active_level_reward_already_taken 
  | Ret_daily_active_level_ap_not_enough 
  | Ret_daily_meet_pam 
  | Ret_replay_id_not_match 
  | Ret_replay_req_not_valid 
  | Ret_fight_activity_difficulty_level_not_passed 
  | Ret_fight_activity_difficulty_level_reward_already_take 
  | Ret_fight_activity_stage_not_open 
  | Ret_fight_activity_level_not_unlock 
  | Ret_train_visitor_visitor_not_exist 
  | Ret_train_visitor_behavior_not_exist 
  | Ret_train_visitor_behavior_finished 
  | Ret_train_visitor_all_behavior_reward_taken 
  | Ret_train_visitor_get_on_mission_not_finish 
  | Ret_train_visitor_not_get_off 
  | Ret_text_join_unknow_is_override 
  | Ret_text_join_id_not_exist 
  | Ret_text_join_can_not_override 
  | Ret_text_join_item_id_error 
  | Ret_text_join_sensitive_check_error 
  | Ret_text_join_must_override 
  | Ret_text_join_text_empty 
  | Ret_text_join_text_format_error 
  | Ret_text_join_text_utf8_error 
  | Ret_text_join_batch_req_id_repeat 
  | Ret_text_join_type_not_support_batch_req 
  | Ret_text_join_avatar_id_not_exist 
  | Ret_text_join_unknow_type 
  | Ret_pam_mission_mission_id_error 
  | Ret_pam_mission_mission_expire 
  | Ret_chat_type_not_exist 
  | Ret_msg_type_not_exist 
  | Ret_chat_no_target_uid 
  | Ret_chat_msg_empty 
  | Ret_chat_msg_exceed_limit 
  | Ret_chat_msg_sensitive_check_error 
  | Ret_chat_msg_utf8_error 
  | Ret_chat_forbid_switch_open 
  | Ret_chat_forbid 
  | Ret_chat_msg_include_special_str 
  | Ret_chat_msg_emoji_not_exist 
  | Ret_chat_msg_emoji_gender_not_match 
  | Ret_chat_msg_emoji_not_marked 
  | Ret_chat_msg_emoji_already_marked 
  | Ret_chat_msg_emoji_marked_max_limit 
  | Ret_boxing_club_challenge_not_open 
  | Ret_museum_not_open 
  | Ret_museum_turn_cnt_not_match 
  | Ret_museum_phase_not_reach 
  | Ret_museum_unknow_stuff 
  | Ret_museum_unknow_area 
  | Ret_museum_unknow_pos 
  | Ret_museum_stuff_already_in_area 
  | Ret_museum_stuff_not_in_area 
  | Ret_museum_get_npc_repeat 
  | Ret_museum_get_npc_unlock 
  | Ret_museum_get_npc_not_enough 
  | Ret_museum_change_stuff_area_error 
  | Ret_museum_not_init 
  | Ret_museum_event_error 
  | Ret_museum_unknow_choose_event_id 
  | Ret_museum_event_order_not_match 
  | Ret_museum_event_phase_not_unlock 
  | Ret_museum_event_mission_not_found 
  | Ret_museum_area_level_up_already 
  | Ret_museum_stuff_already_used 
  | Ret_museum_event_round_not_unlock 
  | Ret_museum_stuff_in_area 
  | Ret_museum_stuff_dispatch 
  | Ret_museum_is_end 
  | Ret_museum_stuff_leaving 
  | Ret_museum_event_mission_not_finish 
  | Ret_museum_collect_reward_not_exist 
  | Ret_museum_collect_reward_already_taken 
  | Ret_museum_accept_mission_max_limit 
  | Ret_rogue_challenge_not_open 
  | Ret_rogue_challenge_assis_refresh_limit 
  | Ret_alley_not_init 
  | Ret_alley_not_open 
  | Ret_alley_map_not_exist 
  | Ret_alley_empty_pos_list 
  | Ret_alley_line_pos_invalid 
  | Ret_alley_shop_not_unlock 
  | Ret_alley_depot_full 
  | Ret_alley_shop_not_include 
  | Ret_alley_event_not_unlock 
  | Ret_alley_event_not_refresh 
  | Ret_alley_event_state_doing 
  | Ret_alley_event_state_finish 
  | Ret_alley_event_error 
  | Ret_alley_reward_level_error 
  | Ret_alley_reward_prestige_not_enough 
  | Ret_alley_ship_empty 
  | Ret_alley_ship_id_dismatch 
  | Ret_alley_ship_not_exist 
  | Ret_alley_ship_not_unlock 
  | Ret_alley_goods_not_exist 
  | Ret_alley_goods_not_unlock 
  | Ret_alley_profit_not_positive 
  | Ret_alley_special_order_dismatch 
  | Ret_alley_order_goods_over_limit 
  | Ret_alley_special_order_condition_not_meet 
  | Ret_alley_depot_size_over_limit 
  | Ret_alley_goods_not_enough 
  | Ret_alley_order_index_invalid 
  | Ret_alley_reward_already_take 
  | Ret_alley_reward_not_exist 
  | Ret_alley_main_mission_not_doing 
  | Ret_alley_critical_event_not_finish 
  | Ret_alley_shop_goods_not_valid 
  | Ret_alley_slash_not_open 
  | Ret_alley_placing_anchor_invalid 
  | Ret_alley_placing_goods_index_invalid 
  | Ret_alley_save_map_too_quick 
  | Ret_alley_map_not_link 
  | Ret_alley_funds_not_lower_base 
  | Ret_alley_event_not_finish 
  | Ret_alley_normal_order_not_meet 
  | Ret_player_return_not_open 
  | Ret_player_return_is_signed 
  | Ret_player_return_point_not_enough 
  | Ret_player_return_condition_invalid 
  | Ret_player_return_has_signed 
  | Ret_player_return_reward_taken 
  | Ret_aether_divide_no_lineup 
  | Ret_aether_divide_lineup_invalid 
  | Ret_chat_bubble_id_error 
  | Ret_chat_bubble_id_not_unlock 
  | Ret_phone_theme_id_error 
  | Ret_phone_theme_id_not_unlock 
  | Ret_chat_bubble_select_is_current 
  | Ret_phone_theme_select_is_current 
  | Ret_chess_rogue_config_not_found 
  | Ret_chess_rogue_config_invalid 
  | Ret_chess_rogue_no_valid_room 
  | Ret_chess_rogue_no_cell_info 
  | Ret_chess_rogue_cell_not_finish 
  | Ret_chess_rogue_cell_is_locked 
  | Ret_chess_rogue_schedule_not_match 
  | Ret_chess_rogue_status_fail 
  | Ret_chess_rogue_area_not_exist 
  | Ret_chess_rogue_lineup_fail 
  | Ret_chess_rogue_aeon_fail 
  | Ret_chess_rogue_enter_cell_fail 
  | Ret_chess_rogue_roll_dice_fail 
  | Ret_chess_rogue_dice_status_fail 
  | Ret_chess_rogue_dice_cnt_not_full 
  | Ret_chess_rogue_unlock 
  | Ret_chess_rogue_pick_avatar_fail 
  | Ret_chess_rogue_avatar_invalid 
  | Ret_chess_rogue_cell_can_not_select 
  | Ret_chess_rogue_dice_confirmed 
  | Ret_chess_rogue_nous_dice_not_match 
  | Ret_chess_rogue_nous_dice_rarity_fail 
  | Ret_chess_rogue_nous_dice_surface_duplicate 
  | Ret_chess_rogue_not_in_rogue 
  | Ret_chess_rogue_nous_dice_branch_limit 
  | Ret_heliobus_not_open 
  | Ret_heliobus_sns_post_not_unlock 
  | Ret_heliobus_sns_already_read 
  | Ret_heliobus_sns_already_liked 
  | Ret_heliobus_sns_already_commented 
  | Ret_heliobus_sns_in_mission 
  | Ret_heliobus_sns_already_posted 
  | Ret_heliobus_sns_not_doing_mission 
  | Ret_heliobus_reward_level_max 
  | Ret_heliobus_income_not_enough 
  | Ret_heliobus_sns_comment_not_unlock 
  | Ret_heliobus_challenge_not_unlock 
  | Ret_heliobus_challenge_id_error 
  | Ret_heliobus_skill_not_unlock 
  | Ret_heliobus_accept_post_mission_fail 
  | Ret_heliobus_skill_not_selected 
  | Ret_heliobus_plane_type_invalid 
  | Ret_reddot_param_invalid 
  | Ret_reddot_activity_not_open 
  | Ret_rogue_endless_activity_config_error 
  | Ret_rogue_endless_activity_not_open 
  | Ret_rogue_endless_activity_over_bonus_reward_limit 
  | Ret_rogue_endless_activity_score_not_meet 
  | Ret_rogue_endless_activity_reward_levle_already_take 
  | Ret_heart_dial_script_not_found 
  | Ret_heart_dial_script_emotion_the_same 
  | Ret_heart_dial_script_step_not_normal 
  | Ret_heart_dial_script_condition_not_match 
  | Ret_heart_dial_script_submit_item_num_not_match 
  | Ret_heart_dial_script_submit_item_id_not_match 
  | Ret_heart_dial_dialogue_not_found 
  | Ret_heart_dial_dialogue_already_performed 
  | Ret_heart_dial_npc_not_found 
  | Ret_heart_dial_trace_config_not_found 
  | Ret_heart_dial_floor_trace_exist 
  | Ret_heart_dial_trace_floor_not_match 
  | Ret_travel_brochure_config_error 
  | Ret_travel_brochure_param_invalid 
  | Ret_travel_brochure_locked 
  | Ret_travel_brochure_cannot_operate 
  | Ret_travel_brochure_world_id_not_match 
  | Ret_travel_brochure_has_no_world_book 
  | Ret_travel_brochure_page_full 
  | Ret_map_rotation_not_in_region 
  | Ret_map_rotation_rotater_already_deployed 
  | Ret_map_rotation_energy_not_enough 
  | Ret_map_rotation_entity_not_on_cur_pose 
  | Ret_map_rotation_rotater_not_deployed 
  | Ret_map_rotation_pose_rotater_mismatch 
  | Ret_map_rotation_rotater_not_removable 
  | Ret_map_rotation_rotater_disposable 
  | Ret_space_zoo_activity_cat_not_found 
  | Ret_space_zoo_activity_cat_param_invalid 
  | Ret_space_zoo_activity_cat_item_not_enough 
  | Ret_space_zoo_activity_cat_bag_full 
  | Ret_space_zoo_activity_cat_not_to_mutate 
  | Ret_space_zoo_activity_cat_state_error 
  | Ret_space_zoo_activity_cat_cattery_locked 
  | Ret_space_zoo_activity_cat_out_now 
  | Ret_space_zoo_activity_cat_config_not_found 
  | Ret_space_zoo_activity_cat_feature_not_found 
  | Ret_space_zoo_activity_cat_add_cat_error 
  | Ret_space_zoo_activity_cat_money_not_enough 
  | Ret_space_zoo_activity_cat_cond_not_match 
  | Ret_strong_challenge_activity_stage_cfg_miss 
  | Ret_strong_challenge_activity_stage_not_open 
  | Ret_strong_challenge_activity_buff_error 
  | Ret_roll_shop_not_found 
  | Ret_roll_shop_group_empty 
  | Ret_roll_shop_empty 
  | Ret_roll_shop_gacha_req_duplicated 
  | Ret_roll_shop_random_error 
  | Ret_roll_shop_group_type_not_found 
  | Ret_roll_shop_has_stored_reward_already 
  | Ret_roll_shop_no_stored_reward 
  | Ret_roll_shop_not_in_valid_scene 
  | Ret_roll_shop_invalid_roll_shop_type 
  | Ret_activity_raid_collection_prev_not_finish 
  | Ret_activity_raid_collection_group_enter_next_unavailable 
  | Ret_activity_raid_collection_is_last 
  | Ret_activity_raid_collection_is_not_next 
  | Ret_offering_not_unlock 
  | Ret_offering_level_not_unlock 
  | Ret_offering_reach_max_level 
  | Ret_offering_item_not_enough 
  | Ret_offering_longtail_not_open 
  | Ret_offering_reward_condition 
  | Ret_drink_maker_chat_invalid 
  | Ret_drink_maker_param_invalid 
  | Ret_drink_maker_param_not_unlock 
  | Ret_drink_maker_config_not_found 
  | Ret_drink_maker_not_last_chat 
  | Ret_drink_maker_day_and_free_phase_not_open 
  | Ret_monopoly_not_open 
  | Ret_monopoly_config_error 
  | Ret_monopoly_dice_not_enough 
  | Ret_monopoly_cur_cell_not_finish 
  | Ret_monopoly_coin_not_enough 
  | Ret_monopoly_cell_wait_pending 
  | Ret_monopoly_cell_state_error 
  | Ret_monopoly_cell_content_error 
  | Ret_monopoly_item_not_enough 
  | Ret_monopoly_cell_content_cannot_giveup 
  | Ret_monopoly_asset_level_invalid 
  | Ret_monopoly_turn_not_finish 
  | Ret_monopoly_guide_not_finish 
  | Ret_monopoly_raffle_reward_reissued 
  | Ret_monopoly_no_game_active 
  | Ret_monopoly_game_ratio_not_increasable 
  | Ret_monopoly_game_ratio_max 
  | Ret_monopoly_game_target_ratio_invalid 
  | Ret_monopoly_game_bingo_flip_pos_invalid 
  | Ret_monopoly_game_guess_already_choose 
  | Ret_monopoly_game_guess_choose_invalid 
  | Ret_monopoly_game_guess_information_already_bought 
  | Ret_monopoly_game_raise_ratio_not_unlock 
  | Ret_monopoly_friend_not_synced 
  | Ret_monopoly_get_friend_ranking_list_in_cd 
  | Ret_monopoly_like_target_not_friend 
  | Ret_monopoly_daily_already_liked 
  | Ret_monopoly_social_event_status_not_match 
  | Ret_monopoly_social_event_server_cache_not_exist 
  | Ret_monopoly_activity_id_not_match 
  | Ret_monopoly_raffle_pool_not_exist 
  | Ret_monopoly_raffle_pool_time_not_match 
  | Ret_monopoly_raffle_pool_phase_not_meet 
  | Ret_monopoly_raffle_pool_show_time_not_meet 
  | Ret_monopoly_raffle_ticket_not_found 
  | Ret_monopoly_raffle_ticket_time_not_meet 
  | Ret_monopoly_raffle_ticket_reward_already_taken 
  | Ret_monopoly_raffle_pool_not_in_raffle_time 
  | Ret_monopoly_mbti_report_reward_already_taken 
  | Ret_evolve_build_level_gaming 
  | Ret_eveolve_build_level_ban_random 
  | Ret_evolve_build_first_reward_already_taken 
  | Ret_evolve_build_level_unfinish 
  | Ret_evolve_build_shop_ability_max_level 
  | Ret_evolve_build_shop_ability_min_level 
  | Ret_evolve_build_shop_ability_not_get 
  | Ret_evolve_build_level_lock 
  | Ret_evolve_build_exp_not_enough 
  | Ret_evolve_build_shop_ability_level_error 
  | Ret_evolve_build_activity_not_open 
  | Ret_evolve_build_shop_ability_empty 
  | Ret_evolve_build_level_not_start 
  | Ret_evolve_build_shop_lock 
  | Ret_evolve_build_reward_lock 
  | Ret_evolve_build_reward_level_max 
  | Ret_evolve_build_reward_already_all_taken 
  | Ret_clock_park_config_error 
  | Ret_clock_park_effect_error 
  | Ret_clock_park_script_already_unlock 
  | Ret_clock_park_script_unlock_condition_not_meet 
  | Ret_clock_park_talent_already_unlock 
  | Ret_clock_park_script_locked 
  | Ret_clock_park_has_ongoing_script 
  | Ret_clock_park_no_ongoing_script 
  | Ret_clock_park_dice_placement_error 
  | Ret_clock_park_mismatch_status 
  | Ret_clock_park_no_buff 
  | Ret_clock_park_slot_machine_gacha_req_duplicated 
  | Ret_clock_park_slot_machine_cost_not_enough 
  | Ret_clock_park_slot_machine_gacha_cnt_exceed_limit 
  | Ret_clock_park_not_open 
  | Ret_tourn_rogue_status_mismatch 
  | Ret_match_already_in_match 
  | Ret_match_not_in_match 
  | Ret_match_play_not_open 
  | Ret_cross_state_error 
  | Ret_match_version_not_equal 
  | Ret_match_player_not_in_lobby_room 
  | Ret_lobby_state_not_match 
  | Ret_lobby_room_not_exist 
  | Ret_lobby_room_palyer_full 
  | Ret_lobby_room_palyer_not_ready 
  | Ret_lobby_room_palyer_fighting 
  | Ret_fight_room_not_exist 
  | Ret_fight_match3_player_state_err 
  | Ret_fight_match3_room_state_err 
  | Ret_sword_training_no_active_game 
  | Ret_sword_training_no_pending_action_match 
  | Ret_sword_training_partner_ability_invalid 
  | Ret_sword_training_skill_already_learned 
  | Ret_sword_training_condition_not_meet 
  | Ret_sword_training_parent_skill_not_learned 
  | Ret_sword_training_skill_type_not_unlock 
  | Ret_sword_training_game_already_exist 
  | Ret_sword_training_ending_hint_not_match 
  | Ret_sword_training_storyline_config_not_found 
  | Ret_sword_training_story_config_not_found 
  | Ret_sword_training_unlock_not_finish 
  | Ret_sword_training_option_mismatch 
  | Ret_sword_training_restore_without_exam_failed 
  | Ret_sword_training_no_restore_game_available 
  | Ret_sword_training_ending_story_not_match 
  | Ret_sword_training_ending_not_finish 
  | Ret_sword_training_ending_reward_taken 
  | Ret_sword_training_combat_rank_not_change 
  | Ret_sword_training_direct_battle_disable 
  | Ret_fight_fest_phase_not_match 
  | Ret_fight_fest_score_race_already_finish 
  | Ret_fight_fest_challenge_locked 
  | Ret_fight_fest_coach_skill_locked 
  | Ret_fight_fest_coach_skill_equip_type_existed 
  | Ret_fight_fest_score_race_mission_doind 
  | Ret_fight_fest_coach_skill_no_equip 
  | Ret_pet_not_exist 
  | Ret_pet_already_summoned 
  | Ret_pet_not_summoned 

type jlfnblcmlfg =
  | Cmd_activity_type_none 
  | Cmd_get_trial_activity_data_cs_req 
  | Cmd_get_login_activity_sc_rsp 
  | Cmd_start_trial_activity_cs_req 
  | Cmd_get_trial_activity_data_sc_rsp 
  | Cmd_enter_trial_activity_stage_cs_req 
  | Cmd_submit_monster_research_activity_material_cs_req 
  | Cmd_enter_trial_activity_stage_sc_rsp 
  | Cmd_get_monster_research_activity_data_sc_rsp 
  | Cmd_take_monster_research_activity_reward_cs_req 
  | Cmd_start_trial_activity_sc_rsp 
  | Cmd_take_login_activity_reward_cs_req 
  | Cmd_take_monster_research_activity_reward_sc_rsp 
  | Cmd_trial_activity_data_change_sc_notify 
  | Cmd_get_activity_schedule_config_cs_req 
  | Cmd_get_monster_research_activity_data_cs_req 
  | Cmd_take_trial_activity_reward_cs_req 
  | Cmd_leave_trial_activity_cs_req 
  | Cmd_take_login_activity_reward_sc_rsp 
  | Cmd_leave_trial_activity_sc_rsp 
  | Cmd_cur_trial_activity_sc_notify 
  | Cmd_get_login_activity_cs_req 
  | Cmd_submit_monster_research_activity_material_sc_rsp 
  | Cmd_take_trial_activity_reward_sc_rsp 
  | Cmd_get_activity_schedule_config_sc_rsp 

type ijngjmooekn =
  | Trial_activity_status_none 
  | Trial_activity_status_finish 

type diiejhpccka = {
  id : int32;
  ahbndelkkga : int32;
  mjeboiagemn : int32 list;
}

type goghbjmckpf = unit

type iehdhmbibej = {
  pilpgdhcfpj : diiejhpccka list;
  retcode : int32;
}

type okdbmkchdkn = {
  ldifpkekjem : int32;
  id : int32;
}

type item = {
  promotion : int32;
  level : int32;
  num : int32;
  unique_id : int32;
  main_affix_id : int32;
  rank : int32;
  item_id : int32;
}

type item_list = {
  item_list : item list;
}

type fgmgmpemfoa = {
  retcode : int32;
  ldifpkekjem : int32;
  reward : item_list option;
  id : int32;
}

type lijpgeadohh = {
  end_time : int64;
  fjlnncjahng : int32;
  pafpcpmikin : int32;
  begin_time : int64;
}

type echeijpcegj = unit

type gflgabppabo = {
  retcode : int32;
  aodbfcdoebg : lijpgeadohh list;
}

type hdkfnmappch = {
  stage_id : int32;
  nnbeodpchid : bool;
}

type ncnchnfkgaa = unit

type ancjfimhcdb = {
  retcode : int32;
  nkjbcpmopcj : hdkfnmappch list;
  npibcfnnihn : int32;
}

type bjmmamcffan = {
  oiflpfmkkjd : hdkfnmappch option;
}

type ddjfjiknjjb = {
  stage_id : int32;
}

type scene_monster_info = {
  max_hp : int32;
  monster_id : int32;
  femmkmapjng : int32;
}

type aekldeeeepn = {
  gmimbapadel : int32;
  ednldnkdhim : int32;
  level : int32;
  gcljbgjckpi : int32;
}

type scene_monster_wave = {
  jmdhdbhgjhj : int32;
  monster_list : scene_monster_info list;
  comggjmfjao : int32;
  epeemgikihd : item_list list;
  djicbhlfoga : aekldeeeepn option;
}

type scene_battle_info = {
  mgacgfelfph : ieimejdokoc option;
  apkpbammnhm : pldmljcickk list;
  bcilaimkepo : evolve_build_battle_info option;
  monster_wave_list : scene_monster_wave list;
  world_level : int32;
  buff_list : battle_buff list;
  nlhcbhebgog : bool;
  battle_avatar_list : battle_avatar list;
  logic_random_seed : int32;
  pkilellljap : (int32 * eecgcenalep) list;
  cmhngcflcab : int32;
  stage_id : int32;
  empiofaicfc : int32;
  obneanlbpjf : cbipmgkdbmj option;
  battle_id : int32;
}

type foolfaejeco = {
  ibllilenejp : scene_battle_info option;
  retcode : int32;
}

type cmjfplfkocb = {
  stage_id : int32;
}

type ibojkphiodl = {
  retcode : int32;
  reward : item_list option;
  stage_id : int32;
}

type hliiigamfan = {
  stage_id : int32;
}

type iepggioobee = {
  retcode : int32;
  stage_id : int32;
}

type hgpjnoeklme = {
  stage_id : int32;
}

type jpnfdalcpca = {
  stage_id : int32;
  retcode : int32;
}

type eogebgjmnbe = {
  status : ijngjmooekn;
  npibcfnnihn : int32;
}

type eeakpgmghbd = {
  ejihdbnphdl : bool;
  fpnbgdmjmon : int32;
  fjlnncjahng : int32;
  mkideamcloh : bool;
}

type jnbinnnmhnh = {
  end_time : int64;
  begin_time : int64;
  fpnbgdmjmon : int32;
}

type gfhncokdkpc = {
  gpngkbfnpjn : int32 list;
}

type jbondjmecmi = {
  licjdggocfp : jnbinnnmhnh list;
  retcode : int32;
  hopdkjbimil : eeakpgmghbd list;
}

type bhjnpjibfoj = {
  fpnbgdmjmon : int32;
}

type ojldjlaldbe = {
  retcode : int32;
  fpnbgdmjmon : int32;
}

type hmckncmeneo = {
  fpnbgdmjmon : int32;
}

type kgnehcjidmd = {
  fpnbgdmjmon : int32;
  retcode : int32;
  reward : item_list option;
}

type hoakpoemoog =
  | Cmd_adventure_type_none 
  | Cmd_enter_adventure_sc_rsp 
  | Cmd_get_farm_stage_gacha_info_cs_req 
  | Cmd_enter_adventure_cs_req 
  | Cmd_get_farm_stage_gacha_info_sc_rsp 

type jiidgcpimha = {
  lnjapmhfcck : int32;
}

type vector = {
  x : int32;
  y : int32;
  z : int32;
}

type motion_info = {
  pos : vector option;
  rot : vector option;
}

type scene_actor_info = {
  base_avatar_id : int32;
  map_layer : int32;
  uid : int32;
  avatar_type : avatar_type;
}

type mnofjfljede = {
  dbimnobaloc : int32;
}

type ingkkpmdgfj = {
  kbneaoehnob : mnofjfljede option;
}

type scene_npc_monster_info = {
  mcfppkobjog : bool;
  monster_id : int32;
  ohibnloihci : int32;
  eanllcnpded : bool;
  world_level : int32;
  extra_info : ingkkpmdgfj option;
}

type onmgodgfdgm = {
  hfadhgefiea : int32;
  cckegompfdi : int32;
}

type nlegnknbkba = {
  modhkobfmbp : bool;
  lpflcicnioa : (int32 * int32) list;
  kiakkdiecme : int32;
  jnboodjdmho : int32;
  idoffgnngem : bool;
  phddanoooji : bool;
  hgfnojflbcl : int32;
  ebffkdhgkgl : int32;
  jpiojenbgdi : onmgodgfdgm list;
}

type pjgielghnom = {
  aahebgiklma : int32;
  fhhkhmdleno : bool;
  kjdlimfggmd : int32;
}

type mnamhpiefmk = unit

type bgpancmpnpi = {
  kbneaoehnob : nlegnknbkba option;
  ocjkecmoefo : pjgielghnom option;
  bmiommboiii : unit;
}

type scene_npc_info = {
  extra_info : bgpancmpnpi option;
  pnigjhppmln : int32;
}

type pjinigkhjph = {
  hdnlmbacmoa : int32;
  edjpollefac : int32;
  ioijcfnndfi : int32;
  mfdelanaicp : int32;
}

type prop_aeon_info = {
  add_exp : int32;
  dialogue_group_id : int32;
  aeon_id : int32;
}

type beegbgebbjo = {
  hkfihaoadih : bool;
  dolgkgdnlaj : bool;
}

type bhfaniclgjb = {
  dbkpbjfflcd : int32;
  epdhlkapdfj : bool;
  lkegecjeppg : int32;
}

type heikogemang = {
  kigccmchfaa : int32;
  jhojoicfldl : bool;
}

type hkjfnijdkgm = {
  icfomghpdgm : int32;
  hcgkppdkglf : heikogemang list;
}

type lhbgigopabg = {
  ichkjnfaacl : int32;
}

type pgjpfemjihd = {
  nmkibknpbeo : int32;
  dcigbkdfmdl : bool;
  ikliliccdnf : lhbgigopabg option;
}

type jigjfaecdcc = {
  jdhboponecj : pgjpfemjihd list;
  fkbfnoipncl : bool;
  group_id : int32;
}

type pile_item = {
  item_num : int32;
  item_id : int32;
}

type item_cost = {
  pile_item : pile_item option;
  equipment_unique_id : int32;
  relic_unique_id : int32;
}

type item_cost_data = {
  pdpfcfglgco : item_cost list;
}

type jhjloaofhnk = {
  eaeoionfehm : jigjfaecdcc list;
  gehffpalkkn : bool;
  pbcojmehnbg : int32;
  ndghkoinlfe : int32;
  fomcmdmpdcg : int32;
  jnhkcpccoep : int32;
  nggficbaiof : item_cost_data option;
}

type agohmeiodfe = {
  lkfmgoglgch : jhjloaofhnk option;
  fkcfoljohjg : int32;
}

type mnijbelpndn = {
  jpaadimdaga : int32;
}

type prop_extra_info = {
  rogue_info : pjinigkhjph option;
  aeon_info : prop_aeon_info option;
  chess_rogue_info : beegbgebbjo option;
  rogue_tourn_door_info : bhfaniclgjb option;
  rogue_tourn_workbench_info : hkjfnijdkgm option;
  rogue_gamble_machine_info : agohmeiodfe option;
  rogue_curse_chest_info : mnijbelpndn option;
}

type scene_prop_info = {
  life_time_ms : int32;
  prop_state : int32;
  gafflhlblde : string list;
  extra_info : prop_extra_info option;
  prop_id : int32;
  create_time_ms : int64;
}

type scene_summon_unit_info = {
  kggengibiaj : int32;
  dpapibilmkb : int32;
  gafflhlblde : string list;
  life_time_ms : int32;
  create_time_ms : int64;
  ilngleemfcf : int32;
}

type scene_entity_info_entity =
  | Actor of scene_actor_info
  | Npc_monster of scene_npc_monster_info
  | Npc of scene_npc_info
  | Prop of scene_prop_info
  | Summon_unit of scene_summon_unit_info

and scene_entity_info = {
  motion : motion_info option;
  entity_id : int32;
  group_id : int32;
  inst_id : int32;
  entity : scene_entity_info_entity;
}

type client_group_info = {
  group_id : int32;
  state : int32;
  is_default : bool;
}

type ifdkgfigkgn = {
  jpbnobgjmin : int32;
  ocalibhncaf : int64;
  level : int32;
  dynamic_values : (string * float) list;
  pkkfndimmio : int32;
  cjndnhdlhbb : float;
  base_avatar_id : int32;
  count : int32;
}

type nllcojppklj = {
  jbdgkicnbfa : string;
  group_id : int32;
}

type scene_group_info = {
  entity_list : scene_entity_info list;
  state : int32;
  group_id : int32;
}

type jbianonhjfo = {
  ogcfmckhlja : int32;
  index : int32;
}

type hhmofllojag = {
  klmfdjlahkg : jbianonhjfo list;
}

type klciikcjohp = {
  idlneeekpjl : int32;
  klmfdjlahkg : hhmofllojag option;
}

type mission_status =
  | Mission_none 
  | Mission_doing 
  | Mission_finish 
  | Mission_prepared 

type mission = {
  id : int32;
  progress : int32;
  status : mission_status;
}

type jipkadfnhnh = {
  ddipnlkacip : klciikcjohp list;
  ammgadcegag : int32 list;
  hiokihlcnfc : mission list;
  dabclennonn : int32 list;
  dgoigglciko : int32 list;
}

type hgiedelfofm = {
  buff_list : ifdkgfigkgn list;
  phkkegggmdi : int32;
}

type ggichccblmd = {
  hohagdafjih : int32;
  lnpijkcjdbp : int32;
}

type scene_info = {
  jdefjhmigii : int32;
  plane_id : int32;
  mdkmdbibnae : int32;
  game_mode_type : int32;
  entity_list : scene_entity_info list;
  entry_id : int32;
  nfcojigifbb : int32;
  kihpigcjcgi : int32;
  micgnniimak : int32;
  client_group_list : client_group_info list;
  adbakkbjagb : int32 list;
  ihnmjpmfplm : ifdkgfigkgn list;
  ahehcckjamg : nllcojppklj list;
  mogndfkhapd : int32 list;
  floor_id : int32;
  cbphphopofk : (string * int32) list;
  ijnpccndcgi : int32;
  scene_group_list : scene_group_info list;
  cnjcegmeaap : jipkadfnhnh option;
  nmmlfdlmcoa : hgiedelfofm list;
  kdkoogfccbb : (int32 * ggichccblmd) list;
}

type klfnolgpgbe = {
  retcode : int32;
  scene : scene_info option;
}

type iicgnbgleen = {
  dopfcokpjei : int32;
  end_time : int64;
  begin_time : int64;
}

type mpcilhkfijn = {
  cdahnimckpe : int32 list;
}

type lbfhaemjbdb = {
  retcode : int32;
  ejncilpcmjo : iicgnbgleen list;
}

type mjcglmbmflj =
  | Cmd_aether_divide_type_none 
  | Cmd_enter_aether_divide_scene_cs_req 
  | Cmd_aether_divide_refresh_endless_sc_rsp 
  | Cmd_aether_divide_take_challenge_reward_cs_req 
  | Cmd_start_aether_divide_scene_battle_cs_req 
  | Cmd_get_aether_divide_info_sc_rsp 
  | Cmd_aether_divide_lineup_sc_notify 
  | Cmd_get_aether_divide_challenge_info_sc_rsp 
  | Cmd_get_aether_divide_challenge_info_cs_req 
  | Cmd_switch_aether_divide_line_up_slot_sc_rsp 
  | Cmd_aether_divide_spirit_exp_up_sc_rsp 
  | Cmd_set_aether_divide_line_up_sc_rsp 
  | Cmd_get_aether_divide_info_cs_req 
  | Cmd_start_aether_divide_stage_battle_sc_rsp 
  | Cmd_clear_aether_divide_passive_skill_sc_rsp 
  | Cmd_start_aether_divide_challenge_battle_sc_rsp 
  | Cmd_start_aether_divide_challenge_battle_cs_req 
  | Cmd_aether_divide_skill_item_sc_notify 
  | Cmd_aether_divide_tainer_info_sc_notify 
  | Cmd_start_aether_divide_scene_battle_sc_rsp 
  | Cmd_switch_aether_divide_line_up_slot_cs_req 
  | Cmd_equip_aether_divide_passive_skill_cs_req 
  | Cmd_aether_divide_finish_challenge_sc_notify 
  | Cmd_aether_divide_refresh_endless_cs_req 
  | Cmd_clear_aether_divide_passive_skill_cs_req 
  | Cmd_leave_aether_divide_scene_cs_req 
  | Cmd_enter_aether_divide_scene_sc_rsp 
  | Cmd_set_aether_divide_line_up_cs_req 
  | Cmd_aether_divide_take_challenge_reward_sc_rsp 
  | Cmd_aether_divide_refresh_endless_sc_notify 
  | Cmd_equip_aether_divide_passive_skill_sc_rsp 
  | Cmd_aether_divide_spirit_info_sc_notify 
  | Cmd_aether_divide_spirit_exp_up_cs_req 
  | Cmd_start_aether_divide_stage_battle_cs_req 
  | Cmd_leave_aether_divide_scene_sc_rsp 

type jgighfcglnn = {
  jnmpconhdgp : int32;
}

type dngkkjooice = {
  jnmpconhdgp : int32;
  retcode : int32;
}

type gdgedjogkjp = unit

type lnobihjhmec = {
  retcode : int32;
}

type fnmhaajaaek = {
  bcbhaghfmhl : int32 list;
}

type lhnkeioipjg = {
  skill_index : int32;
  ohainjgiflk : int32 list;
  kapkegapokf : fnmhaajaaek list;
  gbhffcbgjoc : int32;
  egofdbhnple : int32;
}

type dlibcbeoehg = {
  logic_random_seed : int32;
  nlhcbhebgog : bool;
  buff_list : battle_buff list;
  stage_id : int32;
  battle_id : int32;
  battle_avatar_list : dohhfaklimj list;
  monster_wave_list : scene_monster_wave list;
}

type hpedbbbiedb = {
  gbhffcbgjoc : int32;
  retcode : int32;
  ibllilenejp : dlibcbeoehg option;
}

type plhgdnknphm = {
  dcpoeimegli : int32;
  cagbdbjkknd : int32;
}

type gjlahapdbog = {
  ibllilenejp : dlibcbeoehg option;
  retcode : int32;
}

type daclbmikbfi = {
  hgjolgkaofj : int32;
  slot : int32;
}

type panjkdddido = {
  exp : int32;
  promotion : int32;
  sp : sp_progress option;
  jfckjahhbcp : int32;
  bkjidpkfapk : int32;
  pbcjjbpdaco : daclbmikbfi list;
}

type djeclbkkegk = {
  doilhmkhjkj : int32 list;
  slot : int32;
}

type ahhnbnjlmgc = {
  kagnbjdmamf : int32;
  hgjolgkaofj : int32;
  lcmieeegeoh : int32;
}

type dojnnbdinke = unit

type cnbmpdajjkh = {
  nllaboenkeb : int32;
  pomjmhpaije : int32;
  habbaannlmg : panjkdddido list;
  fcbhnhpkbck : int32;
  kbognlnlcle : djeclbkkegk list;
  retcode : int32;
  igbnihgbkkc : int32;
  djmeejmcdfm : ahhnbnjlmgc list;
  djmfidjhakm : int32;
}

type gjipjkneplj = {
  lineup : djeclbkkegk option;
}

type nkcmnkoblgi = {
  retcode : int32;
  lineup : djeclbkkegk option;
}

type kknohjjfloa = {
  hgjolgkaofj : int32;
  jfckjahhbcp : int32;
  slot : int32;
}

type emfbdoapndp = {
  retcode : int32;
  nlpkicoldah : ahhnbnjlmgc option;
  ifflhdajmfl : panjkdddido option;
}

type blikhfgpooe = {
  jfckjahhbcp : int32;
  slot : int32;
}

type dhocaolkmof = {
  nlpkicoldah : ahhnbnjlmgc option;
  ifflhdajmfl : panjkdddido option;
  retcode : int32;
}

type mjamedhohel = {
  deimfkdnmfd : int32;
  jfckjahhbcp : int32;
  igbnihgbkkc : int32;
}

type cmbpnklhbjm = {
  retcode : int32;
  igbnihgbkkc : int32;
  ifflhdajmfl : panjkdddido option;
}

type nonalgbapfh = {
  cagbdbjkknd : int32;
}

type fjenopmgncf = {
  cagbdbjkknd : int32;
  retcode : int32;
}

type cllelklhkol = {
  ohibnloihci : int32;
}

type eapddobkofp = {
  ibllilenejp : dlibcbeoehg option;
  retcode : int32;
}

type kdelimjibne = {
  lineup : djeclbkkegk option;
}

type imhegmolifk = {
  ifflhdajmfl : panjkdddido option;
  klcbbgahmon : panjkdddido list;
  igbnihgbkkc : int32;
}

type iepaafhgkkh = unit

type comcfkpmacm = {
  bapkilajgne : int32 list;
  gjonbpebope : int32;
  caaogbkeibf : int32 list;
  retcode : int32;
}

type oafokgigjif = {
  dcpoeimegli : int32;
}

type ekpogeffanm = {
  fcbhnhpkbck : int32;
}

type dliphlmaege = {
  kagnbjdmamf : int32;
  hgjolgkaofj : int32;
}

type nimfecemimn = unit

type pdelhifcdfi = {
  nllaboenkeb : int32;
  retcode : int32;
}

type eachgfoknhm = {
  nllaboenkeb : int32;
}

type ciimogjledo = {
  dcpoeimegli : int32;
}

type dknombpgohe = {
  retcode : int32;
  reward : item_list option;
  dcpoeimegli : int32;
}

type jnfhlppocgg =
  | Cmd_alley_type_none 
  | Cmd_alley_ship_used_count_sc_notify 
  | Cmd_alley_guaranteed_funds_cs_req 
  | Cmd_take_prestige_reward_cs_req 
  | Cmd_refresh_alley_order_cs_req 
  | Cmd_alley_event_effect_notify 
  | Cmd_logistics_game_cs_req 
  | Cmd_alley_placing_game_sc_rsp 
  | Cmd_alley_event_change_notify 
  | Cmd_get_save_logistics_map_cs_req 
  | Cmd_logistics_detonate_star_skiff_cs_req 
  | Cmd_alley_funds_sc_notify 
  | Cmd_prestige_level_up_cs_req 
  | Cmd_logistics_detonate_star_skiff_sc_rsp 
  | Cmd_alley_take_event_reward_sc_rsp 
  | Cmd_alley_guaranteed_funds_sc_rsp 
  | Cmd_alley_ship_unlock_sc_notify 
  | Cmd_alley_take_event_reward_cs_req 
  | Cmd_take_prestige_reward_sc_rsp 
  | Cmd_logistics_game_sc_rsp 
  | Cmd_start_alley_event_cs_req 
  | Cmd_logistics_info_sc_notify 
  | Cmd_alley_shipment_event_effects_sc_notify 
  | Cmd_logistics_score_reward_sync_info_sc_notify 
  | Cmd_alley_order_changed_sc_notify 
  | Cmd_activity_raid_placing_game_cs_req 
  | Cmd_start_alley_event_sc_rsp 
  | Cmd_prestige_level_up_sc_rsp 
  | Cmd_alley_shop_level_sc_notify 
  | Cmd_get_alley_info_cs_req 
  | Cmd_get_save_logistics_map_sc_rsp 
  | Cmd_refresh_alley_order_sc_rsp 
  | Cmd_get_alley_info_sc_rsp 
  | Cmd_save_logistics_sc_rsp 
  | Cmd_alley_placing_game_cs_req 
  | Cmd_save_logistics_cs_req 
  | Cmd_activity_raid_placing_game_sc_rsp 

type ohpeonhnbci =
  | Left 
  | Right 
  | Up 
  | Down 
  | Left_up 
  | Left_down 
  | Right_up 
  | Right_down 

type aklfmicjnmj =
  | Alley_event_type_none 
  | Alley_main_event 
  | Alley_critical_event 
  | Alley_daily_event 

type hadkcbmomck =
  | Alley_state_none 
  | Alley_event_doing 
  | Alley_event_finish 
  | Alley_event_rewarded 

type loapiplimjn = unit

type ohjhhhgpcgg = {
  fkbknefjpko : int32;
  lnjapmhfcck : int32;
}

type hejgfgdhldh = {
  fgohomljegm : int32;
  level : int32;
}

type logistics_score = {
  cur_score : int32;
  unlock_level : int32;
  reward : item_list option;
  last_level : int32;
  last_max_score : int32;
  map_id : int32;
  max_score : int32;
}

type hgapkkdbooj = {
  ofoaoamacnm : int32 list;
  cjologpmmfj : int32 list;
  mlfjgaifmhg : int32;
  oeeplaejecp : int32;
  gonbjnkpphb : int32 list;
  fgohomljegm : int32;
  dfejfmhieaj : int32;
}

type kcjbohglbkg = {
  cost_time : int32;
  lnjapmhfcck : int32;
  cniofkimkih : hgapkkdbooj list;
}

type icfmgfdlfbf = {
  pkmpinidbem : logistics_score list;
  kgphnjjjfjh : ohjhhhgpcgg list;
  jfmgicmieni : kcjbohglbkg list;
  mnbhmefmgck : int32 list;
}

type dooingjidio = {
  state : hadkcbmomck;
  ohibnloihci : int32;
  lfofmmafena : int32;
}

type hladmhdfejp = {
  cafjmafcfoe : int32;
  akcnolgdkfn : int32;
  hklljapbdgp : bool;
  opnlgkllekk : int32 list;
  jgcckagocaa : int32;
  aofhdgapibo : int32 list;
}

type mdagbigodjh = {
  idliicjndbe : int32;
  ifcilmngdbd : (int32 * int32) list;
  fggaonkbpcf : int32;
}

type beljfmihinc = {
  nndnjlaloij : int32;
  ikifmbckbhe : int32 list;
  fkpnjjecflg : icfmgfdlfbf option;
  llhoijjnhbc : dooingjidio list;
  ndjkkklopgp : (int32 * int32) list;
  hifdompfogo : hladmhdfejp option;
  retcode : int32;
  njhmoljoand : int32;
  doglnbjjbnn : int32 list;
  iaagjjojjng : mdagbigodjh option;
  hjigclklgic : int32 list;
  level : int32;
}

type fadlnhgpedm = {
  idmndadbjbj : int32;
  ihiffnbnoma : int32;
}

type dgpnljgebli = {
  ififlmjnmdk : int32;
  glhlojgnlbf : fadlnhgpedm list;
}

type alley_placing_ship = {
  goods_list : dgpnljgebli list;
  ship_id : int32;
}

type jhjeidcchdm = {
  melnmeleaof : int32;
  doobkcfngij : alley_placing_ship option;
  aehccpbhofa : int32;
  einjppkhadm : int32;
  jojofajfiaa : int32;
  ifgaoheijdh : int32;
  mknfiokmpkc : int32;
  cost_time : int32;
  pcdbbpgcjnd : int32;
}

type pikdnogokln = {
  jfonlmmohcn : int32;
  jljeangppkc : int32;
  ohibnloihci : int32;
  pamdbajlfcl : int32;
  dcoihiogahc : int32;
  joeakofeomk : int32;
  obegnholjba : int32;
  retcode : int32;
}

type ocmgldjcfji = {
  doobkcfngij : alley_placing_ship option;
  ninapcangoo : int32;
  melnmeleaof : int32;
}

type ebpbcjefmgm = {
  retcode : int32;
  ninapcangoo : int32;
  melnmeleaof : int32;
}

type gomcgdopbbp = {
  aehfkplienl : hladmhdfejp option;
}

type cchhoggfaan = {
  locobbjbeoj : int32;
}

type cblobpbbioh = {
  gfiadoibado : bool;
  ffabaoopmam : kcjbohglbkg list;
}

type jinedikcnpg = {
  pkmpinidbem : logistics_score list;
}

type icegdbgdilo = {
  pkmpinidbem : logistics_score list;
  retcode : int32;
  gfiadoibado : bool;
  ohibnloihci : int32;
}

type jpdpdkgmoem = {
  ohibnloihci : int32;
}

type jemgejfhlea = {
  retcode : int32;
  ohibnloihci : int32;
}

type hemiegnodli = {
  liabblpojlg : int32;
  aeajedehfdj : dooingjidio option;
}

type hbclchmkfof = {
  gnmibkehipe : int32;
}

type fipfnjdahae = {
  level : int32;
}

type neiehjicaab = {
  retcode : int32;
  reward : item_list option;
  level : int32;
}

type jiokkgmgdhi = unit

type cdgmddbhlhm = {
  retcode : int32;
  level : int32;
}

type agbibfofjhe = {
  njhmoljoand : int32;
}

type aiacifopgjh = {
  ffabaoopmam : kcjbohglbkg list;
}

type ofpielcbnie = {
  ffabaoopmam : kcjbohglbkg list;
  retcode : int32;
}

type fleomlhekmb = {
  fkpnjjecflg : icfmgfdlfbf option;
}

type didlmcoobee = {
  mfgpjihdebb : mdagbigodjh option;
}

type kojkhmpimdb = unit

type nalpogbfcld = {
  retcode : int32;
  jfmgicmieni : kcjbohglbkg list;
}

type bnllbbflcmp = {
  ndjkkklopgp : (int32 * int32) list;
}

type gecmagkkaih = unit

type eienjkdigbh = {
  pfjnehlmhpn : int32;
  retcode : int32;
}

type iohkbhphefg = {
  ohibnloihci : int32;
}

type haoeobccick = {
  reward : item_list option;
  retcode : int32;
}

type inoillgmnli = unit

type ihjgeegflgi = {
  retcode : int32;
}

type kjniddfcogb =
  | Cmd_archive_type_none 
  | Cmd_get_archive_data_sc_rsp 
  | Cmd_get_updated_archive_data_sc_rsp 
  | Cmd_get_archive_data_cs_req 
  | Cmd_get_updated_archive_data_cs_req 

type ahegmfopalb = {
  peehdpfeeoo : int32;
  fgmdoekgpee : int32;
}

type djckakhhhng = {
  monster_id : int32;
  kagnbjdmamf : int32;
}

type gjjmikgadbo = {
  relic_list : ahegmfopalb list;
  gbgamckgokf : djckakhhhng list;
  fidmcoeiklh : int32 list;
  kbmoknknjod : int32 list;
  apfenmjpknc : int32 list;
}

type monllamhagk = unit

type palefbfkmmf = {
  dbmehhgkijj : gjjmikgadbo option;
  retcode : int32;
}

type bhpjpmkfmkk = unit

type llchdbdljil = {
  retcode : int32;
  dbmehhgkijj : gjjmikgadbo option;
}

type ddigbcomjip =
  | Cmd_avatar_type_none 
  | Cmd_take_off_equipment_cs_req 
  | Cmd_dress_relic_avatar_cs_req 
  | Cmd_avatar_exp_up_sc_rsp 
  | Cmd_take_off_equipment_sc_rsp 
  | Cmd_add_avatar_sc_notify 
  | Cmd_mark_avatar_sc_rsp 
  | Cmd_avatar_exp_up_cs_req 
  | Cmd_rank_up_avatar_sc_rsp 
  | Cmd_promote_avatar_cs_req 
  | Cmd_dress_avatar_sc_rsp 
  | Cmd_unlock_skilltree_sc_rsp 
  | Cmd_dress_avatar_skin_sc_rsp 
  | Cmd_promote_avatar_sc_rsp 
  | Cmd_take_off_relic_sc_rsp 
  | Cmd_rank_up_avatar_cs_req 
  | Cmd_dress_relic_avatar_sc_rsp 
  | Cmd_take_off_avatar_skin_cs_req 
  | Cmd_dress_avatar_skin_cs_req 
  | Cmd_take_off_relic_cs_req 
  | Cmd_mark_avatar_cs_req 
  | Cmd_take_promotion_reward_sc_rsp 
  | Cmd_take_off_avatar_skin_sc_rsp 
  | Cmd_get_avatar_data_sc_rsp 
  | Cmd_take_promotion_reward_cs_req 
  | Cmd_get_avatar_data_cs_req 
  | Cmd_unlock_avatar_skin_sc_notify 
  | Cmd_dress_avatar_cs_req 
  | Cmd_unlock_skilltree_cs_req 

type add_avatar_src =
  | Add_avatar_src_none 
  | Add_avatar_src_gacha 
  | Add_avatar_src_rogue 

type get_avatar_data_cs_req = {
  base_avatar_id_list : int32 list;
  is_get_all : bool;
}

type equip_relic = {
  nfjcagcjbib : int32;
  fgmdoekgpee : int32;
}

type avatar = {
  base_avatar_id : int32;
  level : int32;
  fbieckfjhid : int32;
  equip_relic_list : equip_relic list;
  skilltree_list : avatar_skill_tree list;
  first_met_timestamp : int64;
  rank : int32;
  nknepgafjhl : int32;
  bhfagdddack : bool;
  exp : int32;
  promotion : int32;
  lgefgjgpbcj : int32 list;
}

type get_avatar_data_sc_rsp = {
  retcode : int32;
  cibnempfije : int32 list;
  is_all : bool;
  avatar_list : avatar list;
}

type aecnomadcjh = {
  item_cost : item_cost_data option;
  base_avatar_id : int32;
}

type lpnomfffpdc = {
  return_item_list : pile_item list;
  retcode : int32;
}

type kpbljmklimk = {
  pdpfcfglgco : item_cost list;
  point_id : int32;
  level : int32;
}

type lokkkoegcel = {
  level : int32;
  retcode : int32;
  point_id : int32;
}

type pgallhinmcg = {
  base_avatar_id : int32;
  pdpfcfglgco : item_cost list;
}

type kiegpcndglm = {
  retcode : int32;
}

type cbakagckfoj = {
  avatar_id : int32;
  fbieckfjhid : int32;
}

type ijcahocdgaf = {
  retcode : int32;
}

type adgdhlnhjbo = {
  avatar_id : int32;
}

type mpifpmeobhn = {
  retcode : int32;
}

type add_avatar_sc_notify = {
  reward : item_list option;
  kollpgccdil : bool;
  base_avatar_id : int32;
  src : add_avatar_src;
}

type encpolfcbdh = {
  avatar_id : int32;
  rank : int32;
  lohpklihemj : item_cost_data option;
}

type lalbonaknbj = {
  retcode : int32;
}

type lihdafanjjb = {
  glibnobaaec : int32;
  nfjcagcjbib : int32;
}

type nnmdebbkhno = {
  avatar_id : int32;
  param_list : lihdafanjjb list;
}

type kangfjjbiof = {
  retcode : int32;
}

type loekhbimbge = {
  meifmmgjlpe : int32 list;
  avatar_id : int32;
}

type piacfnkpnfl = {
  retcode : int32;
}

type lhfgooafpmn = {
  promotion : int32;
  base_avatar_id : int32;
}

type ilpkijpmbem = {
  dekonpmjeen : item_list option;
  retcode : int32;
}

type hipenifkepd = {
  ikebgemjjdh : int32;
  avatar_id : int32;
}

type pncgiifooab = {
  retcode : int32;
}

type agbmkannnln = {
  avatar_id : int32;
}

type iekgcdbdjcb = {
  retcode : int32;
}

type jkgenbbckgd = {
  ikebgemjjdh : int32;
}

type cefjkkokjgm = {
  avatar_id : int32;
  bhfagdddack : bool;
}

type jpfokchobkj = {
  bhfagdddack : bool;
  retcode : int32;
  avatar_id : int32;
}

type cakkaeefjpf =
  | Cmd_battle_type_none 
  | Cmd_sync_client_res_version_cs_req 
  | Cmd_get_cur_battle_info_sc_rsp 
  | Cmd_re_battle_after_battle_lose_cs_notify 
  | Cmd_server_simulate_battle_finish_sc_notify 
  | Cmd_quit_battle_sc_rsp 
  | Cmd_quit_battle_cs_req 
  | Cmd_get_cur_battle_info_cs_req 
  | Cmd_pvebattle_result_cs_req 
  | Cmd_battle_log_report_sc_rsp 
  | Cmd_quit_battle_sc_notify 
  | Cmd_rebattle_by_client_cs_notify 
  | Cmd_battle_log_report_cs_req 
  | Cmd_sync_client_res_version_sc_rsp 
  | Cmd_pvebattle_result_sc_rsp 

type pve_battle_result_cs_req = {
  stage_id : int32;
  end_status : battle_end_status;
  battle_id : int32;
}

type pve_battle_result_sc_rsp = {
  oomdpegblgd : bool;
  battle_avatar_list : battle_avatar list;
  oocaibocjln : int32;
  pgocjkihbbe : string;
  retcode : int32;
  stage_id : int32;
  battle_id : int32;
  glplpadhfpd : int32;
  ohibnloihci : int32;
  mlnnahkhdjm : item_list option;
  eahkgakocfi : item_list option;
  cbilddggofb : item_list option;
  acpoidmpoae : item_list option;
  gndhohdfcaj : int32;
  afpcepepdbn : string;
  end_status : battle_end_status;
}

type camlhbegnmo =
  | Rebattle_type_none 
  | Rebattle_type_rebattle_midway 
  | Rebattle_type_rebattle_lose 
  | Rebattle_type_rebattle_midway_lineup 
  | Rebattle_type_rebattle_lose_lineup 
  | Rebattle_type_quit_midway 
  | Rebattle_type_quit_lose 

type ijgbbedmofi = {
  ppkofopmfjc : battle_statistics option;
  nnpfabenejo : camlhbegnmo;
}

type cobbpkkomfl = {
  retcode : int32;
}

type dkkpikecajo = unit

type hbflmfphidd = {
  ipnlaoiegjo : dlibcbeoehg option;
  nlkgekahldd : int32;
  retcode : int32;
  ibllilenejp : scene_battle_info option;
  hcnfeokapob : battle_end_status;
}

type mcakjakjjom = {
  hcgjomkbloh : int32;
}

type kkabhpeeggp = {
  hcgjomkbloh : int32;
  retcode : int32;
}

type fjkiphnkgdp = unit

type ldnjbhdlmmg = unit

type pnnpfbnehhf = {
  retcode : int32;
  inhkilleipi : bool;
}

type fjhmgepebdo = unit

type jomaaeonbkl = {
  anhhbjmpmnl : bool;
}

type mgckhgkoldc = {
  ppkofopmfjc : battle_statistics option;
  nnpfabenejo : camlhbegnmo;
}

type dbbjgclmmjp =
  | Cmd_battle_college_type_none 
  | Cmd_get_battle_college_data_sc_rsp 
  | Cmd_get_battle_college_data_cs_req 
  | Cmd_start_battle_college_sc_rsp 
  | Cmd_battle_college_data_change_sc_notify 
  | Cmd_start_battle_college_cs_req 

type fapaimaejep = unit

type bdboegaepjc = {
  opmjfaoockc : int32;
  retcode : int32;
  njicdmlcfel : int32 list;
}

type peakflfemij = {
  opmjfaoockc : int32;
  njicdmlcfel : int32 list;
  reward : item_list option;
}

type piohfiefgli = {
  id : int32;
}

type gilcdginico = {
  retcode : int32;
  ibllilenejp : scene_battle_info option;
  id : int32;
}

type fahljamiphk =
  | Cmd_battle_pass_type_none 
  | Cmd_take_all_reward_cs_req 
  | Cmd_battle_pass_info_notify 
  | Cmd_take_all_reward_sc_rsp 
  | Cmd_take_bp_reward_cs_req 
  | Cmd_buy_bp_level_sc_rsp 
  | Cmd_buy_bp_level_cs_req 
  | Cmd_take_bp_reward_sc_rsp 

type lhcilpbmhdj =
  | Bp_tier_type_none 
  | Bp_tier_type_free 
  | Bp_tier_type_premium_1 
  | Bp_tier_type_premium_2 

type bbfkmccgbef =
  | Bp_rewarad_type_none 
  | Bp_rewarad_type_free 
  | Bp_rewarad_type_premium_1 
  | Bp_rewarad_type_premium_2 
  | Bp_rewarad_type_premium_optional 

type glllkpaohkp = {
  hfimlipbgjj : int64;
  odfppnaaaha : int64;
  doelnfpchgj : int64;
  ofkndpopolb : int64;
  ifhjejgkkii : int64;
  bflofpnhhbe : int64;
  level : int32;
  negckedpalm : int32;
  exp : int32;
  mlcjknjonla : int64;
  hjaacgfhkeh : lhcilpbmhdj;
  eigfdpnbaib : int64;
  ikphhdkihnl : int32;
}

type igfohhehkfi = {
  fgmdoekgpee : bbfkmccgbef;
  level : int32;
  apbdbeabddj : int32;
}

type fgglkpbaipp = {
  retcode : int32;
  reward : item_list option;
}

type jakmhbhfbom = {
  dnafdalifpp : int32;
}

type ojleilicgce = {
  retcode : int32;
}

type optional_reward = {
  level : int32;
  optional_reward_id : int32;
}

type djpcigjcohb = {
  eeoepeflnib : optional_reward list;
}

type bnndbijgjig = {
  reward : item_list option;
  retcode : int32;
}

type mhghefbeklg =
  | Cmd_boxing_club_type_none 
  | Cmd_boxing_club_reward_sc_notify 
  | Cmd_choose_boxing_club_resonance_sc_rsp 
  | Cmd_choose_boxing_club_stage_optional_buff_cs_req 
  | Cmd_get_boxing_club_info_sc_rsp 
  | Cmd_set_boxing_club_resonance_lineup_sc_rsp 
  | Cmd_give_up_boxing_club_challenge_sc_rsp 
  | Cmd_get_boxing_club_info_cs_req 
  | Cmd_match_boxing_club_opponent_cs_req 
  | Cmd_start_boxing_club_battle_sc_rsp 
  | Cmd_choose_boxing_club_stage_optional_buff_sc_rsp 
  | Cmd_choose_boxing_club_resonance_cs_req 
  | Cmd_boxing_club_challenge_update_sc_notify 
  | Cmd_match_boxing_club_opponent_sc_rsp 
  | Cmd_start_boxing_club_battle_cs_req 
  | Cmd_give_up_boxing_club_challenge_cs_req 
  | Cmd_set_boxing_club_resonance_lineup_cs_req 

type kjdaenekphc = {
  avatar_id : int32;
  avatar_type : avatar_type;
}

type ddlbgkgfefc = {
  gelihlenpmn : int32;
  lcpkdabedpe : kjdaenekphc list;
  dcpoeimegli : int32;
  ngibpgbbhbb : int32;
  dejlogoemeb : int32;
  avatar_list : int32 list;
  aanccmiilfi : int32 list;
  jhcijabbjdd : int32;
  pokejdagclb : bool;
  hdonjgpeieg : int32;
}

type kogajoogclp = unit

type mppfhakefln = {
  cjbdijhedpo : ddlbgkgfefc list;
  retcode : int32;
}

type mlhocmdjnel = {
  avatar_type : avatar_type;
  avatar_id : int32;
}

type bjngkchibgi = {
  avatar_list : int32 list;
  lcpkdabedpe : mlhocmdjnel list;
  dcpoeimegli : int32;
}

type flaecklplkf = {
  ocdbilliofd : ddlbgkgfefc option;
  retcode : int32;
}

type aliciecaofg = {
  dcpoeimegli : int32;
  hdonjgpeieg : int32;
}

type lmonebbpblj = {
  ocdbilliofd : ddlbgkgfefc option;
  retcode : int32;
}

type geebeknbjna = {
  dcpoeimegli : int32;
  lcpkdabedpe : mlhocmdjnel list;
}

type ekdglijkhoo = {
  ocdbilliofd : ddlbgkgfefc option;
  retcode : int32;
}

type flchghojicb = {
  hehoaaidbbn : int32;
  dcpoeimegli : int32;
}

type fookkgeekfb = {
  retcode : int32;
  ocdbilliofd : ddlbgkgfefc option;
}

type abdgefcecmn = {
  dcpoeimegli : int32;
}

type impmdpaofpk = {
  dcpoeimegli : int32;
  retcode : int32;
  ibllilenejp : scene_battle_info option;
}

type beldnodphni = {
  dcpoeimegli : int32;
  piofaglkghg : bool;
}

type ahbkhblnhib = {
  ocdbilliofd : ddlbgkgfefc option;
  retcode : int32;
}

type fklbhjaoomk = {
  reward : item_list option;
  mmnebfbnoni : bool;
  dejlogoemeb : int32;
  dcpoeimegli : int32;
}

type bcklddogipb = {
  ocdbilliofd : ddlbgkgfefc option;
}

type jhhclhiagji =
  | Cmd_challenge_type_none 
  | Cmd_challenge_lineup_notify 
  | Cmd_get_cur_challenge_cs_req 
  | Cmd_get_challenge_group_statistics_sc_rsp 
  | Cmd_start_challenge_sc_rsp 
  | Cmd_challenge_settle_notify 
  | Cmd_start_partial_challenge_cs_req 
  | Cmd_start_challenge_cs_req 
  | Cmd_get_challenge_sc_rsp 
  | Cmd_get_challenge_recommend_lineup_list_cs_req 
  | Cmd_get_cur_challenge_sc_rsp 
  | Cmd_restart_challenge_phase_sc_rsp 
  | Cmd_get_challenge_group_statistics_cs_req 
  | Cmd_enter_challenge_next_phase_cs_req 
  | Cmd_take_challenge_reward_sc_rsp 
  | Cmd_restart_challenge_phase_cs_req 
  | Cmd_challenge_boss_phase_settle_notify 
  | Cmd_enter_challenge_next_phase_sc_rsp 
  | Cmd_take_challenge_reward_cs_req 
  | Cmd_leave_challenge_sc_rsp 
  | Cmd_get_challenge_cs_req 
  | Cmd_leave_challenge_cs_req 
  | Cmd_get_challenge_recommend_lineup_list_sc_rsp 
  | Cmd_start_partial_challenge_sc_rsp 

type lhnmnaphkdg =
  | Challenge_unknown 
  | Challenge_doing 
  | Challenge_finish 
  | Challenge_failed 

type bfkejoedman = {
  pkkfndimmio : int32;
  gakmanenkmh : int32;
  mmnebfbnoni : bool;
  lkipegajnfo : bool;
}

type gohiddnlhbd = {
  hechfpdiado : int32;
  level : int32;
  rank : int32;
  unique_id : int32;
  promotion : int32;
}

type jkbkidbcjnc = {
  level : int32;
  sub_affix_list : relic_affix list;
  unique_id : int32;
  main_affix_id : int32;
  hechfpdiado : int32;
}

type ncjlkljhjcf = {
  mcabmcmjjeh : (int32 * jkbkidbcjnc) list;
}

type pofampodbff = {
  ifpgckbegmc : bfkejoedman option;
  pkadbaodmol : (int32 * gohiddnlhbd) list;
  nidhakjenjj : (int32 * ncjlkljhjcf) list;
  fkieaedpfgi : int32 list;
  clmoamecein : bfkejoedman option;
  docbgbkpbgk : bool;
  bddkedmgijc : int32 list;
}

type odmpfgdalba = {
  mbknfpcaghc : pofampodbff option;
}

type aelfdiclnkj = {
  oohfncljbab : int32;
  pamafmppefi : int32;
  acjjpgnpdii : bool;
  lpgaoolbbfm : int32;
  dcpoeimegli : int32;
  hgmihaljjfa : int32;
  akfdaaaiich : odmpfgdalba option;
  nnbeodpchid : int32;
}

type gbobcmidndl = {
  bcoonaoafoo : int64;
  group_id : int32;
}

type dmdfdiamoak = {
  level : int32;
  jplhmpiafoe : int32;
}

type kmkeciemdah = unit

type oafififjgec = {
  retcode : int32;
  fgoeihnocab : int32;
  kembjappmba : dmdfdiamoak list;
  cjbdijhedpo : aelfdiclnkj list;
  bpmldkchbeg : gbobcmidndl list;
}

type ohfljdcpecn = {
  ifckabbiilb : int32;
  bopehbonhll : int32;
}

type oaflmpicpnm = {
  ifckabbiilb : int32;
  bopehbonhll : int32;
}

type bhoiohjgali = {
  ekglbfofkkd : ohfljdcpecn option;
  mbknfpcaghc : oaflmpicpnm option;
}

type fmeoceelold = {
  dcpoeimegli : int32;
  bddkedmgijc : int32 list;
  fkieaedpfgi : int32 list;
  akfdaaaiich : bhoiohjgali option;
}

type dpefjfdabmm = {
  emkljnkkgmg : int32;
  monster_id : int32;
}

type extra_lineup_type =
  | Lineup_none 
  | Lineup_challenge 
  | Lineup_rogue 
  | Lineup_challenge_2 
  | Lineup_challenge_3 
  | Lineup_rogue_challenge 
  | Lineup_stage_trial 
  | Lineup_rogue_trial 
  | Lineup_activity 
  | Lineup_boxing_club 
  | Lineup_treasure_dungeon 
  | Lineup_chess_rogue 
  | Lineup_heliobus 
  | Lineup_tourn_rogue 
  | Lineup_relic_rogue 
  | Lineup_arcade_rogue 

type pmipieeojnc = {
  buff_list : int32 list;
}

type lcmlopfaobm = {
  buff_list : int32 list;
  jjnilbbbmac : int32;
}

type bjfmbfoaelh = {
  hnekacjplga : pmipieeojnc option;
  bhfcjdajfke : lcmlopfaobm option;
}

type acdfcngdkhe = {
  oohfncljbab : int32;
  gbgamckgokf : dpefjfdabmm list;
  lpgaoolbbfm : int32;
  extra_lineup_type : extra_lineup_type;
  dcpoeimegli : int32;
  akfdaaaiich : bjfmbfoaelh option;
  lfjefbdikln : int32;
  fphjhbmlogm : int32;
  status : lhnmnaphkdg;
}

type lineup_avatar = {
  hp : int32;
  satiety : int32;
  slot : int32;
  avatar_type : avatar_type;
  sp : sp_progress option;
  id : int32;
}

type lineup_info = {
  njfmkhpamdl : bool;
  avatar_list : lineup_avatar list;
  lofekgfcmlc : int32 list;
  ijnpccndcgi : int32;
  index : int32;
  is_virtual : bool;
  hcoemhcfomn : int32;
  name : string;
  extra_lineup_type : extra_lineup_type;
  plane_id : int32;
  nlkmjkfhebm : int32 list;
  kclnaimofdl : int32;
  dfkpgckchah : int32 list;
  oppienknmfb : int32;
}

type maobdckbobc = {
  ggjjigjjodm : acdfcngdkhe option;
  retcode : int32;
  kbognlnlcle : lineup_info list;
  scene : scene_info option;
  akfdaaaiich : odmpfgdalba option;
}

type hacocboddac = {
  pkkfndimmio : int32;
  dcpoeimegli : int32;
  ffobdiljlbp : bool;
}

type jjeeompliao = {
  lineup : lineup_info option;
  scene : scene_info option;
  retcode : int32;
  ggjjigjjodm : acdfcngdkhe option;
}

type pfiiknkcjmf = unit

type hiajnnddmdd = {
  retcode : int32;
}

type ldlkkfajcdc = {
  fgoeihnocab : int32;
  oohfncljbab : int32;
  reward : item_list option;
  pamafmppefi : int32;
  dcpoeimegli : int32;
  mmnebfbnoni : bool;
  mlafjaohnmf : int32 list;
  oadpmnmpcjl : int32;
  nfkimondhio : dmdfdiamoak option;
}

type iblcoiiaigc = unit

type coiegofghdn = {
  ggjjigjjodm : acdfcngdkhe option;
  kbognlnlcle : lineup_info list;
  retcode : int32;
}

type lnagiibkhlh = {
  extra_lineup_type : extra_lineup_type;
}

type hibdmpkciin = {
  group_id : int32;
}

type pahjkfkgbop = {
  reward : item_list option;
  dhlffjdmbig : int32;
}

type lpjbamecahp = {
  bodjegpjphj : pahjkfkgbop list;
  retcode : int32;
  group_id : int32;
}

type ehbjmdabinj = {
  avatar_type : avatar_type;
  level : int32;
  id : int32;
  index : int32;
}

type mdhdfopebgl = {
  avatar_list : ehbjmdabinj list;
}

type npmodmpagii = {
  kbognlnlcle : mdhdfopebgl list;
  level : int32;
  lfjefbdikln : int32;
  knbgpmdmbkc : int32;
}

type khjddbffahk = {
  hgmihaljjfa : int32;
  pijailpolmf : npmodmpagii option;
}

type nhecleammpi = {
  kbognlnlcle : mdhdfopebgl list;
  level : int32;
  knbgpmdmbkc : int32;
  lpgaoolbbfm : int32;
  ifckabbiilb : int32;
  bopehbonhll : int32;
}

type imiaeepmcje = {
  pijailpolmf : nhecleammpi option;
  hgmihaljjfa : int32;
}

type adfmfjbomfm = {
  knbgpmdmbkc : int32;
  kbognlnlcle : mdhdfopebgl list;
  bopehbonhll : int32;
  level : int32;
  lpgaoolbbfm : int32;
  ifckabbiilb : int32;
}

type cinndmfnbij = {
  pijailpolmf : adfmfjbomfm option;
  hgmihaljjfa : int32;
}

type mjpadlbjdhm = {
  group_id : int32;
}

type jilinnlgcoe = {
  group_id : int32;
  retcode : int32;
  icoibnhjhec : khjddbffahk option;
  ckbeijmmbjp : imiaeepmcje option;
  idcpcalknen : cinndmfnbij option;
}

type agacnfgjjhm = unit

type gcpmkpfgiid = {
  retcode : int32;
  scene : scene_info option;
}

type akiopjcikpi = unit

type oabnlkaifkd = {
  scene : scene_info option;
  retcode : int32;
}

type dodphlphodk = {
  dcpoeimegli : int32;
  oohfncljbab : int32;
  oadpmnmpcjl : int32;
  pbiaoddhipc : bool;
  eifkjpfgipi : battle_target list;
  djemibiamha : int32;
  mmnebfbnoni : bool;
  bjihmliecnf : bool;
  pamafmppefi : int32;
  oilhgpfbeel : int32;
}

type oojihblbeip = {
  dcpoeimegli : int32;
}

type gcobllmhael = {
  pmdhhigakcp : int32;
  kmfboahjjhd : int32;
  bddkedmgijc : int32 list;
  fkieaedpfgi : int32 list;
}

type mfkcgfoomed = {
  dcpoeimegli : int32;
  retcode : int32;
  bdjmhpbiaag : gcobllmhael list;
}

type bikadnacapb =
  | Cmd_chat_type_none 
  | Cmd_get_chat_friend_history_sc_rsp 
  | Cmd_get_chat_friend_history_cs_req 
  | Cmd_send_msg_sc_rsp 
  | Cmd_get_chat_emoji_list_cs_req 
  | Cmd_send_msg_cs_req 
  | Cmd_private_msg_offline_users_sc_notify 
  | Cmd_get_login_chat_info_sc_rsp 
  | Cmd_revc_msg_sc_notify 
  | Cmd_get_chat_emoji_list_sc_rsp 
  | Cmd_batch_mark_chat_emoji_cs_req 
  | Cmd_mark_chat_emoji_cs_req 
  | Cmd_mark_chat_emoji_sc_rsp 
  | Cmd_get_login_chat_info_cs_req 
  | Cmd_get_private_chat_history_sc_rsp 
  | Cmd_get_private_chat_history_cs_req 
  | Cmd_batch_mark_chat_emoji_sc_rsp 

type ekllejeelfk = {
  lfpcmaihpbj : chat_type;
  aelpgmailcn : msg_type;
  fblgpmnmbcc : int32 list;
  gpcnecedgof : kicjpjalbbh option;
  jpacbjioomm : string;
  ampfhonjmcd : int32;
}

type nhcndpbdgef = {
  end_time : int64;
  retcode : int32;
}

type fdolecgmpnp = {
  ehjdlppngmf : int32;
  gpcnecedgof : kicjpjalbbh option;
  ekomgpknmnn : string;
  fgilieldboi : int64;
  ampfhonjmcd : int32;
  aelpgmailcn : msg_type;
}

type ohiiebnlkpb = {
  nlhlnacaplk : int32;
  jpacbjioomm : string;
  ampfhonjmcd : int32;
  aelpgmailcn : msg_type;
  jlddmekleop : int32;
  gpcnecedgof : kicjpjalbbh option;
  lfpcmaihpbj : chat_type;
}

type mbghgfnkini = {
  dbdnooapmlm : int32 list;
}

type njgnkanbknc = {
  hbnlpjhkkcj : int32;
  bmgnoinbocb : int32;
}

type okbaaoadhco = {
  hbnlpjhkkcj : int32;
  retcode : int32;
  bmgnoinbocb : int32;
  pbnkofcamlc : fdolecgmpnp list;
}

type iogcdknhcgm = {
  hbnlpjhkkcj : int32;
  bgmailkkaki : int64;
}

type kinamnleoon = unit

type ghdebmkbflc = {
  retcode : int32;
  cbkidlkcjcc : iogcdknhcgm list;
}

type pfkfollpamf = unit

type modcpiakhbc = {
  heeeklmagdp : int32 list;
  retcode : int32;
}

type baoekbknfkb = {
  mkbgjbobhal : bool;
  ampfhonjmcd : int32;
}

type gbjplhlkclc = {
  mkbgjbobhal : bool;
  ampfhonjmcd : int32;
  retcode : int32;
}

type bafalbdiboe = {
  iilhhecoogb : int32 list;
}

type hghnaejjjgj = {
  iilhhecoogb : int32 list;
  retcode : int32;
}

type lghifpmgaic = unit

type mdmbaangnpa = {
  retcode : int32;
  dbdnooapmlm : int32 list;
}

type lchfohebiak =
  | Cmd_chess_rogue_type_none 
  | Cmd_chess_rogue_pick_avatar_cs_req 
  | Cmd_enhance_chess_rogue_buff_cs_req 
  | Cmd_get_chess_rogue_buff_enhance_info_sc_rsp 
  | Cmd_chess_rogue_nous_get_rogue_talent_info_sc_rsp 
  | Cmd_select_chess_rogue_nous_sub_story_cs_req 
  | Cmd_finish_chess_rogue_sub_story_sc_rsp 
  | Cmd_get_chess_rogue_buff_enhance_info_cs_req 
  | Cmd_chess_rogue_quit_sc_rsp 
  | Cmd_chess_rogue_select_bp_sc_rsp 
  | Cmd_chess_rogue_quest_finish_notify 
  | Cmd_chess_rogue_start_cs_req 
  | Cmd_chess_rogue_roll_dice_cs_req 
  | Cmd_chess_rogue_enter_sc_rsp 
  | Cmd_chess_rogue_cheat_roll_sc_rsp 
  | Cmd_chess_rogue_re_roll_dice_cs_req 
  | Cmd_chess_rogue_skip_teaching_level_sc_rsp 
  | Cmd_chess_rogue_layer_account_info_notify 
  | Cmd_chess_rogue_revive_avatar_sc_rsp 
  | Cmd_chess_rogue_update_dice_passive_accumulate_value_sc_notify 
  | Cmd_chess_rogue_update_unlock_level_sc_notify 
  | Cmd_get_chess_rogue_story_info_sc_rsp 
  | Cmd_chess_rogue_move_cell_notify 
  | Cmd_chess_rogue_leave_sc_rsp 
  | Cmd_finish_chess_rogue_sub_story_cs_req 
  | Cmd_chess_rogue_query_bp_cs_req 
  | Cmd_chess_rogue_confirm_roll_cs_req 
  | Cmd_chess_rogue_nous_enable_rogue_talent_sc_rsp 
  | Cmd_get_chess_rogue_nous_story_info_sc_rsp 
  | Cmd_chess_rogue_give_up_sc_rsp 
  | Cmd_chess_rogue_update_revive_info_sc_notify 
  | Cmd_chess_rogue_select_cell_cs_req 
  | Cmd_chess_rogue_update_allowed_select_cell_sc_notify 
  | Cmd_chess_rogue_update_board_sc_notify 
  | Cmd_chess_rogue_nous_edit_dice_sc_rsp 
  | Cmd_get_chess_rogue_nous_story_info_cs_req 
  | Cmd_get_chess_rogue_story_aeon_talk_info_sc_rsp 
  | Cmd_chess_rogue_confirm_roll_sc_rsp 
  | Cmd_finish_chess_rogue_nous_sub_story_sc_rsp 
  | Cmd_enhance_chess_rogue_buff_sc_rsp 
  | Cmd_select_chess_rogue_nous_sub_story_sc_rsp 
  | Cmd_chess_rogue_query_bp_sc_rsp 
  | Cmd_chess_rogue_re_roll_dice_sc_rsp 
  | Cmd_chess_rogue_revive_avatar_cs_req 
  | Cmd_get_chess_rogue_story_aeon_talk_info_cs_req 
  | Cmd_chess_rogue_go_ahead_cs_req 
  | Cmd_chess_rogue_update_level_base_info_sc_notify 
  | Cmd_chess_rogue_query_cs_req 
  | Cmd_chess_rogue_enter_cell_sc_rsp 
  | Cmd_enter_chess_rogue_aeon_room_sc_rsp 
  | Cmd_sync_chess_rogue_nous_main_story_sc_notify 
  | Cmd_chess_rogue_go_ahead_sc_rsp 
  | Cmd_chess_rogue_enter_next_layer_sc_rsp 
  | Cmd_chess_rogue_changey_aeon_dimension_notify 
  | Cmd_chess_rogue_start_sc_rsp 
  | Cmd_chess_rogue_leave_cs_req 
  | Cmd_finish_chess_rogue_nous_sub_story_cs_req 
  | Cmd_chess_rogue_give_up_roll_sc_rsp 
  | Cmd_chess_rogue_update_aeon_modifier_value_sc_notify 
  | Cmd_chess_rogue_nous_edit_dice_cs_req 
  | Cmd_chess_rogue_pick_avatar_sc_rsp 
  | Cmd_chess_rogue_nous_dice_update_notify 
  | Cmd_chess_rogue_select_cell_sc_rsp 
  | Cmd_chess_rogue_cheat_roll_cs_req 
  | Cmd_get_chess_rogue_story_info_cs_req 
  | Cmd_sync_chess_rogue_main_story_finish_sc_notify 
  | Cmd_chess_rogue_give_up_cs_req 
  | Cmd_chess_rogue_quit_cs_req 
  | Cmd_chess_rogue_select_bp_cs_req 
  | Cmd_enter_chess_rogue_aeon_room_cs_req 
  | Cmd_chess_rogue_enter_cs_req 
  | Cmd_chess_rogue_update_dice_info_sc_notify 
  | Cmd_chess_rogue_query_aeon_dimensions_sc_rsp 
  | Cmd_chess_rogue_roll_dice_sc_rsp 
  | Cmd_sync_chess_rogue_nous_sub_story_sc_notify 
  | Cmd_chess_rogue_query_sc_rsp 
  | Cmd_chess_rogue_query_aeon_dimensions_cs_req 
  | Cmd_chess_rogue_update_action_point_sc_notify 
  | Cmd_chess_rogue_enter_next_layer_cs_req 
  | Cmd_select_chess_rogue_sub_story_sc_rsp 
  | Cmd_chess_rogue_give_up_roll_cs_req 
  | Cmd_sync_chess_rogue_nous_value_sc_notify 
  | Cmd_chess_rogue_nous_enable_rogue_talent_cs_req 
  | Cmd_chess_rogue_nous_get_rogue_talent_info_cs_req 
  | Cmd_chess_rogue_finish_cur_room_notify 
  | Cmd_select_chess_rogue_sub_story_cs_req 
  | Cmd_chess_rogue_skip_teaching_level_cs_req 
  | Cmd_chess_rogue_update_money_info_sc_notify 
  | Cmd_chess_rogue_nous_dice_surface_unlock_notify 
  | Cmd_chess_rogue_cell_update_notify 
  | Cmd_chess_rogue_enter_cell_cs_req 

type ffcjbkjenjp =
  | Chess_rogue_dice_idle 
  | Chess_rogue_dice_rolled 
  | Chess_rogue_dice_confirmed 
  | Chess_rogue_dice_giveup 

type omlpnkhdeog =
  | Chess_rogue_dice_fixed 
  | Chess_rogue_dice_editable 

type mknnebnfbej =
  | Idle 
  | Selected 
  | Processing 
  | Finish 

type idpjmbnedeg =
  | Chess_rogue_cell_special_type_none 
  | Chess_rogue_cell_special_type_locked 
  | Chess_rogue_cell_special_type_replicate 
  | Chess_rogue_cell_special_type_protected 
  | Chess_rogue_cell_special_type_seed 
  | Chess_rogue_cell_special_type_stamp 

type kebkmnaehol =
  | Chess_rogue_level_idle 
  | Chess_rogue_level_processing 
  | Chess_rogue_level_pending 
  | Chess_rogue_level_finish 
  | Chess_rogue_level_failed 
  | Chess_rogue_level_force_finish 

type pkkjdbmkgck =
  | Chess_rogue_account_by_none 
  | Chess_rogue_account_by_normal_finish 
  | Chess_rogue_account_by_normal_quit 
  | Chess_rogue_account_by_dialog 
  | Chess_rogue_account_by_failed 
  | Chess_rogue_account_by_custom_op 

type eclempbnebp =
  | Chess_rogue_buff_source_type_none 
  | Chess_rogue_buff_source_type_select 
  | Chess_rogue_buff_source_type_enhance 
  | Chess_rogue_buff_source_type_miracle 
  | Chess_rogue_buff_source_type_dialogue 
  | Chess_rogue_buff_source_type_bonus 
  | Chess_rogue_buff_source_type_shop 
  | Chess_rogue_buff_source_type_dice 
  | Chess_rogue_buff_source_type_aeon 
  | Chess_rogue_buff_source_type_maze_skill 
  | Chess_rogue_buff_source_type_level_mechanism 

type lemalifjabi =
  | Chess_rogue_miracle_source_type_none 
  | Chess_rogue_miracle_source_type_select 
  | Chess_rogue_miracle_source_type_dialogue 
  | Chess_rogue_miracle_source_type_bonus 
  | Chess_rogue_miracle_source_type_use 
  | Chess_rogue_miracle_source_type_reset 
  | Chess_rogue_miracle_source_type_replace 
  | Chess_rogue_miracle_source_type_trade 
  | Chess_rogue_miracle_source_type_get 
  | Chess_rogue_miracle_source_type_shop 
  | Chess_rogue_miracle_source_type_maze_skill 
  | Chess_rogue_miracle_source_type_level_mechanism 

type mmfnjjmglfd =
  | Chess_rogue_update_level_status_by_none 
  | Chess_rogue_update_level_status_by_dialog 

type alapdfpdlno =
  | Chess_rogue_cell_update_reason_none 
  | Chess_rogue_cell_update_reason_modifier 

type hgnglmloloa =
  | Chess_rogue_aeon_type_none 
  | Chess_rogue_aeon_type_knight 
  | Chess_rogue_aeon_type_memory 
  | Chess_rogue_aeon_type_warlock 
  | Chess_rogue_aeon_type_priest 
  | Chess_rogue_aeon_type_rogue 
  | Chess_rogue_aeon_type_warrior 
  | Chess_rogue_aeon_type_happy 
  | Chess_rogue_aeon_type_breed 

type homhlopfphc =
  | Chess_rogue_dice_source_type_none 
  | Chess_rogue_dice_source_type_normal 
  | Chess_rogue_dice_source_type_repeat 
  | Chess_rogue_dice_source_type_cheat 

type emeefgmahof =
  | Chess_rogue_nous_main_story_status_none 
  | Chess_rogue_nous_main_story_status_unlock 
  | Chess_rogue_nous_main_story_status_finish 
  | Chess_rogue_nous_main_story_status_can_trigger 

type cieanjnnbbg =
  | None 
  | Phase_one 
  | Phase_two 

type micfnaphmnb = {
  joipnmmehbm : item_cost_data option;
}

type hefgcbjdeem = {
  scene : scene_info option;
  lineup : lineup_info option;
}

type memfcodlioa = {
  id : int32;
  glkbddbdebh : int32 list;
}

type nidknnfjgmp = {
  mojaejmnmge : memfcodlioa list;
}

type idlkgpjlfhc =
  | Rogue_modifier_source_none 
  | Rogue_modifier_source_dice_roll 
  | Rogue_modifier_source_aeon 
  | Rogue_modifier_source_board_event 
  | Rogue_modifier_source_dialog_event 
  | Rogue_modifier_source_miracle 
  | Rogue_modifier_source_cell_mark 
  | Rogue_modifier_source_aeon_talent 
  | Rogue_modifier_source_boss_decay 
  | Rogue_modifier_source_dice_branch 

type oeafacbejbl =
  | Rogue_modifier_content_definite 
  | Rogue_modifier_content_random 

type mehpamalhjm = {
  gmdlifibdfc : int32;
  gahohjkfkek : oeafacbejbl;
  pelegneejne : int32;
}

type fbpkclgkmha = {
  mecjmchknde : bool;
  ppahjhccgea : int32 list;
  adnplkibhog : int32;
}

type gflokgogjgh = {
  cbjpfggchfh : idlkgpjlfhc;
  golcnjkeoic : mehpamalhjm option;
  ddgkfgjdgeb : int64;
  hhckdkhoecn : fbpkclgkmha option;
}

type bakpidleifi = {
  depmnmgkeag : gflokgogjgh list;
}

type gbfffjngdfj = {
  fnhpplpmjcn : int32;
  dcipfijnhoi : int32;
}

type dcbalomaani = {
  ddkgbmlkdkk : int32;
  lhigmcoilgo : int32;
  nddbnbipbon : int32;
  pdfpgbmampk : gbfffjngdfj list;
}

type jhogcidfaoc = {
  aneolijdglc : int32;
  kbiicjjlpnd : bool;
  djaocncjcoa : gflokgogjgh option;
  iojokhhnnaf : int32;
  pmngenljclp : bakpidleifi option;
  cbplaahapne : int32 list;
  haccokolmcb : int32;
  pefeejkjmko : int32;
  lgjapibjhec : int32;
  dicpimdppco : dcbalomaani option;
  jheghpmkabh : bool;
  ddgbdajebji : int32;
  bbcjfajjbof : int32;
  jinmpgfgcbc : int32;
  lkbimfkbocp : omlpnkhdeog;
  gllfonoipoc : ffcjbkjenjp;
  ddfbfpoeima : int32;
}

type mgdjkjeikif = {
  aoecepofobe : int32;
}

type jgialipdago = {
  emmkiajfeeh : jhogcidfaoc option;
  retcode : int32;
  ffcidfndcij : int32;
}

type gapcdcdlhao = {
  pbonhgdihdk : int32;
}

type njnoikdeemg = {
  retcode : int32;
  pbonhgdihdk : int32;
}

type aljedjonndl = {
  monster_id : int32;
  mepjekicoob : int32;
}

type pifejklcgii = {
  kjigdihdnaj : int32;
  mecjmchknde : bool;
  jlpgaheinlb : aljedjonndl list;
}

type ppdhjomdhpg = {
  nehaljheool : int32 list;
  kdmnfdglfij : int32 list;
}

type dfompdgfppa = {
  jpblhpkdnff : pifejklcgii option;
  fhkibjkjnjf : ppdhjomdhpg option;
}

type kkjhocdnhpk = {
  jpblhpkdnff : pifejklcgii option;
  fhkibjkjnjf : ppdhjomdhpg option;
  ogicojhhcnf : dfompdgfppa option;
}

type fffkbmhfeed = {
  mfdelanaicp : int32;
  khdgocghkea : int32 list;
  mmpflgiclpa : int32;
  fipmfocjcgm : int32;
  akfdaaaiich : kkjhocdnhpk option;
  id : int32;
  mkpjijjipfe : idpjmbnedeg;
  pgnccoldebp : int32;
  gmchjnfpjdm : mknnebnfbej;
  ddlinaajdoh : bool;
  dnmhgkbcinm : bool;
  opooflefkol : int32;
}

type fdkhifelmcd = {
  gfphfakjiip : int32;
  hdkkdjobple : fffkbmhfeed list;
  kjfpfijkmic : int32;
  pbegapcffcg : int32;
  kgphiiiehfj : int32;
}

type dogofabhmnk = {
  mfdelanaicp : int32;
  pbonhgdihdk : int32;
}

type kkcpdacdmkm = {
  jjfopmclfgp : bakpidleifi option;
  odbonchifmm : int32;
}

type iegahkdghjc = {
  acdpcbenidp : dogofabhmnk list;
  ffkkpmlkkcc : int32;
  bgdnnmcklaf : mknnebnfbej;
  pondjadjphm : kkcpdacdmkm option;
  jhbiihbamfp : fdkhifelmcd option;
  jaeaoepglog : int32;
  lahdpgmdloa : int32 list;
}

type bincokigfgm = {
  id : int32;
  jpjmfomlibc : int32;
  onlcphdmmpm : iegahkdghjc option;
  glkcbfpeijb : int32;
  palokcoicgp : int32;
  mknhgcengfk : int32;
  meoekcpafch : int32 list;
  kdkdheomlmo : int32;
  pcpganjlmml : int32 list;
}

type gnhfgpglbae = {
  bajeglndfpe : int32;
  opmjfaoockc : int32;
}

type lafgnipaikl = {
  emoohedjinn : gnhfgpglbae list;
}

type lhakogbpaen = {
  hbjejpcphbf : int32 list;
  agndiegkeih : int32;
  pncgddoigad : lafgnipaikl option;
  onlljjegjdc : int32;
  jjfopmclfgp : bakpidleifi option;
}

type eapcpnbdbbg = {
  avatar_id : int32;
  mfionjgelel : int32;
}

type ccohodejlfe = {
  boijkbofiid : micfnaphmnb option;
  njmnddboopd : eapcpnbdbbg list;
}

type cndojeanndh = {
  dajmkddckgh : int32;
  hholaeabopa : bool;
  ghmkcfhnejp : int32 list;
  jbjjpnlonkm : int32;
}

type jkggceplagl = {
  ljbbdccelmh : int32;
}

type ahdfkbajdlh = {
  ikddpmdgcaj : int32 list;
}

type hbdomioniba =
  | Rogue_common_buff_select_source_type_none 
  | Rogue_common_buff_select_source_type_dice_roll 
  | Rogue_common_buff_select_source_type_aeon 
  | Rogue_common_buff_select_source_type_board_event 
  | Rogue_common_buff_select_source_type_level_mechanism 

type mnicidbdjfi = {
  pkkfndimmio : int32;
  kehnfboaaig : int32;
}

type rogue_common_buff_select_info = {
  roll_buff_cost_data : item_cost_data option;
  source_type : hbdomioniba;
  handbook_unlock_buff_id_list : int32 list;
  certain_select_buff_id : int32;
  select_buff_list : mnicidbdjfi list;
  source_hint_id : int32;
  roll_buff_max_count : int32;
  roll_buff_free_count : int32;
  first_buff_type_list : int32 list;
  can_roll : bool;
  roll_buff_count : int32;
  source_total_count : int32;
  source_cur_count : int32;
}

type jgloggkpeip = {
  ckmcdophoho : mnicidbdjfi list;
  comnknfemfn : int32;
}

type mmgfijkgejd = {
  comnknfemfn : int32;
  ongocpjbeem : mnicidbdjfi list;
}

type lhjijndbjll = {
  comnknfemfn : int32;
  jcmhmpmbhko : mnicidbdjfi list;
}

type ldklmcljplk = {
  bhpcnblomnh : int32 list;
  comnknfemfn : int32;
  ohmlalbookj : int32 list;
}

type blplkibhiok = {
  ccdkldffekl : int32 list;
}

type gbhdggdnlon = {
  hfmibieahhl : int32 list;
  comnknfemfn : int32;
}

type bbdkccjfpbe = {
  mkllbpebdjd : int32 list;
  comnknfemfn : int32;
}

type mgpnfkhlcpi = {
  jpjjnfckpld : int32 list;
  comnknfemfn : int32;
}

type ojnhhgmefgn = {
  bogobbncjbf : int32 list;
  comnknfemfn : int32;
}

type ddbdnlhnole = {
  oeeeagkklng : int32 list;
  comnknfemfn : int32;
}

type jlaoekngjoc = {
  comnknfemfn : int32;
  oeeeagkklng : int32 list;
}

type lnedlmmamac = {
  ofaekfangcn : int32 list;
}

type rogue_formula_select_info = {
  roll_formula_cost_data : item_cost_data option;
  handbook_unlock_formula_id_list : int32 list;
  hint_id : int32;
  select_formula_id_list : int32 list;
  roll_formula_count : int32;
  can_roll : bool;
  roll_formula_max_count : int32;
  roll_formula_free_count : int32;
}

type dooghjmkiea = {
  comnknfemfn : int32;
  nmjpafphfam : int32 list;
}

type pgpcmncmpin = {
  hfdfkfjfdbb : rogue_formula_select_info option;
}

type eecmgimpdba = {
  alalgchdbdp : rogue_common_buff_select_info option;
  khfkakikamk : jgloggkpeip option;
  oigahiohcch : mmgfijkgejd option;
  okjbmkmmcej : lhjijndbjll option;
  fndnbjlkdon : ldklmcljplk option;
  hnokaicpikf : blplkibhiok option;
  hcjcjnogaia : gbhdggdnlon option;
  lejeajjleoh : bbdkccjfpbe option;
  gkjfkoimngd : mgpnfkhlcpi option;
  agdfeodfcid : ojnhhgmefgn option;
  khjkncfhbgm : ddbdnlhnole option;
  kckdiphlhfm : jlaoekngjoc option;
  gcflbbikckf : lnedlmmamac option;
  hfdfkfjfdbb : rogue_formula_select_info option;
  jkgbadmlbcf : dooghjmkiea option;
  bmphbiefmbf : pgpcmncmpin option;
}

type blhhnmhcodp = {
  ocnjbebhbgo : int32;
  mkgoabedjeh : eecmgimpdba option;
}

type dkmldddplbi = {
  fdfgpknlkag : int32 list;
  pdklekppbkf : int32;
  gjdghpkgkga : bool;
  hholaeabopa : bool;
  jgiplhnepil : int32 list;
  jokigggoefl : int32;
  khbgofeemkc : int32;
  nfdcfmgbflc : int32 list;
}

type eijagapkfad = {
  buff_list : mnicidbdjfi list;
}

type oobhdlegikm = {
  fanjaobchcg : eijagapkfad option;
}

type djpaibjmmoe = {
  edcaibmdknh : (int32 * int32) list;
  ichkjnfaacl : int32;
  fomcmdmpdcg : int32;
  ekieijdbdhm : int32;
}

type hpphifdfjjj = {
  pcpkkbfpbeb : djpaibjmmoe list;
}

type cgcbkhnbohm = {
  gkfjbgdelik : hpphifdfjjj option;
}

type cllnjecndkl = {
  phfgnlopnbm : (int32 * int32) list;
}

type fpilmpnpiel = {
  agndiegkeih : int32;
  jjfopmclfgp : bakpidleifi option;
  onlljjegjdc : int32;
}

type eamfankbgkd = {
  ikddpmdgcaj : int32 list;
}

type jlgejhomcin = {
  pfmlckgckob : int32;
  fdjjjhbladf : int32;
}

type iejadeeklgn = {
  hhcboafecgp : jlgejhomcin list;
  jfacjfdkeio : bool;
  bgecmdbfigi : int32;
}

type pmdmaockcjp = {
  amiiemieofe : (int32 * int32) list;
}

type hhddmdcflml = {
  joogimckeph : iejadeeklgn list;
  haggkfjeckg : pmdmaockcjp option;
}

type mbokaahegfk = {
  diclgegabnh : (int32 * bool) list;
}

type dmdkacfejli = {
  avatar_id_list : int32 list;
  joipnmmehbm : item_cost_data option;
}

type cbgphimaond = {
  pogejanpebj : oobhdlegikm option;
  pmoenkofnla : cgcbkhnbohm option;
  oachfpajdbo : cllnjecndkl option;
  kjicoehehhk : fpilmpnpiel option;
  gjbcapfdgka : eamfankbgkd option;
  kiomcdghhlo : hhddmdcflml option;
  aggmbfmaepl : mbokaahegfk option;
  nnibggkcbdj : dmdkacfejli option;
}

type pdoifoocoll = {
  mdnnnihndjk : int32;
}

type glbffhmcbkd = {
  ljfkbkphogc : int32;
  echifpahiec : int32;
  njfgdmkikpb : int32;
  ipoaoopkgla : int32;
}

type jcldbblbapn = {
  ehkdpkipimp : jkggceplagl option;
  lfleifodebe : blhhnmhcodp option;
  ekglbfofkkd : cndojeanndh option;
  nnibggkcbdj : ccohodejlfe option;
  finbdgjedjo : dkmldddplbi option;
  fhpollcfknc : int32;
  hifokbodgbe : cbgphimaond list;
  lickecpakcj : bincokigfgm option;
  gjbcapfdgka : ahdfkbajdlh option;
  pmoenkofnla : cgcbkhnbohm option;
  pogejanpebj : oobhdlegikm option;
  dgohjiekiai : pdoifoocoll option;
  kjicoehehhk : lhakogbpaen option;
  ocjhnoaacgc : glbffhmcbkd option;
  emmkiajfeeh : jhogcidfaoc option;
}

type jjablbdmgfj = {
  fbgcbokaopf : cieanjnnbbg;
  pefldkdahmf : int32 list;
  kcmmhoijgbh : dcbalomaani list;
  dgpfcmkpkii : (int32 * bool) list;
}

type dbecpakjhjj = {
  bimildojagm : int32 list;
}

type rogue_unlock_progress = {
  unlock_id : int32;
  progress : int32;
  finish : bool;
}

type oimmmlnoicd =
  | Rogue_talent_status_lock 
  | Rogue_talent_status_unlock 
  | Rogue_talent_status_enable 

type johbdbffgje = {
  happnefcgoc : rogue_unlock_progress list;
  hehehnicpjn : int32;
  status : oimmmlnoicd;
}

type lljpmigaffg = {
  kdfddhcicoa : johbdbffgje list;
}

type mpjedkpbkbi = {
  mdnnnihndjk : int32;
  fnbokobiimm : lljpmigaffg option;
}

type keljbjcgfja = {
  nbbglnjencp : jjablbdmgfj option;
  dgohjiekiai : pdoifoocoll option;
  gjbcapfdgka : dbecpakjhjj option;
  pcpganjlmml : int32 list;
  meoekcpafch : int32 list;
  pncgddoigad : lafgnipaikl option;
  bbanknacajb : mpjedkpbkbi option;
}

type ffadoeiaejd = {
  hifokbodgbe : cbgphimaond list;
  fhpollcfknc : int32;
}

type mlgkofmempm = {
  nbbglnjencp : jjablbdmgfj option;
  pncgddoigad : lafgnipaikl option;
  meoekcpafch : int32 list;
  bbanknacajb : mpjedkpbkbi option;
  pcpganjlmml : int32 list;
  gjbcapfdgka : dbecpakjhjj option;
}

type kgcppamgheh = {
  kahhjlklcjl : int32;
  fpjdkccalmk : int32;
  hdnieedkagk : bool;
  akigkkfhhei : int32;
  kbofiolbnan : int32;
  pogejanpebj : eijagapkfad option;
  fhpollcfknc : int32;
  bjhddalojnh : int32;
  cblhpijhdge : int32;
  lpgaoolbbfm : int32;
  finbdgjedjo : dkmldddplbi option;
  ccfbdacgomf : item_list option;
  cgcgiimcaaa : lineup_info option;
  emkjkjbnelj : pkkjdbmkgck;
  fealelmejhl : int32 list;
  ilfkfbfheea : int32;
  pmoenkofnla : hpphifdfjjj option;
  khbgofeemkc : int32;
  fpgaklkbimb : int32;
}

type lepofdcgpgo = {
  hdkkdjobple : fffkbmhfeed list;
  moegphddhbf : int32;
}

type nmkclmlbhgc = {
  khbgofeemkc : int32;
  ibcbbnibjai : int32;
}

type ichpoajgklm = {
  dajmkddckgh : int32;
  ppahlalicma : int32;
}

type cdhoocpacib = unit

type gmakianogec = {
  mmppaiggmon : keljbjcgfja option;
  jpaolljmggn : jcldbblbapn option;
  fecdamigijp : mlgkofmempm option;
  retcode : int32;
  iegpchobmgo : kgcppamgheh option;
  gngfcddjjbi : ffadoeiaejd option;
}

type fjkdmgaifpn = {
  mnnlebgmeee : int32;
  pbonhgdihdk : int32;
}

type goablpdaaph = {
  retcode : int32;
  jpaolljmggn : jcldbblbapn option;
  akfdaaaiich : hefgcbjdeem option;
  gngfcddjjbi : ffadoeiaejd option;
  pbonhgdihdk : int32;
}

type obhcibfiedf = {
  id : int32;
}

type lhhphednkmj = {
  akfdaaaiich : hefgcbjdeem option;
  gngfcddjjbi : ffadoeiaejd option;
  jpaolljmggn : jcldbblbapn option;
  retcode : int32;
  id : int32;
}

type ijocfggamla = unit

type klajnbalbkc = {
  kjicoehehhk : lhakogbpaen option;
  fecdamigijp : mlgkofmempm option;
  mmppaiggmon : keljbjcgfja option;
  akfdaaaiich : hefgcbjdeem option;
  retcode : int32;
}

type jmohaodeehg = unit

type hfcohkmgeml = {
  iegpchobmgo : kgcppamgheh option;
  kjicoehehhk : lhakogbpaen option;
  retcode : int32;
  mmppaiggmon : keljbjcgfja option;
  fecdamigijp : mlgkofmempm option;
  akfdaaaiich : hefgcbjdeem option;
}

type ckheiddckpi = {
  eabjmdoajdk : int32 list;
  bajeglndfpe : int32;
  base_avatar_id_list : int32 list;
  ddkgbmlkdkk : int32;
  okhflbihfhm : int32 list;
  oocjacfoofn : int32 list;
  id : int32;
}

type pljckbilfkd = {
  jpaolljmggn : jcldbblbapn option;
  akfdaaaiich : hefgcbjdeem option;
  retcode : int32;
  scene : scene_info option;
  lineup : lineup_info option;
  nimbhcolfld : lepofdcgpgo option;
  gngfcddjjbi : ffadoeiaejd option;
}

type pinamnlfehm = unit

type ancdaaalmie = {
  jpaolljmggn : lafgnipaikl option;
  retcode : int32;
}

type gjpomjhoidj = {
  jpaolljmggn : gnhfgpglbae option;
}

type ekocemphhkp = {
  mnnlebgmeee : int32;
  pbonhgdihdk : int32;
}

type cfmifanddad = {
  pdpfcfglgco : item_list option;
}

type rogue_sync_context_board_event = {
  modifier_effect_type : int32;
  board_event_id : int32;
}

type kiadjegoijf = {
  bpiefglcbmf : cfmifanddad option;
  gejnmghhlln : rogue_sync_context_board_event option;
}

type dpfekedneha = {
  mnnlebgmeee : int32;
  pbonhgdihdk : int32;
  pnchhcaekef : kiadjegoijf option;
  retcode : int32;
}

type hbigniokkbd = unit

type ehnicpcloei = {
  retcode : int32;
  jpaolljmggn : nidknnfjgmp option;
}

type jffoofblfgc = {
  idllpehphcb : int32;
}

type efhfafjmnid = {
  idllpehphcb : int32;
  retcode : int32;
  lddenbcdjcm : memfcodlioa option;
}

type hfemgjanplj = {
  fealelmejhl : int32 list;
  lickecpakcj : bincokigfgm option;
  kahhjlklcjl : int32;
  iegpchobmgo : kgcppamgheh option;
  kdkdheomlmo : int32;
}

type ikkaedikpbe = unit

type mbbeondnfcn = {
  pkkfndimmio : int32;
  lohpklihemj : item_cost_data option;
}

type ddjfkekakdb = {
  lgbagcehkme : mbbeondnfcn list;
}

type blpodikpfic = {
  retcode : int32;
  jkdkdpoblli : ddjfkekakdb option;
}

type bjgiingohfc = {
  paofpgekpfe : int32;
}

type nidoadddcnf = {
  retcode : int32;
  boeaanepgoc : bool;
  amikofgncbo : mnicidbdjfi option;
  jkdkdpoblli : ddjfkekakdb option;
}

type lkonjahngcd = {
  base_avatar_id_list : int32 list;
  prop_entity_id : int32;
}

type pabnmaidjgp = {
  base_avatar_id_list : int32 list;
  retcode : int32;
  nnibggkcbdj : ccohodejlfe option;
}

type dieombfmkal = {
  base_avatar_id_list : int32 list;
  idcigdfjabi : int32;
}

type epkaofjiehg = {
  retcode : int32;
  boijkbofiid : micfnaphmnb option;
  base_avatar_id_list : int32 list;
}

type pihfnpbmhpi = {
  boijkbofiid : micfnaphmnb option;
}

type molameggbnh = {
  ocjhnoaacgc : glbffhmcbkd option;
}

type hookmgahiji = {
  emmkiajfeeh : jhogcidfaoc option;
}

type pcbionfiecl = {
  mgdnainpahe : mmfnjjmglfd;
  mknhgcengfk : kebkmnaehol;
}

type pkbldbjahoj = {
  miheclofkjj : int32;
  lahdpgmdloa : int32 list;
}

type nkgplpehibh = {
  fkomandpfne : fdkhifelmcd option;
}

type aengjlbaelj = {
  bajeglndfpe : int32;
  onlljjegjdc : int32;
}

type ikehgclkdnj = {
  gcgeikpacmj : int32;
}

type flofloehlha = unit

type chess_rogue_skip_teaching_level_sc_rsp = {
  retcode : int32;
  skip_reward_list : item_list option;
}

type iegdfbolnpn = {
  pcpganjlmml : int32 list;
}

type kpfdplfbohc = {
  prop_entity_id : int32;
}

type fagoefkbbcl = {
  gngfcddjjbi : ffadoeiaejd option;
  kbneaoehnob : jcldbblbapn option;
  akfdaaaiich : hefgcbjdeem option;
  nimbhcolfld : lepofdcgpgo option;
  retcode : int32;
}

type ebkgloopkbg = {
  aoecepofobe : int32;
}

type onmlnleopmo = {
  emmkiajfeeh : jhogcidfaoc option;
  retcode : int32;
}

type chhnekmendf = {
  aoecepofobe : int32;
}

type fdieigbnhnc = {
  retcode : int32;
  emmkiajfeeh : jhogcidfaoc option;
}

type leklclkagec = {
  aoecepofobe : int32;
  fnhpplpmjcn : int32;
}

type djopeekdjlo = {
  emmkiajfeeh : jhogcidfaoc option;
  iphdoglidch : int32;
  fnhpplpmjcn : int32;
  retcode : int32;
}

type almpmbojjki = unit

type ghkdffbobdn = {
  ehdpkgafikp : item_list option;
  emmkiajfeeh : jhogcidfaoc option;
  retcode : int32;
}

type lgdnbmieblp = unit

type pgolkgmjajg = {
  jpaolljmggn : jcldbblbapn option;
  gngfcddjjbi : ffadoeiaejd option;
  iegpchobmgo : kgcppamgheh option;
  akfdaaaiich : hefgcbjdeem option;
  retcode : int32;
  lickecpakcj : bincokigfgm option;
  kjicoehehhk : lhakogbpaen option;
  fecdamigijp : mlgkofmempm option;
  mmppaiggmon : keljbjcgfja option;
}

type iiaonghgoeo = {
  lickecpakcj : bincokigfgm option;
}

type bmpogaffecc = {
  jdhhhgeinmj : int32;
  mooblpaanag : int32;
  jhbiihbamfp : fdkhifelmcd option;
}

type fmmcjlgdhoc = {
  hmkjakicjka : idlkgpjlfhc;
  mgdnainpahe : alapdfpdlno;
  miheclofkjj : int32;
  hdkkdjobple : fffkbmhfeed list;
}

type ibibbeddebh = {
  gjbdmneacbj : int32;
  fmjcephcaka : int32;
}

type ndlofgjnkee = unit

type ehndihmpnan = {
  ilfngpkdijj : nmkclmlbhgc list;
  retcode : int32;
  eimobfbmipk : ichpoajgklm list;
}

type ajpjjijdnbp = {
  nbgahcjbbao : int32;
  cckegompfdi : int32;
  pdklekppbkf : int32;
  dajmkddckgh : int32;
}

type npdkkfojanm = {
  pdklekppbkf : int32;
  nbgahcjbbao : int32;
  cckegompfdi : int32;
  dajmkddckgh : int32;
  retcode : int32;
}

type icleefeiefg = {
  nbgahcjbbao : int32;
  pdklekppbkf : int32;
  dajmkddckgh : int32;
}

type nkhambafchc = {
  nbgahcjbbao : int32;
  khbgofeemkc : int32;
  dajmkddckgh : int32;
  retcode : int32;
  pdklekppbkf : int32;
}

type kagcmpmikjb = {
  palokcoicgp : int32;
}

type mggndkkjmla = unit

type ajkfhpgmhda = {
  akfdaaaiich : hefgcbjdeem option;
  retcode : int32;
}

type elcidaalfbo = {
  hgfnojflbcl : int32;
}

type ddofecncbfo = {
  retcode : int32;
  lpflcicnioa : (int32 * int32) list;
  hgfnojflbcl : int32;
}

type eanjmiidoga = {
  ibcbbnibjai : int32;
  khbgofeemkc : int32;
}

type coemajoahgi = {
  ehkdpkipimp : jkggceplagl option;
}

type dhlldhikfpo = {
  khbgofeemkc : int32;
  status : emeefgmahof;
}

type aegpheebldn = {
  pdklekppbkf : int32;
}

type fjbpionpapm = unit

type ldckdflfhpa = {
  retcode : int32;
  eimobfbmipk : aegpheebldn list;
  ilfngpkdijj : dhlldhikfpo list;
}

type ifnibapmpae = {
  pdklekppbkf : int32;
  cckegompfdi : int32;
  nbgahcjbbao : int32;
}

type fgbhelkjiab = {
  cckegompfdi : int32;
  pdklekppbkf : int32;
  retcode : int32;
  nbgahcjbbao : int32;
}

type dpglhbhphjh = {
  nbgahcjbbao : int32;
  pdklekppbkf : int32;
}

type fenoahlblkf = {
  pdklekppbkf : int32;
  retcode : int32;
  nbgahcjbbao : int32;
}

type dnfopjcoagg = {
  pdklekppbkf : int32;
}

type faflfkhkkik = {
  ilfngpkdijj : dhlldhikfpo list;
}

type lndljfdkjag = {
  nbbglnjencp : dcbalomaani option;
}

type ndghlaenmgh = {
  nbbglnjencp : dcbalomaani option;
  retcode : int32;
}

type ldpnmbfakgo = {
  najieibfdnb : jjablbdmgfj option;
}

type depkckidjjj = {
  jcjnhohkpan : int32;
}

type nokgciolbop = unit

type aebddiinfcf = {
  bbanknacajb : lljpmigaffg option;
  retcode : int32;
  mdnnnihndjk : int32;
}

type hlgbnfinpel = {
  hehehnicpjn : int32;
}

type gliplffjdbn = {
  mdnnnihndjk : int32;
  retcode : int32;
  bbanknacajb : lljpmigaffg option;
}

type pheokcclifc =
  | Cmd_clock_park_type_none 
  | Cmd_clock_park_handle_wait_operation_sc_rsp 
  | Cmd_clock_park_quit_script_cs_req 
  | Cmd_clock_park_quit_script_sc_rsp 
  | Cmd_clock_park_start_script_cs_req 
  | Cmd_clock_park_get_ongoing_script_info_cs_req 
  | Cmd_clock_park_get_info_sc_rsp 
  | Cmd_clock_park_unlock_talent_sc_rsp 
  | Cmd_clock_park_finish_script_sc_notify 
  | Cmd_clock_park_battle_end_sc_notify 
  | Cmd_clock_park_get_info_cs_req 
  | Cmd_clock_park_use_buff_sc_rsp 
  | Cmd_clock_park_handle_wait_operation_cs_req 
  | Cmd_clock_park_start_script_sc_rsp 
  | Cmd_clock_park_get_ongoing_script_info_sc_rsp 
  | Cmd_clock_park_unlock_talent_cs_req 
  | Cmd_clock_park_use_buff_cs_req 

type jfenpgffadc =
  | Clock_park_play_none 
  | Clock_park_play_normal_death 
  | Clock_park_play_normal_pass 
  | Clock_park_play_finish_script 

type jpcjpojlbff = unit

type lflcalafnbo = {
  ogkiomjegel : int32;
  kadnckpogfc : int32 list;
}

type fafhmldeiem = {
  progress : int32;
  retcode : int32;
  gegdnnbdlhe : int32;
  gndjgaoeccp : int32;
  bekholgcbpf : lflcalafnbo list;
  kdfdefeppnh : int32 list;
}

type lalaekmflhg = {
  hehehnicpjn : int32;
}

type efoabakdjig = {
  retcode : int32;
  hehehnicpjn : int32;
}

type jpaeciapkbc = {
  ogkiomjegel : int32;
  panfmkbdjnp : int32 list;
}

type ocencfaabof = {
  ogkiomjegel : int32;
  retcode : int32;
}

type dlfokjajmmp = unit

type pkbmbpagojn = unit

type cokgknggkaa = {
  jmfddoomihg : int32;
  pkeohpicjkc : int32;
  ihchbmafcen : int32 list;
}

type kpemelkknjb = {
  ihchbmafcen : int32 list;
  phklikjmgkn : cokgknggkaa list;
}

type lpcmempnhjk = {
  gbbbdblomio : kpemelkknjb option;
}

type golmjbpcaga = {
  gbbbdblomio : kpemelkknjb option;
}

type jjoghfefnmh = {
  gbbbdblomio : kpemelkknjb option;
}

type mefjdljoeaf = {
  gbbbdblomio : kpemelkknjb option;
  ohmaodidhnl : int32;
  pgbbcblgkkh : int32;
}

type hmiiahhlhco = {
  gbbbdblomio : kpemelkknjb option;
}

type pjbmmmepaci = {
  fbmbjgbkokp : bool;
}

type godnbimdidi = {
  edpdfcplkpa : int32;
  ilhjcnegkjf : unit;
  bkfakhgfilo : lpcmempnhjk option;
  pepfpijodhi : golmjbpcaga option;
  bfbjbaghama : jjoghfefnmh option;
  emmenkcdomi : mefjdljoeaf option;
  mdimhompfcm : hmiiahhlhco option;
  jghficgepaa : pjbmmmepaci option;
  klkhknehfbg : bool;
}

type blmojdpmnjf = {
  gaganbkanln : int32;
  fciejeohcja : int32;
  pbndpcofgla : int32;
}

type lladomjnlko = {
  pkkfndimmio : int32;
  ijpcadfeknn : int32;
  unique_id : int64;
}

type logafbjdpkc = {
  buff_list : lladomjnlko list;
}

type bpmoddlbhga = {
  jlgjdhoibma : godnbimdidi option;
  pogejanpebj : logafbjdpkc option;
  bpnhlfahnkm : int32;
  elnofkbfhea : string;
  cdaemdonfaj : int32;
  mhhndeiccmp : int32;
  pmgcchiledo : int32 list;
  ogkiomjegel : int32;
  hnloeinfmcg : blmojdpmnjf option;
  boibnciibil : int32;
  cpkngiamnli : int32;
  retcode : int32;
}

type hjnapobgchd = unit

type giapdiikfmk = {
  gbbbdblomio : kpemelkknjb option;
}

type jlghaphnkch = {
  mkdneojkaal : int32;
  mmnebfbnoni : bool;
}

type miepedklkmi = {
  avatar_id_list : int32 list;
}

type dnbdlbcjbgg = {
  ohmaodidhnl : int32;
  gpanoppmekp : bool;
}

type mpfbakaodom = {
  mkdneojkaal : int32;
  mmnebfbnoni : bool;
}

type aifdfhgdmdk = unit

type kcgbmdfclno = {
  ogkiomjegel : int32;
  edpdfcplkpa : int32;
  dejnhinclci : unit;
  eoecodhkjah : giapdiikfmk option;
  gdgfpnoeajd : jlghaphnkch option;
  emhomnipcon : miepedklkmi option;
  lgkmmlmpdom : dnbdlbcjbgg option;
  hnhkbenjmmb : mpfbakaodom option;
  enofefmhaca : unit;
  cdaemdonfaj : int32;
}

type aaklaachmin = {
  reward : item_list option;
  acjjpgnpdii : bool;
  ogkiomjegel : int32;
  progress : int32;
  mhhndeiccmp : int32;
  jihjhonolea : bool;
  cpkngiamnli : int32;
}

type gpgmjingckf = {
  edpdfcplkpa : int32;
  jecdljepbci : int32;
  nhbkmmbehka : jfenpgffadc;
  fndhpfbmefj : int32;
  ibllilenejp : scene_battle_info option;
  retcode : int32;
}

type edhecinachi = {
  ejkepfpphed : bool;
  ogkiomjegel : int32;
}

type kklhdojledj = {
  retcode : int32;
}

type odojpidlebk = {
  edpdfcplkpa : int32;
  retcode : int32;
}

type ebipbjdklnc = {
  ogkiomjegel : int32;
  edpdfcplkpa : int32;
  unique_id : int64;
}

type lhpnedjanoe = {
  edpdfcplkpa : int32;
  retcode : int32;
  ogkiomjegel : int32;
  pogejanpebj : logafbjdpkc option;
  gbbbdblomio : kpemelkknjb option;
  hnloeinfmcg : blmojdpmnjf option;
}

type opdhfiokgml = {
  mjhepdejndc : aaklaachmin option;
}

type jnmfgfjpeim =
  | Message_section_none 
  | Message_section_doing 
  | Message_section_finish 
  | Message_section_frozen 

type pbcofiploko =
  | Message_group_none 
  | Message_group_doing 
  | Message_group_finish 
  | Message_group_frozen 

type okfachfdjei =
  | Battle_record_none 
  | Battle_record_challenge 
  | Battle_record_rogue 

type jnmjmkmbnof = {
  olfhccbiidg : int32;
  hgjolgkaofj : int32;
}

type golpjolbjjh = {
  exp : int32;
  level : int32;
  hechfpdiado : int32;
  rank : int32;
  promotion : int32;
}

type bmmefhpfkof = {
  level : int32;
  main_affix_id : int32;
  sub_affix_list : relic_affix list;
  exp : int32;
  hechfpdiado : int32;
}

type echcjdnihko = {
  lpkpmmpdaho : jnmjmkmbnof option;
  kfnielbllhi : golpjolbjjh option;
  bkpajknnngf : bmmefhpfkof option;
}

type ffjpgmkmopp = {
  pdpfcfglgco : echcjdnihko list;
}

type quaternion = {
  x : float;
  w : float;
  z : float;
  y : float;
}

type flffdckajej = {
  avatar_type : avatar_type;
  apkmboagcmi : int32;
  id : int32;
}

type dahcfllbegc =
  | Content_package_status_none 
  | Content_package_status_init 
  | Content_package_status_doing 
  | Content_package_status_finished 
  | Content_package_status_release 

type canhmpmfmgl =
  | Cmd_content_package_type_none 
  | Cmd_content_package_get_data_sc_rsp 
  | Cmd_content_package_unlock_cs_req 
  | Cmd_content_package_get_data_cs_req 
  | Cmd_content_package_transfer_sc_notify 
  | Cmd_content_package_unlock_sc_rsp 
  | Cmd_content_package_sync_data_sc_notify 

type eljjmdjcfip = unit

type dolnimnfefl = {
  status : dahcfllbegc;
  nfcojigifbb : int32;
}

type nokiblegoej = {
  emgkdgbhaff : int32;
  haeppfknbnm : dolnimnfefl list;
}

type klpphbabnkg = {
  retcode : int32;
  data : nokiblegoej option;
}

type bdlnbolokbg = {
  data : nokiblegoej option;
}

type phndakdnjde = {
  nfcojigifbb : int32;
}

type pllgamkcmjg = {
  nfcojigifbb : int32;
  retcode : int32;
}

type foihggokfbb = unit

type hfdplehgcbo =
  | Cmd_daily_active_type_none 
  | Cmd_take_ap_reward_sc_rsp 
  | Cmd_take_all_ap_reward_cs_req 
  | Cmd_daily_active_info_notify 
  | Cmd_take_all_ap_reward_sc_rsp 
  | Cmd_take_ap_reward_cs_req 
  | Cmd_get_daily_active_info_sc_rsp 
  | Cmd_get_daily_active_info_cs_req 

type icfpaflkela = {
  cabgicnohpe : bool;
  level : int32;
  world_level : int32;
  lbchikhgjeh : int32;
}

type lgdgghnmhfn = {
  level : int32;
}

type iicbhcbpphj = {
  retcode : int32;
  level : int32;
  reward : item_list option;
}

type ngdihfikbgh = unit

type jbjfkaalpjj = {
  lbchikhgjeh : int32;
  gkicdejmadl : icfpaflkela list;
  retcode : int32;
  jojnmdhhbgn : int32 list;
}

type gcgpdfjjnln = {
  gkicdejmadl : icfpaflkela list;
  lbchikhgjeh : int32;
  jojnmdhhbgn : int32 list;
}

type pmnjdlbffep = unit

type iobaelpjman = {
  reward : item_list option;
  eoejiijmano : int32 list;
  retcode : int32;
}

type lgdmdpinecg =
  | Cmd_drink_maker_type_none 
  | Cmd_make_mission_drink_sc_rsp 
  | Cmd_make_mission_drink_cs_req 
  | Cmd_drink_maker_day_end_sc_notify 
  | Cmd_make_drink_cs_req 
  | Cmd_get_drink_maker_data_cs_req 
  | Cmd_end_drink_maker_sequence_sc_rsp 
  | Cmd_make_drink_sc_rsp 
  | Cmd_drink_maker_challenge_cs_req 
  | Cmd_drink_maker_update_tips_notify 
  | Cmd_get_drink_maker_data_sc_rsp 
  | Cmd_end_drink_maker_sequence_cs_req 
  | Cmd_drink_maker_challenge_sc_rsp 

type drink_maker_guest = {
  faith : int32;
  unlocked_favor_tag_list : int32 list;
  guest_id : int32;
}

type jiohpedmpgh = {
  oppccjnkkol : int32;
  fjaipfboaco : int32;
  dfolakpjbng : int32;
  imfflnefonh : int32 list;
  dlboofmcbci : int32;
}

type cbojkhimobg = {
  pjnlecpgpjn : int32;
  boeaanepgoc : bool;
}

type bicijfapjfd = unit

type kkgmfclponb = {
  fkekjbialhi : int32;
  exp : int32;
  lcbphjfming : jiohpedmpgh option;
  opekgfgamcn : int32;
  kjgjcgihamm : int32 list;
  lpdoanmocje : int32;
  level : int32;
  jlcgnooajli : drink_maker_guest list;
  retcode : int32;
  apnalmnfjed : int32;
}

type pgogcdpljoc = {
  lpdoanmocje : int32;
  okdlpmffmpd : jiohpedmpgh option;
}

type make_drink_sc_rsp = {
  next_chat_id : int32;
  is_succ : bool;
  retcode : int32;
}

type bppikoolpik = unit

type end_drink_maker_sequence_sc_rsp = {
  guest : drink_maker_guest option;
  next_sequence_id : int32;
  request_list : cbojkhimobg list;
  retcode : int32;
  exp : int32;
  level : int32;
  tips : int32;
  reward : item_list option;
}

type oglifdlpdgh = {
  chbdfdolhoc : bool;
  okdlpmffmpd : jiohpedmpgh option;
  pjnlecpgpjn : int32;
}

type make_mission_drink_sc_rsp = {
  custom_drink : jiohpedmpgh option;
  retcode : int32;
  is_succ : bool;
  is_save : bool;
}

type mfflmglefbc = {
  bfcfeikpjin : int32;
}

type cckofijijcb = {
  dcpoeimegli : int32;
  okdlpmffmpd : jiohpedmpgh option;
}

type cedfilghpcm = {
  dcpoeimegli : int32;
  boeaanepgoc : bool;
  reward : item_list option;
  retcode : int32;
}

type ploaocedhcc = {
  apnalmnfjed : int32;
}

type glhjehobkjb =
  | Cmd_evolve_build_none 
  | Cmd_evolve_build_shop_ability_up_sc_rsp 
  | Cmd_evolve_build_shop_ability_up_cs_req 
  | Cmd_evolve_build_coin_notify 
  | Cmd_evolve_build_leave_sc_rsp 
  | Cmd_evolve_build_start_stage_cs_req 
  | Cmd_evolve_build_unlock_info_notify 
  | Cmd_evolve_build_start_level_sc_rsp 
  | Cmd_evolve_build_re_random_stage_cs_req 
  | Cmd_evolve_build_shop_ability_reset_cs_req 
  | Cmd_evolve_build_leave_cs_req 
  | Cmd_evolve_build_take_exp_reward_cs_req 
  | Cmd_evolve_build_query_info_cs_req 
  | Cmd_evolve_build_re_random_stage_sc_rsp 
  | Cmd_evolve_build_take_exp_reward_sc_rsp 
  | Cmd_evolve_build_shop_ability_down_sc_rsp 
  | Cmd_evolve_build_start_level_cs_req 
  | Cmd_evolve_build_finish_sc_notify 
  | Cmd_evolve_build_start_stage_sc_rsp 
  | Cmd_evolve_build_giveup_cs_req 
  | Cmd_evolve_build_query_info_sc_rsp 
  | Cmd_evolve_build_giveup_sc_rsp 
  | Cmd_evolve_build_shop_ability_down_cs_req 
  | Cmd_evolve_build_shop_ability_reset_sc_rsp 

type lldgfmckmof =
  | Evolve_period_none 
  | Evolve_period_first 
  | Evolve_period_second 
  | Evolve_period_third 
  | Evolve_period_extra 

type alcgocanpjh =
  | Evolve_battle_result_none 
  | Evolve_battle_result_win 
  | Evolve_battle_result_all_avatar_dead 
  | Evolve_battle_result_no_dead_line 
  | Evolve_battle_result_quit 

type evolve_build_avatar = {
  avatar_type : avatar_type;
  damage : float;
  avatar_id : int32;
}

type evolve_build_level_info = {
  battle_target_list : battle_target list;
  round_cnt : int32;
  period_id_list : int32 list;
  avatar_list : evolve_build_avatar list;
  cur_game_exp : int32;
  battle_info : evolve_build_battle_info option;
}

type iommdlefkle = {
  lcmkbhbmdob : int32;
  mmkkliclehe : int32;
  gakmanenkmh : int32;
}

type hggmojlcdff = {
  level : int32;
  emgbcbhhnnh : int32;
}

type ndablbkbief = {
  lcmkbhbmdob : int32;
  lilifielcec : bool;
  ekfjbcahhnf : bool;
  kcafipgelge : int32 list;
}

type ealaijgkglo = {
  dbgaojmndmc : int32;
  lcpjnpofamc : ndablbkbief list;
  nhfefdfeeee : iommdlefkle list;
  lpfgjabpheh : int32 list;
  cnlcfhiilig : hggmojlcdff list;
  nmnkfefpnbi : bool;
  looknnadffi : bool;
  lhhpfphakkf : int32;
  exp : int32;
  egkfpbokkfb : int32 list;
}

type hbgncknlmck = unit

type pmoicnodokk = {
  lickecpakcj : evolve_build_level_info option;
  retcode : int32;
  gngfcddjjbi : ealaijgkglo option;
}

type ilbbkldbfpf = {
  pmhjcfngckn : jjnjilkjjaf option;
  avatar_list : evolve_build_avatar list;
  lcmkbhbmdob : int32;
}

type gageijjpjpi = {
  lickecpakcj : evolve_build_level_info option;
  retcode : int32;
  cfehgidmfln : scene_battle_info option;
}

type lmjpbnbkjmj = {
  lcmkbhbmdob : int32;
}

type kljhelgcfkg = {
  cfehgidmfln : scene_battle_info option;
  retcode : int32;
  lickecpakcj : evolve_build_level_info option;
}

type hedeldocgmj = unit

type fddgkmbaojb = {
  retcode : int32;
  lickecpakcj : evolve_build_level_info option;
}

type diglamopjaj = unit

type nfjggilinle = {
  retcode : int32;
  lickecpakcj : evolve_build_level_info option;
}

type evolve_build_finish_sc_notify = {
  battle_result_type : alcgocanpjh;
  coin : int32;
  level_info : evolve_build_level_info option;
  level_id : int32;
  score : int32;
  wave : int32;
  cur_period_type : int32;
  exp : int32;
  is_lose : bool;
}

type khkgdappaba = {
  lcmkbhbmdob : int32;
}

type ajejhajoaed = {
  dofaojjibho : ndablbkbief option;
  retcode : int32;
}

type ibmcoganhdo = {
  level : int32;
  emgbcbhhnnh : int32;
}

type ncimlbjjfma = {
  level : int32;
  retcode : int32;
  emgbcbhhnnh : int32;
}

type ljeglglledc = {
  emgbcbhhnnh : int32;
  level : int32;
}

type pijcaekfcmm = {
  emgbcbhhnnh : int32;
  retcode : int32;
  level : int32;
}

type ghaikcokfdm = unit

type okijlmlkdej = {
  retcode : int32;
  reward : item_list option;
  lhhpfphakkf : int32;
}

type pklkahjeako = unit

type hemcijemcam = {
  dbgaojmndmc : int32;
  retcode : int32;
  cnlcfhiilig : hggmojlcdff list;
}

type nikfgadelbi = {
  dbgaojmndmc : int32;
}

type glkeieeanpc = {
  looknnadffi : bool;
  nmnkfefpnbi : bool;
}

type gldaljmhppg =
  | Cmd_expedition_type_none 
  | Cmd_take_expedition_reward_cs_req 
  | Cmd_take_activity_expedition_reward_sc_rsp 
  | Cmd_cancel_activity_expedition_cs_req 
  | Cmd_accept_multiple_expedition_cs_req 
  | Cmd_take_multiple_expedition_reward_sc_rsp 
  | Cmd_accept_activity_expedition_cs_req 
  | Cmd_get_expedition_data_sc_rsp 
  | Cmd_cancel_expedition_cs_req 
  | Cmd_accept_expedition_cs_req 
  | Cmd_accept_expedition_sc_rsp 
  | Cmd_cancel_activity_expedition_sc_rsp 
  | Cmd_take_activity_expedition_reward_cs_req 
  | Cmd_accept_activity_expedition_sc_rsp 
  | Cmd_get_expedition_data_cs_req 
  | Cmd_expedition_data_change_sc_notify 
  | Cmd_accept_multiple_expedition_sc_rsp 
  | Cmd_take_multiple_expedition_reward_cs_req 
  | Cmd_cancel_expedition_sc_rsp 
  | Cmd_take_expedition_reward_sc_rsp 

type bneeceoibjo = {
  id : int32;
  pklpfcaegpk : int32;
  avatar_id_list : int32 list;
  hclhbmghdfi : int64;
}

type mmioacmpkma = {
  avatar_id_list : int32 list;
  hclhbmghdfi : int64;
  id : int32;
  accgikfcocn : int32;
  boijjckjecp : int32;
  bakgnipojdh : int32;
}

type cfdgkgjflln = unit

type ceiomlofmmi = {
  acgclmagmjf : int32;
  retcode : int32;
  lglgoiogekc : mmioacmpkma list;
  llfpgndaaem : bneeceoibjo list;
  gkmmbllhhjc : int32 list;
  dhdakbhkcoe : int32 list;
  hfkegmkakah : int32 list;
}

type akkgnnilafl = {
  ochjpiphefm : bneeceoibjo option;
}

type flccbmnmhfj = {
  ochjpiphefm : bneeceoibjo option;
  retcode : int32;
}

type gekhpfaofka = {
  ikmghkjhncf : bneeceoibjo list;
}

type adncblilpnb = {
  nppdmmdjfoe : bneeceoibjo list;
  retcode : int32;
}

type beamljlopld = {
  hcecpndimnb : int32;
}

type mmdgggchgkm = {
  retcode : int32;
  hcecpndimnb : int32;
}

type ljfajdccblm = {
  hcecpndimnb : int32;
}

type fheopjpopld = {
  hcecpndimnb : int32;
  reward : item_list option;
  retcode : int32;
  jdlekhchhpl : item_list option;
}

type lbdcpnmdkio = {
  mhmiemcbccl : int32 list;
}

type mhbblcflegm = {
  hjblaeagbod : item_list list;
  hgfffpjkodl : item_list list;
  jdlekhchhpl : item_list option;
  retcode : int32;
  clkpoonplnp : int32 list;
  reward : item_list option;
}

type nomgloommie = {
  hfkegmkakah : int32 list;
  gkmmbllhhjc : int32 list;
  acgclmagmjf : int32;
  llfpgndaaem : bneeceoibjo list;
  lglgoiogekc : mmioacmpkma list;
}

type nmieefhdbfn = {
  dkfmmcbfjca : mmioacmpkma option;
}

type jjeebfmobdo = {
  retcode : int32;
  dkfmmcbfjca : mmioacmpkma option;
}

type bpcmgbkmkci = {
  iffgchlchlm : int32;
}

type koepbfdgiap = {
  retcode : int32;
  iffgchlchlm : int32;
}

type gckdmhcokmj = {
  iffgchlchlm : int32;
}

type hkjajbjddaa = {
  lpgaoolbbfm : int32;
  reward : item_list option;
  retcode : int32;
  jdlekhchhpl : item_list option;
  iffgchlchlm : int32;
}

type ddncbdinpeg =
  | Cmd_fantastic_story_activity_type_none 
  | Cmd_enter_fantastic_story_activity_stage_cs_req 
  | Cmd_fantastic_story_activity_battle_end_sc_notify 
  | Cmd_get_fantastic_story_activity_data_cs_req 
  | Cmd_enter_fantastic_story_activity_stage_sc_rsp 
  | Cmd_get_fantastic_story_activity_data_sc_rsp 
  | Cmd_finish_chapter_sc_notify 

type helmlfaekga = {
  avatar_type : avatar_type;
  avatar_id : int32;
}

type oimcalddonh = {
  avatar_list : helmlfaekga list;
  buff_list : int32 list;
}

type agmeeiifjma = {
  jfpjojfjeck : int32 list;
  gfjeahnelpp : int32 list;
  jpgoledkkcl : int32;
  cmoflobaiod : (int32 * oimcalddonh) list;
  jafiagcefhl : int32 list;
  cmmpeimdkdl : (int32 * int32) list;
  ahbbinilgld : int32 list;
}

type beefgailkel = {
  jpgoledkkcl : int32;
}

type kiepldjlmij = {
  fijoabhcpgf : agmeeiifjma option;
  retcode : int32;
}

type kondnnncfcl = {
  fijoabhcpgf : agmeeiifjma option;
}

type pjhhffhpneh = {
  battle_id : int32;
  jpgoledkkcl : int32;
  buff_list : int32 list;
  avatar_list : helmlfaekga list;
}

type mofedkjbcai = {
  retcode : int32;
  ibllilenejp : scene_battle_info option;
  jpgoledkkcl : int32;
  battle_id : int32;
}

type nbogodofokj = {
  jpgoledkkcl : int32;
  ojdjhonlcoc : int32;
  battle_id : int32;
}

type adllodgmipe =
  | Cmd_fever_time_activity_type_none 
  | Cmd_get_fever_time_activity_data_cs_req 
  | Cmd_enter_fever_time_activity_stage_sc_rsp 
  | Cmd_get_fever_time_activity_data_sc_rsp 
  | Cmd_enter_fever_time_activity_stage_cs_req 
  | Cmd_fever_time_activity_battle_end_sc_notify 

type fpofnnofeeh =
  | Fever_time_battle_rank_c 
  | Fever_time_battle_rank_b 
  | Fever_time_battle_rank_a 
  | Fever_time_battle_rank_s 
  | Fever_time_battle_rank_ss 

type dbphicgdjga = {
  jccolmabopj : int32;
  kpiihcgmagg : int32;
  gjmokpigjag : fpofnnofeeh;
}

type acfkhehkkja = unit

type idfkboehdbp = {
  bdegbfalcni : dbphicgdjga list;
  retcode : int32;
}

type eookgadnnmb = {
  jgaaeecdfal : fpofnnofeeh;
  igfhcehhhoi : int32;
  id : int32;
  mphcmmfkpog : int32;
}

type kmkibfaecip = {
  id : int32;
  avatar_list : lmamieaaodh list;
  fndnmbljapc : int32;
  oioglfmcbpe : int32;
}

type lkfcopmhkci = {
  ibllilenejp : scene_battle_info option;
  retcode : int32;
  id : int32;
}

type madlanogbob =
  | Cmd_fight_type_none 
  | Cmd_fight_heart_beat_sc_rsp 
  | Cmd_fight_session_stop_sc_notify 
  | Cmd_fight_enter_cs_req 
  | Cmd_fight_heart_beat_cs_req 
  | Cmd_fight_kick_out_sc_notify 
  | Cmd_fight_enter_sc_rsp 
  | Cmd_fight_leave_sc_notify 

type blpmdeopfmm = {
  jdjmjenhhhl : string;
  dbgjcbcfaec : int32;
  gmcheopahkc : int32;
  khegeddmhme : int32;
  hdnnjibaggl : int64;
  uid : int32;
  hcgjomkbloh : int32;
  pcmajmegbld : int32;
}

type dioeanbidmp = {
  kcicanjloba : bool;
  mciakkehiaa : int64;
  secret_key_seed : int64;
  retcode : int32;
  khegeddmhme : int32;
}

type aabddaeaapg = {
  mkgnjoaekdm : int32;
}

type ikklnkijkho = {
  kick_type : iafdbbcgofo;
}

type jnpmfcmbadi = {
  client_time_ms : int64;
}

type ggnmbncnfmg = {
  server_time_ms : int64;
  client_time_ms : int64;
  retcode : int32;
}

type hhdbjheacpc = {
  nchhhomjbdk : mfoaahgomic option;
}

type jeiklnahdgi =
  | Cmd_fight_activity_type_none 
  | Cmd_enter_fight_activity_stage_cs_req 
  | Cmd_take_fight_activity_reward_sc_rsp 
  | Cmd_get_fight_activity_data_sc_rsp 
  | Cmd_get_fight_activity_data_cs_req 
  | Cmd_fight_activity_data_change_sc_notify 
  | Cmd_enter_fight_activity_stage_sc_rsp 
  | Cmd_take_fight_activity_reward_cs_req 

type fight_activity_group = {
  group_id : int32;
  endless_max_wave : int32;
  passed_max_difficulty_level : int32;
  taken_difficulty_level_reward_list : int32 list;
}

type fdehcoinapm = unit

type hicipecahde = {
  retcode : int32;
  eibgbnaebod : (int32 * int32) list;
  world_level : int32;
  hnhhdaccogm : fight_activity_group list;
  biokakgphop : bool;
}

type oiacopadblk = {
  hnhhdaccogm : fight_activity_group list;
  eibgbnaebod : (int32 * int32) list;
}

type mooihlnlibk = {
  avatar_id : int32;
  avatar_type : avatar_type;
}

type liaagefbjci = {
  group_id : int32;
  neakgefbcdd : mooihlnlibk list;
  avatar_list : int32 list;
  odgoeojelah : int32;
  pdpfcfglgco : int32 list;
}

type mfgbeapdfbh = {
  group_id : int32;
  retcode : int32;
  ibllilenejp : scene_battle_info option;
  odgoeojelah : int32;
}

type pmgpmgiieok = {
  odgoeojelah : int32;
  group_id : int32;
}

type effddphipan = {
  reward : item_list option;
  group_id : int32;
  retcode : int32;
  odgoeojelah : int32;
}

type mhopfddhfom =
  | Cmd_fight_fest_type_none 
  | Cmd_get_fight_fest_data_sc_rsp 
  | Cmd_fight_fest_update_coin_notify 
  | Cmd_fight_fest_score_update_notify 
  | Cmd_start_fight_fest_sc_rsp 
  | Cmd_get_fight_fest_data_cs_req 
  | Cmd_fight_fest_update_challenge_record_notify 
  | Cmd_start_fight_fest_cs_req 
  | Cmd_fight_fest_unlock_skill_notify 

type pakokghoagp =
  | Fight_fest_battle_rank_c 
  | Fight_fest_battle_rank_b 
  | Fight_fest_battle_rank_a 
  | Fight_fest_battle_rank_s 
  | Fight_fest_battle_rank_ss 

type ojikhafakmn =
  | Fight_fest_type_none 
  | Fight_fest_type_main 
  | Fight_fest_type_score 
  | Fight_fest_type_challenge 
  | Fight_fest_type_teach 

type cllckidkjnp = {
  moidpjnooeb : int32;
  jccolmabopj : int32;
  dcpoeimegli : int32;
  gjmokpigjag : pakokghoagp;
}

type clhaiohidij = unit

type cooiplcedfe = {
  retcode : int32;
  dbgaojmndmc : int32;
  cjbdijhedpo : cllckidkjnp list;
  poiemdhbkoj : int32 list;
  lpgaoolbbfm : int32;
}

type afgllplofkl = {
  avatar_type : avatar_type;
  id : int32;
}

type pijkiokgmep = {
  poiemdhbkoj : int32 list;
  id : int32;
  avatar_list : afgllplofkl list;
  fgmdoekgpee : ojikhafakmn;
}

type hpndidajned = {
  fgmdoekgpee : ojikhafakmn;
  retcode : int32;
  id : int32;
  ibllilenejp : scene_battle_info option;
}

type glhifmjnbka = {
  lpgaoolbbfm : int32;
  efadknhaeci : int32;
}

type ajjjfojpcka = {
  dginkacilnf : int32;
}

type hobfkjhmmhp = {
  jccolmabopj : int32;
  jahjmcacppe : pakokghoagp;
  rank : pakokghoagp;
  mphcmmfkpog : int32;
  dcpoeimegli : int32;
}

type egkofpmnofo = {
  dbgaojmndmc : int32;
}

type oicjjpbhahi =
  | Cmd_fight_mathc3_type_none 
  | Cmd_fight_match3_force_update_notify 
  | Cmd_fight_match3_swap_cs_req 
  | Cmd_fight_match3_start_count_down_sc_notify 
  | Cmd_fight_match3_chat_sc_notify 
  | Cmd_fight_match3_data_cs_req 
  | Cmd_fight_match3_chat_cs_req 
  | Cmd_fight_match3_turn_start_sc_notify 
  | Cmd_fight_match3_swap_sc_rsp 
  | Cmd_fight_match3_data_sc_rsp 
  | Cmd_fight_match3_opponent_data_sc_notify 
  | Cmd_fight_match3_turn_end_sc_notify 
  | Cmd_fight_match3_chat_sc_rsp 

type ignpcapkdfc =
  | Match3_state_idle 
  | Match3_state_start 
  | Match3_state_match 
  | Match3_state_game 
  | Match3_state_halftime 
  | Match3_state_over 

type dblancjjchp =
  | Match3_player_state_alive 
  | Match3_player_state_dying 
  | Match3_player_state_dead 
  | Match3_player_state_leave 

type aipongicanm =
  | Event_begin 
  | Event_break 
  | Event_fall 
  | Event_refresh 
  | Event_bird_skill 
  | Event_env 
  | Event_shuffle 
  | Event_settle_tag 

type abmnfjmimho = {
  rank : int32;
  mdnckipflpb : int32;
  jbfkipajfnk : bool;
  state : dblancjjchp;
  lpgaoolbbfm : int32;
  fdomecikbcg : int32;
  oabkcckodej : int32;
  hp : int32;
}

type eapbfaifbaf = {
  lpgaoolbbfm : int32;
  femmkmapjng : int32;
  gfcihemdoga : int32;
  jbehccpnhfh : int32 list;
  jpbipampend : int32;
  gnmmfgoppki : int32;
  ofeiiikacfl : int32;
  ggndffpkohn : int32;
  bnageejckgi : obminlghola option;
  gdkmhgekcen : dblancjjchp;
  anecodblgcb : int32;
}

type kgmgbcpimab = {
  hgjiomhlaoh : abmnfjmimho list;
  ioolphicdme : ignpcapkdfc;
  dhkokjlaakb : int32 list;
  djkomhjmehn : int32;
  ajdemhpcfmo : int32;
  lkgpmmckpbg : int64;
  akondfcfgek : eapbfaifbaf option;
}

type denoijbaaod = {
  mebdjjncnfg : int32;
  bmocnnjijdp : int32;
}

type oponljijhpa = {
  pdamihhlilg : aipongicanm;
  jejijnmpehb : eapbfaifbaf option;
}

type gmljciklojl = {
  hckegfdpdml : int32;
}

type ljnlgoohfil = {
  pcmhnpbecpk : egokacjfaen list;
  data : kgmgbcpimab option;
  retcode : int32;
}

type djdbegggakl = {
  data : kgmgbcpimab option;
}

type iffhpbefklj = {
  djipmgbjenc : kgmgbcpimab option;
}

type egbdfmaknfn = {
  pajkkaimfck : kgmgbcpimab option;
  bhppkjnffbj : kgmgbcpimab option;
}

type gjlkimboidh = {
  cieklmgokpd : int32;
  bbfkjghijja : denoijbaaod option;
  gbglgkegimi : oponljijhpa list;
  anajpndkpme : denoijbaaod option;
}

type bcgbgdmfikl = {
  mnnnjdmpfni : bool;
  retcode : int32;
  pondkmjicai : eapbfaifbaf option;
  cieklmgokpd : int32;
}

type nbmkjlidaci = {
  state : dblancjjchp;
  hp : int32;
  ajdemhpcfmo : int32;
  oabkcckodej : int32;
  lpgaoolbbfm : int32;
}

type bimejcgcjoo = {
  choodflmenc : int32;
}

type hmhegjjneid = {
  choodflmenc : int32;
  retcode : int32;
}

type baebomlpnfe = {
  fbncflddjfe : int32;
  choodflmenc : int32;
}

type eldpaljlpmj = {
  data : kgmgbcpimab option;
}

type kpjdlplhkhp =
  | Cmd_friend_type_none 
  | Cmd_apply_friend_cs_req 
  | Cmd_get_friend_login_info_cs_req 
  | Cmd_get_player_detail_info_sc_rsp 
  | Cmd_search_player_cs_req 
  | Cmd_get_cur_assist_sc_rsp 
  | Cmd_sync_delete_friend_sc_notify 
  | Cmd_delete_blacklist_cs_req 
  | Cmd_get_friend_battle_record_detail_cs_req 
  | Cmd_get_platform_player_info_cs_req 
  | Cmd_get_friend_login_info_sc_rsp 
  | Cmd_new_assist_history_notify 
  | Cmd_set_friend_remark_name_cs_req 
  | Cmd_delete_friend_cs_req 
  | Cmd_get_platform_player_info_sc_rsp 
  | Cmd_search_player_sc_rsp 
  | Cmd_set_assist_sc_rsp 
  | Cmd_get_friend_apply_list_info_sc_rsp 
  | Cmd_take_assist_reward_sc_rsp 
  | Cmd_set_assist_cs_req 
  | Cmd_get_assist_history_cs_req 
  | Cmd_set_friend_remark_name_sc_rsp 
  | Cmd_get_assist_history_sc_rsp 
  | Cmd_delete_friend_sc_rsp 
  | Cmd_get_assist_list_sc_rsp 
  | Cmd_cur_assist_changed_notify 
  | Cmd_take_assist_reward_cs_req 
  | Cmd_get_friend_list_info_sc_rsp 
  | Cmd_get_friend_list_info_cs_req 
  | Cmd_get_friend_assist_list_sc_rsp 
  | Cmd_get_friend_development_info_cs_req 
  | Cmd_sync_handle_friend_sc_notify 
  | Cmd_get_friend_apply_list_info_cs_req 
  | Cmd_get_friend_assist_list_cs_req 
  | Cmd_get_friend_challenge_lineup_cs_req 
  | Cmd_handle_friend_cs_req 
  | Cmd_apply_friend_sc_rsp 
  | Cmd_set_friend_mark_cs_req 
  | Cmd_get_friend_challenge_detail_cs_req 
  | Cmd_get_assist_list_cs_req 
  | Cmd_sync_apply_friend_sc_notify 
  | Cmd_get_friend_development_info_sc_rsp 
  | Cmd_handle_friend_sc_rsp 
  | Cmd_get_friend_challenge_detail_sc_rsp 
  | Cmd_get_player_detail_info_cs_req 
  | Cmd_sync_add_blacklist_sc_notify 
  | Cmd_report_player_sc_rsp 
  | Cmd_add_blacklist_cs_req 
  | Cmd_get_cur_assist_cs_req 
  | Cmd_get_friend_challenge_lineup_sc_rsp 
  | Cmd_get_friend_battle_record_detail_sc_rsp 
  | Cmd_delete_blacklist_sc_rsp 
  | Cmd_get_friend_recommend_list_info_sc_rsp 
  | Cmd_add_blacklist_sc_rsp 
  | Cmd_set_forbid_other_apply_friend_cs_req 
  | Cmd_get_friend_recommend_list_info_cs_req 
  | Cmd_set_forbid_other_apply_friend_sc_rsp 
  | Cmd_set_friend_mark_sc_rsp 
  | Cmd_report_player_cs_req 

type pjgopgmffha =
  | Friend_online_status_offline 
  | Friend_online_status_online 

type mfhcehbfeng =
  | Friend_apply_source_none 
  | Friend_apply_source_search 
  | Friend_apply_source_recommend 
  | Friend_apply_source_assist 
  | Friend_apply_source_recommend_assist 
  | Friend_apply_source_psn_friend 
  | Friend_apply_source_assist_reward 

type assist_simple_info = {
  pos : int32;
  level : int32;
  avatar_id : int32;
  dressed_skin_id : int32;
}

type jdfpbmlnbjp = {
  nknakibilel : int32;
  nncdpbdokbj : int32;
  group_id : int32;
  jfekengnnak : int32;
}

type oikoefdidbh = {
  kdhdjdloanj : int32;
}

type alehlddneko = {
  hdaomndcpma : int32 list;
  kdhdjdloanj : int32;
}

type bacbclhpcng = {
  aiifbempaee : alehlddneko option;
}

type ljpfhbjfjcm = {
  kdnemeljjld : oikoefdidbh option;
  lbjomgooifa : bacbclhpcng option;
}

type cbnkemlblen = {
  gapjajnhglk : okfachfdjei;
  mbomdpgaieo : ljpfhbjfjcm option;
  abefnadegid : jdfpbmlnbjp option;
}

type pgpeepnclnj = {
  alamlcfpglh : int32;
  cpkikinabfj : string;
  ppdkoalbecc : assist_simple_info list;
  meijfajkmmp : string;
  dbgjcbcfaec : platform_type;
  fkgipkjgjob : int64;
  bmfhibobmhp : int32;
  uid : int32;
  pghdpnfjbla : bool;
  nickname : string;
  helfdhoenhb : pjgopgmffha;
  level : int32;
  dmdcpeiefkg : string;
}

type iflncpapggb = {
  hechfpdiado : int32;
  level : int32;
  exp : int32;
  promotion : int32;
  rank : int32;
}

type ngdlamibchp = {
  level : int32;
  sub_affix_list : relic_affix list;
  hechfpdiado : int32;
  fgmdoekgpee : int32;
  exp : int32;
  main_affix_id : int32;
}

type display_avatar_detail_info = {
  dressed_skin_id : int32;
  avatar_id : int32;
  equipment : iflncpapggb option;
  pos : int32;
  exp : int32;
  rank : int32;
  skilltree_list : avatar_skill_tree list;
  level : int32;
  promotion : int32;
  relic_list : ngdlamibchp list;
}

type bnfohmhcfeh = {
  lejlbfifpef : int32;
  japackcehbb : int32;
  apjnodeccnm : int32;
  eedccmgbfah : int32;
  gnnbopjfgma : int32;
}

type hcpeplljigk = {
  kcpbmdfjgge : int32;
  jhgeicgbakc : int32;
  pfcjkljpfid : int32;
  befjfnlleio : int32;
  hciobbpgkbe : bnfohmhcfeh option;
  inmbaeohokj : int32;
  fdncldhjmjf : int32;
  kmkabfpafnk : int32;
  kpglihhnkac : int32;
}

type diifjpbaoob = {
  bkpaceckiia : bool;
  jcnincccakl : bool;
  ggodaiohjif : bool;
  hhcgdeocomi : bool;
  kmjdmefgcck : bool;
}

type mbndajpeago = {
  cjbdijhedpo : jdfpbmlnbjp list;
  mbomdpgaieo : ljpfhbjfjcm option;
}

type pnmjedikenb = {
  nickname : string;
  level : int32;
  bmfhibobmhp : int32;
  dbgjcbcfaec : platform_type;
  world_level : int32;
  elipgnpmlip : diifjpbaoob option;
  mobolckmgai : display_avatar_detail_info list;
  meijfajkmmp : string;
  iiengikgngm : int32;
  uid : int32;
  hlbeedlemca : mbndajpeago option;
  cpkikinabfj : string;
  flenmbplfhl : bool;
  pghdpnfjbla : bool;
  gkhnbcojdge : display_avatar_detail_info list;
  kikoianeodj : int32;
  dmdcpeiefkg : string;
  nodnhhligdj : hcpeplljigk option;
}

type kjckllbmhne = {
  fojelnklcjp : cbnkemlblen option;
  jjgkcejglif : playing_state;
  fbgeifghjde : string;
  fgilieldboi : int64;
  bhfagdddack : bool;
  ndplnghkgbk : pgpeepnclnj option;
}

type pemmdkhpdfp = {
  bnjacmafmid : int64;
  ndplnghkgbk : pgpeepnclnj option;
}

type pihaeebhppc = {
  ndplnghkgbk : pgpeepnclnj option;
  lgibggmcnal : bool;
}

type mejkeeapkfn = {
  ndplnghkgbk : pgpeepnclnj option;
  hiabljmppan : display_avatar_detail_info option;
}

type agnjchncimi = {
  dmdcpeiefkg : string;
  fbgeifghjde : string;
  bmfhibobmhp : int32;
  foiahmcbchb : int32;
  level : int32;
  dbgjcbcfaec : platform_type;
  nickname : string;
  uid : int32;
}

type eijlpffenlk = {
  knbgpmdmbkc : int32;
  ndplnghkgbk : pgpeepnclnj option;
  fbgeifghjde : string;
  bopehbonhll : int32;
  lpgaoolbbfm : int32;
  ifckabbiilb : int32;
  kbognlnlcle : mdhdfopebgl list;
}

type mpdiaaijbhd = {
  group_id : int32;
  jfekengnnak : int32;
  icoibnhjhec : khjddbffahk option;
  ckbeijmmbjp : imiaeepmcje option;
  idcpcalknen : cinndmfnbij option;
}

type kgljkmgbdnk = {
  ppfogiaojdp : int32 list;
  bfkeedlccfk : bool;
  hlmejkcafbp : int64;
  bnhepammdhc : int32;
  gehhogbhomj : bool;
  lnaconbgbdk : int32;
  icplhhghkol : int64;
}

type mhmgdpddade = {
  level : int32;
  id : int32;
  avatar_type : avatar_type;
  slot : int32;
}

type jfbmlneajki = {
  pkkfndimmio : int32;
  level : int32;
}

type mmkjkmlkpmd = {
  avatar_list : mhmgdpddade list;
  pcpkkbfpbeb : int32 list;
  buff_list : jfbmlneajki list;
}

type icajkkidheg = {
  lbbcjjkledl : int32;
  jcjkjhddkcf : int32;
  lpgaoolbbfm : int32;
}

type dpklcgjckmo = {
  mahiocfcikf : int32;
  lifplggephc : float;
  hkpeeaonmgo : icajkkidheg list;
}

type dgolpjpbccp = {
  mhamoedchne : kgljkmgbdnk option;
  mmnebfbnoni : bool;
  cfeaibpkhec : kgljkmgbdnk option;
  lbilkiobkao : bool;
  nodnhhligdj : mmkjkmlkpmd option;
  ggdaffjnmpa : int32;
  dlmhmmgphkm : item_list option;
  jaedphkccgk : int32;
  lkeeonadhee : int32;
  dhopbododmb : item_list option;
  bcjeehihkca : item_list option;
  lpgaoolbbfm : int32;
  cniiijodkjf : int32;
  eebkfnjjooj : dpklcgjckmo option;
  gahcmamleil : int32;
  ehghgnheijn : int32;
  ljfcnfpdmea : ffjpgmkmopp option;
}

type cdahklgefeg = {
  lnjapmhfcck : int32;
  mjhepdejndc : dgolpjpbccp option;
}

type jebbgppcabc = {
  njnkcjmkgkn : bool;
  gmfapmahfme : int32;
  hocpnpbbbeh : int32;
}

type fnpekjdgohi = {
  fnecpidkhjb : int32;
  njnkcjmkgkn : bool;
  ophdaipbocc : int32;
  dkaodoghgcb : int32;
}

type ddpeohmlklk = {
  dgfahpgkgmf : int32;
  lfleifodebe : blhhnmhcodp option;
  fhpollcfknc : int32;
  ljlinldbbob : int32;
  aeheogaoenf : int32;
}

type ebeioekofed = {
  hdjffnlmlig : int32;
  dlookjklpff : int32;
}

type dmgmpocpddc =
  | Rogue_tourn_level_status_none 
  | Rogue_tourn_level_status_processing 
  | Rogue_tourn_level_status_finished 
  | Rogue_tourn_level_status_settled 

type kgcifmhjoag =
  | Rogue_tourn_room_status_none 
  | Rogue_tourn_room_status_inited 
  | Rogue_tourn_room_status_processing 
  | Rogue_tourn_room_status_finish 

type manmbbkbglg = {
  dbphcockkcj : int32;
  status : kgcifmhjoag;
  mfdelanaicp : int32;
  lkegecjeppg : int32;
}

type nioandilghd =
  | Rogue_tourn_layer_status_none 
  | Rogue_tourn_layer_status_processing 
  | Rogue_tourn_layer_status_finish 

type gadcmbokpdi = {
  kemnjbikaod : int32;
  dbjdnolegif : int32;
  bfbahjaloli : manmbbkbglg list;
  kdkdheomlmo : int32;
  status : nioandilghd;
}

type meahibhbfon =
  | Rogue_tourn_settle_reason_none 
  | Rogue_tourn_settle_reason_win 
  | Rogue_tourn_settle_reason_fail 
  | Rogue_tourn_settle_reason_interrupt 

type cabnkomlnjd = {
  status : dmgmpocpddc;
  fogjohmngpc : gadcmbokpdi list;
  chmmbcgmfho : int32;
  mgdnainpahe : meahibhbfon;
}

type gghlaggamjk = {
  ikddpmdgcaj : int32 list;
}

type bfdkodpihgf = {
  iiiohnncjgi : bool;
}

type gaijmpghoii = {
  bgghceflbbi : ebeioekofed option;
  level : cabnkomlnjd option;
  lineup : dmdkacfejli option;
  dbgaojmndmc : cllnjecndkl option;
  hjgoaobfdgi : hhddmdcflml option;
  bcgeihcnbig : gghlaggamjk option;
  bdmoacndcoa : oobhdlegikm option;
  memmgmibhdj : mbokaahegfk option;
  jhjpgbkblag : cgcbkhnbohm option;
  nhollbiknag : bfdkodpihgf option;
}

type hpeecfakjeg = {
  bemhlbcocdg : ddpeohmlklk option;
  gblplbejghd : gaijmpghoii option;
}

type fpfmjggcnld = {
  njnkcjmkgkn : bool;
  kfpjcehiika : int32;
  mekbmaknkhf : int32;
  afokcapjpep : int32;
}

type bninelnejfi = {
  odcloijfnip : jebbgppcabc option;
  ofjdnoboneb : fnpekjdgohi option;
  nnibggkcbdj : lineup_info option;
  niiingfcpol : hpeecfakjeg option;
  dceibjclkbb : fpfmjggcnld option;
}

type emmlcghkhkc = {
  agiiieglegk : int32;
  pdbobmjedbc : bninelnejfi option;
}

type adlmgdkboeo = {
  mgglchabnnh : int32;
  ocboiocjeko : int32;
  ggdaffjnmpa : int32;
}

type aloefgohkle = {
  ggdaffjnmpa : int32;
  nnckjbegijk : int32;
  lndeejkkcjk : int32;
  dlajcfloffl : int32;
}

type ngpbemiajal = {
  nbjmifjbkmg : cdahklgefeg option;
  fbagcbhggge : emmlcghkhkc option;
  kolfbcfamem : adlmgdkboeo option;
  cbkjlnjjbmg : aloefgohkle option;
}

type mllfmkokjfk = {
  ggdaffjnmpa : int32;
}

type nioigppbpeh = {
  ggdaffjnmpa : int32;
  dmacejfjohm : int32;
}

type nikomgcpamg = {
  dcpoeimegli : int32;
}

type nddaafenheh = {
  bmojlopgked : development_type;
  time : int64;
  ceofecgihpd : mllfmkokjfk option;
  jkkhadmdbpn : nikomgcpamg option;
  avatar_id : int32;
  dkgkfeeajpd : int32;
  cpkoeodfpmg : int32;
  lfhojlfbgdi : nioigppbpeh option;
}

type nnpcbhahcmk = unit

type fkpeelodgle = {
  lengogafimb : kjckllbmhne list;
  retcode : int32;
  idfijahanmn : pgpeepnclnj list;
}

type dnpoaimlole = {
  uid : int32;
}

type dghjmjaopjm = {
  retcode : int32;
  bnjanfgfnjh : pnmjedikenb option;
}

type doifbfcpogl = unit

type ndmajbinolo = {
  retcode : int32;
  deiipomgdjf : int32 list;
  aodlekmnldh : pemmdkhpdfp list;
}

type pdongajedee = {
  gnfpnbgacdf : mfhcehbfeng;
  uid : int32;
}

type jhiedmcehho = {
  uid : int32;
  retcode : int32;
}

type clkkkmodmcj = {
  kfapmddjdec : pemmdkhpdfp option;
}

type gohfgmmdkpn = {
  pieecaekfgf : bool;
  uid : int32;
}

type mbnhlhdekjd = {
  retcode : int32;
  pieecaekfgf : bool;
  imlfgeehobj : kjckllbmhne option;
  uid : int32;
}

type gpgbheghmdg = {
  pieecaekfgf : bool;
  uid : int32;
  imlfgeehobj : kjckllbmhne option;
}

type idjkfjeodbh = {
  uid : int32;
  egidfmlgcjo : int32;
}

type cahgejgdeoi = {
  uid : int32;
  retcode : int32;
}

type faecclcogab = {
  uid : int32;
}

type hpipfdbgeii = {
  uid : int32;
}

type ogkjjkbjnfk = {
  retcode : int32;
  black_info : pgpeepnclnj option;
}

type golhljkpnga = {
  uid : int32;
}

type dndjfjinahl = {
  nbaheekiadi : bool;
}

type nlcmgpajimj = {
  giagnhmaocd : pihaeebhppc list;
  retcode : int32;
}

type injlohpekga = {
  fbgeifghjde : string;
  mgdnainpahe : int32;
  uid : int32;
}

type kgceiojjkba = {
  retcode : int32;
  uid : int32;
  fbgeifghjde : string;
}

type clcipohohgg = {
  hpcebekndge : int32;
  hfnnbmdgpld : string;
  uid : int32;
}

type kabkahihoid = {
  retcode : int32;
}

type piejofpnlmi = {
  uid : int32;
}

type iekkoalegef = {
  retcode : int32;
  uid : int32;
}

type pdfhmlndkna = {
  pknbckelhkm : int32 list;
  nbaheekiadi : bool;
}

type acfamcmejbi = {
  aimapkogmab : int32 list;
  retcode : int32;
  bemfclhconk : pgpeepnclnj list;
}

type ijbekhlpglj = {
  nbaheekiadi : bool;
  kboahkmenfc : bool;
}

type cdmnbfnpoci = {
  retcode : int32;
  dhmebnhcebe : mejkeeapkfn list;
}

type dghpjblnheh = {
  avatar_id : int32;
  uid : int32;
}

type kkjeclpipmd = {
  uid : int32;
  retcode : int32;
  avatar_id : int32;
}

type ijcmhjpfbfk = unit

type eiogijifkli = {
  lbmpcolonhb : mejkeeapkfn option;
  retcode : int32;
}

type dgnhfokcmpc = unit

type lbdhkabpkhh = {
  egngmiieand : int32;
  retcode : int32;
  iohhmeeaaoe : int32;
  iolgafdolmj : int32 list;
  bhdidahbfpc : int32;
}

type pkafbnnfkbj = {
  egngmiieand : int32;
}

type nihmjkiclpe = unit

type eicjcjkdcef = {
  retcode : int32;
  clhkfmmlaji : agnjchncimi list;
  reward : item_list option;
}

type inehlccdmab = {
  lbmpcolonhb : mejkeeapkfn option;
}

type aifafmlhjbc = {
  dbgjcbcfaec : platform_type;
  ffhkfkdapln : string list;
}

type ognjcfngimi = {
  giagnhmaocd : pgpeepnclnj list;
  retcode : int32;
}

type mpmgmiipgml = unit

type fhpfifghcjl = {
  llcmgmlcjca : bool;
  degafpjnikk : bool;
  fljpnipdjmh : int32 list;
  mnacbpjeche : int32 list;
  retcode : int32;
}

type mmfihgpblcc = {
  dklbecnllgj : bool;
}

type ghjmjggjcle = {
  dklbecnllgj : bool;
  retcode : int32;
}

type pjmdialakjb = {
  uid : int32;
  ijlbnijghcg : bool;
  mgdnainpahe : int32;
}

type ghdjcmejofl = {
  ijlbnijghcg : bool;
  uid : int32;
  retcode : int32;
}

type eiefajnopee = {
  kaippbfklgo : int32 list;
  mcochdjinng : int32 list;
  bmgnoinbocb : int32;
  hojailmlleb : assist_avatar_type;
  nbaheekiadi : bool;
}

type mpfhhdoanpo = {
  dhmebnhcebe : mejkeeapkfn list;
  bmgnoinbocb : int32;
  retcode : int32;
}

type mldhbildkna = {
  dcpoeimegli : int32;
}

type kebdplkjjeb = {
  retcode : int32;
  cnmpneilgga : bool;
  bdjmhpbiaag : eijlpffenlk list;
}

type eadfmjgdmhi = {
  uid : int32;
  dcpoeimegli : int32;
}

type mnaniimlgjh = {
  iclpomplljg : display_avatar_detail_info list;
  dcpoeimegli : int32;
  uid : int32;
  retcode : int32;
}

type bldpehfcick = {
  uid : int32;
}

type kdgefjmdoii = {
  bjehkpdclfe : ngpbemiajal option;
  fdijjcafkcc : mpdiaaijbhd list;
  uid : int32;
  retcode : int32;
}

type cclmggmiaan = {
  uid : int32;
}

type opdmheamomd = {
  retcode : int32;
  uid : int32;
  ggcjfgepjjd : nddaafenheh list;
}

type ajpcolgfmpe =
  | Cmd_gacha_type_none 
  | Cmd_exchange_gacha_ceiling_cs_req 
  | Cmd_get_gacha_info_cs_req 
  | Cmd_get_gacha_ceiling_sc_rsp 
  | Cmd_do_gacha_sc_rsp 
  | Cmd_do_gacha_cs_req 
  | Cmd_get_gacha_info_sc_rsp 
  | Cmd_exchange_gacha_ceiling_sc_rsp 
  | Cmd_get_gacha_ceiling_cs_req 

type ckjpkncomob = unit

type gacha_ceiling_avatar = {
  repeated_cnt : int32;
  avatar_id : int32;
}

type glmolhnjdpa = {
  avatar_list : gacha_ceiling_avatar list;
  ikfepnpdgdh : bool;
  cehdiclpdmc : int32;
}

type kdfnajlkgnm = {
  iponcaehhgl : int32;
  gmhfmbknian : glmolhnjdpa option;
  ocgpmookjid : int32 list;
  dopfcokpjei : int32;
  begin_time : int64;
  pjlidoghbhb : int32 list;
  ecapcfaefbo : int32;
  diafdnfnbfj : string;
  end_time : int64;
  feigoefidio : string;
}

type fkliongbomo = {
  retcode : int32;
  ohmaodidhnl : int32;
  chmfglghlcf : int32;
  mdnaaembmpd : kdfnajlkgnm list;
  lmbmncbfgpj : int32;
  hgaoeennejc : int32;
}

type dfglnfedeph = {
  oecedagjedd : int32;
  lnillbflgnj : int32;
  ohmaodidhnl : int32;
  dopfcokpjei : int32;
}

type fggllplkaim = {
  kollpgccdil : bool;
  oaobpakmgcg : item_list option;
  cgninlppfle : item option;
  fepjfbdhojc : item_list option;
}

type nglmecbodjd = {
  retcode : int32;
  ialfoddhdkp : int32;
  ecapcfaefbo : int32;
  iponcaehhgl : int32;
  gndidejjmhc : fggllplkaim list;
  oecedagjedd : int32;
  cehdiclpdmc : int32;
  dopfcokpjei : int32;
  hgaoeennejc : int32;
}

type eemcgfnfocn = {
  cfgmbhjglbd : int32;
}

type bjndgooecif = {
  gmhfmbknian : glmolhnjdpa option;
  retcode : int32;
  cfgmbhjglbd : int32;
}

type ecgcblcgmkb = {
  avatar_id : int32;
  cfgmbhjglbd : int32;
}

type nnginbbbpfj = {
  retcode : int32;
  avatar_id : int32;
  gmhfmbknian : glmolhnjdpa option;
  cfgmbhjglbd : int32;
  oaobpakmgcg : item_list option;
}

type njiblanlkod =
  | Cmd_heartdial_type_none 
  | Cmd_heart_dial_script_change_sc_notify 
  | Cmd_change_script_emotion_sc_rsp 
  | Cmd_heart_dial_trace_script_sc_rsp 
  | Cmd_get_heart_dial_info_cs_req 
  | Cmd_get_heart_dial_info_sc_rsp 
  | Cmd_heart_dial_trace_script_cs_req 
  | Cmd_change_script_emotion_cs_req 
  | Cmd_finish_emotion_dialogue_performance_cs_req 
  | Cmd_submit_emotion_item_cs_req 
  | Cmd_submit_emotion_item_sc_rsp 
  | Cmd_finish_emotion_dialogue_performance_sc_rsp 

type hijpilajhcm =
  | Heart_dial_emotion_type_peace 
  | Heart_dial_emotion_type_anger 
  | Heart_dial_emotion_type_happy 
  | Heart_dial_emotion_type_sad 

type mcejjmodajg =
  | Heart_dial_step_type_missing 
  | Heart_dial_step_type_full 
  | Heart_dial_step_type_lock 
  | Heart_dial_step_type_unlock 
  | Heart_dial_step_type_normal 
  | Heart_dial_step_type_control 

type acmdlmdecmj =
  | Heart_dial_unlock_status_lock 
  | Heart_dial_unlock_status_unlock_single 
  | Heart_dial_unlock_status_unlock_all 

type okndmaemman = {
  nhjfhkflonm : bool;
  joeicfcdnem : int32;
}

type ghomiilpjlm = {
  cmmkodhdjga : bool;
  pioeiidnhaa : hijpilajhcm;
  step : mcejjmodajg;
  ogkiomjegel : int32;
  fppllcnicea : bool;
}

type flikgghikfg = {
  ogkiomjegel : int32;
  iakfjjgoehb : int32;
}

type aofkaaiifbh = unit

type cbhapnpjnkb = {
  pbodiibccdh : acmdlmdecmj;
  cpphjpajnol : ghomiilpjlm list;
  dmhfgcnnlnf : flikgghikfg list;
  cakbfkmlddj : okndmaemman list;
  retcode : int32;
}

type bljekckdglc = {
  ipkjompgpok : int32;
  ogkiomjegel : int32;
  cphllgeadmf : hijpilajhcm;
}

type lololekfldd = {
  bfajfamllah : hijpilajhcm;
  ogkiomjegel : int32;
  retcode : int32;
}

type pnomhdddcio = {
  ipkjompgpok : int32;
  ogkiomjegel : int32;
  pdpfcfglgco : item_list option;
}

type jnhkkljllil = {
  retcode : int32;
  ogkiomjegel : int32;
}

type badomabhanf = {
  ogkiomjegel : int32;
  joeicfcdnem : int32;
  ipkjompgpok : int32;
}

type lamebfpllpg = {
  dekonpmjeen : item_list option;
  ogkiomjegel : int32;
  joeicfcdnem : int32;
  retcode : int32;
}

type jdjhfoaokhp = {
  dmhfgcnnlnf : flikgghikfg list;
  pfocfplopkf : okndmaemman list;
  pbodiibccdh : acmdlmdecmj;
  opedeflpfck : ghomiilpjlm list;
}

type ccghcafjcpm = {
  pgccbpjlkmk : flikgghikfg option;
}

type hcachphghki = {
  retcode : int32;
  pgccbpjlkmk : flikgghikfg option;
}

type gkjkmkfnhfp =
  | Cmd_heliobus_type_none 
  | Cmd_heliobus_enter_battle_cs_req 
  | Cmd_heliobus_start_raid_cs_req 
  | Cmd_heliobus_enter_battle_sc_rsp 
  | Cmd_heliobus_sns_comment_sc_rsp 
  | Cmd_heliobus_info_changed_sc_notify 
  | Cmd_heliobus_sns_like_sc_rsp 
  | Cmd_heliobus_unlock_skill_sc_notify 
  | Cmd_heliobus_sns_post_cs_req 
  | Cmd_heliobus_activity_data_sc_rsp 
  | Cmd_heliobus_upgrade_level_cs_req 
  | Cmd_heliobus_sns_like_cs_req 
  | Cmd_heliobus_activity_data_cs_req 
  | Cmd_heliobus_sns_read_cs_req 
  | Cmd_heliobus_sns_update_sc_notify 
  | Cmd_heliobus_sns_read_sc_rsp 
  | Cmd_heliobus_sns_post_sc_rsp 
  | Cmd_heliobus_upgrade_level_sc_rsp 
  | Cmd_heliobus_sns_comment_cs_req 
  | Cmd_heliobus_select_skill_cs_req 
  | Cmd_heliobus_lineup_update_sc_notify 
  | Cmd_heliobus_challenge_update_sc_notify 
  | Cmd_heliobus_start_raid_sc_rsp 
  | Cmd_heliobus_select_skill_sc_rsp 

type ebligdnnpjk = {
  hccebdhpdke : int32 list;
  nppeghdfaen : int32;
}

type aflbhhdjdef = {
  pamafmppefi : int32;
  dcpoeimegli : int32;
  lpgaoadlgnd : bool;
}

type heliobus_challenge_lineup = {
  group_id : int32;
  avatar_id_list : int32 list;
  skill_id : int32;
}

type kgfpidkdljb = unit

type mjpmcapibfn = {
  dgbjoolhhng : mjpmcapibfn list;
  hcpjodhafbn : int32;
  phblfpkjdka : int32;
}

type hncbeeioldh = {
  emhkjbeckic : int32;
  djjmhikpmjl : int32;
  idegcfnalkn : bool;
  fgfcafjgjln : int32;
  fmnilimjdda : mjpmcapibfn list;
  lbobjldondf : int32;
  nneoodacfgl : int32;
  bdoimbnnlnb : bool;
}

type hgnjkalcidb = {
  hhapkchnbea : ebligdnnpjk option;
  retcode : int32;
  djemibiamha : int32;
  ginenhkpkmk : int32;
  level : int32;
  cjbdijhedpo : aflbhhdjdef list;
  jmbmfaglcke : int32;
  giclbghfpjg : heliobus_challenge_lineup list;
  hbnoljogigk : int32;
  nedgdblobgk : hncbeeioldh list;
}

type jhdmapjnpoo = {
  fgfcafjgjln : int32;
}

type ihhcmclehgo = {
  fgfcafjgjln : int32;
  retcode : int32;
}

type ghjfebpdooh = {
  djjmhikpmjl : int32;
  fgfcafjgjln : int32;
  lbobjldondf : int32;
}

type fpilmflopgh = {
  hjcbomofobf : hncbeeioldh option;
  retcode : int32;
}

type gjjhoepllah = {
  fgfcafjgjln : int32;
}

type ifkgomfnmaa = {
  fgfcafjgjln : int32;
  retcode : int32;
  idegcfnalkn : bool;
}

type daignniobkk = {
  limdkgpmgoe : int32;
  fgfcafjgjln : int32;
  hcpjodhafbn : int32;
}

type mipldfahhdi = {
  retcode : int32;
  hjcbomofobf : hncbeeioldh option;
}

type kaiacbkbgjo = {
  hmhmdaggfni : hncbeeioldh list;
}

type kalbhbfbgbi = {
  hmhmdaggfni : hncbeeioldh list;
  hbnoljogigk : int32;
  djemibiamha : int32;
  ginenhkpkmk : int32;
}

type jddfhajhdph = unit

type eknlaglphdi = {
  level : int32;
  retcode : int32;
}

type bfjkhkhilai = {
  hgnfloilneg : int32;
  nppeghdfaen : int32;
}

type pmlbcokemme = {
  ohibnloihci : int32;
  avatar_id_list : int32 list;
  hgnfloilneg : int32;
}

type alepdepldll = {
  ibllilenejp : scene_battle_info option;
  retcode : int32;
  ohibnloihci : int32;
}

type naagikaillg = {
  hgnfloilneg : int32;
}

type mjfmcmdhnkg = {
  retcode : int32;
  hgnfloilneg : int32;
}

type akbbkfokide = {
  ocdbilliofd : aflbhhdjdef option;
}

type ipockoabfmh = {
  lineup : heliobus_challenge_lineup option;
}

type balokbjaphf = {
  hgnfloilneg : int32;
  ikpjplopmjk : int32;
  bnpfaleifaj : int32;
  chbdfdolhoc : bool;
  prop_entity_id : int32;
  avatar_list : int32 list;
}

type dnlbhaceial = {
  akkgoefpgdl : scene_info option;
  lineup : lineup_info option;
  world_level : int32;
  ikpjplopmjk : int32;
}

type lkgnphblpef = {
  scene : dnlbhaceial option;
  retcode : int32;
}

type dobigncaofo =
  | Cmd_item_type_none 
  | Cmd_mark_item_cs_req 
  | Cmd_lock_equipment_sc_rsp 
  | Cmd_compose_selected_relic_sc_rsp 
  | Cmd_cancel_mark_item_notify 
  | Cmd_sync_turn_food_notify 
  | Cmd_compose_limit_num_complete_notify 
  | Cmd_delete_relic_filter_plan_cs_req 
  | Cmd_set_turn_food_switch_cs_req 
  | Cmd_recharge_succ_notify 
  | Cmd_lock_equipment_cs_req 
  | Cmd_compose_item_cs_req 
  | Cmd_use_item_sc_rsp 
  | Cmd_add_relic_filter_plan_sc_rsp 
  | Cmd_get_mark_item_list_sc_rsp 
  | Cmd_relic_recommend_cs_req 
  | Cmd_get_bag_sc_rsp 
  | Cmd_promote_equipment_cs_req 
  | Cmd_destroy_item_sc_rsp 
  | Cmd_rank_up_equipment_sc_rsp 
  | Cmd_use_item_cs_req 
  | Cmd_general_virtual_item_data_notify 
  | Cmd_set_turn_food_switch_sc_rsp 
  | Cmd_add_equipment_sc_notify 
  | Cmd_discard_relic_sc_rsp 
  | Cmd_delete_relic_filter_plan_sc_rsp 
  | Cmd_relic_recommend_sc_rsp 
  | Cmd_compose_limit_num_update_notify 
  | Cmd_modify_relic_filter_plan_cs_req 
  | Cmd_destroy_item_cs_req 
  | Cmd_exp_up_equipment_sc_rsp 
  | Cmd_relic_avatar_recommend_sc_rsp 
  | Cmd_compose_selected_relic_cs_req 
  | Cmd_add_relic_filter_plan_cs_req 
  | Cmd_lock_relic_cs_req 
  | Cmd_exchange_hcoin_sc_rsp 
  | Cmd_sell_item_sc_rsp 
  | Cmd_sell_item_cs_req 
  | Cmd_modify_relic_filter_plan_sc_rsp 
  | Cmd_get_bag_cs_req 
  | Cmd_exp_up_relic_sc_rsp 
  | Cmd_mark_relic_filter_plan_cs_req 
  | Cmd_relic_avatar_recommend_cs_req 
  | Cmd_exchange_hcoin_cs_req 
  | Cmd_get_mark_item_list_cs_req 
  | Cmd_promote_equipment_sc_rsp 
  | Cmd_exp_up_equipment_cs_req 
  | Cmd_get_recyle_time_cs_req 
  | Cmd_discard_relic_cs_req 
  | Cmd_compose_item_sc_rsp 
  | Cmd_mark_item_sc_rsp 
  | Cmd_lock_relic_sc_rsp 
  | Cmd_mark_relic_filter_plan_sc_rsp 
  | Cmd_relic_filter_plan_clear_name_sc_notify 
  | Cmd_rank_up_equipment_cs_req 
  | Cmd_get_relic_filter_plan_cs_req 
  | Cmd_exp_up_relic_cs_req 
  | Cmd_get_recyle_time_sc_rsp 
  | Cmd_get_relic_filter_plan_sc_rsp 

type koedfpccpch =
  | Turn_food_switch_none 
  | Turn_food_switch_attack 
  | Turn_food_switch_define 

type flkcekmkejm = unit

type mdlbakehplp = {
  rank : int32;
  promotion : int32;
  exp : int32;
  unique_id : int32;
  level : int32;
  alelfancgei : int32;
  mkmllbdhmbf : bool;
  hechfpdiado : int32;
}

type lhpihhdiplm = {
  midlnaigncg : bool;
  main_affix_id : int32;
  exp : int32;
  unique_id : int32;
  level : int32;
  hechfpdiado : int32;
  alelfancgei : int32;
  sub_affix_list : relic_affix list;
  mkmllbdhmbf : bool;
}

type aoacdcgcmej = {
  hechfpdiado : int32;
  npcgokkdhdf : int64;
  kagnbjdmamf : int32;
}

type ipcffjhaijg = {
  kagnbjdmamf : int32;
  hechfpdiado : int32;
}

type lglodndhijb = {
  kagnbjdmamf : int32;
  npcgokkdhdf : int64;
  hechfpdiado : int32;
}

type mcapbopbnaj = {
  ikhicomcdhp : int32 list;
  ibigdplhfkc : aoacdcgcmej list;
  deadfemndnk : ipcffjhaijg list;
  iinhlljekcd : pile_item list;
  epbibaobeoj : lglodndhijb list;
  relic_list : lhpihhdiplm list;
  flnjichokac : lglodndhijb list;
  retcode : int32;
  geidcjnjmma : int32;
  ngegmhahglm : int32 list;
  equipment_list : mdlbakehplp list;
  jlkdhmeecjm : koedfpccpch list;
  egmlhakbkmc : aoacdcgcmej list;
  kjibmefiben : int32 list;
}

type hfjepdgbohe = {
  lohpklihemj : item_cost_data option;
  fbieckfjhid : int32;
}

type gdmeoillmgg = {
  retcode : int32;
}

type jeobbmnfndi = {
  jhpabfhpimo : int32 list;
  figgbmnlcdb : bool;
}

type jhnkccepneb = {
  retcode : int32;
}

type kmkdljlllec = {
  apbdbeabddj : int32;
  feonppdpkoj : int32;
  nejlfhfmjgb : int32;
  efjhleknapg : bool;
  kohajfmhiio : avatar_type;
  base_avatar_id : int32;
}

type emhlhjhbmam = {
  feonppdpkoj : int32;
  ngkaoednndn : item_list option;
  ohpbgbelimn : int32;
  nejlfhfmjgb : int32;
  retcode : int32;
  afmgandnccg : int64;
}

type ikilhkgmpgo = {
  lohpklihemj : item_cost_data option;
  fbieckfjhid : int32;
}

type ganlnnedpfp = {
  retcode : int32;
}

type ijaofbkgbfo = {
  lohpklihemj : item_cost_data option;
  fbieckfjhid : int32;
}

type fhoadbjimao = {
  retcode : int32;
  return_item_list : pile_item list;
}

type hmlkkldifnp = {
  gbejhehoojg : item_cost_data option;
  count : int32;
  kcededdikfd : int32;
}

type oniajnkdgah = {
  retcode : int32;
  return_item_list : item_list option;
  count : int32;
  kcededdikfd : int32;
}

type lejkofpfmeg = {
  gbejhehoojg : item_cost_data option;
  dacmhmgikdn : int32;
  kcededdikfd : int32;
  count : int32;
  main_affix_id : int32;
}

type mfacgpoflcm = {
  return_item_list : item_list option;
  retcode : int32;
  kcededdikfd : int32;
}

type noinphijimb = {
  nfjcagcjbib : int32;
  lohpklihemj : item_cost_data option;
}

type ldobfgmocga = {
  return_item_list : pile_item list;
  retcode : int32;
}

type aclpgkbjijb = {
  lkamihdhkbe : bool;
  bkjpbalpell : int32 list;
  figgbmnlcdb : bool;
}

type ifcjmpeohmd = {
  retcode : int32;
}

type pobgcfghpic = {
  bdfbfehlfgf : bool;
  bkjpbalpell : int32 list;
  lkamihdhkbe : bool;
}

type klemlcaknap = {
  retcode : int32;
  bdfbfehlfgf : bool;
}

type pcjhdmjibck = {
  lohpklihemj : item_cost_data option;
  fkodidbfdfn : bool;
}

type lfjfcpdbgkk = {
  return_item_list : item_list option;
  retcode : int32;
}

type recharge_succ_notify = {
  item_list : item_list option;
  product_id : string;
  channel_order_no : string;
  month_card_outdate_time : int64;
}

type cjgmgileblk = {
  kagnbjdmamf : int32;
}

type exchange_hcoin_sc_rsp = {
  num : int32;
  retcode : int32;
}

type cjijjahdjpa = {
  dkgkfeeajpd : int32;
}

type jkokdmdgidk = {
  icopfphppdi : int32 list;
}

type aaimdlacgcn = {
  retcode : int32;
  flnjichokac : lglodndhijb list;
}

type kochkckdbhe = {
  memkmmilpkd : int32;
  bgecmdbfigi : int32;
}

type dbidbcochhl = {
  nehijgifbke : kochkckdbhe list;
}

type eackoplgbme = {
  elnbhiipadp : kochkckdbhe option;
}

type hacbjelpoac = {
  olfhccbiidg : int32;
  elkbpopdpjg : int32;
  hgjolgkaofj : int32;
}

type mnedfmiemjm = {
  elkbpopdpjg : int32;
  retcode : int32;
}

type oocjhkkkoog = unit

type ikhfcbbolnd = {
  gddbahogfki : int32 list;
  retcode : int32;
}

type cnceleggnlo = {
  hgjolgkaofj : int32;
  bplpnnijlji : bool;
}

type efomgnkkdgd = {
  retcode : int32;
  hgjolgkaofj : int32;
  bplpnnijlji : bool;
}

type fnbfccfghfn = {
  hgjolgkaofj : int32;
}

type lhimlhffkmg = {
  kjibmefiben : int32 list;
  jlkdhmeecjm : koedfpccpch list;
}

type gkjmimbbdnl = {
  lcidaenomif : bool;
  dpigkeokfmk : koedfpccpch;
}

type mjbmdpigdlk = {
  lcidaenomif : bool;
  retcode : int32;
  dpigkeokfmk : koedfpccpch;
}

type kikenjaacap = {
  gekinokmmci : pile_item list;
  ncfldodhkod : bool;
}

type njfonlgigpk = {
  kbhcaajjkeh : int32;
  hmofppjjpfn : int32;
  dkgiphjmpih : int32;
}

type penkoafkhkl = {
  ojmhmiobhoi : int32;
  hmofppjjpfn : int32;
}

type hicihjimcmh = {
  avatar_id : int32;
}

type fmeeecoggkf = {
  hdpcekiljkc : bool;
  retcode : int32;
  avatar_id : int32;
  ohdnajnckog : penkoafkhkl list;
  bomphgjmnib : penkoafkhkl list;
  lmogiabffla : njfonlgigpk list;
  moangckpldg : penkoafkhkl list;
  eekmlegahha : njfonlgigpk list;
  noocbpmnmac : penkoafkhkl list;
}

type joegfcinapg = {
  ncplfkbobdj : int32;
}

type glcehkpmbjo = {
  hdpcekiljkc : bool;
  ncplfkbobdj : int32;
  retcode : int32;
  avatar_id_list : int32 list;
}

type relic_filter_plan_icon = {
  is_avatar_icon : bool;
  icon_id : int32;
}

type relic_filter_plan = {
  icon : relic_filter_plan_icon option;
  update_timestamp : int64;
  settings : relic_filter_plan_settings option;
  name : string;
  slot_index : int32;
  is_marked : bool;
}

type fihcjogacni = unit

type get_relic_filter_plan_sc_rsp = {
  retcode : int32;
  relic_filter_plan_list : relic_filter_plan list;
}

type add_relic_filter_plan_cs_req = {
  icon : relic_filter_plan_icon option;
  is_marked : bool;
  settings : relic_filter_plan_settings option;
  name : string;
}

type add_relic_filter_plan_sc_rsp = {
  plan : relic_filter_plan option;
  retcode : int32;
}

type modify_relic_filter_plan_cs_req = {
  slot_index : int32;
  name : string;
  icon : relic_filter_plan_icon option;
  settings : relic_filter_plan_settings option;
}

type modify_relic_filter_plan_sc_rsp = {
  retcode : int32;
  slot_index : int32;
  update_timestamp : int64;
  name : string;
  icon : relic_filter_plan_icon option;
  settings : relic_filter_plan_settings option;
}

type delete_relic_filter_plan_cs_req = {
  is_batch_op : bool;
  slot_index_list : int32 list;
}

type pnldeoafcne = {
  retcode : int32;
  npedodmagkl : int32 list;
}

type mark_relic_filter_plan_cs_req = {
  is_batch_op : bool;
  is_mark : bool;
  slot_index_list : int32 list;
}

type mark_relic_filter_plan_sc_rsp = {
  is_mark : bool;
  slot_index_list : int32 list;
  retcode : int32;
}

type ecjbbepkkmj = {
  afefamkndoo : int32;
}

type dkfoeihhpkf =
  | Cmd_jukebox_type_none 
  | Cmd_play_back_ground_music_cs_req 
  | Cmd_trial_back_ground_music_cs_req 
  | Cmd_get_jukebox_data_sc_rsp 
  | Cmd_unlock_back_ground_music_sc_rsp 
  | Cmd_trial_back_ground_music_sc_rsp 
  | Cmd_play_back_ground_music_sc_rsp 
  | Cmd_get_jukebox_data_cs_req 
  | Cmd_unlock_back_ground_music_cs_req 

type knfclkceeah = {
  id : int32;
  group_id : int32;
  efnegejdilo : bool;
}

type cookpmfnbpj = unit

type jehaofaoeok = {
  jadihfhpmkh : knfclkceeah list;
  hbdienejlfn : int32;
  retcode : int32;
}

type hphkmadefmi = {
  dhppkijmkjg : int32;
}

type glakeaclkli = {
  retcode : int32;
  dhppkijmkjg : int32;
  hbdienejlfn : int32;
}

type egdjkildooa = {
  lejnihkjibm : int32 list;
}

type hpogjbmmnaa = {
  jadihfhpmkh : knfclkceeah list;
  retcode : int32;
  bbjgjddfgdi : int32 list;
}

type dkbnpdmbhoa = {
  aohkoelbjjc : int32;
}

type gfmjolhdmld = {
  retcode : int32;
  aohkoelbjjc : int32;
}

type ajnedhhocjk =
  | Cmd_lineup_type_none 
  | Cmd_set_lineup_name_cs_req 
  | Cmd_quit_lineup_sc_rsp 
  | Cmd_get_cur_lineup_data_sc_rsp 
  | Cmd_get_all_lineup_data_cs_req 
  | Cmd_set_lineup_name_sc_rsp 
  | Cmd_join_lineup_sc_rsp 
  | Cmd_change_lineup_leader_sc_rsp 
  | Cmd_switch_lineup_index_cs_req 
  | Cmd_swap_lineup_cs_req 
  | Cmd_swap_lineup_sc_rsp 
  | Cmd_replace_lineup_sc_rsp 
  | Cmd_get_all_lineup_data_sc_rsp 
  | Cmd_get_lineup_avatar_data_cs_req 
  | Cmd_get_stage_lineup_sc_rsp 
  | Cmd_get_lineup_avatar_data_sc_rsp 
  | Cmd_join_lineup_cs_req 
  | Cmd_get_stage_lineup_cs_req 
  | Cmd_replace_lineup_cs_req 
  | Cmd_sync_lineup_notify 
  | Cmd_get_cur_lineup_data_cs_req 
  | Cmd_switch_lineup_index_sc_rsp 
  | Cmd_extra_lineup_destroy_notify 
  | Cmd_change_lineup_leader_cs_req 
  | Cmd_quit_lineup_cs_req 
  | Cmd_virtual_lineup_destroy_notify 

type lineup_type =
  | Lineup_type_none 
  | Lineup_type_preset 
  | Lineup_type_virtual 
  | Lineup_type_extra 
  | Lineup_type_story_line 

type sync_lineup_reason =
  | Sync_reason_none 
  | Sync_reason_mp_add 
  | Sync_reason_mp_add_prop_hit 
  | Sync_reason_hp_add 
  | Sync_reason_hp_add_prop_hit 

type lbmibllpikl = unit

type gcfbakphcpf = {
  pkmpoapokhl : int32;
  nmedaaeibfk : int32;
}

type knhhjmcbnea = {
  bdgmfbaffnm : gcfbakphcpf list;
  retcode : int32;
}

type get_cur_lineup_data_cs_req = unit

type get_cur_lineup_data_sc_rsp = {
  lineup : lineup_info option;
  retcode : int32;
}

type ojallcafkeo = {
  slot : int32;
  index : int32;
  base_avatar_id : int32;
  is_virtual : bool;
  avatar_type : avatar_type;
  plane_id : int32;
  extra_lineup_type : extra_lineup_type;
}

type ohfahbfdpoj = {
  retcode : int32;
}

type ffglfjgkkep = {
  extra_lineup_type : extra_lineup_type;
  avatar_type : avatar_type;
  base_avatar_id : int32;
  index : int32;
  is_virtual : bool;
  plane_id : int32;
}

type cjeipadcdjl = {
  is_virtual : bool;
  aeoafelaneo : bool;
  base_avatar_id : int32;
  retcode : int32;
  plane_id : int32;
}

type kniinhmfihm = {
  is_virtual : bool;
  bdkilpahpgb : int32;
  extra_lineup_type : extra_lineup_type;
  index : int32;
  plane_id : int32;
  agkkdgnhcbh : int32;
}

type dpjippgdpac = {
  retcode : int32;
}

type sync_lineup_notify = {
  reason_list : sync_lineup_reason list;
  lineup : lineup_info option;
}

type bcmbjlmlbnc = unit

type pkokliocjho = {
  avatar_type : avatar_type;
  hp : int32;
  id : int32;
}

type dfdcahepikp = {
  opimhcppnbc : pkokliocjho list;
  retcode : int32;
}

type lnheeohdggj = {
  slot : int32;
}

type abmheggkjlj = {
  retcode : int32;
  slot : int32;
}

type efpogadjkbf = {
  index : int32;
}

type alpmagelkdp = {
  index : int32;
  retcode : int32;
}

type jmmngdpfccf = {
  name : string;
  index : int32;
}

type empobajddco = {
  retcode : int32;
  name : string;
  index : int32;
}

type jablakijdea = unit

type aclgjhedfaa = {
  hifmklongnc : int32;
  kbognlnlcle : lineup_info list;
  retcode : int32;
}

type aocfcjppedm = {
  plane_id : int32;
}

type hiakofmgdlp = {
  id : int32;
  avatar_type : avatar_type;
  slot : int32;
}

type fibefodmgem = {
  is_virtual : bool;
  ijnpccndcgi : int32;
  plane_id : int32;
  extra_lineup_type : extra_lineup_type;
  kclnaimofdl : int32;
  mpeggadcgge : hiakofmgdlp list;
  index : int32;
}

type ahbjhkinbil = {
  retcode : int32;
}

type ekmckmcokia = {
  extra_lineup_type : extra_lineup_type;
}

type idooiaenifb =
  | Cmd_lobby_type_none 
  | Cmd_lobby_quit_cs_req 
  | Cmd_lobby_invite_sc_rsp 
  | Cmd_lobby_begin_cs_req 
  | Cmd_lobby_join_sc_rsp 
  | Cmd_lobby_join_cs_req 
  | Cmd_lobby_modify_player_info_sc_rsp 
  | Cmd_lobby_kick_out_cs_req 
  | Cmd_lobby_get_info_sc_rsp 
  | Cmd_lobby_kick_out_sc_rsp 
  | Cmd_lobby_get_info_cs_req 
  | Cmd_lobby_begin_sc_rsp 
  | Cmd_lobby_create_sc_rsp 
  | Cmd_lobby_create_cs_req 
  | Cmd_lobby_sync_info_sc_notify 
  | Cmd_lobby_invite_cs_req 
  | Cmd_lobby_modify_player_info_cs_req 
  | Cmd_lobby_quit_sc_rsp 
  | Cmd_lobby_invite_sc_notify 

type lbjfonmlbmj = {
  iiidiaplofb : lnnkgnfmmll option;
  dfpkdpmefac : gkkpbgmoodd;
}

type clpnbpcgldl = {
  mfdelanaicp : int64;
  retcode : int32;
  dfpkdpmefac : gkkpbgmoodd;
  pcmhnpbecpk : egokacjfaen list;
}

type ofpmcomndcd = {
  pknbckelhkm : int32 list;
}

type pafhbihlbca = {
  retcode : int32;
  pknbckelhkm : int32 list;
}

type gbhfcbmhghk = {
  mfdelanaicp : int64;
  iiidiaplofb : lnnkgnfmmll option;
}

type kikicpknoeb = {
  mfdelanaicp : int64;
  retcode : int32;
  pcmhnpbecpk : egokacjfaen list;
  dfpkdpmefac : gkkpbgmoodd;
}

type nlhggbldnba = unit

type gjofkipdifm = {
  retcode : int32;
}

type haffbknmhfm = unit

type jaeonekdhmo = {
  retcode : int32;
  pcmhnpbecpk : egokacjfaen list;
}

type bnhoegcoljl = {
  fgmdoekgpee : ejnhbdlcndj;
  hfhghfhomfn : int32;
  iiidiaplofb : lnnkgnfmmll option;
}

type npnpnbjahki = {
  retcode : int32;
}

type dhhnemhmgma = {
  uid : int32;
  fgmdoekgpee : ejnhbdlcndj;
  pcmhnpbecpk : egokacjfaen list;
}

type lfkkogmpbao = {
  uid : int32;
}

type npcdkngjimc = {
  retcode : int32;
}

type geddfnpdnao = {
  ehjdlppngmf : int32;
  dfpkdpmefac : gkkpbgmoodd;
  mfdelanaicp : int32;
}

type hhbnnogdkpi = unit

type ifanbeggfke = {
  pcmhnpbecpk : egokacjfaen list;
  jgkindfbegl : int64;
  mfdelanaicp : int64;
  dfpkdpmefac : gkkpbgmoodd;
  retcode : int32;
}

type keacmibmbaf =
  | Cmd_mail_type_none 
  | Cmd_get_mail_sc_rsp 
  | Cmd_mark_read_mail_cs_req 
  | Cmd_get_mail_cs_req 
  | Cmd_mark_read_mail_sc_rsp 
  | Cmd_new_mail_sc_notify 
  | Cmd_del_mail_sc_rsp 
  | Cmd_take_mail_attachment_sc_rsp 
  | Cmd_del_mail_cs_req 
  | Cmd_take_mail_attachment_cs_req 

type boikhbbncba =
  | Mail_type_normal 
  | Mail_type_star 

type hbjjhaendfo = {
  afiomfffjda : int32;
  enffacoigfn : int32;
}

type client_mail = {
  title : string;
  attachment : item_list option;
  id : int32;
  content : string;
  para_list : string list;
  template_id : int32;
  mail_type : boikhbbncba;
  time : int64;
  expire_time : int64;
  is_read : bool;
  sender : string;
}

type get_mail_sc_rsp = {
  is_end : bool;
  start : int32;
  notice_mail_list : client_mail list;
  total_num : int32;
  retcode : int32;
  mail_list : client_mail list;
}

type clmibfaghgk = {
  id : int32;
}

type ealjpafdbnc = {
  retcode : int32;
  id : int32;
}

type inhibijgmff = {
  kflgilkbmpn : int32 list;
}

type del_mail_sc_rsp = {
  id_list : int32 list;
  retcode : int32;
}

type ahgfoojjjkb = {
  apbdbeabddj : int32;
  ckpljojpmmm : int32 list;
}

type ejglipokcki = {
  dkhggieoebb : int32;
  hgjolgkaofj : int32;
}

type take_mail_attachment_sc_rsp = {
  retcode : int32;
  attachment : item_list option;
  succ_mail_id_list : int32 list;
  fail_mail_list : ejglipokcki list;
}

type new_mail_sc_notify = {
  mail_id_list : int32 list;
}

type jhbepgcaplh =
  | Cmd_map_rotation_type_none 
  | Cmd_reset_map_rotation_region_cs_req 
  | Cmd_update_rotater_sc_notify 
  | Cmd_deploy_rotater_sc_rsp 
  | Cmd_rotate_map_cs_req 
  | Cmd_interact_charger_sc_rsp 
  | Cmd_get_map_rotation_data_cs_req 
  | Cmd_interact_charger_cs_req 
  | Cmd_update_map_rotation_data_sc_notify 
  | Cmd_leave_map_rotation_region_sc_rsp 
  | Cmd_update_energy_sc_notify 
  | Cmd_leave_map_rotation_region_sc_notify 
  | Cmd_enter_map_rotation_region_sc_rsp 
  | Cmd_get_map_rotation_data_sc_rsp 
  | Cmd_leave_map_rotation_region_cs_req 
  | Cmd_reset_map_rotation_region_sc_rsp 
  | Cmd_rotate_map_sc_rsp 
  | Cmd_deploy_rotater_cs_req 
  | Cmd_remove_rotater_sc_rsp 
  | Cmd_enter_map_rotation_region_cs_req 
  | Cmd_remove_rotater_cs_req 

type khfdnccflpd = {
  ohoibnhjifg : int32;
  group_id : int32;
  fpmlllfheph : float;
}

type ocbfmoemnpp = {
  ohoibnhjifg : int32;
  group_id : int32;
}

type gnagomfpbhh = {
  aobmafbkdll : quaternion option;
  hgkfdihpfdm : vector option;
}

type ihgimimcdpj = {
  hkohlnhlgnb : int32;
  eolhlhcahff : int32;
}

type cioeahefpln = {
  fmcegofhmgc : int32;
  chmbglidkmm : bool;
  biefgmhpign : khfdnccflpd list;
  bhckkplnonj : ocbfmoemnpp list;
  afdjikffnjd : int32;
  imelchpnpgc : gnagomfpbhh option;
  anecodblgcb : ihgimimcdpj option;
}

type ldobaeloakm = {
  afdjikffnjd : int32;
  fmcegofhmgc : int32;
  jililehmdkg : motion_info option;
}

type malmdonmidf = {
  anecodblgcb : ihgimimcdpj option;
  retcode : int32;
  fmcegofhmgc : int32;
  micgnniimak : int32;
  afdjikffnjd : int32;
  jililehmdkg : motion_info option;
}

type mmdlhgjdmjg = {
  hiceoeaiape : ocbfmoemnpp option;
}

type apcieeocild = {
  retcode : int32;
  anecodblgcb : ihgimimcdpj option;
  hiceoeaiape : ocbfmoemnpp option;
}

type lnfjkiojdib = {
  hoakecnahpp : khfdnccflpd option;
}

type ahlcaeifmin = {
  anecodblgcb : ihgimimcdpj option;
  hoakecnahpp : khfdnccflpd option;
  retcode : int32;
}

type bebfhlmmlke = {
  jililehmdkg : motion_info option;
  group_id : int32;
  imelchpnpgc : gnagomfpbhh option;
  ohoibnhjifg : int32;
}

type ibhoeeiidfk = {
  retcode : int32;
  jililehmdkg : motion_info option;
  micgnniimak : int32;
}

type dnccfjilnia = {
  jililehmdkg : motion_info option;
}

type nelmkofibag = {
  micgnniimak : int32;
  retcode : int32;
  jililehmdkg : motion_info option;
}

type mepliogppbm = unit

type pogkoedgank = {
  imelchpnpgc : gnagomfpbhh option;
  afdjikffnjd : int32;
  imfipeiffei : bool;
  anecodblgcb : ihgimimcdpj option;
  bhckkplnonj : ocbfmoemnpp list;
  fmcegofhmgc : int32;
  retcode : int32;
  biefgmhpign : khfdnccflpd list;
}

type enilegjbbda = {
  jililehmdkg : motion_info option;
  imelchpnpgc : gnagomfpbhh option;
}

type bjofngoldef = {
  retcode : int32;
  micgnniimak : int32;
  jililehmdkg : motion_info option;
}

type jcnjjjamoej = unit

type nbdameobjml = {
  anecodblgcb : ihgimimcdpj option;
}

type cohjcefhcmd = {
  bhckkplnonj : ocbfmoemnpp list;
  anecodblgcb : ihgimimcdpj option;
  imfipeiffei : bool;
  biefgmhpign : khfdnccflpd list;
  fmcegofhmgc : int32;
  afdjikffnjd : int32;
  imelchpnpgc : gnagomfpbhh option;
}

type aigabbmnbpi = {
  hoakecnahpp : khfdnccflpd option;
}

type dckpmapfemc = {
  hoakecnahpp : khfdnccflpd option;
  retcode : int32;
  anecodblgcb : ihgimimcdpj option;
}

type jpjihefieki = {
  biefgmhpign : khfdnccflpd list;
}

type ahoodboincp =
  | Cmd_match_type_none 
  | Cmd_match_result_sc_notify 
  | Cmd_start_match_sc_rsp 
  | Cmd_cancel_match_sc_rsp 
  | Cmd_start_match_cs_req 
  | Cmd_get_cross_info_cs_req 
  | Cmd_cancel_match_cs_req 
  | Cmd_get_cross_info_sc_rsp 

type bglacpgnfnh = {
  dfpkdpmefac : gkkpbgmoodd;
  iiidiaplofb : lnnkgnfmmll option;
}

type hilcokekkin = {
  retcode : int32;
  iiidiaplofb : lnnkgnfmmll option;
}

type hghfdhlfdka = unit

type phindajhpal = {
  retcode : int32;
}

type ankmamoalla = {
  retcode : int32;
  pcmhnpbecpk : egokacjfaen list;
}

type hnfjoglaejj = unit

type jjkhhndmplc = {
  retcode : int32;
  mfdelanaicp : int64;
  jgkindfbegl : int64;
  dfpkdpmefac : gkkpbgmoodd;
}

type gogeiggmpdf =
  | Cmd_match_three_module_type_none 
  | Cmd_match_three_level_end_cs_req 
  | Cmd_match_three_get_data_cs_req 
  | Cmd_match_three_set_bird_pos_cs_req 
  | Cmd_match_three_level_end_sc_rsp 
  | Cmd_match_three_set_bird_pos_sc_rsp 
  | Cmd_match_three_get_data_sc_rsp 
  | Cmd_match_three_sync_data_sc_notify 

type obnecljmhjj =
  | Match_three_statistics_none 
  | Match_three_statistics_first 
  | Match_three_statistics_second 
  | Match_three_statistics_third 
  | Match_three_statistics_fruit 
  | Match_three_statistics_skill 
  | Match_three_statistics_defeat 
  | Match_three_statistics_bomb 
  | Match_three_statistics_damage 
  | Match_three_statistics_energy 
  | Match_three_statistics_swap_bomb 

type dagjmdgimmm = unit

type ngdfidbleeg = {
  dfmnolgmcag : int32;
  lcmkbhbmdob : int32;
}

type ibilogboici = {
  kkgeojnphcn : int32;
  count : int32;
  pos : int32;
  eoegloalcho : int32;
}

type dfopglpmagj = {
  bojmeheaade : ngdfidbleeg list;
  pjbahhanmfh : (int32 * int32) list;
  agmoeffpkfe : (int32 * int32) list;
  blnfdkplien : ibilogboici list;
}

type ecppcfackjp = {
  retcode : int32;
  khliailcpno : dfopglpmagj option;
}

type cpfflpikfcj = {
  dfmnolgmcag : int32;
  lcmkbhbmdob : int32;
  ebibccdkihb : int32 list;
  eoegloalcho : int32;
  mbmegghhkjl : string;
  agmoeffpkfe : (int32 * int32) list;
  kkgeojnphcn : int32;
}

type bcoocleapmc = {
  retcode : int32;
  lcmkbhbmdob : int32;
  dfmnolgmcag : int32;
}

type llldfbeojkh = {
  khliailcpno : dfopglpmagj option;
}

type ieggdbjkahf = {
  pos : int32;
  kkgeojnphcn : int32;
}

type lkddgonhhma = {
  pos : int32;
  retcode : int32;
  kkgeojnphcn : int32;
}

type menenehdenk =
  | Cmd_message_type_none 
  | Cmd_finish_item_id_sc_rsp 
  | Cmd_finish_perform_section_id_sc_rsp 
  | Cmd_finish_section_id_sc_rsp 
  | Cmd_finish_section_id_cs_req 
  | Cmd_get_npc_message_group_sc_rsp 
  | Cmd_finish_perform_section_id_cs_req 
  | Cmd_finish_item_id_cs_req 
  | Cmd_get_npc_status_sc_rsp 
  | Cmd_get_npc_message_group_cs_req 
  | Cmd_get_npc_status_cs_req 

type ielhgjjhmeg = {
  ebbgmahfino : int32 list;
}

type jlibphmclik = {
  oohldgfnabj : int32;
  hgjolgkaofj : int32;
}

type fmnjhfhbjdi = {
  mcpchaempop : int32 list;
  pdpfcfglgco : jlibphmclik list;
  id : int32;
  status : jnmfgfjpeim;
  hiiadaioiip : int32;
}

type adgfohedeog = {
  cbclgknhnib : int64;
  flnokepmaph : int32;
  id : int32;
  kkadhofegle : fmnjhfhbjdi list;
  status : pbcofiploko;
}

type dapaodjlepf = {
  gimdcaalgei : adgfohedeog list;
  retcode : int32;
}

type gpaafmajnie = unit

type gopahcfeind = {
  hdnieedkagk : bool;
  pnigjhppmln : int32;
}

type dejjkifldfb = {
  group_id : int32;
  cbclgknhnib : int64;
  ppfbnlefano : pbcofiploko;
}

type jnicjgmnafm = {
  lpfpcbhelle : jnmfgfjpeim;
  hgkmoddpamj : int32;
}

type ecofcnjhkli = {
  retcode : int32;
  bjhgmjdmodb : gopahcfeind list;
}

type bgehccfmoje = {
  hgjolgkaofj : int32;
  oohldgfnabj : int32;
}

type pahneciakhd = {
  retcode : int32;
  oohldgfnabj : int32;
  hgjolgkaofj : int32;
}

type cdnampmbamd = {
  hgkmoddpamj : int32;
}

type admghjdoklf = {
  hgkmoddpamj : int32;
  reward : item_list option;
  retcode : int32;
}

type ibpiaefkdgp = {
  hgkmoddpamj : int32;
  pdpfcfglgco : jlibphmclik list;
}

type hndgmaplmgk = {
  reward : item_list option;
  pdpfcfglgco : jlibphmclik list;
  hgkmoddpamj : int32;
  retcode : int32;
}

type mnnpgmjjgml =
  | Cmd_misc_module_type_none 
  | Cmd_difficulty_adjustment_update_data_sc_rsp 
  | Cmd_submit_origami_item_cs_req 
  | Cmd_difficulty_adjustment_update_data_cs_req 
  | Cmd_security_report_sc_rsp 
  | Cmd_get_gun_play_data_sc_rsp 
  | Cmd_difficulty_adjustment_get_data_cs_req 
  | Cmd_get_movie_racing_data_cs_req 
  | Cmd_get_share_data_sc_rsp 
  | Cmd_difficulty_adjustment_get_data_sc_rsp 
  | Cmd_security_report_cs_req 
  | Cmd_cancel_cache_notify_cs_req 
  | Cmd_share_cs_req 
  | Cmd_get_share_data_cs_req 
  | Cmd_take_picture_sc_rsp 
  | Cmd_cancel_cache_notify_sc_rsp 
  | Cmd_update_gun_play_data_sc_rsp 
  | Cmd_get_gun_play_data_cs_req 
  | Cmd_take_picture_cs_req 
  | Cmd_get_movie_racing_data_sc_rsp 
  | Cmd_update_movie_racing_data_sc_rsp 
  | Cmd_share_sc_rsp 
  | Cmd_trigger_voice_sc_rsp 
  | Cmd_update_gun_play_data_cs_req 
  | Cmd_update_movie_racing_data_cs_req 
  | Cmd_submit_origami_item_sc_rsp 
  | Cmd_trigger_voice_cs_req 

type mcfficiioho =
  | Cache_notify_type_none 
  | Cache_notify_type_recycle 
  | Cache_notify_type_recharge 

type gnankafabkp =
  | Movie_racing_over_take 
  | Movie_racing_over_take_endless 
  | Movie_racing_shooting 
  | Movie_racing_shooting_endless 

type gdkighgodkj =
  | Difficulty_ajustment_type_default 
  | Difficulty_ajustment_type_easy 

type pchdmnlenjo =
  | Difficulty_ajustment_source_none 
  | Difficulty_ajustment_source_raid 
  | Difficulty_ajustment_source_event 

type cimoknigome = {
  kbelpfdopde : int32;
}

type fjmmkcjfnfi = {
  kbelpfdopde : int32;
  jllfcnnhobk : int32;
}

type ddbejjkchmi = {
  reward : item_list option;
  dcacgeojnnn : fjmmkcjfnfi option;
  retcode : int32;
}

type eifoakckafl = unit

type jnmjhnkonli = {
  lkanmknegeh : fjmmkcjfnfi list;
  retcode : int32;
}

type mnbegceholg = unit

type gcjmjchkhcj = {
  retcode : int32;
}

type oglabaalopb = {
  hjgdifcandc : int32 list;
  empkpmmfmof : int32;
  fgmdoekgpee : int32;
}

type hbmmebdbdaa = {
  afknhaijkmd : oglabaalopb list;
}

type dicmfnmipif = {
  retcode : int32;
}

type hgeajlclkpg = {
  pldifcohmkm : string list;
  fgmdoekgpee : mcfficiioho;
  hccjhiilppi : int32 list;
}

type onblgihcbeh = {
  retcode : int32;
}

type lfbcmjdgkii = {
  ipnkbphbnco : string;
}

type hkbpkcfanoa = {
  retcode : int32;
}

type lpmaoheeohn = {
  level : int32;
  cifpalnlidj : int32;
  fgmdoekgpee : gnankafabkp;
  fikedopgmdl : int32;
}

type mbkinmiiklg = unit

type pfenlcjgjhb = {
  retcode : int32;
  pnlfdfhaejh : lpmaoheeohn list;
}

type ogjjlnpokco = {
  ejoalpnccgc : lpmaoheeohn option;
}

type jibjbnbadcp = {
  ejoalpnccgc : lpmaoheeohn option;
  retcode : int32;
}

type fdiljlmlmhp = {
  fljmjmfonan : int32;
}

type pffiiiednci = {
  fljmjmfonan : int32;
  retcode : int32;
}

type dpnmfccfjbe = {
  jkaodlmplme : int32;
  fikedopgmdl : int32;
  jpinjmnfgec : bool;
  level : int32;
}

type pckhbnhnkab = unit

type impcibghklj = {
  retcode : int32;
  hbomckbjaif : dpnmfccfjbe list;
}

type alhadjbdlmh = {
  group_id : int32;
  kgmjhehlioi : dpnmfccfjbe option;
  ecgebkmcfcn : int32;
  mbmegghhkjl : int64;
}

type hgnbbdiojbh = {
  kgmjhehlioi : dpnmfccfjbe option;
  retcode : int32;
}

type ffimgfmpcdg = {
  lnmamccmdpa : gdkighgodkj;
  id : int32;
  cbjpfggchfh : pchdmnlenjo;
}

type ldfaedmjpnj = unit

type mgopkflejhe = {
  retcode : int32;
  haeppfknbnm : ffimgfmpcdg list;
}

type gnicmkcbepl = {
  data : ffimgfmpcdg option;
}

type bmbfidhchpd = {
  data : ffimgfmpcdg option;
  retcode : int32;
  haeppfknbnm : ffimgfmpcdg list;
}

type llohcehmngd =
  | Cmd_mission_type_none 
  | Cmd_daily_task_data_sc_notify 
  | Cmd_accept_mission_event_sc_rsp 
  | Cmd_sync_task_cs_req 
  | Cmd_mission_accept_sc_notify 
  | Cmd_set_mission_event_progress_sc_rsp 
  | Cmd_set_mission_event_progress_cs_req 
  | Cmd_start_finish_sub_mission_sc_notify 
  | Cmd_mission_group_warn_sc_notify 
  | Cmd_get_mission_status_sc_rsp 
  | Cmd_get_mission_data_cs_req 
  | Cmd_finish_cosume_item_mission_cs_req 
  | Cmd_accept_main_mission_sc_rsp 
  | Cmd_get_mission_status_cs_req 
  | Cmd_get_mission_event_data_sc_rsp 
  | Cmd_finish_talk_mission_sc_rsp 
  | Cmd_sync_task_sc_rsp 
  | Cmd_finish_cosume_item_mission_sc_rsp 
  | Cmd_accept_main_mission_cs_req 
  | Cmd_get_main_mission_custom_value_sc_rsp 
  | Cmd_start_finish_main_mission_sc_notify 
  | Cmd_sub_mission_reward_sc_notify 
  | Cmd_interrupt_mission_event_cs_req 
  | Cmd_get_mission_data_sc_rsp 
  | Cmd_finish_talk_mission_cs_req 
  | Cmd_get_mission_event_data_cs_req 
  | Cmd_teleport_to_mission_reset_point_sc_rsp 
  | Cmd_get_main_mission_custom_value_cs_req 
  | Cmd_mission_event_reward_sc_notify 
  | Cmd_mission_reward_sc_notify 
  | Cmd_update_track_main_mission_id_sc_rsp 
  | Cmd_accept_mission_event_cs_req 
  | Cmd_update_track_main_mission_id_cs_req 
  | Cmd_teleport_to_mission_reset_point_cs_req 
  | Cmd_interrupt_mission_event_sc_rsp 

type kefklcglpbb =
  | Mission_sync_record_none 
  | Mission_sync_record_main_mission_accept 
  | Mission_sync_record_main_mission_start 
  | Mission_sync_record_main_mission_finish 
  | Mission_sync_record_main_mission_delete 
  | Mission_sync_record_mission_accept 
  | Mission_sync_record_mission_start 
  | Mission_sync_record_mission_finish 
  | Mission_sync_record_mission_delete 
  | Mission_sync_record_mission_progress 

type kgmjpadefpp =
  | Main_mission_sync_none 
  | Main_mission_sync_mcv 

type hkmebfmeeko =
  | Track_main_mission_update_none 
  | Track_main_mission_update_auto 
  | Track_main_mission_update_manual 
  | Track_main_mission_update_login_report 

type gnefnfaflgi = unit

type ihgeeangifc = {
  fgmdoekgpee : kefklcglpbb;
  iihookopmmk : int32;
  id : int32;
}

type pbnceknojon = {
  id : int32;
  klmfdjlahkg : jbianonhjfo list;
  status : mission_status;
}

type dlompnobmja = {
  id : int32;
  klmfdjlahkg : hhmofllojag option;
}

type eeapjcmdjml = {
  retcode : int32;
  efmknejbpdn : pbnceknojon list;
  nbgdkmbadki : bool;
  kcpgeandlei : int32;
  hjnfpofkanm : mission list;
}

type eaonfecplik = {
  idlneeekpjl : int32;
}

type aicicamofge = {
  retcode : int32;
  idlneeekpjl : int32;
}

type ahconmhbloa = {
  klmfdjlahkg : jbianonhjfo list;
  clkbeandjfm : int32;
  gkanpgfhgpc : string;
}

type kodjldnfgop = {
  clkbeandjfm : int32;
  retcode : int32;
  gkanpgfhgpc : string;
  klmfdjlahkg : jbianonhjfo list;
}

type onepplibcki = {
  reward : item_list option;
  idlneeekpjl : int32;
  clkbeandjfm : int32;
}

type kocancofkjn = {
  clkbeandjfm : int32;
  reward : item_list option;
}

type ekamlkohmlm = {
  pfmlckgckob : string;
}

type afifpimnnfo = {
  retcode : int32;
  pfmlckgckob : string;
}

type dbddhlanhnh = {
  idlneeekpjl : int32;
  nhbjkfibgbk : bool;
}

type egnbldpighd = {
  emfdkaekpcm : dbddhlanhnh list;
  paefafilbjg : int32;
}

type lpmbfoclibj = {
  fddhalpeaon : int32 list;
}

type mdnpngbibbi = {
  pdpfcfglgco : item_list option;
  clkbeandjfm : int32;
}

type pjefcmjonic = {
  clkbeandjfm : int32;
  retcode : int32;
}

type hipfnccdlia = unit

type gmbggkdligk = {
  nhfpcalobcc : int32;
  retcode : int32;
  mkbbddpdmoi : mission list;
}

type mimakllblna = {
  fajohchbaen : int32;
  reward : item_list option;
}

type kecfpmdiopb = {
  fajohchbaen : int32;
}

type hpgplgcbcbe = {
  fpgjpmgijom : mission option;
  retcode : int32;
}

type get_mission_status_cs_req = {
  mission_event_id_list : int32 list;
  main_mission_id_list : int32 list;
  sub_mission_id_list : int32 list;
}

type get_mission_status_sc_rsp = {
  mission_event_status_list : mission list;
  finished_main_mission_id_list : int32 list;
  sub_mission_status_list : mission list;
  unfinished_main_mission_id_list : int32 list;
  main_mission_mcv_list : klciikcjohp list;
  retcode : int32;
  disabled_main_mission_id_list : int32 list;
}

type nhkdfjaklfc = {
  fajohchbaen : int32;
}

type ccolbngjjka = {
  fajohchbaen : int32;
  retcode : int32;
}

type bmolkdbaold = {
  fajohchbaen : int32;
  progress : int32;
}

type pahbclhfcoi = {
  retcode : int32;
}

type jknakoeidkk = unit

type hkcpodmepff = {
  micgnniimak : int32;
  retcode : int32;
  jililehmdkg : motion_info option;
}

type gohnnldpomc = {
  clkbeandjfm : int32;
}

type kgdjnmoibdn = {
  idlneeekpjl : int32;
}

type lliikjdjobb = {
  mission_event_id_list : int32 list;
}

type cabdaemkaha = {
  efmknejbpdn : pbnceknojon list;
  retcode : int32;
}

type nabdijonbia = {
  sub_mission_id_list : int32 list;
}

type epchbjbjcck = {
  kcpgeandlei : int32;
  ngeicmomnee : int32;
  gajbbcihmlg : hkmebfmeeko;
}

type khconlgbnkp = {
  retcode : int32;
  ilgfnknhjea : int32;
  kcpgeandlei : int32;
}

type phjadhpnljo =
  | Cmd_monopoly_type_none 
  | Cmd_monopoly_scrach_raffle_ticket_sc_rsp 
  | Cmd_monopoly_move_sc_rsp 
  | Cmd_get_monopoly_friend_ranking_list_cs_req 
  | Cmd_monopoly_re_roll_random_sc_rsp 
  | Cmd_monopoly_game_gacha_cs_req 
  | Cmd_get_monopoly_friend_ranking_list_sc_rsp 
  | Cmd_monopoly_guess_draw_sc_notify 
  | Cmd_monopoly_get_region_progress_sc_rsp 
  | Cmd_get_monopoly_info_cs_req 
  | Cmd_monopoly_buy_goods_cs_req 
  | Cmd_monopoly_take_phase_reward_cs_req 
  | Cmd_monopoly_game_raise_ratio_cs_req 
  | Cmd_monopoly_select_option_cs_req 
  | Cmd_monopoly_get_raffle_ticket_cs_req 
  | Cmd_monopoly_cell_update_notify 
  | Cmd_get_monopoly_mbti_report_reward_cs_req 
  | Cmd_daily_first_enter_monopoly_activity_sc_rsp 
  | Cmd_delete_social_event_server_cache_sc_rsp 
  | Cmd_monopoly_guess_buy_information_cs_req 
  | Cmd_monopoly_give_up_cur_content_cs_req 
  | Cmd_monopoly_action_result_sc_notify 
  | Cmd_monopoly_move_cs_req 
  | Cmd_monopoly_upgrade_asset_cs_req 
  | Cmd_monopoly_like_cs_req 
  | Cmd_monopoly_click_mbti_report_cs_req 
  | Cmd_monopoly_game_raise_ratio_sc_rsp 
  | Cmd_monopoly_cheat_dice_cs_req 
  | Cmd_get_monopoly_mbti_report_reward_sc_rsp 
  | Cmd_monopoly_game_bingo_flip_card_sc_rsp 
  | Cmd_monopoly_roll_random_cs_req 
  | Cmd_monopoly_guess_choose_sc_rsp 
  | Cmd_monopoly_give_up_cur_content_sc_rsp 
  | Cmd_monopoly_roll_dice_cs_req 
  | Cmd_get_monopoly_info_sc_rsp 
  | Cmd_monopoly_confirm_random_cs_req 
  | Cmd_monopoly_daily_settle_sc_notify 
  | Cmd_get_monopoly_daily_report_sc_rsp 
  | Cmd_get_social_event_server_cache_cs_req 
  | Cmd_monopoly_game_settle_sc_notify 
  | Cmd_monopoly_event_load_update_sc_notify 
  | Cmd_monopoly_accept_quiz_cs_req 
  | Cmd_monopoly_content_update_sc_notify 
  | Cmd_monopoly_get_daily_init_item_cs_req 
  | Cmd_monopoly_get_raffle_ticket_sc_rsp 
  | Cmd_monopoly_re_roll_random_cs_req 
  | Cmd_monopoly_like_sc_notify 
  | Cmd_monopoly_game_gacha_sc_rsp 
  | Cmd_get_social_event_server_cache_sc_rsp 
  | Cmd_monopoly_get_region_progress_cs_req 
  | Cmd_monopoly_social_event_effect_sc_notify 
  | Cmd_monopoly_get_raffle_pool_info_cs_req 
  | Cmd_monopoly_roll_random_sc_rsp 
  | Cmd_monopoly_get_raffle_pool_info_sc_rsp 
  | Cmd_monopoly_like_sc_rsp 
  | Cmd_monopoly_click_cell_sc_rsp 
  | Cmd_monopoly_upgrade_asset_sc_rsp 
  | Cmd_monopoly_game_bingo_flip_card_cs_req 
  | Cmd_monopoly_click_mbti_report_sc_rsp 
  | Cmd_monopoly_get_daily_init_item_sc_rsp 
  | Cmd_monopoly_event_select_friend_cs_req 
  | Cmd_monopoly_take_raffle_ticket_reward_sc_rsp 
  | Cmd_monopoly_roll_dice_sc_rsp 
  | Cmd_monopoly_cheat_dice_sc_rsp 
  | Cmd_get_mbti_report_sc_rsp 
  | Cmd_monopoly_condition_update_sc_notify 
  | Cmd_monopoly_select_option_sc_rsp 
  | Cmd_monopoly_game_create_sc_notify 
  | Cmd_monopoly_guess_buy_information_sc_rsp 
  | Cmd_monopoly_quiz_duration_change_sc_notify 
  | Cmd_monopoly_take_phase_reward_sc_rsp 
  | Cmd_get_mbti_report_cs_req 
  | Cmd_monopoly_buy_goods_sc_rsp 
  | Cmd_monopoly_accept_quiz_sc_rsp 
  | Cmd_get_monopoly_daily_report_cs_req 
  | Cmd_monopoly_stt_update_sc_notify 
  | Cmd_monopoly_take_raffle_ticket_reward_cs_req 
  | Cmd_monopoly_guess_choose_cs_req 
  | Cmd_monopoly_event_select_friend_sc_rsp 
  | Cmd_daily_first_enter_monopoly_activity_cs_req 
  | Cmd_monopoly_confirm_random_sc_rsp 
  | Cmd_delete_social_event_server_cache_cs_req 
  | Cmd_monopoly_scrach_raffle_ticket_cs_req 
  | Cmd_monopoly_click_cell_cs_req 

type nbbdamgnjpn =
  | Monopoly_social_event_status_none 
  | Monopoly_social_event_status_waiting_select_friend 

type efjdphpapii =
  | Monopoly_cell_state_idle 
  | Monopoly_cell_state_barrier 
  | Monopoly_cell_state_ground 
  | Monopoly_cell_state_finish 

type ciaoikeanea =
  | Monopoly_action_result_source_type_none 
  | Monopoly_action_result_source_type_effect 
  | Monopoly_action_result_source_type_asset_bonus 
  | Monopoly_action_result_source_type_asset_tax 
  | Monopoly_action_result_source_type_asset_upgrade 
  | Monopoly_action_result_source_type_game_settle 
  | Monopoly_action_result_source_type_buy_goods 
  | Monopoly_action_result_source_type_click 
  | Monopoly_action_result_source_type_social_event 
  | Monopoly_action_result_source_type_like 
  | Monopoly_action_result_source_type_quiz_game_settle 

type dgidimidfpn = unit

type joepajdgphk = {
  clnpkcniekd : bool;
  ppjbokfgmjh : int32;
  minoahpjnmh : int32;
  dbgaojmndmc : int32;
  kpjafhgjmne : bool;
  hngcgmnnlej : int32;
}

type mgghehlpfmh = {
  nahadojjmfc : int32 list;
  ckmejojcafi : nbbdamgnjpn;
}

type jhaibieoogh = {
  ggbdddiffbd : int32;
  progress : int32;
}

type ajofeagbhof = {
  npokjeodakc : int64;
  pedicfiaamc : bool;
  mkideamcloh : bool;
}

type pohjkgbpdho = {
  pdmjjhpbogd : ajofeagbhof list;
  phimeblpkfi : int32;
  dhkbkjkdnei : int64;
  ijccfagbnbc : int32;
  pajlebhmocf : jhaibieoogh list;
  fmhcopcakec : bool;
  mphncdpfiaj : int32;
  kopeolbbgel : int64;
  ilcfognhfck : string;
  abmeooeakfk : string;
  bnhepammdhc : int32;
  ijabojodcao : jhaibieoogh list;
  bggigohgmmb : jhaibieoogh list;
  bdcnikjepnp : int32;
  elegbecbahh : jhaibieoogh list;
  klodmjekmjj : string;
  abggoedcbgi : int32;
  cccchhlbkdn : int64;
}

type gioddoihlcn = {
  pniomdhkgan : pohjkgbpdho list;
}

type lidhmbfbhao = {
  nchpghpfkkb : int32;
  legjggfllkm : int32;
  level : int32;
}

type ljmjpodbcae = {
  khhhjkbcekl : lidhmbfbhao list;
}

type bocmnkonppn = {
  lnjapmhfcck : int32;
  pbonhgdihdk : int32;
  fjaomhojlmn : efjdphpapii;
  molclcecklo : bool;
}

type oopngmhcnnn = {
  bfgejigdmfh : int32;
  gedkbbfkdlm : bocmnkonppn option;
  gjbkhmihmif : bocmnkonppn list;
  dhfdgnilgih : int32;
  mbgmhaapdce : bocmnkonppn list;
}

type aihopmoclam = {
  nghdgacfjep : int32;
  ppdbmfkjpel : int32;
  pkkfndimmio : int32;
}

type ckffbacigpg = {
  buff_list : aihopmoclam list;
}

type defmcecjjbi = {
  jfpnkcbdief : int32 list;
}

type eonniefdoci = {
  npholaehbkh : int32;
  okpcgdecjgg : int32;
  johpnmpfnia : bool;
  aekimehjnkj : int32;
  bamhmcfcibo : int32;
  ddjolnlfedi : int32;
  cikefdlgdhi : int32;
  ebmiflnkgel : int32;
  dkppejnhahh : int32;
}

type kfbeaplbefb = {
  fdobhgepecn : int32 list;
  imiekbcbdhb : int32 list;
}

type gkklbmppoic = {
  fhbjogfkibm : int32 list;
  lbecppeobhb : int32;
  ihonjmelbij : int32 list;
  bjcfdgchakl : int32 list;
  nnoncigblll : bool;
}

type pignanpdklj = {
  gbohojajppb : int32;
  pfkglcgcmcj : int32;
}

type hgbafdfikfj = {
  hpmckfbmmhp : int32;
  jahclmgmafe : int32;
  agifahnpich : int32 list;
  pgidogdgncj : int32;
  gcbdccnejli : int32;
  aiialahiamp : pignanpdklj list;
}

type kkcblmehbff = {
  onjlkkdkdbg : int32;
  bghkmklgngf : bool;
  hkbeefmhlbb : int32;
}

type pcfeibpmokl = {
  jahpoofngeb : int32;
  nigmipgijon : int32;
  pfbnanpcdjh : int32;
  mapdfgdaddp : gkklbmppoic option;
  ipcpibkdmib : hgbafdfikfj option;
  enagncneopb : kkcblmehbff option;
}

type niojaoakejp = {
  mekdpjkdapc : bool;
  dnhmlmodpnb : int32;
}

type jogiagpfdml = {
  jhobbdnmfkb : pcfeibpmokl list;
  enaildglncl : pcfeibpmokl option;
  dalmjhmldgm : niojaoakejp option;
}

type fckifndejlc = {
  ohibnloihci : int32;
}

type pockofmndag = {
  ohibnloihci : int32;
}

type flijbnilblk = {
  ojkjbeilgdc : int32;
  fabndlfdfda : int32;
  cgjnknmgjfo : int32 list;
  ohibnloihci : int32;
}

type hdkjdnogijc = {
  legjggfllkm : int32;
}

type kdajldoonep = {
  fgohomljegm : int32;
}

type nfkbeabdapm = {
  hokpfbhcehj : int32;
}

type hofaekpedln = {
  ebdmffdjebm : int32;
  dhcakofmnjp : int32;
}

type gigdeinndjo = {
  cgjnknmgjfo : int32 list;
  fabndlfdfda : int32;
  ohibnloihci : int32;
  pinikigmpkm : int32;
  fmehjldopnj : int32;
}

type fmaebngghpd = {
  nghdgacfjep : int32;
  ofjbcpnedpd : fckifndejlc option;
  cflafjbmepk : pockofmndag option;
  pkjhlljjldp : flijbnilblk option;
  nhgioeaffbe : hdkjdnogijc option;
  eemdaiemepm : kdajldoonep option;
  hfcakgghnim : nfkbeabdapm option;
  jmbhhodnidd : hofaekpedln option;
  agpimeoajoj : gigdeinndjo option;
  jocfgknbpdh : bfinjohikfn option;
}

and bfinjohikfn = {
  accbhmpbojc : fmaebngghpd list;
  dojmahgdgcc : int32;
}

type khdobjbgpnh = {
  ckioboniohf : fmaebngghpd option;
}

type ebbnakjiafk = {
  imbgbpepfnl : ljmjpodbcae option;
  imelchpnpgc : oopngmhcnnn option;
  nhknhpjdhlh : int32 list;
  elfjfncodan : mgghehlpfmh option;
  pogejanpebj : ckffbacigpg option;
  plolpndhblk : defmcecjjbi option;
  odldbbohhkb : gioddoihlcn option;
  pgbilhdciol : joepajdgphk option;
  pbjhjhdcafb : eonniefdoci option;
  retcode : int32;
  ppkofopmfjc : kfbeaplbefb option;
  chnjjmhncap : jogiagpfdml option;
  ogfdpdidmhn : khdobjbgpnh option;
}

type pmonigcbapn = {
  plolpndhblk : defmcecjjbi option;
}

type pkadmfglmpn = {
  ppkofopmfjc : kfbeaplbefb option;
}

type jelebjjfjip = {
  gjbkhmihmif : bocmnkonppn list;
  mbgmhaapdce : bocmnkonppn list;
}

type fgfifjmmjcp = {
  ckioboniohf : fmaebngghpd option;
}

type bpmbhaaklmc = {
  gedkbbfkdlm : bocmnkonppn option;
}

type hjakepglbfd = unit

type bnoncaefinb = {
  lnjppbjacmf : int32;
  retcode : int32;
}

type npiijenphib = {
  jdfifidndhf : int32;
}

type haobnmicopa = {
  retcode : int32;
  jdfifidndhf : int32;
}

type mankodpdeed = {
  opfpijmggal : int32;
  bljdbkkdlgd : int32;
}

type dfmcdagbcmk = {
  retcode : int32;
  ejogkjoehfb : bocmnkonppn list;
  imelchpnpgc : oopngmhcnnn option;
}

type dhejioligcn = {
  ojkjbeilgdc : int32;
  ohibnloihci : int32;
}

type fjckjdbjkfd = {
  ojkjbeilgdc : int32;
  edifglcdjlo : int32;
  ohibnloihci : int32;
}

type ocijbfdkhad = {
  ckikjffkgfk : fjckjdbjkfd list;
  retcode : int32;
  ojkjbeilgdc : int32;
  ohibnloihci : int32;
  ogfdpdidmhn : fmaebngghpd option;
}

type boooodbdecg = {
  ohibnloihci : int32;
}

type amplplldlmc = {
  retcode : int32;
  ohibnloihci : int32;
  ogfdpdidmhn : fmaebngghpd option;
}

type hfhmkhodonh = {
  ohibnloihci : int32;
}

type moeoggefkjg = {
  ohibnloihci : int32;
  retcode : int32;
  ogfdpdidmhn : fmaebngghpd option;
}

type hoohjgiilid = {
  ohibnloihci : int32;
}

type cbfcpchblif = {
  ohibnloihci : int32;
  ogfdpdidmhn : fmaebngghpd option;
  retcode : int32;
}

type gjnfhooabhh = {
  ififlmjnmdk : int32;
  fgohomljegm : int32;
}

type hfkkejakcdl = {
  retcode : int32;
  ififlmjnmdk : int32;
  fgohomljegm : int32;
}

type ckiajdgpeai = {
  legjggfllkm : int32;
}

type bgeincnaijf = {
  legjggfllkm : int32;
  retcode : int32;
}

type jdonaaefnia = {
  nfcojigifbb : int32;
}

type bkdgohbbalj = {
  retcode : int32;
  nfcojigifbb : int32;
}

type pponmcdlhkg = {
  dcedopcicik : int32;
  dhchppbnfeg : int32;
  hgjolgkaofj : int32;
}

type jpehgoiagfp = {
  oicjkpkgila : int32;
  fbmbomknfjo : int32;
}

type fedimadblfd = {
  gjcnecgjfde : int32;
  cpjlmihbgcp : int32;
  kfclndkhilm : int32;
  kdckaamonab : int32;
}

type mhkhjomblhm = {
  anjbkgdpepn : int32;
}

type bakgcckjdlk = {
  hmfokfnpnfk : pponmcdlhkg option;
  bbdbepekdie : pponmcdlhkg option;
  odbjpecmcgc : lidhmbfbhao option;
  kbhchoicmhc : lidhmbfbhao option;
  hjcdfejpjcl : aihopmoclam option;
  emghnkdicbf : aihopmoclam option;
  kkiehkfelck : jpehgoiagfp option;
  pblkdhccmdi : jpehgoiagfp option;
  iohofdgmoka : niojaoakejp option;
  gohgfgbcbfh : fedimadblfd option;
  dlieaipfolf : aihopmoclam option;
  nilkfplpaka : jpehgoiagfp option;
  jjcbfhnhale : mhkhjomblhm option;
}

type monopoly_action_result = {
  click_cell_id : int32;
  trigger_cell_id : int32;
  detail : bakgcckjdlk option;
  source_type : ciaoikeanea;
  effect_type : int32;
  trigger_map_id : int32;
  click_map_id : int32;
}

type ojifedpgpnj = {
  fhjpmiigkin : monopoly_action_result list;
}

type jlgkjbbjang = {
  pffecnompke : item_list option;
  pdpfcfglgco : item_list option;
  hfcakgghnim : pcfeibpmokl option;
}

type jhbnabecblc = {
  dalmjhmldgm : niojaoakejp option;
  hfcakgghnim : pcfeibpmokl option;
}

type poklnoillmi = {
  jahpoofngeb : int32;
}

type monopoly_game_raise_ratio_sc_rsp = {
  ratio : int32;
  retcode : int32;
}

type kojejdchlhh = unit

type cpaehmckljf = {
  ebajcfkinhn : int64;
  bpbbnbklkdc : bool;
  retcode : int32;
  igepfimgalc : int32;
  pbjhjhdcafb : eonniefdoci option;
}

type kgonikbbdak = {
  kbdmkfogkfj : bool;
}

type nhohbpmdnbh = {
  ebajcfkinhn : int64;
  ngpobeifhfc : int32;
  knhfnfblnlk : int32;
  lballjhgmib : int32;
  retcode : int32;
  ifiikolllkn : int32;
  likidkoepla : int32;
}

type imniaamofcn = {
  hajiidccbmn : int32;
}

type dnckobgnihn = {
  mahiocfcikf : int32;
  retcode : int32;
  nnoncigblll : bool;
  fhbjogfkibm : int32 list;
}

type jliemnlahcd = unit

type monopoly_game_gacha_sc_rsp = {
  result_list : int32 list;
  retcode : int32;
}

type dhkfhhmkgdd = {
  aiialahiamp : pignanpdklj list;
}

type bpkdaacghcm = {
  ipcpibkdmib : hgbafdfikfj option;
  retcode : int32;
}

type dhklbllkbal = {
  jahclmgmafe : int32;
  bhlfhhjhpja : int32;
  goolmcbeakp : int32;
}

type gfcbokjcjlk = {
  lhcalbfcfjl : dhklbllkbal list;
}

type hcejcpnpnbn = {
  onjlkkdkdbg : int32;
}

type hinkjiefgpj = {
  retcode : int32;
  onjlkkdkdbg : int32;
}

type fmhgmbmhkcb = {
  pjfilkjbojg : int32;
  hkbeefmhlbb : int32;
  pdpfcfglgco : item_list option;
}

type gdmhmadmend = {
  cgjhaghgclh : fmhgmbmhkcb list;
}

type iaejadjfpho = unit

type pidiloglgnn = {
  retcode : int32;
}

type bjpjdlgmoen = {
  pbjhjhdcafb : eonniefdoci option;
  igepfimgalc : int32;
}

type hnlpaajffok = {
  dkppejnhahh : int32;
  lbmgpjobhdp : int32;
  ddjolnlfedi : int32;
  hflkkoinaeo : int32;
  uid : int32;
}

type opbfdjbbhlf = unit

type eelooogfiep = {
  elcdinampjf : hnlpaajffok option;
  retcode : int32;
  nofclllibdd : hnlpaajffok list;
}

type oppjogblncg = {
  ejpljgbiaic : int32;
}

type kolcimmmjhb = {
  ejpljgbiaic : int32;
  dekonpmjeen : item_list option;
  retcode : int32;
}

type pfjiapghecn = {
  nahadojjmfc : int32 list;
  lbmgpjobhdp : int32;
}

type boaopmiiplm = unit

type khpljlniphc = {
  mjihjbdnbkk : int32;
  cnt : int32;
}

type kilboolgkpa = {
  dkmdjiclemf : khpljlniphc list;
  mkideamcloh : bool;
  dmfpklplbbi : bool;
  retcode : int32;
  ckikjffkgfk : fjckjdbjkfd list;
  dpmofpdmpab : int32;
  lkajhecfpji : int32;
  progress : int32;
}

type plpbgpgeenh = {
  boijjckjecp : int32;
  edeglgnkjdj : bool;
}

type gglknfikmjo = {
  ebdmffdjebm : int32;
  dhcakofmnjp : int32;
  gedkbbfkdlm : bocmnkonppn option;
  retcode : int32;
}

type social_event_server_cache = {
  src_uid : int32;
  sub_coin : int32;
  id : int32;
  add_coin : int32;
}

type fdkgkflnomh = {
  calpgdnbiaa : social_event_server_cache list;
}

type afedkeknocc = unit

type npkeaphgcbp = {
  calpgdnbiaa : social_event_server_cache list;
  retcode : int32;
}

type kocpagpjklg = {
  bbphnlfjfia : int32 list;
}

type hgmhhjpoech = {
  lfbdpogonmk : int32 list;
  retcode : int32;
}

type ofabhekkgji = {
  bnhepammdhc : int32;
}

type ppnhdbldehi = {
  lagojcpbhbb : ajofeagbhof list;
  bnhepammdhc : int32;
  retcode : int32;
}

type ipbhdhlonkl = {
  ahbalikpnil : int64;
  bnhepammdhc : int32;
}

type onhionphhpe = {
  bnhepammdhc : int32;
  dekonpmjeen : item_list option;
  retcode : int32;
  ahbalikpnil : int32;
}

type emgndkeoddi = {
  ahbalikpnil : int64;
  bnhepammdhc : int32;
}

type kjpbgihpnpk = {
  bnhepammdhc : int32;
  retcode : int32;
  ahbalikpnil : int64;
}

type maiibnepbkj = unit

type deecamaadno = {
  hflkkoinaeo : int32;
  retcode : int32;
  lkfmpcmabal : int32;
}

type ideeolipmcm = unit

type agfjdjchdcf = {
  retcode : int32;
  odldbbohhkb : gioddoihlcn option;
}

type cmiicmpcpce = {
  lcimodmphno : int32 list;
}

type knefbegaapc = {
  dekonpmjeen : item_list option;
  lcimodmphno : int32 list;
  retcode : int32;
}

type kcgkeidjmea = unit

type dcclgmmfhbc = {
  retcode : int32;
  dekonpmjeen : item_list option;
}

type bnkcoklflkk = unit

type hfgbgjmmnfk = {
  retcode : int32;
  pbjhjhdcafb : eonniefdoci option;
}

type chdcojajjcb = {
  lnjapmhfcck : int32;
  pbonhgdihdk : int32;
}

type ceghamagdkm = {
  retcode : int32;
  lnjapmhfcck : int32;
  pbonhgdihdk : int32;
}

type jlgocoobfoi = unit

type pjnahfbkmob = {
  retcode : int32;
}

type jkahomjihll =
  | Cmd_multiplayer_type_none 
  | Cmd_multiplayer_fight_give_up_cs_req 
  | Cmd_multiplayer_get_fight_gate_sc_rsp 
  | Cmd_multiplayer_fight_game_finish_sc_notify 
  | Cmd_multiplayer_fight_game_state_cs_req 
  | Cmd_multiplayer_fight_game_state_sc_rsp 
  | Cmd_multiplayer_fight_game_start_sc_notify 
  | Cmd_multiplayer_match3_finish_sc_notify 
  | Cmd_multiplayer_fight_give_up_sc_rsp 
  | Cmd_multiplayer_get_fight_gate_cs_req 

type nmliohboebj = unit

type kbdgpkiddla = {
  retcode : int32;
  pcmhnpbecpk : egokacjfaen list;
  nchhhomjbdk : mfoaahgomic option;
}

type oibemlbhfei = {
  hckegfdpdml : int32;
}

type habpbddflme = {
  jdmpkhbijmn : string;
  cfanklgaeoi : int32;
  jgkindfbegl : int64;
  retcode : int32;
  jdjmjenhhhl : string;
}

type bnkgpngjhkp = {
  jgkindfbegl : int64;
}

type bkmgppjcaoa = {
  retcode : int32;
}

type pdfcmfifanj = {
  pcmhnpbecpk : egokacjfaen list;
  nchhhomjbdk : mfoaahgomic option;
}

type pnegdinkbpo = {
  nchhhomjbdk : mfoaahgomic option;
}

type phnoojigfhp = {
  mgdnainpahe : donhpbjnknp;
  bnageejckgi : obminlghola option;
  ebeabgeoean : int32;
  bkhhkejcomc : int32;
}

type nglgknnfibf =
  | Cmd_multiple_drop_type_none 
  | Cmd_multiple_drop_info_notify 
  | Cmd_get_multiple_drop_info_cs_req 
  | Cmd_get_multiple_drop_info_sc_rsp 
  | Cmd_multiple_drop_info_sc_notify 
  | Cmd_get_player_return_multi_drop_info_cs_req 
  | Cmd_get_player_return_multi_drop_info_sc_rsp 

type imjaneejcfp = unit

type cneaelnihbo = {
  neaokpcagnl : int32;
  id : int32;
}

type pplkceifckf = {
  okcfllaampl : int32;
  ekieijdbdhm : int32;
  clmeaokeoaf : int32;
  fjlnncjahng : int32;
}

type chokajgcamp = {
  jphnpjmpmbm : pplkceifckf list;
  retcode : int32;
  dbkfefjmndk : cneaelnihbo list;
}

type dkaijciobno = {
  dbkfefjmndk : cneaelnihbo list;
}

type kabippgdpah = unit

type hkknlapklmg = {
  hihamdaadoi : int32;
  efbfdfnaiak : int32;
  ppkgjnfchbg : int32;
  fjlnncjahng : int32;
}

type hlmmnbaiaen = {
  retcode : int32;
  jphnpjmpmbm : pplkceifckf list;
  cfjfdcakbpd : hkknlapklmg option;
}

type hfjlillecgk = {
  icbiaedlngb : hkknlapklmg list;
  jphnpjmpmbm : pplkceifckf list;
  dbkfefjmndk : cneaelnihbo list;
}

type npcfpipllda =
  | Cmd_museum_type_none 
  | Cmd_upgrade_area_sc_rsp 
  | Cmd_museum_dispatch_finished_sc_notify 
  | Cmd_upgrade_area_cs_req 
  | Cmd_museum_target_mission_finish_notify 
  | Cmd_museum_random_event_query_cs_req 
  | Cmd_get_exhibit_sc_notify 
  | Cmd_buy_npc_stuff_sc_rsp 
  | Cmd_museum_random_event_query_sc_rsp 
  | Cmd_set_stuff_to_area_cs_req 
  | Cmd_remove_stuff_from_area_cs_req 
  | Cmd_museum_target_reward_notify 
  | Cmd_museum_random_event_start_sc_notify 
  | Cmd_museum_random_event_select_sc_rsp 
  | Cmd_finish_cur_turn_sc_rsp 
  | Cmd_museum_funds_changed_sc_notify 
  | Cmd_museum_take_collect_reward_sc_rsp 
  | Cmd_get_museum_info_cs_req 
  | Cmd_get_museum_info_sc_rsp 
  | Cmd_set_stuff_to_area_sc_rsp 
  | Cmd_upgrade_area_stat_sc_rsp 
  | Cmd_museum_take_collect_reward_cs_req 
  | Cmd_upgrade_area_stat_cs_req 
  | Cmd_museum_target_start_notify 
  | Cmd_buy_npc_stuff_cs_req 
  | Cmd_finish_cur_turn_cs_req 
  | Cmd_get_stuff_sc_notify 
  | Cmd_museum_random_event_select_cs_req 
  | Cmd_remove_stuff_from_area_sc_rsp 
  | Cmd_museum_info_changed_sc_notify 

type khpkejjhene =
  | Museum_random_event_state_none 
  | Museum_random_event_state_start 
  | Museum_random_event_state_processing 
  | Museum_random_event_state_finish 

type ibmkpfblcop =
  | Work_pos_none 
  | Work_pos_1 
  | Work_pos_2 
  | Work_pos_3 

type fkieenabkbi =
  | Stat_type_none 
  | Stat_type_art 
  | Stat_type_culture 
  | Stat_type_popular 

type gdophdklfdg =
  | Unknow 
  | Mission_reward 
  | Event_buy_stuff 
  | Market_buy_stuff 
  | Quest_reward 
  | Initial 
  | Phase_finish_reward 

type agacmpmknah = {
  ehbklolppkd : int32;
  pos : ibmkpfblcop;
}

type hekmjicgnok = {
  hjggnmndjad : int32;
  ckacngonkjj : agacmpmknah list;
  level : int32;
  lnbhmcphfdh : int32;
  fhmfhbjkfad : int32;
  ggdaffjnmpa : int32;
}

type fipbhpcfnnn = {
  hdnieedkagk : bool;
  jimincbjkpg : int32;
}

type hmjgeckckmm = {
  hibkehghjkj : fipbhpcfnnn list;
  polheomfihp : int32;
  llcmhphhafg : int32;
  doeadajcpcd : int32;
  djifmbakafg : int32;
  loacdlcljkl : int32;
}

type kopbmgbkabe = {
  amiejgmmbnn : int32;
  ehbklolppkd : int32;
}

type pabjleadhde = {
  enponpnkhhd : int32;
  ilbidmacbhl : int32;
  state : khpkejjhene;
  ohibnloihci : int32;
  ipcpammkkdf : int32;
  jmbbphkojmc : int32;
  nhnbiglcmae : int32 list;
}

type lpnaapgcinf = {
  kahdopkmaaa : int32;
  llhoijjnhbc : pabjleadhde list;
  fghkkkkbohf : int32 list;
}

type iklgpokopno = unit

type hhenfenpfmp = {
  retcode : int32;
  dplempnahkh : lpnaapgcinf option;
  njhmoljoand : int32;
  opbbglfipjf : hekmjicgnok list;
  fddiajpmfki : int32;
  akogjjegako : int32 list;
  lokhhakogkh : int32;
  okejfjflidc : hmjgeckckmm option;
  level : int32;
  ebggiceiaee : int32;
  cdgdabeaeam : int32 list;
  ckacngonkjj : kopbmgbkabe list;
  pkjhlljjldp : int32;
  exp : int32;
}

type dobbjmgakhk = {
  ehbklolppkd : int32;
}

type nlbjjifeahl = {
  retcode : int32;
  ehbklolppkd : int32;
}

type lgcgdbekgen = {
  amiejgmmbnn : int32;
  pos : ibmkpfblcop;
  ehbklolppkd : int32;
}

type lkpgdmangog = {
  retcode : int32;
  ehbklolppkd : int32;
  amiejgmmbnn : int32;
  pos : ibmkpfblcop;
}

type eaglpghjhep = {
  ehbklolppkd : int32;
}

type pfdiknclbgh = {
  retcode : int32;
  ehbklolppkd : int32;
}

type lclkpncbbhg = {
  ehbklolppkd : int32;
  cmnihjigino : gdophdklfdg;
}

type pfacpieijfn = {
  ldmpandhbcm : int32;
}

type jmonjimkcnb = {
  plpnefmoile : int32;
}

type gkbapmfchgp = {
  retcode : int32;
  negakoplbfk : int32;
}

type ginopghobbg = {
  ggdaffjnmpa : int32;
  level : int32;
}

type kpafaechgfl = {
  ggdaffjnmpa : int32;
  retcode : int32;
  level : int32;
}

type njppmfpmemf = {
  level : int32;
  apimbkdepgd : fkieenabkbi;
  ggdaffjnmpa : int32;
}

type dkebghbnkee = {
  apimbkdepgd : fkieenabkbi;
  retcode : int32;
  level : int32;
  ggdaffjnmpa : int32;
}

type plbkibglbnd = {
  level : int32;
  dplempnahkh : lpnaapgcinf option;
  opbbglfipjf : hekmjicgnok list;
  lokhhakogkh : int32;
  akogjjegako : int32 list;
  njhmoljoand : int32;
  ebggiceiaee : int32;
  exp : int32;
  pkjhlljjldp : int32;
  okejfjflidc : hmjgeckckmm option;
  fddiajpmfki : int32;
  cdgdabeaeam : int32 list;
  ckacngonkjj : kopbmgbkabe list;
}

type bbjjglacdne = {
  jpaolljmggn : pabjleadhde option;
}

type ebdhkimflce = {
  kccleanfoef : int32;
}

type occahnklaim = {
  jpaolljmggn : lpnaapgcinf option;
  retcode : int32;
}

type kekkmfdigne = {
  ohibnloihci : int32;
  jmbbphkojmc : int32;
}

type afhajlkjocl = {
  ohibnloihci : int32;
  jmbbphkojmc : int32;
  retcode : int32;
}

type adalbkfkjji = {
  njhmoljoand : int32;
}

type mbpnljhddip = {
  oaedchilhgj : int32;
  fpjnhijobaj : int32;
  njhmoljoand : int32;
  ehbklolppkd : int32;
}

type ilfmakefhbm = {
  djifmbakafg : int32;
}

type djalilghapg = {
  jimincbjkpg : int32 list;
  djifmbakafg : int32;
  loemopmkinb : bool;
}

type jcpphggjadn = {
  hgjolgkaofj : int32;
  djifmbakafg : int32;
  olfhccbiidg : int32;
}

type emegifcfcjn = {
  hgjolgkaofj : int32;
}

type egmpcjhcjbk = {
  hgjolgkaofj : int32;
  reward : item_list option;
  retcode : int32;
}

type mlfpcehlfnb =
  | Cmd_offering_type_none 
  | Cmd_get_offering_info_sc_rsp 
  | Cmd_take_offering_reward_cs_req 
  | Cmd_take_offering_reward_sc_rsp 
  | Cmd_submit_offering_item_sc_rsp 
  | Cmd_submit_offering_item_cs_req 
  | Cmd_offering_info_sc_notify 
  | Cmd_get_offering_info_cs_req 

type cmebpgjmefe =
  | Offering_state_none 
  | Offering_state_lock 
  | Offering_state_open 

type epmngcpcbkl = {
  kheopnihaff : int32;
  cfbjmkdbhai : int32;
  ippjhngkgjo : cmebpgjmefe;
  gbclnihogem : int32;
  glnpnnmnand : int32;
  gjjipefijck : int32 list;
}

type nckfngfopgm = {
  mpoedocjenp : int32 list;
}

type ookkhpnopmj = {
  retcode : int32;
  fgdljmbkbam : epmngcpcbkl list;
}

type ojlpkgeolmh = {
  gbclnihogem : int32;
  idcigdfjabi : int32;
}

type ifjbadlimjc = {
  fkamaeepnki : epmngcpcbkl option;
  retcode : int32;
}

type lncjkacchpc = {
  eoejiijmano : int32 list;
  idcigdfjabi : int32;
  gbclnihogem : int32;
}

type oeoiecpgdde = {
  reward : item_list option;
  fkamaeepnki : epmngcpcbkl option;
  retcode : int32;
}

type hlmjajcepgj = {
  fkamaeepnki : epmngcpcbkl option;
}

type bnijldmhgfa =
  | Cmd_pam_mission_type_none 
  | Cmd_accepted_pam_mission_expire_cs_req 
  | Cmd_accepted_pam_mission_expire_sc_rsp 
  | Cmd_sync_accepted_pam_mission_notify 

type maadcgflnec = {
  idlneeekpjl : int32;
}

type nhgjajlgbfb = {
  retcode : int32;
  idlneeekpjl : int32;
}

type flondkdobfn = {
  idlneeekpjl : int32;
  fkglfpgdhic : int64;
}

type mjolclhenkg =
  | Cmd_pet_type_none 
  | Cmd_recall_pet_sc_rsp 
  | Cmd_recall_pet_cs_req 
  | Cmd_cur_pet_changed_sc_notify 
  | Cmd_get_pet_data_cs_req 
  | Cmd_get_pet_data_sc_rsp 
  | Cmd_summon_pet_sc_rsp 
  | Cmd_summon_pet_cs_req 

type fkaajneaocj = unit

type fcgnnhbbenm = {
  giipokombda : int32 list;
  retcode : int32;
  pdgeengkjke : int32;
}

type fmbnjkmnjnh = {
  dljbepbhekm : int32;
}

type jbmeobcimpi = {
  bmcoijcmnnc : int32;
  retcode : int32;
  pdgeengkjke : int32;
}

type lgpllmnldic = {
  dljbepbhekm : int32;
}

type gpealbnelpe = {
  retcode : int32;
  bmcoijcmnnc : int32;
  pdgeengkjke : int32;
}

type magblgbbnha = {
  pdgeengkjke : int32;
}

type nmcfcoggnmj =
  | Cmd_phone_type_none 
  | Cmd_unlock_chat_bubble_sc_notify 
  | Cmd_get_phone_data_cs_req 
  | Cmd_get_phone_data_sc_rsp 
  | Cmd_select_chat_bubble_sc_rsp 
  | Cmd_unlock_phone_theme_sc_notify 
  | Cmd_select_phone_theme_sc_rsp 
  | Cmd_select_phone_theme_cs_req 
  | Cmd_select_chat_bubble_cs_req 

type aebnbkfhgof = unit

type kiapanmhjob = {
  ilcffmcedan : int32;
  dmplokpnddp : int32 list;
  lamdfhjndpe : int32;
  retcode : int32;
  gbljjpfnjdc : int32 list;
}

type fiflmmabnkj = {
  flefoflohfn : int32;
}

type jhccgjallic = {
  retcode : int32;
  iilafoldjig : int32;
  ilcffmcedan : int32;
}

type ihonfpmoaon = {
  flefoflohfn : int32;
}

type ncnfiancepd = {
  lgofedpnbol : int32;
}

type egcilkjklpd = {
  lamdfhjndpe : int32;
  adjfaimlabe : int32;
  retcode : int32;
}

type obcjgodlghn = {
  lgofedpnbol : int32;
}

type jdmlnacnhkn =
  | Cmd_player_type_none 
  | Cmd_get_video_version_key_cs_req 
  | Cmd_exchange_stamina_cs_req 
  | Cmd_player_login_finish_sc_rsp 
  | Cmd_set_player_info_sc_rsp 
  | Cmd_get_basic_info_sc_rsp 
  | Cmd_player_get_token_sc_rsp 
  | Cmd_exchange_stamina_sc_rsp 
  | Cmd_ace_anti_cheater_sc_rsp 
  | Cmd_unlock_avatar_path_cs_req 
  | Cmd_update_player_setting_sc_rsp 
  | Cmd_set_multiple_avatar_paths_cs_req 
  | Cmd_player_logout_sc_rsp 
  | Cmd_get_level_reward_sc_rsp 
  | Cmd_reserve_stamina_exchange_cs_req 
  | Cmd_get_multi_path_avatar_info_sc_rsp 
  | Cmd_gm_talk_sc_rsp 
  | Cmd_retcode_notify 
  | Cmd_client_download_data_sc_notify 
  | Cmd_player_login_sc_rsp 
  | Cmd_feature_switch_closed_sc_notify 
  | Cmd_set_language_cs_req 
  | Cmd_get_level_reward_cs_req 
  | Cmd_ace_anti_cheater_cs_req 
  | Cmd_stamina_info_sc_notify 
  | Cmd_player_heart_beat_sc_rsp 
  | Cmd_set_nickname_sc_rsp 
  | Cmd_anti_addict_sc_notify 
  | Cmd_update_psn_settings_info_cs_req 
  | Cmd_get_video_version_key_sc_rsp 
  | Cmd_client_obj_download_data_sc_notify 
  | Cmd_player_logout_cs_req 
  | Cmd_set_nickname_cs_req 
  | Cmd_player_login_cs_req 
  | Cmd_daily_refresh_notify 
  | Cmd_reserve_stamina_exchange_sc_rsp 
  | Cmd_get_authkey_sc_rsp 
  | Cmd_get_basic_info_cs_req 
  | Cmd_set_red_point_status_sc_notify 
  | Cmd_set_language_sc_rsp 
  | Cmd_update_feature_switch_sc_notify 
  | Cmd_set_player_info_cs_req 
  | Cmd_server_announce_notify 
  | Cmd_query_product_info_sc_rsp 
  | Cmd_unlock_avatar_path_sc_rsp 
  | Cmd_gm_talk_sc_notify 
  | Cmd_set_avatar_path_cs_req 
  | Cmd_get_multi_path_avatar_info_cs_req 
  | Cmd_avatar_path_changed_notify 
  | Cmd_get_level_reward_taken_list_cs_req 
  | Cmd_month_card_reward_notify 
  | Cmd_player_heart_beat_cs_req 
  | Cmd_region_stop_sc_notify 
  | Cmd_player_login_finish_cs_req 
  | Cmd_set_avatar_path_sc_rsp 
  | Cmd_get_secret_key_info_cs_req 
  | Cmd_client_obj_upload_cs_req 
  | Cmd_set_gender_sc_rsp 
  | Cmd_update_psn_settings_info_sc_rsp 
  | Cmd_player_get_token_cs_req 
  | Cmd_client_obj_upload_sc_rsp 
  | Cmd_set_multiple_avatar_paths_sc_rsp 
  | Cmd_set_gender_cs_req 
  | Cmd_gm_talk_cs_req 
  | Cmd_get_authkey_cs_req 
  | Cmd_query_product_info_cs_req 
  | Cmd_set_gameplay_birthday_sc_rsp 
  | Cmd_update_player_setting_cs_req 
  | Cmd_set_gameplay_birthday_cs_req 
  | Cmd_gate_server_sc_notify 
  | Cmd_get_secret_key_info_sc_rsp 
  | Cmd_player_kick_out_sc_notify 
  | Cmd_get_level_reward_taken_list_sc_rsp 

type mnekimdfhaf =
  | Authkey_sign_type_none 
  | Authkey_sign_type_default 
  | Authkey_sign_type_rsa 

type player_login_cs_req = {
  bajjablkfab : int32;
  bcijkmpjfni : string;
  difcdhddfbp : string;
  lmjolnigkkc : int32;
  blclkkidljh : int32;
  pkgmnimcpdh : string;
  language : language_type;
  dbgjcbcfaec : platform_type;
  cpmikdbdcpg : lbofjhojgph option;
  kjfcoglhkfk : bool;
  pafnmmndegp : string;
  ochimkelcde : string;
  pdidijddcno : int64;
  dmdcpeiefkg : string;
  bhoanekljhm : string;
  meijfajkmmp : string;
  mkkdakgkkhe : string;
  ogilamajgio : string;
  ghaifpffmog : string;
  fecdamigijp : string;
  mddiipbifek : string;
  cpkikinabfj : string;
  hcgjomkbloh : int32;
  mhmockcmeje : string;
  fgahpfhnncl : bool;
  pjieaeapgnl : string;
}

type player_login_sc_rsp = {
  pdidijddcno : int64;
  meilhlkmgfn : string;
  pnhfbdbkpci : string;
  kcicanjloba : bool;
  dlicepdamib : bool;
  basic_info : player_basic_info option;
  retcode : int32;
  stamina : int32;
  biinmckjhen : int32;
  mciakkehiaa : int64;
}

type player_logout_cs_req = unit

type player_get_token_cs_req = {
  dbgjcbcfaec : int32;
  oiegbkkceda : string;
  blclkkidljh : int32;
  cpdkcijkohd : string;
  lkgbcdgefjf : string;
  gmcheopahkc : int32;
  pcmajmegbld : int32;
  uid : int32;
}

type player_get_token_sc_rsp = {
  retcode : int32;
  uid : int32;
  secret_key_seed : int64;
  black_info : black_info option;
  msg : string;
}

type inhhlgadneo = {
  msg : string;
}

type kick_type =
  | Nfmnkphlpji 
  | Pncbimmkgpp 
  | Ddpbgjjdmhl 
  | Lodfdopnidg 
  | Dpnogoadhhl 
  | Hlhnikjghnb 

type player_kick_out_sc_notify = {
  black_info : black_info option;
  kick_type : kick_type;
}

type gm_talk_cs_req = {
  msg : string;
}

type gm_talk_sc_rsp = {
  retcode : int32;
  retmsg : string;
}

type get_basic_info_cs_req = unit

type player_setting_info = {
  jcnincccakl : bool;
  nhknohpdocc : bool;
  hhcgdeocomi : bool;
  ookalmpeleg : bool;
  defkcpiepnb : bool;
  ggodaiohjif : bool;
  kmjdmefgcck : bool;
  dedidajjmcj : bool;
  bkpaceckiia : bool;
}

type get_basic_info_sc_rsp = {
  gender : int32;
  cur_day : int32;
  player_setting_info : player_setting_info option;
  next_recover_time : int64;
  is_gender_set : bool;
  gameplay_birthday : int32;
  retcode : int32;
  week_cocoon_finished_count : int32;
  exchange_times : int32;
  last_set_nickname_time : int64;
}

type exchange_stamina_cs_req = unit

type exchange_stamina_sc_rsp = {
  exchange_times : int32;
  last_recover_time : int64;
  stamina_add : int32;
  retcode : int32;
  item_cost_list : item_cost list;
}

type ilhiemhgmbm = {
  mdipcjnjlpb : string;
  sign_type : int32;
  dhigcieoome : int32;
}

type lkhllhkhkki = {
  retcode : int32;
  lcdjcjmimmi : string;
  mdipcjnjlpb : string;
  dhigcieoome : int32;
  sign_type : int32;
}

type hcibichlmaa = {
  mlcpkfihkko : int64;
  hhpakondiob : int64;
}

type anti_addict_sc_notify = {
  level : string;
  msg : string;
  msg_type : int32;
}

type set_nickname_cs_req = {
  is_modify : bool;
  nickname : string;
}

type set_nickname_sc_rsp = {
  nlgoggmaeod : int64;
  is_modify : bool;
  retcode : int32;
}

type get_level_reward_taken_list_cs_req = unit

type get_level_reward_taken_list_sc_rsp = {
  retcode : int32;
  taken_level_list : int32 list;
}

type fkemblmibgd = {
  level : int32;
  idcigdfjabi : int32;
}

type pjfenccabaa = {
  level : int32;
  reward : item_list option;
  retcode : int32;
}

type bdkfldgnelf = {
  language : language_type;
}

type ihcijilblji = {
  language : language_type;
  retcode : int32;
}

type efgokaehlcl = {
  flnaoghpbna : string;
  khihdnfapob : int32;
  end_time : int64;
  begin_time : int64;
  iliojodbdeb : string;
  ohbhkcgmfek : bool;
  bhmegdiiglh : string;
  manomfgafia : int32;
  pfbnanpcdjh : int32;
}

type innjajipelm = {
  alefnglnfdd : efgokaehlcl list;
}

type cokohpcdnfo = {
  cmelkdaaapf : bool;
  ophmlpkgkij : bool;
  mmcjggcenpp : string;
  pllenlninnh : string;
  lamjdogmfam : bool;
  bblkofdgpap : string;
  ephafkmpmif : string;
  gmdfmaapebc : string;
  mlcpkfihkko : int64;
  bgpcckkddmb : bool;
  kejpmagdbai : string;
  nkfnaojjlph : string;
  hkdmdpmahem : string;
  onkpibmdmpi : string;
  fbobagpbbha : string;
  mjjbccmcplk : string;
  cfanklgaeoi : int32;
  anegjdlagll : string;
  gepfimnioke : bool;
  lpnoekiaocp : string;
  fgkgddonpkm : string;
  nejihdfafbe : int32;
  hafcipegpin : bool;
  kghpigijmbp : string;
  msg : string;
  molbpmljolo : string;
  didfenikjdg : string;
  kjadmknddjl : bool;
  khclmhjlopk : string list;
  jmaggbeaiib : string;
  okplkdhmohc : string;
  ooeapiaafnb : string;
  jelgnociekj : string;
  hhpakondiob : int64;
  opgmnlinakc : bool;
  begfcjlkmob : bool;
  nnhognglfbd : string;
  retcode : int32;
  kgljfhdhdek : string;
  cjnjnfglick : int32;
  ncdioakalen : string;
  jdmpkhbijmn : string;
  gediongpdha : bool;
  mbdacjejamf : bool;
  ificjdejjdn : string;
  dmdahpindno : string;
  gjaeghbeaio : bool;
  ddohlaegeah : int32;
  bfoekehoejp : string;
  chnmpglhncm : string;
  pggjoogfgfc : string;
  dklchemciai : bool;
  migeegecjcb : string;
  ciinblfopda : string;
  fkenkkhlhhd : bool;
  hjbndbbicdo : string;
  fggmipmoook : string;
  moikmlhoiap : bool;
  imffkkjpojc : string;
}

type feofohjeheo = {
  mmlefkndolf : string;
}

type multi_path_avatar = {
  alfcdfljlef : avatar_skill_tree list;
  rank : int32;
  cfehgipoikg : int32;
  avatar_id : multi_path_avatar_type;
  equip_relic_list : equip_relic list;
}

type jblpadknjeg = {
  avatar_id : multi_path_avatar_type;
}

type hkoboiogoan = {
  retcode : int32;
  avatar_id : multi_path_avatar_type;
}

type eeibaolcgme = {
  avatar_id_list : multi_path_avatar_type list;
}

type ckfndpojijk = {
  retcode : int32;
}

type get_multi_path_avatar_info_cs_req = unit

type get_multi_path_avatar_info_sc_rsp = {
  retcode : int32;
  epdnicajoli : multi_path_avatar list;
  dbkjfgdlemk : int32 list;
  cur_path_type_map : (int32 * multi_path_avatar_type) list;
}

type jnfhfddncdh = {
  avatar_id : multi_path_avatar_type;
}

type nfkgjkbpiop = {
  avatar_id : multi_path_avatar_type;
  reward : item_list option;
  retcode : int32;
  dbkjfgdlemk : int32 list;
}

type gnommghhgik = {
  base_avatar_id : int32;
  nbbomjghppd : multi_path_avatar_type;
}

type peiohgepkil = {
  ilpdljcncon : gender;
}

type oapapodfeaa = {
  iekbaibeoib : multi_path_avatar list;
  retcode : int32;
  cfncjocmmho : multi_path_avatar_type;
}

type galkddajoge = {
  ilpdljcncon : gender;
  nickname : string;
  is_modify : bool;
}

type aiibjgampbh = {
  cfncjocmmho : multi_path_avatar_type;
  nlgoggmaeod : int64;
  iekbaibeoib : multi_path_avatar list;
  retcode : int32;
  is_modify : bool;
}

type bknoejidmkn = unit

type kcnobmpglpa = {
  npmgknjajho : int32;
  bojlpifgmag : bool;
  kicpdkalbmn : string;
  pacmaejclee : string;
  aahjlfbfjbd : pifanmpbmaj;
  mfcdfkjanna : int32;
}

type hejbmlnejlj = {
  afmgandnccg : int64;
  retcode : int32;
  fkdbgepognd : int32;
  lhpldhjkdkp : int32;
  gmhjjigjffd : kcnobmpglpa list;
}

type doekpfaafpa = {
  reward : item_list option;
}

type jlgifffnckb = {
  download_data : client_download_data option;
}

type hlmccoifdmj = {
  data : client_obj_download_data option;
}

type update_feature_switch_sc_notify = {
  switch_info_list : feature_switch_info list;
}

type oiphpmdgaof = {
  adiialnejmk : int32;
}

type anhilnpolho = {
  hejdlhijgna : int32;
}

type fpmdbnalpfg = {
  retcode : int32;
  hejdlhijgna : int32;
}

type ihifkjipeeh = {
  eokoalkmebo : int32;
  ipnkbphbnco : string;
}

type oeokelkocae = {
  retcode : int32;
}

type lidenhkbbkf = {
  retcode : int32;
  bofegpjagop : int32 list;
}

type player_heart_beat_cs_req = {
  upload_data : client_upload_data option;
  fhbehdlecea : int32;
  client_time_ms : int64;
}

type player_heart_beat_sc_rsp = {
  server_time_ms : int64;
  client_time_ms : int64;
  download_data : client_download_data option;
  retcode : int32;
}

type ikgcpjdmdna = {
  kghcdbdmdki : feature_switch_type;
}

type lajmnegeami = {
  fgmdoekgpee : hchcnfgecjj;
  chlibbgdmco : string;
}

type kjffbpgnmjf = {
  monicakdnei : bytes;
}

type cfagkddbaib = {
  pefekdhjbce : lajmnegeami list;
  iaeneafaogo : bytes;
  retcode : int32;
}

type icpodpepelm = unit

type cobbfmhbgkd = {
  retcode : int32;
}

type ifjegahkoic = {
  ocoogaapion : int64;
  id : int32;
}

type hbgacfhandm = unit

type ehnknlejadd = {
  retcode : int32;
  hilakbadccb : ifjegahkoic list;
  nofmnpkaljn : ifjegahkoic list;
}

type ikiomheofcd = {
  pdpjiakgpbf : int32;
  gdfbnkagmgi : int32;
  ogkdpgnkfmc : int32;
  nfcojigifbb : int32;
}

type ojligkojemk = {
  gdfbnkagmgi : int32;
  nfcojigifbb : int32;
  ogkdpgnkfmc : int32;
  ibfbefobfbd : ikiomheofcd list;
  uid : int32;
}

type fhhkmlboidi = {
  kagnbjdmamf : int32;
}

type reserve_stamina_exchange_sc_rsp = {
  retcode : int32;
  num : int32;
}

type liaainkncng = {
  ggndaapphak : int64;
  stamina : int32;
  dlpphgglpbo : int32;
  gbdgbkkjfel : int64;
}

type jlbjgfcddal = {
  ookalmpeleg : bool;
  defkcpiepnb : bool;
  dedidajjmcj : bool;
  hhcgdeocomi : bool;
  ggodaiohjif : bool;
  jcnincccakl : bool;
  bkpaceckiia : bool;
  kmjdmefgcck : bool;
  nhknohpdocc : bool;
}

type jkddhpneldk = {
  mbnknhhaaik : jlbjgfcddal option;
}

type pbjhmijpmgc = {
  mbnknhhaaik : jlbjgfcddal option;
  retcode : int32;
}

type jlabhnlhoad = {
  upload_data : bytes;
  fhbehdlecea : int32;
}

type kbjjciagnij = {
  retcode : int32;
  data : client_obj_download_data option;
}

type mebodoaicgh = {
  nlacdgkpceg : string list;
}

type cnjenhgpijg = {
  gmjgmcecogm : bool;
  idfijahanmn : mebodoaicgh option;
}

type ofgpbmpjfkn = {
  gmjgmcecogm : bool;
  mkjnmafpgji : mebodoaicgh option;
  hfnmlhlcjbd : mebodoaicgh option;
}

type iakigocmcji = {
  ipeeimmbfnh : cnjenhgpijg option;
  bblbengbiof : ofgpbmpjfkn option;
}

type hhogbpfijkl = {
  retcode : int32;
}

type gdcclebbecc =
  | Cmd_player_board_type_none 
  | Cmd_set_head_icon_sc_rsp 
  | Cmd_set_is_display_avatar_info_cs_req 
  | Cmd_get_player_board_data_sc_rsp 
  | Cmd_set_assist_avatar_sc_rsp 
  | Cmd_set_signature_cs_req 
  | Cmd_set_head_icon_cs_req 
  | Cmd_set_display_avatar_sc_rsp 
  | Cmd_unlock_head_icon_sc_notify 
  | Cmd_set_signature_sc_rsp 
  | Cmd_get_player_board_data_cs_req 
  | Cmd_set_assist_avatar_cs_req 
  | Cmd_set_display_avatar_cs_req 
  | Cmd_set_is_display_avatar_info_sc_rsp 

type ilmpdolbflp = {
  id : int32;
}

type jioifojmhgg = {
  pos : int32;
  avatar_id : int32;
}

type acighdhodol = {
  ebiebipemmp : bool;
  hoannlkcmoj : jioifojmhgg list;
}

type pdbhegkejnn = unit

type ejjbfalmlpl = {
  djjdncbpmfk : ilmpdolbflp list;
  fejkecfmdnc : int32 list;
  cpkikinabfj : string;
  mffdmonhkah : int32;
  ecgmfoohejj : acighdhodol option;
  retcode : int32;
}

type pnhppeakeme = {
  id : int32;
}

type djpcljoklmh = {
  retcode : int32;
  mffdmonhkah : int32;
}

type omdgafjddhp = {
  hoannlkcmoj : jioifojmhgg list;
}

type hlghliokhof = {
  retcode : int32;
  hoannlkcmoj : jioifojmhgg list;
}

type mfeefdlinbd = {
  ebiebipemmp : bool;
}

type fegfiolhldb = {
  ebiebipemmp : bool;
  retcode : int32;
}

type egioindghap = {
  cpkikinabfj : string;
}

type opcelbkmodd = {
  cpkikinabfj : string;
  retcode : int32;
}

type bfjeegoifjh = {
  avatar_id : int32;
  avatar_id_list : int32 list;
}

type fbmllcgdeaj = {
  avatar_id_list : int32 list;
  avatar_id : int32;
  retcode : int32;
}

type kcmabmfmigk =
  | Cmd_player_return_type_none 
  | Cmd_player_return_sign_sc_rsp 
  | Cmd_player_return_take_point_reward_sc_rsp 
  | Cmd_player_return_start_sc_notify 
  | Cmd_player_return_info_query_cs_req 
  | Cmd_player_return_take_reward_cs_req 
  | Cmd_player_return_sign_cs_req 
  | Cmd_player_return_force_finish_sc_notify 
  | Cmd_player_return_take_reward_sc_rsp 
  | Cmd_player_return_take_point_reward_cs_req 
  | Cmd_player_return_point_change_sc_notify 
  | Cmd_player_return_info_query_sc_rsp 

type nnbobagndpf =
  | Player_return_none 
  | Player_return_processing 
  | Player_return_finish 

type jgednnjphao = {
  chpmfbghopb : int32;
}

type cbabjjnejcj = {
  ijifekbfnha : int32 list;
  ebfcemokigl : int32;
}

type ofhpmpnmdgi = {
  ijifekbfnha : int32 list;
  mplohdemggi : item_list list;
  retcode : int32;
  ebfcemokigl : int32;
}

type bblkpnmpogi = {
  opmjfaoockc : int32;
}

type lcpbfjjpbli = {
  fdbihcbjfpk : int32;
  okbfdiconjo : int32;
}

type komjjhcpkcl = {
  okbfdiconjo : int32;
  fdbihcbjfpk : int32;
  retcode : int32;
  lhkcfidldjf : item_list option;
}

type oejfjpbbhnd = {
  kccleanfoef : int32;
}

type mehnpknnhfl = {
  retcode : int32;
}

type mmbiokjgagb = {
  kccleanfoef : int32;
}

type kkeojconope = {
  ijifekbfnha : int32 list;
  hecfjbignbo : int32;
  jlpokcllpoi : int32 list;
  nfonlnipina : int64;
  opmjfaoockc : int32;
  status : nnbobagndpf;
  mkideamcloh : bool;
  efooffoifnf : int64;
  nokicjcmako : int32;
}

type jgpajdafmnb = {
  retcode : int32;
  fjldoaefpfo : kkeojconope option;
  cbajboeeomd : int32;
}

type eejjcahpekl = {
  fjldoaefpfo : kkeojconope option;
}

type pnnnehdhbgn =
  | Cmd_plot_type_none 
  | Cmd_finish_plot_sc_rsp 
  | Cmd_finish_plot_cs_req 

type hcgpfgeaemh = {
  bbdpimddalm : int32;
}

type nnjkpmjkbhg = {
  retcode : int32;
  bbdpimddalm : int32;
}

type clplinbmjbm =
  | Cmd_punk_lord_type_none 
  | Cmd_get_punk_lord_battle_record_sc_rsp 
  | Cmd_punk_lord_raid_time_out_sc_notify 
  | Cmd_share_punk_lord_monster_cs_req 
  | Cmd_share_punk_lord_monster_sc_rsp 
  | Cmd_punk_lord_data_change_notify 
  | Cmd_summon_punk_lord_monster_sc_rsp 
  | Cmd_get_killed_punk_lord_monster_data_cs_req 
  | Cmd_take_punk_lord_point_reward_sc_rsp 
  | Cmd_get_punk_lord_data_sc_rsp 
  | Cmd_start_punk_lord_raid_cs_req 
  | Cmd_get_punk_lord_data_cs_req 
  | Cmd_punk_lord_monster_info_sc_notify 
  | Cmd_summon_punk_lord_monster_cs_req 
  | Cmd_punk_lord_battle_result_sc_notify 
  | Cmd_get_punk_lord_monster_data_sc_rsp 
  | Cmd_take_killed_punk_lord_monster_score_cs_req 
  | Cmd_start_punk_lord_raid_sc_rsp 
  | Cmd_take_killed_punk_lord_monster_score_sc_rsp 
  | Cmd_punk_lord_monster_killed_notify 
  | Cmd_get_punk_lord_battle_record_cs_req 
  | Cmd_take_punk_lord_point_reward_cs_req 
  | Cmd_get_killed_punk_lord_monster_data_sc_rsp 
  | Cmd_get_punk_lord_monster_data_cs_req 

type anphoopdlbn =
  | Punk_lord_operation_none 
  | Punk_lord_operation_refresh 
  | Punk_lord_operation_share 
  | Punk_lord_operation_start_raid 
  | Punk_lord_operation_get_battle_record 

type coalhafipng = {
  ddihfbmjacj : fgljkmekiom option;
  licghlgbmla : punk_lord_attacker_status;
  ipobnmhpfee : int32;
  basic_info : aapoalmfpan option;
}

type kmnmjombhjl = unit

type glnelhcpcpo = {
  retcode : int32;
  nnbfbfanojd : coalhafipng list;
}

type icndgmffmhn = {
  hombibbpmjk : bool;
  monster_id : int32;
  uid : int32;
}

type mlefcdfhiha = {
  kkkabkogeii : int64;
  hombibbpmjk : bool;
  retcode : int32;
  bfdolepkbod : int32 list;
  scene : dnlbhaceial option;
  gdlljbeglci : coalhafipng option;
}

type mjakmiepdjo = {
  cpefaednmcc : punk_lord_share_type;
  monster_id : int32;
  uid : int32;
}

type jopjgmdmfhh = {
  uid : int32;
  cpefaednmcc : punk_lord_share_type;
  monster_id : int32;
  retcode : int32;
}

type gmlancnhncj = unit

type gnhkpibagdn = {
  retcode : int32;
  gdlljbeglci : coalhafipng option;
}

type haliddbdjlp = {
  level : int32;
  mhegpegfggg : bool;
}

type lohjjbdekdb = {
  mhegpegfggg : bool;
  retcode : int32;
  level : int32;
  reward : item_list option;
}

type acegholnboi = {
  mgdnainpahe : punk_lord_monster_info_notify_reason;
  ddihfbmjacj : punk_lord_battle_record option;
  bfdolepkbod : int32 list;
  basic_info : aapoalmfpan option;
}

type pgkolkmnkmn = unit

type dimdoakchag = {
  figonclcnhj : int32;
  jcaainbemcb : int32;
  pmpdkbcelef : int32;
  pojkpinipio : int32;
  fijcinagcbc : int32;
  ogelbpicnhe : int64;
  ihkmfjnfjlk : int32 list;
  retcode : int32;
}

type idfhehkpdhn = {
  gdlljbeglci : aapoalmfpan option;
}

type ojdimogobok = {
  gdlljbeglci : aapoalmfpan option;
  ddihfbmjacj : punk_lord_battle_record option;
  epjmalbjbfl : int32;
  dkjohfibjfb : int32;
  inncjmgfgip : int32;
}

type iffmlndfbim = {
  jgghhdjnepo : int32;
  monster_id : int32;
  fgilieldboi : int64;
  world_level : int32;
  kjpdknocoeo : bool;
  pfbnanpcdjh : int32;
}

type hkfkcmjlfdl = unit

type jfdfegkckae = {
  retcode : int32;
  ppbaggdodle : hbbaohkdklj list;
  enlhpceoajj : iffmlndfbim list;
}

type kjnjdnhcdik = {
  fckknkkgaal : iffmlndfbim option;
}

type dgbpdpgampb = {
  fjnpddmldld : hbbaohkdklj option;
  ikcpmimknmj : bool;
}

type pgomokjlnia = {
  retcode : int32;
  ikcpmimknmj : bool;
  lpgaoolbbfm : int32;
  jmeheohdpek : hbbaohkdklj list;
}

type miohefaegmd = {
  jcaainbemcb : int32;
  pojkpinipio : int32;
  figonclcnhj : int32;
}

type dhdcjejdhoh = {
  fjnpddmldld : hbbaohkdklj option;
}

type aimdhjaenjj = {
  retcode : int32;
  fodcominece : punk_lord_battle_replay list;
  fjnpddmldld : hbbaohkdklj option;
  eolalkfgdal : punk_lord_battle_record list;
}

type cpgjejnngoe =
  | Cmd_quest_type_none 
  | Cmd_batch_get_quest_data_sc_rsp 
  | Cmd_get_quest_data_cs_req 
  | Cmd_take_quest_optional_reward_sc_rsp 
  | Cmd_quest_record_sc_notify 
  | Cmd_finish_quest_sc_rsp 
  | Cmd_batch_get_quest_data_cs_req 
  | Cmd_get_quest_record_cs_req 
  | Cmd_take_quest_optional_reward_cs_req 
  | Cmd_get_quest_data_sc_rsp 
  | Cmd_take_quest_reward_cs_req 
  | Cmd_finish_quest_cs_req 
  | Cmd_take_quest_reward_sc_rsp 
  | Cmd_get_quest_record_sc_rsp 

type jjofecmhbon =
  | Quest_none 
  | Quest_doing 
  | Quest_finish 
  | Quest_close 
  | Quest_delete 

type oblnmhfpkob = unit

type eejpmepikga = {
  nfonlnipina : int64;
  id : int32;
  status : jjofecmhbon;
  progress : int32;
  pnkhfhpabgb : int32 list;
}

type lmnopfmjoco = {
  pnlbagbglfd : eejpmepikga list;
  igcimdmbdfa : int32;
  retcode : int32;
}

type bboncngkkfh = {
  chcdpcmpihk : int32 list;
}

type take_quest_reward_sc_rsp = {
  retcode : int32;
  succ_quest_id_list : int32 list;
  reward : item_list option;
}

type gimgmgjgkni = {
  gjbdmneacbj : int32;
  apbdbeabddj : int32;
}

type mcekcfpcaap = {
  reward : item_list option;
  gjbdmneacbj : int32;
  retcode : int32;
}

type kmffdlklgng = unit

type kmgpadlinip = {
  progress : int32;
  kkbjlhilfen : int32;
}

type hfdblljhijn = {
  jjichfkkmjl : kmgpadlinip list;
  retcode : int32;
}

type pnhijbbmjhk = {
  kklhgagcopa : kmgpadlinip option;
}

type hckfdajnjec = {
  prop_id : int32;
  gjbdmneacbj : int32;
  group_id : int32;
}

type lpcjcddpmeo = {
  retcode : int32;
}

type mdgdpmjnbnp = {
  pnlbagbglfd : int32 list;
}

type lehcpjafdea = {
  pnlbagbglfd : eejpmepikga list;
  retcode : int32;
}

type chechglhkhl =
  | Cmd_raid_type_none 
  | Cmd_start_raid_sc_rsp 
  | Cmd_get_challenge_raid_info_sc_rsp 
  | Cmd_start_raid_cs_req 
  | Cmd_set_client_raid_target_count_cs_req 
  | Cmd_raid_kick_by_server_sc_notify 
  | Cmd_get_save_raid_sc_rsp 
  | Cmd_get_all_save_raid_cs_req 
  | Cmd_challenge_raid_notify 
  | Cmd_raid_info_notify 
  | Cmd_leave_raid_cs_req 
  | Cmd_get_all_save_raid_sc_rsp 
  | Cmd_get_raid_info_sc_rsp 
  | Cmd_take_challenge_raid_reward_cs_req 
  | Cmd_get_raid_info_cs_req 
  | Cmd_del_save_raid_sc_notify 
  | Cmd_take_challenge_raid_reward_sc_rsp 
  | Cmd_set_client_raid_target_count_sc_rsp 
  | Cmd_get_save_raid_cs_req 
  | Cmd_leave_raid_sc_rsp 
  | Cmd_get_challenge_raid_info_cs_req 

type phlppgocmfk =
  | Raid_status_none 
  | Raid_status_doing 
  | Raid_status_finish 
  | Raid_status_failed 

type lgbplphaacb =
  | Raid_target_status_none 
  | Raid_target_status_doing 
  | Raid_target_status_finish 

type ehhjocaaaba =
  | Raid_kick_reason_none 
  | Raid_kick_reason_activity_schedule_finish 

type jpfgmcipjmm = {
  prop_entity_id : int32;
  avatar_list : int32 list;
  ikpjplopmjk : int32;
  chbdfdolhoc : int32;
  world_level : int32;
}

type ndjiajphifk = {
  retcode : int32;
  scene : dnlbhaceial option;
}

type fjhkfgdlibf = {
  chbdfdolhoc : bool;
  ikpjplopmjk : int32;
}

type djabebmofde = {
  retcode : int32;
}

type hhikhceehbb = {
  koinobbmjaa : lgbplphaacb;
  glaokkggino : int32;
  dpepdejdlka : int32;
}

type knjianifiba = {
  pdpfcfglgco : item_list option;
  status : phlppgocmfk;
  mpfnjpaeobp : int64;
  world_level : int32;
  hhnnjledapn : hhikhceehbb list;
  ikpjplopmjk : int32;
}

type adffgpcjffg = {
  gakmanenkmh : int32;
  ikpjplopmjk : int32;
}

type jcifaehlamo = {
  goccbdenfle : int32 list;
  world_level : int32;
  ikpjplopmjk : int32;
}

type iikolamhenh = unit

type get_raid_info_sc_rsp = {
  challenge_taken_reward_id_list : int32 list;
  challenge_raid_list : adffgpcjffg list;
  finished_raid_info_list : jcifaehlamo list;
  retcode : int32;
}

type koocbfbkebc = unit

type kohffnboocd = {
  retcode : int32;
  clbadgogepf : adffgpcjffg list;
  ghchnanjdfb : int32 list;
}

type haiedplfomf = {
  bhcnfehdnfg : int32;
}

type goobncpndib = {
  reward : item_list option;
  bhcnfehdnfg : int32;
  retcode : int32;
}

type eliccgkomcl = {
  onhjiaijhop : adffgpcjffg option;
}

type fjiefeeohjh = {
  progress : int32;
  kpibjmjbjod : int32;
}

type gbmeonklkdc = {
  retcode : int32;
  kpibjmjbjod : int32;
  progress : int32;
}

type cgmldddjpfl = {
  world_level : int32;
  ikpjplopmjk : int32;
}

type mldbcfbgieb = {
  world_level : int32;
  retcode : int32;
  ikpjplopmjk : int32;
  chbdfdolhoc : bool;
  hhnnjledapn : hhikhceehbb list;
}

type hmcbkcliekg = {
  hhnnjledapn : hhikhceehbb list;
  ikpjplopmjk : int32;
  world_level : int32;
}

type dinmibgodol = unit

type klidemocfdg = {
  ejkajanlmkl : hmcbkcliekg list;
  retcode : int32;
}

type oeajhnfofoc = {
  ikpjplopmjk : int32;
  world_level : int32;
}

type njcahpomndl = {
  mgdnainpahe : ehhjocaaaba;
  lineup : lineup_info option;
  world_level : int32;
  ikpjplopmjk : int32;
  scene : scene_info option;
}

type hflgjkjjmim =
  | Cmd_raid_collection_type_none 
  | Cmd_raid_collection_enter_next_raid_cs_req 
  | Cmd_raid_collection_enter_next_raid_sc_rsp 
  | Cmd_raid_collection_data_sc_notify 
  | Cmd_raid_collection_data_sc_rsp 
  | Cmd_raid_collection_data_cs_req 

type bkaomcmepci = {
  infplhaigop : int32;
}

type ppijcmkiogi = unit

type fgkfloacjen = {
  retcode : int32;
  cjbdijhedpo : bkaomcmepci list;
}

type hjpgejdfpae = {
  hciobbpgkbe : bkaomcmepci option;
}

type bliiedplbfc = {
  world_level : int32;
  ikpjplopmjk : int32;
  chbdfdolhoc : int32;
  avatar_list : int32 list;
}

type efgangejahe = {
  scene : dnlbhaceial option;
  retcode : int32;
}

type iipfogjkbdd =
  | Cmd_red_dot_type_none 
  | Cmd_update_red_dot_data_cs_req 
  | Cmd_get_single_red_dot_param_group_cs_req 
  | Cmd_get_single_red_dot_param_group_sc_rsp 
  | Cmd_get_all_red_dot_data_cs_req 
  | Cmd_update_red_dot_data_sc_rsp 
  | Cmd_get_all_red_dot_data_sc_rsp 

type ljhkjfilggp =
  | Update_reddot_none 
  | Update_reddot_add 
  | Update_reddot_replace 

type pljklolgala = {
  odjegmnefag : int32 list;
}

type oefagcankoa = {
  lejmmaeibga : int32;
  fjlnncjahng : int32;
  jhoejhpfmme : (int32 * pljklolgala) list;
}

type cllhoejpnlc = unit

type bdpfmlechij = {
  ldganldgeln : oefagcankoa list;
  retcode : int32;
}

type cnaimppnfcb = {
  lejmmaeibga : int32;
  param_list : int32 list;
  group_id : int32;
  fjlnncjahng : int32;
  kifpepeebco : ljhkjfilggp;
}

type cfloccjogdo = {
  group_id : int32;
  retcode : int32;
  lejmmaeibga : int32;
  fjlnncjahng : int32;
}

type jiddlbiohfe = {
  fjlnncjahng : int32;
  lejmmaeibga : int32;
  group_id : int32;
}

type hplgncaacpa = {
  lejmmaeibga : int32;
  group_id : int32;
  fjlnncjahng : int32;
  lgghoaagahj : pljklolgala option;
  retcode : int32;
}

type pfmnoejepaf =
  | Cmd_replay_type_none 
  | Cmd_get_replay_token_sc_rsp 
  | Cmd_get_replay_token_cs_req 
  | Cmd_get_player_replay_info_cs_req 
  | Cmd_get_player_replay_info_sc_rsp 

type bbiaodgpdie = {
  dmlnkapjjni : string;
  stage_id : int32;
  oeoikijbcfg : int32;
  blnoeiceljf : replay_type;
  laneigjfepk : string;
  lfnjmcnfhha : int32;
}

type kbnonoecgia = {
  retcode : int32;
  blnoeiceljf : replay_type;
  stage_id : int32;
  oiegbkkceda : string;
  laneigjfepk : string;
}

type amejgemekhj = unit

type mgbehfompfh = {
  retcode : int32;
  negllhlgeni : nlhgcplikkp list;
}

type mjejbpdgghg =
  | Cmd_rnd_option_type_none 
  | Cmd_daily_first_meet_pam_sc_rsp 
  | Cmd_get_rnd_option_cs_req 
  | Cmd_get_rnd_option_sc_rsp 
  | Cmd_daily_first_meet_pam_cs_req 

type kkpoiboahff = {
  id : int32;
}

type apghjcccmob = {
  retcode : int32;
  ljpbjpagadf : int32 list;
}

type dlckmkconlg = unit

type dcjhfjbaedn = {
  retcode : int32;
}

type fgllegeeied =
  | Cmd_rogue_type_none 
  | Cmd_get_rogue_info_cs_req 
  | Cmd_get_rogue_buff_enhance_info_cs_req 
  | Cmd_exchange_rogue_reward_key_sc_rsp 
  | Cmd_sync_rogue_explore_win_sc_notify 
  | Cmd_sync_rogue_status_sc_notify 
  | Cmd_leave_rogue_sc_rsp 
  | Cmd_get_rogue_info_sc_rsp 
  | Cmd_take_rogue_score_reward_cs_req 
  | Cmd_sync_rogue_aeon_level_up_reward_sc_notify 
  | Cmd_finish_aeon_dialogue_group_sc_rsp 
  | Cmd_enable_rogue_talent_cs_req 
  | Cmd_open_rogue_chest_sc_rsp 
  | Cmd_get_rogue_score_reward_info_cs_req 
  | Cmd_sync_rogue_reward_info_sc_notify 
  | Cmd_revive_rogue_avatar_cs_req 
  | Cmd_get_rogue_initial_score_cs_req 
  | Cmd_enter_rogue_cs_req 
  | Cmd_finish_aeon_dialogue_group_cs_req 
  | Cmd_get_rogue_talent_info_sc_rsp 
  | Cmd_take_rogue_aeon_level_reward_cs_req 
  | Cmd_quit_rogue_sc_rsp 
  | Cmd_leave_rogue_cs_req 
  | Cmd_take_rogue_aeon_level_reward_sc_rsp 
  | Cmd_get_rogue_aeon_info_sc_rsp 
  | Cmd_get_rogue_score_reward_info_sc_rsp 
  | Cmd_sync_rogue_area_unlock_sc_notify 
  | Cmd_enhance_rogue_buff_sc_rsp 
  | Cmd_enter_rogue_map_room_cs_req 
  | Cmd_revive_rogue_avatar_sc_rsp 
  | Cmd_pick_rogue_avatar_cs_req 
  | Cmd_sync_rogue_aeon_sc_notify 
  | Cmd_sync_rogue_virtual_item_info_sc_notify 
  | Cmd_open_rogue_chest_cs_req 
  | Cmd_enter_rogue_sc_rsp 
  | Cmd_sync_rogue_get_item_sc_notify 
  | Cmd_sync_rogue_pick_avatar_info_sc_notify 
  | Cmd_enhance_rogue_buff_cs_req 
  | Cmd_take_rogue_score_reward_sc_rsp 
  | Cmd_exchange_rogue_reward_key_cs_req 
  | Cmd_get_rogue_buff_enhance_info_sc_rsp 
  | Cmd_enable_rogue_talent_sc_rsp 
  | Cmd_get_rogue_aeon_info_cs_req 
  | Cmd_quit_rogue_cs_req 
  | Cmd_sync_rogue_revive_info_sc_notify 
  | Cmd_get_rogue_talent_info_cs_req 
  | Cmd_sync_rogue_map_room_sc_notify 
  | Cmd_sync_rogue_finish_sc_notify 
  | Cmd_sync_rogue_season_finish_sc_notify 
  | Cmd_pick_rogue_avatar_sc_rsp 
  | Cmd_get_rogue_initial_score_sc_rsp 
  | Cmd_start_rogue_cs_req 
  | Cmd_enter_rogue_map_room_sc_rsp 
  | Cmd_start_rogue_sc_rsp 

type ofhnfenfeai =
  | Rogue_status_none 
  | Rogue_status_doing 
  | Rogue_status_pending 
  | Rogue_status_endless 
  | Rogue_status_finish 

type mbnocjilejg =
  | Rogue_room_status_none 
  | Rogue_room_status_lock 
  | Rogue_room_status_unlock 
  | Rogue_room_status_play 
  | Rogue_room_status_finish 

type gjdmagoenld =
  | Rogue_area_status_lock 
  | Rogue_area_status_unlock 
  | Rogue_area_status_first_pass 
  | Rogue_area_status_close 

type nnnopllagge =
  | Rogue_buff_source_type_none 
  | Rogue_buff_source_type_select 
  | Rogue_buff_source_type_enhance 
  | Rogue_buff_source_type_miracle 
  | Rogue_buff_source_type_dialogue 
  | Rogue_buff_source_type_bonus 
  | Rogue_buff_source_type_maze_skill 
  | Rogue_buff_source_type_shop 
  | Rogue_buff_source_type_level_mechanism 
  | Rogue_buff_source_type_endless_level_start 

type dblpgacnlah =
  | Rogue_miracle_source_type_none 
  | Rogue_miracle_source_type_select 
  | Rogue_miracle_source_type_dialogue 
  | Rogue_miracle_source_type_bonus 
  | Rogue_miracle_source_type_use 
  | Rogue_miracle_source_type_reset 
  | Rogue_miracle_source_type_replace 
  | Rogue_miracle_source_type_trade 
  | Rogue_miracle_source_type_get 
  | Rogue_miracle_source_type_shop 
  | Rogue_miracle_source_type_maze_skill 
  | Rogue_miracle_source_type_level_mechanism 
  | Rogue_miracle_source_type_endless_level_start 

type npbmfealpda =
  | Rogue_dialogue_result_succ 
  | Rogue_dialogue_result_fail 

type lffandejddm = {
  buff_list : jfbmlneajki list;
}

type ifiajgbcpfe = {
  niiplnimbdh : mbnocjilejg;
  ioijcfnndfi : int32;
  mfdelanaicp : int32;
  bnbhejbnipl : mbnocjilejg;
  dmlfebgjkkb : int32;
}

type kcoenpcpemg = {
  lnjapmhfcck : int32;
  gflhplhjaeh : int32;
  ggdaffjnmpa : int32;
  dgigimbnnlb : int32;
  jmmfccfiepc : ifiajgbcpfe list;
}

type gkhpicdajdl = {
  lnjapmhfcck : int32;
  ggdaffjnmpa : int32;
  emcojpeknnm : gjdmagoenld;
  ennhncalcjj : bool;
  ediopngagap : int32;
  bejkhpkacji : ofhnfenfeai;
}

type iacnppnpccc = {
  jjnpbehjnjb : int32 list;
  fliodcbfcfb : int32;
  cggbcjdjmcm : bool;
  phnnlfhkehl : int32;
  njohallnnnf : int32;
  cbjpfggchfh : hbdomioniba;
  okgomocdmna : int32;
  pagddbhndgi : int32;
  leggojccbin : int32;
  aionnejpeag : item_cost_data option;
  nehaljheool : jfbmlneajki list;
  hdialjfomdi : int32;
  kfnmpcoanof : int32;
}

type ihjjjmhfaan = {
  bjijcdggdde : jfbmlneajki list;
  hjcdfejpjcl : jfbmlneajki option;
}

type omfcngipdgf = {
  eikoihamlka : jfbmlneajki list;
  ckmcdophoho : jfbmlneajki list;
  comnknfemfn : int32;
}

type jgadagdbegl = {
  pkkfndimmio : int32;
  lohpklihemj : item_cost_data option;
  knaoedajjai : float;
}

type oeahdnkofon = {
  lgbagcehkme : jgadagdbegl list;
}

type fohcbjkjedg = {
  afefamkndoo : int32;
  ichkjnfaacl : int32;
  edcaibmdknh : (int32 * int32) list;
  ekieijdbdhm : int32;
  fomcmdmpdcg : int32;
}

type oekndgfgeji = {
  lpmiommhiek : int32;
  pcpkkbfpbeb : fohcbjkjedg list;
  aoolkgbeieh : int32;
}

type liidngdpinl = {
  ohmlalbookj : int32 list;
  pmoenkofnla : oekndgfgeji option;
}

type bfaggjhfpdi = {
  ccdkldffekl : int32 list;
}

type enhkgahlnjm = {
  ofaekfangcn : int32 list;
}

type ogekjemplng = {
  amdnjffegfp : int32;
  ekpahpdniff : item_list option;
  oddcohjamko : lffandejddm option;
}

type mhbicckbklh = {
  joipnmmehbm : item_cost_data option;
  felfdbckgbe : int32 list;
  japlhpdhbci : int32;
  efiaofpjjan : int32;
}

type ikpacpiajlh = {
  foenmmipefp : int32;
}

type keenhmggipf = {
  gannhbnhjmp : int32;
  okgomocdmna : int32;
  ihlccndmjfi : int32;
  cfffhjomjao : int32;
}

type gdeajeoinom = {
  okhflbihfhm : int32 list;
  boijkbofiid : mhbicckbklh option;
  dfkpgckchah : int32 list;
  base_avatar_id_list : int32 list;
}

type lbcnahcogfm = {
  pmoenkofnla : oekndgfgeji option;
}

type ppachbcgdfe = {
  gcmeendacok : int32 list;
}

type nhnblapbcjc = {
  efejfkooglh : int32;
  aobifgleena : bool;
  agndiegkeih : int32;
}

type fkmaamoekbp = {
  nehaljheool : jfbmlneajki list;
}

type mnkgimgdlhm = {
  nnibggkcbdj : gdeajeoinom option;
  pmoenkofnla : lbcnahcogfm option;
  fchbbphcclc : ppachbcgdfe option;
  lfleifodebe : blhhnmhcodp option;
  imelchpnpgc : kcoenpcpemg option;
  blgceifkfbp : bool;
  kjicoehehhk : nhnblapbcjc option;
  status : ofhnfenfeai;
  ocjhnoaacgc : glbffhmcbkd option;
  pogejanpebj : fkmaamoekbp option;
}

type hfknoalpegg = {
  aegcbbajcgf : gkhpicdajdl list;
}

type ilbadbbdfbm = {
  gahcmamleil : int32;
  cgbmpnplkfj : int32;
}

type kfibbcigege = {
  efejfkooglh : int32;
  hbjejpcphbf : int32 list;
  aobifgleena : bool;
  gijofajjcak : int32;
}

type hdpejplkedj = {
  end_time : int64;
  begin_time : int64;
  ookciddhnhn : int32;
}

type mlieimmance = {
  deafkpjjgab : hfknoalpegg option;
  dgohjiekiai : ilbadbbdfbm option;
  kjicoehehhk : kfibbcigege option;
  ejcijjnlahl : kgljkmgbdnk option;
  njokhdgdfcm : hdpejplkedj option;
}

type jklldafipmj = {
  gngfcddjjbi : mnkgimgdlhm option;
  fecdamigijp : mlieimmance option;
}

type flaiejgpbla = {
  gcflbbikckf : enhkgahlnjm option;
}

type glbeljclheb = {
  efejfkooglh : int32;
  aobifgleena : bool;
  hbjejpcphbf : int32 list;
  agndiegkeih : int32;
  gijofajjcak : int32;
}

type boilblgpbkn = {
  level : int32;
  nncdpbdokbj : int32;
  exp : int32;
  bajeglndfpe : int32;
}

type rogue_dialogue_event_param = {
  is_valid : bool;
  dialogue_event_id : int32;
  int_value : int32;
  ratio : float;
  arg_id : int32;
}

type hdhjljcibih = {
  dppfaapfama : int32 list;
  jpiojenbgdi : rogue_dialogue_event_param list;
  ebffkdhgkgl : int32;
  jnboodjdmho : int32;
  game_mode_type : int32;
  hgfnojflbcl : int32;
}

type gplahfgkjfi = {
  hkbihdlbllh : npbmfealpda;
  fkkedckadhe : int32 list;
  ekpahpdniff : item_list option;
}

type edehjanelbl = unit

type elbfiobopib = {
  retcode : int32;
  kbneaoehnob : jklldafipmj option;
}

type lpimpachcfm = {
  idcigdfjabi : int32;
  bajeglndfpe : int32;
  eabjmdoajdk : int32 list;
  ggdaffjnmpa : int32;
  base_avatar_id_list : int32 list;
  okhflbihfhm : int32 list;
}

type eijoglklgmn = {
  scene : scene_info option;
  kbneaoehnob : jklldafipmj option;
  pnbpdbgfffd : cioeahefpln option;
  lineup : lineup_info option;
  retcode : int32;
}

type hkbaifbfaic = {
  ggdaffjnmpa : int32;
  idcigdfjabi : int32;
}

type lekhmhfkdjf = {
  retcode : int32;
  lineup : lineup_info option;
  pnbpdbgfffd : cioeahefpln option;
  kbneaoehnob : jklldafipmj option;
  scene : scene_info option;
}

type idodjdfmdfo = unit

type ckegndkdnno = {
  scene : scene_info option;
  pnbpdbgfffd : cioeahefpln option;
  lineup : lineup_info option;
  retcode : int32;
  kbneaoehnob : jklldafipmj option;
}

type anlgfnikibd = {
  mjhepdejndc : dgolpjpbccp option;
}

type neffgondoan = {
  okhflbihfhm : int32 list;
  base_avatar_id_list : int32 list;
  prop_entity_id : int32;
}

type moeggpbedmb = {
  retcode : int32;
  okhflbihfhm : int32 list;
  base_avatar_id_list : int32 list;
}

type kgbineghcnh = {
  base_avatar_id_list : int32 list;
  base_avatar_id : int32;
  idcigdfjabi : int32;
  okhflbihfhm : int32 list;
}

type aaiajmednek = {
  boijkbofiid : mhbicckbklh option;
  fkhdphhhdff : int32;
  base_avatar_id : int32;
  retcode : int32;
  okhflbihfhm : int32 list;
  base_avatar_id_list : int32 list;
}

type ofjdflhcbno = {
  boijkbofiid : mhbicckbklh option;
}

type hgfggbgbkma = unit

type bmnacahlhkf = {
  jkdkdpoblli : oeahdnkofon option;
  retcode : int32;
}

type ikmcocgkpfb = {
  paofpgekpfe : int32;
}

type hmphcjllhlg = {
  retcode : int32;
  boeaanepgoc : bool;
  amikofgncbo : jfbmlneajki option;
}

type egakdgnfohg = {
  ggdaffjnmpa : int32;
}

type penkmieihcg = {
  mjhepdejndc : dgolpjpbccp option;
  kbneaoehnob : jklldafipmj option;
  retcode : int32;
}

type lcepafndlhi = {
  blgceifkfbp : bool;
}

type mpebchgcinh = {
  ejcijjnlahl : kgljkmgbdnk option;
  mjhepdejndc : dgolpjpbccp option;
  lineup : lineup_info option;
  scene : scene_info option;
  amcmdlgpofj : bool;
}

type llnijpmjopo = {
  ioijcfnndfi : int32;
  mfdelanaicp : int32;
}

type jgcndbojpog = {
  pnbpdbgfffd : cioeahefpln option;
  retcode : int32;
  dgigimbnnlb : int32;
  lineup : lineup_info option;
  scene : scene_info option;
}

type glljcdfnpem = {
  lnjapmhfcck : int32;
  glbbhlbjecp : ifiajgbcpfe option;
}

type gchjjpflnkb = {
  gehbffmbgmi : bool;
  idcigdfjabi : int32;
}

type hofgmeoijfj = {
  retcode : int32;
  reward : item_list option;
  acpoidmpoae : item_list option;
}

type bpmdjhmbdkl = {
  count : int32;
}

type exchange_rogue_reward_key_sc_rsp = {
  count : int32;
  retcode : int32;
}

type aeioghldhlc = {
  ggdaffjnmpa : int32;
}

type hodomdmcjol = {
  dihnhalhcih : item_list option;
  donbbmfeogl : item_list option;
}

type bcbecaaneef = {
  level : int32;
  bajeglndfpe : int32;
}

type nofljpbanih = {
  retcode : int32;
  reward : item_list option;
  bajeglndfpe : int32;
  level : int32;
}

type bmplpcnnkec = {
  level : int32;
  bajeglndfpe : int32;
  reward : item_list option;
}

type mhednfmeopa = unit

type ckblkmocjmf = {
  jpaolljmggn : kgljkmgbdnk option;
  retcode : int32;
}

type jgajkhkkeio = {
  bnhepammdhc : int32;
  dcadeobidnh : int32 list;
}

type lkofhppadca = {
  bnhepammdhc : int32;
  ejcijjnlahl : kgljkmgbdnk option;
  reward : item_list option;
  retcode : int32;
}

type fkmaillmohj = unit

type lknpoemfdno = {
  ejcijjnlahl : kgljkmgbdnk option;
  retcode : int32;
}

type pggpopocflm = unit

type elhiacmnajc = {
  retcode : int32;
  ihneplfgmdc : boilblgpbkn list;
}

type hbfjgoicaol = {
  bajeglndfpe : int32;
}

type jigppbjhmnp = {
  kjicoehehhk : boilblgpbkn option;
  reward : item_list option;
  retcode : int32;
}

type moagaeodfnn = unit

type lbfbelnigfh = {
  retcode : int32;
  bbanknacajb : lljpmigaffg option;
}

type baglomejene = {
  hehehnicpjn : int32;
}

type kdgaocegfdf = {
  retcode : int32;
  bbanknacajb : lljpmigaffg option;
}

type fjijhabofak = {
  dgohjiekiai : keenhmggipf option;
}

type jnibnndccka = {
  ddknigaggof : bool;
  status : ofhnfenfeai;
}

type amnocflooda = {
  ejcijjnlahl : kgljkmgbdnk option;
}

type kmhcdlibnek = {
  okhflbihfhm : int32 list;
  base_avatar_id_list : int32 list;
}

type oidpdohncaa = {
  ijmlpfaaino : glbeljclheb option;
}

type ogoiebcjefd =
  | Cmd_rogue_arcade_type_none 
  | Cmd_rogue_arcade_leave_cs_req 
  | Cmd_rogue_arcade_start_cs_req 
  | Cmd_rogue_arcade_restart_cs_req 
  | Cmd_rogue_arcade_get_info_cs_req 
  | Cmd_rogue_arcade_get_info_sc_rsp 
  | Cmd_rogue_arcade_leave_sc_rsp 
  | Cmd_rogue_arcade_start_sc_rsp 
  | Cmd_rogue_arcade_restart_sc_rsp 

type ddignhhjpae = {
  lineup : lineup_info option;
  pnbpdbgfffd : cioeahefpln option;
  scene : scene_info option;
}

type fhlefpomfno = {
  base_avatar_id_list : int32 list;
  mfdelanaicp : int32;
}

type kkmphcoinno = {
  retcode : int32;
  mfdelanaicp : int32;
  hiacklcdijn : ddignhhjpae option;
}

type lkaelkhnclo = unit

type jfncdjjoiln = {
  retcode : int32;
  hiacklcdijn : ddignhhjpae option;
}

type hhkmgndniim = unit

type keejcoilnoh = {
  retcode : int32;
  hiacklcdijn : ddignhhjpae option;
}

type kodhakndeeg = unit

type gjfcgaliifa = {
  retcode : int32;
  mfdelanaicp : int32;
}

type mkgcjlllhmo =
  | Cmd_rogue_common_type_none 
  | Cmd_handle_rogue_common_pending_action_sc_rsp 
  | Cmd_common_rogue_update_sc_notify 
  | Cmd_rogue_workbench_select_func_cs_req 
  | Cmd_take_rogue_miracle_handbook_reward_cs_req 
  | Cmd_rogue_workbench_select_func_sc_rsp 
  | Cmd_rogue_workbench_handle_func_cs_req 
  | Cmd_sync_rogue_common_pending_action_sc_notify 
  | Cmd_get_rogue_collection_cs_req 
  | Cmd_get_rogue_shop_buff_info_sc_rsp 
  | Cmd_prepare_rogue_adventure_room_cs_req 
  | Cmd_finish_rogue_common_dialogue_sc_rsp 
  | Cmd_rogue_workbench_get_info_cs_req 
  | Cmd_take_rogue_event_handbook_reward_sc_rsp 
  | Cmd_rogue_workbench_handle_func_sc_rsp 
  | Cmd_rogue_get_gamble_info_cs_req 
  | Cmd_set_rogue_collection_cs_req 
  | Cmd_rogue_npc_disappear_cs_req 
  | Cmd_sync_rogue_common_dialogue_data_sc_notify 
  | Cmd_set_rogue_exhibition_cs_req 
  | Cmd_get_rogue_adventure_room_info_sc_rsp 
  | Cmd_get_rogue_shop_miracle_info_cs_req 
  | Cmd_buy_rogue_shop_miracle_cs_req 
  | Cmd_get_enhance_common_rogue_buff_info_sc_rsp 
  | Cmd_common_rogue_query_cs_req 
  | Cmd_rogue_workbench_get_info_sc_rsp 
  | Cmd_rogue_get_gamble_info_sc_rsp 
  | Cmd_handle_rogue_common_pending_action_cs_req 
  | Cmd_sync_rogue_handbook_data_update_sc_notify 
  | Cmd_get_rogue_common_dialogue_data_cs_req 
  | Cmd_rogue_npc_disappear_sc_rsp 
  | Cmd_common_rogue_component_update_sc_notify 
  | Cmd_get_rogue_exhibition_sc_rsp 
  | Cmd_buy_rogue_shop_miracle_sc_rsp 
  | Cmd_update_rogue_adventure_room_score_cs_req 
  | Cmd_get_rogue_common_dialogue_data_sc_rsp 
  | Cmd_get_rogue_handbook_data_sc_rsp 
  | Cmd_prepare_rogue_adventure_room_sc_rsp 
  | Cmd_set_rogue_exhibition_sc_rsp 
  | Cmd_stop_rogue_adventure_room_cs_req 
  | Cmd_get_rogue_exhibition_cs_req 
  | Cmd_get_rogue_collection_sc_rsp 
  | Cmd_get_rogue_handbook_data_cs_req 
  | Cmd_get_enhance_common_rogue_buff_info_cs_req 
  | Cmd_sync_rogue_adventure_room_info_sc_notify 
  | Cmd_select_rogue_common_dialogue_option_cs_req 
  | Cmd_exchange_rogue_buff_with_miracle_sc_rsp 
  | Cmd_exchange_rogue_buff_with_miracle_cs_req 
  | Cmd_update_rogue_adventure_room_score_sc_rsp 
  | Cmd_get_rogue_shop_miracle_info_sc_rsp 
  | Cmd_sync_rogue_common_virtual_item_info_sc_notify 
  | Cmd_sync_rogue_common_dialogue_option_finish_sc_notify 
  | Cmd_select_rogue_common_dialogue_option_sc_rsp 
  | Cmd_enhance_common_rogue_buff_cs_req 
  | Cmd_common_rogue_query_sc_rsp 
  | Cmd_finish_rogue_common_dialogue_cs_req 
  | Cmd_get_rogue_shop_buff_info_cs_req 
  | Cmd_stop_rogue_adventure_room_sc_rsp 
  | Cmd_buy_rogue_shop_buff_cs_req 
  | Cmd_set_rogue_collection_sc_rsp 
  | Cmd_rogue_do_gamble_cs_req 
  | Cmd_sync_rogue_common_action_result_sc_notify 
  | Cmd_enhance_common_rogue_buff_sc_rsp 
  | Cmd_buy_rogue_shop_buff_sc_rsp 
  | Cmd_take_rogue_event_handbook_reward_cs_req 
  | Cmd_get_rogue_adventure_room_info_cs_req 
  | Cmd_rogue_do_gamble_sc_rsp 
  | Cmd_take_rogue_miracle_handbook_reward_sc_rsp 

type hjbbihgchli =
  | Rogue_adventure_room_status_none 
  | Rogue_adventure_room_status_prepare 
  | Rogue_adventure_room_status_started 
  | Rogue_adventure_room_status_stopped 

type oodgnonfgkc =
  | Rogue_unlock_function_type_miracle 
  | Rogue_unlock_function_type_show_hint 
  | Rogue_unlock_function_type_cosmos_ban_aeon 
  | Rogue_unlock_funtion_type_exhibition 
  | Rogue_unlock_funtion_type_collection 

type mmgfibbpbmh =
  | Rogue_common_miracle_select_source_type_none 
  | Rogue_common_miracle_select_source_type_dice_roll 
  | Rogue_common_miracle_select_source_type_aeon 
  | Rogue_common_miracle_select_source_type_board_event 
  | Rogue_common_miracle_select_source_type_level_mechanism 

type cmocllepeoj =
  | Rogue_common_buff_display_type_none 
  | Rogue_common_buff_display_type_add 
  | Rogue_common_buff_display_type_remove 

type fnfcolliige =
  | Rogue_common_miracle_display_type_none 
  | Rogue_common_miracle_display_type_add 
  | Rogue_common_miracle_display_type_remove 
  | Rogue_common_miracle_display_type_repair 

type jeefcjoabhc =
  | Rogue_common_item_display_type_none 
  | Rogue_common_item_display_type_add 
  | Rogue_common_item_display_type_remove 

type bnlkbheaggj =
  | Rogue_common_action_result_display_type_none 
  | Rogue_common_action_result_display_type_single 
  | Rogue_common_action_result_display_type_multi 

type npkhcnmhkdp =
  | Rogue_common_action_result_source_type_none 
  | Rogue_common_action_result_source_type_select 
  | Rogue_common_action_result_source_type_enhance 
  | Rogue_common_action_result_source_type_miracle 
  | Rogue_common_action_result_source_type_dialogue 
  | Rogue_common_action_result_source_type_bonus 
  | Rogue_common_action_result_source_type_shop 
  | Rogue_common_action_result_source_type_dice 
  | Rogue_common_action_result_source_type_aeon 
  | Rogue_common_action_result_source_type_board_event 
  | Rogue_common_action_result_source_type_maze_skill 
  | Rogue_common_action_result_source_type_level_mechanism 
  | Rogue_common_action_result_source_type_buff 
  | Rogue_common_action_result_source_type_reforge 

type kogippjmdkb =
  | Rogue_collection_operate_none 
  | Rogue_collection_operate_set 
  | Rogue_collection_operate_unset 

type bpibjehipof =
  | Rogue_booth_none 
  | Rogue_booth_empty 
  | Rogue_booth_display 

type eeaceekbbik =
  | Rogue_collection_none 
  | Rogue_collection_unlocked 
  | Rogue_collection_display 

type odijleidcnd =
  | Rogue_exhibition_none 
  | Rogue_exhibition_unlocked 
  | Rogue_exhibition_display 

type ikhcpmbdbll = {
  eojifjnkhij : int32;
}

type bmnobkdmpbh = unit

type njccbnlfkcn = unit

type hbnambacbfh = {
  alalgchdbdp : rogue_common_buff_select_info option;
}

type bfjilkicklf = {
  comnknfemfn : int32;
  ckmcdophoho : mnicidbdjfi list;
  eikoihamlka : mnicidbdjfi list;
}

type fijoihplgfi = {
  hiddgkclnhg : int32;
}

type hiijcocijbc = unit

type lhmgpkeoghe = {
  eojifjnkhij : int32;
}

type flijafinaac = unit

type nbjgogbhokm = {
  eojifjnkhij : int32;
}

type agmibdajooi = unit

type oagmnkadfbi = {
  kfancbcgdmp : djpaibjmmoe option;
  jbjpjpilfam : int32;
  dkmcfgheefh : bool;
}

type clobgmgklja = {
  jhjpgbkblag : djpaibjmmoe option;
}

type nneegnafcfg = {
  ichkjnfaacl : int32;
}

type pefkaoobihi = {
  jhjpgbkblag : djpaibjmmoe option;
  aheiodcbaae : int32;
}

type bklejdedngm = {
  jhjpgbkblag : djpaibjmmoe option;
}

type okdkilkjabn = {
  jbjpjpilfam : int32;
  kfancbcgdmp : djpaibjmmoe option;
}

type ifnnhfbomnh = {
  jhjpgbkblag : djpaibjmmoe option;
}

type bkoniegkimo = {
  cobljdcahcb : int32;
}

type plkliapjkcd = unit

type enolgaiddgi = {
  khhcaendfei : int32;
}

type ndjjekapdgl = unit

type okaoepbdlkg = {
  gieginhphpb : int32;
}

type gplcnpbojpa = unit

type bdljnoiiooh = {
  cdeedkpknfo : int32;
}

type bnmibbknggo = unit

type gndkaolnaic = {
  cmhkhpemokh : int32;
}

type eohkjanfhmp = unit

type jogglahdihp = {
  cobljdcahcb : int32;
}

type dghcpkmijia = unit

type pnhmjikaamk = {
  cobljdcahcb : int32;
}

type ckedjfdfdkg = unit

type gplpibkcldk = {
  gngdoajbfea : int32;
}

type hahidlnbdid = unit

type flhognnpcee = {
  gapjajnhglk : int32;
  kagnbjdmamf : int32;
}

type keijecmckle = {
  avatar_id : int32;
  avatar_type : avatar_type;
}

type mhjehlnicfp = unit

type fkpilfbkdla = {
  count : int32;
}

type lnkggapbplf = {
  ichkjnfaacl : int32;
}

type jjobhoedlho = unit

type rogue_adventure_room_gameplay_wolf_gun_target = {
  target_none : unit;
  target_coin : fkpilfbkdla option;
  target_miracle : lnkggapbplf option;
  target_ruanmei : unit;
}

type kghbncadpbj = {
  pcejljofmag : int32;
  nkpcaindgao : rogue_adventure_room_gameplay_wolf_gun_target list;
}

type kpaflmlbaig = {
  ilcgmkpbmgm : kghbncadpbj option;
}

type jnoilndnkbj = {
  lpgaoolbbfm : int32;
  mmppaiggmon : kpaflmlbaig option;
  status : int32;
  hgdjmjhnhhp : int32;
  gdkaebolcdi : float;
  addadjcedkh : int32;
}

type hpohpkijbaj = {
  pdhjencainp : jnoilndnkbj option;
}

type jfddjekmgge = unit

type lledefmjmdh = {
  retcode : int32;
  pdhjencainp : jnoilndnkbj option;
}

type lihdfgpjagn = {
  ifalllhbdod : int32;
  eonnofjkjfl : int32 list;
}

type kldmdkabcho = {
  retcode : int32;
  pdhjencainp : jnoilndnkbj option;
}

type cejllbjkhih = unit

type jcnfdimlfmc = {
  retcode : int32;
  pdhjencainp : jnoilndnkbj option;
}

type bgaflmnodli = {
  lpgaoolbbfm : int32;
  foflcmnhakn : int32;
}

type cggnemiplld = {
  retcode : int32;
  pdhjencainp : jnoilndnkbj option;
}

type knmignnohnj = {
  lohpklihemj : item_cost_data option;
  ichkjnfaacl : int32;
  gcdniclhoga : item_cost_data option;
  jdaejcpfkil : bool;
  dcejfokjpod : bool;
}

type pgghnkhkkog = {
  jdaejcpfkil : bool;
  lohpklihemj : item_cost_data option;
  pkkfndimmio : int32;
  gcdniclhoga : item_cost_data option;
  odfbamohefb : int32;
  dcejfokjpod : bool;
}

type occpiocibei = {
  pcpkkbfpbeb : knmignnohnj list;
}

type dbmldhmcphn = {
  buff_list : pgghnkhkkog list;
}

type fnpcmgicfkk = {
  aieeiiggfmj : bool;
  idcigdfjabi : int32;
}

type mkilmbbefoo = {
  bfkodbfknbl : item_cost_data option;
  pogejanpebj : dbmldhmcphn option;
  retcode : int32;
  npbgklkbgdi : bool;
}

type adckamembmd = {
  aieeiiggfmj : bool;
  idcigdfjabi : int32;
}

type nbchjcnhemh = {
  pmoenkofnla : occpiocibei option;
  retcode : int32;
  npbgklkbgdi : bool;
  bfkodbfknbl : item_cost_data option;
}

type ldiemhcahcb = {
  idcigdfjabi : int32;
  ichkjnfaacl : int32;
}

type mdoiknkenbl = {
  emabnjbclgd : int32 list;
  idcigdfjabi : int32;
}

type hhmoihmdiao = {
  pmoenkofnla : occpiocibei option;
  retcode : int32;
}

type mcaddfogkcm = {
  retcode : int32;
  pogejanpebj : dbmldhmcphn option;
}

type bgblclfikdl = {
  ichkjnfaacl : int32;
  idcigdfjabi : int32;
}

type cenhmaccfkm = {
  bdmoacndcoa : mnicidbdjfi option;
  retcode : int32;
}

type mhinmgakigi = {
  pndblfbllmj : int32;
}

type mghjipocegb = {
  retcode : int32;
}

type lkleecbabea = {
  idcigdfjabi : int32;
  paofpgekpfe : int32;
}

type cmpglffeblp = {
  amikofgncbo : mnicidbdjfi option;
  boeaanepgoc : bool;
  retcode : int32;
}

type kjmbiclggjd = {
  idcigdfjabi : int32;
}

type get_enhance_common_rogue_buff_info_sc_rsp = {
  enhanced_buff_id_list : int32 list;
  retcode : int32;
}

type jimphabffnp = {
  mkoeknaflmj : iejadeeklgn option;
}

type hbdelaiadlb = {
  mkoeknaflmj : iejadeeklgn option;
}

type hcpcpcigmpg = {
  mkoeknaflmj : iejadeeklgn option;
}

type lipcpilkehi = {
  mkoeknaflmj : iejadeeklgn option;
}

type joamhogigdi = {
  value : pmdmaockcjp option;
}

type jcipijmgbbp = {
  fbiaimddiej : int32;
}

type dcflakjicbi = {
  fbiaimddiej : int32;
}

type pkgfjolojec = {
  dhcakofmnjp : flhognnpcee option;
  pbnahdfdakb : flhognnpcee option;
  hjcdfejpjcl : mnicidbdjfi option;
  emghnkdicbf : mnicidbdjfi option;
  ppnmgedbfel : clobgmgklja option;
  okbkccnfdlb : nneegnafcfg option;
  bbjbennbhgi : pefkaoobihi option;
  kmdciieifgn : bklejdedngm option;
  jppfinpapdi : okdkilkjabn option;
  llaenjaahgl : ifnnhfbomnh option;
  cekcaaddhlm : keijecmckle option;
  bjpgdnebdla : jimphabffnp option;
  hhjdhhjpgkk : hbdelaiadlb option;
  nfbeklebbgc : hcpcpcigmpg option;
  elaolkochpi : lipcpilkehi option;
  gbdphogibae : joamhogigdi option;
  khifepcfdlc : jcipijmgbbp option;
  lpjpaggolke : dcflakjicbi option;
}

type jfaepfgabpp = {
  gnfpnbgacdf : npkhcnmhkdp;
  mkgoabedjeh : pkgfjolojec option;
}

type empneaapcke = {
  gapjajnhglk : bnlkbheaggj;
  fhpollcfknc : int32;
  jmfablhemno : jfaepfgabpp list;
}

type okkklfebmlg = {
  cjapbkbgjde : int32;
}

type okdccjpmfkc = unit

type hdcjnnpgeid = {
  cjapbkbgjde : int32;
}

type nbajphmodno = unit

type jhdeaoonple = unit

type jjdgojacafe = {
  hfdfkfjfdbb : rogue_formula_select_info option;
}

type keadkpndpml = {
  cjapbkbgjde : int32;
}

type ffkilkhoebh = unit

type jdplmldakec = {
  ghhnoefibke : int32;
  mmnebfbnoni : bool;
}

type dimcddnhfgn = {
  cfjdmlpfdoc : blhhnmhcodp option;
  fhpollcfknc : int32;
}

type bpcliochekj = {
  efigohhfcpp : int32;
  mmmkbhidohp : ikhcpmbdbll option;
  pbdgajfecic : fijoihplgfi option;
  pgcjdnfdkni : lhmgpkeoghe option;
  lddnkidmhlh : unit;
  mpomggfehlo : nbjgogbhokm option;
  anbajffabll : bkoniegkimo option;
  ddkfkjpgcaf : enolgaiddgi option;
  kdeiabffjhe : okaoepbdlkg option;
  oecoiehbkof : bdljnoiiooh option;
  pgpeffkechj : gndkaolnaic option;
  mipdhlckcjd : jogglahdihp option;
  giefnjkkopn : pnhmjikaamk option;
  ggoclminbog : gplpibkcldk option;
  nfjgnhjkaoh : okkklfebmlg option;
  badchlhlile : unit;
  filbnenmkhl : hdcjnnpgeid option;
  ficafpbocad : keadkpndpml option;
  ldahfbiambi : jdplmldakec option;
}

type afnbfhnonmi = {
  ocnjbebhbgo : int32;
  efigohhfcpp : int32;
  retcode : int32;
  mjfnbidjnkn : unit;
  jklhkhholdi : unit;
  ademmhhnhml : unit;
  pbjjcmlfeaf : hbnambacbfh option;
  ebbdfigldjb : unit;
  kccfoefijmc : unit;
  kpcmhpobjdg : unit;
  pmhhkoghphd : unit;
  eonpahabipm : unit;
  blkkpofefoe : unit;
  oclinajcnnk : unit;
  didenehjgkl : unit;
  dlfnhmhfhfn : unit;
  baockdmjcof : unit;
  dgohlalpnij : jjdgojacafe option;
  dlpnooadeki : unit;
  nlfdmpbnhgh : unit;
}

type flbopemokdm = {
  paofpgekpfe : int32;
}

type pfchkldhojh = {
  ennhncalcjj : bool;
  bpdfcfjdkbd : int32;
}

type cbilelfjaom = {
  ennhncalcjj : bool;
  ehobobppchc : int32;
}

type cgolnlcjphm = {
  jkonpkkialg : int32 list;
  exp : int32;
  level : int32;
  bajeglndfpe : int32;
  cpkmmhenjof : int32 list;
  nncdpbdokbj : int32;
}

type dpfccobpjpo = {
  pcpkkbfpbeb : pfchkldhojh list;
  buff_list : flbopemokdm list;
  ihneplfgmdc : cgolnlcjphm list;
  llhoijjnhbc : cbilelfjaom list;
}

type ebdjhabanno = unit

type get_rogue_handbook_data_sc_rsp = {
  retcode : int32;
  handbook_info : dpfccobpjpo option;
}

type mkkhlondele = {
  gopjpjhhpdl : flbopemokdm list;
  kcidphehmgh : pfchkldhojh list;
  kjcjmogejck : cbilelfjaom list;
}

type kfifjffgkja = {
  cfaellfidkf : int32 list;
}

type lleckakggaa = {
  reward : item_list option;
  hkpdigncbac : int32 list;
  retcode : int32;
}

type kdnoklalckb = {
  nnijgeiepnp : int32 list;
}

type khbgcebnmch = {
  retcode : int32;
  reward : item_list option;
  nacknnppfog : int32 list;
}

type aepjfkbjmpm = {
  aeheogaoenf : int32;
  hifokbodgbe : cbgphimaond list;
  dgfahpgkgmf : int32;
  fhpollcfknc : int32;
  ljlinldbbob : int32;
}

type ihcikgmbhlg = {
  hmpniejbcbk : int32;
  lhlaejpmpjj : int32;
}

type papkfcpnkoe = {
  iajfipnhdec : ihcikgmbhlg list;
}

type kmlckpdeahn = {
  ohilclmamkk : int32;
  einnfebcmlj : int32;
  cfejldhielm : int32;
}

type mmkjpfjceck = {
  ellpcknbemn : oodgnonfgkc list;
}

type fgebaafiedj = {
  bdaldfbhcjl : mmkjpfjceck option;
  deafkpjjgab : kmlckpdeahn option;
}

type odcdpcpopbn = unit

type jmdcaknnaad = {
  cmddpkpeoli : int32;
  retcode : int32;
  fecdamigijp : fgebaafiedj option;
}

type hhjmihldoeh = {
  deafkpjjgab : kmlckpdeahn option;
  bdaldfbhcjl : mmkjpfjceck option;
}

type hhoonanlchd = {
  ebffkdhgkgl : int32;
  hgfnojflbcl : int32;
}

type jhfnbcaknap = {
  hgpelgifadf : int32;
}

type agicbcnpmbf = {
  hgpelgifadf : int32;
}

type lmfccgildoh = {
  bgecmdbfigi : int32;
}

type pbalhihkole = {
  kamplnhefpi : hhoonanlchd option;
  knhahdliapf : jhfnbcaknap option;
  aolafephjfe : agicbcnpmbf option;
  cjfhhfcgdda : lmfccgildoh option;
}

type cdgbdhbjbaf = {
  aeggdogmiea : float;
  dkaehkamkfi : int32;
}

type chbifnppnke = {
  ghhnoefibke : int32;
}

type ilnklkjeikf = {
  apmgjmappjl : int32;
}

type embkjecncmm = {
  ikfkmimaeon : chbifnppnke option;
  njfnjkjpnap : ilnklkjeikf option;
}

type kmppenfheel = {
  ipfkcfhigmk : embkjecncmm list;
  iihookopmmk : cdgbdhbjbaf option;
  hfadhgefiea : int32;
  ojkjbeilgdc : int32;
  jhojoicfldl : bool;
  mecjmchknde : bool;
}

type hdmoboniihl = {
  oeoffmaepgl : pbalhihkole option;
  jnboodjdmho : int32;
  ejjmffbhbgk : kmppenfheel list;
}

type begalnkfdgo = unit

type jcmbmhjjdal = {
  retcode : int32;
  mjomgfdpmnj : hdmoboniihl list;
}

type pgaeehgmbhd = {
  jnboodjdmho : int32;
  ojkjbeilgdc : int32;
}

type eakdfjkkkac = {
  ecohlncenkk : bool;
  jnboodjdmho : int32;
  ojkjbeilgdc : int32;
  retcode : int32;
  fbcfkkknldf : int32 list;
  oplnemnkmhf : hdmoboniihl option;
}

type lmfiimlalfm = {
  jnboodjdmho : int32;
}

type cjhfohgjked = {
  retcode : int32;
  jnboodjdmho : int32;
}

type iglcopligcj = {
  mjomgfdpmnj : hdmoboniihl list;
}

type hoadcaanbha = {
  oplnemnkmhf : hdmoboniihl option;
  bjfgfbjlffg : kmppenfheel option;
  ojkjbeilgdc : int32;
  jnboodjdmho : int32;
}

type domkmpnnebe = {
  mnhgojliepj : cbgphimaond option;
  ljlinldbbob : int32;
  dgfahpgkgmf : int32;
  fhpollcfknc : int32;
}

type hodkonakgab = {
  kigccmchfaa : int32;
  prop_entity_id : int32;
}

type onlamhijjda = {
  jjbohkkebeg : int32;
  akemgnajflc : bool;
  fmifpcfleij : int32;
  mhpkpajbnjm : int32;
  lohpklihemj : item_cost_data option;
}

type cnbcehippjg = {
  lohpklihemj : item_cost_data option;
  akemgnajflc : bool;
  mhpkpajbnjm : int32;
  fmifpcfleij : int32;
  jjbohkkebeg : int32;
}

type fngfihkckfj = {
  eolhlhcahff : int32;
  pplafiiclpl : (int32 * int32) list;
  hkohlnhlgnb : int32;
}

type ffhkhemgonh = {
  lohpklihemj : item_cost_data option;
  gmblbaboegm : (int32 * bool) list;
  jjbohkkebeg : int32;
  mhpkpajbnjm : int32;
}

type bolhppnehna = {
  lohpklihemj : item_cost_data option;
  mhpkpajbnjm : int32;
  jjbohkkebeg : int32;
}

type mkmfeohmhdl = {
  ehfmcpnpcmp : onlamhijjda option;
  mcobeibhgia : cnbcehippjg option;
  apjgepbpong : fngfihkckfj option;
  nbfmehkdagj : ffhkhemgonh option;
  ckfggjhfhdb : bolhppnehna option;
}

type dfchmojmkbp = {
  kigccmchfaa : int32;
  bajihciaend : mkmfeohmhdl option;
  retcode : int32;
}

type epjilmmpkom = {
  prop_entity_id : int32;
}

type kcnojeijhmd = {
  lbnndcbnika : (int32 * mkmfeohmhdl) list;
  retcode : int32;
}

type mjhcocmpagc = {
  mcikcapjmdh : int32;
}

type clcicidmhke = {
  bpghijegann : int32;
}

type jfcmkbokfof = {
  nmkjbofhjhb : int32;
}

type ffloeagfoia = {
  aadjgaaabib : int32 list;
}

type gpianncldcp = {
  jjlcgdiofhh : int32;
}

type ejjgfpamkcg = {
  ehfmcpnpcmp : mjhcocmpagc option;
  mcobeibhgia : clcicidmhke option;
  apjgepbpong : jfcmkbokfof option;
  nbfmehkdagj : ffloeagfoia option;
  ckfggjhfhdb : gpianncldcp option;
}

type naojdlokppg = {
  kigccmchfaa : int32;
  prop_entity_id : int32;
  kdnioegmffl : ejjgfpamkcg option;
}

type adojimghpml = {
  bajihciaend : mkmfeohmhdl option;
  kigccmchfaa : int32;
  retcode : int32;
}

type aaacgamfppc = {
  status : eeaceekbbik;
  nklnaippaoc : int32;
}

type aojielnnmfc = {
  nklnaippaoc : int32;
  nfhmflfhndi : int32;
  status : bpibjehipof;
}

type jgggbcomlkg = unit

type gnccfafgcol = {
  retcode : int32;
  keadbmibeoa : aaacgamfppc list;
  jkcaikhimpk : aojielnnmfc list;
}

type fgeaamlhlac = {
  fepikjehgke : kogippjmdkb list;
  ohhfpegpijl : int32 list;
  jgadebiegfg : int32 list;
}

type iinoobifcjo = {
  retcode : int32;
  jkcaikhimpk : aojielnnmfc list;
  keadbmibeoa : aaacgamfppc list;
}

type pladdmnljcl = {
  jhkfhacondf : int32;
  status : odijleidcnd;
}

type lblameimomf = {
  jhkfhacondf : int32;
  nfhmflfhndi : int32;
  status : bpibjehipof;
}

type ofkanljcacm = unit

type icdcbngicka = {
  pkkaednpjma : pladdmnljcl list;
  bogghhbkjbd : lblameimomf list;
  retcode : int32;
}

type ioibkofbebj = {
  gbelbjgfeen : int32 list;
  bhcemcfcjca : int32 list;
  ioldfakjoep : kogippjmdkb list;
}

type hcgejlljkpj = {
  retcode : int32;
  pkkaednpjma : pladdmnljcl list;
  bogghhbkjbd : lblameimomf list;
}

type padjpmdajhc = {
  prop_entity_id : int32;
}

type odcpjphbfme = {
  retcode : int32;
  lkfmgoglgch : jhjloaofhnk option;
}

type agjmneegkdb = {
  prop_entity_id : int32;
}

type obolbkcklhc = {
  bekhfcgelap : int32;
  gdpfmoegbki : int32;
  retcode : int32;
  lkfmgoglgch : jhjloaofhnk option;
}

type ebjgjhclibc =
  | Cmd_rogue_endless_none 
  | Cmd_take_rogue_endless_activity_point_reward_cs_req 
  | Cmd_enter_rogue_endless_activity_stage_sc_rsp 
  | Cmd_rogue_endless_activity_battle_end_sc_notify 
  | Cmd_take_rogue_endless_activity_all_bonus_reward_sc_rsp 
  | Cmd_take_rogue_endless_activity_all_bonus_reward_cs_req 
  | Cmd_enter_rogue_endless_activity_stage_cs_req 
  | Cmd_get_rogue_endless_activity_data_sc_rsp 
  | Cmd_get_rogue_endless_activity_data_cs_req 
  | Cmd_take_rogue_endless_activity_point_reward_sc_rsp 

type lmmkpeajfka = {
  okhflbihfhm : int32 list;
  base_avatar_id_list : int32 list;
  gkfjbgdelik : hpphifdfjjj option;
  bgjihjmjbdk : int32;
  ediopngagap : int32;
  fanjaobchcg : eijagapkfad option;
  status : ofhnfenfeai;
  daldfnlnnbo : int32;
  lnjapmhfcck : int32;
}

type cfeeacjgeec = {
  moidpjnooeb : int32;
  battle_id : int32;
  mibmejkddhe : int32;
  fblfmeldjgl : int32;
  nkangcfcbfk : int32;
  djocbcjomac : int32;
  chmbglidkmm : bool;
  phpkjaipcmg : int32;
}

type nggfgepnifo = {
  appflheobmi : cfeeacjgeec option;
  ggdaffjnmpa : int32;
  fjlnncjahng : int32;
  minogichkgm : lmmkpeajfka option;
}

type hpbhhlhhedh = unit

type kcajjjlejgm = {
  ihkmfjnfjlk : int32 list;
  retcode : int32;
  pokaoienhda : int32;
  data : nggfgepnifo list;
  hehigejeimi : int32;
}

type jkbbigojajj = {
  avatar_id : int32;
  avatar_type : avatar_type;
}

type kgamnkklmcm = {
  anllhlcoape : int32;
  avatar_list : jkbbigojajj list;
}

type eifpojnakgh = {
  retcode : int32;
  appflheobmi : cfeeacjgeec option;
  ibllilenejp : scene_battle_info option;
}

type ddncjhjjabn = {
  appflheobmi : cfeeacjgeec option;
}

type ffcaeknjnap = {
  mhegpegfggg : bool;
  level : int32;
}

type hhgioelfegm = {
  reward : item_list option;
  mhegpegfggg : bool;
  hehigejeimi : int32;
  level : int32;
  ihkmfjnfjlk : int32 list;
  retcode : int32;
}

type iddjfmpgfmd = unit

type ofhcflkjmeh = {
  ihkmfjnfjlk : int32 list;
  retcode : int32;
  reward : item_list option;
  hehigejeimi : int32;
}

type bjpgeildfec =
  | Cmd_rogue_modifier_type_none 
  | Cmd_rogue_modifier_select_cell_cs_req 
  | Cmd_rogue_modifier_add_notify 
  | Cmd_rogue_modifier_select_cell_sc_rsp 
  | Cmd_rogue_modifier_stage_start_notify 
  | Cmd_rogue_modifier_update_notify 
  | Cmd_rogue_modifier_del_notify 

type njkmbnhkmij = {
  adnplkibhog : int32;
  mecjmchknde : bool;
  babfnhiakog : int32;
}

type indhellplmc = {
  jnkphngenhh : int32 list;
  mecjmchknde : bool;
  adnplkibhog : int32;
  babfnhiakog : int32;
}

type cjechcdmobb = {
  adnplkibhog : int32;
  mecjmchknde : bool;
  jnkphngenhh : int32 list;
}

type hnklhfgnidh = {
  adnplkibhog : int32;
  mecjmchknde : bool;
  jlgjdbmhnan : int32;
  ciagcobkhbd : int32 list;
}

type gennbfeoeln = {
  kccleanfoef : int32;
}

type fbmijaimnlp = {
  pkfeeankpmd : int32;
}

type acpeiiblfeb = {
  nlefnkfdgkp : int32;
}

type bbbegcjnbol = {
  mecjmchknde : bool;
  adnplkibhog : int32;
  pgnccoldebp : int32;
  ciagcobkhbd : int32 list;
}

type cjakegljcgo = {
  eefckhjjdaf : int32;
  pjkppmidpao : int32;
  glppfpcjnlp : int32;
}

type nkdamfkkpgf = {
  paofpgekpfe : int32;
}

type ahfklgbbeno = {
  hgjolgkaofj : int32;
  olfhccbiidg : int32;
}

type hbjfkganpni = {
  kagnbjdmamf : int32;
  bomcmajnimh : int32;
  ekcigpdfkjo : int32;
}

type mjohphbaijk = {
  mgnnkboblfg : int32;
  kagnbjdmamf : int32;
}

type dcpoejemiok = {
  kccleanfoef : int32;
}

type dkgaakknhee = {
  babfnhiakog : int32;
}

type okeejldbgch = {
  adnplkibhog : int32;
  mecjmchknde : bool;
  jnkphngenhh : int32 list;
}

type nfbchiimdie = {
  paofpgekpfe : int32;
  odfipjnpjop : int32;
}

type linfpficlpo = {
  kamoblkgpai : int32;
}

type afillcepkji = {
  count : int32;
}

type kmdhgnfkcpi = {
  lmhocgknkpb : gflokgogjgh option;
}

type hejpimnmkkb = {
  pbonhgdihdk : int32;
}

type ikakeaekcgp = {
  pbonhgdihdk : int32;
  retcode : int32;
  ekpahpdniff : item_list option;
}

type adbdeennljd = {
  lmhocgknkpb : gflokgogjgh option;
}

type nkeajljehgg = {
  ddgkfgjdgeb : int64;
}

type ogilaeigfdi = {
  cbjpfggchfh : idlkgpjlfhc;
}

type oklcifjakhm =
  | Cmd_rogue_tourn_type_none 
  | Cmd_rogue_tourn_settle_sc_rsp 
  | Cmd_rogue_tourn_leave_sc_rsp 
  | Cmd_rogue_tourn_enter_layer_sc_rsp 
  | Cmd_rogue_tourn_start_cs_req 
  | Cmd_rogue_tourn_leave_rogue_cocoon_scene_cs_req 
  | Cmd_rogue_tourn_leave_rogue_cocoon_scene_sc_rsp 
  | Cmd_rogue_tourn_delete_archive_cs_req 
  | Cmd_rogue_tourn_level_info_update_sc_notify 
  | Cmd_rogue_tourn_exp_notify 
  | Cmd_rogue_tourn_get_misc_real_time_data_sc_rsp 
  | Cmd_rogue_tourn_revive_avatar_sc_rsp 
  | Cmd_rogue_tourn_revive_avatar_cs_req 
  | Cmd_rogue_tourn_get_all_archive_cs_req 
  | Cmd_rogue_tourn_query_sc_rsp 
  | Cmd_rogue_tourn_delete_archive_sc_rsp 
  | Cmd_rogue_tourn_re_enter_rogue_cocoon_stage_cs_req 
  | Cmd_rogue_tourn_take_exp_reward_cs_req 
  | Cmd_rogue_tourn_enter_rogue_cocoon_scene_cs_req 
  | Cmd_rogue_tourn_get_cur_rogue_cocoon_info_sc_rsp 
  | Cmd_rogue_tourn_get_archive_repository_sc_rsp 
  | Cmd_rogue_tourn_rename_archive_sc_rsp 
  | Cmd_rogue_tourn_reset_permanent_talent_sc_rsp 
  | Cmd_rogue_tourn_query_cs_req 
  | Cmd_rogue_tourn_week_challenge_update_sc_notify 
  | Cmd_rogue_tourn_get_cur_rogue_cocoon_info_cs_req 
  | Cmd_rogue_tourn_rename_archive_cs_req 
  | Cmd_rogue_tourn_take_exp_reward_sc_rsp 
  | Cmd_rogue_tourn_enter_cs_req 
  | Cmd_rogue_tourn_confirm_settle_sc_rsp 
  | Cmd_rogue_tourn_get_misc_real_time_data_cs_req 
  | Cmd_rogue_tourn_enter_layer_cs_req 
  | Cmd_rogue_tourn_get_all_archive_sc_rsp 
  | Cmd_rogue_tourn_revive_cost_update_sc_notify 
  | Cmd_rogue_tourn_difficulty_comp_notify 
  | Cmd_rogue_tourn_get_archive_repository_cs_req 
  | Cmd_rogue_tourn_enable_permanent_talent_sc_rsp 
  | Cmd_rogue_tourn_get_permanent_talent_info_cs_req 
  | Cmd_rogue_tourn_get_permanent_talent_info_sc_rsp 
  | Cmd_rogue_tourn_hand_book_notify 
  | Cmd_rogue_tourn_area_update_sc_notify 
  | Cmd_rogue_tourn_enable_permanent_talent_cs_req 
  | Cmd_rogue_tourn_enter_room_sc_rsp 
  | Cmd_rogue_tourn_leave_cs_req 
  | Cmd_rogue_tourn_enter_room_cs_req 
  | Cmd_rogue_tourn_settle_cs_req 
  | Cmd_rogue_tourn_confirm_settle_cs_req 
  | Cmd_rogue_tourn_get_settle_info_sc_rsp 
  | Cmd_rogue_tourn_re_enter_rogue_cocoon_stage_sc_rsp 
  | Cmd_rogue_tourn_enter_rogue_cocoon_scene_sc_rsp 
  | Cmd_rogue_tourn_enter_sc_rsp 
  | Cmd_rogue_tourn_clear_archive_name_sc_notify 
  | Cmd_rogue_tourn_get_settle_info_cs_req 
  | Cmd_rogue_tourn_start_sc_rsp 
  | Cmd_rogue_tourn_battle_fail_settle_info_sc_notify 
  | Cmd_rogue_tourn_reset_permanent_talent_cs_req 

type llecchannpc =
  | Rogue_tourn_handbook_none 
  | Rogue_tourn_handbook_simple_miracle 
  | Rogue_tourn_handbook_hex_miracle 
  | Rogue_tourn_handbook_buff 
  | Rogue_tourn_handbook_event 
  | Rogue_tourn_handbook_formula 

type fopiophbiph = {
  pnbpdbgfffd : cioeahefpln option;
  lineup : lineup_info option;
  scene : scene_info option;
}

type bhoeapoifhf = {
  mnppbggndma : int32;
  oocjacfoofn : int32 list;
  ggdaffjnmpa : int32;
  base_avatar_id_list : int32 list;
}

type jahlejaahnj = {
  niiingfcpol : hpeecfakjeg option;
  mnppbggndma : int32;
  hiacklcdijn : fopiophbiph option;
  retcode : int32;
}

type iakpmokoopf = unit

type piclnnfbhgg = {
  niiingfcpol : hpeecfakjeg option;
  hiacklcdijn : fopiophbiph option;
  retcode : int32;
}

type ppffnpdebnn = unit

type pajenkffpjd = {
  hiacklcdijn : fopiophbiph option;
  retcode : int32;
}

type nagmgplccnn = unit

type mmigimbighd = {
  pdbobmjedbc : bninelnejfi option;
  retcode : int32;
  hiacklcdijn : fopiophbiph option;
}

type bjjmdnhejkj = {
  kemnjbikaod : int32;
  bookldicfae : int32;
}

type pkgkoiljmod = {
  retcode : int32;
  hiacklcdijn : fopiophbiph option;
}

type bbfpjokigjo = {
  bookldicfae : int32;
  chmmbcgmfho : int32;
}

type bnjigcnepgg = {
  retcode : int32;
  hiacklcdijn : fopiophbiph option;
}

type ebgegjpdclg = {
  chmmbcgmfho : int32;
  status : dmgmpocpddc;
  fogjohmngpc : gadcmbokpdi list;
  mgdnainpahe : meahibhbfon;
}

type hfbgpdklehf = {
  jjoibnmplan : int32 list;
  olpnhmcbmbg : int32;
}

type bkbaamlloid = {
  exp : int32;
  reward : item_list option;
  opjkekdmnif : int32 list;
  retcode : int32;
}

type ofeopdagmld = {
  exp : int32;
}

type cnanfpfmfgi = unit

type bkgcabadlgh = {
  ggdaffjnmpa : int32;
  pgonhkcjnme : int32 list;
  lijjmafkdnn : bool;
  dnmhgkbcinm : bool;
  mkideamcloh : bool;
}

type iehdlmeodcb = {
  end_time : int64;
  deiejhjkjgb : bool;
  fibjjgfhakl : int32;
  mnppbggndma : int32;
}

type alanojoldck = {
  exp : int32;
  opjkekdmnif : int32 list;
}

type gbnockoacmj = {
  bbanknacajb : lljpmigaffg option;
  bcdcpfglloa : int32;
}

type imhjlecpgmf = {
  ikfhibhbodi : int32;
  dnmhgkbcinm : bool;
}

type ibpjgdimgdh = {
  olpnhmcbmbg : int32;
  benepmhmkki : int32;
}

type obekcikjcnd = {
  nnijgeiepnp : int32 list;
  lfongcdalle : int32;
  hmcpmadehgc : int32 list;
  majcffpcdeg : int32 list;
  jgajllhobmi : int32 list;
  pkcflbcbemf : int32 list;
}

type ibbhfnhbhin = {
  buff_list : mnicidbdjfi list;
  dbgaojmndmc : int32;
  pcpkkbfpbeb : djpaibjmmoe list;
}

type ibgjfmdlgfg = {
  data : ibbhfnhbhin option;
  name : string;
  njokhdgdfcm : ibpjgdimgdh option;
  end_time : int64;
  afefamkndoo : int32;
  time : int64;
  niiingfcpol : hpeecfakjeg option;
}

type omaobpkepbk = {
  mpjcpjidjno : ibgjfmdlgfg list;
  njokhdgdfcm : ibpjgdimgdh option;
  cmmbjnhniak : gbnockoacmj option;
  mdnhpflhbbi : bkgcabadlgh list;
  fbaabhmhhmf : imhjlecpgmf list;
  eoabdpajekd : alanojoldck option;
  mgancbncadd : obekcikjcnd option;
  eidlebddhfm : iehdlmeodcb option;
}

type pmcafkblcek = {
  fecdamigijp : omaobpkepbk option;
  niiingfcpol : hpeecfakjeg option;
  retcode : int32;
}

type ighcanmlfpk = {
  mdnhpflhbbi : bkgcabadlgh list;
}

type okpoedldcbc = unit

type hfddpfdnbob = {
  jjfmndbpgkf : ibgjfmdlgfg list;
  retcode : int32;
}

type falpomddcnm = {
  afefamkndoo : int32;
}

type ehlnpdcbmkg = {
  retcode : int32;
  afefamkndoo : int32;
}

type khgalbohlmd = {
  name : string;
  afefamkndoo : int32;
}

type mnejjjainkj = {
  name : string;
  afefamkndoo : int32;
  retcode : int32;
}

type opgfcfjckld = {
  afefamkndoo : int32;
}

type gjignnodbdm = unit

type aefpfcoeocm = {
  retcode : int32;
  cmmbjnhniak : gbnockoacmj option;
}

type hiobbkapppf = {
  hehehnicpjn : int32;
}

type apfmcbajpno = {
  retcode : int32;
  cmmbjnhniak : gbnockoacmj option;
}

type fcjichofhaj = unit

type mninjbbldcn = {
  cmmbjnhniak : gbnockoacmj option;
  retcode : int32;
}

type pihijmjijgj = {
  avatar_list : flffdckajej list;
  kahhjlklcjl : int32;
  cnbholdlobc : int32;
  gehbffmbgmi : bool;
  bnlgcohhahg : int32;
}

type jkcnlobbehh = {
  hiacklcdijn : fopiophbiph option;
  retcode : int32;
}

type bcbpbfgkocl = unit

type hmncjcdmnoc = {
  hiacklcdijn : fopiophbiph option;
  retcode : int32;
}

type ipjbipgkkce = {
  gehbffmbgmi : bool;
}

type hgdjnbdojjl = {
  retcode : int32;
  ibllilenejp : scene_battle_info option;
}

type ckgapkhdnnd = unit

type hjbegoofpdm = {
  kahhjlklcjl : int32;
  cnbholdlobc : int32;
  retcode : int32;
  bnlgcohhahg : int32;
}

type eombaehnefe = {
  lebembolhgj : int32 list;
}

type hkbpgokjfnj = {
  lobeaeamlln : int32 list;
  ojdlhnjpibk : llecchannpc;
}

type mmlpmelombo = {
  ggdaffjnmpa : int32;
}

type coenhaabago = {
  pdbobmjedbc : bninelnejfi option;
  retcode : int32;
}

type dhdgbnfnfai = {
  afefamkndoo : int32;
  ggdaffjnmpa : int32;
  name : string;
}

type mficaiiiekj = {
  hiacklcdijn : fopiophbiph option;
  gomhdhcdflh : ibgjfmdlgfg option;
  dcalkgibojm : item_list option;
  retcode : int32;
  akppfhlknnp : item_list option;
}

type gafkfelneml = {
  eidlebddhfm : iehdlmeodcb option;
}

type mcomcecfegd = unit

type ekjkgipimmb = {
  dceibjclkbb : fpfmjggcnld option;
  retcode : int32;
  ofjdnoboneb : fnpekjdgohi option;
  odcloijfnip : jebbgppcabc option;
}

type iokabfcbejn = unit

type kminbeklojh = {
  ddgcjndjeod : int32 list;
  retcode : int32;
  ilinhdeianh : int32 list;
}

type gklnflepfke = {
  joipnmmehbm : item_cost_data option;
}

type ffhalolphba = {
  base_avatar_id_list : int32 list;
  idcigdfjabi : int32;
}

type lcglakkjjmb = {
  joipnmmehbm : item_cost_data option;
  retcode : int32;
}

type pcfhlaallip = {
  pdbobmjedbc : bninelnejfi option;
  hiacklcdijn : fopiophbiph option;
}

type khaicemhkel =
  | Cmd_roll_shop_type_none 
  | Cmd_get_roll_shop_info_cs_req 
  | Cmd_take_roll_shop_reward_sc_rsp 
  | Cmd_do_gacha_in_roll_shop_sc_rsp 
  | Cmd_do_gacha_in_roll_shop_cs_req 
  | Cmd_take_roll_shop_reward_cs_req 
  | Cmd_get_roll_shop_info_sc_rsp 

type hnjnkcakobk = {
  lglonllbmkc : int32;
}

type ldlepnnkbfd = {
  retcode : int32;
  ohmaodidhnl : int32;
  ellcjbcjncl : int32 list;
  lglonllbmkc : int32;
}

type agblbeapjdj = {
  ohmaodidhnl : int32;
  lglonllbmkc : int32;
  bpijdelaecg : int32;
}

type gajmbmmlhmo = {
  jplhmpiafoe : int32;
  reward : item_list option;
  retcode : int32;
  lglonllbmkc : int32;
  ialfoddhdkp : int32;
}

type gppcmgfgfhf = {
  lglonllbmkc : int32;
}

type take_roll_shop_reward_sc_rsp = {
  roll_shop_id : int32;
  group_type : int32;
  retcode : int32;
  reward : item_list option;
}

type ipadbebaclh =
  | Cmd_scene_type_none 
  | Cmd_interact_prop_cs_req 
  | Cmd_return_last_town_sc_rsp 
  | Cmd_set_spring_recover_config_cs_req 
  | Cmd_sync_server_scene_change_notify 
  | Cmd_scene_update_position_version_notify 
  | Cmd_group_state_change_sc_rsp 
  | Cmd_spring_recover_cs_req 
  | Cmd_get_entered_scene_sc_rsp 
  | Cmd_scene_plane_event_sc_notify 
  | Cmd_start_timed_cocoon_stage_cs_req 
  | Cmd_activate_farm_element_sc_rsp 
  | Cmd_set_group_custom_save_data_sc_rsp 
  | Cmd_scene_entity_teleport_sc_rsp 
  | Cmd_scene_cast_skill_cs_req 
  | Cmd_scene_entity_move_sc_notify 
  | Cmd_start_timed_farm_element_sc_rsp 
  | Cmd_get_entered_scene_cs_req 
  | Cmd_scene_revive_after_rebattle_cs_req 
  | Cmd_unlock_teleport_notify 
  | Cmd_scene_cast_skill_cost_mp_cs_req 
  | Cmd_sync_entity_buff_change_list_sc_notify 
  | Cmd_get_scene_map_info_sc_rsp 
  | Cmd_scene_cast_skill_mp_update_sc_notify 
  | Cmd_gameplay_counter_count_down_cs_req 
  | Cmd_get_scene_map_info_cs_req 
  | Cmd_activate_farm_element_cs_req 
  | Cmd_enter_scene_by_server_sc_notify 
  | Cmd_set_group_custom_save_data_cs_req 
  | Cmd_set_client_paused_sc_rsp 
  | Cmd_group_state_change_sc_notify 
  | Cmd_enter_section_cs_req 
  | Cmd_save_points_info_notify 
  | Cmd_delete_summon_unit_cs_req 
  | Cmd_deactivate_farm_element_cs_req 
  | Cmd_scene_cast_skill_sc_rsp 
  | Cmd_refresh_trigger_by_client_sc_rsp 
  | Cmd_re_enter_last_element_stage_cs_req 
  | Cmd_refresh_trigger_by_client_sc_notify 
  | Cmd_scene_entity_teleport_cs_req 
  | Cmd_scene_group_refresh_sc_notify 
  | Cmd_entity_bind_prop_sc_rsp 
  | Cmd_update_floor_saved_value_notify 
  | Cmd_set_cur_interact_entity_cs_req 
  | Cmd_get_cur_scene_info_cs_req 
  | Cmd_deactivate_farm_element_sc_rsp 
  | Cmd_start_cocoon_stage_cs_req 
  | Cmd_heal_pool_info_notify 
  | Cmd_spring_recover_single_avatar_sc_rsp 
  | Cmd_gameplay_counter_update_sc_notify 
  | Cmd_set_cur_interact_entity_sc_rsp 
  | Cmd_recover_all_lineup_sc_rsp 
  | Cmd_update_mechanism_bar_sc_notify 
  | Cmd_return_last_town_cs_req 
  | Cmd_scene_cast_skill_cost_mp_sc_rsp 
  | Cmd_entered_scene_change_sc_notify 
  | Cmd_enter_section_sc_rsp 
  | Cmd_get_unlock_teleport_cs_req 
  | Cmd_set_client_paused_cs_req 
  | Cmd_spring_recover_sc_rsp 
  | Cmd_set_spring_recover_config_sc_rsp 
  | Cmd_start_cocoon_stage_sc_rsp 
  | Cmd_get_spring_recover_data_sc_rsp 
  | Cmd_scene_entity_move_sc_rsp 
  | Cmd_gameplay_counter_count_down_sc_rsp 
  | Cmd_group_state_change_cs_req 
  | Cmd_re_enter_last_element_stage_sc_rsp 
  | Cmd_scene_entity_move_cs_req 
  | Cmd_gameplay_counter_recover_sc_rsp 
  | Cmd_start_timed_farm_element_cs_req 
  | Cmd_start_timed_cocoon_stage_sc_rsp 
  | Cmd_enter_scene_sc_rsp 
  | Cmd_last_spring_refresh_time_notify 
  | Cmd_get_cur_scene_info_sc_rsp 
  | Cmd_scene_enter_stage_sc_rsp 
  | Cmd_scene_revive_after_rebattle_sc_rsp 
  | Cmd_enter_scene_cs_req 
  | Cmd_interact_prop_sc_rsp 
  | Cmd_entity_bind_prop_cs_req 
  | Cmd_spring_recover_single_avatar_cs_req 
  | Cmd_refresh_trigger_by_client_cs_req 
  | Cmd_spring_refresh_sc_rsp 
  | Cmd_spring_refresh_cs_req 
  | Cmd_gameplay_counter_recover_cs_req 
  | Cmd_delete_summon_unit_sc_rsp 
  | Cmd_scene_enter_stage_cs_req 
  | Cmd_get_unlock_teleport_sc_rsp 
  | Cmd_unlocked_area_map_sc_notify 
  | Cmd_recover_all_lineup_cs_req 
  | Cmd_get_spring_recover_data_cs_req 

type ifbkebonbne =
  | Scene_cast_skill_none 
  | Scene_cast_skill_projectile_hit 
  | Scene_cast_skill_projectile_lifetime_finish 

type gmpidmbmegf =
  | Monster_battle_type_none 
  | Monster_battle_type_trigger_battle 
  | Monster_battle_type_direct_die_simulate_battle 
  | Monster_battle_type_direct_die_skip_battle 
  | Monster_battle_type_no_battle 

type ppleglfgepi =
  | Scene_entity_buff_change_type_default 
  | Scene_entity_buff_change_type_add_mazebuff 
  | Scene_entity_buff_change_type_add_adv_modifier 

type bddhbpgibjn =
  | Enter_scene_reason_none 
  | Enter_scene_reason_challenge_timeout 
  | Enter_scene_reason_rogue_timeout 
  | Enter_scene_reason_change_storyline 
  | Enter_scene_reason_dimension_merge 

type poigoofgiac =
  | Map_info_chest_type_none 
  | Map_info_chest_type_normal 
  | Map_info_chest_type_challenge 
  | Map_info_chest_type_puzzle 

type gonnolnjgnf =
  | Gameplay_counter_update_reason_none 
  | Gameplay_counter_update_reason_activate 
  | Gameplay_counter_update_reason_deactivate 
  | Gameplay_counter_update_reason_change 

type agjnodchiak =
  | Scene_group_refresh_type_none 
  | Scene_group_refresh_type_loaded 
  | Scene_group_refresh_type_unload 

type popgipmfhje = {
  ionhnkbbldj : int32;
  value : int32;
}

type pmemfoppjaf = {
  map_layer : int32;
  jililehmdkg : motion_info option;
  phkkegggmdi : int32;
  ccclmigdjkc : bool;
}

type mmddmljkjgi = {
  ihnakchicdm : int64;
  eicocoilool : pmemfoppjaf list;
  entry_id : int32;
}

type mkkfbnenhff = {
  retcode : int32;
  eicocoilool : pmemfoppjaf list;
  download_data : client_download_data option;
}

type gnmoicglmnh = {
  phkkegggmdi : int32;
  jililehmdkg : motion_info option;
  entry_id : int32;
  micgnniimak : int32;
}

type kclfefmgigh = {
  ggodlmaaigd : int32;
}

type lfmoildjodb = {
  prop_entity_id : int32;
  hgneiojdpoa : int32;
}

type bgbelanblab = {
  prop_entity_id : int32;
  retcode : int32;
  prop_state : int32;
}

type kncjhglklbi = {
  bifppcoboce : int32;
  cgoahpoehno : gmpidmbmegf;
}

type jdffbhnheaf = {
  value : float;
  pfmlckgckob : string;
}

type bkpjapjejhp = {
  ggogccbgofo : string;
  jnpbpmkhoam : ifbkebonbne list;
  egofdbhnple : int32;
  gcnngeanccp : int32 list;
  ohainjgiflk : int32 list;
  dynamic_values : jdffbhnheaf list;
  ihapfjkmcee : motion_info option;
  gbhffcbgjoc : int32;
  mkfjacifjmc : int32;
  skill_index : int32;
  kapkegapokf : fnmhaajaaek list;
}

type iliogcgpcbf = {
  bjlbgfejgfa : kncjhglklbi list;
  gbhffcbgjoc : int32;
  retcode : int32;
  ibllilenejp : scene_battle_info option;
}

type njbacjfllbk = {
  egofdbhnple : int32;
  gbhffcbgjoc : int32;
  skill_index : int32;
}

type mlpgejdgmcl = {
  retcode : int32;
  gbhffcbgjoc : int32;
}

type hhpdiameemj = {
  gbhffcbgjoc : int32;
  hcoemhcfomn : int32;
}

type dmdppmebold = {
  anhhbjmpmnl : bool;
  ohibnloihci : int32;
  nnpfabenejo : camlhbegnmo;
}

type aiglghmpbfo = {
  ibllilenejp : scene_battle_info option;
  retcode : int32;
}

type bblpbdkekmk = {
  nnpfabenejo : camlhbegnmo;
}

type dmhfnlkmmnf = {
  retcode : int32;
}

type get_cur_scene_info_cs_req = unit

type get_cur_scene_info_sc_rsp = {
  retcode : int32;
  scene : scene_info option;
}

type bgkdcahdijj = {
  mgdnainpahe : ppleglfgepi;
  kacgpkifjie : ifdkgfigkgn option;
  mklbafcpmpg : int32;
  phkkegggmdi : int32;
}

type lhbjcbdmgij = {
  jmkhgpcnlmh : bgkdcahdijj list;
}

type mmkbjdonkbe = {
  prop_entity_id : int32;
  floor_id : int32;
  plane_id : int32;
}

type cblpcneeikp = {
  retcode : int32;
}

type eabcbfbinbf = {
  dabiabbbnhd : int64;
}

type gaplpnfndmi = unit

type ncnclpbndjl = {
  scene : scene_info option;
  retcode : int32;
}

type abdkilpbdii = {
  hgkmoddpamj : int32;
}

type njkicjcjjof = {
  retcode : int32;
}

type jcfdeoiocka = {
  phkkegggmdi : int32;
}

type jcaihcenlad = {
  retcode : int32;
}

type iealhphddim = unit

type bfnlhhlpmka = {
  retcode : int32;
}

type save_points_info_notify = {
  refresh_time : int64;
  valid_times : int32;
}

type start_cocoon_stage_cs_req = {
  wave : int32;
  world_level : int32;
  prop_entity_id : int32;
  cocoon_id : int32;
}

type start_cocoon_stage_sc_rsp = {
  cocoon_id : int32;
  prop_entity_id : int32;
  wave : int32;
  retcode : int32;
  battle_info : scene_battle_info option;
}

type hjdhemepacp = {
  jililehmdkg : motion_info option;
  jkoelhljkhd : bool;
}

type jcijkhcpjji = {
  retcode : int32;
}

type claiggdhaao = {
  mkhhhhahgii : bool;
}

type icaeiakdfcm = {
  mkhhhhahgii : bool;
  retcode : int32;
}

type ecfnfimfjgh = {
  phkkegggmdi : int32;
}

type oeiibhdgkcm = {
  phkkegggmdi : int32;
  retcode : int32;
}

type edhfokfjifm = {
  phkkegggmdi : int32;
  world_level : int32;
}

type kbbjoklpdgf = {
  phkkegggmdi : int32;
  retcode : int32;
  world_level : int32;
}

type dglpnoikfee = {
  nlfonahakgb : int32;
  avatar_id : int32;
}

type cmkmldlnmhm = {
  jebneocbboe : bool;
  jbaepeglfid : int32;
  bafopockgkh : dglpnoikfee list;
}

type ajkldpekjda = {
  cbclgknhnib : int64;
  nolemebkcmd : int32;
}

type enogbmnbgoi = unit

type dfjoaaggjeh = {
  retcode : int32;
  klcicncmefe : cmkmldlnmhm option;
  dhpbnongbac : ajkldpekjda option;
}

type noilflmcfid = {
  klcicncmefe : cmkmldlnmhm option;
}

type opfpniadbbh = {
  klcicncmefe : cmkmldlnmhm option;
  retcode : int32;
}

type fbhlohkcbli = {
  prop_entity_id : int32;
  floor_id : int32;
  plane_id : int32;
}

type spring_recover_sc_rsp = {
  retcode : int32;
  heal_pool_info : ajkldpekjda option;
}

type nefmieonfmh = {
  dhpbnongbac : ajkldpekjda option;
}

type agpcckalmid = {
  prop_entity_id : int32;
  floor_id : int32;
  plane_id : int32;
  avatar_type : avatar_type;
  id : int32;
  bopcmcgkedd : bool;
}

type spring_recover_single_avatar_sc_rsp = {
  avatar_type : avatar_type;
  hp : int32;
  retcode : int32;
  id : int32;
}

type fmeoiomalgi = {
  plane_id : int32;
  fccnkckpbjn : popgipmfhje option;
  floor_id : int32;
}

type pejpeakhfhj = {
  entry_id : int32;
  jbdgkicnbfa : string;
  group_id : int32;
}

type onadjaenglm = {
  entry_id : int32;
  group_id : int32;
  retcode : int32;
}

type mbkpbgbfinl = {
  stage_id : int32;
}

type goeginnoefe = {
  ibllilenejp : scene_battle_info option;
  stage_id : int32;
  retcode : int32;
}

type okgogolibcg = {
  mdnkifallep : pmemfoppjaf option;
  entry_id : int32;
}

type haikklmpfhp = {
  retcode : int32;
  micgnniimak : int32;
  mdnkifallep : pmemfoppjaf option;
}

type kfkniojkagj = {
  nfcojigifbb : int32;
  ijnpccndcgi : int32;
  entry_id : int32;
  klgdfdlhelh : int32;
  eclblfpbjlf : bool;
}

type pggcmoobcpd = {
  dngkkklpnjc : bool;
  retcode : int32;
  eclblfpbjlf : bool;
  nfcojigifbb : int32;
  ijnpccndcgi : int32;
}

type bfknfaajlik = {
  lineup : lineup_info option;
  mgdnainpahe : bddhbpgibjn;
  scene : scene_info option;
}

type hdacikpcknf = {
  mknfcmflagf : item_list option;
  donbbmfeogl : item_list option;
  gffofnglfgm : item_list option;
  kkbnigjgnlg : item_list option;
}

type dngikkglnie = {
  nfcojigifbb : int32;
  cjkoijlahho : int32;
  edpaljjjgki : bool;
  ojcmolaapaf : int32 list;
}

type egafcnjjgni = {
  pfbnanpcdjh : int32;
  state : int32;
  group_id : int32;
}

type kddobjmfahm = {
  hllognagalg : bool;
  group_id : int32;
  llgcclalmmi : int64;
  didcplpbndg : int32 list;
}

type nhofdkfidee = {
  dpdgioeelfc : poigoofgiac;
  jlbogmgmpmj : int32;
  hmjcmhjjlaf : int32;
}

type mdpnliodapd = {
  aalknkbcjkm : int32;
  ocfjgocmiem : int32;
  fgmdoekgpee : int32;
}

type kbpkfjbeilj = {
  cbphphopofk : (string * int32) list;
  fmblfbddmgi : int32 list;
  eaeoionfehm : kddobjmfahm list;
  entry_id : int32;
  ligbjpkffdg : nhofdkfidee list;
  mogndfkhapd : int32 list;
  kpbfldbadan : int32;
  cjkoijlahho : int32;
  retcode : int32;
  bnmdbicanbn : mdpnliodapd list;
  mdkmdbibnae : int32;
  hcllineafkm : egafcnjjgni list;
  nfcojigifbb : int32;
}

type anjofnkhlfp = {
  edpaljjjgki : bool;
  mdfplnoljnf : kbpkfjbeilj list;
  retcode : int32;
}

type gninhljadoj = unit

type ialhacijhac = {
  fomcmdmpdcg : int32;
  aopeodgodff : int32;
}

type dmkebfhjljj = {
  retcode : int32;
}

type cdcmmopccai = {
  mgdnainpahe : gonnolnjgnf;
  aopeodgodff : int32;
  hohagdafjih : int32;
}

type lipmdimfnak = {
  aopeodgodff : int32;
  paiihddnnjg : int32;
}

type lneeenlhdnn = {
  retcode : int32;
}

type mfljhhpaccd = {
  fgiifgkokak : (string * int32) list;
}

type odoaidcdjoj = {
  ojcmolaapaf : int32 list;
}

type impbiacohfd = {
  retcode : int32;
  fmblfbddmgi : int32 list;
}

type gcnpnnobhko = {
  mjpchdidahj : scene_entity_info option;
  cffpbnfgmmj : int32;
  klmchlokeho : int32;
}

type ceafkhfcdif = {
  ogcjllmfnob : gcnpnnobhko list;
  iehhofifjfo : agjnodchiak;
  state : int32;
  group_id : int32;
}

type iolnbeiolkh = {
  hgocilongbl : ceafkhfcdif list;
}

type iggijbjppoc = {
  group_id : int32;
  entry_id : int32;
  nfbjlfcfijo : int32;
  ihhhgodkjep : int32;
}

type ngkpjjcampj = {
  podpafooomg : iggijbjppoc option;
}

type nohhghgiajp = {
  podpafooomg : iggijbjppoc option;
  retcode : int32;
}

type fefkpkpanml = {
  podpafooomg : iggijbjppoc option;
}

type gfjappjdmnb = {
  plane_id : int32;
  floor_id : int32;
}

type geomcaafdmf = unit

type ikdmhhahhno = {
  retcode : int32;
  eljgieonbde : gfjappjdmnb list;
}

type lfacadlnjod = {
  eljgieonbde : gfjappjdmnb list;
}

type ebjolkoihmc = {
  jjpkngpgmci : string;
  iapjdabceeh : int32;
  cdgihicglml : motion_info option;
  cblnijmlgch : int32 list;
}

type pkhccikoidf = {
  retcode : int32;
  iapjdabceeh : int32;
  jjpkngpgmci : string;
  gkobfcianlo : bool;
}

type gndplhdfmpj = {
  iapjdabceeh : int32;
  cblnijmlgch : int32 list;
  jjpkngpgmci : string;
}

type dbmebneafkh = {
  bcbhaghfmhl : int32 list;
}

type lhphdmehbjk = {
  retcode : int32;
  bcbhaghfmhl : int32 list;
}

type aliilpfckfp = {
  ojcmolaapaf : int32 list;
}

type cbfgfkjfgmk = {
  cocoon_id : int32;
  wave : int32;
  world_level : int32;
}

type bcdijdennhg = {
  wave : int32;
  ibllilenejp : scene_battle_info option;
  cocoon_id : int32;
  retcode : int32;
}

type cmipadfnpch = {
  world_level : int32;
  hflfdkpgbaf : int32;
}

type pinooogpjcp = {
  retcode : int32;
  ibllilenejp : scene_battle_info option;
  hflfdkpgbaf : int32;
  world_level : int32;
}

type jnmofmlpiga = {
  klgdfdlhelh : int32;
  entry_id : int32;
}

type ckemiclfafc =
  | Cmd_server_prefs_type_none 
  | Cmd_get_server_prefs_data_cs_req 
  | Cmd_update_server_prefs_data_cs_req 
  | Cmd_update_server_prefs_data_sc_rsp 
  | Cmd_get_all_server_prefs_data_cs_req 
  | Cmd_get_server_prefs_data_sc_rsp 
  | Cmd_get_all_server_prefs_data_sc_rsp 

type jgcbdioneib = {
  aafghffligc : int32;
  data : bytes;
}

type olhefkbfbmo = unit

type kiljclofdpc = {
  cbonjopecdo : jgcbdioneib list;
  retcode : int32;
}

type jmmodkjhodb = {
  aafghffligc : int32;
}

type akakmafmdll = {
  onojjkcgnno : jgcbdioneib option;
  retcode : int32;
}

type fcakjbgdhpj = {
  onojjkcgnno : jgcbdioneib option;
}

type cachhkldamk = {
  aafghffligc : int32;
  retcode : int32;
}

type ofbdkllgbmh =
  | Cmd_shop_type_none 
  | Cmd_take_city_shop_reward_cs_req 
  | Cmd_city_shop_info_sc_notify 
  | Cmd_buy_goods_sc_rsp 
  | Cmd_get_shop_list_cs_req 
  | Cmd_get_shop_list_sc_rsp 
  | Cmd_buy_goods_cs_req 
  | Cmd_take_city_shop_reward_sc_rsp 

type goods = {
  item_id : int32;
  goods_id : int32;
  begin_time : int64;
  end_time : int64;
  buy_times : int32;
}

type shop = {
  goods_list : goods list;
  end_time : int64;
  city_exp : int32;
  begin_time : int64;
  city_taken_level_reward : int64;
  shop_id : int32;
  city_level : int32;
}

type eldffdimhfb = {
  bkiegfkjheo : int32;
}

type get_shop_list_sc_rsp = {
  retcode : int32;
  shop_list : shop list;
  shop_type : int32;
}

type hklehcgbkod = {
  fgohomljegm : int32;
  hgjolgkaofj : int32;
  bfbjhchbplg : int32;
  ififlmjnmdk : int32;
  idcigdfjabi : int32;
}

type buy_goods_sc_rsp = {
  retcode : int32;
  goods_id : int32;
  goods_buy_times : int32;
  return_item_list : item_list option;
  shop_id : int32;
}

type cdhdahieeeb = {
  level : int32;
  fgohomljegm : int32;
}

type take_city_shop_reward_sc_rsp = {
  retcode : int32;
  shop_id : int32;
  reward : item_list option;
  level : int32;
}

type city_shop_info_sc_notify = {
  shop_id : int32;
  exp : int32;
  level : int32;
  taken_level_reward : int64;
}

type gilfkecddmc =
  | Cmd_space_zoo_type_none 
  | Cmd_space_zoo_exchange_item_cs_req 
  | Cmd_space_zoo_delete_cat_cs_req 
  | Cmd_space_zoo_take_cs_req 
  | Cmd_space_zoo_take_sc_rsp 
  | Cmd_space_zoo_mutate_cs_req 
  | Cmd_space_zoo_mutate_sc_rsp 
  | Cmd_space_zoo_born_sc_rsp 
  | Cmd_space_zoo_data_cs_req 
  | Cmd_space_zoo_op_cattery_cs_req 
  | Cmd_space_zoo_born_cs_req 
  | Cmd_space_zoo_exchange_item_sc_rsp 
  | Cmd_space_zoo_op_cattery_sc_rsp 
  | Cmd_space_zoo_data_sc_rsp 
  | Cmd_space_zoo_cat_update_notify 
  | Cmd_space_zoo_delete_cat_sc_rsp 

type cnlooddmfgf = {
  onppolklhlo : int32;
  pdpfcfglgco : int32 list;
  djjmhikpmjl : int32;
  noeblakanjk : int32 list;
  unique_id : int32;
  mljedmgclmd : bool;
}

type dddldidlfaf = {
  denpgbgmcaa : int32;
  onppolklhlo : int32;
}

type bheiifaflda = unit

type cegbkojghag = {
  kajmafehicc : int32 list;
  nbijkgoknob : dddldidlfaf list;
  cnjokhoofkk : cnlooddmfgf list;
  nmmofimpcko : int32 list;
  retcode : int32;
  cmbjdeolkmj : int32 list;
  mhceoilgmca : int32;
  ofofbdcmmgd : int32 list;
  gmddehifoaf : int32 list;
}

type ohhockpilao = {
  kmehfinblhe : int32 list;
  goppphjombl : int32;
}

type jdpnjbnanji = {
  pinmacpefgd : bool;
  lcjfgcdbgim : dddldidlfaf list;
  retcode : int32;
  mhndbenogid : cnlooddmfgf option;
}

type ccpnhkllkfl = {
  hgjolgkaofj : int32;
  unique_id : int32;
}

type bhheidaoold = {
  odklnlidcfj : cnlooddmfgf option;
  lcjfgcdbgim : dddldidlfaf list;
  retcode : int32;
  pinmacpefgd : bool;
}

type lihfhopeipf = {
  kcefcohkanf : int32;
  bbdcjpocecg : int32;
  op_type : int32;
}

type naodjnndgkp = {
  retcode : int32;
  gmddehifoaf : int32 list;
}

type hjkhdlnkajb = {
  bjgpgojakoo : int32 list;
}

type gcpdecnpflh = {
  npfgpoiinha : int32 list;
  retcode : int32;
}

type llleahfmcmh = {
  hfioieaclph : bool;
  pinmacpefgd : bool;
  namngacmioe : cnlooddmfgf list;
}

type fenjjehochb = {
  hgjolgkaofj : int32;
}

type opjmmjidgjh = {
  retcode : int32;
  hgjolgkaofj : int32;
}

type ghkhmcebggb = {
  obdgbookelm : int32;
}

type ekbiohgpkbg = {
  reward : item_list option;
  obdgbookelm : int32;
  retcode : int32;
}

type mamfcgkifkh =
  | Cmd_star_fight_type_none 
  | Cmd_start_star_fight_level_sc_rsp 
  | Cmd_get_star_fight_data_sc_rsp 
  | Cmd_get_star_fight_data_cs_req 
  | Cmd_start_star_fight_level_cs_req 
  | Cmd_star_fight_data_change_notify 

type aneollgbcci = {
  hnhnaaliflo : int32;
  iidfjhpdkmn : int32;
  cdigdpfegic : int32;
  group_id : int32;
  mkbhpjnpekj : bool;
}

type kkhfkjhddnk = unit

type oeaacljemca = {
  retcode : int32;
  emfamjcdggh : aneollgbcci list;
}

type oodgaoipjjn = {
  avatar_id : int32;
  avatar_type : avatar_type;
}

type njdbokodjbe = {
  avatar_list : oodgaoipjjn list;
  odgoeojelah : int32;
  group_id : int32;
}

type fpjdldlikmj = {
  retcode : int32;
  odgoeojelah : int32;
  group_id : int32;
  ibllilenejp : scene_battle_info option;
}

type adjidagpfff = {
  jhkemkimlgi : aneollgbcci option;
  group_id : int32;
}

type djojglgfkhc =
  | Cmd_story_line_type_none 
  | Cmd_story_line_trial_avatar_change_sc_notify 
  | Cmd_get_story_line_info_sc_rsp 
  | Cmd_story_line_info_sc_notify 
  | Cmd_change_story_line_finish_sc_notify 
  | Cmd_get_story_line_info_cs_req 

type kndiidhnfel =
  | Change_story_line_action_none 
  | Change_story_line_action_finish_action 
  | Change_story_line_action_client 
  | Change_story_line_action_custom_op 

type jloogcmomgm = unit

type mpbmbeajjck = {
  retcode : int32;
  okhflbihfhm : int32 list;
  iiabgecpafd : int32;
  flchlighbkm : int32 list;
}

type gnjjdhmcdib = {
  iiabgecpafd : int32;
  flchlighbkm : int32 list;
  okhflbihfhm : int32 list;
}

type ggglmgmblmb = {
  iiabgecpafd : int32;
  kkdinpdmodn : int32;
  cfjdmlpfdoc : kndiidhnfel;
}

type impfkfgcigd = {
  ljbibineljp : int32 list;
  ccnkclcogmc : int32 list;
}

type amkkcfcfijl =
  | Cmd_strong_challenge_activity_type_none 
  | Cmd_get_strong_challenge_activity_data_cs_req 
  | Cmd_strong_challenge_activity_battle_end_sc_notify 
  | Cmd_enter_strong_challenge_activity_stage_sc_rsp 
  | Cmd_enter_strong_challenge_activity_stage_cs_req 
  | Cmd_get_strong_challenge_activity_data_sc_rsp 

type strong_challenge_avatar = {
  avatar_type : avatar_type;
  avatar_id : int32;
}

type iephmhedddd = {
  avatar_list : strong_challenge_avatar list;
  buff_list : int32 list;
}

type dgmbccdmfio = {
  gakmanenkmh : int32;
  dcjapmiemfg : int32;
  eijcednnlih : iephmhedddd option;
  stage_id : int32;
  fjlnncjahng : int32;
}

type hokldgknmmd = {
  beafdhnmifn : (int32 * dgmbccdmfio) list;
}

type ldfgdgpoceb = unit

type oggoadohmfl = {
  pbjndhogpeh : hokldgknmmd option;
  retcode : int32;
}

type oealnplnfjf = {
  stage_id : int32;
  avatar_list : strong_challenge_avatar list;
  buff_list : int32 list;
}

type ecidbkaabdp = {
  retcode : int32;
  ibllilenejp : scene_battle_info option;
  stage_id : int32;
}

type gaaiadienkl = {
  kaijilgbjlc : int32;
  lpgaoolbbfm : int32;
  gakmanenkmh : int32;
  stage_id : int32;
  iklhngoamga : int32;
  fcadgcfhlce : int32;
  inncjmgfgip : int32;
  end_status : battle_end_status;
}

type obmecpmopph =
  | Cmd_summon_activity_type_none 
  | Cmd_get_summon_activity_data_sc_rsp 
  | Cmd_get_summon_activity_data_cs_req 
  | Cmd_enter_summon_activity_stage_cs_req 
  | Cmd_summon_activity_battle_end_sc_notify 
  | Cmd_enter_summon_activity_stage_sc_rsp 

type mnbmoppbcoo = {
  pamafmppefi : int32;
  odgoeojelah : int32;
  group_id : int32;
}

type jfbafnlfkfc = unit

type ahghhhilcgm = {
  jgdennmdfko : mnbmoppbcoo list;
  retcode : int32;
}

type ldpldodnfph = {
  avatar_type : avatar_type;
  avatar_id : int32;
}

type hgbifppeoia = {
  group_id : int32;
  avatar_list : ldpldodnfph list;
  nknmlnkcpil : ldpldodnfph option;
  odgoeojelah : int32;
}

type bdpdhkbeikg = {
  group_id : int32;
  ibllilenejp : scene_battle_info option;
  odgoeojelah : int32;
  retcode : int32;
}

type nmcdhgllhnb = {
  pamafmppefi : int32;
  odgoeojelah : int32;
  foflcmnhakn : int32;
  group_id : int32;
}

type mpiejkaoeep =
  | Cmd_sword_training_type_none 
  | Cmd_sword_training_set_skill_trace_sc_rsp 
  | Cmd_sword_training_game_sync_change_sc_notify 
  | Cmd_sword_training_mark_ending_viewed_sc_rsp 
  | Cmd_sword_training_exam_result_confirm_sc_rsp 
  | Cmd_sword_training_unlock_sync_sc_notify 
  | Cmd_sword_training_story_confirm_sc_rsp 
  | Cmd_sword_training_turn_action_cs_req 
  | Cmd_enter_sword_training_exam_cs_req 
  | Cmd_sword_training_turn_action_sc_rsp 
  | Cmd_sword_training_restore_game_sc_rsp 
  | Cmd_sword_training_learn_skill_cs_req 
  | Cmd_enter_sword_training_exam_sc_rsp 
  | Cmd_sword_training_exam_result_confirm_cs_req 
  | Cmd_sword_training_restore_game_cs_req 
  | Cmd_get_sword_training_data_cs_req 
  | Cmd_sword_training_dialogue_select_option_sc_rsp 
  | Cmd_sword_training_give_up_game_sc_rsp 
  | Cmd_sword_training_resume_game_sc_rsp 
  | Cmd_sword_training_game_settle_sc_notify 
  | Cmd_sword_training_mark_ending_viewed_cs_req 
  | Cmd_sword_training_dialogue_select_option_cs_req 
  | Cmd_sword_training_start_game_sc_rsp 
  | Cmd_sword_training_story_battle_sc_rsp 
  | Cmd_sword_training_set_skill_trace_cs_req 
  | Cmd_sword_training_learn_skill_sc_rsp 
  | Cmd_sword_training_action_turn_settle_sc_notify 
  | Cmd_sword_training_daily_phase_confirm_cs_req 
  | Cmd_sword_training_select_ending_sc_rsp 
  | Cmd_sword_training_daily_phase_confirm_sc_rsp 
  | Cmd_sword_training_story_battle_cs_req 
  | Cmd_sword_training_give_up_game_cs_req 
  | Cmd_sword_training_start_game_cs_req 
  | Cmd_sword_training_select_ending_cs_req 
  | Cmd_get_sword_training_data_sc_rsp 
  | Cmd_sword_training_story_confirm_cs_req 
  | Cmd_sword_training_resume_game_cs_req 

type nmabognbiph =
  | Sword_train_game_source_type_none 
  | Sword_train_game_source_type_turn_settle 
  | Sword_train_game_source_type_status_upgrade 
  | Sword_train_game_source_type_action 
  | Sword_train_game_source_type_action_hint 
  | Sword_train_game_source_type_story 
  | Sword_train_game_source_type_exam_bonus 
  | Sword_train_game_source_type_dialogue 

type kkigfnbambb =
  | Sword_training_daily_phase_type_none 
  | Sword_training_daily_phase_type_morning 
  | Sword_training_daily_phase_type_noon 
  | Sword_training_daily_phase_type_afternoon 
  | Sword_training_daily_phase_type_evening 

type ehamhholmlo =
  | Sword_training_status_type_none 
  | Sword_training_status_type_power 
  | Sword_training_status_type_agility 
  | Sword_training_status_type_toughness 
  | Sword_training_status_type_perception 
  | P_sword_training_status_type_max 

type depohhphajh =
  | Sword_training_game_settle_none 
  | Sword_training_game_settle_finish 
  | Sword_training_game_settle_give_up 
  | Sword_training_game_settle_battle_failed 
  | Sword_training_game_settle_force 
  | Sword_training_game_settle_by_restore 

type pnkhecjaaoi = unit

type ephhcckomlk = unit

type nfekediapge = {
  joeicfcdnem : int32;
}

type infppjcemha = unit

type mihpphicnih = {
  hgpelgifadf : int32;
  cmjoambdell : bool;
}

type onjhnhikeoc = unit

type dnokdemkpli = unit

type cbgnjfgbgee = {
  hgpelgifadf : int32;
  pabpdlekjcp : bool;
}

type blbpcmemjnc = {
  blmeadkkape : unit;
  iemgakcdajk : unit;
  hckfijnmehb : nfekediapge option;
  idogbgmibhn : unit;
  ahfnfkkihaj : mihpphicnih option;
  jjhgennbaig : unit;
  ldfmdjoicah : unit;
  npmjgigdmag : cbgnjfgbgee option;
}

type ofkendbkcbl = {
  megpbceegbg : int32 list;
  ijnpccndcgi : int32;
}

type ienjhcggjig = {
  level : int32;
  ocnjbebhbgo : int32;
}

type fhmhhefpgin = {
  nhpllohnnpa : ienjhcggjig list;
}

type gmmbihcfkoj = {
  value : int32;
  cpnkdpcablk : ehamhholmlo;
}

type cnifagkeclj = {
  fjeencfpjph : int32;
  gmoccampfnk : int32;
  bndfcikelgn : gmmbihcfkoj list;
}

type cggmebdeebe = {
  begkgjcmjkh : int32;
  hccjhiilppi : int32;
}

type dfnhmidnfih = {
  jijilpikghc : kkigfnbambb;
  kekabacindh : cggmebdeebe list;
  mibpnbjglgc : int32 list;
}

type gfkifjlgbji = {
  bddndfifhog : int32;
}

type gkjmkhadbhm = {
  mamcoaebgbi : int32;
  mldigofchdf : dfnhmidnfih option;
  hoihjilfgna : gfkifjlgbji option;
}

type anmohklghla = {
  plpebgdmkbo : int32;
  hjmjbiijegj : int32;
  jcodcgklojn : int32 list;
}

type lekclmamabb = {
  lfleifodebe : blbpcmemjnc option;
  likjgjnclen : ofkendbkcbl option;
  jfbodfkjcdl : fhmhhefpgin option;
  pbgelhmjcoa : cnifagkeclj option;
  mjldomhofmk : int32 list;
  hbnoljogigk : int32;
  kphnlieefmi : gkjmkhadbhm option;
  hhapkchnbea : anmohklghla option;
}

type aeamblofmpi = {
  cpnkdpcablk : ehamhholmlo;
  dhchppbnfeg : int32;
  dcedopcicik : int32;
}

type iogbidfkhpm = {
  dhchppbnfeg : int32;
  dcedopcicik : int32;
}

type bbcapkmgaea = {
  level : int32;
  ocnjbebhbgo : int32;
  fmpkgkkeelb : int32;
}

type caiajmhebpe = {
  hbnoljogigk : int32;
  ppgoielepbp : gkjmkhadbhm option;
}

type lpdohkmgbfm = {
  joeicfcdnem : int32;
}

type piknebbjogb = {
  geplglcbnpd : aeamblofmpi option;
  bkkmplogidp : iogbidfkhpm option;
  nljpopadalj : iogbidfkhpm option;
  cfjdpnoebmc : bbcapkmgaea option;
  doipafkjfhh : caiajmhebpe option;
  agmonjkadfn : mihpphicnih option;
  kfgeokefamb : lpdohkmgbfm option;
  adbgcdehnln : int32;
  fjeencfpjph : int32;
  aimpielkcep : cbgnjfgbgee option;
  leimjcdlpkb : unit;
  kdbkiggpfjk : int32;
}

type lgkolnobmke = {
  mkgoabedjeh : piknebbjogb option;
  gnfpnbgacdf : nmabognbiph;
}

type bficmhohfpf = {
  hgpelgifadf : int32;
  cmjoambdell : bool;
}

type cghamdopejg = {
  lhcalbfcfjl : lgkolnobmke list;
}

type dgipcmolhdc = {
  progress : int32;
  id : int32;
}

type pncgfdodfbj = {
  pmlhjpikfne : dgipcmolhdc list;
  hhegkljjdol : int32 list;
}

type mdinmlkbghf = unit

type oepndhlaocj = {
  megpbceegbg : int32 list;
  hfgdfjlfhll : bool;
  retcode : int32;
  iffefihhaod : int32;
  hfcakgghnim : lekclmamabb option;
  dbjocgbpkem : int32 list;
  nacefnlkjek : int32 list;
  bdaldfbhcjl : pncgfdodfbj option;
}

type gmpaedocmhb = {
  pmcffigbbca : int32 list;
  gkhjdaocipm : int32 list;
}

type hhmcknhhjkd = {
  retcode : int32;
  pmcffigbbca : int32 list;
}

type memoccbcknp = {
  dfopbnjpmab : kkigfnbambb;
}

type biccoplpgcb = {
  oiolgbomcbb : bool;
  retcode : int32;
}

type ohfjifnacak = {
  ojkjbeilgdc : int32;
}

type mbkalfaemic = {
  retcode : int32;
}

type ceneghbolla = unit

type gibceehbdhp = {
  retcode : int32;
}

type aidiofhcdpc = unit

type igpghakolin = {
  retcode : int32;
  ibllilenejp : scene_battle_info option;
}

type fjmhhaahmfk = {
  hgnfloilneg : int32;
}

type plmjgmfnamh = {
  retcode : int32;
  hgnfloilneg : int32;
}

type agmlhcjehnp = {
  ijnpccndcgi : int32;
}

type nomomdajgjp = {
  retcode : int32;
  hfcakgghnim : lekclmamabb option;
}

type gchmilhlfik = {
  hgpelgifadf : int32;
}

type mhplggpbphh = {
  retcode : int32;
  hgpelgifadf : int32;
}

type gmbfnmhknfe = unit

type eeeiakoijdp = {
  retcode : int32;
}

type mfldbdcofoa = {
  reward : item_list option;
  mgdnainpahe : depohhphajh;
  bfhblojhfbn : int32;
  kmlmaidhiid : int32;
  ijnpccndcgi : int32;
  ppgoielepbp : int32;
  gapieppjlaa : int32 list;
  bdnbfapkglb : int32 list;
}

type jmhlacoghih = {
  pmlhjpikfne : dgipcmolhdc list;
  hhegkljjdol : int32 list;
}

type jmdpmflhhji = {
  pflbmbdfmoa : int32;
}

type caljhhoopfm = {
  retcode : int32;
  pflbmbdfmoa : int32;
}

type bcjhagmagmg = unit

type bdiokbdhahk = {
  hfcakgghnim : lekclmamabb option;
  retcode : int32;
}

type cgionkcjglk = unit

type mkfdpmdlmhf = {
  retcode : int32;
  ibllilenejp : scene_battle_info option;
}

type fplmkenpnjj = {
  egjnanlfing : gmmbihcfkoj list;
  feolddnidjp : int32;
}

type bjkiikoohdi = {
  ijnpccndcgi : int32;
}

type mkbnigandmh = {
  retcode : int32;
  hfcakgghnim : lekclmamabb option;
}

type kbeomioccmo = {
  hgnfloilneg : int32;
}

type gikfodcelhm = {
  hgnfloilneg : int32;
  retcode : int32;
}

type kkohobkjepb = unit

type hmkelhaiieo = {
  retcode : int32;
}

type nipddckankc =
  | Cmd_player_sync_none 
  | Cmd_player_sync_sc_notify 

type dfilomffafd = {
  pnoolmohieh : int32;
  stamina : int32;
}

type amdcchadhnj = {
  djjdncbpmfk : ilmpdolbflp list;
  cpkikinabfj : string;
  kdpdlgbfimd : bool;
}

type mgigkpibcid = {
  avatar_list : avatar list;
}

type oiofbfhdfci = {
  goojfjoomdc : dlompnobmja list;
  ipodiiadolh : int32 list;
  ommnpnbabhn : int32 list;
  hjnfpofkanm : mission list;
  mapjkehplbn : ihgeeangifc list;
  dgoigglciko : int32 list;
  limpnlbchpl : int32 list;
}

type anfldllfjhp = {
  nloponhbgod : int32 list;
  mkbbddpdmoi : mission list;
  gogjmmkhilb : int32 list;
}

type cbpblopaocm = {
  kmfpienacdg : int32 list;
  bcedhodkdna : int32 list;
}

type nfccnkngbke = {
  cokophbhocf : int32;
  kagnbjdmamf : int32;
}

type fflpjlakgim = {
  basic_info : player_basic_info option;
  relic_list : lhpihhdiplm list;
  equipment_list : mdlbakehplp list;
  deadfemndnk : ipcffjhaijg list;
  melkjffjnkb : oiofbfhdfci option;
  flnjichokac : aoacdcgcmej list;
  pnlbagbglfd : eejpmepikga list;
  emfekeedafc : int32 list;
  mjbalomkgdg : int32 list;
  dbnddbjfikl : anfldllfjhp option;
  cbhiiikinol : nfccnkngbke list;
  egbapniokip : mgigkpibcid option;
  mongepojhkd : jnicjgmnafm list;
  mkijkaoaokm : amdcchadhnj option;
  igcimdmbdfa : int32;
  pbppjohlbad : dfilomffafd option;
  pdljebofmep : dejjkifldfb list;
  egmlhakbkmc : aoacdcgcmej list;
  diocdcpkolk : int32 list;
  epdnicajoli : multi_path_avatar list;
  ilcelhlkamj : item_list option;
  gigmmbhcdij : cbpblopaocm option;
}

type klcejfngnia =
  | Cmd_talk_reward_type_none 
  | Cmd_finish_first_talk_by_performance_npc_sc_rsp 
  | Cmd_finish_first_talk_npc_cs_req 
  | Cmd_take_talk_reward_sc_rsp 
  | Cmd_finish_first_talk_npc_sc_rsp 
  | Cmd_select_inclination_text_cs_req 
  | Cmd_get_first_talk_npc_sc_rsp 
  | Cmd_select_inclination_text_sc_rsp 
  | Cmd_get_first_talk_npc_cs_req 
  | Cmd_finish_first_talk_by_performance_npc_cs_req 
  | Cmd_get_npc_taken_reward_sc_rsp 
  | Cmd_get_first_talk_by_performance_npc_sc_rsp 
  | Cmd_get_first_talk_by_performance_npc_cs_req 
  | Cmd_take_talk_reward_cs_req 
  | Cmd_get_npc_taken_reward_cs_req 

type apmclbiejpn = {
  pnigjhppmln : int32;
}

type hncebojkknh = {
  ombidcbhbod : int32 list;
  retcode : int32;
  pnigjhppmln : int32;
}

type bjbhlbkodjk = {
  hcjlnnfiogc : int32;
  hhakfcdngok : vector option;
}

type jdmnghmikgh = {
  hcjlnnfiogc : int32;
  reward : item_list option;
  retcode : int32;
}

type gpjfibhdkhh = {
  knncoohambc : int32 list;
}

type caelfpofmmj = {
  fhhkhmdleno : bool;
  elalbdgiapo : int32;
}

type lgpphodkglk = {
  lljmpejacne : caelfpofmmj list;
  retcode : int32;
}

type ejfomkhdopf = {
  elalbdgiapo : int32;
}

type clbhecajmon = {
  elalbdgiapo : int32;
  retcode : int32;
}

type jjkdobellnm = {
  daeehalilod : int32;
}

type bbfjcpghojm = {
  retcode : int32;
  daeehalilod : int32;
}

type afkjnogkidl = {
  fbekcndnmfe : int32;
  fhhkhmdleno : bool;
}

type pbcoigienpa = {
  klbckeejghh : int32 list;
}

type jgmliannaif = {
  lljmpejacne : afkjnogkidl list;
  retcode : int32;
}

type ldkphhejnmm = {
  fbekcndnmfe : int32;
}

type bbdmebkcoem = {
  retcode : int32;
  fbekcndnmfe : int32;
  reward : item_list option;
}

type pdmgpjhhpbn =
  | Cmd_television_activity_type_none 
  | Cmd_get_television_activity_data_sc_rsp 
  | Cmd_get_television_activity_data_cs_req 
  | Cmd_television_activity_data_change_sc_notify 
  | Cmd_television_activity_battle_end_sc_notify 
  | Cmd_enter_television_activity_stage_cs_req 
  | Cmd_enter_television_activity_stage_sc_rsp 

type glilglpgodo = {
  ppoegdhjlke : int32;
  gakmanenkmh : int32;
  lbggbhfhdeg : int32;
}

type nbilebkmmfk = unit

type bjjcffhmopd = {
  kcgjglleflg : glilglpgodo list;
  retcode : int32;
}

type mpbdgeailof = {
  kcgjglleflg : glilglpgodo list;
}

type eojghonebdd = {
  anjcemifefc : int32;
  hpegmhpcfem : int32;
  mokbbafhbjn : glilglpgodo option;
  mahiocfcikf : int32;
  mphcmmfkpog : int32;
}

type poklpkkcaad = {
  avatar_type : avatar_type;
  avatar_id : int32;
}

type fbjjlepeflm = {
  ppoegdhjlke : int32;
  buff_list : int32 list;
  avatar_list : poklpkkcaad list;
}

type egaindjnekn = {
  retcode : int32;
  ibllilenejp : scene_battle_info option;
  ppoegdhjlke : int32;
}

type blnbpchkmop =
  | Cmd_text_join_type_none 
  | Cmd_text_join_query_cs_req 
  | Cmd_text_join_query_sc_rsp 
  | Cmd_text_join_save_sc_rsp 
  | Cmd_text_join_batch_save_sc_rsp 
  | Cmd_text_join_batch_save_cs_req 
  | Cmd_text_join_save_cs_req 

type okgmgbpllhg = {
  hfhomlnogbc : string;
  aiecnaafflj : int32;
  emamkmopfci : string;
  akjcolodghe : int32;
  doblbefaofp : int32;
}

type dmlpggkagbh = {
  hfhomlnogbc : string;
  aiecnaafflj : int32;
  akjcolodghe : int32;
}

type ajcbkjegiin = {
  akjcolodghe : int32;
  aiecnaafflj : int32;
  retcode : int32;
  hfhomlnogbc : string;
}

type cifieflilcg = {
  hpoppknopda : int32 list;
}

type aacbnhhcjcf = {
  retcode : int32;
  komlgafbhol : okgmgbpllhg list;
}

type mcmibjbpcpc = {
  komlgafbhol : okgmgbpllhg list;
}

type onfphghabkn = {
  retcode : int32;
  komlgafbhol : okgmgbpllhg list;
}

type ppefpjcekag =
  | Cmd_track_photo_activity_type_none 
  | Cmd_start_track_photo_stage_sc_rsp 
  | Cmd_settle_track_photo_stage_cs_req 
  | Cmd_quit_track_photo_stage_cs_req 
  | Cmd_get_track_photo_activity_data_cs_req 
  | Cmd_settle_track_photo_stage_sc_rsp 
  | Cmd_start_track_photo_stage_cs_req 
  | Cmd_quit_track_photo_stage_sc_rsp 
  | Cmd_get_track_photo_activity_data_sc_rsp 

type dkmgobmngna = {
  gakmanenkmh : int32;
  stage_id : int32;
}

type jlmpepajfgn = unit

type caihfoekdkg = {
  loiacnoghal : dkmgobmngna list;
  retcode : int32;
}

type bhbmdjfabkp = {
  phkkegggmdi : int32;
  cikiifgkobo : bool;
}

type blhbkgmhioi = {
  llicomkidom : bhbmdjfabkp list;
  stage_id : int32;
  cost_time : int32;
}

type kbmejebjblb = {
  llicomkidom : bhbmdjfabkp list;
  lpgaoolbbfm : int32;
  retcode : int32;
  stage_id : int32;
}

type oejfojfeook = {
  stage_id : int32;
  nipjabamela : bool;
}

type hlhbilfmihg = {
  fnpojgdggpm : int32;
  retcode : int32;
}

type pifnkahjacn = {
  stage_id : int32;
}

type ekacihfcebb = {
  retcode : int32;
}

type hcgenkapobn =
  | Cmd_train_visitor_type_none 
  | Cmd_take_train_visitor_untaken_behavior_reward_cs_req 
  | Cmd_get_train_visitor_behavior_cs_req 
  | Cmd_get_train_visitor_behavior_sc_rsp 
  | Cmd_get_train_visitor_register_sc_rsp 
  | Cmd_train_visitor_reward_send_notify 
  | Cmd_take_train_visitor_untaken_behavior_reward_sc_rsp 
  | Cmd_train_visitor_behavior_finish_sc_rsp 
  | Cmd_show_new_supplement_visitor_sc_rsp 
  | Cmd_show_new_supplement_visitor_cs_req 
  | Cmd_train_refresh_time_notify 
  | Cmd_train_visitor_behavior_finish_cs_req 
  | Cmd_get_train_visitor_register_cs_req 

type indhbbjiean =
  | Train_visitor_reward_send_none 
  | Train_visitor_reward_send_register 
  | Train_visitor_reward_send_mission 

type ffppaobdjgo =
  | Train_visitor_status_none 
  | Train_visitor_status_init 
  | Train_visitor_status_get_on 
  | Train_visitor_status_get_off 

type heppgbeaopd =
  | Train_visitor_register_get_type_none 
  | Train_visitor_register_get_type_auto 
  | Train_visitor_register_get_type_manual 

type imehehjilbf = {
  fhhkhmdleno : bool;
  kjdlimfggmd : int32;
}

type jcoigmjglmi = {
  kjdlimfggmd : int32;
}

type pbhnlblmpaa = {
  reward : item_list option;
  kjdlimfggmd : int32;
  retcode : int32;
}

type fpkkikjjnjo = {
  gppailmfnpc : int32 list;
}

type flkndlkfapo = {
  retcode : int32;
  aaiiofpbclc : imehehjilbf list;
}

type klnondaeimi = {
  cjgpnhfjgem : int64;
}

type gfdkjpbgndm = {
  fgmdoekgpee : indhbbjiean;
  kjdlimfggmd : int32;
  reward : item_list option;
}

type gmmckeldapa = {
  mbggfmadnhj : int32 list;
  kjdlimfggmd : int32;
  kkmajbpemnh : bool;
  lmdjgffdebk : int32;
  status : ffppaobdjgo;
}

type ccoihlmpiac = {
  fgmdoekgpee : heppgbeaopd;
}

type lhjfoefkhmg = {
  hiinpcllmlh : gmmckeldapa list;
  mfdbddconkm : int32 list;
  retcode : int32;
}

type ajonbhidggp = {
  kjdlimfggmd : int32;
}

type pmhjadjahah = {
  retcode : int32;
  mbggfmadnhj : int32 list;
  kjdlimfggmd : int32;
}

type npkoljalcid = {
  mfdbddconkm : int32 list;
}

type hdgbdehfdal = {
  retcode : int32;
}

type ahohoegfkcn =
  | Cmd_travel_brochure_none 
  | Cmd_travel_brochure_apply_paster_cs_req 
  | Cmd_travel_brochure_set_page_desc_status_cs_req 
  | Cmd_travel_brochure_page_reset_sc_rsp 
  | Cmd_travel_brochure_page_reset_cs_req 
  | Cmd_travel_brochure_update_paster_pos_cs_req 
  | Cmd_travel_brochure_set_custom_value_cs_req 
  | Cmd_travel_brochure_get_paster_sc_notify 
  | Cmd_travel_brochure_page_unlock_sc_notify 
  | Cmd_travel_brochure_set_page_desc_status_sc_rsp 
  | Cmd_travel_brochure_select_message_cs_req 
  | Cmd_travel_brochure_remove_paster_sc_rsp 
  | Cmd_travel_brochure_apply_paster_sc_rsp 
  | Cmd_travel_brochure_set_custom_value_sc_rsp 
  | Cmd_travel_brochure_get_data_cs_req 
  | Cmd_travel_brochure_select_message_sc_rsp 
  | Cmd_travel_brochure_update_paster_pos_sc_rsp 
  | Cmd_travel_brochure_apply_paster_list_cs_req 
  | Cmd_travel_brochure_apply_paster_list_sc_rsp 
  | Cmd_travel_brochure_get_data_sc_rsp 
  | Cmd_travel_brochure_remove_paster_cs_req 

type nbdeaohmgpd =
  | Page_none 
  | Page_unlocked 
  | Page_interacted 

type nepgcakaimg =
  | Page_desc_none 
  | Page_desc_show_detail 
  | Page_desc_collapse 

type edpcmbkldpp = {
  ppikfajecgn : int32;
  jhaokflajhi : int32;
  unique_id : int64;
  lefamlnchdb : int32;
  oppiofgaapm : int32;
  hgjolgkaofj : int32;
}

type plhfolkmaji = {
  ejglndccacp : int32;
  bmojbiafcan : nbdeaohmgpd;
  mmdkdomadkc : nepgcakaimg;
  nanmhcnadkg : edpcmbkldpp list;
  elhpffpejcd : int32;
}

type eecdaglagim = unit

type ebhhobohldg = {
  iklpaikjkha : (int32 * plhfolkmaji) list;
  retcode : int32;
  dmoappoigef : (int32 * int32) list;
  ogcfmckhlja : int32;
}

type kehccelcakp = {
  elhpffpejcd : int32;
}

type dlnlcelilmh = {
  elhpffpejcd : int32;
  ejglndccacp : int32;
}

type jkkodmojmcp = {
  fibbcankfpi : plhfolkmaji option;
  retcode : int32;
  reward : item_list option;
}

type moejhbphboe = {
  elhpffpejcd : int32;
  oppiofgaapm : int32;
  jhaokflajhi : int32;
  lefamlnchdb : int32;
  hgjolgkaofj : int32;
  ppikfajecgn : int32;
}

type lhogneaekbm = {
  retcode : int32;
  fibbcankfpi : plhfolkmaji option;
}

type phnejeildid = {
  hgjolgkaofj : int32;
  unique_id : int64;
  elhpffpejcd : int32;
}

type djoaplnhnnm = {
  fibbcankfpi : plhfolkmaji option;
  retcode : int32;
}

type kjjnbcjpofd = {
  ppikfajecgn : int32;
  lefamlnchdb : int32;
  jhaokflajhi : int32;
  oppiofgaapm : int32;
  hgjolgkaofj : int32;
  elhpffpejcd : int32;
  unique_id : int64;
}

type lbeilmencmg = {
  retcode : int32;
  fibbcankfpi : plhfolkmaji option;
}

type eildnlloolg = {
  cokophbhocf : int32;
  kagnbjdmamf : int32;
}

type dldkemoempi = {
  value : int32;
}

type acemjognmli = {
  retcode : int32;
}

type bogbdeohiom = {
  clehhaedpae : nepgcakaimg;
  elhpffpejcd : int32;
}

type oedabbebong = {
  retcode : int32;
}

type mdjglknfbcl = {
  elhpffpejcd : int32;
}

type ngdapheckdd = {
  fibbcankfpi : plhfolkmaji option;
  retcode : int32;
}

type daonkhoicpl = {
  oppiofgaapm : int32;
  hgjolgkaofj : int32;
  jhaokflajhi : int32;
  lefamlnchdb : int32;
  ppikfajecgn : int32;
}

type agfommpgbeh = {
  ejkllkececl : daonkhoicpl list;
  elhpffpejcd : int32;
}

type idechpiaipb = {
  fibbcankfpi : plhfolkmaji option;
  retcode : int32;
}

type mmfbpfacamh =
  | Cmd_treasure_dungeon_type_none 
  | Cmd_fight_treasure_dungeon_monster_sc_rsp 
  | Cmd_use_treasure_dungeon_item_sc_rsp 
  | Cmd_use_treasure_dungeon_item_cs_req 
  | Cmd_quit_treasure_dungeon_sc_rsp 
  | Cmd_quit_treasure_dungeon_cs_req 
  | Cmd_open_treasure_dungeon_grid_sc_rsp 
  | Cmd_treasure_dungeon_data_sc_notify 
  | Cmd_interact_treasure_dungeon_grid_sc_rsp 
  | Cmd_open_treasure_dungeon_grid_cs_req 
  | Cmd_interact_treasure_dungeon_grid_cs_req 
  | Cmd_fight_treasure_dungeon_monster_cs_req 
  | Cmd_get_treasure_dungeon_activity_data_cs_req 
  | Cmd_get_treasure_dungeon_activity_data_sc_rsp 
  | Cmd_enter_treasure_dungeon_sc_rsp 
  | Cmd_treasure_dungeon_finish_sc_notify 
  | Cmd_enter_treasure_dungeon_cs_req 

type domnbbdobkg =
  | Treasure_dungeon_record_none 
  | Treasure_dungeon_record_add_hp 
  | Treasure_dungeon_record_sub_hp 
  | Treasure_dungeon_record_sub_hp_no_explore 
  | Treasure_dungeon_record_add_attack 
  | Treasure_dungeon_record_add_defence 
  | Treasure_dungeon_record_add_explore 
  | Treasure_dungeon_record_sub_explore 
  | Treasure_dungeon_record_add_explore_overflow 
  | Treasure_dungeon_record_summon 
  | Treasure_dungeon_record_kill 
  | Treasure_dungeon_record_add_trial_avatar 
  | Treasure_dungeon_record_add_buff 
  | Treasure_dungeon_record_unlock_door 
  | Treasure_dungeon_record_enemy_enhance 
  | Treasure_dungeon_record_enemy_weaken 
  | Treasure_dungeon_record_enemy_aura_remove 
  | Treasure_dungeon_record_special_monster_run 
  | Treasure_dungeon_record_special_monster_kill 
  | Treasure_dungeon_record_battle_buff_trigger_success 
  | Treasure_dungeon_record_battle_buff_trigger_fail 
  | Treasure_dungeon_record_battle_buff_add_explore 
  | Treasure_dungeon_record_battle_buff_open_grid 
  | Treasure_dungeon_record_battle_buff_add_item 
  | Treasure_dungeon_record_avatar_dead 
  | Treasure_dungeon_record_trial_avatar_dead 
  | Treasure_dungeon_record_all_avatar_dead 
  | Treasure_dungeon_record_open_item_chest 

type treasure_dungeon_record_data = {
  type_ : domnbbdobkg;
  param_2 : int32;
  target_grid_id : int32;
  param_1 : int32;
  source_grid_id : int32;
}

type adihimnhjmc = {
  pkkfndimmio : int32;
  kkjoplahmam : int32;
}

type nhomjjpmlml = {
  avatar_id : int32;
  avatar_type : int32;
  hp : int32;
  elolchjhcpa : int32;
  sp : sp_progress option;
}

type fmkkknpkhka = {
  avatar_id : int32;
  avatar_type : int32;
}

type olekkhgdbno = {
  olfhccbiidg : int32;
  hgjolgkaofj : int32;
}

type kckckdlbgah = {
  mgokheahgno : int32;
  pkkfndimmio : int32;
  odfbamohefb : int32;
  hfofggdjldk : int32;
  mdplfmdjfji : int32;
}

type eihmdnhfbhi = {
  mdplfmdjfji : int32;
  jllomgfnoad : bool;
  kjhdclobejc : bool;
  kjbihcphcco : bool;
  buff_list : kckckdlbgah list;
  pghfklcblcf : int32;
  eeilehahchh : bool;
  emdckdplfno : int32;
}

type gfkhhobedjc = {
  fdhmddjckbm : int32;
  ccgokknidmp : int32;
  ihojbibbmjk : int32;
  buff_list : adihimnhjmc list;
  acnhklfedmn : treasure_dungeon_record_data list;
  lnjapmhfcck : int32;
  avatar_list : nhomjjpmlml list;
  dodenbklklh : bool;
  gepegecgkgd : int32;
  bdajebnoflc : fmkkknpkhka list;
  dckcbphknmm : int32;
  kcinaojggca : nhomjjpmlml list;
  gabmdafmbia : int32;
  koonaacohgh : bool;
  olpededenmb : bool;
  pdpfcfglgco : olekkhgdbno list;
  ibbomefncba : int32;
  nnfelodhecl : eihmdnhfbhi list;
}

type nkjmbndffmp = {
  fimenpabjlk : gfkhhobedjc option;
}

type cdaklgjjdag = {
  ihojbibbmjk : int32;
  dckcbphknmm : int32;
  dfggjlmnblk : int32;
  llbhkchlhfl : int32;
  mmnebfbnoni : bool;
  apconhladef : (int32 * int32) list;
  iacdjpcmgem : (int32 * int32) list;
}

type bcgidhjgbeh = {
  ihojbibbmjk : int32;
  dckcbphknmm : int32;
  fdhmddjckbm : int32;
  jfbghenfbmh : bool;
  ccgokknidmp : int32;
  nhbjkfibgbk : bool;
  fknlibdaomf : int32;
}

type phklcpjjdkc = unit

type ceaeicabldl = {
  lflniekplaj : bcgidhjgbeh list;
  retcode : int32;
}

type bohmllfkgdb = {
  avatar_id : int32;
  avatar_type : avatar_type;
}

type egfcfmidplk = {
  dckcbphknmm : int32;
  avatar_list : bohmllfkgdb list;
}

type oaiphfkhfhf = {
  fimenpabjlk : gfkhhobedjc option;
  retcode : int32;
}

type kdffhgdidnj = {
  dckcbphknmm : int32;
  mdplfmdjfji : int32;
}

type jjaapmnnpkb = {
  retcode : int32;
  fimenpabjlk : gfkhhobedjc option;
}

type nbdnjolnelg = {
  dckcbphknmm : int32;
  mdplfmdjfji : int32;
  iihookopmmk : int32;
}

type ndimhdecnpi = {
  fimenpabjlk : gfkhhobedjc option;
  retcode : int32;
}

type licdjbkkfal = {
  hgjolgkaofj : int32;
  mdplfmdjfji : int32;
  dckcbphknmm : int32;
}

type piogcpmnabf = {
  fimenpabjlk : gfkhhobedjc option;
  retcode : int32;
}

type nkadmflinkc = {
  avatar_list : bohmllfkgdb list;
  dckcbphknmm : int32;
  mdplfmdjfji : int32;
}

type elleinlllod = {
  ibllilenejp : scene_battle_info option;
  retcode : int32;
}

type mmgpeoifnbp = {
  dckcbphknmm : int32;
  piofaglkghg : bool;
}

type lacfgpmpdpj = {
  retcode : int32;
}

type kkkkpnfkonk =
  | Cmd_tutorial_type_none 
  | Cmd_get_tutorial_cs_req 
  | Cmd_unlock_tutorial_cs_req 
  | Cmd_finish_tutorial_guide_cs_req 
  | Cmd_get_tutorial_guide_cs_req 
  | Cmd_finish_tutorial_cs_req 
  | Cmd_unlock_tutorial_guide_sc_rsp 
  | Cmd_finish_tutorial_sc_rsp 
  | Cmd_unlock_tutorial_sc_rsp 
  | Cmd_unlock_tutorial_guide_cs_req 
  | Cmd_get_tutorial_sc_rsp 
  | Cmd_get_tutorial_guide_sc_rsp 
  | Cmd_finish_tutorial_guide_sc_rsp 

type jmfbfepgebc =
  | Tutorial_none 
  | Tutorial_unlock 
  | Tutorial_finish 

type tutorial = {
  id : int32;
  status : jmfbfepgebc;
}

type tutorial_guide = {
  id : int32;
  status : jmfbfepgebc;
}

type apikgighdgc = unit

type get_tutorial_sc_rsp = {
  tutorial_list : tutorial list;
  retcode : int32;
}

type ojofgmhapgh = unit

type get_tutorial_guide_sc_rsp = {
  tutorial_guide_list : tutorial_guide list;
  retcode : int32;
}

type oplbnbefnjj = {
  bjmhgbbfpmn : int32;
}

type unlock_tutorial_sc_rsp = {
  retcode : int32;
  tutorial : tutorial option;
}

type mgnmibjadbe = {
  group_id : int32;
}

type unlock_tutorial_guide_sc_rsp = {
  tutorial_guide : tutorial_guide option;
  retcode : int32;
}

type obkljeiahea = {
  bjmhgbbfpmn : int32;
}

type finish_tutorial_sc_rsp = {
  tutorial : tutorial option;
  retcode : int32;
}

type nlgambkaaie = {
  group_id : int32;
}

type finish_tutorial_guide_sc_rsp = {
  retcode : int32;
  tutorial_guide : tutorial_guide option;
  reward : item_list option;
}

type elhiclfnnmc =
  | Cmd_waypoint_type_none 
  | Cmd_set_cur_waypoint_sc_rsp 
  | Cmd_take_chapter_reward_sc_rsp 
  | Cmd_get_chapter_sc_rsp 
  | Cmd_waypoint_show_new_cs_notify 
  | Cmd_set_cur_waypoint_cs_req 
  | Cmd_take_chapter_reward_cs_req 
  | Cmd_get_waypoint_cs_req 
  | Cmd_get_waypoint_sc_rsp 
  | Cmd_get_chapter_cs_req 

type pkajimpclaj =
  | Waypoint_type_none 
  | Waypoint_type_stage 
  | Waypoint_type_plot 

type pkkplfincff =
  | Waypoint_unlock_none 
  | Waypoint_unlock_pre 
  | Waypoint_unlock_level 

type nlbpclnhcjn = {
  id : int32;
  kollpgccdil : bool;
  kojolodooni : int32;
}

type jpkjdnbmhnl = {
  kollpgccdil : bool;
  efoafoabnon : int32;
  id : int32;
  ghchnanjdfb : int32 list;
}

type eehicbnnfej = {
  eiiaaffjcda : nlbpclnhcjn list;
  eeghmjloiap : jpkjdnbmhnl option;
}

type eogickanbpl = {
  mhhndeiccmp : int32;
}

type cbjjhcohoko = {
  mcdcffpnpal : eehicbnnfej option;
  retcode : int32;
  impkmnjoncg : int32;
}

type infclppcfii = {
  cielfhbbkif : int32;
}

type ocfjiflmdmf = {
  retcode : int32;
  impkmnjoncg : int32;
}

type djjgocfdboc = unit

type cookpofdkal = {
  impkmnjoncg : int32;
  eadjabjkdmd : jpkjdnbmhnl list;
  retcode : int32;
}

type inkhgacfojg = {
  cielfhbbkif : int32;
  mhhndeiccmp : int32;
}

type ljffpoepbog = {
  mhhndeiccmp : int32;
  llonjcmgcfh : int32;
}

type bfbaccbmiem = {
  retcode : int32;
  mhhndeiccmp : int32;
  llonjcmgcfh : int32;
}

type olnkajodjjo =
  | Cmd_wolf_bro_type_none 
  | Cmd_restore_wolf_bro_game_archive_sc_rsp 
  | Cmd_wolf_bro_game_pickup_bullet_sc_rsp 
  | Cmd_wolf_bro_game_data_change_sc_notify 
  | Cmd_restore_wolf_bro_game_archive_cs_req 
  | Cmd_get_wolf_bro_game_data_sc_rsp 
  | Cmd_archive_wolf_bro_game_sc_rsp 
  | Cmd_start_wolf_bro_game_sc_rsp 
  | Cmd_archive_wolf_bro_game_cs_req 
  | Cmd_quit_wolf_bro_game_cs_req 
  | Cmd_wolf_bro_game_explode_monster_cs_req 
  | Cmd_wolf_bro_game_activate_bullet_cs_req 
  | Cmd_quit_wolf_bro_game_sc_rsp 
  | Cmd_get_wolf_bro_game_data_cs_req 
  | Cmd_wolf_bro_game_use_bullet_sc_rsp 
  | Cmd_wolf_bro_game_pickup_bullet_cs_req 
  | Cmd_start_wolf_bro_game_cs_req 
  | Cmd_wolf_bro_game_activate_bullet_sc_rsp 
  | Cmd_wolf_bro_game_explode_monster_sc_rsp 
  | Cmd_wolf_bro_game_use_bullet_cs_req 

type bldfddbpnba = {
  bhjdpndboha : vector list;
  jililehmdkg : motion_info option;
  bojongdmfck : bool;
  flamaakibdo : int32;
}

type megkociblgl = {
  flamaakibdo : int32;
  id : int32;
  bojongdmfck : bool;
  bhjdpndboha : vector list;
  mbmegghhkjl : string;
  icebhafphej : bldfddbpnba option;
}

type cffmmlmbakg = {
  podpafooomg : iggijbjppoc option;
  jililehmdkg : motion_info option;
  nipjabamela : bool;
  id : int32;
}

type ocabdlfgddo = {
  retcode : int32;
  dkefdkdleip : megkociblgl option;
}

type bbejpgcgoeg = {
  id : int32;
  jililehmdkg : motion_info option;
}

type knnddnnphdo = {
  dkefdkdleip : megkociblgl option;
  retcode : int32;
}

type dlemcdhgehe = {
  id : int32;
}

type fhodkhmblge = {
  retcode : int32;
  dkefdkdleip : megkociblgl option;
}

type hkfphajhobo = {
  id : int32;
}

type obmalglckij = {
  retcode : int32;
  dkefdkdleip : megkociblgl option;
}

type bhhgnciilln = {
  id : int32;
}

type nccafebhggn = {
  retcode : int32;
  dkefdkdleip : megkociblgl option;
}

type nphghnpilgh = {
  dkefdkdleip : megkociblgl option;
}

type bmnpakcohnb = {
  fdlfjmagnod : vector option;
  ohainjgiflk : int32 list;
}

type klekfnbkhle = {
  retcode : int32;
  dkefdkdleip : megkociblgl option;
}

type mkoahlhfigf = {
  fdlfjmagnod : vector option;
}

type fghhgocefoj = {
  retcode : int32;
  dkefdkdleip : megkociblgl option;
}

type fmckljimojc = {
  pfbnanpcdjh : int32;
  group_id : int32;
}

type dcpbeknpeij = {
  retcode : int32;
}

type mgeahpkhpao = {
  ohainjgiflk : int32 list;
}

type mjchmfgimgb = {
  retcode : int32;
}

type jgidkoomfnm =
  | Dispatch_type_none 
  | Dispatch_type_by_addr 
  | Dispatch_type_by_mod 
  | Dispatch_type_by_rand 
  | Dispatch_type_by_chash 
  | Dispatch_type_by_sticky_session 
  | Dispatch_type_by_object 

type packet_head = {
  packet_id : int32;
  sign_type : int32;
  sign : int32;
  user_id : int32;
  src_addr : int32;
  dst_addr : int32;
  dispatch_type : int32;
  server_type : int32;
  dispatch_key : int32;
  user_session_id : int32;
  id : int32;
  coroutine_id : int32;
  hop_cnt : int32;
}

let rec default_avatar_slot_type () = (Avatar_slot_1:avatar_slot_type)

let rec default_item_type () = (Item_type_none:item_type)

let rec default_virtual_item () = (Virtual_item_none:virtual_item)

let rec default_gameplay_counter_type () = (Gameplay_counter_none:gameplay_counter_type)

let rec default_black_limit_level () = (Black_limit_level_all:black_limit_level)

let rec default_area_type () = (Area_none:area_type)

let rec default_entity_type () = (Entity_none:entity_type)

let rec default_language_type () = (Language_none:language_type)

let rec default_platform_type () = (Editor:platform_type)

let rec default_relogin_type () = (No_kick:relogin_type)

let rec default_avatar_type () = (Avatar_type_none:avatar_type)

let rec default_multi_path_avatar_type () = (Multi_path_avatar_type_none:multi_path_avatar_type)

let rec default_gender () = (Gender_none:gender)

let rec default_dhlmiciamka () = (Product_none:dhlmiciamka)

let rec default_pifanmpbmaj () = (Product_gift_none:pifanmpbmaj)

let rec default_feature_switch_type () = (Feature_switch_none:feature_switch_type)

let rec default_hchcnfgecjj () = (Secret_key_none:hchcnfgecjj)

let rec default_replay_type () = (Replay_type_none:replay_type)

let rec default_punk_lord_share_type () = (Punk_lord_share_type_none:punk_lord_share_type)

let rec default_punk_lord_attacker_status () = (Punk_lord_attacker_status_none:punk_lord_attacker_status)

let rec default_punk_lord_monster_info_notify_reason () = (Punk_lord_monster_info_notify_reason_none:punk_lord_monster_info_notify_reason)

let rec default_chat_type () = (Chat_type_none:chat_type)

let rec default_msg_type () = (Msg_type_none:msg_type)

let rec default_shield_type () = (Shield_type_none:shield_type)

let rec default_func_unlock_id () = (Func_unlock_id_none:func_unlock_id)

let rec default_assist_avatar_type () = (Assist_avatar_unknow:assist_avatar_type)

let rec default_development_type () = (Development_none:development_type)

let rec default_playing_state () = (Playing_state_none:playing_state)

let rec default_apkcjpohccj () = (Match_room_character_none:apkcjpohccj)

let rec default_match_room_character_status () = (Match_room_character_status_none:match_room_character_status)

let rec default_player_basic_info 
  ?nickname:((nickname:string) = "")
  ?level:((level:int32) = 0l)
  ?exp:((exp:int32) = 0l)
  ?stamina:((stamina:int32) = 0l)
  ?mcoin:((mcoin:int32) = 0l)
  ?hcoin:((hcoin:int32) = 0l)
  ?scoin:((scoin:int32) = 0l)
  ?world_level:((world_level:int32) = 0l)
  () : player_basic_info  = {
  nickname;
  level;
  exp;
  stamina;
  mcoin;
  hcoin;
  scoin;
  world_level;
}

let rec default_sp_progress 
  ?sp_cur:((sp_cur:int32) = 0l)
  ?sp_need:((sp_need:int32) = 0l)
  () : sp_progress  = {
  sp_cur;
  sp_need;
}

let rec default_black_info 
  ?begin_time:((begin_time:int64) = 0L)
  ?end_time:((end_time:int64) = 0L)
  ?limit_level:((limit_level:int32) = 0l)
  ?ban_type:((ban_type:int32) = 0l)
  () : black_info  = {
  begin_time;
  end_time;
  limit_level;
  ban_type;
}

let rec default_lmamieaaodh 
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  ?id:((id:int32) = 0l)
  () : lmamieaaodh  = {
  avatar_type;
  id;
}

let rec default_version_count 
  ?version:((version:int32) = 0l)
  ?count:((count:int32) = 0l)
  () : version_count  = {
  version;
  count;
}

let rec default_client_download_data 
  ?version:((version:int32) = 0l)
  ?time:((time:int64) = 0L)
  ?data:((data:bytes) = Bytes.create 0)
  () : client_download_data  = {
  version;
  time;
  data;
}

let rec default_client_obj_download_data 
  ?obj:((obj:bytes) = Bytes.create 0)
  ?hdhpoaagdem:((hdhpoaagdem:client_download_data option) = None)
  () : client_obj_download_data  = {
  obj;
  hdhpoaagdem;
}

let rec default_client_upload_data 
  ?tag:((tag:string) = "")
  ?value:((value:string) = "")
  () : client_upload_data  = {
  tag;
  value;
}

let rec default_feature_switch_param 
  ?param_list:((param_list:int32 list) = [])
  () : feature_switch_param  = {
  param_list;
}

let rec default_feature_switch_info 
  ?type_:((type_:feature_switch_type) = default_feature_switch_type ())
  ?switch_list:((switch_list:feature_switch_param list) = [])
  ?is_all_closed:((is_all_closed:bool) = false)
  () : feature_switch_info  = {
  type_;
  switch_list;
  is_all_closed;
}

let rec default_lbofjhojgph 
  ?hpifcabfbpa:((hpifcabfbpa:string) = "")
  ?ipljneeomdp:((ipljneeomdp:string) = "")
  ?apmgpgghokn:((apmgpgghokn:string) = "")
  ?iobdkibfiaj:((iobdkibfiaj:string) = "")
  ?jblmmlkkdkn:((jblmmlkkdkn:string) = "")
  ?hmmclkjhige:((hmmclkjhige:string) = "")
  ?fkojgdfhpep:((fkojgdfhpep:string) = "")
  () : lbofjhojgph  = {
  hpifcabfbpa;
  ipljneeomdp;
  apmgpgghokn;
  iobdkibfiaj;
  jblmmlkkdkn;
  hmmclkjhige;
  fkojgdfhpep;
}

let rec default_nlhgcplikkp 
  ?pjlagobkdmo:((pjlagobkdmo:int64) = 0L)
  ?blnoeiceljf:((blnoeiceljf:replay_type) = default_replay_type ())
  ?stage_id:((stage_id:int32) = 0l)
  ?uid:((uid:int32) = 0l)
  ?nickname:((nickname:string) = "")
  ?bmfhibobmhp:((bmfhibobmhp:int32) = 0l)
  ?aedhlhjgfpg:((aedhlhjgfpg:string) = "")
  ?fgilieldboi:((fgilieldboi:int64) = 0L)
  ?lfnjmcnfhha:((lfnjmcnfhha:int32) = 0l)
  ?oeoikijbcfg:((oeoikijbcfg:int32) = 0l)
  () : nlhgcplikkp  = {
  pjlagobkdmo;
  blnoeiceljf;
  stage_id;
  uid;
  nickname;
  bmfhibobmhp;
  aedhlhjgfpg;
  fgilieldboi;
  lfnjmcnfhha;
  oeoikijbcfg;
}

let rec default_punk_lord_battle_avatar 
  ?avatar_id:((avatar_id:int32) = 0l)
  ?avatar_level:((avatar_level:int32) = 0l)
  () : punk_lord_battle_avatar  = {
  avatar_id;
  avatar_level;
}

let rec default_punk_lord_battle_record 
  ?uid:((uid:int32) = 0l)
  ?damage_hp:((damage_hp:int32) = 0l)
  ?is_final_hit:((is_final_hit:bool) = false)
  ?over_kill_damage_hp:((over_kill_damage_hp:int32) = 0l)
  ?battle_replay_key:((battle_replay_key:string) = "")
  ?avatar_list:((avatar_list:punk_lord_battle_avatar list) = [])
  ?assist_score:((assist_score:int32) = 0l)
  ?damage_score:((damage_score:int32) = 0l)
  ?final_hit_score:((final_hit_score:int32) = 0l)
  () : punk_lord_battle_record  = {
  uid;
  damage_hp;
  is_final_hit;
  over_kill_damage_hp;
  battle_replay_key;
  avatar_list;
  assist_score;
  damage_score;
  final_hit_score;
}

let rec default_fgljkmekiom 
  ?eolalkfgdal:((eolalkfgdal:punk_lord_battle_record list) = [])
  () : fgljkmekiom  = {
  eolalkfgdal;
}

let rec default_hbbaohkdklj 
  ?uid:((uid:int32) = 0l)
  ?monster_id:((monster_id:int32) = 0l)
  () : hbbaohkdklj  = {
  uid;
  monster_id;
}

let rec default_aapoalmfpan 
  ?uid:((uid:int32) = 0l)
  ?monster_id:((monster_id:int32) = 0l)
  ?pfbnanpcdjh:((pfbnanpcdjh:int32) = 0l)
  ?world_level:((world_level:int32) = 0l)
  ?fgilieldboi:((fgilieldboi:int64) = 0L)
  ?left_hp:((left_hp:int32) = 0l)
  ?lgkegiimjka:((lgkegiimjka:int32) = 0l)
  ?cpefaednmcc:((cpefaednmcc:punk_lord_share_type) = default_punk_lord_share_type ())
  ?kjpdknocoeo:((kjpdknocoeo:bool) = false)
  () : aapoalmfpan  = {
  uid;
  monster_id;
  pfbnanpcdjh;
  world_level;
  fgilieldboi;
  left_hp;
  lgkegiimjka;
  cpefaednmcc;
  kjpdknocoeo;
}

let rec default_punk_lord_battle_replay 
  ?battle_replay_key:((battle_replay_key:string) = "")
  ?replay_info:((replay_info:nlhgcplikkp option) = None)
  () : punk_lord_battle_replay  = {
  battle_replay_key;
  replay_info;
}

let rec default_naondbibjjo 
  ?pomlpdggdfc:((pomlpdggdfc:int64) = 0L)
  ?dfpkdpmefac:((dfpkdpmefac:int32) = 0l)
  ?hngamdhjhld:((hngamdhjhld:int32) = 0l)
  () : naondbibjjo  = {
  pomlpdggdfc;
  dfpkdpmefac;
  hngamdhjhld;
}

let rec default_kicjpjalbbh 
  ?mjjmhnkknlb:((mjjmhnkknlb:naondbibjjo option) = None)
  () : kicjpjalbbh  = {
  mjjmhnkknlb;
}

let rec default_lbjifmkiiec 
  ?name:((name:string) = "")
  ?ldcmdeljigi:((ldcmdeljigi:string) = "")
  ?hggbkfedhoe:((hggbkfedhoe:string) = "")
  ?gohgfmolkmk:((gohgfmolkmk:string) = "")
  ?clmljolpmen:((clmljolpmen:string) = "")
  ?msg:((msg:string) = "")
  () : lbjifmkiiec  = {
  name;
  ldcmdeljigi;
  hggbkfedhoe;
  gohgfmolkmk;
  clmljolpmen;
  msg;
}

let rec default_chhhgfihhcp 
  ?retcode:((retcode:int32) = 0l)
  ?msg:((msg:string) = "")
  ?ajkbajlebhn:((ajkbajlebhn:string) = "")
  ?ognpknahdef:((ognpknahdef:lbjifmkiiec list) = [])
  ?odbdlipeoog:((odbdlipeoog:string) = "")
  () : chhhgfihhcp  = {
  retcode;
  msg;
  ajkbajlebhn;
  ognpknahdef;
  odbdlipeoog;
}

let rec default_relic_filter_plan_settings 
  ?rarity_bitset:((rarity_bitset:int32) = 0l)
  ?relic_set_list:((relic_set_list:int32 list) = [])
  ?body_main_property_list:((body_main_property_list:int32 list) = [])
  ?foot_main_property_list:((foot_main_property_list:int32 list) = [])
  ?sphere_main_property_list:((sphere_main_property_list:int32 list) = [])
  ?rope_main_property_list:((rope_main_property_list:int32 list) = [])
  ?is_include_filter_sub_property:((is_include_filter_sub_property:bool) = false)
  ?sub_property_num:((sub_property_num:int32) = 0l)
  ?sub_property_list:((sub_property_list:int32 list) = [])
  () : relic_filter_plan_settings  = {
  rarity_bitset;
  relic_set_list;
  body_main_property_list;
  foot_main_property_list;
  sphere_main_property_list;
  rope_main_property_list;
  is_include_filter_sub_property;
  sub_property_num;
  sub_property_list;
}

let rec default_bmobaidmcnj () = (Battle_check_strategy_identical:bmobaidmcnj)

let rec default_akminadfpee () = (Battle_check_result_succ:akminadfpee)

let rec default_abiljflakgk () = (Battle_module_maze:abiljflakgk)

let rec default_gkaagdjgcjj () = (Aetherdivide_spirit_lineup_none:gkaagdjgcjj)

let rec default_hlclpfefepb () = (Battle_target_type_none:hlclpfefepb)

let rec default_ldhimmjaieb () = (Unknown:ldhimmjaieb)

let rec default_dbghoandoje () = (Tag_none:dbghoandoje)

let rec default_cmhfgepjlfl () = (Normal_create:cmhfgepjlfl)

let rec default_ikiinnobojc () = (Battle_end_reason_none:ikiinnobojc)

let rec default_lbbkaebelpp () = (Battle_statictic_event_none:lbbkaebelpp)

let rec default_battle_end_status () = (Battle_end_none:battle_end_status)

let rec default_battle_op 
  ?turn_counter:((turn_counter:int32) = 0l)
  ?state:((state:int32) = 0l)
  ?action_entity_id:((action_entity_id:int32) = 0l)
  ?target_entity_id:((target_entity_id:int32) = 0l)
  ?op_type:((op_type:int32) = 0l)
  ?skill_index:((skill_index:int32) = 0l)
  ?operation_counter:((operation_counter:int32) = 0l)
  ?pmepgjijdmc:((pmepgjijdmc:string) = "")
  () : battle_op  = {
  turn_counter;
  state;
  action_entity_id;
  target_entity_id;
  op_type;
  skill_index;
  operation_counter;
  pmepgjijdmc;
}

let rec default_battle_equipment 
  ?id:((id:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?promotion:((promotion:int32) = 0l)
  ?rank:((rank:int32) = 0l)
  () : battle_equipment  = {
  id;
  level;
  promotion;
  rank;
}

let rec default_relic_affix 
  ?affix_id:((affix_id:int32) = 0l)
  ?cnt:((cnt:int32) = 0l)
  ?step:((step:int32) = 0l)
  () : relic_affix  = {
  affix_id;
  cnt;
  step;
}

let rec default_battle_relic 
  ?id:((id:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?main_affix_id:((main_affix_id:int32) = 0l)
  ?sub_affix_list:((sub_affix_list:relic_affix list) = [])
  ?unique_id:((unique_id:int32) = 0l)
  ?peehdpfeeoo:((peehdpfeeoo:int32) = 0l)
  ?fgmdoekgpee:((fgmdoekgpee:int32) = 0l)
  ?ckcmdjnelkb:((ckcmdjnelkb:int32) = 0l)
  () : battle_relic  = {
  id;
  level;
  main_affix_id;
  sub_affix_list;
  unique_id;
  peehdpfeeoo;
  fgmdoekgpee;
  ckcmdjnelkb;
}

let rec default_avatar_skill_tree 
  ?point_id:((point_id:int32) = 0l)
  ?level:((level:int32) = 0l)
  () : avatar_skill_tree  = {
  point_id;
  level;
}

let rec default_gnompbkahnm 
  ?cghmoccghlb:((cghmoccghlb:bool) = false)
  ?kafibpbdljp:((kafibpbdljp:int32 list) = [])
  ?hfhlhamjfpm:((hfhlhamjfpm:int32) = 0l)
  ?findipnanjj:((findipnanjj:int32) = 0l)
  () : gnompbkahnm  = {
  cghmoccghlb;
  kafibpbdljp;
  hfhlhamjfpm;
  findipnanjj;
}

let rec default_battle_avatar 
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  ?id:((id:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?rank:((rank:int32) = 0l)
  ?index:((index:int32) = 0l)
  ?skilltree_list:((skilltree_list:avatar_skill_tree list) = [])
  ?equipment_list:((equipment_list:battle_equipment list) = [])
  ?hp:((hp:int32) = 0l)
  ?promotion:((promotion:int32) = 0l)
  ?relic_list:((relic_list:battle_relic list) = [])
  ?world_level:((world_level:int32) = 0l)
  ?apkmboagcmi:((apkmboagcmi:int32) = 0l)
  ?mpoioekkgli:((mpoioekkgli:gnompbkahnm option) = None)
  ?sp:((sp:sp_progress option) = None)
  ?iojopnilicf:((iojopnilicf:int32) = 0l)
  () : battle_avatar  = {
  avatar_type;
  id;
  level;
  rank;
  index;
  skilltree_list;
  equipment_list;
  hp;
  promotion;
  relic_list;
  world_level;
  apkmboagcmi;
  mpoioekkgli;
  sp;
  iojopnilicf;
}

let rec default_cjbomedfedo 
  ?ednldnkdhim:((ednldnkdhim:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?gcljbgjckpi:((gcljbgjckpi:int32) = 0l)
  ?gmimbapadel:((gmimbapadel:int32) = 0l)
  () : cjbomedfedo  = {
  ednldnkdhim;
  level;
  gcljbgjckpi;
  gmimbapadel;
}

let rec default_fndpkoiaoco 
  ?monster_id:((monster_id:int32) = 0l)
  ?femmkmapjng:((femmkmapjng:int32) = 0l)
  ?max_hp:((max_hp:int32) = 0l)
  () : fndpkoiaoco  = {
  monster_id;
  femmkmapjng;
  max_hp;
}

let rec default_battle_monster_wave 
  ?monster_list:((monster_list:fndpkoiaoco list) = [])
  ?djicbhlfoga:((djicbhlfoga:cjbomedfedo option) = None)
  ?jmdhdbhgjhj:((jmdhdbhgjhj:int32) = 0l)
  ?comggjmfjao:((comggjmfjao:int32) = 0l)
  () : battle_monster_wave  = {
  monster_list;
  djicbhlfoga;
  jmdhdbhgjhj;
  comggjmfjao;
}

let rec default_battle_buff 
  ?id:((id:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?owner_index:((owner_index:int32) = 0l)
  ?wave_flag:((wave_flag:int32) = 0l)
  ?target_index_list:((target_index_list:int32 list) = [])
  ?dynamic_values:((dynamic_values:(string * float) list) = [])
  () : battle_buff  = {
  id;
  level;
  owner_index;
  wave_flag;
  target_index_list;
  dynamic_values;
}

let rec default_cojkoonnbee 
  ?id:((id:int32) = 0l)
  ?dpepdejdlka:((dpepdejdlka:int32) = 0l)
  ?obeicoahpbg:((obeicoahpbg:int32) = 0l)
  () : cojkoonnbee  = {
  id;
  dpepdejdlka;
  obeicoahpbg;
}

let rec default_ieimejdokoc 
  ?iheiaoggmoc:((iheiaoggmoc:int32) = 0l)
  () : ieimejdokoc  = {
  iheiaoggmoc;
}

let rec default_nimklecdanj 
  ?id:((id:int32) = 0l)
  ?dpepdejdlka:((dpepdejdlka:int32) = 0l)
  () : nimklecdanj  = {
  id;
  dpepdejdlka;
}

let rec default_pajllggkegp 
  ?id:((id:int32) = 0l)
  ?progress:((progress:int32) = 0l)
  () : pajllggkegp  = {
  id;
  progress;
}

let rec default_battle_target 
  ?id:((id:int32) = 0l)
  ?progress:((progress:int32) = 0l)
  ?total_progress:((total_progress:int32) = 0l)
  () : battle_target  = {
  id;
  progress;
  total_progress;
}

let rec default_eecgcenalep 
  ?nkpcaindgao:((nkpcaindgao:battle_target list) = [])
  () : eecgcenalep  = {
  nkpcaindgao;
}

let rec default_jjnjilkjjaf 
  ?licjmbbbbpo:((licjmbbbbpo:int32) = 0l)
  ?akneacgkoia:((akneacgkoia:int32) = 0l)
  () : jjnjilkjjaf  = {
  licjmbbbbpo;
  akneacgkoia;
}

let rec default_oojccnomfia 
  ?onjeogniggp:((onjeogniggp:int32) = 0l)
  ?kjbihcphcco:((kjbihcphcco:bool) = false)
  ?kncldmlpjec:((kncldmlpjec:jjnjilkjjaf option) = None)
  () : oojccnomfia  = {
  onjeogniggp;
  kjbihcphcco;
  kncldmlpjec;
}

let rec default_joiiobnkcbh 
  ?mgemlbmpcgb:((mgemlbmpcgb:int32 list) = [])
  () : joiiobnkcbh  = {
  mgemlbmpcgb;
}

let rec default_fgbiollmcpi 
  ?pkeohpicjkc:((pkeohpicjkc:int32) = 0l)
  () : fgbiollmcpi  = {
  pkeohpicjkc;
}

let rec default_evolve_build_gear_damage_info 
  ?gear_id:((gear_id:int32) = 0l)
  ?damage:((damage:float) = 0.)
  ?hp_damage:((hp_damage:float) = 0.)
  () : evolve_build_gear_damage_info  = {
  gear_id;
  damage;
  hp_damage;
}

let rec default_hjfmcnckmgd 
  ?wave:((wave:int32) = 0l)
  ?lpgaoolbbfm:((lpgaoolbbfm:int32) = 0l)
  ?ndkkogolmal:((ndkkogolmal:int32) = 0l)
  ?mmegdkinbcn:((mmegdkinbcn:jjnjilkjjaf list) = [])
  ?nkgnnpndkfj:((nkgnnpndkfj:float) = 0.)
  () : hjfmcnckmgd  = {
  wave;
  lpgaoolbbfm;
  ndkkogolmal;
  mmegdkinbcn;
  nkgnnpndkfj;
}

let rec default_ghilljbihfa 
  ?jnpdoibnicc:((jnpdoibnicc:int32) = 0l)
  ?pcnkojjcfie:((pcnkojjcfie:hjfmcnckmgd list) = [])
  () : ghilljbihfa  = {
  jnpdoibnicc;
  pcnkojjcfie;
}

let rec default_evolve_build_battle_info 
  ?cur_level_id:((cur_level_id:int32) = 0l)
  ?cur_period:((cur_period:int32) = 0l)
  ?cur_coin:((cur_coin:int32) = 0l)
  ?weapon_slot_list:((weapon_slot_list:oojccnomfia list) = [])
  ?accessory_slot_list:((accessory_slot_list:oojccnomfia list) = [])
  ?ban_gear_list:((ban_gear_list:int32 list) = [])
  ?collection:((collection:joiiobnkcbh option) = None)
  ?allowed_gear_list:((allowed_gear_list:int32 list) = [])
  ?cur_exp:((cur_exp:int32) = 0l)
  ?cur_reroll:((cur_reroll:int32) = 0l)
  ?cur_treasure_miss_cnt:((cur_treasure_miss_cnt:int32) = 0l)
  ?period_id_list:((period_id_list:int32 list) = [])
  ?cur_gear_lost_cnt:((cur_gear_lost_cnt:int32) = 0l)
  ?cur_wave:((cur_wave:int32) = 0l)
  ?is_unlock_gear_reroll:((is_unlock_gear_reroll:bool) = false)
  ?is_unlock_gear_ban:((is_unlock_gear_ban:bool) = false)
  ?card_list:((card_list:fgbiollmcpi list) = [])
  ?gear_damage_list:((gear_damage_list:evolve_build_gear_damage_info list) = [])
  ?stat_params:((stat_params:int32 list) = [])
  ?is_giveup:((is_giveup:bool) = false)
  ?cur_unused_round_cnt:((cur_unused_round_cnt:int32) = 0l)
  ?stat_log_info:((stat_log_info:ghilljbihfa option) = None)
  ?period_first_random_seed:((period_first_random_seed:int32) = 0l)
  () : evolve_build_battle_info  = {
  cur_level_id;
  cur_period;
  cur_coin;
  weapon_slot_list;
  accessory_slot_list;
  ban_gear_list;
  collection;
  allowed_gear_list;
  cur_exp;
  cur_reroll;
  cur_treasure_miss_cnt;
  period_id_list;
  cur_gear_lost_cnt;
  cur_wave;
  is_unlock_gear_reroll;
  is_unlock_gear_ban;
  card_list;
  gear_damage_list;
  stat_params;
  is_giveup;
  cur_unused_round_cnt;
  stat_log_info;
  period_first_random_seed;
}

let rec default_cbipmgkdbmj 
  ?nbippcmhdij:((nbippcmhdij:(int32 * int32) list) = [])
  ?bfhblojhfbn:((bfhblojhfbn:int32) = 0l)
  ?eccooggmmkm:((eccooggmmkm:int32) = 0l)
  ?ogoballkjcg:((ogoballkjcg:int32) = 0l)
  () : cbipmgkdbmj  = {
  nbippcmhdij;
  bfhblojhfbn;
  eccooggmmkm;
  ogoballkjcg;
}

let rec default_cddnfpbchdb 
  ?avatar_list:((avatar_list:battle_avatar list) = [])
  ?monster_wave_list:((monster_wave_list:battle_monster_wave list) = [])
  ?buff_list:((buff_list:battle_buff list) = [])
  ?world_level:((world_level:int32) = 0l)
  ?pkilellljap:((pkilellljap:(int32 * eecgcenalep) list) = [])
  ?mgacgfelfph:((mgacgfelfph:ieimejdokoc option) = None)
  ?lphaolobnol:((lphaolobnol:battle_avatar list) = [])
  ?bcilaimkepo:((bcilaimkepo:evolve_build_battle_info option) = None)
  ?obneanlbpjf:((obneanlbpjf:cbipmgkdbmj option) = None)
  () : cddnfpbchdb  = {
  avatar_list;
  monster_wave_list;
  buff_list;
  world_level;
  pkilellljap;
  mgacgfelfph;
  lphaolobnol;
  bcilaimkepo;
  obneanlbpjf;
}

let rec default_dohhfaklimj 
  ?id:((id:int32) = 0l)
  ?index:((index:int32) = 0l)
  ?promotion:((promotion:int32) = 0l)
  ?pbcjjbpdaco:((pbcjjbpdaco:int32 list) = [])
  ?iaknlgphklb:((iaknlgphklb:gkaagdjgcjj) = default_gkaagdjgcjj ())
  ?sp:((sp:sp_progress option) = None)
  () : dohhfaklimj  = {
  id;
  index;
  promotion;
  pbcjjbpdaco;
  iaknlgphklb;
  sp;
}

let rec default_gepemalmpkc 
  ?avatar_list:((avatar_list:dohhfaklimj list) = [])
  ?monster_wave_list:((monster_wave_list:battle_monster_wave list) = [])
  ?buff_list:((buff_list:battle_buff list) = [])
  () : gepemalmpkc  = {
  avatar_list;
  monster_wave_list;
  buff_list;
}

let rec default_aeeaaeghbcf 
  ?jmfgaemkdao:((jmfgaemkdao:int32) = 0l)
  ?glgkbnnobem:((glgkbnnobem:int64 list) = [])
  () : aeeaaeghbcf  = {
  jmfgaemkdao;
  glgkbnnobem;
}

let rec default_lhbjccjikld 
  ?llgkepoegkh:((llgkepoegkh:string) = "")
  ?count:((count:int32) = 0l)
  () : lhbjccjikld  = {
  llgkepoegkh;
  count;
}

let rec default_faekpkgkkfn 
  ?turn_counter:((turn_counter:int32) = 0l)
  ?nnkhhlofopd:((nnkhhlofopd:int32) = 0l)
  ?amchcneihno:((amchcneihno:int32) = 0l)
  ?fgopniajipd:((fgopniajipd:aeeaaeghbcf list) = [])
  ?opjffhdcimd:((opjffhdcimd:lhbjccjikld list) = [])
  ?eejampcafkf:((eejampcafkf:int32) = 0l)
  () : faekpkgkkfn  = {
  turn_counter;
  nnkhhlofopd;
  amchcneihno;
  fgopniajipd;
  opjffhdcimd;
  eejampcafkf;
}

let rec default_pclbkphkhcb 
  ?fajcbknihho:((fajcbknihho:bool) = false)
  ?ajepkmhogca:((ajepkmhogca:int32) = 0l)
  ?jmlmhajmmgm:((jmlmhajmmgm:bool) = false)
  ?cimlpamboae:((cimlpamboae:string) = "")
  ?occpagnninm:((occpagnninm:bool) = false)
  ?kohhcdnlhkk:((kohhcdnlhkk:bool) = false)
  ?hgbiemklalm:((hgbiemklalm:int32) = 0l)
  () : pclbkphkhcb  = {
  fajcbknihho;
  ajepkmhogca;
  jmlmhajmmgm;
  cimlpamboae;
  occpagnninm;
  kohhcdnlhkk;
  hgbiemklalm;
}

let rec default_mjobkecmmdg 
  ?emabnjbclgd:((emabnjbclgd:int32 list) = [])
  ?gmgpibhkomg:((gmgpibhkomg:int32 list) = [])
  ?fcdfcganbdh:((fcdfcganbdh:int32 list) = [])
  ?opejjkdakho:((opejjkdakho:int32 list) = [])
  () : mjobkecmmdg  = {
  emabnjbclgd;
  gmgpibhkomg;
  fcdfcganbdh;
  opejjkdakho;
}

let rec default_jengakjkbap 
  ?mdkaibfcgkm:((mdkaibfcgkm:int32) = 0l)
  ?iognnoaljjj:((iognnoaljjj:int32) = 0l)
  () : jengakjkbap  = {
  mdkaibfcgkm;
  iognnoaljjj;
}

let rec default_abjdkbhcagj 
  ?mbmlkfbaebi:((mbmlkfbaebi:bool) = false)
  ?foelnpbpkef:((foelnpbpkef:(string * jengakjkbap) list) = [])
  ?jgabaooklbg:((jgabaooklbg:bytes) = Bytes.create 0)
  () : abjdkbhcagj  = {
  mbmlkfbaebi;
  foelnpbpkef;
  jgabaooklbg;
}

let rec default_ncokmoifijp 
  ?ddeebkcfmih:((ddeebkcfmih:int32) = 0l)
  ?value:((value:string) = "")
  () : ncokmoifijp  = {
  ddeebkcfmih;
  value;
}

let rec default_nlpkjmbokmg 
  ?mpkfbobkglo:((mpkfbobkglo:faekpkgkkfn list) = [])
  ?ikbigpbobak:((ikbigpbobak:string) = "")
  ?clhgagmlpgk:((clhgagmlpgk:string) = "")
  ?bgcniallbni:((bgcniallbni:ncokmoifijp list) = [])
  ?plane_id:((plane_id:int32) = 0l)
  ?floor_id:((floor_id:int32) = 0l)
  ?epeofnhnbob:((epeofnhnbob:int32) = 0l)
  ?faonpmhplea:((faonpmhplea:int32) = 0l)
  ?nljgmpkelkd:((nljgmpkelkd:abjdkbhcagj option) = None)
  () : nlpkjmbokmg  = {
  mpkfbobkglo;
  ikbigpbobak;
  clhgagmlpgk;
  bgcniallbni;
  plane_id;
  floor_id;
  epeofnhnbob;
  faonpmhplea;
  nljgmpkelkd;
}

let rec default_chcjbneicfa 
  ?sp:((sp:sp_progress option) = None)
  () : chcjbneicfa  = {
  sp;
}

let rec default_llnhnhhlcip 
  ?hgnfloilneg:((hgnfloilneg:int32) = 0l)
  ?nkgnnpndkfj:((nkgnnpndkfj:float) = 0.)
  ?nkpcaindgao:((nkpcaindgao:int32 list) = [])
  ?ohfcbnkchlo:((ohfcbnkchlo:float) = 0.)
  () : llnhnhhlcip  = {
  hgnfloilneg;
  nkgnnpndkfj;
  nkpcaindgao;
  ohfcbnkchlo;
}

let rec default_pldmljcickk 
  ?ghhnoefibke:((ghhnoefibke:int32) = 0l)
  ?status:((status:chcjbneicfa option) = None)
  ?hhapkchnbea:((hhapkchnbea:llnhnhhlcip list) = [])
  () : pldmljcickk  = {
  ghhnoefibke;
  status;
  hhapkchnbea;
}

let rec default_pdfijnjfeof 
  ?version:((version:int32) = 0l)
  ?logic_random_seed:((logic_random_seed:int32) = 0l)
  ?stage_id:((stage_id:int32) = 0l)
  ?lineup:((lineup:cddnfpbchdb option) = None)
  ?ooadhaglibc:((ooadhaglibc:battle_op list) = [])
  ?nnhllnhjjnh:((nnhllnhjjnh:bytes) = Bytes.create 0)
  ?inpimhmcgli:((inpimhmcgli:int32) = 0l)
  ?iceodjdgjco:((iceodjdgjco:int32 list) = [])
  ?gnkmjinkoif:((gnkmjinkoif:bool) = false)
  ?kjbecldpidj:((kjbecldpidj:bmobaidmcnj) = default_bmobaidmcnj ())
  ?momcmjflaod:((momcmjflaod:abiljflakgk) = default_abiljflakgk ())
  ?apkpbammnhm:((apkpbammnhm:pldmljcickk list) = [])
  ?cmhngcflcab:((cmhngcflcab:int32) = 0l)
  ?lillnioocan:((lillnioocan:pclbkphkhcb option) = None)
  ?paojieohhab:((paojieohhab:bytes) = Bytes.create 0)
  ?pafnmmndegp:((pafnmmndegp:int32) = 0l)
  ?empiofaicfc:((empiofaicfc:int32) = 0l)
  ?dfmnmhpbbfa:((dfmnmhpbbfa:gepemalmpkc option) = None)
  ?pofphcbemla:((pofphcbemla:nlpkjmbokmg option) = None)
  () : pdfijnjfeof  = {
  version;
  logic_random_seed;
  stage_id;
  lineup;
  ooadhaglibc;
  nnhllnhjjnh;
  inpimhmcgli;
  iceodjdgjco;
  gnkmjinkoif;
  kjbecldpidj;
  momcmjflaod;
  apkpbammnhm;
  cmhngcflcab;
  lillnioocan;
  paojieohhab;
  pafnmmndegp;
  empiofaicfc;
  dfmnmhpbbfa;
  pofphcbemla;
}

let rec default_avatar_property 
  ?max_hp:((max_hp:float) = 0.)
  ?attack:((attack:float) = 0.)
  ?defence:((defence:float) = 0.)
  ?speed:((speed:float) = 0.)
  ?left_hp:((left_hp:float) = 0.)
  ?left_sp:((left_sp:float) = 0.)
  ?max_sp:((max_sp:float) = 0.)
  () : avatar_property  = {
  max_hp;
  attack;
  defence;
  speed;
  left_hp;
  left_sp;
  max_sp;
}

let rec default_nahchkhjomp 
  ?id:((id:int32) = 0l)
  ?rank:((rank:int32) = 0l)
  ?promotion:((promotion:int32) = 0l)
  ?level:((level:int32) = 0l)
  () : nahchkhjomp  = {
  id;
  rank;
  promotion;
  level;
}

let rec default_apkldjghfcp 
  ?palefhlckln:((palefhlckln:string) = "")
  ?ohfcbnkchlo:((ohfcbnkchlo:float) = 0.)
  () : apkldjghfcp  = {
  palefhlckln;
  ohfcbnkchlo;
}

let rec default_mjenmjiahll 
  ?hgnfloilneg:((hgnfloilneg:int32) = 0l)
  ?aglbkdknioh:((aglbkdknioh:string) = "")
  ?kafehefomai:((kafehefomai:int32) = 0l)
  ?dkecbneeecd:((dkecbneeecd:int32) = 0l)
  ?okoebgnppii:((okoebgnppii:int32) = 0l)
  ?ipacnpiogji:((ipacnpiogji:int32) = 0l)
  ?cmhakdimelf:((cmhakdimelf:int32) = 0l)
  ?edmjmnfgmad:((edmjmnfgmad:int32) = 0l)
  ?okffdjngjed:((okffdjngjed:int32) = 0l)
  () : mjenmjiahll  = {
  hgnfloilneg;
  aglbkdknioh;
  kafehefomai;
  dkecbneeecd;
  okoebgnppii;
  ipacnpiogji;
  cmhakdimelf;
  edmjmnfgmad;
  okffdjngjed;
}

let rec default_nnpiljhejfe 
  ?gnfpnbgacdf:((gnfpnbgacdf:string) = "")
  ?pomclecifom:((pomclecifom:int32) = 0l)
  () : nnpiljhejfe  = {
  gnfpnbgacdf;
  pomclecifom;
}

let rec default_hgghpnnojej 
  ?efjpeijemee:((efjpeijemee:string) = "")
  ?count:((count:int32) = 0l)
  ?fcadgcfhlce:((fcadgcfhlce:float) = 0.)
  () : hgghpnnojej  = {
  efjpeijemee;
  count;
  fcadgcfhlce;
}

let rec default_hjddflabbdf 
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  ?id:((id:int32) = 0l)
  ?fdmeklimpgp:((fdmeklimpgp:int32) = 0l)
  ?eahmcbeennh:((eahmcbeennh:int32) = 0l)
  ?omokjhmjako:((omokjhmjako:int32) = 0l)
  ?nichanllgkh:((nichanllgkh:avatar_property option) = None)
  ?cfohkkgalch:((cfohkkgalch:avatar_skill_tree list) = [])
  ?klafgbakeoo:((klafgbakeoo:nahchkhjomp list) = [])
  ?eldappkkaoc:((eldappkkaoc:int32) = 0l)
  ?fcadgcfhlce:((fcadgcfhlce:float) = 0.)
  ?glnamalcdfc:((glnamalcdfc:float) = 0.)
  ?pdimoicpocf:((pdimoicpocf:float) = 0.)
  ?oihhodldilm:((oihhodldilm:float) = 0.)
  ?dfgadbjbiob:((dfgadbjbiob:float) = 0.)
  ?stage_id:((stage_id:int32) = 0l)
  ?nmedaaeibfk:((nmedaaeibfk:int32) = 0l)
  ?jnchgklgnlf:((jnchgklgnlf:float) = 0.)
  ?hgmplmmdcad:((hgmplmmdcad:apkldjghfcp list) = [])
  ?kmkbogbaeno:((kmkbogbaeno:apkldjghfcp list) = [])
  ?dcfbmhagghh:((dcfbmhagghh:apkldjghfcp list) = [])
  ?cohhcjjmfil:((cohhcjjmfil:mjenmjiahll list) = [])
  ?fckomicbfmc:((fckomicbfmc:float) = 0.)
  ?okpkiancelf:((okpkiancelf:int32) = 0l)
  ?khlmmickphp:((khlmmickphp:nnpiljhejfe list) = [])
  ?kimilnnnflf:((kimilnnnflf:int32) = 0l)
  ?ndlnbbpfffl:((ndlnbbpfffl:int32) = 0l)
  ?aeddfdkbpep:((aeddfdkbpep:int32) = 0l)
  ?omhlpnoflne:((omhlpnoflne:int32) = 0l)
  ?njlpaaookdl:((njlpaaookdl:int32) = 0l)
  ?ojeocegbkdi:((ojeocegbkdi:float) = 0.)
  ?lnikhkhpcge:((lnikhkhpcge:float) = 0.)
  ?emmikoejmph:((emmikoejmph:float) = 0.)
  ?jdmdemjpcia:((jdmdemjpcia:avatar_property option) = None)
  ?baeigohghnm:((baeigohghnm:battle_relic list) = [])
  ?apkmboagcmi:((apkmboagcmi:int32) = 0l)
  ?pnnbhmgbbaf:((pnnbhmgbbaf:apkldjghfcp list) = [])
  ?ifogdklojaj:((ifogdklojaj:float) = 0.)
  ?fpokhaemoli:((fpokhaemoli:float) = 0.)
  ?gdljjodkiip:((gdljjodkiip:float) = 0.)
  ?mldjfbabhek:((mldjfbabhek:float) = 0.)
  ?jacedoenhfa:((jacedoenhfa:hgghpnnojej list) = [])
  ?faomiaggpaa:((faomiaggpaa:int32) = 0l)
  ?fadjmlcifbf:((fadjmlcifbf:int32) = 0l)
  () : hjddflabbdf  = {
  avatar_type;
  id;
  fdmeklimpgp;
  eahmcbeennh;
  omokjhmjako;
  nichanllgkh;
  cfohkkgalch;
  klafgbakeoo;
  eldappkkaoc;
  fcadgcfhlce;
  glnamalcdfc;
  pdimoicpocf;
  oihhodldilm;
  dfgadbjbiob;
  stage_id;
  nmedaaeibfk;
  jnchgklgnlf;
  hgmplmmdcad;
  kmkbogbaeno;
  dcfbmhagghh;
  cohhcjjmfil;
  fckomicbfmc;
  okpkiancelf;
  khlmmickphp;
  kimilnnnflf;
  ndlnbbpfffl;
  aeddfdkbpep;
  omhlpnoflne;
  njlpaaookdl;
  ojeocegbkdi;
  lnikhkhpcge;
  emmikoejmph;
  jdmdemjpcia;
  baeigohghnm;
  apkmboagcmi;
  pnnbhmgbbaf;
  ifogdklojaj;
  fpokhaemoli;
  gdljjodkiip;
  mldjfbabhek;
  jacedoenhfa;
  faomiaggpaa;
  fadjmlcifbf;
}

let rec default_khcifglangg 
  ?max_hp:((max_hp:float) = 0.)
  ?attack:((attack:float) = 0.)
  ?defence:((defence:float) = 0.)
  ?nbjopehdkfh:((nbjopehdkfh:float) = 0.)
  ?speed:((speed:float) = 0.)
  ?left_hp:((left_hp:float) = 0.)
  ?honehbbhond:((honehbbhond:float) = 0.)
  () : khcifglangg  = {
  max_hp;
  attack;
  defence;
  nbjopehdkfh;
  speed;
  left_hp;
  honehbbhond;
}

let rec default_kdofgnnbigl 
  ?eijiiekodce:((eijiiekodce:int32) = 0l)
  ?nccjkbdbimf:((nccjkbdbimf:float) = 0.)
  ?jbmkkgchkgf:((jbmkkgchkgf:int32) = 0l)
  ?omhlpnoflne:((omhlpnoflne:int32) = 0l)
  () : kdofgnnbigl  = {
  eijiiekodce;
  nccjkbdbimf;
  jbmkkgchkgf;
  omhlpnoflne;
}

let rec default_adcnfghedmc 
  ?phkkegggmdi:((phkkegggmdi:int32) = 0l)
  ?monster_id:((monster_id:int32) = 0l)
  ?nookgaachhh:((nookgaachhh:int32) = 0l)
  ?gdjhhjhgoga:((gdjhhjhgoga:int32) = 0l)
  ?mffjijlmahi:((mffjijlmahi:khcifglangg option) = None)
  ?eldappkkaoc:((eldappkkaoc:int32) = 0l)
  ?fcadgcfhlce:((fcadgcfhlce:float) = 0.)
  ?glnamalcdfc:((glnamalcdfc:float) = 0.)
  ?pdimoicpocf:((pdimoicpocf:float) = 0.)
  ?kmbdiheeddp:((kmbdiheeddp:float) = 0.)
  ?oihhodldilm:((oihhodldilm:float) = 0.)
  ?stage_id:((stage_id:int32) = 0l)
  ?battle_id:((battle_id:int32) = 0l)
  ?dgecmhijdlf:((dgecmhijdlf:int32) = 0l)
  ?hgmplmmdcad:((hgmplmmdcad:apkldjghfcp list) = [])
  ?cohhcjjmfil:((cohhcjjmfil:mjenmjiahll list) = [])
  ?nmedaaeibfk:((nmedaaeibfk:int32) = 0l)
  ?odlhlhjjaep:((odlhlhjjaep:float) = 0.)
  ?fckomicbfmc:((fckomicbfmc:float) = 0.)
  ?oebalcpdekb:((oebalcpdekb:ldhimmjaieb) = default_ldhimmjaieb ())
  ?wave:((wave:int32) = 0l)
  ?kkmpoanfdel:((kkmpoanfdel:int32) = 0l)
  ?djemibiamha:((djemibiamha:int32) = 0l)
  ?pcglhakdjej:((pcglhakdjej:int32) = 0l)
  ?emejkljonad:((emejkljonad:dbghoandoje) = default_dbghoandoje ())
  ?hhapkchnbea:((hhapkchnbea:llnhnhhlcip list) = [])
  ?dpmoonnbhaf:((dpmoonnbhaf:int32) = 0l)
  ?egngccehkaj:((egngccehkaj:kdofgnnbigl list) = [])
  ?eopdilcmffl:((eopdilcmffl:int32) = 0l)
  ?anahoapange:((anahoapange:int32) = 0l)
  ?leffngnjgkg:((leffngnjgkg:cmhfgepjlfl) = default_cmhfgepjlfl ())
  () : adcnfghedmc  = {
  phkkegggmdi;
  monster_id;
  nookgaachhh;
  gdjhhjhgoga;
  mffjijlmahi;
  eldappkkaoc;
  fcadgcfhlce;
  glnamalcdfc;
  pdimoicpocf;
  kmbdiheeddp;
  oihhodldilm;
  stage_id;
  battle_id;
  dgecmhijdlf;
  hgmplmmdcad;
  cohhcjjmfil;
  nmedaaeibfk;
  odlhlhjjaep;
  fckomicbfmc;
  oebalcpdekb;
  wave;
  kkmpoanfdel;
  djemibiamha;
  pcglhakdjej;
  emejkljonad;
  hhapkchnbea;
  dpmoonnbhaf;
  egngccehkaj;
  eopdilcmffl;
  anahoapange;
  leffngnjgkg;
}

let rec default_cfgemgamfma 
  ?jcjkjhddkcf:((jcjkjhddkcf:int32) = 0l)
  ?lpgaoolbbfm:((lpgaoolbbfm:int32) = 0l)
  () : cfgemgamfma  = {
  jcjkjhddkcf;
  lpgaoolbbfm;
}

let rec default_dllfnlcjiaa 
  ?avatar_id:((avatar_id:int32) = 0l)
  ?ilcjbmhadch:((ilcjbmhadch:int32 list) = [])
  ?gnfpnbgacdf:((gnfpnbgacdf:int32) = 0l)
  ?ohfcbnkchlo:((ohfcbnkchlo:float) = 0.)
  ?fgecaendmjj:((fgecaendmjj:int32 list) = [])
  ?nhfpnkffjgf:((nhfpnkffjgf:int32) = 0l)
  ?hadlfdifcal:((hadlfdifcal:float) = 0.)
  ?caomnkckhhk:((caomnkckhhk:int32) = 0l)
  ?wave:((wave:int32) = 0l)
  () : dllfnlcjiaa  = {
  avatar_id;
  ilcjbmhadch;
  gnfpnbgacdf;
  ohfcbnkchlo;
  fgecaendmjj;
  nhfpnkffjgf;
  hadlfdifcal;
  caomnkckhhk;
  wave;
}

let rec default_eceobeagdad 
  ?avatar_id:((avatar_id:int32) = 0l)
  ?gnhadjpljbo:((gnhadjpljbo:int32) = 0l)
  () : eceobeagdad  = {
  avatar_id;
  gnhadjpljbo;
}

let rec default_dbbhaaodpgl 
  ?eijiiekodce:((eijiiekodce:int32) = 0l)
  ?monster_id:((monster_id:int32) = 0l)
  ?ngcppmnflba:((ngcppmnflba:eceobeagdad list) = [])
  ?nkgnnpndkfj:((nkgnnpndkfj:int32) = 0l)
  () : dbbhaaodpgl  = {
  eijiiekodce;
  monster_id;
  ngcppmnflba;
  nkgnnpndkfj;
}

let rec default_hllmbjmbieh 
  ?fgmdoekgpee:((fgmdoekgpee:lbbkaebelpp) = default_lbbkaebelpp ())
  ?iigaapiiddb:((iigaapiiddb:int32) = 0l)
  ?iihookopmmk:((iihookopmmk:int32) = 0l)
  () : hllmbjmbieh  = {
  fgmdoekgpee;
  iigaapiiddb;
  iihookopmmk;
}

let rec default_lmnnafiaafp 
  ?djemibiamha:((djemibiamha:string) = "")
  ?mjlbfjkonhd:((mjlbfjkonhd:float) = 0.)
  ?amabfdlohmk:((amabfdlohmk:float) = 0.)
  ?iedlbcpkgon:((iedlbcpkgon:int32) = 0l)
  ?hdccniamncp:((hdccniamncp:int32) = 0l)
  ?lbbhinoknng:((lbbhinoknng:int32) = 0l)
  ?ndembhkchba:((ndembhkchba:int32) = 0l)
  ?bkihfdilonh:((bkihfdilonh:int32) = 0l)
  ?ajcndmbmimb:((ajcndmbmimb:int32 list) = [])
  ?cmdpbhlgmeo:((cmdpbhlgmeo:int32 list) = [])
  () : lmnnafiaafp  = {
  djemibiamha;
  mjlbfjkonhd;
  amabfdlohmk;
  iedlbcpkgon;
  hdccniamncp;
  lbbhinoknng;
  ndembhkchba;
  bkihfdilonh;
  ajcndmbmimb;
  cmdpbhlgmeo;
}

let rec default_jnegdknfdfj 
  ?enihajmdhhp:((enihajmdhhp:int32) = 0l)
  ?kccnlbdlima:((kccnlbdlima:int32) = 0l)
  ?pjhcepapfoo:((pjhcepapfoo:int32) = 0l)
  ?lohcjdhdnlp:((lohcjdhdnlp:int32) = 0l)
  ?kgfmdacaapm:((kgfmdacaapm:int32) = 0l)
  ?khnnhomamnn:((khnnhomamnn:int32) = 0l)
  ?mbknfpcaghc:((mbknfpcaghc:int32 list) = [])
  ?ifphmbnpcec:((ifphmbnpcec:lmnnafiaafp list) = [])
  () : jnegdknfdfj  = {
  enihajmdhhp;
  kccnlbdlima;
  pjhcepapfoo;
  lohcjdhdnlp;
  kgfmdacaapm;
  khnnhomamnn;
  mbknfpcaghc;
  ifphmbnpcec;
}

let rec default_gfhlelkfecd 
  ?wave:((wave:int32) = 0l)
  ?pfggnfbgjef:((pfggnfbgjef:float) = 0.)
  ?njmdeogblko:((njmdeogblko:float) = 0.)
  ?dbooppgpefo:((dbooppgpefo:int32) = 0l)
  ?ekfilfopihm:((ekfilfopihm:int32) = 0l)
  () : gfhlelkfecd  = {
  wave;
  pfggnfbgjef;
  njmdeogblko;
  dbooppgpefo;
  ekfilfopihm;
}

let rec default_fkdalpnlnpp 
  ?pfmlckgckob:((pfmlckgckob:string) = "")
  ?value:((value:float) = 0.)
  () : fkdalpnlnpp  = {
  pfmlckgckob;
  value;
}

let rec default_ogchmgibmee 
  ?monster_id:((monster_id:int32) = 0l)
  ?dbopmmcclja:((dbopmmcclja:int32) = 0l)
  ?dbooppgpefo:((dbooppgpefo:int32) = 0l)
  ?ekfilfopihm:((ekfilfopihm:int32) = 0l)
  () : ogchmgibmee  = {
  monster_id;
  dbopmmcclja;
  dbooppgpefo;
  ekfilfopihm;
}

let rec default_iehmgigdfgi 
  ?mmeaphlkfnh:((mmeaphlkfnh:int32) = 0l)
  ?lpgejjgcjfi:((lpgejjgcjfi:float) = 0.)
  ?ialkcegdpoj:((ialkcegdpoj:float) = 0.)
  ?wave:((wave:int32) = 0l)
  ?dbopmmcclja:((dbopmmcclja:int32) = 0l)
  ?ncmmbhpfmpp:((ncmmbhpfmpp:float) = 0.)
  ?mkdomgoogbd:((mkdomgoogbd:float) = 0.)
  () : iehmgigdfgi  = {
  mmeaphlkfnh;
  lpgejjgcjfi;
  ialkcegdpoj;
  wave;
  dbopmmcclja;
  ncmmbhpfmpp;
  mkdomgoogbd;
}

let rec default_ijbeafbgipi 
  ?pgonjaacafm:((pgonjaacafm:int32) = 0l)
  ?kkhjioepbpb:((kkhjioepbpb:int32) = 0l)
  ?dcgodnihhph:((dcgodnihhph:float) = 0.)
  ?wave:((wave:int32) = 0l)
  ?dbopmmcclja:((dbopmmcclja:int32) = 0l)
  () : ijbeafbgipi  = {
  pgonjaacafm;
  kkhjioepbpb;
  dcgodnihhph;
  wave;
  dbopmmcclja;
}

let rec default_ilomdgdoidb 
  ?afcpodfhplf:((afcpodfhplf:ogchmgibmee list) = [])
  ?llpagigkmdd:((llpagigkmdd:iehmgigdfgi list) = [])
  ?hfojdfpnied:((hfojdfpnied:ijbeafbgipi list) = [])
  () : ilomdgdoidb  = {
  afcpodfhplf;
  llpagigkmdd;
  hfojdfpnied;
}

let rec default_mpconokhbfi 
  ?oadeikogppf:((oadeikogppf:ilomdgdoidb option) = None)
  () : mpconokhbfi  = {
  oadeikogppf;
}

let rec default_njfhjpmofkj 
  ?fgmdoekgpee:((fgmdoekgpee:gkaagdjgcjj) = default_gkaagdjgcjj ())
  ?id:((id:int32) = 0l)
  ?sp:((sp:sp_progress option) = None)
  () : njfhjpmofkj  = {
  fgmdoekgpee;
  id;
  sp;
}

let rec default_mofdljpgdjc 
  ?lhbdodgndmj:((lhbdodgndmj:int32) = 0l)
  ?ealjhgebino:((ealjhgebino:int32) = 0l)
  () : mofdljpgdjc  = {
  lhbdodgndmj;
  ealjhgebino;
}

let rec default_battle_statistics 
  ?total_battle_turns:((total_battle_turns:int32) = 0l)
  ?total_auto_turns:((total_auto_turns:int32) = 0l)
  ?avatar_id_list:((avatar_id_list:int32 list) = [])
  ?ultra_cnt:((ultra_cnt:int32) = 0l)
  ?total_delay_cumulate:((total_delay_cumulate:float) = 0.)
  ?cost_time:((cost_time:float) = 0.)
  ?avatar_battle_list:((avatar_battle_list:hjddflabbdf list) = [])
  ?monster_battle_list:((monster_battle_list:adcnfghedmc list) = [])
  ?round_cnt:((round_cnt:int32) = 0l)
  ?cocoon_dead_wave:((cocoon_dead_wave:int32) = 0l)
  ?avatar_battle_turns:((avatar_battle_turns:int32) = 0l)
  ?monster_battle_turns:((monster_battle_turns:int32) = 0l)
  ?custom_values:((custom_values:(string * float) list) = [])
  ?challenge_score:((challenge_score:int32) = 0l)
  ?battle_challenge_list:((battle_challenge_list:pldmljcickk list) = [])
  ?gflgglklflo:((gflgglklflo:ikiinnobojc) = default_ikiinnobojc ())
  ?kafhlccjdpe:((kafhlccjdpe:dllfnlcjiaa list) = [])
  ?bkbifgcidje:((bkbifgcidje:int32 list) = [])
  ?cbdokccplbl:((cbdokccplbl:dbbhaaodpgl list) = [])
  ?eojhikielja:((eojhikielja:hllmbjmbieh list) = [])
  ?gfiihegmnbc:((gfiihegmnbc:njfhjpmofkj list) = [])
  ?pkilellljap:((pkilellljap:(int32 * eecgcenalep) list) = [])
  ?lepkomadmba:((lepkomadmba:mofdljpgdjc list) = [])
  ?bcilaimkepo:((bcilaimkepo:evolve_build_battle_info option) = None)
  ?eebjfpdkkla:((eebjfpdkkla:jnegdknfdfj option) = None)
  ?ckopikjmnno:((ckopikjmnno:bool) = false)
  ?pcnkojjcfie:((pcnkojjcfie:gfhlelkfecd list) = [])
  ?gccpcejdpgf:((gccpcejdpgf:fkdalpnlnpp list) = [])
  ?bfjbhggehfp:((bfjbhggehfp:int32) = 0l)
  ?fmloeohebom:((fmloeohebom:mpconokhbfi option) = None)
  () : battle_statistics  = {
  total_battle_turns;
  total_auto_turns;
  avatar_id_list;
  ultra_cnt;
  total_delay_cumulate;
  cost_time;
  avatar_battle_list;
  monster_battle_list;
  round_cnt;
  cocoon_dead_wave;
  avatar_battle_turns;
  monster_battle_turns;
  custom_values;
  challenge_score;
  battle_challenge_list;
  gflgglklflo;
  kafhlccjdpe;
  bkbifgcidje;
  cbdokccplbl;
  eojhikielja;
  gfiihegmnbc;
  pkilellljap;
  lepkomadmba;
  bcilaimkepo;
  eebjfpdkkla;
  ckopikjmnno;
  pcnkojjcfie;
  gccpcejdpgf;
  bfjbhggehfp;
  fmloeohebom;
}

let rec default_egfppaehfmb 
  ?fooekjjlepi:((fooekjjlepi:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?exp:((exp:int32) = 0l)
  () : egfppaehfmb  = {
  fooekjjlepi;
  level;
  exp;
}

let rec default_inaakoibpao 
  ?retcode:((retcode:akminadfpee) = default_akminadfpee ())
  ?end_status:((end_status:battle_end_status) = default_battle_end_status ())
  ?ppkofopmfjc:((ppkofopmfjc:battle_statistics option) = None)
  ?paojieohhab:((paojieohhab:bytes) = Bytes.create 0)
  ?dcgkdkmible:((dcgkdkmible:(string * int32) list) = [])
  ?oocaibocjln:((oocaibocjln:int32) = 0l)
  ?liidlgebipm:((liidlgebipm:int32) = 0l)
  () : inaakoibpao  = {
  retcode;
  end_status;
  ppkofopmfjc;
  paojieohhab;
  dcgkdkmible;
  oocaibocjln;
  liidlgebipm;
}

let rec default_gkkpbgmoodd () = (Fight_game_mode_none:gkkpbgmoodd)

let rec default_iafdbbcgofo () = (Fight_kickout_unknown:iafdbbcgofo)

let rec default_eaejedljpgh () = (Lobby_character_none:eaejedljpgh)

let rec default_gienaojphnb () = (Lobby_character_status_none:gienaojphnb)

let rec default_ejnhbdlcndj () = (Lobby_modify_type_none:ejnhbdlcndj)

let rec default_gfopbkkefeo () = (Fight_room_destroy_reason_none:gfopbkkefeo)

let rec default_donhpbjnknp () = (Match3_finish_reason_default:donhpbjnknp)

let rec default_nkbjfdkkbid () = (Match_unit_type_none:nkbjfdkkbid)

let rec default_dilkchlpoba 
  ?uid:((uid:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?nickname:((nickname:string) = "")
  ?nnlodfdobia:((nnlodfdobia:int32) = 0l)
  ?dbgjcbcfaec:((dbgjcbcfaec:platform_type) = default_platform_type ())
  ?meijfajkmmp:((meijfajkmmp:string) = "")
  ?mjalbnjgfmj:((mjalbnjgfmj:string) = "")
  ?version:((version:int64) = 0L)
  () : dilkchlpoba  = {
  uid;
  level;
  nickname;
  nnlodfdobia;
  dbgjcbcfaec;
  meijfajkmmp;
  mjalbnjgfmj;
  version;
}

let rec default_jhpgipfhpjm 
  ?ipfplgihdbj:((ipfplgihdbj:eaejedljpgh) = default_eaejedljpgh ())
  ?status:((status:gienaojphnb) = default_gienaojphnb ())
  () : jhpgipfhpjm  = {
  ipfplgihdbj;
  status;
}

let rec default_ijbclkbblen 
  ?kkgeojnphcn:((kkgeojnphcn:int32) = 0l)
  ?icpnclpicnm:((icpnclpicnm:bool) = false)
  ?ileodajnnlf:((ileodajnnlf:int32) = 0l)
  ?eehicmneonc:((eehicmneonc:int32) = 0l)
  () : ijbclkbblen  = {
  kkgeojnphcn;
  icpnclpicnm;
  ileodajnnlf;
  eehicmneonc;
}

let rec default_lnnkgnfmmll 
  ?mjkmfnjeddo:((mjkmfnjeddo:string list) = [])
  ?oommfhnmaci:((oommfhnmaci:bool) = false)
  ?kpjaichmnce:((kpjaichmnce:ijbclkbblen option) = None)
  () : lnnkgnfmmll  = {
  mjkmfnjeddo;
  oommfhnmaci;
  kpjaichmnce;
}

let rec default_egokacjfaen 
  ?basic_info:((basic_info:dilkchlpoba option) = None)
  ?lhhkllkkgki:((lhhkllkkgki:jhpgipfhpjm option) = None)
  ?akfdaaaiich:((akfdaaaiich:lnnkgnfmmll option) = None)
  () : egokacjfaen  = {
  basic_info;
  lhhkllkkgki;
  akfdaaaiich;
}

let rec default_obminlghola 
  ?gkhlagcmbep:((gkhlagcmbep:int32) = 0l)
  ?chhlgofkode:((chhlgofkode:int32) = 0l)
  ?ohendokilbg:((ohendokilbg:int32) = 0l)
  ?kdldpilbjih:((kdldpilbjih:int32) = 0l)
  ?doppanjiahe:((doppanjiahe:int32) = 0l)
  ?lgbmfnociof:((lgbmfnociof:int32) = 0l)
  ?pbcfilehadp:((pbcfilehadp:int32) = 0l)
  ?mfkojkldhlg:((mfkojkldhlg:int32) = 0l)
  ?ofolhglfdbe:((ofolhglfdbe:int32) = 0l)
  ?ohhndhfpidi:((ohhndhfpidi:int32) = 0l)
  () : obminlghola  = {
  gkhlagcmbep;
  chhlgofkode;
  ohendokilbg;
  kdldpilbjih;
  doppanjiahe;
  lgbmfnociof;
  pbcfilehadp;
  mfkojkldhlg;
  ofolhglfdbe;
  ohhndhfpidi;
}

let rec default_mfoaahgomic 
  ?ejphmffiidi:((ejphmffiidi:int64) = 0L)
  ?cicgmfacfbc:((cicgmfacfbc:gkkpbgmoodd) = default_gkkpbgmoodd ())
  () : mfoaahgomic  = {
  ejphmffiidi;
  cicgmfacfbc;
}

let rec default_mbbjjfnjnde 
  ?id:((id:int64) = 0L)
  ?kcffnljmjdj:((kcffnljmjdj:gkkpbgmoodd) = default_gkkpbgmoodd ())
  ?fjifpjhfgdd:((fjifpjhfgdd:egokacjfaen list) = [])
  ?fgmdoekgpee:((fgmdoekgpee:nkbjfdkkbid) = default_nkbjfdkkbid ())
  ?pomlpdggdfc:((pomlpdggdfc:int64) = 0L)
  ?kiofoicccjm:((kiofoicccjm:int64) = 0L)
  ?mnpddkgcfcd:((mnpddkgcfcd:int32) = 0l)
  () : mbbjjfnjnde  = {
  id;
  kcffnljmjdj;
  fjifpjhfgdd;
  fgmdoekgpee;
  pomlpdggdfc;
  kiofoicccjm;
  mnpddkgcfcd;
}

let rec default_dmmifgboihc () = (Ret_succ:dmmifgboihc)

let rec default_jlfnblcmlfg () = (Cmd_activity_type_none:jlfnblcmlfg)

let rec default_ijngjmooekn () = (Trial_activity_status_none:ijngjmooekn)

let rec default_diiejhpccka 
  ?id:((id:int32) = 0l)
  ?ahbndelkkga:((ahbndelkkga:int32) = 0l)
  ?mjeboiagemn:((mjeboiagemn:int32 list) = [])
  () : diiejhpccka  = {
  id;
  ahbndelkkga;
  mjeboiagemn;
}

let rec default_goghbjmckpf = ()

let rec default_iehdhmbibej 
  ?pilpgdhcfpj:((pilpgdhcfpj:diiejhpccka list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : iehdhmbibej  = {
  pilpgdhcfpj;
  retcode;
}

let rec default_okdbmkchdkn 
  ?ldifpkekjem:((ldifpkekjem:int32) = 0l)
  ?id:((id:int32) = 0l)
  () : okdbmkchdkn  = {
  ldifpkekjem;
  id;
}

let rec default_item 
  ?promotion:((promotion:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?num:((num:int32) = 0l)
  ?unique_id:((unique_id:int32) = 0l)
  ?main_affix_id:((main_affix_id:int32) = 0l)
  ?rank:((rank:int32) = 0l)
  ?item_id:((item_id:int32) = 0l)
  () : item  = {
  promotion;
  level;
  num;
  unique_id;
  main_affix_id;
  rank;
  item_id;
}

let rec default_item_list 
  ?item_list:((item_list:item list) = [])
  () : item_list  = {
  item_list;
}

let rec default_fgmgmpemfoa 
  ?retcode:((retcode:int32) = 0l)
  ?ldifpkekjem:((ldifpkekjem:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  ?id:((id:int32) = 0l)
  () : fgmgmpemfoa  = {
  retcode;
  ldifpkekjem;
  reward;
  id;
}

let rec default_lijpgeadohh 
  ?end_time:((end_time:int64) = 0L)
  ?fjlnncjahng:((fjlnncjahng:int32) = 0l)
  ?pafpcpmikin:((pafpcpmikin:int32) = 0l)
  ?begin_time:((begin_time:int64) = 0L)
  () : lijpgeadohh  = {
  end_time;
  fjlnncjahng;
  pafpcpmikin;
  begin_time;
}

let rec default_echeijpcegj = ()

let rec default_gflgabppabo 
  ?retcode:((retcode:int32) = 0l)
  ?aodbfcdoebg:((aodbfcdoebg:lijpgeadohh list) = [])
  () : gflgabppabo  = {
  retcode;
  aodbfcdoebg;
}

let rec default_hdkfnmappch 
  ?stage_id:((stage_id:int32) = 0l)
  ?nnbeodpchid:((nnbeodpchid:bool) = false)
  () : hdkfnmappch  = {
  stage_id;
  nnbeodpchid;
}

let rec default_ncnchnfkgaa = ()

let rec default_ancjfimhcdb 
  ?retcode:((retcode:int32) = 0l)
  ?nkjbcpmopcj:((nkjbcpmopcj:hdkfnmappch list) = [])
  ?npibcfnnihn:((npibcfnnihn:int32) = 0l)
  () : ancjfimhcdb  = {
  retcode;
  nkjbcpmopcj;
  npibcfnnihn;
}

let rec default_bjmmamcffan 
  ?oiflpfmkkjd:((oiflpfmkkjd:hdkfnmappch option) = None)
  () : bjmmamcffan  = {
  oiflpfmkkjd;
}

let rec default_ddjfjiknjjb 
  ?stage_id:((stage_id:int32) = 0l)
  () : ddjfjiknjjb  = {
  stage_id;
}

let rec default_scene_monster_info 
  ?max_hp:((max_hp:int32) = 0l)
  ?monster_id:((monster_id:int32) = 0l)
  ?femmkmapjng:((femmkmapjng:int32) = 0l)
  () : scene_monster_info  = {
  max_hp;
  monster_id;
  femmkmapjng;
}

let rec default_aekldeeeepn 
  ?gmimbapadel:((gmimbapadel:int32) = 0l)
  ?ednldnkdhim:((ednldnkdhim:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?gcljbgjckpi:((gcljbgjckpi:int32) = 0l)
  () : aekldeeeepn  = {
  gmimbapadel;
  ednldnkdhim;
  level;
  gcljbgjckpi;
}

let rec default_scene_monster_wave 
  ?jmdhdbhgjhj:((jmdhdbhgjhj:int32) = 0l)
  ?monster_list:((monster_list:scene_monster_info list) = [])
  ?comggjmfjao:((comggjmfjao:int32) = 0l)
  ?epeemgikihd:((epeemgikihd:item_list list) = [])
  ?djicbhlfoga:((djicbhlfoga:aekldeeeepn option) = None)
  () : scene_monster_wave  = {
  jmdhdbhgjhj;
  monster_list;
  comggjmfjao;
  epeemgikihd;
  djicbhlfoga;
}

let rec default_scene_battle_info 
  ?mgacgfelfph:((mgacgfelfph:ieimejdokoc option) = None)
  ?apkpbammnhm:((apkpbammnhm:pldmljcickk list) = [])
  ?bcilaimkepo:((bcilaimkepo:evolve_build_battle_info option) = None)
  ?monster_wave_list:((monster_wave_list:scene_monster_wave list) = [])
  ?world_level:((world_level:int32) = 0l)
  ?buff_list:((buff_list:battle_buff list) = [])
  ?nlhcbhebgog:((nlhcbhebgog:bool) = false)
  ?battle_avatar_list:((battle_avatar_list:battle_avatar list) = [])
  ?logic_random_seed:((logic_random_seed:int32) = 0l)
  ?pkilellljap:((pkilellljap:(int32 * eecgcenalep) list) = [])
  ?cmhngcflcab:((cmhngcflcab:int32) = 0l)
  ?stage_id:((stage_id:int32) = 0l)
  ?empiofaicfc:((empiofaicfc:int32) = 0l)
  ?obneanlbpjf:((obneanlbpjf:cbipmgkdbmj option) = None)
  ?battle_id:((battle_id:int32) = 0l)
  () : scene_battle_info  = {
  mgacgfelfph;
  apkpbammnhm;
  bcilaimkepo;
  monster_wave_list;
  world_level;
  buff_list;
  nlhcbhebgog;
  battle_avatar_list;
  logic_random_seed;
  pkilellljap;
  cmhngcflcab;
  stage_id;
  empiofaicfc;
  obneanlbpjf;
  battle_id;
}

let rec default_foolfaejeco 
  ?ibllilenejp:((ibllilenejp:scene_battle_info option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : foolfaejeco  = {
  ibllilenejp;
  retcode;
}

let rec default_cmjfplfkocb 
  ?stage_id:((stage_id:int32) = 0l)
  () : cmjfplfkocb  = {
  stage_id;
}

let rec default_ibojkphiodl 
  ?retcode:((retcode:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  ?stage_id:((stage_id:int32) = 0l)
  () : ibojkphiodl  = {
  retcode;
  reward;
  stage_id;
}

let rec default_hliiigamfan 
  ?stage_id:((stage_id:int32) = 0l)
  () : hliiigamfan  = {
  stage_id;
}

let rec default_iepggioobee 
  ?retcode:((retcode:int32) = 0l)
  ?stage_id:((stage_id:int32) = 0l)
  () : iepggioobee  = {
  retcode;
  stage_id;
}

let rec default_hgpjnoeklme 
  ?stage_id:((stage_id:int32) = 0l)
  () : hgpjnoeklme  = {
  stage_id;
}

let rec default_jpnfdalcpca 
  ?stage_id:((stage_id:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : jpnfdalcpca  = {
  stage_id;
  retcode;
}

let rec default_eogebgjmnbe 
  ?status:((status:ijngjmooekn) = default_ijngjmooekn ())
  ?npibcfnnihn:((npibcfnnihn:int32) = 0l)
  () : eogebgjmnbe  = {
  status;
  npibcfnnihn;
}

let rec default_eeakpgmghbd 
  ?ejihdbnphdl:((ejihdbnphdl:bool) = false)
  ?fpnbgdmjmon:((fpnbgdmjmon:int32) = 0l)
  ?fjlnncjahng:((fjlnncjahng:int32) = 0l)
  ?mkideamcloh:((mkideamcloh:bool) = false)
  () : eeakpgmghbd  = {
  ejihdbnphdl;
  fpnbgdmjmon;
  fjlnncjahng;
  mkideamcloh;
}

let rec default_jnbinnnmhnh 
  ?end_time:((end_time:int64) = 0L)
  ?begin_time:((begin_time:int64) = 0L)
  ?fpnbgdmjmon:((fpnbgdmjmon:int32) = 0l)
  () : jnbinnnmhnh  = {
  end_time;
  begin_time;
  fpnbgdmjmon;
}

let rec default_gfhncokdkpc 
  ?gpngkbfnpjn:((gpngkbfnpjn:int32 list) = [])
  () : gfhncokdkpc  = {
  gpngkbfnpjn;
}

let rec default_jbondjmecmi 
  ?licjdggocfp:((licjdggocfp:jnbinnnmhnh list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?hopdkjbimil:((hopdkjbimil:eeakpgmghbd list) = [])
  () : jbondjmecmi  = {
  licjdggocfp;
  retcode;
  hopdkjbimil;
}

let rec default_bhjnpjibfoj 
  ?fpnbgdmjmon:((fpnbgdmjmon:int32) = 0l)
  () : bhjnpjibfoj  = {
  fpnbgdmjmon;
}

let rec default_ojldjlaldbe 
  ?retcode:((retcode:int32) = 0l)
  ?fpnbgdmjmon:((fpnbgdmjmon:int32) = 0l)
  () : ojldjlaldbe  = {
  retcode;
  fpnbgdmjmon;
}

let rec default_hmckncmeneo 
  ?fpnbgdmjmon:((fpnbgdmjmon:int32) = 0l)
  () : hmckncmeneo  = {
  fpnbgdmjmon;
}

let rec default_kgnehcjidmd 
  ?fpnbgdmjmon:((fpnbgdmjmon:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  () : kgnehcjidmd  = {
  fpnbgdmjmon;
  retcode;
  reward;
}

let rec default_hoakpoemoog () = (Cmd_adventure_type_none:hoakpoemoog)

let rec default_jiidgcpimha 
  ?lnjapmhfcck:((lnjapmhfcck:int32) = 0l)
  () : jiidgcpimha  = {
  lnjapmhfcck;
}

let rec default_vector 
  ?x:((x:int32) = 0l)
  ?y:((y:int32) = 0l)
  ?z:((z:int32) = 0l)
  () : vector  = {
  x;
  y;
  z;
}

let rec default_motion_info 
  ?pos:((pos:vector option) = None)
  ?rot:((rot:vector option) = None)
  () : motion_info  = {
  pos;
  rot;
}

let rec default_scene_actor_info 
  ?base_avatar_id:((base_avatar_id:int32) = 0l)
  ?map_layer:((map_layer:int32) = 0l)
  ?uid:((uid:int32) = 0l)
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  () : scene_actor_info  = {
  base_avatar_id;
  map_layer;
  uid;
  avatar_type;
}

let rec default_mnofjfljede 
  ?dbimnobaloc:((dbimnobaloc:int32) = 0l)
  () : mnofjfljede  = {
  dbimnobaloc;
}

let rec default_ingkkpmdgfj 
  ?kbneaoehnob:((kbneaoehnob:mnofjfljede option) = None)
  () : ingkkpmdgfj  = {
  kbneaoehnob;
}

let rec default_scene_npc_monster_info 
  ?mcfppkobjog:((mcfppkobjog:bool) = false)
  ?monster_id:((monster_id:int32) = 0l)
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  ?eanllcnpded:((eanllcnpded:bool) = false)
  ?world_level:((world_level:int32) = 0l)
  ?extra_info:((extra_info:ingkkpmdgfj option) = None)
  () : scene_npc_monster_info  = {
  mcfppkobjog;
  monster_id;
  ohibnloihci;
  eanllcnpded;
  world_level;
  extra_info;
}

let rec default_onmgodgfdgm 
  ?hfadhgefiea:((hfadhgefiea:int32) = 0l)
  ?cckegompfdi:((cckegompfdi:int32) = 0l)
  () : onmgodgfdgm  = {
  hfadhgefiea;
  cckegompfdi;
}

let rec default_nlegnknbkba 
  ?modhkobfmbp:((modhkobfmbp:bool) = false)
  ?lpflcicnioa:((lpflcicnioa:(int32 * int32) list) = [])
  ?kiakkdiecme:((kiakkdiecme:int32) = 0l)
  ?jnboodjdmho:((jnboodjdmho:int32) = 0l)
  ?idoffgnngem:((idoffgnngem:bool) = false)
  ?phddanoooji:((phddanoooji:bool) = false)
  ?hgfnojflbcl:((hgfnojflbcl:int32) = 0l)
  ?ebffkdhgkgl:((ebffkdhgkgl:int32) = 0l)
  ?jpiojenbgdi:((jpiojenbgdi:onmgodgfdgm list) = [])
  () : nlegnknbkba  = {
  modhkobfmbp;
  lpflcicnioa;
  kiakkdiecme;
  jnboodjdmho;
  idoffgnngem;
  phddanoooji;
  hgfnojflbcl;
  ebffkdhgkgl;
  jpiojenbgdi;
}

let rec default_pjgielghnom 
  ?aahebgiklma:((aahebgiklma:int32) = 0l)
  ?fhhkhmdleno:((fhhkhmdleno:bool) = false)
  ?kjdlimfggmd:((kjdlimfggmd:int32) = 0l)
  () : pjgielghnom  = {
  aahebgiklma;
  fhhkhmdleno;
  kjdlimfggmd;
}

let rec default_mnamhpiefmk = ()

let rec default_bgpancmpnpi 
  ?kbneaoehnob:((kbneaoehnob:nlegnknbkba option) = None)
  ?ocjkecmoefo:((ocjkecmoefo:pjgielghnom option) = None)
  ?bmiommboiii:((bmiommboiii:unit) = ())
  () : bgpancmpnpi  = {
  kbneaoehnob;
  ocjkecmoefo;
  bmiommboiii;
}

let rec default_scene_npc_info 
  ?extra_info:((extra_info:bgpancmpnpi option) = None)
  ?pnigjhppmln:((pnigjhppmln:int32) = 0l)
  () : scene_npc_info  = {
  extra_info;
  pnigjhppmln;
}

let rec default_pjinigkhjph 
  ?hdnlmbacmoa:((hdnlmbacmoa:int32) = 0l)
  ?edjpollefac:((edjpollefac:int32) = 0l)
  ?ioijcfnndfi:((ioijcfnndfi:int32) = 0l)
  ?mfdelanaicp:((mfdelanaicp:int32) = 0l)
  () : pjinigkhjph  = {
  hdnlmbacmoa;
  edjpollefac;
  ioijcfnndfi;
  mfdelanaicp;
}

let rec default_prop_aeon_info 
  ?add_exp:((add_exp:int32) = 0l)
  ?dialogue_group_id:((dialogue_group_id:int32) = 0l)
  ?aeon_id:((aeon_id:int32) = 0l)
  () : prop_aeon_info  = {
  add_exp;
  dialogue_group_id;
  aeon_id;
}

let rec default_beegbgebbjo 
  ?hkfihaoadih:((hkfihaoadih:bool) = false)
  ?dolgkgdnlaj:((dolgkgdnlaj:bool) = false)
  () : beegbgebbjo  = {
  hkfihaoadih;
  dolgkgdnlaj;
}

let rec default_bhfaniclgjb 
  ?dbkpbjfflcd:((dbkpbjfflcd:int32) = 0l)
  ?epdhlkapdfj:((epdhlkapdfj:bool) = false)
  ?lkegecjeppg:((lkegecjeppg:int32) = 0l)
  () : bhfaniclgjb  = {
  dbkpbjfflcd;
  epdhlkapdfj;
  lkegecjeppg;
}

let rec default_heikogemang 
  ?kigccmchfaa:((kigccmchfaa:int32) = 0l)
  ?jhojoicfldl:((jhojoicfldl:bool) = false)
  () : heikogemang  = {
  kigccmchfaa;
  jhojoicfldl;
}

let rec default_hkjfnijdkgm 
  ?icfomghpdgm:((icfomghpdgm:int32) = 0l)
  ?hcgkppdkglf:((hcgkppdkglf:heikogemang list) = [])
  () : hkjfnijdkgm  = {
  icfomghpdgm;
  hcgkppdkglf;
}

let rec default_lhbgigopabg 
  ?ichkjnfaacl:((ichkjnfaacl:int32) = 0l)
  () : lhbgigopabg  = {
  ichkjnfaacl;
}

let rec default_pgjpfemjihd 
  ?nmkibknpbeo:((nmkibknpbeo:int32) = 0l)
  ?dcigbkdfmdl:((dcigbkdfmdl:bool) = false)
  ?ikliliccdnf:((ikliliccdnf:lhbgigopabg option) = None)
  () : pgjpfemjihd  = {
  nmkibknpbeo;
  dcigbkdfmdl;
  ikliliccdnf;
}

let rec default_jigjfaecdcc 
  ?jdhboponecj:((jdhboponecj:pgjpfemjihd list) = [])
  ?fkbfnoipncl:((fkbfnoipncl:bool) = false)
  ?group_id:((group_id:int32) = 0l)
  () : jigjfaecdcc  = {
  jdhboponecj;
  fkbfnoipncl;
  group_id;
}

let rec default_pile_item 
  ?item_num:((item_num:int32) = 0l)
  ?item_id:((item_id:int32) = 0l)
  () : pile_item  = {
  item_num;
  item_id;
}

let rec default_item_cost 
  ?pile_item:((pile_item:pile_item option) = None)
  ?equipment_unique_id:((equipment_unique_id:int32) = 0l)
  ?relic_unique_id:((relic_unique_id:int32) = 0l)
  () : item_cost  = {
  pile_item;
  equipment_unique_id;
  relic_unique_id;
}

let rec default_item_cost_data 
  ?pdpfcfglgco:((pdpfcfglgco:item_cost list) = [])
  () : item_cost_data  = {
  pdpfcfglgco;
}

let rec default_jhjloaofhnk 
  ?eaeoionfehm:((eaeoionfehm:jigjfaecdcc list) = [])
  ?gehffpalkkn:((gehffpalkkn:bool) = false)
  ?pbcojmehnbg:((pbcojmehnbg:int32) = 0l)
  ?ndghkoinlfe:((ndghkoinlfe:int32) = 0l)
  ?fomcmdmpdcg:((fomcmdmpdcg:int32) = 0l)
  ?jnhkcpccoep:((jnhkcpccoep:int32) = 0l)
  ?nggficbaiof:((nggficbaiof:item_cost_data option) = None)
  () : jhjloaofhnk  = {
  eaeoionfehm;
  gehffpalkkn;
  pbcojmehnbg;
  ndghkoinlfe;
  fomcmdmpdcg;
  jnhkcpccoep;
  nggficbaiof;
}

let rec default_agohmeiodfe 
  ?lkfmgoglgch:((lkfmgoglgch:jhjloaofhnk option) = None)
  ?fkcfoljohjg:((fkcfoljohjg:int32) = 0l)
  () : agohmeiodfe  = {
  lkfmgoglgch;
  fkcfoljohjg;
}

let rec default_mnijbelpndn 
  ?jpaadimdaga:((jpaadimdaga:int32) = 0l)
  () : mnijbelpndn  = {
  jpaadimdaga;
}

let rec default_prop_extra_info 
  ?rogue_info:((rogue_info:pjinigkhjph option) = None)
  ?aeon_info:((aeon_info:prop_aeon_info option) = None)
  ?chess_rogue_info:((chess_rogue_info:beegbgebbjo option) = None)
  ?rogue_tourn_door_info:((rogue_tourn_door_info:bhfaniclgjb option) = None)
  ?rogue_tourn_workbench_info:((rogue_tourn_workbench_info:hkjfnijdkgm option) = None)
  ?rogue_gamble_machine_info:((rogue_gamble_machine_info:agohmeiodfe option) = None)
  ?rogue_curse_chest_info:((rogue_curse_chest_info:mnijbelpndn option) = None)
  () : prop_extra_info  = {
  rogue_info;
  aeon_info;
  chess_rogue_info;
  rogue_tourn_door_info;
  rogue_tourn_workbench_info;
  rogue_gamble_machine_info;
  rogue_curse_chest_info;
}

let rec default_scene_prop_info 
  ?life_time_ms:((life_time_ms:int32) = 0l)
  ?prop_state:((prop_state:int32) = 0l)
  ?gafflhlblde:((gafflhlblde:string list) = [])
  ?extra_info:((extra_info:prop_extra_info option) = None)
  ?prop_id:((prop_id:int32) = 0l)
  ?create_time_ms:((create_time_ms:int64) = 0L)
  () : scene_prop_info  = {
  life_time_ms;
  prop_state;
  gafflhlblde;
  extra_info;
  prop_id;
  create_time_ms;
}

let rec default_scene_summon_unit_info 
  ?kggengibiaj:((kggengibiaj:int32) = 0l)
  ?dpapibilmkb:((dpapibilmkb:int32) = 0l)
  ?gafflhlblde:((gafflhlblde:string list) = [])
  ?life_time_ms:((life_time_ms:int32) = 0l)
  ?create_time_ms:((create_time_ms:int64) = 0L)
  ?ilngleemfcf:((ilngleemfcf:int32) = 0l)
  () : scene_summon_unit_info  = {
  kggengibiaj;
  dpapibilmkb;
  gafflhlblde;
  life_time_ms;
  create_time_ms;
  ilngleemfcf;
}

let rec default_scene_entity_info_entity () : scene_entity_info_entity = Actor (default_scene_actor_info ())

and default_scene_entity_info 
  ?motion:((motion:motion_info option) = None)
  ?entity_id:((entity_id:int32) = 0l)
  ?group_id:((group_id:int32) = 0l)
  ?inst_id:((inst_id:int32) = 0l)
  ?entity:((entity:scene_entity_info_entity) = Actor (default_scene_actor_info ()))
  () : scene_entity_info  = {
  motion;
  entity_id;
  group_id;
  inst_id;
  entity;
}

let rec default_client_group_info 
  ?group_id:((group_id:int32) = 0l)
  ?state:((state:int32) = 0l)
  ?is_default:((is_default:bool) = false)
  () : client_group_info  = {
  group_id;
  state;
  is_default;
}

let rec default_ifdkgfigkgn 
  ?jpbnobgjmin:((jpbnobgjmin:int32) = 0l)
  ?ocalibhncaf:((ocalibhncaf:int64) = 0L)
  ?level:((level:int32) = 0l)
  ?dynamic_values:((dynamic_values:(string * float) list) = [])
  ?pkkfndimmio:((pkkfndimmio:int32) = 0l)
  ?cjndnhdlhbb:((cjndnhdlhbb:float) = 0.)
  ?base_avatar_id:((base_avatar_id:int32) = 0l)
  ?count:((count:int32) = 0l)
  () : ifdkgfigkgn  = {
  jpbnobgjmin;
  ocalibhncaf;
  level;
  dynamic_values;
  pkkfndimmio;
  cjndnhdlhbb;
  base_avatar_id;
  count;
}

let rec default_nllcojppklj 
  ?jbdgkicnbfa:((jbdgkicnbfa:string) = "")
  ?group_id:((group_id:int32) = 0l)
  () : nllcojppklj  = {
  jbdgkicnbfa;
  group_id;
}

let rec default_scene_group_info 
  ?entity_list:((entity_list:scene_entity_info list) = [])
  ?state:((state:int32) = 0l)
  ?group_id:((group_id:int32) = 0l)
  () : scene_group_info  = {
  entity_list;
  state;
  group_id;
}

let rec default_jbianonhjfo 
  ?ogcfmckhlja:((ogcfmckhlja:int32) = 0l)
  ?index:((index:int32) = 0l)
  () : jbianonhjfo  = {
  ogcfmckhlja;
  index;
}

let rec default_hhmofllojag 
  ?klmfdjlahkg:((klmfdjlahkg:jbianonhjfo list) = [])
  () : hhmofllojag  = {
  klmfdjlahkg;
}

let rec default_klciikcjohp 
  ?idlneeekpjl:((idlneeekpjl:int32) = 0l)
  ?klmfdjlahkg:((klmfdjlahkg:hhmofllojag option) = None)
  () : klciikcjohp  = {
  idlneeekpjl;
  klmfdjlahkg;
}

let rec default_mission_status () = (Mission_none:mission_status)

let rec default_mission 
  ?id:((id:int32) = 0l)
  ?progress:((progress:int32) = 0l)
  ?status:((status:mission_status) = default_mission_status ())
  () : mission  = {
  id;
  progress;
  status;
}

let rec default_jipkadfnhnh 
  ?ddipnlkacip:((ddipnlkacip:klciikcjohp list) = [])
  ?ammgadcegag:((ammgadcegag:int32 list) = [])
  ?hiokihlcnfc:((hiokihlcnfc:mission list) = [])
  ?dabclennonn:((dabclennonn:int32 list) = [])
  ?dgoigglciko:((dgoigglciko:int32 list) = [])
  () : jipkadfnhnh  = {
  ddipnlkacip;
  ammgadcegag;
  hiokihlcnfc;
  dabclennonn;
  dgoigglciko;
}

let rec default_hgiedelfofm 
  ?buff_list:((buff_list:ifdkgfigkgn list) = [])
  ?phkkegggmdi:((phkkegggmdi:int32) = 0l)
  () : hgiedelfofm  = {
  buff_list;
  phkkegggmdi;
}

let rec default_ggichccblmd 
  ?hohagdafjih:((hohagdafjih:int32) = 0l)
  ?lnpijkcjdbp:((lnpijkcjdbp:int32) = 0l)
  () : ggichccblmd  = {
  hohagdafjih;
  lnpijkcjdbp;
}

let rec default_scene_info 
  ?jdefjhmigii:((jdefjhmigii:int32) = 0l)
  ?plane_id:((plane_id:int32) = 0l)
  ?mdkmdbibnae:((mdkmdbibnae:int32) = 0l)
  ?game_mode_type:((game_mode_type:int32) = 0l)
  ?entity_list:((entity_list:scene_entity_info list) = [])
  ?entry_id:((entry_id:int32) = 0l)
  ?nfcojigifbb:((nfcojigifbb:int32) = 0l)
  ?kihpigcjcgi:((kihpigcjcgi:int32) = 0l)
  ?micgnniimak:((micgnniimak:int32) = 0l)
  ?client_group_list:((client_group_list:client_group_info list) = [])
  ?adbakkbjagb:((adbakkbjagb:int32 list) = [])
  ?ihnmjpmfplm:((ihnmjpmfplm:ifdkgfigkgn list) = [])
  ?ahehcckjamg:((ahehcckjamg:nllcojppklj list) = [])
  ?mogndfkhapd:((mogndfkhapd:int32 list) = [])
  ?floor_id:((floor_id:int32) = 0l)
  ?cbphphopofk:((cbphphopofk:(string * int32) list) = [])
  ?ijnpccndcgi:((ijnpccndcgi:int32) = 0l)
  ?scene_group_list:((scene_group_list:scene_group_info list) = [])
  ?cnjcegmeaap:((cnjcegmeaap:jipkadfnhnh option) = None)
  ?nmmlfdlmcoa:((nmmlfdlmcoa:hgiedelfofm list) = [])
  ?kdkoogfccbb:((kdkoogfccbb:(int32 * ggichccblmd) list) = [])
  () : scene_info  = {
  jdefjhmigii;
  plane_id;
  mdkmdbibnae;
  game_mode_type;
  entity_list;
  entry_id;
  nfcojigifbb;
  kihpigcjcgi;
  micgnniimak;
  client_group_list;
  adbakkbjagb;
  ihnmjpmfplm;
  ahehcckjamg;
  mogndfkhapd;
  floor_id;
  cbphphopofk;
  ijnpccndcgi;
  scene_group_list;
  cnjcegmeaap;
  nmmlfdlmcoa;
  kdkoogfccbb;
}

let rec default_klfnolgpgbe 
  ?retcode:((retcode:int32) = 0l)
  ?scene:((scene:scene_info option) = None)
  () : klfnolgpgbe  = {
  retcode;
  scene;
}

let rec default_iicgnbgleen 
  ?dopfcokpjei:((dopfcokpjei:int32) = 0l)
  ?end_time:((end_time:int64) = 0L)
  ?begin_time:((begin_time:int64) = 0L)
  () : iicgnbgleen  = {
  dopfcokpjei;
  end_time;
  begin_time;
}

let rec default_mpcilhkfijn 
  ?cdahnimckpe:((cdahnimckpe:int32 list) = [])
  () : mpcilhkfijn  = {
  cdahnimckpe;
}

let rec default_lbfhaemjbdb 
  ?retcode:((retcode:int32) = 0l)
  ?ejncilpcmjo:((ejncilpcmjo:iicgnbgleen list) = [])
  () : lbfhaemjbdb  = {
  retcode;
  ejncilpcmjo;
}

let rec default_mjcglmbmflj () = (Cmd_aether_divide_type_none:mjcglmbmflj)

let rec default_jgighfcglnn 
  ?jnmpconhdgp:((jnmpconhdgp:int32) = 0l)
  () : jgighfcglnn  = {
  jnmpconhdgp;
}

let rec default_dngkkjooice 
  ?jnmpconhdgp:((jnmpconhdgp:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : dngkkjooice  = {
  jnmpconhdgp;
  retcode;
}

let rec default_gdgedjogkjp = ()

let rec default_lnobihjhmec 
  ?retcode:((retcode:int32) = 0l)
  () : lnobihjhmec  = {
  retcode;
}

let rec default_fnmhaajaaek 
  ?bcbhaghfmhl:((bcbhaghfmhl:int32 list) = [])
  () : fnmhaajaaek  = {
  bcbhaghfmhl;
}

let rec default_lhnkeioipjg 
  ?skill_index:((skill_index:int32) = 0l)
  ?ohainjgiflk:((ohainjgiflk:int32 list) = [])
  ?kapkegapokf:((kapkegapokf:fnmhaajaaek list) = [])
  ?gbhffcbgjoc:((gbhffcbgjoc:int32) = 0l)
  ?egofdbhnple:((egofdbhnple:int32) = 0l)
  () : lhnkeioipjg  = {
  skill_index;
  ohainjgiflk;
  kapkegapokf;
  gbhffcbgjoc;
  egofdbhnple;
}

let rec default_dlibcbeoehg 
  ?logic_random_seed:((logic_random_seed:int32) = 0l)
  ?nlhcbhebgog:((nlhcbhebgog:bool) = false)
  ?buff_list:((buff_list:battle_buff list) = [])
  ?stage_id:((stage_id:int32) = 0l)
  ?battle_id:((battle_id:int32) = 0l)
  ?battle_avatar_list:((battle_avatar_list:dohhfaklimj list) = [])
  ?monster_wave_list:((monster_wave_list:scene_monster_wave list) = [])
  () : dlibcbeoehg  = {
  logic_random_seed;
  nlhcbhebgog;
  buff_list;
  stage_id;
  battle_id;
  battle_avatar_list;
  monster_wave_list;
}

let rec default_hpedbbbiedb 
  ?gbhffcbgjoc:((gbhffcbgjoc:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?ibllilenejp:((ibllilenejp:dlibcbeoehg option) = None)
  () : hpedbbbiedb  = {
  gbhffcbgjoc;
  retcode;
  ibllilenejp;
}

let rec default_plhgdnknphm 
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  ?cagbdbjkknd:((cagbdbjkknd:int32) = 0l)
  () : plhgdnknphm  = {
  dcpoeimegli;
  cagbdbjkknd;
}

let rec default_gjlahapdbog 
  ?ibllilenejp:((ibllilenejp:dlibcbeoehg option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : gjlahapdbog  = {
  ibllilenejp;
  retcode;
}

let rec default_daclbmikbfi 
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  ?slot:((slot:int32) = 0l)
  () : daclbmikbfi  = {
  hgjolgkaofj;
  slot;
}

let rec default_panjkdddido 
  ?exp:((exp:int32) = 0l)
  ?promotion:((promotion:int32) = 0l)
  ?sp:((sp:sp_progress option) = None)
  ?jfckjahhbcp:((jfckjahhbcp:int32) = 0l)
  ?bkjidpkfapk:((bkjidpkfapk:int32) = 0l)
  ?pbcjjbpdaco:((pbcjjbpdaco:daclbmikbfi list) = [])
  () : panjkdddido  = {
  exp;
  promotion;
  sp;
  jfckjahhbcp;
  bkjidpkfapk;
  pbcjjbpdaco;
}

let rec default_djeclbkkegk 
  ?doilhmkhjkj:((doilhmkhjkj:int32 list) = [])
  ?slot:((slot:int32) = 0l)
  () : djeclbkkegk  = {
  doilhmkhjkj;
  slot;
}

let rec default_ahhnbnjlmgc 
  ?kagnbjdmamf:((kagnbjdmamf:int32) = 0l)
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  ?lcmieeegeoh:((lcmieeegeoh:int32) = 0l)
  () : ahhnbnjlmgc  = {
  kagnbjdmamf;
  hgjolgkaofj;
  lcmieeegeoh;
}

let rec default_dojnnbdinke = ()

let rec default_cnbmpdajjkh 
  ?nllaboenkeb:((nllaboenkeb:int32) = 0l)
  ?pomjmhpaije:((pomjmhpaije:int32) = 0l)
  ?habbaannlmg:((habbaannlmg:panjkdddido list) = [])
  ?fcbhnhpkbck:((fcbhnhpkbck:int32) = 0l)
  ?kbognlnlcle:((kbognlnlcle:djeclbkkegk list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?igbnihgbkkc:((igbnihgbkkc:int32) = 0l)
  ?djmeejmcdfm:((djmeejmcdfm:ahhnbnjlmgc list) = [])
  ?djmfidjhakm:((djmfidjhakm:int32) = 0l)
  () : cnbmpdajjkh  = {
  nllaboenkeb;
  pomjmhpaije;
  habbaannlmg;
  fcbhnhpkbck;
  kbognlnlcle;
  retcode;
  igbnihgbkkc;
  djmeejmcdfm;
  djmfidjhakm;
}

let rec default_gjipjkneplj 
  ?lineup:((lineup:djeclbkkegk option) = None)
  () : gjipjkneplj  = {
  lineup;
}

let rec default_nkcmnkoblgi 
  ?retcode:((retcode:int32) = 0l)
  ?lineup:((lineup:djeclbkkegk option) = None)
  () : nkcmnkoblgi  = {
  retcode;
  lineup;
}

let rec default_kknohjjfloa 
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  ?jfckjahhbcp:((jfckjahhbcp:int32) = 0l)
  ?slot:((slot:int32) = 0l)
  () : kknohjjfloa  = {
  hgjolgkaofj;
  jfckjahhbcp;
  slot;
}

let rec default_emfbdoapndp 
  ?retcode:((retcode:int32) = 0l)
  ?nlpkicoldah:((nlpkicoldah:ahhnbnjlmgc option) = None)
  ?ifflhdajmfl:((ifflhdajmfl:panjkdddido option) = None)
  () : emfbdoapndp  = {
  retcode;
  nlpkicoldah;
  ifflhdajmfl;
}

let rec default_blikhfgpooe 
  ?jfckjahhbcp:((jfckjahhbcp:int32) = 0l)
  ?slot:((slot:int32) = 0l)
  () : blikhfgpooe  = {
  jfckjahhbcp;
  slot;
}

let rec default_dhocaolkmof 
  ?nlpkicoldah:((nlpkicoldah:ahhnbnjlmgc option) = None)
  ?ifflhdajmfl:((ifflhdajmfl:panjkdddido option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : dhocaolkmof  = {
  nlpkicoldah;
  ifflhdajmfl;
  retcode;
}

let rec default_mjamedhohel 
  ?deimfkdnmfd:((deimfkdnmfd:int32) = 0l)
  ?jfckjahhbcp:((jfckjahhbcp:int32) = 0l)
  ?igbnihgbkkc:((igbnihgbkkc:int32) = 0l)
  () : mjamedhohel  = {
  deimfkdnmfd;
  jfckjahhbcp;
  igbnihgbkkc;
}

let rec default_cmbpnklhbjm 
  ?retcode:((retcode:int32) = 0l)
  ?igbnihgbkkc:((igbnihgbkkc:int32) = 0l)
  ?ifflhdajmfl:((ifflhdajmfl:panjkdddido option) = None)
  () : cmbpnklhbjm  = {
  retcode;
  igbnihgbkkc;
  ifflhdajmfl;
}

let rec default_nonalgbapfh 
  ?cagbdbjkknd:((cagbdbjkknd:int32) = 0l)
  () : nonalgbapfh  = {
  cagbdbjkknd;
}

let rec default_fjenopmgncf 
  ?cagbdbjkknd:((cagbdbjkknd:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : fjenopmgncf  = {
  cagbdbjkknd;
  retcode;
}

let rec default_cllelklhkol 
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  () : cllelklhkol  = {
  ohibnloihci;
}

let rec default_eapddobkofp 
  ?ibllilenejp:((ibllilenejp:dlibcbeoehg option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : eapddobkofp  = {
  ibllilenejp;
  retcode;
}

let rec default_kdelimjibne 
  ?lineup:((lineup:djeclbkkegk option) = None)
  () : kdelimjibne  = {
  lineup;
}

let rec default_imhegmolifk 
  ?ifflhdajmfl:((ifflhdajmfl:panjkdddido option) = None)
  ?klcbbgahmon:((klcbbgahmon:panjkdddido list) = [])
  ?igbnihgbkkc:((igbnihgbkkc:int32) = 0l)
  () : imhegmolifk  = {
  ifflhdajmfl;
  klcbbgahmon;
  igbnihgbkkc;
}

let rec default_iepaafhgkkh = ()

let rec default_comcfkpmacm 
  ?bapkilajgne:((bapkilajgne:int32 list) = [])
  ?gjonbpebope:((gjonbpebope:int32) = 0l)
  ?caaogbkeibf:((caaogbkeibf:int32 list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : comcfkpmacm  = {
  bapkilajgne;
  gjonbpebope;
  caaogbkeibf;
  retcode;
}

let rec default_oafokgigjif 
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  () : oafokgigjif  = {
  dcpoeimegli;
}

let rec default_ekpogeffanm 
  ?fcbhnhpkbck:((fcbhnhpkbck:int32) = 0l)
  () : ekpogeffanm  = {
  fcbhnhpkbck;
}

let rec default_dliphlmaege 
  ?kagnbjdmamf:((kagnbjdmamf:int32) = 0l)
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  () : dliphlmaege  = {
  kagnbjdmamf;
  hgjolgkaofj;
}

let rec default_nimfecemimn = ()

let rec default_pdelhifcdfi 
  ?nllaboenkeb:((nllaboenkeb:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : pdelhifcdfi  = {
  nllaboenkeb;
  retcode;
}

let rec default_eachgfoknhm 
  ?nllaboenkeb:((nllaboenkeb:int32) = 0l)
  () : eachgfoknhm  = {
  nllaboenkeb;
}

let rec default_ciimogjledo 
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  () : ciimogjledo  = {
  dcpoeimegli;
}

let rec default_dknombpgohe 
  ?retcode:((retcode:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  () : dknombpgohe  = {
  retcode;
  reward;
  dcpoeimegli;
}

let rec default_jnfhlppocgg () = (Cmd_alley_type_none:jnfhlppocgg)

let rec default_ohpeonhnbci () = (Left:ohpeonhnbci)

let rec default_aklfmicjnmj () = (Alley_event_type_none:aklfmicjnmj)

let rec default_hadkcbmomck () = (Alley_state_none:hadkcbmomck)

let rec default_loapiplimjn = ()

let rec default_ohjhhhgpcgg 
  ?fkbknefjpko:((fkbknefjpko:int32) = 0l)
  ?lnjapmhfcck:((lnjapmhfcck:int32) = 0l)
  () : ohjhhhgpcgg  = {
  fkbknefjpko;
  lnjapmhfcck;
}

let rec default_hejgfgdhldh 
  ?fgohomljegm:((fgohomljegm:int32) = 0l)
  ?level:((level:int32) = 0l)
  () : hejgfgdhldh  = {
  fgohomljegm;
  level;
}

let rec default_logistics_score 
  ?cur_score:((cur_score:int32) = 0l)
  ?unlock_level:((unlock_level:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  ?last_level:((last_level:int32) = 0l)
  ?last_max_score:((last_max_score:int32) = 0l)
  ?map_id:((map_id:int32) = 0l)
  ?max_score:((max_score:int32) = 0l)
  () : logistics_score  = {
  cur_score;
  unlock_level;
  reward;
  last_level;
  last_max_score;
  map_id;
  max_score;
}

let rec default_hgapkkdbooj 
  ?ofoaoamacnm:((ofoaoamacnm:int32 list) = [])
  ?cjologpmmfj:((cjologpmmfj:int32 list) = [])
  ?mlfjgaifmhg:((mlfjgaifmhg:int32) = 0l)
  ?oeeplaejecp:((oeeplaejecp:int32) = 0l)
  ?gonbjnkpphb:((gonbjnkpphb:int32 list) = [])
  ?fgohomljegm:((fgohomljegm:int32) = 0l)
  ?dfejfmhieaj:((dfejfmhieaj:int32) = 0l)
  () : hgapkkdbooj  = {
  ofoaoamacnm;
  cjologpmmfj;
  mlfjgaifmhg;
  oeeplaejecp;
  gonbjnkpphb;
  fgohomljegm;
  dfejfmhieaj;
}

let rec default_kcjbohglbkg 
  ?cost_time:((cost_time:int32) = 0l)
  ?lnjapmhfcck:((lnjapmhfcck:int32) = 0l)
  ?cniofkimkih:((cniofkimkih:hgapkkdbooj list) = [])
  () : kcjbohglbkg  = {
  cost_time;
  lnjapmhfcck;
  cniofkimkih;
}

let rec default_icfmgfdlfbf 
  ?pkmpinidbem:((pkmpinidbem:logistics_score list) = [])
  ?kgphnjjjfjh:((kgphnjjjfjh:ohjhhhgpcgg list) = [])
  ?jfmgicmieni:((jfmgicmieni:kcjbohglbkg list) = [])
  ?mnbhmefmgck:((mnbhmefmgck:int32 list) = [])
  () : icfmgfdlfbf  = {
  pkmpinidbem;
  kgphnjjjfjh;
  jfmgicmieni;
  mnbhmefmgck;
}

let rec default_dooingjidio 
  ?state:((state:hadkcbmomck) = default_hadkcbmomck ())
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  ?lfofmmafena:((lfofmmafena:int32) = 0l)
  () : dooingjidio  = {
  state;
  ohibnloihci;
  lfofmmafena;
}

let rec default_hladmhdfejp 
  ?cafjmafcfoe:((cafjmafcfoe:int32) = 0l)
  ?akcnolgdkfn:((akcnolgdkfn:int32) = 0l)
  ?hklljapbdgp:((hklljapbdgp:bool) = false)
  ?opnlgkllekk:((opnlgkllekk:int32 list) = [])
  ?jgcckagocaa:((jgcckagocaa:int32) = 0l)
  ?aofhdgapibo:((aofhdgapibo:int32 list) = [])
  () : hladmhdfejp  = {
  cafjmafcfoe;
  akcnolgdkfn;
  hklljapbdgp;
  opnlgkllekk;
  jgcckagocaa;
  aofhdgapibo;
}

let rec default_mdagbigodjh 
  ?idliicjndbe:((idliicjndbe:int32) = 0l)
  ?ifcilmngdbd:((ifcilmngdbd:(int32 * int32) list) = [])
  ?fggaonkbpcf:((fggaonkbpcf:int32) = 0l)
  () : mdagbigodjh  = {
  idliicjndbe;
  ifcilmngdbd;
  fggaonkbpcf;
}

let rec default_beljfmihinc 
  ?nndnjlaloij:((nndnjlaloij:int32) = 0l)
  ?ikifmbckbhe:((ikifmbckbhe:int32 list) = [])
  ?fkpnjjecflg:((fkpnjjecflg:icfmgfdlfbf option) = None)
  ?llhoijjnhbc:((llhoijjnhbc:dooingjidio list) = [])
  ?ndjkkklopgp:((ndjkkklopgp:(int32 * int32) list) = [])
  ?hifdompfogo:((hifdompfogo:hladmhdfejp option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?njhmoljoand:((njhmoljoand:int32) = 0l)
  ?doglnbjjbnn:((doglnbjjbnn:int32 list) = [])
  ?iaagjjojjng:((iaagjjojjng:mdagbigodjh option) = None)
  ?hjigclklgic:((hjigclklgic:int32 list) = [])
  ?level:((level:int32) = 0l)
  () : beljfmihinc  = {
  nndnjlaloij;
  ikifmbckbhe;
  fkpnjjecflg;
  llhoijjnhbc;
  ndjkkklopgp;
  hifdompfogo;
  retcode;
  njhmoljoand;
  doglnbjjbnn;
  iaagjjojjng;
  hjigclklgic;
  level;
}

let rec default_fadlnhgpedm 
  ?idmndadbjbj:((idmndadbjbj:int32) = 0l)
  ?ihiffnbnoma:((ihiffnbnoma:int32) = 0l)
  () : fadlnhgpedm  = {
  idmndadbjbj;
  ihiffnbnoma;
}

let rec default_dgpnljgebli 
  ?ififlmjnmdk:((ififlmjnmdk:int32) = 0l)
  ?glhlojgnlbf:((glhlojgnlbf:fadlnhgpedm list) = [])
  () : dgpnljgebli  = {
  ififlmjnmdk;
  glhlojgnlbf;
}

let rec default_alley_placing_ship 
  ?goods_list:((goods_list:dgpnljgebli list) = [])
  ?ship_id:((ship_id:int32) = 0l)
  () : alley_placing_ship  = {
  goods_list;
  ship_id;
}

let rec default_jhjeidcchdm 
  ?melnmeleaof:((melnmeleaof:int32) = 0l)
  ?doobkcfngij:((doobkcfngij:alley_placing_ship option) = None)
  ?aehccpbhofa:((aehccpbhofa:int32) = 0l)
  ?einjppkhadm:((einjppkhadm:int32) = 0l)
  ?jojofajfiaa:((jojofajfiaa:int32) = 0l)
  ?ifgaoheijdh:((ifgaoheijdh:int32) = 0l)
  ?mknfiokmpkc:((mknfiokmpkc:int32) = 0l)
  ?cost_time:((cost_time:int32) = 0l)
  ?pcdbbpgcjnd:((pcdbbpgcjnd:int32) = 0l)
  () : jhjeidcchdm  = {
  melnmeleaof;
  doobkcfngij;
  aehccpbhofa;
  einjppkhadm;
  jojofajfiaa;
  ifgaoheijdh;
  mknfiokmpkc;
  cost_time;
  pcdbbpgcjnd;
}

let rec default_pikdnogokln 
  ?jfonlmmohcn:((jfonlmmohcn:int32) = 0l)
  ?jljeangppkc:((jljeangppkc:int32) = 0l)
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  ?pamdbajlfcl:((pamdbajlfcl:int32) = 0l)
  ?dcoihiogahc:((dcoihiogahc:int32) = 0l)
  ?joeakofeomk:((joeakofeomk:int32) = 0l)
  ?obegnholjba:((obegnholjba:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : pikdnogokln  = {
  jfonlmmohcn;
  jljeangppkc;
  ohibnloihci;
  pamdbajlfcl;
  dcoihiogahc;
  joeakofeomk;
  obegnholjba;
  retcode;
}

let rec default_ocmgldjcfji 
  ?doobkcfngij:((doobkcfngij:alley_placing_ship option) = None)
  ?ninapcangoo:((ninapcangoo:int32) = 0l)
  ?melnmeleaof:((melnmeleaof:int32) = 0l)
  () : ocmgldjcfji  = {
  doobkcfngij;
  ninapcangoo;
  melnmeleaof;
}

let rec default_ebpbcjefmgm 
  ?retcode:((retcode:int32) = 0l)
  ?ninapcangoo:((ninapcangoo:int32) = 0l)
  ?melnmeleaof:((melnmeleaof:int32) = 0l)
  () : ebpbcjefmgm  = {
  retcode;
  ninapcangoo;
  melnmeleaof;
}

let rec default_gomcgdopbbp 
  ?aehfkplienl:((aehfkplienl:hladmhdfejp option) = None)
  () : gomcgdopbbp  = {
  aehfkplienl;
}

let rec default_cchhoggfaan 
  ?locobbjbeoj:((locobbjbeoj:int32) = 0l)
  () : cchhoggfaan  = {
  locobbjbeoj;
}

let rec default_cblobpbbioh 
  ?gfiadoibado:((gfiadoibado:bool) = false)
  ?ffabaoopmam:((ffabaoopmam:kcjbohglbkg list) = [])
  () : cblobpbbioh  = {
  gfiadoibado;
  ffabaoopmam;
}

let rec default_jinedikcnpg 
  ?pkmpinidbem:((pkmpinidbem:logistics_score list) = [])
  () : jinedikcnpg  = {
  pkmpinidbem;
}

let rec default_icegdbgdilo 
  ?pkmpinidbem:((pkmpinidbem:logistics_score list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?gfiadoibado:((gfiadoibado:bool) = false)
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  () : icegdbgdilo  = {
  pkmpinidbem;
  retcode;
  gfiadoibado;
  ohibnloihci;
}

let rec default_jpdpdkgmoem 
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  () : jpdpdkgmoem  = {
  ohibnloihci;
}

let rec default_jemgejfhlea 
  ?retcode:((retcode:int32) = 0l)
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  () : jemgejfhlea  = {
  retcode;
  ohibnloihci;
}

let rec default_hemiegnodli 
  ?liabblpojlg:((liabblpojlg:int32) = 0l)
  ?aeajedehfdj:((aeajedehfdj:dooingjidio option) = None)
  () : hemiegnodli  = {
  liabblpojlg;
  aeajedehfdj;
}

let rec default_hbclchmkfof 
  ?gnmibkehipe:((gnmibkehipe:int32) = 0l)
  () : hbclchmkfof  = {
  gnmibkehipe;
}

let rec default_fipfnjdahae 
  ?level:((level:int32) = 0l)
  () : fipfnjdahae  = {
  level;
}

let rec default_neiehjicaab 
  ?retcode:((retcode:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  ?level:((level:int32) = 0l)
  () : neiehjicaab  = {
  retcode;
  reward;
  level;
}

let rec default_jiokkgmgdhi = ()

let rec default_cdgmddbhlhm 
  ?retcode:((retcode:int32) = 0l)
  ?level:((level:int32) = 0l)
  () : cdgmddbhlhm  = {
  retcode;
  level;
}

let rec default_agbibfofjhe 
  ?njhmoljoand:((njhmoljoand:int32) = 0l)
  () : agbibfofjhe  = {
  njhmoljoand;
}

let rec default_aiacifopgjh 
  ?ffabaoopmam:((ffabaoopmam:kcjbohglbkg list) = [])
  () : aiacifopgjh  = {
  ffabaoopmam;
}

let rec default_ofpielcbnie 
  ?ffabaoopmam:((ffabaoopmam:kcjbohglbkg list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : ofpielcbnie  = {
  ffabaoopmam;
  retcode;
}

let rec default_fleomlhekmb 
  ?fkpnjjecflg:((fkpnjjecflg:icfmgfdlfbf option) = None)
  () : fleomlhekmb  = {
  fkpnjjecflg;
}

let rec default_didlmcoobee 
  ?mfgpjihdebb:((mfgpjihdebb:mdagbigodjh option) = None)
  () : didlmcoobee  = {
  mfgpjihdebb;
}

let rec default_kojkhmpimdb = ()

let rec default_nalpogbfcld 
  ?retcode:((retcode:int32) = 0l)
  ?jfmgicmieni:((jfmgicmieni:kcjbohglbkg list) = [])
  () : nalpogbfcld  = {
  retcode;
  jfmgicmieni;
}

let rec default_bnllbbflcmp 
  ?ndjkkklopgp:((ndjkkklopgp:(int32 * int32) list) = [])
  () : bnllbbflcmp  = {
  ndjkkklopgp;
}

let rec default_gecmagkkaih = ()

let rec default_eienjkdigbh 
  ?pfjnehlmhpn:((pfjnehlmhpn:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : eienjkdigbh  = {
  pfjnehlmhpn;
  retcode;
}

let rec default_iohkbhphefg 
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  () : iohkbhphefg  = {
  ohibnloihci;
}

let rec default_haoeobccick 
  ?reward:((reward:item_list option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : haoeobccick  = {
  reward;
  retcode;
}

let rec default_inoillgmnli = ()

let rec default_ihjgeegflgi 
  ?retcode:((retcode:int32) = 0l)
  () : ihjgeegflgi  = {
  retcode;
}

let rec default_kjniddfcogb () = (Cmd_archive_type_none:kjniddfcogb)

let rec default_ahegmfopalb 
  ?peehdpfeeoo:((peehdpfeeoo:int32) = 0l)
  ?fgmdoekgpee:((fgmdoekgpee:int32) = 0l)
  () : ahegmfopalb  = {
  peehdpfeeoo;
  fgmdoekgpee;
}

let rec default_djckakhhhng 
  ?monster_id:((monster_id:int32) = 0l)
  ?kagnbjdmamf:((kagnbjdmamf:int32) = 0l)
  () : djckakhhhng  = {
  monster_id;
  kagnbjdmamf;
}

let rec default_gjjmikgadbo 
  ?relic_list:((relic_list:ahegmfopalb list) = [])
  ?gbgamckgokf:((gbgamckgokf:djckakhhhng list) = [])
  ?fidmcoeiklh:((fidmcoeiklh:int32 list) = [])
  ?kbmoknknjod:((kbmoknknjod:int32 list) = [])
  ?apfenmjpknc:((apfenmjpknc:int32 list) = [])
  () : gjjmikgadbo  = {
  relic_list;
  gbgamckgokf;
  fidmcoeiklh;
  kbmoknknjod;
  apfenmjpknc;
}

let rec default_monllamhagk = ()

let rec default_palefbfkmmf 
  ?dbmehhgkijj:((dbmehhgkijj:gjjmikgadbo option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : palefbfkmmf  = {
  dbmehhgkijj;
  retcode;
}

let rec default_bhpjpmkfmkk = ()

let rec default_llchdbdljil 
  ?retcode:((retcode:int32) = 0l)
  ?dbmehhgkijj:((dbmehhgkijj:gjjmikgadbo option) = None)
  () : llchdbdljil  = {
  retcode;
  dbmehhgkijj;
}

let rec default_ddigbcomjip () = (Cmd_avatar_type_none:ddigbcomjip)

let rec default_add_avatar_src () = (Add_avatar_src_none:add_avatar_src)

let rec default_get_avatar_data_cs_req 
  ?base_avatar_id_list:((base_avatar_id_list:int32 list) = [])
  ?is_get_all:((is_get_all:bool) = false)
  () : get_avatar_data_cs_req  = {
  base_avatar_id_list;
  is_get_all;
}

let rec default_equip_relic 
  ?nfjcagcjbib:((nfjcagcjbib:int32) = 0l)
  ?fgmdoekgpee:((fgmdoekgpee:int32) = 0l)
  () : equip_relic  = {
  nfjcagcjbib;
  fgmdoekgpee;
}

let rec default_avatar 
  ?base_avatar_id:((base_avatar_id:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?fbieckfjhid:((fbieckfjhid:int32) = 0l)
  ?equip_relic_list:((equip_relic_list:equip_relic list) = [])
  ?skilltree_list:((skilltree_list:avatar_skill_tree list) = [])
  ?first_met_timestamp:((first_met_timestamp:int64) = 0L)
  ?rank:((rank:int32) = 0l)
  ?nknepgafjhl:((nknepgafjhl:int32) = 0l)
  ?bhfagdddack:((bhfagdddack:bool) = false)
  ?exp:((exp:int32) = 0l)
  ?promotion:((promotion:int32) = 0l)
  ?lgefgjgpbcj:((lgefgjgpbcj:int32 list) = [])
  () : avatar  = {
  base_avatar_id;
  level;
  fbieckfjhid;
  equip_relic_list;
  skilltree_list;
  first_met_timestamp;
  rank;
  nknepgafjhl;
  bhfagdddack;
  exp;
  promotion;
  lgefgjgpbcj;
}

let rec default_get_avatar_data_sc_rsp 
  ?retcode:((retcode:int32) = 0l)
  ?cibnempfije:((cibnempfije:int32 list) = [])
  ?is_all:((is_all:bool) = false)
  ?avatar_list:((avatar_list:avatar list) = [])
  () : get_avatar_data_sc_rsp  = {
  retcode;
  cibnempfije;
  is_all;
  avatar_list;
}

let rec default_aecnomadcjh 
  ?item_cost:((item_cost:item_cost_data option) = None)
  ?base_avatar_id:((base_avatar_id:int32) = 0l)
  () : aecnomadcjh  = {
  item_cost;
  base_avatar_id;
}

let rec default_lpnomfffpdc 
  ?return_item_list:((return_item_list:pile_item list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : lpnomfffpdc  = {
  return_item_list;
  retcode;
}

let rec default_kpbljmklimk 
  ?pdpfcfglgco:((pdpfcfglgco:item_cost list) = [])
  ?point_id:((point_id:int32) = 0l)
  ?level:((level:int32) = 0l)
  () : kpbljmklimk  = {
  pdpfcfglgco;
  point_id;
  level;
}

let rec default_lokkkoegcel 
  ?level:((level:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?point_id:((point_id:int32) = 0l)
  () : lokkkoegcel  = {
  level;
  retcode;
  point_id;
}

let rec default_pgallhinmcg 
  ?base_avatar_id:((base_avatar_id:int32) = 0l)
  ?pdpfcfglgco:((pdpfcfglgco:item_cost list) = [])
  () : pgallhinmcg  = {
  base_avatar_id;
  pdpfcfglgco;
}

let rec default_kiegpcndglm 
  ?retcode:((retcode:int32) = 0l)
  () : kiegpcndglm  = {
  retcode;
}

let rec default_cbakagckfoj 
  ?avatar_id:((avatar_id:int32) = 0l)
  ?fbieckfjhid:((fbieckfjhid:int32) = 0l)
  () : cbakagckfoj  = {
  avatar_id;
  fbieckfjhid;
}

let rec default_ijcahocdgaf 
  ?retcode:((retcode:int32) = 0l)
  () : ijcahocdgaf  = {
  retcode;
}

let rec default_adgdhlnhjbo 
  ?avatar_id:((avatar_id:int32) = 0l)
  () : adgdhlnhjbo  = {
  avatar_id;
}

let rec default_mpifpmeobhn 
  ?retcode:((retcode:int32) = 0l)
  () : mpifpmeobhn  = {
  retcode;
}

let rec default_add_avatar_sc_notify 
  ?reward:((reward:item_list option) = None)
  ?kollpgccdil:((kollpgccdil:bool) = false)
  ?base_avatar_id:((base_avatar_id:int32) = 0l)
  ?src:((src:add_avatar_src) = default_add_avatar_src ())
  () : add_avatar_sc_notify  = {
  reward;
  kollpgccdil;
  base_avatar_id;
  src;
}

let rec default_encpolfcbdh 
  ?avatar_id:((avatar_id:int32) = 0l)
  ?rank:((rank:int32) = 0l)
  ?lohpklihemj:((lohpklihemj:item_cost_data option) = None)
  () : encpolfcbdh  = {
  avatar_id;
  rank;
  lohpklihemj;
}

let rec default_lalbonaknbj 
  ?retcode:((retcode:int32) = 0l)
  () : lalbonaknbj  = {
  retcode;
}

let rec default_lihdafanjjb 
  ?glibnobaaec:((glibnobaaec:int32) = 0l)
  ?nfjcagcjbib:((nfjcagcjbib:int32) = 0l)
  () : lihdafanjjb  = {
  glibnobaaec;
  nfjcagcjbib;
}

let rec default_nnmdebbkhno 
  ?avatar_id:((avatar_id:int32) = 0l)
  ?param_list:((param_list:lihdafanjjb list) = [])
  () : nnmdebbkhno  = {
  avatar_id;
  param_list;
}

let rec default_kangfjjbiof 
  ?retcode:((retcode:int32) = 0l)
  () : kangfjjbiof  = {
  retcode;
}

let rec default_loekhbimbge 
  ?meifmmgjlpe:((meifmmgjlpe:int32 list) = [])
  ?avatar_id:((avatar_id:int32) = 0l)
  () : loekhbimbge  = {
  meifmmgjlpe;
  avatar_id;
}

let rec default_piacfnkpnfl 
  ?retcode:((retcode:int32) = 0l)
  () : piacfnkpnfl  = {
  retcode;
}

let rec default_lhfgooafpmn 
  ?promotion:((promotion:int32) = 0l)
  ?base_avatar_id:((base_avatar_id:int32) = 0l)
  () : lhfgooafpmn  = {
  promotion;
  base_avatar_id;
}

let rec default_ilpkijpmbem 
  ?dekonpmjeen:((dekonpmjeen:item_list option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : ilpkijpmbem  = {
  dekonpmjeen;
  retcode;
}

let rec default_hipenifkepd 
  ?ikebgemjjdh:((ikebgemjjdh:int32) = 0l)
  ?avatar_id:((avatar_id:int32) = 0l)
  () : hipenifkepd  = {
  ikebgemjjdh;
  avatar_id;
}

let rec default_pncgiifooab 
  ?retcode:((retcode:int32) = 0l)
  () : pncgiifooab  = {
  retcode;
}

let rec default_agbmkannnln 
  ?avatar_id:((avatar_id:int32) = 0l)
  () : agbmkannnln  = {
  avatar_id;
}

let rec default_iekgcdbdjcb 
  ?retcode:((retcode:int32) = 0l)
  () : iekgcdbdjcb  = {
  retcode;
}

let rec default_jkgenbbckgd 
  ?ikebgemjjdh:((ikebgemjjdh:int32) = 0l)
  () : jkgenbbckgd  = {
  ikebgemjjdh;
}

let rec default_cefjkkokjgm 
  ?avatar_id:((avatar_id:int32) = 0l)
  ?bhfagdddack:((bhfagdddack:bool) = false)
  () : cefjkkokjgm  = {
  avatar_id;
  bhfagdddack;
}

let rec default_jpfokchobkj 
  ?bhfagdddack:((bhfagdddack:bool) = false)
  ?retcode:((retcode:int32) = 0l)
  ?avatar_id:((avatar_id:int32) = 0l)
  () : jpfokchobkj  = {
  bhfagdddack;
  retcode;
  avatar_id;
}

let rec default_cakkaeefjpf () = (Cmd_battle_type_none:cakkaeefjpf)

let rec default_pve_battle_result_cs_req 
  ?stage_id:((stage_id:int32) = 0l)
  ?end_status:((end_status:battle_end_status) = default_battle_end_status ())
  ?battle_id:((battle_id:int32) = 0l)
  () : pve_battle_result_cs_req  = {
  stage_id;
  end_status;
  battle_id;
}

let rec default_pve_battle_result_sc_rsp 
  ?oomdpegblgd:((oomdpegblgd:bool) = false)
  ?battle_avatar_list:((battle_avatar_list:battle_avatar list) = [])
  ?oocaibocjln:((oocaibocjln:int32) = 0l)
  ?pgocjkihbbe:((pgocjkihbbe:string) = "")
  ?retcode:((retcode:int32) = 0l)
  ?stage_id:((stage_id:int32) = 0l)
  ?battle_id:((battle_id:int32) = 0l)
  ?glplpadhfpd:((glplpadhfpd:int32) = 0l)
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  ?mlnnahkhdjm:((mlnnahkhdjm:item_list option) = None)
  ?eahkgakocfi:((eahkgakocfi:item_list option) = None)
  ?cbilddggofb:((cbilddggofb:item_list option) = None)
  ?acpoidmpoae:((acpoidmpoae:item_list option) = None)
  ?gndhohdfcaj:((gndhohdfcaj:int32) = 0l)
  ?afpcepepdbn:((afpcepepdbn:string) = "")
  ?end_status:((end_status:battle_end_status) = default_battle_end_status ())
  () : pve_battle_result_sc_rsp  = {
  oomdpegblgd;
  battle_avatar_list;
  oocaibocjln;
  pgocjkihbbe;
  retcode;
  stage_id;
  battle_id;
  glplpadhfpd;
  ohibnloihci;
  mlnnahkhdjm;
  eahkgakocfi;
  cbilddggofb;
  acpoidmpoae;
  gndhohdfcaj;
  afpcepepdbn;
  end_status;
}

let rec default_camlhbegnmo () = (Rebattle_type_none:camlhbegnmo)

let rec default_ijgbbedmofi 
  ?ppkofopmfjc:((ppkofopmfjc:battle_statistics option) = None)
  ?nnpfabenejo:((nnpfabenejo:camlhbegnmo) = default_camlhbegnmo ())
  () : ijgbbedmofi  = {
  ppkofopmfjc;
  nnpfabenejo;
}

let rec default_cobbpkkomfl 
  ?retcode:((retcode:int32) = 0l)
  () : cobbpkkomfl  = {
  retcode;
}

let rec default_dkkpikecajo = ()

let rec default_hbflmfphidd 
  ?ipnlaoiegjo:((ipnlaoiegjo:dlibcbeoehg option) = None)
  ?nlkgekahldd:((nlkgekahldd:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?ibllilenejp:((ibllilenejp:scene_battle_info option) = None)
  ?hcnfeokapob:((hcnfeokapob:battle_end_status) = default_battle_end_status ())
  () : hbflmfphidd  = {
  ipnlaoiegjo;
  nlkgekahldd;
  retcode;
  ibllilenejp;
  hcnfeokapob;
}

let rec default_mcakjakjjom 
  ?hcgjomkbloh:((hcgjomkbloh:int32) = 0l)
  () : mcakjakjjom  = {
  hcgjomkbloh;
}

let rec default_kkabhpeeggp 
  ?hcgjomkbloh:((hcgjomkbloh:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : kkabhpeeggp  = {
  hcgjomkbloh;
  retcode;
}

let rec default_fjkiphnkgdp = ()

let rec default_ldnjbhdlmmg = ()

let rec default_pnnpfbnehhf 
  ?retcode:((retcode:int32) = 0l)
  ?inhkilleipi:((inhkilleipi:bool) = false)
  () : pnnpfbnehhf  = {
  retcode;
  inhkilleipi;
}

let rec default_fjhmgepebdo = ()

let rec default_jomaaeonbkl 
  ?anhhbjmpmnl:((anhhbjmpmnl:bool) = false)
  () : jomaaeonbkl  = {
  anhhbjmpmnl;
}

let rec default_mgckhgkoldc 
  ?ppkofopmfjc:((ppkofopmfjc:battle_statistics option) = None)
  ?nnpfabenejo:((nnpfabenejo:camlhbegnmo) = default_camlhbegnmo ())
  () : mgckhgkoldc  = {
  ppkofopmfjc;
  nnpfabenejo;
}

let rec default_dbbjgclmmjp () = (Cmd_battle_college_type_none:dbbjgclmmjp)

let rec default_fapaimaejep = ()

let rec default_bdboegaepjc 
  ?opmjfaoockc:((opmjfaoockc:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?njicdmlcfel:((njicdmlcfel:int32 list) = [])
  () : bdboegaepjc  = {
  opmjfaoockc;
  retcode;
  njicdmlcfel;
}

let rec default_peakflfemij 
  ?opmjfaoockc:((opmjfaoockc:int32) = 0l)
  ?njicdmlcfel:((njicdmlcfel:int32 list) = [])
  ?reward:((reward:item_list option) = None)
  () : peakflfemij  = {
  opmjfaoockc;
  njicdmlcfel;
  reward;
}

let rec default_piohfiefgli 
  ?id:((id:int32) = 0l)
  () : piohfiefgli  = {
  id;
}

let rec default_gilcdginico 
  ?retcode:((retcode:int32) = 0l)
  ?ibllilenejp:((ibllilenejp:scene_battle_info option) = None)
  ?id:((id:int32) = 0l)
  () : gilcdginico  = {
  retcode;
  ibllilenejp;
  id;
}

let rec default_fahljamiphk () = (Cmd_battle_pass_type_none:fahljamiphk)

let rec default_lhcilpbmhdj () = (Bp_tier_type_none:lhcilpbmhdj)

let rec default_bbfkmccgbef () = (Bp_rewarad_type_none:bbfkmccgbef)

let rec default_glllkpaohkp 
  ?hfimlipbgjj:((hfimlipbgjj:int64) = 0L)
  ?odfppnaaaha:((odfppnaaaha:int64) = 0L)
  ?doelnfpchgj:((doelnfpchgj:int64) = 0L)
  ?ofkndpopolb:((ofkndpopolb:int64) = 0L)
  ?ifhjejgkkii:((ifhjejgkkii:int64) = 0L)
  ?bflofpnhhbe:((bflofpnhhbe:int64) = 0L)
  ?level:((level:int32) = 0l)
  ?negckedpalm:((negckedpalm:int32) = 0l)
  ?exp:((exp:int32) = 0l)
  ?mlcjknjonla:((mlcjknjonla:int64) = 0L)
  ?hjaacgfhkeh:((hjaacgfhkeh:lhcilpbmhdj) = default_lhcilpbmhdj ())
  ?eigfdpnbaib:((eigfdpnbaib:int64) = 0L)
  ?ikphhdkihnl:((ikphhdkihnl:int32) = 0l)
  () : glllkpaohkp  = {
  hfimlipbgjj;
  odfppnaaaha;
  doelnfpchgj;
  ofkndpopolb;
  ifhjejgkkii;
  bflofpnhhbe;
  level;
  negckedpalm;
  exp;
  mlcjknjonla;
  hjaacgfhkeh;
  eigfdpnbaib;
  ikphhdkihnl;
}

let rec default_igfohhehkfi 
  ?fgmdoekgpee:((fgmdoekgpee:bbfkmccgbef) = default_bbfkmccgbef ())
  ?level:((level:int32) = 0l)
  ?apbdbeabddj:((apbdbeabddj:int32) = 0l)
  () : igfohhehkfi  = {
  fgmdoekgpee;
  level;
  apbdbeabddj;
}

let rec default_fgglkpbaipp 
  ?retcode:((retcode:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  () : fgglkpbaipp  = {
  retcode;
  reward;
}

let rec default_jakmhbhfbom 
  ?dnafdalifpp:((dnafdalifpp:int32) = 0l)
  () : jakmhbhfbom  = {
  dnafdalifpp;
}

let rec default_ojleilicgce 
  ?retcode:((retcode:int32) = 0l)
  () : ojleilicgce  = {
  retcode;
}

let rec default_optional_reward 
  ?level:((level:int32) = 0l)
  ?optional_reward_id:((optional_reward_id:int32) = 0l)
  () : optional_reward  = {
  level;
  optional_reward_id;
}

let rec default_djpcigjcohb 
  ?eeoepeflnib:((eeoepeflnib:optional_reward list) = [])
  () : djpcigjcohb  = {
  eeoepeflnib;
}

let rec default_bnndbijgjig 
  ?reward:((reward:item_list option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : bnndbijgjig  = {
  reward;
  retcode;
}

let rec default_mhghefbeklg () = (Cmd_boxing_club_type_none:mhghefbeklg)

let rec default_kjdaenekphc 
  ?avatar_id:((avatar_id:int32) = 0l)
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  () : kjdaenekphc  = {
  avatar_id;
  avatar_type;
}

let rec default_ddlbgkgfefc 
  ?gelihlenpmn:((gelihlenpmn:int32) = 0l)
  ?lcpkdabedpe:((lcpkdabedpe:kjdaenekphc list) = [])
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  ?ngibpgbbhbb:((ngibpgbbhbb:int32) = 0l)
  ?dejlogoemeb:((dejlogoemeb:int32) = 0l)
  ?avatar_list:((avatar_list:int32 list) = [])
  ?aanccmiilfi:((aanccmiilfi:int32 list) = [])
  ?jhcijabbjdd:((jhcijabbjdd:int32) = 0l)
  ?pokejdagclb:((pokejdagclb:bool) = false)
  ?hdonjgpeieg:((hdonjgpeieg:int32) = 0l)
  () : ddlbgkgfefc  = {
  gelihlenpmn;
  lcpkdabedpe;
  dcpoeimegli;
  ngibpgbbhbb;
  dejlogoemeb;
  avatar_list;
  aanccmiilfi;
  jhcijabbjdd;
  pokejdagclb;
  hdonjgpeieg;
}

let rec default_kogajoogclp = ()

let rec default_mppfhakefln 
  ?cjbdijhedpo:((cjbdijhedpo:ddlbgkgfefc list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : mppfhakefln  = {
  cjbdijhedpo;
  retcode;
}

let rec default_mlhocmdjnel 
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  ?avatar_id:((avatar_id:int32) = 0l)
  () : mlhocmdjnel  = {
  avatar_type;
  avatar_id;
}

let rec default_bjngkchibgi 
  ?avatar_list:((avatar_list:int32 list) = [])
  ?lcpkdabedpe:((lcpkdabedpe:mlhocmdjnel list) = [])
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  () : bjngkchibgi  = {
  avatar_list;
  lcpkdabedpe;
  dcpoeimegli;
}

let rec default_flaecklplkf 
  ?ocdbilliofd:((ocdbilliofd:ddlbgkgfefc option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : flaecklplkf  = {
  ocdbilliofd;
  retcode;
}

let rec default_aliciecaofg 
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  ?hdonjgpeieg:((hdonjgpeieg:int32) = 0l)
  () : aliciecaofg  = {
  dcpoeimegli;
  hdonjgpeieg;
}

let rec default_lmonebbpblj 
  ?ocdbilliofd:((ocdbilliofd:ddlbgkgfefc option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : lmonebbpblj  = {
  ocdbilliofd;
  retcode;
}

let rec default_geebeknbjna 
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  ?lcpkdabedpe:((lcpkdabedpe:mlhocmdjnel list) = [])
  () : geebeknbjna  = {
  dcpoeimegli;
  lcpkdabedpe;
}

let rec default_ekdglijkhoo 
  ?ocdbilliofd:((ocdbilliofd:ddlbgkgfefc option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : ekdglijkhoo  = {
  ocdbilliofd;
  retcode;
}

let rec default_flchghojicb 
  ?hehoaaidbbn:((hehoaaidbbn:int32) = 0l)
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  () : flchghojicb  = {
  hehoaaidbbn;
  dcpoeimegli;
}

let rec default_fookkgeekfb 
  ?retcode:((retcode:int32) = 0l)
  ?ocdbilliofd:((ocdbilliofd:ddlbgkgfefc option) = None)
  () : fookkgeekfb  = {
  retcode;
  ocdbilliofd;
}

let rec default_abdgefcecmn 
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  () : abdgefcecmn  = {
  dcpoeimegli;
}

let rec default_impmdpaofpk 
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?ibllilenejp:((ibllilenejp:scene_battle_info option) = None)
  () : impmdpaofpk  = {
  dcpoeimegli;
  retcode;
  ibllilenejp;
}

let rec default_beldnodphni 
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  ?piofaglkghg:((piofaglkghg:bool) = false)
  () : beldnodphni  = {
  dcpoeimegli;
  piofaglkghg;
}

let rec default_ahbkhblnhib 
  ?ocdbilliofd:((ocdbilliofd:ddlbgkgfefc option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : ahbkhblnhib  = {
  ocdbilliofd;
  retcode;
}

let rec default_fklbhjaoomk 
  ?reward:((reward:item_list option) = None)
  ?mmnebfbnoni:((mmnebfbnoni:bool) = false)
  ?dejlogoemeb:((dejlogoemeb:int32) = 0l)
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  () : fklbhjaoomk  = {
  reward;
  mmnebfbnoni;
  dejlogoemeb;
  dcpoeimegli;
}

let rec default_bcklddogipb 
  ?ocdbilliofd:((ocdbilliofd:ddlbgkgfefc option) = None)
  () : bcklddogipb  = {
  ocdbilliofd;
}

let rec default_jhhclhiagji () = (Cmd_challenge_type_none:jhhclhiagji)

let rec default_lhnmnaphkdg () = (Challenge_unknown:lhnmnaphkdg)

let rec default_bfkejoedman 
  ?pkkfndimmio:((pkkfndimmio:int32) = 0l)
  ?gakmanenkmh:((gakmanenkmh:int32) = 0l)
  ?mmnebfbnoni:((mmnebfbnoni:bool) = false)
  ?lkipegajnfo:((lkipegajnfo:bool) = false)
  () : bfkejoedman  = {
  pkkfndimmio;
  gakmanenkmh;
  mmnebfbnoni;
  lkipegajnfo;
}

let rec default_gohiddnlhbd 
  ?hechfpdiado:((hechfpdiado:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?rank:((rank:int32) = 0l)
  ?unique_id:((unique_id:int32) = 0l)
  ?promotion:((promotion:int32) = 0l)
  () : gohiddnlhbd  = {
  hechfpdiado;
  level;
  rank;
  unique_id;
  promotion;
}

let rec default_jkbkidbcjnc 
  ?level:((level:int32) = 0l)
  ?sub_affix_list:((sub_affix_list:relic_affix list) = [])
  ?unique_id:((unique_id:int32) = 0l)
  ?main_affix_id:((main_affix_id:int32) = 0l)
  ?hechfpdiado:((hechfpdiado:int32) = 0l)
  () : jkbkidbcjnc  = {
  level;
  sub_affix_list;
  unique_id;
  main_affix_id;
  hechfpdiado;
}

let rec default_ncjlkljhjcf 
  ?mcabmcmjjeh:((mcabmcmjjeh:(int32 * jkbkidbcjnc) list) = [])
  () : ncjlkljhjcf  = {
  mcabmcmjjeh;
}

let rec default_pofampodbff 
  ?ifpgckbegmc:((ifpgckbegmc:bfkejoedman option) = None)
  ?pkadbaodmol:((pkadbaodmol:(int32 * gohiddnlhbd) list) = [])
  ?nidhakjenjj:((nidhakjenjj:(int32 * ncjlkljhjcf) list) = [])
  ?fkieaedpfgi:((fkieaedpfgi:int32 list) = [])
  ?clmoamecein:((clmoamecein:bfkejoedman option) = None)
  ?docbgbkpbgk:((docbgbkpbgk:bool) = false)
  ?bddkedmgijc:((bddkedmgijc:int32 list) = [])
  () : pofampodbff  = {
  ifpgckbegmc;
  pkadbaodmol;
  nidhakjenjj;
  fkieaedpfgi;
  clmoamecein;
  docbgbkpbgk;
  bddkedmgijc;
}

let rec default_odmpfgdalba 
  ?mbknfpcaghc:((mbknfpcaghc:pofampodbff option) = None)
  () : odmpfgdalba  = {
  mbknfpcaghc;
}

let rec default_aelfdiclnkj 
  ?oohfncljbab:((oohfncljbab:int32) = 0l)
  ?pamafmppefi:((pamafmppefi:int32) = 0l)
  ?acjjpgnpdii:((acjjpgnpdii:bool) = false)
  ?lpgaoolbbfm:((lpgaoolbbfm:int32) = 0l)
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  ?hgmihaljjfa:((hgmihaljjfa:int32) = 0l)
  ?akfdaaaiich:((akfdaaaiich:odmpfgdalba option) = None)
  ?nnbeodpchid:((nnbeodpchid:int32) = 0l)
  () : aelfdiclnkj  = {
  oohfncljbab;
  pamafmppefi;
  acjjpgnpdii;
  lpgaoolbbfm;
  dcpoeimegli;
  hgmihaljjfa;
  akfdaaaiich;
  nnbeodpchid;
}

let rec default_gbobcmidndl 
  ?bcoonaoafoo:((bcoonaoafoo:int64) = 0L)
  ?group_id:((group_id:int32) = 0l)
  () : gbobcmidndl  = {
  bcoonaoafoo;
  group_id;
}

let rec default_dmdfdiamoak 
  ?level:((level:int32) = 0l)
  ?jplhmpiafoe:((jplhmpiafoe:int32) = 0l)
  () : dmdfdiamoak  = {
  level;
  jplhmpiafoe;
}

let rec default_kmkeciemdah = ()

let rec default_oafififjgec 
  ?retcode:((retcode:int32) = 0l)
  ?fgoeihnocab:((fgoeihnocab:int32) = 0l)
  ?kembjappmba:((kembjappmba:dmdfdiamoak list) = [])
  ?cjbdijhedpo:((cjbdijhedpo:aelfdiclnkj list) = [])
  ?bpmldkchbeg:((bpmldkchbeg:gbobcmidndl list) = [])
  () : oafififjgec  = {
  retcode;
  fgoeihnocab;
  kembjappmba;
  cjbdijhedpo;
  bpmldkchbeg;
}

let rec default_ohfljdcpecn 
  ?ifckabbiilb:((ifckabbiilb:int32) = 0l)
  ?bopehbonhll:((bopehbonhll:int32) = 0l)
  () : ohfljdcpecn  = {
  ifckabbiilb;
  bopehbonhll;
}

let rec default_oaflmpicpnm 
  ?ifckabbiilb:((ifckabbiilb:int32) = 0l)
  ?bopehbonhll:((bopehbonhll:int32) = 0l)
  () : oaflmpicpnm  = {
  ifckabbiilb;
  bopehbonhll;
}

let rec default_bhoiohjgali 
  ?ekglbfofkkd:((ekglbfofkkd:ohfljdcpecn option) = None)
  ?mbknfpcaghc:((mbknfpcaghc:oaflmpicpnm option) = None)
  () : bhoiohjgali  = {
  ekglbfofkkd;
  mbknfpcaghc;
}

let rec default_fmeoceelold 
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  ?bddkedmgijc:((bddkedmgijc:int32 list) = [])
  ?fkieaedpfgi:((fkieaedpfgi:int32 list) = [])
  ?akfdaaaiich:((akfdaaaiich:bhoiohjgali option) = None)
  () : fmeoceelold  = {
  dcpoeimegli;
  bddkedmgijc;
  fkieaedpfgi;
  akfdaaaiich;
}

let rec default_dpefjfdabmm 
  ?emkljnkkgmg:((emkljnkkgmg:int32) = 0l)
  ?monster_id:((monster_id:int32) = 0l)
  () : dpefjfdabmm  = {
  emkljnkkgmg;
  monster_id;
}

let rec default_extra_lineup_type () = (Lineup_none:extra_lineup_type)

let rec default_pmipieeojnc 
  ?buff_list:((buff_list:int32 list) = [])
  () : pmipieeojnc  = {
  buff_list;
}

let rec default_lcmlopfaobm 
  ?buff_list:((buff_list:int32 list) = [])
  ?jjnilbbbmac:((jjnilbbbmac:int32) = 0l)
  () : lcmlopfaobm  = {
  buff_list;
  jjnilbbbmac;
}

let rec default_bjfmbfoaelh 
  ?hnekacjplga:((hnekacjplga:pmipieeojnc option) = None)
  ?bhfcjdajfke:((bhfcjdajfke:lcmlopfaobm option) = None)
  () : bjfmbfoaelh  = {
  hnekacjplga;
  bhfcjdajfke;
}

let rec default_acdfcngdkhe 
  ?oohfncljbab:((oohfncljbab:int32) = 0l)
  ?gbgamckgokf:((gbgamckgokf:dpefjfdabmm list) = [])
  ?lpgaoolbbfm:((lpgaoolbbfm:int32) = 0l)
  ?extra_lineup_type:((extra_lineup_type:extra_lineup_type) = default_extra_lineup_type ())
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  ?akfdaaaiich:((akfdaaaiich:bjfmbfoaelh option) = None)
  ?lfjefbdikln:((lfjefbdikln:int32) = 0l)
  ?fphjhbmlogm:((fphjhbmlogm:int32) = 0l)
  ?status:((status:lhnmnaphkdg) = default_lhnmnaphkdg ())
  () : acdfcngdkhe  = {
  oohfncljbab;
  gbgamckgokf;
  lpgaoolbbfm;
  extra_lineup_type;
  dcpoeimegli;
  akfdaaaiich;
  lfjefbdikln;
  fphjhbmlogm;
  status;
}

let rec default_lineup_avatar 
  ?hp:((hp:int32) = 0l)
  ?satiety:((satiety:int32) = 0l)
  ?slot:((slot:int32) = 0l)
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  ?sp:((sp:sp_progress option) = None)
  ?id:((id:int32) = 0l)
  () : lineup_avatar  = {
  hp;
  satiety;
  slot;
  avatar_type;
  sp;
  id;
}

let rec default_lineup_info 
  ?njfmkhpamdl:((njfmkhpamdl:bool) = false)
  ?avatar_list:((avatar_list:lineup_avatar list) = [])
  ?lofekgfcmlc:((lofekgfcmlc:int32 list) = [])
  ?ijnpccndcgi:((ijnpccndcgi:int32) = 0l)
  ?index:((index:int32) = 0l)
  ?is_virtual:((is_virtual:bool) = false)
  ?hcoemhcfomn:((hcoemhcfomn:int32) = 0l)
  ?name:((name:string) = "")
  ?extra_lineup_type:((extra_lineup_type:extra_lineup_type) = default_extra_lineup_type ())
  ?plane_id:((plane_id:int32) = 0l)
  ?nlkmjkfhebm:((nlkmjkfhebm:int32 list) = [])
  ?kclnaimofdl:((kclnaimofdl:int32) = 0l)
  ?dfkpgckchah:((dfkpgckchah:int32 list) = [])
  ?oppienknmfb:((oppienknmfb:int32) = 0l)
  () : lineup_info  = {
  njfmkhpamdl;
  avatar_list;
  lofekgfcmlc;
  ijnpccndcgi;
  index;
  is_virtual;
  hcoemhcfomn;
  name;
  extra_lineup_type;
  plane_id;
  nlkmjkfhebm;
  kclnaimofdl;
  dfkpgckchah;
  oppienknmfb;
}

let rec default_maobdckbobc 
  ?ggjjigjjodm:((ggjjigjjodm:acdfcngdkhe option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?kbognlnlcle:((kbognlnlcle:lineup_info list) = [])
  ?scene:((scene:scene_info option) = None)
  ?akfdaaaiich:((akfdaaaiich:odmpfgdalba option) = None)
  () : maobdckbobc  = {
  ggjjigjjodm;
  retcode;
  kbognlnlcle;
  scene;
  akfdaaaiich;
}

let rec default_hacocboddac 
  ?pkkfndimmio:((pkkfndimmio:int32) = 0l)
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  ?ffobdiljlbp:((ffobdiljlbp:bool) = false)
  () : hacocboddac  = {
  pkkfndimmio;
  dcpoeimegli;
  ffobdiljlbp;
}

let rec default_jjeeompliao 
  ?lineup:((lineup:lineup_info option) = None)
  ?scene:((scene:scene_info option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?ggjjigjjodm:((ggjjigjjodm:acdfcngdkhe option) = None)
  () : jjeeompliao  = {
  lineup;
  scene;
  retcode;
  ggjjigjjodm;
}

let rec default_pfiiknkcjmf = ()

let rec default_hiajnnddmdd 
  ?retcode:((retcode:int32) = 0l)
  () : hiajnnddmdd  = {
  retcode;
}

let rec default_ldlkkfajcdc 
  ?fgoeihnocab:((fgoeihnocab:int32) = 0l)
  ?oohfncljbab:((oohfncljbab:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  ?pamafmppefi:((pamafmppefi:int32) = 0l)
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  ?mmnebfbnoni:((mmnebfbnoni:bool) = false)
  ?mlafjaohnmf:((mlafjaohnmf:int32 list) = [])
  ?oadpmnmpcjl:((oadpmnmpcjl:int32) = 0l)
  ?nfkimondhio:((nfkimondhio:dmdfdiamoak option) = None)
  () : ldlkkfajcdc  = {
  fgoeihnocab;
  oohfncljbab;
  reward;
  pamafmppefi;
  dcpoeimegli;
  mmnebfbnoni;
  mlafjaohnmf;
  oadpmnmpcjl;
  nfkimondhio;
}

let rec default_iblcoiiaigc = ()

let rec default_coiegofghdn 
  ?ggjjigjjodm:((ggjjigjjodm:acdfcngdkhe option) = None)
  ?kbognlnlcle:((kbognlnlcle:lineup_info list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : coiegofghdn  = {
  ggjjigjjodm;
  kbognlnlcle;
  retcode;
}

let rec default_lnagiibkhlh 
  ?extra_lineup_type:((extra_lineup_type:extra_lineup_type) = default_extra_lineup_type ())
  () : lnagiibkhlh  = {
  extra_lineup_type;
}

let rec default_hibdmpkciin 
  ?group_id:((group_id:int32) = 0l)
  () : hibdmpkciin  = {
  group_id;
}

let rec default_pahjkfkgbop 
  ?reward:((reward:item_list option) = None)
  ?dhlffjdmbig:((dhlffjdmbig:int32) = 0l)
  () : pahjkfkgbop  = {
  reward;
  dhlffjdmbig;
}

let rec default_lpjbamecahp 
  ?bodjegpjphj:((bodjegpjphj:pahjkfkgbop list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?group_id:((group_id:int32) = 0l)
  () : lpjbamecahp  = {
  bodjegpjphj;
  retcode;
  group_id;
}

let rec default_ehbjmdabinj 
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  ?level:((level:int32) = 0l)
  ?id:((id:int32) = 0l)
  ?index:((index:int32) = 0l)
  () : ehbjmdabinj  = {
  avatar_type;
  level;
  id;
  index;
}

let rec default_mdhdfopebgl 
  ?avatar_list:((avatar_list:ehbjmdabinj list) = [])
  () : mdhdfopebgl  = {
  avatar_list;
}

let rec default_npmodmpagii 
  ?kbognlnlcle:((kbognlnlcle:mdhdfopebgl list) = [])
  ?level:((level:int32) = 0l)
  ?lfjefbdikln:((lfjefbdikln:int32) = 0l)
  ?knbgpmdmbkc:((knbgpmdmbkc:int32) = 0l)
  () : npmodmpagii  = {
  kbognlnlcle;
  level;
  lfjefbdikln;
  knbgpmdmbkc;
}

let rec default_khjddbffahk 
  ?hgmihaljjfa:((hgmihaljjfa:int32) = 0l)
  ?pijailpolmf:((pijailpolmf:npmodmpagii option) = None)
  () : khjddbffahk  = {
  hgmihaljjfa;
  pijailpolmf;
}

let rec default_nhecleammpi 
  ?kbognlnlcle:((kbognlnlcle:mdhdfopebgl list) = [])
  ?level:((level:int32) = 0l)
  ?knbgpmdmbkc:((knbgpmdmbkc:int32) = 0l)
  ?lpgaoolbbfm:((lpgaoolbbfm:int32) = 0l)
  ?ifckabbiilb:((ifckabbiilb:int32) = 0l)
  ?bopehbonhll:((bopehbonhll:int32) = 0l)
  () : nhecleammpi  = {
  kbognlnlcle;
  level;
  knbgpmdmbkc;
  lpgaoolbbfm;
  ifckabbiilb;
  bopehbonhll;
}

let rec default_imiaeepmcje 
  ?pijailpolmf:((pijailpolmf:nhecleammpi option) = None)
  ?hgmihaljjfa:((hgmihaljjfa:int32) = 0l)
  () : imiaeepmcje  = {
  pijailpolmf;
  hgmihaljjfa;
}

let rec default_adfmfjbomfm 
  ?knbgpmdmbkc:((knbgpmdmbkc:int32) = 0l)
  ?kbognlnlcle:((kbognlnlcle:mdhdfopebgl list) = [])
  ?bopehbonhll:((bopehbonhll:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?lpgaoolbbfm:((lpgaoolbbfm:int32) = 0l)
  ?ifckabbiilb:((ifckabbiilb:int32) = 0l)
  () : adfmfjbomfm  = {
  knbgpmdmbkc;
  kbognlnlcle;
  bopehbonhll;
  level;
  lpgaoolbbfm;
  ifckabbiilb;
}

let rec default_cinndmfnbij 
  ?pijailpolmf:((pijailpolmf:adfmfjbomfm option) = None)
  ?hgmihaljjfa:((hgmihaljjfa:int32) = 0l)
  () : cinndmfnbij  = {
  pijailpolmf;
  hgmihaljjfa;
}

let rec default_mjpadlbjdhm 
  ?group_id:((group_id:int32) = 0l)
  () : mjpadlbjdhm  = {
  group_id;
}

let rec default_jilinnlgcoe 
  ?group_id:((group_id:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?icoibnhjhec:((icoibnhjhec:khjddbffahk option) = None)
  ?ckbeijmmbjp:((ckbeijmmbjp:imiaeepmcje option) = None)
  ?idcpcalknen:((idcpcalknen:cinndmfnbij option) = None)
  () : jilinnlgcoe  = {
  group_id;
  retcode;
  icoibnhjhec;
  ckbeijmmbjp;
  idcpcalknen;
}

let rec default_agacnfgjjhm = ()

let rec default_gcpmkpfgiid 
  ?retcode:((retcode:int32) = 0l)
  ?scene:((scene:scene_info option) = None)
  () : gcpmkpfgiid  = {
  retcode;
  scene;
}

let rec default_akiopjcikpi = ()

let rec default_oabnlkaifkd 
  ?scene:((scene:scene_info option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : oabnlkaifkd  = {
  scene;
  retcode;
}

let rec default_dodphlphodk 
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  ?oohfncljbab:((oohfncljbab:int32) = 0l)
  ?oadpmnmpcjl:((oadpmnmpcjl:int32) = 0l)
  ?pbiaoddhipc:((pbiaoddhipc:bool) = false)
  ?eifkjpfgipi:((eifkjpfgipi:battle_target list) = [])
  ?djemibiamha:((djemibiamha:int32) = 0l)
  ?mmnebfbnoni:((mmnebfbnoni:bool) = false)
  ?bjihmliecnf:((bjihmliecnf:bool) = false)
  ?pamafmppefi:((pamafmppefi:int32) = 0l)
  ?oilhgpfbeel:((oilhgpfbeel:int32) = 0l)
  () : dodphlphodk  = {
  dcpoeimegli;
  oohfncljbab;
  oadpmnmpcjl;
  pbiaoddhipc;
  eifkjpfgipi;
  djemibiamha;
  mmnebfbnoni;
  bjihmliecnf;
  pamafmppefi;
  oilhgpfbeel;
}

let rec default_oojihblbeip 
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  () : oojihblbeip  = {
  dcpoeimegli;
}

let rec default_gcobllmhael 
  ?pmdhhigakcp:((pmdhhigakcp:int32) = 0l)
  ?kmfboahjjhd:((kmfboahjjhd:int32) = 0l)
  ?bddkedmgijc:((bddkedmgijc:int32 list) = [])
  ?fkieaedpfgi:((fkieaedpfgi:int32 list) = [])
  () : gcobllmhael  = {
  pmdhhigakcp;
  kmfboahjjhd;
  bddkedmgijc;
  fkieaedpfgi;
}

let rec default_mfkcgfoomed 
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?bdjmhpbiaag:((bdjmhpbiaag:gcobllmhael list) = [])
  () : mfkcgfoomed  = {
  dcpoeimegli;
  retcode;
  bdjmhpbiaag;
}

let rec default_bikadnacapb () = (Cmd_chat_type_none:bikadnacapb)

let rec default_ekllejeelfk 
  ?lfpcmaihpbj:((lfpcmaihpbj:chat_type) = default_chat_type ())
  ?aelpgmailcn:((aelpgmailcn:msg_type) = default_msg_type ())
  ?fblgpmnmbcc:((fblgpmnmbcc:int32 list) = [])
  ?gpcnecedgof:((gpcnecedgof:kicjpjalbbh option) = None)
  ?jpacbjioomm:((jpacbjioomm:string) = "")
  ?ampfhonjmcd:((ampfhonjmcd:int32) = 0l)
  () : ekllejeelfk  = {
  lfpcmaihpbj;
  aelpgmailcn;
  fblgpmnmbcc;
  gpcnecedgof;
  jpacbjioomm;
  ampfhonjmcd;
}

let rec default_nhcndpbdgef 
  ?end_time:((end_time:int64) = 0L)
  ?retcode:((retcode:int32) = 0l)
  () : nhcndpbdgef  = {
  end_time;
  retcode;
}

let rec default_fdolecgmpnp 
  ?ehjdlppngmf:((ehjdlppngmf:int32) = 0l)
  ?gpcnecedgof:((gpcnecedgof:kicjpjalbbh option) = None)
  ?ekomgpknmnn:((ekomgpknmnn:string) = "")
  ?fgilieldboi:((fgilieldboi:int64) = 0L)
  ?ampfhonjmcd:((ampfhonjmcd:int32) = 0l)
  ?aelpgmailcn:((aelpgmailcn:msg_type) = default_msg_type ())
  () : fdolecgmpnp  = {
  ehjdlppngmf;
  gpcnecedgof;
  ekomgpknmnn;
  fgilieldboi;
  ampfhonjmcd;
  aelpgmailcn;
}

let rec default_ohiiebnlkpb 
  ?nlhlnacaplk:((nlhlnacaplk:int32) = 0l)
  ?jpacbjioomm:((jpacbjioomm:string) = "")
  ?ampfhonjmcd:((ampfhonjmcd:int32) = 0l)
  ?aelpgmailcn:((aelpgmailcn:msg_type) = default_msg_type ())
  ?jlddmekleop:((jlddmekleop:int32) = 0l)
  ?gpcnecedgof:((gpcnecedgof:kicjpjalbbh option) = None)
  ?lfpcmaihpbj:((lfpcmaihpbj:chat_type) = default_chat_type ())
  () : ohiiebnlkpb  = {
  nlhlnacaplk;
  jpacbjioomm;
  ampfhonjmcd;
  aelpgmailcn;
  jlddmekleop;
  gpcnecedgof;
  lfpcmaihpbj;
}

let rec default_mbghgfnkini 
  ?dbdnooapmlm:((dbdnooapmlm:int32 list) = [])
  () : mbghgfnkini  = {
  dbdnooapmlm;
}

let rec default_njgnkanbknc 
  ?hbnlpjhkkcj:((hbnlpjhkkcj:int32) = 0l)
  ?bmgnoinbocb:((bmgnoinbocb:int32) = 0l)
  () : njgnkanbknc  = {
  hbnlpjhkkcj;
  bmgnoinbocb;
}

let rec default_okbaaoadhco 
  ?hbnlpjhkkcj:((hbnlpjhkkcj:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?bmgnoinbocb:((bmgnoinbocb:int32) = 0l)
  ?pbnkofcamlc:((pbnkofcamlc:fdolecgmpnp list) = [])
  () : okbaaoadhco  = {
  hbnlpjhkkcj;
  retcode;
  bmgnoinbocb;
  pbnkofcamlc;
}

let rec default_iogcdknhcgm 
  ?hbnlpjhkkcj:((hbnlpjhkkcj:int32) = 0l)
  ?bgmailkkaki:((bgmailkkaki:int64) = 0L)
  () : iogcdknhcgm  = {
  hbnlpjhkkcj;
  bgmailkkaki;
}

let rec default_kinamnleoon = ()

let rec default_ghdebmkbflc 
  ?retcode:((retcode:int32) = 0l)
  ?cbkidlkcjcc:((cbkidlkcjcc:iogcdknhcgm list) = [])
  () : ghdebmkbflc  = {
  retcode;
  cbkidlkcjcc;
}

let rec default_pfkfollpamf = ()

let rec default_modcpiakhbc 
  ?heeeklmagdp:((heeeklmagdp:int32 list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : modcpiakhbc  = {
  heeeklmagdp;
  retcode;
}

let rec default_baoekbknfkb 
  ?mkbgjbobhal:((mkbgjbobhal:bool) = false)
  ?ampfhonjmcd:((ampfhonjmcd:int32) = 0l)
  () : baoekbknfkb  = {
  mkbgjbobhal;
  ampfhonjmcd;
}

let rec default_gbjplhlkclc 
  ?mkbgjbobhal:((mkbgjbobhal:bool) = false)
  ?ampfhonjmcd:((ampfhonjmcd:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : gbjplhlkclc  = {
  mkbgjbobhal;
  ampfhonjmcd;
  retcode;
}

let rec default_bafalbdiboe 
  ?iilhhecoogb:((iilhhecoogb:int32 list) = [])
  () : bafalbdiboe  = {
  iilhhecoogb;
}

let rec default_hghnaejjjgj 
  ?iilhhecoogb:((iilhhecoogb:int32 list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : hghnaejjjgj  = {
  iilhhecoogb;
  retcode;
}

let rec default_lghifpmgaic = ()

let rec default_mdmbaangnpa 
  ?retcode:((retcode:int32) = 0l)
  ?dbdnooapmlm:((dbdnooapmlm:int32 list) = [])
  () : mdmbaangnpa  = {
  retcode;
  dbdnooapmlm;
}

let rec default_lchfohebiak () = (Cmd_chess_rogue_type_none:lchfohebiak)

let rec default_ffcjbkjenjp () = (Chess_rogue_dice_idle:ffcjbkjenjp)

let rec default_omlpnkhdeog () = (Chess_rogue_dice_fixed:omlpnkhdeog)

let rec default_mknnebnfbej () = (Idle:mknnebnfbej)

let rec default_idpjmbnedeg () = (Chess_rogue_cell_special_type_none:idpjmbnedeg)

let rec default_kebkmnaehol () = (Chess_rogue_level_idle:kebkmnaehol)

let rec default_pkkjdbmkgck () = (Chess_rogue_account_by_none:pkkjdbmkgck)

let rec default_eclempbnebp () = (Chess_rogue_buff_source_type_none:eclempbnebp)

let rec default_lemalifjabi () = (Chess_rogue_miracle_source_type_none:lemalifjabi)

let rec default_mmfnjjmglfd () = (Chess_rogue_update_level_status_by_none:mmfnjjmglfd)

let rec default_alapdfpdlno () = (Chess_rogue_cell_update_reason_none:alapdfpdlno)

let rec default_hgnglmloloa () = (Chess_rogue_aeon_type_none:hgnglmloloa)

let rec default_homhlopfphc () = (Chess_rogue_dice_source_type_none:homhlopfphc)

let rec default_emeefgmahof () = (Chess_rogue_nous_main_story_status_none:emeefgmahof)

let rec default_cieanjnnbbg () = (None:cieanjnnbbg)

let rec default_micfnaphmnb 
  ?joipnmmehbm:((joipnmmehbm:item_cost_data option) = None)
  () : micfnaphmnb  = {
  joipnmmehbm;
}

let rec default_hefgcbjdeem 
  ?scene:((scene:scene_info option) = None)
  ?lineup:((lineup:lineup_info option) = None)
  () : hefgcbjdeem  = {
  scene;
  lineup;
}

let rec default_memfcodlioa 
  ?id:((id:int32) = 0l)
  ?glkbddbdebh:((glkbddbdebh:int32 list) = [])
  () : memfcodlioa  = {
  id;
  glkbddbdebh;
}

let rec default_nidknnfjgmp 
  ?mojaejmnmge:((mojaejmnmge:memfcodlioa list) = [])
  () : nidknnfjgmp  = {
  mojaejmnmge;
}

let rec default_idlkgpjlfhc () = (Rogue_modifier_source_none:idlkgpjlfhc)

let rec default_oeafacbejbl () = (Rogue_modifier_content_definite:oeafacbejbl)

let rec default_mehpamalhjm 
  ?gmdlifibdfc:((gmdlifibdfc:int32) = 0l)
  ?gahohjkfkek:((gahohjkfkek:oeafacbejbl) = default_oeafacbejbl ())
  ?pelegneejne:((pelegneejne:int32) = 0l)
  () : mehpamalhjm  = {
  gmdlifibdfc;
  gahohjkfkek;
  pelegneejne;
}

let rec default_fbpkclgkmha 
  ?mecjmchknde:((mecjmchknde:bool) = false)
  ?ppahjhccgea:((ppahjhccgea:int32 list) = [])
  ?adnplkibhog:((adnplkibhog:int32) = 0l)
  () : fbpkclgkmha  = {
  mecjmchknde;
  ppahjhccgea;
  adnplkibhog;
}

let rec default_gflokgogjgh 
  ?cbjpfggchfh:((cbjpfggchfh:idlkgpjlfhc) = default_idlkgpjlfhc ())
  ?golcnjkeoic:((golcnjkeoic:mehpamalhjm option) = None)
  ?ddgkfgjdgeb:((ddgkfgjdgeb:int64) = 0L)
  ?hhckdkhoecn:((hhckdkhoecn:fbpkclgkmha option) = None)
  () : gflokgogjgh  = {
  cbjpfggchfh;
  golcnjkeoic;
  ddgkfgjdgeb;
  hhckdkhoecn;
}

let rec default_bakpidleifi 
  ?depmnmgkeag:((depmnmgkeag:gflokgogjgh list) = [])
  () : bakpidleifi  = {
  depmnmgkeag;
}

let rec default_gbfffjngdfj 
  ?fnhpplpmjcn:((fnhpplpmjcn:int32) = 0l)
  ?dcipfijnhoi:((dcipfijnhoi:int32) = 0l)
  () : gbfffjngdfj  = {
  fnhpplpmjcn;
  dcipfijnhoi;
}

let rec default_dcbalomaani 
  ?ddkgbmlkdkk:((ddkgbmlkdkk:int32) = 0l)
  ?lhigmcoilgo:((lhigmcoilgo:int32) = 0l)
  ?nddbnbipbon:((nddbnbipbon:int32) = 0l)
  ?pdfpgbmampk:((pdfpgbmampk:gbfffjngdfj list) = [])
  () : dcbalomaani  = {
  ddkgbmlkdkk;
  lhigmcoilgo;
  nddbnbipbon;
  pdfpgbmampk;
}

let rec default_jhogcidfaoc 
  ?aneolijdglc:((aneolijdglc:int32) = 0l)
  ?kbiicjjlpnd:((kbiicjjlpnd:bool) = false)
  ?djaocncjcoa:((djaocncjcoa:gflokgogjgh option) = None)
  ?iojokhhnnaf:((iojokhhnnaf:int32) = 0l)
  ?pmngenljclp:((pmngenljclp:bakpidleifi option) = None)
  ?cbplaahapne:((cbplaahapne:int32 list) = [])
  ?haccokolmcb:((haccokolmcb:int32) = 0l)
  ?pefeejkjmko:((pefeejkjmko:int32) = 0l)
  ?lgjapibjhec:((lgjapibjhec:int32) = 0l)
  ?dicpimdppco:((dicpimdppco:dcbalomaani option) = None)
  ?jheghpmkabh:((jheghpmkabh:bool) = false)
  ?ddgbdajebji:((ddgbdajebji:int32) = 0l)
  ?bbcjfajjbof:((bbcjfajjbof:int32) = 0l)
  ?jinmpgfgcbc:((jinmpgfgcbc:int32) = 0l)
  ?lkbimfkbocp:((lkbimfkbocp:omlpnkhdeog) = default_omlpnkhdeog ())
  ?gllfonoipoc:((gllfonoipoc:ffcjbkjenjp) = default_ffcjbkjenjp ())
  ?ddfbfpoeima:((ddfbfpoeima:int32) = 0l)
  () : jhogcidfaoc  = {
  aneolijdglc;
  kbiicjjlpnd;
  djaocncjcoa;
  iojokhhnnaf;
  pmngenljclp;
  cbplaahapne;
  haccokolmcb;
  pefeejkjmko;
  lgjapibjhec;
  dicpimdppco;
  jheghpmkabh;
  ddgbdajebji;
  bbcjfajjbof;
  jinmpgfgcbc;
  lkbimfkbocp;
  gllfonoipoc;
  ddfbfpoeima;
}

let rec default_mgdjkjeikif 
  ?aoecepofobe:((aoecepofobe:int32) = 0l)
  () : mgdjkjeikif  = {
  aoecepofobe;
}

let rec default_jgialipdago 
  ?emmkiajfeeh:((emmkiajfeeh:jhogcidfaoc option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?ffcidfndcij:((ffcidfndcij:int32) = 0l)
  () : jgialipdago  = {
  emmkiajfeeh;
  retcode;
  ffcidfndcij;
}

let rec default_gapcdcdlhao 
  ?pbonhgdihdk:((pbonhgdihdk:int32) = 0l)
  () : gapcdcdlhao  = {
  pbonhgdihdk;
}

let rec default_njnoikdeemg 
  ?retcode:((retcode:int32) = 0l)
  ?pbonhgdihdk:((pbonhgdihdk:int32) = 0l)
  () : njnoikdeemg  = {
  retcode;
  pbonhgdihdk;
}

let rec default_aljedjonndl 
  ?monster_id:((monster_id:int32) = 0l)
  ?mepjekicoob:((mepjekicoob:int32) = 0l)
  () : aljedjonndl  = {
  monster_id;
  mepjekicoob;
}

let rec default_pifejklcgii 
  ?kjigdihdnaj:((kjigdihdnaj:int32) = 0l)
  ?mecjmchknde:((mecjmchknde:bool) = false)
  ?jlpgaheinlb:((jlpgaheinlb:aljedjonndl list) = [])
  () : pifejklcgii  = {
  kjigdihdnaj;
  mecjmchknde;
  jlpgaheinlb;
}

let rec default_ppdhjomdhpg 
  ?nehaljheool:((nehaljheool:int32 list) = [])
  ?kdmnfdglfij:((kdmnfdglfij:int32 list) = [])
  () : ppdhjomdhpg  = {
  nehaljheool;
  kdmnfdglfij;
}

let rec default_dfompdgfppa 
  ?jpblhpkdnff:((jpblhpkdnff:pifejklcgii option) = None)
  ?fhkibjkjnjf:((fhkibjkjnjf:ppdhjomdhpg option) = None)
  () : dfompdgfppa  = {
  jpblhpkdnff;
  fhkibjkjnjf;
}

let rec default_kkjhocdnhpk 
  ?jpblhpkdnff:((jpblhpkdnff:pifejklcgii option) = None)
  ?fhkibjkjnjf:((fhkibjkjnjf:ppdhjomdhpg option) = None)
  ?ogicojhhcnf:((ogicojhhcnf:dfompdgfppa option) = None)
  () : kkjhocdnhpk  = {
  jpblhpkdnff;
  fhkibjkjnjf;
  ogicojhhcnf;
}

let rec default_fffkbmhfeed 
  ?mfdelanaicp:((mfdelanaicp:int32) = 0l)
  ?khdgocghkea:((khdgocghkea:int32 list) = [])
  ?mmpflgiclpa:((mmpflgiclpa:int32) = 0l)
  ?fipmfocjcgm:((fipmfocjcgm:int32) = 0l)
  ?akfdaaaiich:((akfdaaaiich:kkjhocdnhpk option) = None)
  ?id:((id:int32) = 0l)
  ?mkpjijjipfe:((mkpjijjipfe:idpjmbnedeg) = default_idpjmbnedeg ())
  ?pgnccoldebp:((pgnccoldebp:int32) = 0l)
  ?gmchjnfpjdm:((gmchjnfpjdm:mknnebnfbej) = default_mknnebnfbej ())
  ?ddlinaajdoh:((ddlinaajdoh:bool) = false)
  ?dnmhgkbcinm:((dnmhgkbcinm:bool) = false)
  ?opooflefkol:((opooflefkol:int32) = 0l)
  () : fffkbmhfeed  = {
  mfdelanaicp;
  khdgocghkea;
  mmpflgiclpa;
  fipmfocjcgm;
  akfdaaaiich;
  id;
  mkpjijjipfe;
  pgnccoldebp;
  gmchjnfpjdm;
  ddlinaajdoh;
  dnmhgkbcinm;
  opooflefkol;
}

let rec default_fdkhifelmcd 
  ?gfphfakjiip:((gfphfakjiip:int32) = 0l)
  ?hdkkdjobple:((hdkkdjobple:fffkbmhfeed list) = [])
  ?kjfpfijkmic:((kjfpfijkmic:int32) = 0l)
  ?pbegapcffcg:((pbegapcffcg:int32) = 0l)
  ?kgphiiiehfj:((kgphiiiehfj:int32) = 0l)
  () : fdkhifelmcd  = {
  gfphfakjiip;
  hdkkdjobple;
  kjfpfijkmic;
  pbegapcffcg;
  kgphiiiehfj;
}

let rec default_dogofabhmnk 
  ?mfdelanaicp:((mfdelanaicp:int32) = 0l)
  ?pbonhgdihdk:((pbonhgdihdk:int32) = 0l)
  () : dogofabhmnk  = {
  mfdelanaicp;
  pbonhgdihdk;
}

let rec default_kkcpdacdmkm 
  ?jjfopmclfgp:((jjfopmclfgp:bakpidleifi option) = None)
  ?odbonchifmm:((odbonchifmm:int32) = 0l)
  () : kkcpdacdmkm  = {
  jjfopmclfgp;
  odbonchifmm;
}

let rec default_iegahkdghjc 
  ?acdpcbenidp:((acdpcbenidp:dogofabhmnk list) = [])
  ?ffkkpmlkkcc:((ffkkpmlkkcc:int32) = 0l)
  ?bgdnnmcklaf:((bgdnnmcklaf:mknnebnfbej) = default_mknnebnfbej ())
  ?pondjadjphm:((pondjadjphm:kkcpdacdmkm option) = None)
  ?jhbiihbamfp:((jhbiihbamfp:fdkhifelmcd option) = None)
  ?jaeaoepglog:((jaeaoepglog:int32) = 0l)
  ?lahdpgmdloa:((lahdpgmdloa:int32 list) = [])
  () : iegahkdghjc  = {
  acdpcbenidp;
  ffkkpmlkkcc;
  bgdnnmcklaf;
  pondjadjphm;
  jhbiihbamfp;
  jaeaoepglog;
  lahdpgmdloa;
}

let rec default_bincokigfgm 
  ?id:((id:int32) = 0l)
  ?jpjmfomlibc:((jpjmfomlibc:int32) = 0l)
  ?onlcphdmmpm:((onlcphdmmpm:iegahkdghjc option) = None)
  ?glkcbfpeijb:((glkcbfpeijb:int32) = 0l)
  ?palokcoicgp:((palokcoicgp:int32) = 0l)
  ?mknhgcengfk:((mknhgcengfk:int32) = 0l)
  ?meoekcpafch:((meoekcpafch:int32 list) = [])
  ?kdkdheomlmo:((kdkdheomlmo:int32) = 0l)
  ?pcpganjlmml:((pcpganjlmml:int32 list) = [])
  () : bincokigfgm  = {
  id;
  jpjmfomlibc;
  onlcphdmmpm;
  glkcbfpeijb;
  palokcoicgp;
  mknhgcengfk;
  meoekcpafch;
  kdkdheomlmo;
  pcpganjlmml;
}

let rec default_gnhfgpglbae 
  ?bajeglndfpe:((bajeglndfpe:int32) = 0l)
  ?opmjfaoockc:((opmjfaoockc:int32) = 0l)
  () : gnhfgpglbae  = {
  bajeglndfpe;
  opmjfaoockc;
}

let rec default_lafgnipaikl 
  ?emoohedjinn:((emoohedjinn:gnhfgpglbae list) = [])
  () : lafgnipaikl  = {
  emoohedjinn;
}

let rec default_lhakogbpaen 
  ?hbjejpcphbf:((hbjejpcphbf:int32 list) = [])
  ?agndiegkeih:((agndiegkeih:int32) = 0l)
  ?pncgddoigad:((pncgddoigad:lafgnipaikl option) = None)
  ?onlljjegjdc:((onlljjegjdc:int32) = 0l)
  ?jjfopmclfgp:((jjfopmclfgp:bakpidleifi option) = None)
  () : lhakogbpaen  = {
  hbjejpcphbf;
  agndiegkeih;
  pncgddoigad;
  onlljjegjdc;
  jjfopmclfgp;
}

let rec default_eapcpnbdbbg 
  ?avatar_id:((avatar_id:int32) = 0l)
  ?mfionjgelel:((mfionjgelel:int32) = 0l)
  () : eapcpnbdbbg  = {
  avatar_id;
  mfionjgelel;
}

let rec default_ccohodejlfe 
  ?boijkbofiid:((boijkbofiid:micfnaphmnb option) = None)
  ?njmnddboopd:((njmnddboopd:eapcpnbdbbg list) = [])
  () : ccohodejlfe  = {
  boijkbofiid;
  njmnddboopd;
}

let rec default_cndojeanndh 
  ?dajmkddckgh:((dajmkddckgh:int32) = 0l)
  ?hholaeabopa:((hholaeabopa:bool) = false)
  ?ghmkcfhnejp:((ghmkcfhnejp:int32 list) = [])
  ?jbjjpnlonkm:((jbjjpnlonkm:int32) = 0l)
  () : cndojeanndh  = {
  dajmkddckgh;
  hholaeabopa;
  ghmkcfhnejp;
  jbjjpnlonkm;
}

let rec default_jkggceplagl 
  ?ljbbdccelmh:((ljbbdccelmh:int32) = 0l)
  () : jkggceplagl  = {
  ljbbdccelmh;
}

let rec default_ahdfkbajdlh 
  ?ikddpmdgcaj:((ikddpmdgcaj:int32 list) = [])
  () : ahdfkbajdlh  = {
  ikddpmdgcaj;
}

let rec default_hbdomioniba () = (Rogue_common_buff_select_source_type_none:hbdomioniba)

let rec default_mnicidbdjfi 
  ?pkkfndimmio:((pkkfndimmio:int32) = 0l)
  ?kehnfboaaig:((kehnfboaaig:int32) = 0l)
  () : mnicidbdjfi  = {
  pkkfndimmio;
  kehnfboaaig;
}

let rec default_rogue_common_buff_select_info 
  ?roll_buff_cost_data:((roll_buff_cost_data:item_cost_data option) = None)
  ?source_type:((source_type:hbdomioniba) = default_hbdomioniba ())
  ?handbook_unlock_buff_id_list:((handbook_unlock_buff_id_list:int32 list) = [])
  ?certain_select_buff_id:((certain_select_buff_id:int32) = 0l)
  ?select_buff_list:((select_buff_list:mnicidbdjfi list) = [])
  ?source_hint_id:((source_hint_id:int32) = 0l)
  ?roll_buff_max_count:((roll_buff_max_count:int32) = 0l)
  ?roll_buff_free_count:((roll_buff_free_count:int32) = 0l)
  ?first_buff_type_list:((first_buff_type_list:int32 list) = [])
  ?can_roll:((can_roll:bool) = false)
  ?roll_buff_count:((roll_buff_count:int32) = 0l)
  ?source_total_count:((source_total_count:int32) = 0l)
  ?source_cur_count:((source_cur_count:int32) = 0l)
  () : rogue_common_buff_select_info  = {
  roll_buff_cost_data;
  source_type;
  handbook_unlock_buff_id_list;
  certain_select_buff_id;
  select_buff_list;
  source_hint_id;
  roll_buff_max_count;
  roll_buff_free_count;
  first_buff_type_list;
  can_roll;
  roll_buff_count;
  source_total_count;
  source_cur_count;
}

let rec default_jgloggkpeip 
  ?ckmcdophoho:((ckmcdophoho:mnicidbdjfi list) = [])
  ?comnknfemfn:((comnknfemfn:int32) = 0l)
  () : jgloggkpeip  = {
  ckmcdophoho;
  comnknfemfn;
}

let rec default_mmgfijkgejd 
  ?comnknfemfn:((comnknfemfn:int32) = 0l)
  ?ongocpjbeem:((ongocpjbeem:mnicidbdjfi list) = [])
  () : mmgfijkgejd  = {
  comnknfemfn;
  ongocpjbeem;
}

let rec default_lhjijndbjll 
  ?comnknfemfn:((comnknfemfn:int32) = 0l)
  ?jcmhmpmbhko:((jcmhmpmbhko:mnicidbdjfi list) = [])
  () : lhjijndbjll  = {
  comnknfemfn;
  jcmhmpmbhko;
}

let rec default_ldklmcljplk 
  ?bhpcnblomnh:((bhpcnblomnh:int32 list) = [])
  ?comnknfemfn:((comnknfemfn:int32) = 0l)
  ?ohmlalbookj:((ohmlalbookj:int32 list) = [])
  () : ldklmcljplk  = {
  bhpcnblomnh;
  comnknfemfn;
  ohmlalbookj;
}

let rec default_blplkibhiok 
  ?ccdkldffekl:((ccdkldffekl:int32 list) = [])
  () : blplkibhiok  = {
  ccdkldffekl;
}

let rec default_gbhdggdnlon 
  ?hfmibieahhl:((hfmibieahhl:int32 list) = [])
  ?comnknfemfn:((comnknfemfn:int32) = 0l)
  () : gbhdggdnlon  = {
  hfmibieahhl;
  comnknfemfn;
}

let rec default_bbdkccjfpbe 
  ?mkllbpebdjd:((mkllbpebdjd:int32 list) = [])
  ?comnknfemfn:((comnknfemfn:int32) = 0l)
  () : bbdkccjfpbe  = {
  mkllbpebdjd;
  comnknfemfn;
}

let rec default_mgpnfkhlcpi 
  ?jpjjnfckpld:((jpjjnfckpld:int32 list) = [])
  ?comnknfemfn:((comnknfemfn:int32) = 0l)
  () : mgpnfkhlcpi  = {
  jpjjnfckpld;
  comnknfemfn;
}

let rec default_ojnhhgmefgn 
  ?bogobbncjbf:((bogobbncjbf:int32 list) = [])
  ?comnknfemfn:((comnknfemfn:int32) = 0l)
  () : ojnhhgmefgn  = {
  bogobbncjbf;
  comnknfemfn;
}

let rec default_ddbdnlhnole 
  ?oeeeagkklng:((oeeeagkklng:int32 list) = [])
  ?comnknfemfn:((comnknfemfn:int32) = 0l)
  () : ddbdnlhnole  = {
  oeeeagkklng;
  comnknfemfn;
}

let rec default_jlaoekngjoc 
  ?comnknfemfn:((comnknfemfn:int32) = 0l)
  ?oeeeagkklng:((oeeeagkklng:int32 list) = [])
  () : jlaoekngjoc  = {
  comnknfemfn;
  oeeeagkklng;
}

let rec default_lnedlmmamac 
  ?ofaekfangcn:((ofaekfangcn:int32 list) = [])
  () : lnedlmmamac  = {
  ofaekfangcn;
}

let rec default_rogue_formula_select_info 
  ?roll_formula_cost_data:((roll_formula_cost_data:item_cost_data option) = None)
  ?handbook_unlock_formula_id_list:((handbook_unlock_formula_id_list:int32 list) = [])
  ?hint_id:((hint_id:int32) = 0l)
  ?select_formula_id_list:((select_formula_id_list:int32 list) = [])
  ?roll_formula_count:((roll_formula_count:int32) = 0l)
  ?can_roll:((can_roll:bool) = false)
  ?roll_formula_max_count:((roll_formula_max_count:int32) = 0l)
  ?roll_formula_free_count:((roll_formula_free_count:int32) = 0l)
  () : rogue_formula_select_info  = {
  roll_formula_cost_data;
  handbook_unlock_formula_id_list;
  hint_id;
  select_formula_id_list;
  roll_formula_count;
  can_roll;
  roll_formula_max_count;
  roll_formula_free_count;
}

let rec default_dooghjmkiea 
  ?comnknfemfn:((comnknfemfn:int32) = 0l)
  ?nmjpafphfam:((nmjpafphfam:int32 list) = [])
  () : dooghjmkiea  = {
  comnknfemfn;
  nmjpafphfam;
}

let rec default_pgpcmncmpin 
  ?hfdfkfjfdbb:((hfdfkfjfdbb:rogue_formula_select_info option) = None)
  () : pgpcmncmpin  = {
  hfdfkfjfdbb;
}

let rec default_eecmgimpdba 
  ?alalgchdbdp:((alalgchdbdp:rogue_common_buff_select_info option) = None)
  ?khfkakikamk:((khfkakikamk:jgloggkpeip option) = None)
  ?oigahiohcch:((oigahiohcch:mmgfijkgejd option) = None)
  ?okjbmkmmcej:((okjbmkmmcej:lhjijndbjll option) = None)
  ?fndnbjlkdon:((fndnbjlkdon:ldklmcljplk option) = None)
  ?hnokaicpikf:((hnokaicpikf:blplkibhiok option) = None)
  ?hcjcjnogaia:((hcjcjnogaia:gbhdggdnlon option) = None)
  ?lejeajjleoh:((lejeajjleoh:bbdkccjfpbe option) = None)
  ?gkjfkoimngd:((gkjfkoimngd:mgpnfkhlcpi option) = None)
  ?agdfeodfcid:((agdfeodfcid:ojnhhgmefgn option) = None)
  ?khjkncfhbgm:((khjkncfhbgm:ddbdnlhnole option) = None)
  ?kckdiphlhfm:((kckdiphlhfm:jlaoekngjoc option) = None)
  ?gcflbbikckf:((gcflbbikckf:lnedlmmamac option) = None)
  ?hfdfkfjfdbb:((hfdfkfjfdbb:rogue_formula_select_info option) = None)
  ?jkgbadmlbcf:((jkgbadmlbcf:dooghjmkiea option) = None)
  ?bmphbiefmbf:((bmphbiefmbf:pgpcmncmpin option) = None)
  () : eecmgimpdba  = {
  alalgchdbdp;
  khfkakikamk;
  oigahiohcch;
  okjbmkmmcej;
  fndnbjlkdon;
  hnokaicpikf;
  hcjcjnogaia;
  lejeajjleoh;
  gkjfkoimngd;
  agdfeodfcid;
  khjkncfhbgm;
  kckdiphlhfm;
  gcflbbikckf;
  hfdfkfjfdbb;
  jkgbadmlbcf;
  bmphbiefmbf;
}

let rec default_blhhnmhcodp 
  ?ocnjbebhbgo:((ocnjbebhbgo:int32) = 0l)
  ?mkgoabedjeh:((mkgoabedjeh:eecmgimpdba option) = None)
  () : blhhnmhcodp  = {
  ocnjbebhbgo;
  mkgoabedjeh;
}

let rec default_dkmldddplbi 
  ?fdfgpknlkag:((fdfgpknlkag:int32 list) = [])
  ?pdklekppbkf:((pdklekppbkf:int32) = 0l)
  ?gjdghpkgkga:((gjdghpkgkga:bool) = false)
  ?hholaeabopa:((hholaeabopa:bool) = false)
  ?jgiplhnepil:((jgiplhnepil:int32 list) = [])
  ?jokigggoefl:((jokigggoefl:int32) = 0l)
  ?khbgofeemkc:((khbgofeemkc:int32) = 0l)
  ?nfdcfmgbflc:((nfdcfmgbflc:int32 list) = [])
  () : dkmldddplbi  = {
  fdfgpknlkag;
  pdklekppbkf;
  gjdghpkgkga;
  hholaeabopa;
  jgiplhnepil;
  jokigggoefl;
  khbgofeemkc;
  nfdcfmgbflc;
}

let rec default_eijagapkfad 
  ?buff_list:((buff_list:mnicidbdjfi list) = [])
  () : eijagapkfad  = {
  buff_list;
}

let rec default_oobhdlegikm 
  ?fanjaobchcg:((fanjaobchcg:eijagapkfad option) = None)
  () : oobhdlegikm  = {
  fanjaobchcg;
}

let rec default_djpaibjmmoe 
  ?edcaibmdknh:((edcaibmdknh:(int32 * int32) list) = [])
  ?ichkjnfaacl:((ichkjnfaacl:int32) = 0l)
  ?fomcmdmpdcg:((fomcmdmpdcg:int32) = 0l)
  ?ekieijdbdhm:((ekieijdbdhm:int32) = 0l)
  () : djpaibjmmoe  = {
  edcaibmdknh;
  ichkjnfaacl;
  fomcmdmpdcg;
  ekieijdbdhm;
}

let rec default_hpphifdfjjj 
  ?pcpkkbfpbeb:((pcpkkbfpbeb:djpaibjmmoe list) = [])
  () : hpphifdfjjj  = {
  pcpkkbfpbeb;
}

let rec default_cgcbkhnbohm 
  ?gkfjbgdelik:((gkfjbgdelik:hpphifdfjjj option) = None)
  () : cgcbkhnbohm  = {
  gkfjbgdelik;
}

let rec default_cllnjecndkl 
  ?phfgnlopnbm:((phfgnlopnbm:(int32 * int32) list) = [])
  () : cllnjecndkl  = {
  phfgnlopnbm;
}

let rec default_fpilmpnpiel 
  ?agndiegkeih:((agndiegkeih:int32) = 0l)
  ?jjfopmclfgp:((jjfopmclfgp:bakpidleifi option) = None)
  ?onlljjegjdc:((onlljjegjdc:int32) = 0l)
  () : fpilmpnpiel  = {
  agndiegkeih;
  jjfopmclfgp;
  onlljjegjdc;
}

let rec default_eamfankbgkd 
  ?ikddpmdgcaj:((ikddpmdgcaj:int32 list) = [])
  () : eamfankbgkd  = {
  ikddpmdgcaj;
}

let rec default_jlgejhomcin 
  ?pfmlckgckob:((pfmlckgckob:int32) = 0l)
  ?fdjjjhbladf:((fdjjjhbladf:int32) = 0l)
  () : jlgejhomcin  = {
  pfmlckgckob;
  fdjjjhbladf;
}

let rec default_iejadeeklgn 
  ?hhcboafecgp:((hhcboafecgp:jlgejhomcin list) = [])
  ?jfacjfdkeio:((jfacjfdkeio:bool) = false)
  ?bgecmdbfigi:((bgecmdbfigi:int32) = 0l)
  () : iejadeeklgn  = {
  hhcboafecgp;
  jfacjfdkeio;
  bgecmdbfigi;
}

let rec default_pmdmaockcjp 
  ?amiiemieofe:((amiiemieofe:(int32 * int32) list) = [])
  () : pmdmaockcjp  = {
  amiiemieofe;
}

let rec default_hhddmdcflml 
  ?joogimckeph:((joogimckeph:iejadeeklgn list) = [])
  ?haggkfjeckg:((haggkfjeckg:pmdmaockcjp option) = None)
  () : hhddmdcflml  = {
  joogimckeph;
  haggkfjeckg;
}

let rec default_mbokaahegfk 
  ?diclgegabnh:((diclgegabnh:(int32 * bool) list) = [])
  () : mbokaahegfk  = {
  diclgegabnh;
}

let rec default_dmdkacfejli 
  ?avatar_id_list:((avatar_id_list:int32 list) = [])
  ?joipnmmehbm:((joipnmmehbm:item_cost_data option) = None)
  () : dmdkacfejli  = {
  avatar_id_list;
  joipnmmehbm;
}

let rec default_cbgphimaond 
  ?pogejanpebj:((pogejanpebj:oobhdlegikm option) = None)
  ?pmoenkofnla:((pmoenkofnla:cgcbkhnbohm option) = None)
  ?oachfpajdbo:((oachfpajdbo:cllnjecndkl option) = None)
  ?kjicoehehhk:((kjicoehehhk:fpilmpnpiel option) = None)
  ?gjbcapfdgka:((gjbcapfdgka:eamfankbgkd option) = None)
  ?kiomcdghhlo:((kiomcdghhlo:hhddmdcflml option) = None)
  ?aggmbfmaepl:((aggmbfmaepl:mbokaahegfk option) = None)
  ?nnibggkcbdj:((nnibggkcbdj:dmdkacfejli option) = None)
  () : cbgphimaond  = {
  pogejanpebj;
  pmoenkofnla;
  oachfpajdbo;
  kjicoehehhk;
  gjbcapfdgka;
  kiomcdghhlo;
  aggmbfmaepl;
  nnibggkcbdj;
}

let rec default_pdoifoocoll 
  ?mdnnnihndjk:((mdnnnihndjk:int32) = 0l)
  () : pdoifoocoll  = {
  mdnnnihndjk;
}

let rec default_glbffhmcbkd 
  ?ljfkbkphogc:((ljfkbkphogc:int32) = 0l)
  ?echifpahiec:((echifpahiec:int32) = 0l)
  ?njfgdmkikpb:((njfgdmkikpb:int32) = 0l)
  ?ipoaoopkgla:((ipoaoopkgla:int32) = 0l)
  () : glbffhmcbkd  = {
  ljfkbkphogc;
  echifpahiec;
  njfgdmkikpb;
  ipoaoopkgla;
}

let rec default_jcldbblbapn 
  ?ehkdpkipimp:((ehkdpkipimp:jkggceplagl option) = None)
  ?lfleifodebe:((lfleifodebe:blhhnmhcodp option) = None)
  ?ekglbfofkkd:((ekglbfofkkd:cndojeanndh option) = None)
  ?nnibggkcbdj:((nnibggkcbdj:ccohodejlfe option) = None)
  ?finbdgjedjo:((finbdgjedjo:dkmldddplbi option) = None)
  ?fhpollcfknc:((fhpollcfknc:int32) = 0l)
  ?hifokbodgbe:((hifokbodgbe:cbgphimaond list) = [])
  ?lickecpakcj:((lickecpakcj:bincokigfgm option) = None)
  ?gjbcapfdgka:((gjbcapfdgka:ahdfkbajdlh option) = None)
  ?pmoenkofnla:((pmoenkofnla:cgcbkhnbohm option) = None)
  ?pogejanpebj:((pogejanpebj:oobhdlegikm option) = None)
  ?dgohjiekiai:((dgohjiekiai:pdoifoocoll option) = None)
  ?kjicoehehhk:((kjicoehehhk:lhakogbpaen option) = None)
  ?ocjhnoaacgc:((ocjhnoaacgc:glbffhmcbkd option) = None)
  ?emmkiajfeeh:((emmkiajfeeh:jhogcidfaoc option) = None)
  () : jcldbblbapn  = {
  ehkdpkipimp;
  lfleifodebe;
  ekglbfofkkd;
  nnibggkcbdj;
  finbdgjedjo;
  fhpollcfknc;
  hifokbodgbe;
  lickecpakcj;
  gjbcapfdgka;
  pmoenkofnla;
  pogejanpebj;
  dgohjiekiai;
  kjicoehehhk;
  ocjhnoaacgc;
  emmkiajfeeh;
}

let rec default_jjablbdmgfj 
  ?fbgcbokaopf:((fbgcbokaopf:cieanjnnbbg) = default_cieanjnnbbg ())
  ?pefldkdahmf:((pefldkdahmf:int32 list) = [])
  ?kcmmhoijgbh:((kcmmhoijgbh:dcbalomaani list) = [])
  ?dgpfcmkpkii:((dgpfcmkpkii:(int32 * bool) list) = [])
  () : jjablbdmgfj  = {
  fbgcbokaopf;
  pefldkdahmf;
  kcmmhoijgbh;
  dgpfcmkpkii;
}

let rec default_dbecpakjhjj 
  ?bimildojagm:((bimildojagm:int32 list) = [])
  () : dbecpakjhjj  = {
  bimildojagm;
}

let rec default_rogue_unlock_progress 
  ?unlock_id:((unlock_id:int32) = 0l)
  ?progress:((progress:int32) = 0l)
  ?finish:((finish:bool) = false)
  () : rogue_unlock_progress  = {
  unlock_id;
  progress;
  finish;
}

let rec default_oimmmlnoicd () = (Rogue_talent_status_lock:oimmmlnoicd)

let rec default_johbdbffgje 
  ?happnefcgoc:((happnefcgoc:rogue_unlock_progress list) = [])
  ?hehehnicpjn:((hehehnicpjn:int32) = 0l)
  ?status:((status:oimmmlnoicd) = default_oimmmlnoicd ())
  () : johbdbffgje  = {
  happnefcgoc;
  hehehnicpjn;
  status;
}

let rec default_lljpmigaffg 
  ?kdfddhcicoa:((kdfddhcicoa:johbdbffgje list) = [])
  () : lljpmigaffg  = {
  kdfddhcicoa;
}

let rec default_mpjedkpbkbi 
  ?mdnnnihndjk:((mdnnnihndjk:int32) = 0l)
  ?fnbokobiimm:((fnbokobiimm:lljpmigaffg option) = None)
  () : mpjedkpbkbi  = {
  mdnnnihndjk;
  fnbokobiimm;
}

let rec default_keljbjcgfja 
  ?nbbglnjencp:((nbbglnjencp:jjablbdmgfj option) = None)
  ?dgohjiekiai:((dgohjiekiai:pdoifoocoll option) = None)
  ?gjbcapfdgka:((gjbcapfdgka:dbecpakjhjj option) = None)
  ?pcpganjlmml:((pcpganjlmml:int32 list) = [])
  ?meoekcpafch:((meoekcpafch:int32 list) = [])
  ?pncgddoigad:((pncgddoigad:lafgnipaikl option) = None)
  ?bbanknacajb:((bbanknacajb:mpjedkpbkbi option) = None)
  () : keljbjcgfja  = {
  nbbglnjencp;
  dgohjiekiai;
  gjbcapfdgka;
  pcpganjlmml;
  meoekcpafch;
  pncgddoigad;
  bbanknacajb;
}

let rec default_ffadoeiaejd 
  ?hifokbodgbe:((hifokbodgbe:cbgphimaond list) = [])
  ?fhpollcfknc:((fhpollcfknc:int32) = 0l)
  () : ffadoeiaejd  = {
  hifokbodgbe;
  fhpollcfknc;
}

let rec default_mlgkofmempm 
  ?nbbglnjencp:((nbbglnjencp:jjablbdmgfj option) = None)
  ?pncgddoigad:((pncgddoigad:lafgnipaikl option) = None)
  ?meoekcpafch:((meoekcpafch:int32 list) = [])
  ?bbanknacajb:((bbanknacajb:mpjedkpbkbi option) = None)
  ?pcpganjlmml:((pcpganjlmml:int32 list) = [])
  ?gjbcapfdgka:((gjbcapfdgka:dbecpakjhjj option) = None)
  () : mlgkofmempm  = {
  nbbglnjencp;
  pncgddoigad;
  meoekcpafch;
  bbanknacajb;
  pcpganjlmml;
  gjbcapfdgka;
}

let rec default_kgcppamgheh 
  ?kahhjlklcjl:((kahhjlklcjl:int32) = 0l)
  ?fpjdkccalmk:((fpjdkccalmk:int32) = 0l)
  ?hdnieedkagk:((hdnieedkagk:bool) = false)
  ?akigkkfhhei:((akigkkfhhei:int32) = 0l)
  ?kbofiolbnan:((kbofiolbnan:int32) = 0l)
  ?pogejanpebj:((pogejanpebj:eijagapkfad option) = None)
  ?fhpollcfknc:((fhpollcfknc:int32) = 0l)
  ?bjhddalojnh:((bjhddalojnh:int32) = 0l)
  ?cblhpijhdge:((cblhpijhdge:int32) = 0l)
  ?lpgaoolbbfm:((lpgaoolbbfm:int32) = 0l)
  ?finbdgjedjo:((finbdgjedjo:dkmldddplbi option) = None)
  ?ccfbdacgomf:((ccfbdacgomf:item_list option) = None)
  ?cgcgiimcaaa:((cgcgiimcaaa:lineup_info option) = None)
  ?emkjkjbnelj:((emkjkjbnelj:pkkjdbmkgck) = default_pkkjdbmkgck ())
  ?fealelmejhl:((fealelmejhl:int32 list) = [])
  ?ilfkfbfheea:((ilfkfbfheea:int32) = 0l)
  ?pmoenkofnla:((pmoenkofnla:hpphifdfjjj option) = None)
  ?khbgofeemkc:((khbgofeemkc:int32) = 0l)
  ?fpgaklkbimb:((fpgaklkbimb:int32) = 0l)
  () : kgcppamgheh  = {
  kahhjlklcjl;
  fpjdkccalmk;
  hdnieedkagk;
  akigkkfhhei;
  kbofiolbnan;
  pogejanpebj;
  fhpollcfknc;
  bjhddalojnh;
  cblhpijhdge;
  lpgaoolbbfm;
  finbdgjedjo;
  ccfbdacgomf;
  cgcgiimcaaa;
  emkjkjbnelj;
  fealelmejhl;
  ilfkfbfheea;
  pmoenkofnla;
  khbgofeemkc;
  fpgaklkbimb;
}

let rec default_lepofdcgpgo 
  ?hdkkdjobple:((hdkkdjobple:fffkbmhfeed list) = [])
  ?moegphddhbf:((moegphddhbf:int32) = 0l)
  () : lepofdcgpgo  = {
  hdkkdjobple;
  moegphddhbf;
}

let rec default_nmkclmlbhgc 
  ?khbgofeemkc:((khbgofeemkc:int32) = 0l)
  ?ibcbbnibjai:((ibcbbnibjai:int32) = 0l)
  () : nmkclmlbhgc  = {
  khbgofeemkc;
  ibcbbnibjai;
}

let rec default_ichpoajgklm 
  ?dajmkddckgh:((dajmkddckgh:int32) = 0l)
  ?ppahlalicma:((ppahlalicma:int32) = 0l)
  () : ichpoajgklm  = {
  dajmkddckgh;
  ppahlalicma;
}

let rec default_cdhoocpacib = ()

let rec default_gmakianogec 
  ?mmppaiggmon:((mmppaiggmon:keljbjcgfja option) = None)
  ?jpaolljmggn:((jpaolljmggn:jcldbblbapn option) = None)
  ?fecdamigijp:((fecdamigijp:mlgkofmempm option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?iegpchobmgo:((iegpchobmgo:kgcppamgheh option) = None)
  ?gngfcddjjbi:((gngfcddjjbi:ffadoeiaejd option) = None)
  () : gmakianogec  = {
  mmppaiggmon;
  jpaolljmggn;
  fecdamigijp;
  retcode;
  iegpchobmgo;
  gngfcddjjbi;
}

let rec default_fjkdmgaifpn 
  ?mnnlebgmeee:((mnnlebgmeee:int32) = 0l)
  ?pbonhgdihdk:((pbonhgdihdk:int32) = 0l)
  () : fjkdmgaifpn  = {
  mnnlebgmeee;
  pbonhgdihdk;
}

let rec default_goablpdaaph 
  ?retcode:((retcode:int32) = 0l)
  ?jpaolljmggn:((jpaolljmggn:jcldbblbapn option) = None)
  ?akfdaaaiich:((akfdaaaiich:hefgcbjdeem option) = None)
  ?gngfcddjjbi:((gngfcddjjbi:ffadoeiaejd option) = None)
  ?pbonhgdihdk:((pbonhgdihdk:int32) = 0l)
  () : goablpdaaph  = {
  retcode;
  jpaolljmggn;
  akfdaaaiich;
  gngfcddjjbi;
  pbonhgdihdk;
}

let rec default_obhcibfiedf 
  ?id:((id:int32) = 0l)
  () : obhcibfiedf  = {
  id;
}

let rec default_lhhphednkmj 
  ?akfdaaaiich:((akfdaaaiich:hefgcbjdeem option) = None)
  ?gngfcddjjbi:((gngfcddjjbi:ffadoeiaejd option) = None)
  ?jpaolljmggn:((jpaolljmggn:jcldbblbapn option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?id:((id:int32) = 0l)
  () : lhhphednkmj  = {
  akfdaaaiich;
  gngfcddjjbi;
  jpaolljmggn;
  retcode;
  id;
}

let rec default_ijocfggamla = ()

let rec default_klajnbalbkc 
  ?kjicoehehhk:((kjicoehehhk:lhakogbpaen option) = None)
  ?fecdamigijp:((fecdamigijp:mlgkofmempm option) = None)
  ?mmppaiggmon:((mmppaiggmon:keljbjcgfja option) = None)
  ?akfdaaaiich:((akfdaaaiich:hefgcbjdeem option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : klajnbalbkc  = {
  kjicoehehhk;
  fecdamigijp;
  mmppaiggmon;
  akfdaaaiich;
  retcode;
}

let rec default_jmohaodeehg = ()

let rec default_hfcohkmgeml 
  ?iegpchobmgo:((iegpchobmgo:kgcppamgheh option) = None)
  ?kjicoehehhk:((kjicoehehhk:lhakogbpaen option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?mmppaiggmon:((mmppaiggmon:keljbjcgfja option) = None)
  ?fecdamigijp:((fecdamigijp:mlgkofmempm option) = None)
  ?akfdaaaiich:((akfdaaaiich:hefgcbjdeem option) = None)
  () : hfcohkmgeml  = {
  iegpchobmgo;
  kjicoehehhk;
  retcode;
  mmppaiggmon;
  fecdamigijp;
  akfdaaaiich;
}

let rec default_ckheiddckpi 
  ?eabjmdoajdk:((eabjmdoajdk:int32 list) = [])
  ?bajeglndfpe:((bajeglndfpe:int32) = 0l)
  ?base_avatar_id_list:((base_avatar_id_list:int32 list) = [])
  ?ddkgbmlkdkk:((ddkgbmlkdkk:int32) = 0l)
  ?okhflbihfhm:((okhflbihfhm:int32 list) = [])
  ?oocjacfoofn:((oocjacfoofn:int32 list) = [])
  ?id:((id:int32) = 0l)
  () : ckheiddckpi  = {
  eabjmdoajdk;
  bajeglndfpe;
  base_avatar_id_list;
  ddkgbmlkdkk;
  okhflbihfhm;
  oocjacfoofn;
  id;
}

let rec default_pljckbilfkd 
  ?jpaolljmggn:((jpaolljmggn:jcldbblbapn option) = None)
  ?akfdaaaiich:((akfdaaaiich:hefgcbjdeem option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?scene:((scene:scene_info option) = None)
  ?lineup:((lineup:lineup_info option) = None)
  ?nimbhcolfld:((nimbhcolfld:lepofdcgpgo option) = None)
  ?gngfcddjjbi:((gngfcddjjbi:ffadoeiaejd option) = None)
  () : pljckbilfkd  = {
  jpaolljmggn;
  akfdaaaiich;
  retcode;
  scene;
  lineup;
  nimbhcolfld;
  gngfcddjjbi;
}

let rec default_pinamnlfehm = ()

let rec default_ancdaaalmie 
  ?jpaolljmggn:((jpaolljmggn:lafgnipaikl option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : ancdaaalmie  = {
  jpaolljmggn;
  retcode;
}

let rec default_gjpomjhoidj 
  ?jpaolljmggn:((jpaolljmggn:gnhfgpglbae option) = None)
  () : gjpomjhoidj  = {
  jpaolljmggn;
}

let rec default_ekocemphhkp 
  ?mnnlebgmeee:((mnnlebgmeee:int32) = 0l)
  ?pbonhgdihdk:((pbonhgdihdk:int32) = 0l)
  () : ekocemphhkp  = {
  mnnlebgmeee;
  pbonhgdihdk;
}

let rec default_cfmifanddad 
  ?pdpfcfglgco:((pdpfcfglgco:item_list option) = None)
  () : cfmifanddad  = {
  pdpfcfglgco;
}

let rec default_rogue_sync_context_board_event 
  ?modifier_effect_type:((modifier_effect_type:int32) = 0l)
  ?board_event_id:((board_event_id:int32) = 0l)
  () : rogue_sync_context_board_event  = {
  modifier_effect_type;
  board_event_id;
}

let rec default_kiadjegoijf 
  ?bpiefglcbmf:((bpiefglcbmf:cfmifanddad option) = None)
  ?gejnmghhlln:((gejnmghhlln:rogue_sync_context_board_event option) = None)
  () : kiadjegoijf  = {
  bpiefglcbmf;
  gejnmghhlln;
}

let rec default_dpfekedneha 
  ?mnnlebgmeee:((mnnlebgmeee:int32) = 0l)
  ?pbonhgdihdk:((pbonhgdihdk:int32) = 0l)
  ?pnchhcaekef:((pnchhcaekef:kiadjegoijf option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : dpfekedneha  = {
  mnnlebgmeee;
  pbonhgdihdk;
  pnchhcaekef;
  retcode;
}

let rec default_hbigniokkbd = ()

let rec default_ehnicpcloei 
  ?retcode:((retcode:int32) = 0l)
  ?jpaolljmggn:((jpaolljmggn:nidknnfjgmp option) = None)
  () : ehnicpcloei  = {
  retcode;
  jpaolljmggn;
}

let rec default_jffoofblfgc 
  ?idllpehphcb:((idllpehphcb:int32) = 0l)
  () : jffoofblfgc  = {
  idllpehphcb;
}

let rec default_efhfafjmnid 
  ?idllpehphcb:((idllpehphcb:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?lddenbcdjcm:((lddenbcdjcm:memfcodlioa option) = None)
  () : efhfafjmnid  = {
  idllpehphcb;
  retcode;
  lddenbcdjcm;
}

let rec default_hfemgjanplj 
  ?fealelmejhl:((fealelmejhl:int32 list) = [])
  ?lickecpakcj:((lickecpakcj:bincokigfgm option) = None)
  ?kahhjlklcjl:((kahhjlklcjl:int32) = 0l)
  ?iegpchobmgo:((iegpchobmgo:kgcppamgheh option) = None)
  ?kdkdheomlmo:((kdkdheomlmo:int32) = 0l)
  () : hfemgjanplj  = {
  fealelmejhl;
  lickecpakcj;
  kahhjlklcjl;
  iegpchobmgo;
  kdkdheomlmo;
}

let rec default_ikkaedikpbe = ()

let rec default_mbbeondnfcn 
  ?pkkfndimmio:((pkkfndimmio:int32) = 0l)
  ?lohpklihemj:((lohpklihemj:item_cost_data option) = None)
  () : mbbeondnfcn  = {
  pkkfndimmio;
  lohpklihemj;
}

let rec default_ddjfkekakdb 
  ?lgbagcehkme:((lgbagcehkme:mbbeondnfcn list) = [])
  () : ddjfkekakdb  = {
  lgbagcehkme;
}

let rec default_blpodikpfic 
  ?retcode:((retcode:int32) = 0l)
  ?jkdkdpoblli:((jkdkdpoblli:ddjfkekakdb option) = None)
  () : blpodikpfic  = {
  retcode;
  jkdkdpoblli;
}

let rec default_bjgiingohfc 
  ?paofpgekpfe:((paofpgekpfe:int32) = 0l)
  () : bjgiingohfc  = {
  paofpgekpfe;
}

let rec default_nidoadddcnf 
  ?retcode:((retcode:int32) = 0l)
  ?boeaanepgoc:((boeaanepgoc:bool) = false)
  ?amikofgncbo:((amikofgncbo:mnicidbdjfi option) = None)
  ?jkdkdpoblli:((jkdkdpoblli:ddjfkekakdb option) = None)
  () : nidoadddcnf  = {
  retcode;
  boeaanepgoc;
  amikofgncbo;
  jkdkdpoblli;
}

let rec default_lkonjahngcd 
  ?base_avatar_id_list:((base_avatar_id_list:int32 list) = [])
  ?prop_entity_id:((prop_entity_id:int32) = 0l)
  () : lkonjahngcd  = {
  base_avatar_id_list;
  prop_entity_id;
}

let rec default_pabnmaidjgp 
  ?base_avatar_id_list:((base_avatar_id_list:int32 list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?nnibggkcbdj:((nnibggkcbdj:ccohodejlfe option) = None)
  () : pabnmaidjgp  = {
  base_avatar_id_list;
  retcode;
  nnibggkcbdj;
}

let rec default_dieombfmkal 
  ?base_avatar_id_list:((base_avatar_id_list:int32 list) = [])
  ?idcigdfjabi:((idcigdfjabi:int32) = 0l)
  () : dieombfmkal  = {
  base_avatar_id_list;
  idcigdfjabi;
}

let rec default_epkaofjiehg 
  ?retcode:((retcode:int32) = 0l)
  ?boijkbofiid:((boijkbofiid:micfnaphmnb option) = None)
  ?base_avatar_id_list:((base_avatar_id_list:int32 list) = [])
  () : epkaofjiehg  = {
  retcode;
  boijkbofiid;
  base_avatar_id_list;
}

let rec default_pihfnpbmhpi 
  ?boijkbofiid:((boijkbofiid:micfnaphmnb option) = None)
  () : pihfnpbmhpi  = {
  boijkbofiid;
}

let rec default_molameggbnh 
  ?ocjhnoaacgc:((ocjhnoaacgc:glbffhmcbkd option) = None)
  () : molameggbnh  = {
  ocjhnoaacgc;
}

let rec default_hookmgahiji 
  ?emmkiajfeeh:((emmkiajfeeh:jhogcidfaoc option) = None)
  () : hookmgahiji  = {
  emmkiajfeeh;
}

let rec default_pcbionfiecl 
  ?mgdnainpahe:((mgdnainpahe:mmfnjjmglfd) = default_mmfnjjmglfd ())
  ?mknhgcengfk:((mknhgcengfk:kebkmnaehol) = default_kebkmnaehol ())
  () : pcbionfiecl  = {
  mgdnainpahe;
  mknhgcengfk;
}

let rec default_pkbldbjahoj 
  ?miheclofkjj:((miheclofkjj:int32) = 0l)
  ?lahdpgmdloa:((lahdpgmdloa:int32 list) = [])
  () : pkbldbjahoj  = {
  miheclofkjj;
  lahdpgmdloa;
}

let rec default_nkgplpehibh 
  ?fkomandpfne:((fkomandpfne:fdkhifelmcd option) = None)
  () : nkgplpehibh  = {
  fkomandpfne;
}

let rec default_aengjlbaelj 
  ?bajeglndfpe:((bajeglndfpe:int32) = 0l)
  ?onlljjegjdc:((onlljjegjdc:int32) = 0l)
  () : aengjlbaelj  = {
  bajeglndfpe;
  onlljjegjdc;
}

let rec default_ikehgclkdnj 
  ?gcgeikpacmj:((gcgeikpacmj:int32) = 0l)
  () : ikehgclkdnj  = {
  gcgeikpacmj;
}

let rec default_flofloehlha = ()

let rec default_chess_rogue_skip_teaching_level_sc_rsp 
  ?retcode:((retcode:int32) = 0l)
  ?skip_reward_list:((skip_reward_list:item_list option) = None)
  () : chess_rogue_skip_teaching_level_sc_rsp  = {
  retcode;
  skip_reward_list;
}

let rec default_iegdfbolnpn 
  ?pcpganjlmml:((pcpganjlmml:int32 list) = [])
  () : iegdfbolnpn  = {
  pcpganjlmml;
}

let rec default_kpfdplfbohc 
  ?prop_entity_id:((prop_entity_id:int32) = 0l)
  () : kpfdplfbohc  = {
  prop_entity_id;
}

let rec default_fagoefkbbcl 
  ?gngfcddjjbi:((gngfcddjjbi:ffadoeiaejd option) = None)
  ?kbneaoehnob:((kbneaoehnob:jcldbblbapn option) = None)
  ?akfdaaaiich:((akfdaaaiich:hefgcbjdeem option) = None)
  ?nimbhcolfld:((nimbhcolfld:lepofdcgpgo option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : fagoefkbbcl  = {
  gngfcddjjbi;
  kbneaoehnob;
  akfdaaaiich;
  nimbhcolfld;
  retcode;
}

let rec default_ebkgloopkbg 
  ?aoecepofobe:((aoecepofobe:int32) = 0l)
  () : ebkgloopkbg  = {
  aoecepofobe;
}

let rec default_onmlnleopmo 
  ?emmkiajfeeh:((emmkiajfeeh:jhogcidfaoc option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : onmlnleopmo  = {
  emmkiajfeeh;
  retcode;
}

let rec default_chhnekmendf 
  ?aoecepofobe:((aoecepofobe:int32) = 0l)
  () : chhnekmendf  = {
  aoecepofobe;
}

let rec default_fdieigbnhnc 
  ?retcode:((retcode:int32) = 0l)
  ?emmkiajfeeh:((emmkiajfeeh:jhogcidfaoc option) = None)
  () : fdieigbnhnc  = {
  retcode;
  emmkiajfeeh;
}

let rec default_leklclkagec 
  ?aoecepofobe:((aoecepofobe:int32) = 0l)
  ?fnhpplpmjcn:((fnhpplpmjcn:int32) = 0l)
  () : leklclkagec  = {
  aoecepofobe;
  fnhpplpmjcn;
}

let rec default_djopeekdjlo 
  ?emmkiajfeeh:((emmkiajfeeh:jhogcidfaoc option) = None)
  ?iphdoglidch:((iphdoglidch:int32) = 0l)
  ?fnhpplpmjcn:((fnhpplpmjcn:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : djopeekdjlo  = {
  emmkiajfeeh;
  iphdoglidch;
  fnhpplpmjcn;
  retcode;
}

let rec default_almpmbojjki = ()

let rec default_ghkdffbobdn 
  ?ehdpkgafikp:((ehdpkgafikp:item_list option) = None)
  ?emmkiajfeeh:((emmkiajfeeh:jhogcidfaoc option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : ghkdffbobdn  = {
  ehdpkgafikp;
  emmkiajfeeh;
  retcode;
}

let rec default_lgdnbmieblp = ()

let rec default_pgolkgmjajg 
  ?jpaolljmggn:((jpaolljmggn:jcldbblbapn option) = None)
  ?gngfcddjjbi:((gngfcddjjbi:ffadoeiaejd option) = None)
  ?iegpchobmgo:((iegpchobmgo:kgcppamgheh option) = None)
  ?akfdaaaiich:((akfdaaaiich:hefgcbjdeem option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?lickecpakcj:((lickecpakcj:bincokigfgm option) = None)
  ?kjicoehehhk:((kjicoehehhk:lhakogbpaen option) = None)
  ?fecdamigijp:((fecdamigijp:mlgkofmempm option) = None)
  ?mmppaiggmon:((mmppaiggmon:keljbjcgfja option) = None)
  () : pgolkgmjajg  = {
  jpaolljmggn;
  gngfcddjjbi;
  iegpchobmgo;
  akfdaaaiich;
  retcode;
  lickecpakcj;
  kjicoehehhk;
  fecdamigijp;
  mmppaiggmon;
}

let rec default_iiaonghgoeo 
  ?lickecpakcj:((lickecpakcj:bincokigfgm option) = None)
  () : iiaonghgoeo  = {
  lickecpakcj;
}

let rec default_bmpogaffecc 
  ?jdhhhgeinmj:((jdhhhgeinmj:int32) = 0l)
  ?mooblpaanag:((mooblpaanag:int32) = 0l)
  ?jhbiihbamfp:((jhbiihbamfp:fdkhifelmcd option) = None)
  () : bmpogaffecc  = {
  jdhhhgeinmj;
  mooblpaanag;
  jhbiihbamfp;
}

let rec default_fmmcjlgdhoc 
  ?hmkjakicjka:((hmkjakicjka:idlkgpjlfhc) = default_idlkgpjlfhc ())
  ?mgdnainpahe:((mgdnainpahe:alapdfpdlno) = default_alapdfpdlno ())
  ?miheclofkjj:((miheclofkjj:int32) = 0l)
  ?hdkkdjobple:((hdkkdjobple:fffkbmhfeed list) = [])
  () : fmmcjlgdhoc  = {
  hmkjakicjka;
  mgdnainpahe;
  miheclofkjj;
  hdkkdjobple;
}

let rec default_ibibbeddebh 
  ?gjbdmneacbj:((gjbdmneacbj:int32) = 0l)
  ?fmjcephcaka:((fmjcephcaka:int32) = 0l)
  () : ibibbeddebh  = {
  gjbdmneacbj;
  fmjcephcaka;
}

let rec default_ndlofgjnkee = ()

let rec default_ehndihmpnan 
  ?ilfngpkdijj:((ilfngpkdijj:nmkclmlbhgc list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?eimobfbmipk:((eimobfbmipk:ichpoajgklm list) = [])
  () : ehndihmpnan  = {
  ilfngpkdijj;
  retcode;
  eimobfbmipk;
}

let rec default_ajpjjijdnbp 
  ?nbgahcjbbao:((nbgahcjbbao:int32) = 0l)
  ?cckegompfdi:((cckegompfdi:int32) = 0l)
  ?pdklekppbkf:((pdklekppbkf:int32) = 0l)
  ?dajmkddckgh:((dajmkddckgh:int32) = 0l)
  () : ajpjjijdnbp  = {
  nbgahcjbbao;
  cckegompfdi;
  pdklekppbkf;
  dajmkddckgh;
}

let rec default_npdkkfojanm 
  ?pdklekppbkf:((pdklekppbkf:int32) = 0l)
  ?nbgahcjbbao:((nbgahcjbbao:int32) = 0l)
  ?cckegompfdi:((cckegompfdi:int32) = 0l)
  ?dajmkddckgh:((dajmkddckgh:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : npdkkfojanm  = {
  pdklekppbkf;
  nbgahcjbbao;
  cckegompfdi;
  dajmkddckgh;
  retcode;
}

let rec default_icleefeiefg 
  ?nbgahcjbbao:((nbgahcjbbao:int32) = 0l)
  ?pdklekppbkf:((pdklekppbkf:int32) = 0l)
  ?dajmkddckgh:((dajmkddckgh:int32) = 0l)
  () : icleefeiefg  = {
  nbgahcjbbao;
  pdklekppbkf;
  dajmkddckgh;
}

let rec default_nkhambafchc 
  ?nbgahcjbbao:((nbgahcjbbao:int32) = 0l)
  ?khbgofeemkc:((khbgofeemkc:int32) = 0l)
  ?dajmkddckgh:((dajmkddckgh:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?pdklekppbkf:((pdklekppbkf:int32) = 0l)
  () : nkhambafchc  = {
  nbgahcjbbao;
  khbgofeemkc;
  dajmkddckgh;
  retcode;
  pdklekppbkf;
}

let rec default_kagcmpmikjb 
  ?palokcoicgp:((palokcoicgp:int32) = 0l)
  () : kagcmpmikjb  = {
  palokcoicgp;
}

let rec default_mggndkkjmla = ()

let rec default_ajkfhpgmhda 
  ?akfdaaaiich:((akfdaaaiich:hefgcbjdeem option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : ajkfhpgmhda  = {
  akfdaaaiich;
  retcode;
}

let rec default_elcidaalfbo 
  ?hgfnojflbcl:((hgfnojflbcl:int32) = 0l)
  () : elcidaalfbo  = {
  hgfnojflbcl;
}

let rec default_ddofecncbfo 
  ?retcode:((retcode:int32) = 0l)
  ?lpflcicnioa:((lpflcicnioa:(int32 * int32) list) = [])
  ?hgfnojflbcl:((hgfnojflbcl:int32) = 0l)
  () : ddofecncbfo  = {
  retcode;
  lpflcicnioa;
  hgfnojflbcl;
}

let rec default_eanjmiidoga 
  ?ibcbbnibjai:((ibcbbnibjai:int32) = 0l)
  ?khbgofeemkc:((khbgofeemkc:int32) = 0l)
  () : eanjmiidoga  = {
  ibcbbnibjai;
  khbgofeemkc;
}

let rec default_coemajoahgi 
  ?ehkdpkipimp:((ehkdpkipimp:jkggceplagl option) = None)
  () : coemajoahgi  = {
  ehkdpkipimp;
}

let rec default_dhlldhikfpo 
  ?khbgofeemkc:((khbgofeemkc:int32) = 0l)
  ?status:((status:emeefgmahof) = default_emeefgmahof ())
  () : dhlldhikfpo  = {
  khbgofeemkc;
  status;
}

let rec default_aegpheebldn 
  ?pdklekppbkf:((pdklekppbkf:int32) = 0l)
  () : aegpheebldn  = {
  pdklekppbkf;
}

let rec default_fjbpionpapm = ()

let rec default_ldckdflfhpa 
  ?retcode:((retcode:int32) = 0l)
  ?eimobfbmipk:((eimobfbmipk:aegpheebldn list) = [])
  ?ilfngpkdijj:((ilfngpkdijj:dhlldhikfpo list) = [])
  () : ldckdflfhpa  = {
  retcode;
  eimobfbmipk;
  ilfngpkdijj;
}

let rec default_ifnibapmpae 
  ?pdklekppbkf:((pdklekppbkf:int32) = 0l)
  ?cckegompfdi:((cckegompfdi:int32) = 0l)
  ?nbgahcjbbao:((nbgahcjbbao:int32) = 0l)
  () : ifnibapmpae  = {
  pdklekppbkf;
  cckegompfdi;
  nbgahcjbbao;
}

let rec default_fgbhelkjiab 
  ?cckegompfdi:((cckegompfdi:int32) = 0l)
  ?pdklekppbkf:((pdklekppbkf:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?nbgahcjbbao:((nbgahcjbbao:int32) = 0l)
  () : fgbhelkjiab  = {
  cckegompfdi;
  pdklekppbkf;
  retcode;
  nbgahcjbbao;
}

let rec default_dpglhbhphjh 
  ?nbgahcjbbao:((nbgahcjbbao:int32) = 0l)
  ?pdklekppbkf:((pdklekppbkf:int32) = 0l)
  () : dpglhbhphjh  = {
  nbgahcjbbao;
  pdklekppbkf;
}

let rec default_fenoahlblkf 
  ?pdklekppbkf:((pdklekppbkf:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?nbgahcjbbao:((nbgahcjbbao:int32) = 0l)
  () : fenoahlblkf  = {
  pdklekppbkf;
  retcode;
  nbgahcjbbao;
}

let rec default_dnfopjcoagg 
  ?pdklekppbkf:((pdklekppbkf:int32) = 0l)
  () : dnfopjcoagg  = {
  pdklekppbkf;
}

let rec default_faflfkhkkik 
  ?ilfngpkdijj:((ilfngpkdijj:dhlldhikfpo list) = [])
  () : faflfkhkkik  = {
  ilfngpkdijj;
}

let rec default_lndljfdkjag 
  ?nbbglnjencp:((nbbglnjencp:dcbalomaani option) = None)
  () : lndljfdkjag  = {
  nbbglnjencp;
}

let rec default_ndghlaenmgh 
  ?nbbglnjencp:((nbbglnjencp:dcbalomaani option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : ndghlaenmgh  = {
  nbbglnjencp;
  retcode;
}

let rec default_ldpnmbfakgo 
  ?najieibfdnb:((najieibfdnb:jjablbdmgfj option) = None)
  () : ldpnmbfakgo  = {
  najieibfdnb;
}

let rec default_depkckidjjj 
  ?jcjnhohkpan:((jcjnhohkpan:int32) = 0l)
  () : depkckidjjj  = {
  jcjnhohkpan;
}

let rec default_nokgciolbop = ()

let rec default_aebddiinfcf 
  ?bbanknacajb:((bbanknacajb:lljpmigaffg option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?mdnnnihndjk:((mdnnnihndjk:int32) = 0l)
  () : aebddiinfcf  = {
  bbanknacajb;
  retcode;
  mdnnnihndjk;
}

let rec default_hlgbnfinpel 
  ?hehehnicpjn:((hehehnicpjn:int32) = 0l)
  () : hlgbnfinpel  = {
  hehehnicpjn;
}

let rec default_gliplffjdbn 
  ?mdnnnihndjk:((mdnnnihndjk:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?bbanknacajb:((bbanknacajb:lljpmigaffg option) = None)
  () : gliplffjdbn  = {
  mdnnnihndjk;
  retcode;
  bbanknacajb;
}

let rec default_pheokcclifc () = (Cmd_clock_park_type_none:pheokcclifc)

let rec default_jfenpgffadc () = (Clock_park_play_none:jfenpgffadc)

let rec default_jpcjpojlbff = ()

let rec default_lflcalafnbo 
  ?ogkiomjegel:((ogkiomjegel:int32) = 0l)
  ?kadnckpogfc:((kadnckpogfc:int32 list) = [])
  () : lflcalafnbo  = {
  ogkiomjegel;
  kadnckpogfc;
}

let rec default_fafhmldeiem 
  ?progress:((progress:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?gegdnnbdlhe:((gegdnnbdlhe:int32) = 0l)
  ?gndjgaoeccp:((gndjgaoeccp:int32) = 0l)
  ?bekholgcbpf:((bekholgcbpf:lflcalafnbo list) = [])
  ?kdfdefeppnh:((kdfdefeppnh:int32 list) = [])
  () : fafhmldeiem  = {
  progress;
  retcode;
  gegdnnbdlhe;
  gndjgaoeccp;
  bekholgcbpf;
  kdfdefeppnh;
}

let rec default_lalaekmflhg 
  ?hehehnicpjn:((hehehnicpjn:int32) = 0l)
  () : lalaekmflhg  = {
  hehehnicpjn;
}

let rec default_efoabakdjig 
  ?retcode:((retcode:int32) = 0l)
  ?hehehnicpjn:((hehehnicpjn:int32) = 0l)
  () : efoabakdjig  = {
  retcode;
  hehehnicpjn;
}

let rec default_jpaeciapkbc 
  ?ogkiomjegel:((ogkiomjegel:int32) = 0l)
  ?panfmkbdjnp:((panfmkbdjnp:int32 list) = [])
  () : jpaeciapkbc  = {
  ogkiomjegel;
  panfmkbdjnp;
}

let rec default_ocencfaabof 
  ?ogkiomjegel:((ogkiomjegel:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : ocencfaabof  = {
  ogkiomjegel;
  retcode;
}

let rec default_dlfokjajmmp = ()

let rec default_pkbmbpagojn = ()

let rec default_cokgknggkaa 
  ?jmfddoomihg:((jmfddoomihg:int32) = 0l)
  ?pkeohpicjkc:((pkeohpicjkc:int32) = 0l)
  ?ihchbmafcen:((ihchbmafcen:int32 list) = [])
  () : cokgknggkaa  = {
  jmfddoomihg;
  pkeohpicjkc;
  ihchbmafcen;
}

let rec default_kpemelkknjb 
  ?ihchbmafcen:((ihchbmafcen:int32 list) = [])
  ?phklikjmgkn:((phklikjmgkn:cokgknggkaa list) = [])
  () : kpemelkknjb  = {
  ihchbmafcen;
  phklikjmgkn;
}

let rec default_lpcmempnhjk 
  ?gbbbdblomio:((gbbbdblomio:kpemelkknjb option) = None)
  () : lpcmempnhjk  = {
  gbbbdblomio;
}

let rec default_golmjbpcaga 
  ?gbbbdblomio:((gbbbdblomio:kpemelkknjb option) = None)
  () : golmjbpcaga  = {
  gbbbdblomio;
}

let rec default_jjoghfefnmh 
  ?gbbbdblomio:((gbbbdblomio:kpemelkknjb option) = None)
  () : jjoghfefnmh  = {
  gbbbdblomio;
}

let rec default_mefjdljoeaf 
  ?gbbbdblomio:((gbbbdblomio:kpemelkknjb option) = None)
  ?ohmaodidhnl:((ohmaodidhnl:int32) = 0l)
  ?pgbbcblgkkh:((pgbbcblgkkh:int32) = 0l)
  () : mefjdljoeaf  = {
  gbbbdblomio;
  ohmaodidhnl;
  pgbbcblgkkh;
}

let rec default_hmiiahhlhco 
  ?gbbbdblomio:((gbbbdblomio:kpemelkknjb option) = None)
  () : hmiiahhlhco  = {
  gbbbdblomio;
}

let rec default_pjbmmmepaci 
  ?fbmbjgbkokp:((fbmbjgbkokp:bool) = false)
  () : pjbmmmepaci  = {
  fbmbjgbkokp;
}

let rec default_godnbimdidi 
  ?edpdfcplkpa:((edpdfcplkpa:int32) = 0l)
  ?ilhjcnegkjf:((ilhjcnegkjf:unit) = ())
  ?bkfakhgfilo:((bkfakhgfilo:lpcmempnhjk option) = None)
  ?pepfpijodhi:((pepfpijodhi:golmjbpcaga option) = None)
  ?bfbjbaghama:((bfbjbaghama:jjoghfefnmh option) = None)
  ?emmenkcdomi:((emmenkcdomi:mefjdljoeaf option) = None)
  ?mdimhompfcm:((mdimhompfcm:hmiiahhlhco option) = None)
  ?jghficgepaa:((jghficgepaa:pjbmmmepaci option) = None)
  ?klkhknehfbg:((klkhknehfbg:bool) = false)
  () : godnbimdidi  = {
  edpdfcplkpa;
  ilhjcnegkjf;
  bkfakhgfilo;
  pepfpijodhi;
  bfbjbaghama;
  emmenkcdomi;
  mdimhompfcm;
  jghficgepaa;
  klkhknehfbg;
}

let rec default_blmojdpmnjf 
  ?gaganbkanln:((gaganbkanln:int32) = 0l)
  ?fciejeohcja:((fciejeohcja:int32) = 0l)
  ?pbndpcofgla:((pbndpcofgla:int32) = 0l)
  () : blmojdpmnjf  = {
  gaganbkanln;
  fciejeohcja;
  pbndpcofgla;
}

let rec default_lladomjnlko 
  ?pkkfndimmio:((pkkfndimmio:int32) = 0l)
  ?ijpcadfeknn:((ijpcadfeknn:int32) = 0l)
  ?unique_id:((unique_id:int64) = 0L)
  () : lladomjnlko  = {
  pkkfndimmio;
  ijpcadfeknn;
  unique_id;
}

let rec default_logafbjdpkc 
  ?buff_list:((buff_list:lladomjnlko list) = [])
  () : logafbjdpkc  = {
  buff_list;
}

let rec default_bpmoddlbhga 
  ?jlgjdhoibma:((jlgjdhoibma:godnbimdidi option) = None)
  ?pogejanpebj:((pogejanpebj:logafbjdpkc option) = None)
  ?bpnhlfahnkm:((bpnhlfahnkm:int32) = 0l)
  ?elnofkbfhea:((elnofkbfhea:string) = "")
  ?cdaemdonfaj:((cdaemdonfaj:int32) = 0l)
  ?mhhndeiccmp:((mhhndeiccmp:int32) = 0l)
  ?pmgcchiledo:((pmgcchiledo:int32 list) = [])
  ?ogkiomjegel:((ogkiomjegel:int32) = 0l)
  ?hnloeinfmcg:((hnloeinfmcg:blmojdpmnjf option) = None)
  ?boibnciibil:((boibnciibil:int32) = 0l)
  ?cpkngiamnli:((cpkngiamnli:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : bpmoddlbhga  = {
  jlgjdhoibma;
  pogejanpebj;
  bpnhlfahnkm;
  elnofkbfhea;
  cdaemdonfaj;
  mhhndeiccmp;
  pmgcchiledo;
  ogkiomjegel;
  hnloeinfmcg;
  boibnciibil;
  cpkngiamnli;
  retcode;
}

let rec default_hjnapobgchd = ()

let rec default_giapdiikfmk 
  ?gbbbdblomio:((gbbbdblomio:kpemelkknjb option) = None)
  () : giapdiikfmk  = {
  gbbbdblomio;
}

let rec default_jlghaphnkch 
  ?mkdneojkaal:((mkdneojkaal:int32) = 0l)
  ?mmnebfbnoni:((mmnebfbnoni:bool) = false)
  () : jlghaphnkch  = {
  mkdneojkaal;
  mmnebfbnoni;
}

let rec default_miepedklkmi 
  ?avatar_id_list:((avatar_id_list:int32 list) = [])
  () : miepedklkmi  = {
  avatar_id_list;
}

let rec default_dnbdlbcjbgg 
  ?ohmaodidhnl:((ohmaodidhnl:int32) = 0l)
  ?gpanoppmekp:((gpanoppmekp:bool) = false)
  () : dnbdlbcjbgg  = {
  ohmaodidhnl;
  gpanoppmekp;
}

let rec default_mpfbakaodom 
  ?mkdneojkaal:((mkdneojkaal:int32) = 0l)
  ?mmnebfbnoni:((mmnebfbnoni:bool) = false)
  () : mpfbakaodom  = {
  mkdneojkaal;
  mmnebfbnoni;
}

let rec default_aifdfhgdmdk = ()

let rec default_kcgbmdfclno 
  ?ogkiomjegel:((ogkiomjegel:int32) = 0l)
  ?edpdfcplkpa:((edpdfcplkpa:int32) = 0l)
  ?dejnhinclci:((dejnhinclci:unit) = ())
  ?eoecodhkjah:((eoecodhkjah:giapdiikfmk option) = None)
  ?gdgfpnoeajd:((gdgfpnoeajd:jlghaphnkch option) = None)
  ?emhomnipcon:((emhomnipcon:miepedklkmi option) = None)
  ?lgkmmlmpdom:((lgkmmlmpdom:dnbdlbcjbgg option) = None)
  ?hnhkbenjmmb:((hnhkbenjmmb:mpfbakaodom option) = None)
  ?enofefmhaca:((enofefmhaca:unit) = ())
  ?cdaemdonfaj:((cdaemdonfaj:int32) = 0l)
  () : kcgbmdfclno  = {
  ogkiomjegel;
  edpdfcplkpa;
  dejnhinclci;
  eoecodhkjah;
  gdgfpnoeajd;
  emhomnipcon;
  lgkmmlmpdom;
  hnhkbenjmmb;
  enofefmhaca;
  cdaemdonfaj;
}

let rec default_aaklaachmin 
  ?reward:((reward:item_list option) = None)
  ?acjjpgnpdii:((acjjpgnpdii:bool) = false)
  ?ogkiomjegel:((ogkiomjegel:int32) = 0l)
  ?progress:((progress:int32) = 0l)
  ?mhhndeiccmp:((mhhndeiccmp:int32) = 0l)
  ?jihjhonolea:((jihjhonolea:bool) = false)
  ?cpkngiamnli:((cpkngiamnli:int32) = 0l)
  () : aaklaachmin  = {
  reward;
  acjjpgnpdii;
  ogkiomjegel;
  progress;
  mhhndeiccmp;
  jihjhonolea;
  cpkngiamnli;
}

let rec default_gpgmjingckf 
  ?edpdfcplkpa:((edpdfcplkpa:int32) = 0l)
  ?jecdljepbci:((jecdljepbci:int32) = 0l)
  ?nhbkmmbehka:((nhbkmmbehka:jfenpgffadc) = default_jfenpgffadc ())
  ?fndhpfbmefj:((fndhpfbmefj:int32) = 0l)
  ?ibllilenejp:((ibllilenejp:scene_battle_info option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : gpgmjingckf  = {
  edpdfcplkpa;
  jecdljepbci;
  nhbkmmbehka;
  fndhpfbmefj;
  ibllilenejp;
  retcode;
}

let rec default_edhecinachi 
  ?ejkepfpphed:((ejkepfpphed:bool) = false)
  ?ogkiomjegel:((ogkiomjegel:int32) = 0l)
  () : edhecinachi  = {
  ejkepfpphed;
  ogkiomjegel;
}

let rec default_kklhdojledj 
  ?retcode:((retcode:int32) = 0l)
  () : kklhdojledj  = {
  retcode;
}

let rec default_odojpidlebk 
  ?edpdfcplkpa:((edpdfcplkpa:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : odojpidlebk  = {
  edpdfcplkpa;
  retcode;
}

let rec default_ebipbjdklnc 
  ?ogkiomjegel:((ogkiomjegel:int32) = 0l)
  ?edpdfcplkpa:((edpdfcplkpa:int32) = 0l)
  ?unique_id:((unique_id:int64) = 0L)
  () : ebipbjdklnc  = {
  ogkiomjegel;
  edpdfcplkpa;
  unique_id;
}

let rec default_lhpnedjanoe 
  ?edpdfcplkpa:((edpdfcplkpa:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?ogkiomjegel:((ogkiomjegel:int32) = 0l)
  ?pogejanpebj:((pogejanpebj:logafbjdpkc option) = None)
  ?gbbbdblomio:((gbbbdblomio:kpemelkknjb option) = None)
  ?hnloeinfmcg:((hnloeinfmcg:blmojdpmnjf option) = None)
  () : lhpnedjanoe  = {
  edpdfcplkpa;
  retcode;
  ogkiomjegel;
  pogejanpebj;
  gbbbdblomio;
  hnloeinfmcg;
}

let rec default_opdhfiokgml 
  ?mjhepdejndc:((mjhepdejndc:aaklaachmin option) = None)
  () : opdhfiokgml  = {
  mjhepdejndc;
}

let rec default_jnmfgfjpeim () = (Message_section_none:jnmfgfjpeim)

let rec default_pbcofiploko () = (Message_group_none:pbcofiploko)

let rec default_okfachfdjei () = (Battle_record_none:okfachfdjei)

let rec default_jnmjmkmbnof 
  ?olfhccbiidg:((olfhccbiidg:int32) = 0l)
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  () : jnmjmkmbnof  = {
  olfhccbiidg;
  hgjolgkaofj;
}

let rec default_golpjolbjjh 
  ?exp:((exp:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?hechfpdiado:((hechfpdiado:int32) = 0l)
  ?rank:((rank:int32) = 0l)
  ?promotion:((promotion:int32) = 0l)
  () : golpjolbjjh  = {
  exp;
  level;
  hechfpdiado;
  rank;
  promotion;
}

let rec default_bmmefhpfkof 
  ?level:((level:int32) = 0l)
  ?main_affix_id:((main_affix_id:int32) = 0l)
  ?sub_affix_list:((sub_affix_list:relic_affix list) = [])
  ?exp:((exp:int32) = 0l)
  ?hechfpdiado:((hechfpdiado:int32) = 0l)
  () : bmmefhpfkof  = {
  level;
  main_affix_id;
  sub_affix_list;
  exp;
  hechfpdiado;
}

let rec default_echcjdnihko 
  ?lpkpmmpdaho:((lpkpmmpdaho:jnmjmkmbnof option) = None)
  ?kfnielbllhi:((kfnielbllhi:golpjolbjjh option) = None)
  ?bkpajknnngf:((bkpajknnngf:bmmefhpfkof option) = None)
  () : echcjdnihko  = {
  lpkpmmpdaho;
  kfnielbllhi;
  bkpajknnngf;
}

let rec default_ffjpgmkmopp 
  ?pdpfcfglgco:((pdpfcfglgco:echcjdnihko list) = [])
  () : ffjpgmkmopp  = {
  pdpfcfglgco;
}

let rec default_quaternion 
  ?x:((x:float) = 0.)
  ?w:((w:float) = 0.)
  ?z:((z:float) = 0.)
  ?y:((y:float) = 0.)
  () : quaternion  = {
  x;
  w;
  z;
  y;
}

let rec default_flffdckajej 
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  ?apkmboagcmi:((apkmboagcmi:int32) = 0l)
  ?id:((id:int32) = 0l)
  () : flffdckajej  = {
  avatar_type;
  apkmboagcmi;
  id;
}

let rec default_dahcfllbegc () = (Content_package_status_none:dahcfllbegc)

let rec default_canhmpmfmgl () = (Cmd_content_package_type_none:canhmpmfmgl)

let rec default_eljjmdjcfip = ()

let rec default_dolnimnfefl 
  ?status:((status:dahcfllbegc) = default_dahcfllbegc ())
  ?nfcojigifbb:((nfcojigifbb:int32) = 0l)
  () : dolnimnfefl  = {
  status;
  nfcojigifbb;
}

let rec default_nokiblegoej 
  ?emgkdgbhaff:((emgkdgbhaff:int32) = 0l)
  ?haeppfknbnm:((haeppfknbnm:dolnimnfefl list) = [])
  () : nokiblegoej  = {
  emgkdgbhaff;
  haeppfknbnm;
}

let rec default_klpphbabnkg 
  ?retcode:((retcode:int32) = 0l)
  ?data:((data:nokiblegoej option) = None)
  () : klpphbabnkg  = {
  retcode;
  data;
}

let rec default_bdlnbolokbg 
  ?data:((data:nokiblegoej option) = None)
  () : bdlnbolokbg  = {
  data;
}

let rec default_phndakdnjde 
  ?nfcojigifbb:((nfcojigifbb:int32) = 0l)
  () : phndakdnjde  = {
  nfcojigifbb;
}

let rec default_pllgamkcmjg 
  ?nfcojigifbb:((nfcojigifbb:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : pllgamkcmjg  = {
  nfcojigifbb;
  retcode;
}

let rec default_foihggokfbb = ()

let rec default_hfdplehgcbo () = (Cmd_daily_active_type_none:hfdplehgcbo)

let rec default_icfpaflkela 
  ?cabgicnohpe:((cabgicnohpe:bool) = false)
  ?level:((level:int32) = 0l)
  ?world_level:((world_level:int32) = 0l)
  ?lbchikhgjeh:((lbchikhgjeh:int32) = 0l)
  () : icfpaflkela  = {
  cabgicnohpe;
  level;
  world_level;
  lbchikhgjeh;
}

let rec default_lgdgghnmhfn 
  ?level:((level:int32) = 0l)
  () : lgdgghnmhfn  = {
  level;
}

let rec default_iicbhcbpphj 
  ?retcode:((retcode:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  () : iicbhcbpphj  = {
  retcode;
  level;
  reward;
}

let rec default_ngdihfikbgh = ()

let rec default_jbjfkaalpjj 
  ?lbchikhgjeh:((lbchikhgjeh:int32) = 0l)
  ?gkicdejmadl:((gkicdejmadl:icfpaflkela list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?jojnmdhhbgn:((jojnmdhhbgn:int32 list) = [])
  () : jbjfkaalpjj  = {
  lbchikhgjeh;
  gkicdejmadl;
  retcode;
  jojnmdhhbgn;
}

let rec default_gcgpdfjjnln 
  ?gkicdejmadl:((gkicdejmadl:icfpaflkela list) = [])
  ?lbchikhgjeh:((lbchikhgjeh:int32) = 0l)
  ?jojnmdhhbgn:((jojnmdhhbgn:int32 list) = [])
  () : gcgpdfjjnln  = {
  gkicdejmadl;
  lbchikhgjeh;
  jojnmdhhbgn;
}

let rec default_pmnjdlbffep = ()

let rec default_iobaelpjman 
  ?reward:((reward:item_list option) = None)
  ?eoejiijmano:((eoejiijmano:int32 list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : iobaelpjman  = {
  reward;
  eoejiijmano;
  retcode;
}

let rec default_lgdmdpinecg () = (Cmd_drink_maker_type_none:lgdmdpinecg)

let rec default_drink_maker_guest 
  ?faith:((faith:int32) = 0l)
  ?unlocked_favor_tag_list:((unlocked_favor_tag_list:int32 list) = [])
  ?guest_id:((guest_id:int32) = 0l)
  () : drink_maker_guest  = {
  faith;
  unlocked_favor_tag_list;
  guest_id;
}

let rec default_jiohpedmpgh 
  ?oppccjnkkol:((oppccjnkkol:int32) = 0l)
  ?fjaipfboaco:((fjaipfboaco:int32) = 0l)
  ?dfolakpjbng:((dfolakpjbng:int32) = 0l)
  ?imfflnefonh:((imfflnefonh:int32 list) = [])
  ?dlboofmcbci:((dlboofmcbci:int32) = 0l)
  () : jiohpedmpgh  = {
  oppccjnkkol;
  fjaipfboaco;
  dfolakpjbng;
  imfflnefonh;
  dlboofmcbci;
}

let rec default_cbojkhimobg 
  ?pjnlecpgpjn:((pjnlecpgpjn:int32) = 0l)
  ?boeaanepgoc:((boeaanepgoc:bool) = false)
  () : cbojkhimobg  = {
  pjnlecpgpjn;
  boeaanepgoc;
}

let rec default_bicijfapjfd = ()

let rec default_kkgmfclponb 
  ?fkekjbialhi:((fkekjbialhi:int32) = 0l)
  ?exp:((exp:int32) = 0l)
  ?lcbphjfming:((lcbphjfming:jiohpedmpgh option) = None)
  ?opekgfgamcn:((opekgfgamcn:int32) = 0l)
  ?kjgjcgihamm:((kjgjcgihamm:int32 list) = [])
  ?lpdoanmocje:((lpdoanmocje:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?jlcgnooajli:((jlcgnooajli:drink_maker_guest list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?apnalmnfjed:((apnalmnfjed:int32) = 0l)
  () : kkgmfclponb  = {
  fkekjbialhi;
  exp;
  lcbphjfming;
  opekgfgamcn;
  kjgjcgihamm;
  lpdoanmocje;
  level;
  jlcgnooajli;
  retcode;
  apnalmnfjed;
}

let rec default_pgogcdpljoc 
  ?lpdoanmocje:((lpdoanmocje:int32) = 0l)
  ?okdlpmffmpd:((okdlpmffmpd:jiohpedmpgh option) = None)
  () : pgogcdpljoc  = {
  lpdoanmocje;
  okdlpmffmpd;
}

let rec default_make_drink_sc_rsp 
  ?next_chat_id:((next_chat_id:int32) = 0l)
  ?is_succ:((is_succ:bool) = false)
  ?retcode:((retcode:int32) = 0l)
  () : make_drink_sc_rsp  = {
  next_chat_id;
  is_succ;
  retcode;
}

let rec default_bppikoolpik = ()

let rec default_end_drink_maker_sequence_sc_rsp 
  ?guest:((guest:drink_maker_guest option) = None)
  ?next_sequence_id:((next_sequence_id:int32) = 0l)
  ?request_list:((request_list:cbojkhimobg list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?exp:((exp:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?tips:((tips:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  () : end_drink_maker_sequence_sc_rsp  = {
  guest;
  next_sequence_id;
  request_list;
  retcode;
  exp;
  level;
  tips;
  reward;
}

let rec default_oglifdlpdgh 
  ?chbdfdolhoc:((chbdfdolhoc:bool) = false)
  ?okdlpmffmpd:((okdlpmffmpd:jiohpedmpgh option) = None)
  ?pjnlecpgpjn:((pjnlecpgpjn:int32) = 0l)
  () : oglifdlpdgh  = {
  chbdfdolhoc;
  okdlpmffmpd;
  pjnlecpgpjn;
}

let rec default_make_mission_drink_sc_rsp 
  ?custom_drink:((custom_drink:jiohpedmpgh option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?is_succ:((is_succ:bool) = false)
  ?is_save:((is_save:bool) = false)
  () : make_mission_drink_sc_rsp  = {
  custom_drink;
  retcode;
  is_succ;
  is_save;
}

let rec default_mfflmglefbc 
  ?bfcfeikpjin:((bfcfeikpjin:int32) = 0l)
  () : mfflmglefbc  = {
  bfcfeikpjin;
}

let rec default_cckofijijcb 
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  ?okdlpmffmpd:((okdlpmffmpd:jiohpedmpgh option) = None)
  () : cckofijijcb  = {
  dcpoeimegli;
  okdlpmffmpd;
}

let rec default_cedfilghpcm 
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  ?boeaanepgoc:((boeaanepgoc:bool) = false)
  ?reward:((reward:item_list option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : cedfilghpcm  = {
  dcpoeimegli;
  boeaanepgoc;
  reward;
  retcode;
}

let rec default_ploaocedhcc 
  ?apnalmnfjed:((apnalmnfjed:int32) = 0l)
  () : ploaocedhcc  = {
  apnalmnfjed;
}

let rec default_glhjehobkjb () = (Cmd_evolve_build_none:glhjehobkjb)

let rec default_lldgfmckmof () = (Evolve_period_none:lldgfmckmof)

let rec default_alcgocanpjh () = (Evolve_battle_result_none:alcgocanpjh)

let rec default_evolve_build_avatar 
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  ?damage:((damage:float) = 0.)
  ?avatar_id:((avatar_id:int32) = 0l)
  () : evolve_build_avatar  = {
  avatar_type;
  damage;
  avatar_id;
}

let rec default_evolve_build_level_info 
  ?battle_target_list:((battle_target_list:battle_target list) = [])
  ?round_cnt:((round_cnt:int32) = 0l)
  ?period_id_list:((period_id_list:int32 list) = [])
  ?avatar_list:((avatar_list:evolve_build_avatar list) = [])
  ?cur_game_exp:((cur_game_exp:int32) = 0l)
  ?battle_info:((battle_info:evolve_build_battle_info option) = None)
  () : evolve_build_level_info  = {
  battle_target_list;
  round_cnt;
  period_id_list;
  avatar_list;
  cur_game_exp;
  battle_info;
}

let rec default_iommdlefkle 
  ?lcmkbhbmdob:((lcmkbhbmdob:int32) = 0l)
  ?mmkkliclehe:((mmkkliclehe:int32) = 0l)
  ?gakmanenkmh:((gakmanenkmh:int32) = 0l)
  () : iommdlefkle  = {
  lcmkbhbmdob;
  mmkkliclehe;
  gakmanenkmh;
}

let rec default_hggmojlcdff 
  ?level:((level:int32) = 0l)
  ?emgbcbhhnnh:((emgbcbhhnnh:int32) = 0l)
  () : hggmojlcdff  = {
  level;
  emgbcbhhnnh;
}

let rec default_ndablbkbief 
  ?lcmkbhbmdob:((lcmkbhbmdob:int32) = 0l)
  ?lilifielcec:((lilifielcec:bool) = false)
  ?ekfjbcahhnf:((ekfjbcahhnf:bool) = false)
  ?kcafipgelge:((kcafipgelge:int32 list) = [])
  () : ndablbkbief  = {
  lcmkbhbmdob;
  lilifielcec;
  ekfjbcahhnf;
  kcafipgelge;
}

let rec default_ealaijgkglo 
  ?dbgaojmndmc:((dbgaojmndmc:int32) = 0l)
  ?lcpjnpofamc:((lcpjnpofamc:ndablbkbief list) = [])
  ?nhfefdfeeee:((nhfefdfeeee:iommdlefkle list) = [])
  ?lpfgjabpheh:((lpfgjabpheh:int32 list) = [])
  ?cnlcfhiilig:((cnlcfhiilig:hggmojlcdff list) = [])
  ?nmnkfefpnbi:((nmnkfefpnbi:bool) = false)
  ?looknnadffi:((looknnadffi:bool) = false)
  ?lhhpfphakkf:((lhhpfphakkf:int32) = 0l)
  ?exp:((exp:int32) = 0l)
  ?egkfpbokkfb:((egkfpbokkfb:int32 list) = [])
  () : ealaijgkglo  = {
  dbgaojmndmc;
  lcpjnpofamc;
  nhfefdfeeee;
  lpfgjabpheh;
  cnlcfhiilig;
  nmnkfefpnbi;
  looknnadffi;
  lhhpfphakkf;
  exp;
  egkfpbokkfb;
}

let rec default_hbgncknlmck = ()

let rec default_pmoicnodokk 
  ?lickecpakcj:((lickecpakcj:evolve_build_level_info option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?gngfcddjjbi:((gngfcddjjbi:ealaijgkglo option) = None)
  () : pmoicnodokk  = {
  lickecpakcj;
  retcode;
  gngfcddjjbi;
}

let rec default_ilbbkldbfpf 
  ?pmhjcfngckn:((pmhjcfngckn:jjnjilkjjaf option) = None)
  ?avatar_list:((avatar_list:evolve_build_avatar list) = [])
  ?lcmkbhbmdob:((lcmkbhbmdob:int32) = 0l)
  () : ilbbkldbfpf  = {
  pmhjcfngckn;
  avatar_list;
  lcmkbhbmdob;
}

let rec default_gageijjpjpi 
  ?lickecpakcj:((lickecpakcj:evolve_build_level_info option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?cfehgidmfln:((cfehgidmfln:scene_battle_info option) = None)
  () : gageijjpjpi  = {
  lickecpakcj;
  retcode;
  cfehgidmfln;
}

let rec default_lmjpbnbkjmj 
  ?lcmkbhbmdob:((lcmkbhbmdob:int32) = 0l)
  () : lmjpbnbkjmj  = {
  lcmkbhbmdob;
}

let rec default_kljhelgcfkg 
  ?cfehgidmfln:((cfehgidmfln:scene_battle_info option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?lickecpakcj:((lickecpakcj:evolve_build_level_info option) = None)
  () : kljhelgcfkg  = {
  cfehgidmfln;
  retcode;
  lickecpakcj;
}

let rec default_hedeldocgmj = ()

let rec default_fddgkmbaojb 
  ?retcode:((retcode:int32) = 0l)
  ?lickecpakcj:((lickecpakcj:evolve_build_level_info option) = None)
  () : fddgkmbaojb  = {
  retcode;
  lickecpakcj;
}

let rec default_diglamopjaj = ()

let rec default_nfjggilinle 
  ?retcode:((retcode:int32) = 0l)
  ?lickecpakcj:((lickecpakcj:evolve_build_level_info option) = None)
  () : nfjggilinle  = {
  retcode;
  lickecpakcj;
}

let rec default_evolve_build_finish_sc_notify 
  ?battle_result_type:((battle_result_type:alcgocanpjh) = default_alcgocanpjh ())
  ?coin:((coin:int32) = 0l)
  ?level_info:((level_info:evolve_build_level_info option) = None)
  ?level_id:((level_id:int32) = 0l)
  ?score:((score:int32) = 0l)
  ?wave:((wave:int32) = 0l)
  ?cur_period_type:((cur_period_type:int32) = 0l)
  ?exp:((exp:int32) = 0l)
  ?is_lose:((is_lose:bool) = false)
  () : evolve_build_finish_sc_notify  = {
  battle_result_type;
  coin;
  level_info;
  level_id;
  score;
  wave;
  cur_period_type;
  exp;
  is_lose;
}

let rec default_khkgdappaba 
  ?lcmkbhbmdob:((lcmkbhbmdob:int32) = 0l)
  () : khkgdappaba  = {
  lcmkbhbmdob;
}

let rec default_ajejhajoaed 
  ?dofaojjibho:((dofaojjibho:ndablbkbief option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : ajejhajoaed  = {
  dofaojjibho;
  retcode;
}

let rec default_ibmcoganhdo 
  ?level:((level:int32) = 0l)
  ?emgbcbhhnnh:((emgbcbhhnnh:int32) = 0l)
  () : ibmcoganhdo  = {
  level;
  emgbcbhhnnh;
}

let rec default_ncimlbjjfma 
  ?level:((level:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?emgbcbhhnnh:((emgbcbhhnnh:int32) = 0l)
  () : ncimlbjjfma  = {
  level;
  retcode;
  emgbcbhhnnh;
}

let rec default_ljeglglledc 
  ?emgbcbhhnnh:((emgbcbhhnnh:int32) = 0l)
  ?level:((level:int32) = 0l)
  () : ljeglglledc  = {
  emgbcbhhnnh;
  level;
}

let rec default_pijcaekfcmm 
  ?emgbcbhhnnh:((emgbcbhhnnh:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?level:((level:int32) = 0l)
  () : pijcaekfcmm  = {
  emgbcbhhnnh;
  retcode;
  level;
}

let rec default_ghaikcokfdm = ()

let rec default_okijlmlkdej 
  ?retcode:((retcode:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  ?lhhpfphakkf:((lhhpfphakkf:int32) = 0l)
  () : okijlmlkdej  = {
  retcode;
  reward;
  lhhpfphakkf;
}

let rec default_pklkahjeako = ()

let rec default_hemcijemcam 
  ?dbgaojmndmc:((dbgaojmndmc:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?cnlcfhiilig:((cnlcfhiilig:hggmojlcdff list) = [])
  () : hemcijemcam  = {
  dbgaojmndmc;
  retcode;
  cnlcfhiilig;
}

let rec default_nikfgadelbi 
  ?dbgaojmndmc:((dbgaojmndmc:int32) = 0l)
  () : nikfgadelbi  = {
  dbgaojmndmc;
}

let rec default_glkeieeanpc 
  ?looknnadffi:((looknnadffi:bool) = false)
  ?nmnkfefpnbi:((nmnkfefpnbi:bool) = false)
  () : glkeieeanpc  = {
  looknnadffi;
  nmnkfefpnbi;
}

let rec default_gldaljmhppg () = (Cmd_expedition_type_none:gldaljmhppg)

let rec default_bneeceoibjo 
  ?id:((id:int32) = 0l)
  ?pklpfcaegpk:((pklpfcaegpk:int32) = 0l)
  ?avatar_id_list:((avatar_id_list:int32 list) = [])
  ?hclhbmghdfi:((hclhbmghdfi:int64) = 0L)
  () : bneeceoibjo  = {
  id;
  pklpfcaegpk;
  avatar_id_list;
  hclhbmghdfi;
}

let rec default_mmioacmpkma 
  ?avatar_id_list:((avatar_id_list:int32 list) = [])
  ?hclhbmghdfi:((hclhbmghdfi:int64) = 0L)
  ?id:((id:int32) = 0l)
  ?accgikfcocn:((accgikfcocn:int32) = 0l)
  ?boijjckjecp:((boijjckjecp:int32) = 0l)
  ?bakgnipojdh:((bakgnipojdh:int32) = 0l)
  () : mmioacmpkma  = {
  avatar_id_list;
  hclhbmghdfi;
  id;
  accgikfcocn;
  boijjckjecp;
  bakgnipojdh;
}

let rec default_cfdgkgjflln = ()

let rec default_ceiomlofmmi 
  ?acgclmagmjf:((acgclmagmjf:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?lglgoiogekc:((lglgoiogekc:mmioacmpkma list) = [])
  ?llfpgndaaem:((llfpgndaaem:bneeceoibjo list) = [])
  ?gkmmbllhhjc:((gkmmbllhhjc:int32 list) = [])
  ?dhdakbhkcoe:((dhdakbhkcoe:int32 list) = [])
  ?hfkegmkakah:((hfkegmkakah:int32 list) = [])
  () : ceiomlofmmi  = {
  acgclmagmjf;
  retcode;
  lglgoiogekc;
  llfpgndaaem;
  gkmmbllhhjc;
  dhdakbhkcoe;
  hfkegmkakah;
}

let rec default_akkgnnilafl 
  ?ochjpiphefm:((ochjpiphefm:bneeceoibjo option) = None)
  () : akkgnnilafl  = {
  ochjpiphefm;
}

let rec default_flccbmnmhfj 
  ?ochjpiphefm:((ochjpiphefm:bneeceoibjo option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : flccbmnmhfj  = {
  ochjpiphefm;
  retcode;
}

let rec default_gekhpfaofka 
  ?ikmghkjhncf:((ikmghkjhncf:bneeceoibjo list) = [])
  () : gekhpfaofka  = {
  ikmghkjhncf;
}

let rec default_adncblilpnb 
  ?nppdmmdjfoe:((nppdmmdjfoe:bneeceoibjo list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : adncblilpnb  = {
  nppdmmdjfoe;
  retcode;
}

let rec default_beamljlopld 
  ?hcecpndimnb:((hcecpndimnb:int32) = 0l)
  () : beamljlopld  = {
  hcecpndimnb;
}

let rec default_mmdgggchgkm 
  ?retcode:((retcode:int32) = 0l)
  ?hcecpndimnb:((hcecpndimnb:int32) = 0l)
  () : mmdgggchgkm  = {
  retcode;
  hcecpndimnb;
}

let rec default_ljfajdccblm 
  ?hcecpndimnb:((hcecpndimnb:int32) = 0l)
  () : ljfajdccblm  = {
  hcecpndimnb;
}

let rec default_fheopjpopld 
  ?hcecpndimnb:((hcecpndimnb:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?jdlekhchhpl:((jdlekhchhpl:item_list option) = None)
  () : fheopjpopld  = {
  hcecpndimnb;
  reward;
  retcode;
  jdlekhchhpl;
}

let rec default_lbdcpnmdkio 
  ?mhmiemcbccl:((mhmiemcbccl:int32 list) = [])
  () : lbdcpnmdkio  = {
  mhmiemcbccl;
}

let rec default_mhbblcflegm 
  ?hjblaeagbod:((hjblaeagbod:item_list list) = [])
  ?hgfffpjkodl:((hgfffpjkodl:item_list list) = [])
  ?jdlekhchhpl:((jdlekhchhpl:item_list option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?clkpoonplnp:((clkpoonplnp:int32 list) = [])
  ?reward:((reward:item_list option) = None)
  () : mhbblcflegm  = {
  hjblaeagbod;
  hgfffpjkodl;
  jdlekhchhpl;
  retcode;
  clkpoonplnp;
  reward;
}

let rec default_nomgloommie 
  ?hfkegmkakah:((hfkegmkakah:int32 list) = [])
  ?gkmmbllhhjc:((gkmmbllhhjc:int32 list) = [])
  ?acgclmagmjf:((acgclmagmjf:int32) = 0l)
  ?llfpgndaaem:((llfpgndaaem:bneeceoibjo list) = [])
  ?lglgoiogekc:((lglgoiogekc:mmioacmpkma list) = [])
  () : nomgloommie  = {
  hfkegmkakah;
  gkmmbllhhjc;
  acgclmagmjf;
  llfpgndaaem;
  lglgoiogekc;
}

let rec default_nmieefhdbfn 
  ?dkfmmcbfjca:((dkfmmcbfjca:mmioacmpkma option) = None)
  () : nmieefhdbfn  = {
  dkfmmcbfjca;
}

let rec default_jjeebfmobdo 
  ?retcode:((retcode:int32) = 0l)
  ?dkfmmcbfjca:((dkfmmcbfjca:mmioacmpkma option) = None)
  () : jjeebfmobdo  = {
  retcode;
  dkfmmcbfjca;
}

let rec default_bpcmgbkmkci 
  ?iffgchlchlm:((iffgchlchlm:int32) = 0l)
  () : bpcmgbkmkci  = {
  iffgchlchlm;
}

let rec default_koepbfdgiap 
  ?retcode:((retcode:int32) = 0l)
  ?iffgchlchlm:((iffgchlchlm:int32) = 0l)
  () : koepbfdgiap  = {
  retcode;
  iffgchlchlm;
}

let rec default_gckdmhcokmj 
  ?iffgchlchlm:((iffgchlchlm:int32) = 0l)
  () : gckdmhcokmj  = {
  iffgchlchlm;
}

let rec default_hkjajbjddaa 
  ?lpgaoolbbfm:((lpgaoolbbfm:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?jdlekhchhpl:((jdlekhchhpl:item_list option) = None)
  ?iffgchlchlm:((iffgchlchlm:int32) = 0l)
  () : hkjajbjddaa  = {
  lpgaoolbbfm;
  reward;
  retcode;
  jdlekhchhpl;
  iffgchlchlm;
}

let rec default_ddncbdinpeg () = (Cmd_fantastic_story_activity_type_none:ddncbdinpeg)

let rec default_helmlfaekga 
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  ?avatar_id:((avatar_id:int32) = 0l)
  () : helmlfaekga  = {
  avatar_type;
  avatar_id;
}

let rec default_oimcalddonh 
  ?avatar_list:((avatar_list:helmlfaekga list) = [])
  ?buff_list:((buff_list:int32 list) = [])
  () : oimcalddonh  = {
  avatar_list;
  buff_list;
}

let rec default_agmeeiifjma 
  ?jfpjojfjeck:((jfpjojfjeck:int32 list) = [])
  ?gfjeahnelpp:((gfjeahnelpp:int32 list) = [])
  ?jpgoledkkcl:((jpgoledkkcl:int32) = 0l)
  ?cmoflobaiod:((cmoflobaiod:(int32 * oimcalddonh) list) = [])
  ?jafiagcefhl:((jafiagcefhl:int32 list) = [])
  ?cmmpeimdkdl:((cmmpeimdkdl:(int32 * int32) list) = [])
  ?ahbbinilgld:((ahbbinilgld:int32 list) = [])
  () : agmeeiifjma  = {
  jfpjojfjeck;
  gfjeahnelpp;
  jpgoledkkcl;
  cmoflobaiod;
  jafiagcefhl;
  cmmpeimdkdl;
  ahbbinilgld;
}

let rec default_beefgailkel 
  ?jpgoledkkcl:((jpgoledkkcl:int32) = 0l)
  () : beefgailkel  = {
  jpgoledkkcl;
}

let rec default_kiepldjlmij 
  ?fijoabhcpgf:((fijoabhcpgf:agmeeiifjma option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : kiepldjlmij  = {
  fijoabhcpgf;
  retcode;
}

let rec default_kondnnncfcl 
  ?fijoabhcpgf:((fijoabhcpgf:agmeeiifjma option) = None)
  () : kondnnncfcl  = {
  fijoabhcpgf;
}

let rec default_pjhhffhpneh 
  ?battle_id:((battle_id:int32) = 0l)
  ?jpgoledkkcl:((jpgoledkkcl:int32) = 0l)
  ?buff_list:((buff_list:int32 list) = [])
  ?avatar_list:((avatar_list:helmlfaekga list) = [])
  () : pjhhffhpneh  = {
  battle_id;
  jpgoledkkcl;
  buff_list;
  avatar_list;
}

let rec default_mofedkjbcai 
  ?retcode:((retcode:int32) = 0l)
  ?ibllilenejp:((ibllilenejp:scene_battle_info option) = None)
  ?jpgoledkkcl:((jpgoledkkcl:int32) = 0l)
  ?battle_id:((battle_id:int32) = 0l)
  () : mofedkjbcai  = {
  retcode;
  ibllilenejp;
  jpgoledkkcl;
  battle_id;
}

let rec default_nbogodofokj 
  ?jpgoledkkcl:((jpgoledkkcl:int32) = 0l)
  ?ojdjhonlcoc:((ojdjhonlcoc:int32) = 0l)
  ?battle_id:((battle_id:int32) = 0l)
  () : nbogodofokj  = {
  jpgoledkkcl;
  ojdjhonlcoc;
  battle_id;
}

let rec default_adllodgmipe () = (Cmd_fever_time_activity_type_none:adllodgmipe)

let rec default_fpofnnofeeh () = (Fever_time_battle_rank_c:fpofnnofeeh)

let rec default_dbphicgdjga 
  ?jccolmabopj:((jccolmabopj:int32) = 0l)
  ?kpiihcgmagg:((kpiihcgmagg:int32) = 0l)
  ?gjmokpigjag:((gjmokpigjag:fpofnnofeeh) = default_fpofnnofeeh ())
  () : dbphicgdjga  = {
  jccolmabopj;
  kpiihcgmagg;
  gjmokpigjag;
}

let rec default_acfkhehkkja = ()

let rec default_idfkboehdbp 
  ?bdegbfalcni:((bdegbfalcni:dbphicgdjga list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : idfkboehdbp  = {
  bdegbfalcni;
  retcode;
}

let rec default_eookgadnnmb 
  ?jgaaeecdfal:((jgaaeecdfal:fpofnnofeeh) = default_fpofnnofeeh ())
  ?igfhcehhhoi:((igfhcehhhoi:int32) = 0l)
  ?id:((id:int32) = 0l)
  ?mphcmmfkpog:((mphcmmfkpog:int32) = 0l)
  () : eookgadnnmb  = {
  jgaaeecdfal;
  igfhcehhhoi;
  id;
  mphcmmfkpog;
}

let rec default_kmkibfaecip 
  ?id:((id:int32) = 0l)
  ?avatar_list:((avatar_list:lmamieaaodh list) = [])
  ?fndnmbljapc:((fndnmbljapc:int32) = 0l)
  ?oioglfmcbpe:((oioglfmcbpe:int32) = 0l)
  () : kmkibfaecip  = {
  id;
  avatar_list;
  fndnmbljapc;
  oioglfmcbpe;
}

let rec default_lkfcopmhkci 
  ?ibllilenejp:((ibllilenejp:scene_battle_info option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?id:((id:int32) = 0l)
  () : lkfcopmhkci  = {
  ibllilenejp;
  retcode;
  id;
}

let rec default_madlanogbob () = (Cmd_fight_type_none:madlanogbob)

let rec default_blpmdeopfmm 
  ?jdjmjenhhhl:((jdjmjenhhhl:string) = "")
  ?dbgjcbcfaec:((dbgjcbcfaec:int32) = 0l)
  ?gmcheopahkc:((gmcheopahkc:int32) = 0l)
  ?khegeddmhme:((khegeddmhme:int32) = 0l)
  ?hdnnjibaggl:((hdnnjibaggl:int64) = 0L)
  ?uid:((uid:int32) = 0l)
  ?hcgjomkbloh:((hcgjomkbloh:int32) = 0l)
  ?pcmajmegbld:((pcmajmegbld:int32) = 0l)
  () : blpmdeopfmm  = {
  jdjmjenhhhl;
  dbgjcbcfaec;
  gmcheopahkc;
  khegeddmhme;
  hdnnjibaggl;
  uid;
  hcgjomkbloh;
  pcmajmegbld;
}

let rec default_dioeanbidmp 
  ?kcicanjloba:((kcicanjloba:bool) = false)
  ?mciakkehiaa:((mciakkehiaa:int64) = 0L)
  ?secret_key_seed:((secret_key_seed:int64) = 0L)
  ?retcode:((retcode:int32) = 0l)
  ?khegeddmhme:((khegeddmhme:int32) = 0l)
  () : dioeanbidmp  = {
  kcicanjloba;
  mciakkehiaa;
  secret_key_seed;
  retcode;
  khegeddmhme;
}

let rec default_aabddaeaapg 
  ?mkgnjoaekdm:((mkgnjoaekdm:int32) = 0l)
  () : aabddaeaapg  = {
  mkgnjoaekdm;
}

let rec default_ikklnkijkho 
  ?kick_type:((kick_type:iafdbbcgofo) = default_iafdbbcgofo ())
  () : ikklnkijkho  = {
  kick_type;
}

let rec default_jnpmfcmbadi 
  ?client_time_ms:((client_time_ms:int64) = 0L)
  () : jnpmfcmbadi  = {
  client_time_ms;
}

let rec default_ggnmbncnfmg 
  ?server_time_ms:((server_time_ms:int64) = 0L)
  ?client_time_ms:((client_time_ms:int64) = 0L)
  ?retcode:((retcode:int32) = 0l)
  () : ggnmbncnfmg  = {
  server_time_ms;
  client_time_ms;
  retcode;
}

let rec default_hhdbjheacpc 
  ?nchhhomjbdk:((nchhhomjbdk:mfoaahgomic option) = None)
  () : hhdbjheacpc  = {
  nchhhomjbdk;
}

let rec default_jeiklnahdgi () = (Cmd_fight_activity_type_none:jeiklnahdgi)

let rec default_fight_activity_group 
  ?group_id:((group_id:int32) = 0l)
  ?endless_max_wave:((endless_max_wave:int32) = 0l)
  ?passed_max_difficulty_level:((passed_max_difficulty_level:int32) = 0l)
  ?taken_difficulty_level_reward_list:((taken_difficulty_level_reward_list:int32 list) = [])
  () : fight_activity_group  = {
  group_id;
  endless_max_wave;
  passed_max_difficulty_level;
  taken_difficulty_level_reward_list;
}

let rec default_fdehcoinapm = ()

let rec default_hicipecahde 
  ?retcode:((retcode:int32) = 0l)
  ?eibgbnaebod:((eibgbnaebod:(int32 * int32) list) = [])
  ?world_level:((world_level:int32) = 0l)
  ?hnhhdaccogm:((hnhhdaccogm:fight_activity_group list) = [])
  ?biokakgphop:((biokakgphop:bool) = false)
  () : hicipecahde  = {
  retcode;
  eibgbnaebod;
  world_level;
  hnhhdaccogm;
  biokakgphop;
}

let rec default_oiacopadblk 
  ?hnhhdaccogm:((hnhhdaccogm:fight_activity_group list) = [])
  ?eibgbnaebod:((eibgbnaebod:(int32 * int32) list) = [])
  () : oiacopadblk  = {
  hnhhdaccogm;
  eibgbnaebod;
}

let rec default_mooihlnlibk 
  ?avatar_id:((avatar_id:int32) = 0l)
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  () : mooihlnlibk  = {
  avatar_id;
  avatar_type;
}

let rec default_liaagefbjci 
  ?group_id:((group_id:int32) = 0l)
  ?neakgefbcdd:((neakgefbcdd:mooihlnlibk list) = [])
  ?avatar_list:((avatar_list:int32 list) = [])
  ?odgoeojelah:((odgoeojelah:int32) = 0l)
  ?pdpfcfglgco:((pdpfcfglgco:int32 list) = [])
  () : liaagefbjci  = {
  group_id;
  neakgefbcdd;
  avatar_list;
  odgoeojelah;
  pdpfcfglgco;
}

let rec default_mfgbeapdfbh 
  ?group_id:((group_id:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?ibllilenejp:((ibllilenejp:scene_battle_info option) = None)
  ?odgoeojelah:((odgoeojelah:int32) = 0l)
  () : mfgbeapdfbh  = {
  group_id;
  retcode;
  ibllilenejp;
  odgoeojelah;
}

let rec default_pmgpmgiieok 
  ?odgoeojelah:((odgoeojelah:int32) = 0l)
  ?group_id:((group_id:int32) = 0l)
  () : pmgpmgiieok  = {
  odgoeojelah;
  group_id;
}

let rec default_effddphipan 
  ?reward:((reward:item_list option) = None)
  ?group_id:((group_id:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?odgoeojelah:((odgoeojelah:int32) = 0l)
  () : effddphipan  = {
  reward;
  group_id;
  retcode;
  odgoeojelah;
}

let rec default_mhopfddhfom () = (Cmd_fight_fest_type_none:mhopfddhfom)

let rec default_pakokghoagp () = (Fight_fest_battle_rank_c:pakokghoagp)

let rec default_ojikhafakmn () = (Fight_fest_type_none:ojikhafakmn)

let rec default_cllckidkjnp 
  ?moidpjnooeb:((moidpjnooeb:int32) = 0l)
  ?jccolmabopj:((jccolmabopj:int32) = 0l)
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  ?gjmokpigjag:((gjmokpigjag:pakokghoagp) = default_pakokghoagp ())
  () : cllckidkjnp  = {
  moidpjnooeb;
  jccolmabopj;
  dcpoeimegli;
  gjmokpigjag;
}

let rec default_clhaiohidij = ()

let rec default_cooiplcedfe 
  ?retcode:((retcode:int32) = 0l)
  ?dbgaojmndmc:((dbgaojmndmc:int32) = 0l)
  ?cjbdijhedpo:((cjbdijhedpo:cllckidkjnp list) = [])
  ?poiemdhbkoj:((poiemdhbkoj:int32 list) = [])
  ?lpgaoolbbfm:((lpgaoolbbfm:int32) = 0l)
  () : cooiplcedfe  = {
  retcode;
  dbgaojmndmc;
  cjbdijhedpo;
  poiemdhbkoj;
  lpgaoolbbfm;
}

let rec default_afgllplofkl 
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  ?id:((id:int32) = 0l)
  () : afgllplofkl  = {
  avatar_type;
  id;
}

let rec default_pijkiokgmep 
  ?poiemdhbkoj:((poiemdhbkoj:int32 list) = [])
  ?id:((id:int32) = 0l)
  ?avatar_list:((avatar_list:afgllplofkl list) = [])
  ?fgmdoekgpee:((fgmdoekgpee:ojikhafakmn) = default_ojikhafakmn ())
  () : pijkiokgmep  = {
  poiemdhbkoj;
  id;
  avatar_list;
  fgmdoekgpee;
}

let rec default_hpndidajned 
  ?fgmdoekgpee:((fgmdoekgpee:ojikhafakmn) = default_ojikhafakmn ())
  ?retcode:((retcode:int32) = 0l)
  ?id:((id:int32) = 0l)
  ?ibllilenejp:((ibllilenejp:scene_battle_info option) = None)
  () : hpndidajned  = {
  fgmdoekgpee;
  retcode;
  id;
  ibllilenejp;
}

let rec default_glhifmjnbka 
  ?lpgaoolbbfm:((lpgaoolbbfm:int32) = 0l)
  ?efadknhaeci:((efadknhaeci:int32) = 0l)
  () : glhifmjnbka  = {
  lpgaoolbbfm;
  efadknhaeci;
}

let rec default_ajjjfojpcka 
  ?dginkacilnf:((dginkacilnf:int32) = 0l)
  () : ajjjfojpcka  = {
  dginkacilnf;
}

let rec default_hobfkjhmmhp 
  ?jccolmabopj:((jccolmabopj:int32) = 0l)
  ?jahjmcacppe:((jahjmcacppe:pakokghoagp) = default_pakokghoagp ())
  ?rank:((rank:pakokghoagp) = default_pakokghoagp ())
  ?mphcmmfkpog:((mphcmmfkpog:int32) = 0l)
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  () : hobfkjhmmhp  = {
  jccolmabopj;
  jahjmcacppe;
  rank;
  mphcmmfkpog;
  dcpoeimegli;
}

let rec default_egkofpmnofo 
  ?dbgaojmndmc:((dbgaojmndmc:int32) = 0l)
  () : egkofpmnofo  = {
  dbgaojmndmc;
}

let rec default_oicjjpbhahi () = (Cmd_fight_mathc3_type_none:oicjjpbhahi)

let rec default_ignpcapkdfc () = (Match3_state_idle:ignpcapkdfc)

let rec default_dblancjjchp () = (Match3_player_state_alive:dblancjjchp)

let rec default_aipongicanm () = (Event_begin:aipongicanm)

let rec default_abmnfjmimho 
  ?rank:((rank:int32) = 0l)
  ?mdnckipflpb:((mdnckipflpb:int32) = 0l)
  ?jbfkipajfnk:((jbfkipajfnk:bool) = false)
  ?state:((state:dblancjjchp) = default_dblancjjchp ())
  ?lpgaoolbbfm:((lpgaoolbbfm:int32) = 0l)
  ?fdomecikbcg:((fdomecikbcg:int32) = 0l)
  ?oabkcckodej:((oabkcckodej:int32) = 0l)
  ?hp:((hp:int32) = 0l)
  () : abmnfjmimho  = {
  rank;
  mdnckipflpb;
  jbfkipajfnk;
  state;
  lpgaoolbbfm;
  fdomecikbcg;
  oabkcckodej;
  hp;
}

let rec default_eapbfaifbaf 
  ?lpgaoolbbfm:((lpgaoolbbfm:int32) = 0l)
  ?femmkmapjng:((femmkmapjng:int32) = 0l)
  ?gfcihemdoga:((gfcihemdoga:int32) = 0l)
  ?jbehccpnhfh:((jbehccpnhfh:int32 list) = [])
  ?jpbipampend:((jpbipampend:int32) = 0l)
  ?gnmmfgoppki:((gnmmfgoppki:int32) = 0l)
  ?ofeiiikacfl:((ofeiiikacfl:int32) = 0l)
  ?ggndffpkohn:((ggndffpkohn:int32) = 0l)
  ?bnageejckgi:((bnageejckgi:obminlghola option) = None)
  ?gdkmhgekcen:((gdkmhgekcen:dblancjjchp) = default_dblancjjchp ())
  ?anecodblgcb:((anecodblgcb:int32) = 0l)
  () : eapbfaifbaf  = {
  lpgaoolbbfm;
  femmkmapjng;
  gfcihemdoga;
  jbehccpnhfh;
  jpbipampend;
  gnmmfgoppki;
  ofeiiikacfl;
  ggndffpkohn;
  bnageejckgi;
  gdkmhgekcen;
  anecodblgcb;
}

let rec default_kgmgbcpimab 
  ?hgjiomhlaoh:((hgjiomhlaoh:abmnfjmimho list) = [])
  ?ioolphicdme:((ioolphicdme:ignpcapkdfc) = default_ignpcapkdfc ())
  ?dhkokjlaakb:((dhkokjlaakb:int32 list) = [])
  ?djkomhjmehn:((djkomhjmehn:int32) = 0l)
  ?ajdemhpcfmo:((ajdemhpcfmo:int32) = 0l)
  ?lkgpmmckpbg:((lkgpmmckpbg:int64) = 0L)
  ?akondfcfgek:((akondfcfgek:eapbfaifbaf option) = None)
  () : kgmgbcpimab  = {
  hgjiomhlaoh;
  ioolphicdme;
  dhkokjlaakb;
  djkomhjmehn;
  ajdemhpcfmo;
  lkgpmmckpbg;
  akondfcfgek;
}

let rec default_denoijbaaod 
  ?mebdjjncnfg:((mebdjjncnfg:int32) = 0l)
  ?bmocnnjijdp:((bmocnnjijdp:int32) = 0l)
  () : denoijbaaod  = {
  mebdjjncnfg;
  bmocnnjijdp;
}

let rec default_oponljijhpa 
  ?pdamihhlilg:((pdamihhlilg:aipongicanm) = default_aipongicanm ())
  ?jejijnmpehb:((jejijnmpehb:eapbfaifbaf option) = None)
  () : oponljijhpa  = {
  pdamihhlilg;
  jejijnmpehb;
}

let rec default_gmljciklojl 
  ?hckegfdpdml:((hckegfdpdml:int32) = 0l)
  () : gmljciklojl  = {
  hckegfdpdml;
}

let rec default_ljnlgoohfil 
  ?pcmhnpbecpk:((pcmhnpbecpk:egokacjfaen list) = [])
  ?data:((data:kgmgbcpimab option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : ljnlgoohfil  = {
  pcmhnpbecpk;
  data;
  retcode;
}

let rec default_djdbegggakl 
  ?data:((data:kgmgbcpimab option) = None)
  () : djdbegggakl  = {
  data;
}

let rec default_iffhpbefklj 
  ?djipmgbjenc:((djipmgbjenc:kgmgbcpimab option) = None)
  () : iffhpbefklj  = {
  djipmgbjenc;
}

let rec default_egbdfmaknfn 
  ?pajkkaimfck:((pajkkaimfck:kgmgbcpimab option) = None)
  ?bhppkjnffbj:((bhppkjnffbj:kgmgbcpimab option) = None)
  () : egbdfmaknfn  = {
  pajkkaimfck;
  bhppkjnffbj;
}

let rec default_gjlkimboidh 
  ?cieklmgokpd:((cieklmgokpd:int32) = 0l)
  ?bbfkjghijja:((bbfkjghijja:denoijbaaod option) = None)
  ?gbglgkegimi:((gbglgkegimi:oponljijhpa list) = [])
  ?anajpndkpme:((anajpndkpme:denoijbaaod option) = None)
  () : gjlkimboidh  = {
  cieklmgokpd;
  bbfkjghijja;
  gbglgkegimi;
  anajpndkpme;
}

let rec default_bcgbgdmfikl 
  ?mnnnjdmpfni:((mnnnjdmpfni:bool) = false)
  ?retcode:((retcode:int32) = 0l)
  ?pondkmjicai:((pondkmjicai:eapbfaifbaf option) = None)
  ?cieklmgokpd:((cieklmgokpd:int32) = 0l)
  () : bcgbgdmfikl  = {
  mnnnjdmpfni;
  retcode;
  pondkmjicai;
  cieklmgokpd;
}

let rec default_nbmkjlidaci 
  ?state:((state:dblancjjchp) = default_dblancjjchp ())
  ?hp:((hp:int32) = 0l)
  ?ajdemhpcfmo:((ajdemhpcfmo:int32) = 0l)
  ?oabkcckodej:((oabkcckodej:int32) = 0l)
  ?lpgaoolbbfm:((lpgaoolbbfm:int32) = 0l)
  () : nbmkjlidaci  = {
  state;
  hp;
  ajdemhpcfmo;
  oabkcckodej;
  lpgaoolbbfm;
}

let rec default_bimejcgcjoo 
  ?choodflmenc:((choodflmenc:int32) = 0l)
  () : bimejcgcjoo  = {
  choodflmenc;
}

let rec default_hmhegjjneid 
  ?choodflmenc:((choodflmenc:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : hmhegjjneid  = {
  choodflmenc;
  retcode;
}

let rec default_baebomlpnfe 
  ?fbncflddjfe:((fbncflddjfe:int32) = 0l)
  ?choodflmenc:((choodflmenc:int32) = 0l)
  () : baebomlpnfe  = {
  fbncflddjfe;
  choodflmenc;
}

let rec default_eldpaljlpmj 
  ?data:((data:kgmgbcpimab option) = None)
  () : eldpaljlpmj  = {
  data;
}

let rec default_kpjdlplhkhp () = (Cmd_friend_type_none:kpjdlplhkhp)

let rec default_pjgopgmffha () = (Friend_online_status_offline:pjgopgmffha)

let rec default_mfhcehbfeng () = (Friend_apply_source_none:mfhcehbfeng)

let rec default_assist_simple_info 
  ?pos:((pos:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?avatar_id:((avatar_id:int32) = 0l)
  ?dressed_skin_id:((dressed_skin_id:int32) = 0l)
  () : assist_simple_info  = {
  pos;
  level;
  avatar_id;
  dressed_skin_id;
}

let rec default_jdfpbmlnbjp 
  ?nknakibilel:((nknakibilel:int32) = 0l)
  ?nncdpbdokbj:((nncdpbdokbj:int32) = 0l)
  ?group_id:((group_id:int32) = 0l)
  ?jfekengnnak:((jfekengnnak:int32) = 0l)
  () : jdfpbmlnbjp  = {
  nknakibilel;
  nncdpbdokbj;
  group_id;
  jfekengnnak;
}

let rec default_oikoefdidbh 
  ?kdhdjdloanj:((kdhdjdloanj:int32) = 0l)
  () : oikoefdidbh  = {
  kdhdjdloanj;
}

let rec default_alehlddneko 
  ?hdaomndcpma:((hdaomndcpma:int32 list) = [])
  ?kdhdjdloanj:((kdhdjdloanj:int32) = 0l)
  () : alehlddneko  = {
  hdaomndcpma;
  kdhdjdloanj;
}

let rec default_bacbclhpcng 
  ?aiifbempaee:((aiifbempaee:alehlddneko option) = None)
  () : bacbclhpcng  = {
  aiifbempaee;
}

let rec default_ljpfhbjfjcm 
  ?kdnemeljjld:((kdnemeljjld:oikoefdidbh option) = None)
  ?lbjomgooifa:((lbjomgooifa:bacbclhpcng option) = None)
  () : ljpfhbjfjcm  = {
  kdnemeljjld;
  lbjomgooifa;
}

let rec default_cbnkemlblen 
  ?gapjajnhglk:((gapjajnhglk:okfachfdjei) = default_okfachfdjei ())
  ?mbomdpgaieo:((mbomdpgaieo:ljpfhbjfjcm option) = None)
  ?abefnadegid:((abefnadegid:jdfpbmlnbjp option) = None)
  () : cbnkemlblen  = {
  gapjajnhglk;
  mbomdpgaieo;
  abefnadegid;
}

let rec default_pgpeepnclnj 
  ?alamlcfpglh:((alamlcfpglh:int32) = 0l)
  ?cpkikinabfj:((cpkikinabfj:string) = "")
  ?ppdkoalbecc:((ppdkoalbecc:assist_simple_info list) = [])
  ?meijfajkmmp:((meijfajkmmp:string) = "")
  ?dbgjcbcfaec:((dbgjcbcfaec:platform_type) = default_platform_type ())
  ?fkgipkjgjob:((fkgipkjgjob:int64) = 0L)
  ?bmfhibobmhp:((bmfhibobmhp:int32) = 0l)
  ?uid:((uid:int32) = 0l)
  ?pghdpnfjbla:((pghdpnfjbla:bool) = false)
  ?nickname:((nickname:string) = "")
  ?helfdhoenhb:((helfdhoenhb:pjgopgmffha) = default_pjgopgmffha ())
  ?level:((level:int32) = 0l)
  ?dmdcpeiefkg:((dmdcpeiefkg:string) = "")
  () : pgpeepnclnj  = {
  alamlcfpglh;
  cpkikinabfj;
  ppdkoalbecc;
  meijfajkmmp;
  dbgjcbcfaec;
  fkgipkjgjob;
  bmfhibobmhp;
  uid;
  pghdpnfjbla;
  nickname;
  helfdhoenhb;
  level;
  dmdcpeiefkg;
}

let rec default_iflncpapggb 
  ?hechfpdiado:((hechfpdiado:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?exp:((exp:int32) = 0l)
  ?promotion:((promotion:int32) = 0l)
  ?rank:((rank:int32) = 0l)
  () : iflncpapggb  = {
  hechfpdiado;
  level;
  exp;
  promotion;
  rank;
}

let rec default_ngdlamibchp 
  ?level:((level:int32) = 0l)
  ?sub_affix_list:((sub_affix_list:relic_affix list) = [])
  ?hechfpdiado:((hechfpdiado:int32) = 0l)
  ?fgmdoekgpee:((fgmdoekgpee:int32) = 0l)
  ?exp:((exp:int32) = 0l)
  ?main_affix_id:((main_affix_id:int32) = 0l)
  () : ngdlamibchp  = {
  level;
  sub_affix_list;
  hechfpdiado;
  fgmdoekgpee;
  exp;
  main_affix_id;
}

let rec default_display_avatar_detail_info 
  ?dressed_skin_id:((dressed_skin_id:int32) = 0l)
  ?avatar_id:((avatar_id:int32) = 0l)
  ?equipment:((equipment:iflncpapggb option) = None)
  ?pos:((pos:int32) = 0l)
  ?exp:((exp:int32) = 0l)
  ?rank:((rank:int32) = 0l)
  ?skilltree_list:((skilltree_list:avatar_skill_tree list) = [])
  ?level:((level:int32) = 0l)
  ?promotion:((promotion:int32) = 0l)
  ?relic_list:((relic_list:ngdlamibchp list) = [])
  () : display_avatar_detail_info  = {
  dressed_skin_id;
  avatar_id;
  equipment;
  pos;
  exp;
  rank;
  skilltree_list;
  level;
  promotion;
  relic_list;
}

let rec default_bnfohmhcfeh 
  ?lejlbfifpef:((lejlbfifpef:int32) = 0l)
  ?japackcehbb:((japackcehbb:int32) = 0l)
  ?apjnodeccnm:((apjnodeccnm:int32) = 0l)
  ?eedccmgbfah:((eedccmgbfah:int32) = 0l)
  ?gnnbopjfgma:((gnnbopjfgma:int32) = 0l)
  () : bnfohmhcfeh  = {
  lejlbfifpef;
  japackcehbb;
  apjnodeccnm;
  eedccmgbfah;
  gnnbopjfgma;
}

let rec default_hcpeplljigk 
  ?kcpbmdfjgge:((kcpbmdfjgge:int32) = 0l)
  ?jhgeicgbakc:((jhgeicgbakc:int32) = 0l)
  ?pfcjkljpfid:((pfcjkljpfid:int32) = 0l)
  ?befjfnlleio:((befjfnlleio:int32) = 0l)
  ?hciobbpgkbe:((hciobbpgkbe:bnfohmhcfeh option) = None)
  ?inmbaeohokj:((inmbaeohokj:int32) = 0l)
  ?fdncldhjmjf:((fdncldhjmjf:int32) = 0l)
  ?kmkabfpafnk:((kmkabfpafnk:int32) = 0l)
  ?kpglihhnkac:((kpglihhnkac:int32) = 0l)
  () : hcpeplljigk  = {
  kcpbmdfjgge;
  jhgeicgbakc;
  pfcjkljpfid;
  befjfnlleio;
  hciobbpgkbe;
  inmbaeohokj;
  fdncldhjmjf;
  kmkabfpafnk;
  kpglihhnkac;
}

let rec default_diifjpbaoob 
  ?bkpaceckiia:((bkpaceckiia:bool) = false)
  ?jcnincccakl:((jcnincccakl:bool) = false)
  ?ggodaiohjif:((ggodaiohjif:bool) = false)
  ?hhcgdeocomi:((hhcgdeocomi:bool) = false)
  ?kmjdmefgcck:((kmjdmefgcck:bool) = false)
  () : diifjpbaoob  = {
  bkpaceckiia;
  jcnincccakl;
  ggodaiohjif;
  hhcgdeocomi;
  kmjdmefgcck;
}

let rec default_mbndajpeago 
  ?cjbdijhedpo:((cjbdijhedpo:jdfpbmlnbjp list) = [])
  ?mbomdpgaieo:((mbomdpgaieo:ljpfhbjfjcm option) = None)
  () : mbndajpeago  = {
  cjbdijhedpo;
  mbomdpgaieo;
}

let rec default_pnmjedikenb 
  ?nickname:((nickname:string) = "")
  ?level:((level:int32) = 0l)
  ?bmfhibobmhp:((bmfhibobmhp:int32) = 0l)
  ?dbgjcbcfaec:((dbgjcbcfaec:platform_type) = default_platform_type ())
  ?world_level:((world_level:int32) = 0l)
  ?elipgnpmlip:((elipgnpmlip:diifjpbaoob option) = None)
  ?mobolckmgai:((mobolckmgai:display_avatar_detail_info list) = [])
  ?meijfajkmmp:((meijfajkmmp:string) = "")
  ?iiengikgngm:((iiengikgngm:int32) = 0l)
  ?uid:((uid:int32) = 0l)
  ?hlbeedlemca:((hlbeedlemca:mbndajpeago option) = None)
  ?cpkikinabfj:((cpkikinabfj:string) = "")
  ?flenmbplfhl:((flenmbplfhl:bool) = false)
  ?pghdpnfjbla:((pghdpnfjbla:bool) = false)
  ?gkhnbcojdge:((gkhnbcojdge:display_avatar_detail_info list) = [])
  ?kikoianeodj:((kikoianeodj:int32) = 0l)
  ?dmdcpeiefkg:((dmdcpeiefkg:string) = "")
  ?nodnhhligdj:((nodnhhligdj:hcpeplljigk option) = None)
  () : pnmjedikenb  = {
  nickname;
  level;
  bmfhibobmhp;
  dbgjcbcfaec;
  world_level;
  elipgnpmlip;
  mobolckmgai;
  meijfajkmmp;
  iiengikgngm;
  uid;
  hlbeedlemca;
  cpkikinabfj;
  flenmbplfhl;
  pghdpnfjbla;
  gkhnbcojdge;
  kikoianeodj;
  dmdcpeiefkg;
  nodnhhligdj;
}

let rec default_kjckllbmhne 
  ?fojelnklcjp:((fojelnklcjp:cbnkemlblen option) = None)
  ?jjgkcejglif:((jjgkcejglif:playing_state) = default_playing_state ())
  ?fbgeifghjde:((fbgeifghjde:string) = "")
  ?fgilieldboi:((fgilieldboi:int64) = 0L)
  ?bhfagdddack:((bhfagdddack:bool) = false)
  ?ndplnghkgbk:((ndplnghkgbk:pgpeepnclnj option) = None)
  () : kjckllbmhne  = {
  fojelnklcjp;
  jjgkcejglif;
  fbgeifghjde;
  fgilieldboi;
  bhfagdddack;
  ndplnghkgbk;
}

let rec default_pemmdkhpdfp 
  ?bnjacmafmid:((bnjacmafmid:int64) = 0L)
  ?ndplnghkgbk:((ndplnghkgbk:pgpeepnclnj option) = None)
  () : pemmdkhpdfp  = {
  bnjacmafmid;
  ndplnghkgbk;
}

let rec default_pihaeebhppc 
  ?ndplnghkgbk:((ndplnghkgbk:pgpeepnclnj option) = None)
  ?lgibggmcnal:((lgibggmcnal:bool) = false)
  () : pihaeebhppc  = {
  ndplnghkgbk;
  lgibggmcnal;
}

let rec default_mejkeeapkfn 
  ?ndplnghkgbk:((ndplnghkgbk:pgpeepnclnj option) = None)
  ?hiabljmppan:((hiabljmppan:display_avatar_detail_info option) = None)
  () : mejkeeapkfn  = {
  ndplnghkgbk;
  hiabljmppan;
}

let rec default_agnjchncimi 
  ?dmdcpeiefkg:((dmdcpeiefkg:string) = "")
  ?fbgeifghjde:((fbgeifghjde:string) = "")
  ?bmfhibobmhp:((bmfhibobmhp:int32) = 0l)
  ?foiahmcbchb:((foiahmcbchb:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?dbgjcbcfaec:((dbgjcbcfaec:platform_type) = default_platform_type ())
  ?nickname:((nickname:string) = "")
  ?uid:((uid:int32) = 0l)
  () : agnjchncimi  = {
  dmdcpeiefkg;
  fbgeifghjde;
  bmfhibobmhp;
  foiahmcbchb;
  level;
  dbgjcbcfaec;
  nickname;
  uid;
}

let rec default_eijlpffenlk 
  ?knbgpmdmbkc:((knbgpmdmbkc:int32) = 0l)
  ?ndplnghkgbk:((ndplnghkgbk:pgpeepnclnj option) = None)
  ?fbgeifghjde:((fbgeifghjde:string) = "")
  ?bopehbonhll:((bopehbonhll:int32) = 0l)
  ?lpgaoolbbfm:((lpgaoolbbfm:int32) = 0l)
  ?ifckabbiilb:((ifckabbiilb:int32) = 0l)
  ?kbognlnlcle:((kbognlnlcle:mdhdfopebgl list) = [])
  () : eijlpffenlk  = {
  knbgpmdmbkc;
  ndplnghkgbk;
  fbgeifghjde;
  bopehbonhll;
  lpgaoolbbfm;
  ifckabbiilb;
  kbognlnlcle;
}

let rec default_mpdiaaijbhd 
  ?group_id:((group_id:int32) = 0l)
  ?jfekengnnak:((jfekengnnak:int32) = 0l)
  ?icoibnhjhec:((icoibnhjhec:khjddbffahk option) = None)
  ?ckbeijmmbjp:((ckbeijmmbjp:imiaeepmcje option) = None)
  ?idcpcalknen:((idcpcalknen:cinndmfnbij option) = None)
  () : mpdiaaijbhd  = {
  group_id;
  jfekengnnak;
  icoibnhjhec;
  ckbeijmmbjp;
  idcpcalknen;
}

let rec default_kgljkmgbdnk 
  ?ppfogiaojdp:((ppfogiaojdp:int32 list) = [])
  ?bfkeedlccfk:((bfkeedlccfk:bool) = false)
  ?hlmejkcafbp:((hlmejkcafbp:int64) = 0L)
  ?bnhepammdhc:((bnhepammdhc:int32) = 0l)
  ?gehhogbhomj:((gehhogbhomj:bool) = false)
  ?lnaconbgbdk:((lnaconbgbdk:int32) = 0l)
  ?icplhhghkol:((icplhhghkol:int64) = 0L)
  () : kgljkmgbdnk  = {
  ppfogiaojdp;
  bfkeedlccfk;
  hlmejkcafbp;
  bnhepammdhc;
  gehhogbhomj;
  lnaconbgbdk;
  icplhhghkol;
}

let rec default_mhmgdpddade 
  ?level:((level:int32) = 0l)
  ?id:((id:int32) = 0l)
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  ?slot:((slot:int32) = 0l)
  () : mhmgdpddade  = {
  level;
  id;
  avatar_type;
  slot;
}

let rec default_jfbmlneajki 
  ?pkkfndimmio:((pkkfndimmio:int32) = 0l)
  ?level:((level:int32) = 0l)
  () : jfbmlneajki  = {
  pkkfndimmio;
  level;
}

let rec default_mmkjkmlkpmd 
  ?avatar_list:((avatar_list:mhmgdpddade list) = [])
  ?pcpkkbfpbeb:((pcpkkbfpbeb:int32 list) = [])
  ?buff_list:((buff_list:jfbmlneajki list) = [])
  () : mmkjkmlkpmd  = {
  avatar_list;
  pcpkkbfpbeb;
  buff_list;
}

let rec default_icajkkidheg 
  ?lbbcjjkledl:((lbbcjjkledl:int32) = 0l)
  ?jcjkjhddkcf:((jcjkjhddkcf:int32) = 0l)
  ?lpgaoolbbfm:((lpgaoolbbfm:int32) = 0l)
  () : icajkkidheg  = {
  lbbcjjkledl;
  jcjkjhddkcf;
  lpgaoolbbfm;
}

let rec default_dpklcgjckmo 
  ?mahiocfcikf:((mahiocfcikf:int32) = 0l)
  ?lifplggephc:((lifplggephc:float) = 0.)
  ?hkpeeaonmgo:((hkpeeaonmgo:icajkkidheg list) = [])
  () : dpklcgjckmo  = {
  mahiocfcikf;
  lifplggephc;
  hkpeeaonmgo;
}

let rec default_dgolpjpbccp 
  ?mhamoedchne:((mhamoedchne:kgljkmgbdnk option) = None)
  ?mmnebfbnoni:((mmnebfbnoni:bool) = false)
  ?cfeaibpkhec:((cfeaibpkhec:kgljkmgbdnk option) = None)
  ?lbilkiobkao:((lbilkiobkao:bool) = false)
  ?nodnhhligdj:((nodnhhligdj:mmkjkmlkpmd option) = None)
  ?ggdaffjnmpa:((ggdaffjnmpa:int32) = 0l)
  ?dlmhmmgphkm:((dlmhmmgphkm:item_list option) = None)
  ?jaedphkccgk:((jaedphkccgk:int32) = 0l)
  ?lkeeonadhee:((lkeeonadhee:int32) = 0l)
  ?dhopbododmb:((dhopbododmb:item_list option) = None)
  ?bcjeehihkca:((bcjeehihkca:item_list option) = None)
  ?lpgaoolbbfm:((lpgaoolbbfm:int32) = 0l)
  ?cniiijodkjf:((cniiijodkjf:int32) = 0l)
  ?eebkfnjjooj:((eebkfnjjooj:dpklcgjckmo option) = None)
  ?gahcmamleil:((gahcmamleil:int32) = 0l)
  ?ehghgnheijn:((ehghgnheijn:int32) = 0l)
  ?ljfcnfpdmea:((ljfcnfpdmea:ffjpgmkmopp option) = None)
  () : dgolpjpbccp  = {
  mhamoedchne;
  mmnebfbnoni;
  cfeaibpkhec;
  lbilkiobkao;
  nodnhhligdj;
  ggdaffjnmpa;
  dlmhmmgphkm;
  jaedphkccgk;
  lkeeonadhee;
  dhopbododmb;
  bcjeehihkca;
  lpgaoolbbfm;
  cniiijodkjf;
  eebkfnjjooj;
  gahcmamleil;
  ehghgnheijn;
  ljfcnfpdmea;
}

let rec default_cdahklgefeg 
  ?lnjapmhfcck:((lnjapmhfcck:int32) = 0l)
  ?mjhepdejndc:((mjhepdejndc:dgolpjpbccp option) = None)
  () : cdahklgefeg  = {
  lnjapmhfcck;
  mjhepdejndc;
}

let rec default_jebbgppcabc 
  ?njnkcjmkgkn:((njnkcjmkgkn:bool) = false)
  ?gmfapmahfme:((gmfapmahfme:int32) = 0l)
  ?hocpnpbbbeh:((hocpnpbbbeh:int32) = 0l)
  () : jebbgppcabc  = {
  njnkcjmkgkn;
  gmfapmahfme;
  hocpnpbbbeh;
}

let rec default_fnpekjdgohi 
  ?fnecpidkhjb:((fnecpidkhjb:int32) = 0l)
  ?njnkcjmkgkn:((njnkcjmkgkn:bool) = false)
  ?ophdaipbocc:((ophdaipbocc:int32) = 0l)
  ?dkaodoghgcb:((dkaodoghgcb:int32) = 0l)
  () : fnpekjdgohi  = {
  fnecpidkhjb;
  njnkcjmkgkn;
  ophdaipbocc;
  dkaodoghgcb;
}

let rec default_ddpeohmlklk 
  ?dgfahpgkgmf:((dgfahpgkgmf:int32) = 0l)
  ?lfleifodebe:((lfleifodebe:blhhnmhcodp option) = None)
  ?fhpollcfknc:((fhpollcfknc:int32) = 0l)
  ?ljlinldbbob:((ljlinldbbob:int32) = 0l)
  ?aeheogaoenf:((aeheogaoenf:int32) = 0l)
  () : ddpeohmlklk  = {
  dgfahpgkgmf;
  lfleifodebe;
  fhpollcfknc;
  ljlinldbbob;
  aeheogaoenf;
}

let rec default_ebeioekofed 
  ?hdjffnlmlig:((hdjffnlmlig:int32) = 0l)
  ?dlookjklpff:((dlookjklpff:int32) = 0l)
  () : ebeioekofed  = {
  hdjffnlmlig;
  dlookjklpff;
}

let rec default_dmgmpocpddc () = (Rogue_tourn_level_status_none:dmgmpocpddc)

let rec default_kgcifmhjoag () = (Rogue_tourn_room_status_none:kgcifmhjoag)

let rec default_manmbbkbglg 
  ?dbphcockkcj:((dbphcockkcj:int32) = 0l)
  ?status:((status:kgcifmhjoag) = default_kgcifmhjoag ())
  ?mfdelanaicp:((mfdelanaicp:int32) = 0l)
  ?lkegecjeppg:((lkegecjeppg:int32) = 0l)
  () : manmbbkbglg  = {
  dbphcockkcj;
  status;
  mfdelanaicp;
  lkegecjeppg;
}

let rec default_nioandilghd () = (Rogue_tourn_layer_status_none:nioandilghd)

let rec default_gadcmbokpdi 
  ?kemnjbikaod:((kemnjbikaod:int32) = 0l)
  ?dbjdnolegif:((dbjdnolegif:int32) = 0l)
  ?bfbahjaloli:((bfbahjaloli:manmbbkbglg list) = [])
  ?kdkdheomlmo:((kdkdheomlmo:int32) = 0l)
  ?status:((status:nioandilghd) = default_nioandilghd ())
  () : gadcmbokpdi  = {
  kemnjbikaod;
  dbjdnolegif;
  bfbahjaloli;
  kdkdheomlmo;
  status;
}

let rec default_meahibhbfon () = (Rogue_tourn_settle_reason_none:meahibhbfon)

let rec default_cabnkomlnjd 
  ?status:((status:dmgmpocpddc) = default_dmgmpocpddc ())
  ?fogjohmngpc:((fogjohmngpc:gadcmbokpdi list) = [])
  ?chmmbcgmfho:((chmmbcgmfho:int32) = 0l)
  ?mgdnainpahe:((mgdnainpahe:meahibhbfon) = default_meahibhbfon ())
  () : cabnkomlnjd  = {
  status;
  fogjohmngpc;
  chmmbcgmfho;
  mgdnainpahe;
}

let rec default_gghlaggamjk 
  ?ikddpmdgcaj:((ikddpmdgcaj:int32 list) = [])
  () : gghlaggamjk  = {
  ikddpmdgcaj;
}

let rec default_bfdkodpihgf 
  ?iiiohnncjgi:((iiiohnncjgi:bool) = false)
  () : bfdkodpihgf  = {
  iiiohnncjgi;
}

let rec default_gaijmpghoii 
  ?bgghceflbbi:((bgghceflbbi:ebeioekofed option) = None)
  ?level:((level:cabnkomlnjd option) = None)
  ?lineup:((lineup:dmdkacfejli option) = None)
  ?dbgaojmndmc:((dbgaojmndmc:cllnjecndkl option) = None)
  ?hjgoaobfdgi:((hjgoaobfdgi:hhddmdcflml option) = None)
  ?bcgeihcnbig:((bcgeihcnbig:gghlaggamjk option) = None)
  ?bdmoacndcoa:((bdmoacndcoa:oobhdlegikm option) = None)
  ?memmgmibhdj:((memmgmibhdj:mbokaahegfk option) = None)
  ?jhjpgbkblag:((jhjpgbkblag:cgcbkhnbohm option) = None)
  ?nhollbiknag:((nhollbiknag:bfdkodpihgf option) = None)
  () : gaijmpghoii  = {
  bgghceflbbi;
  level;
  lineup;
  dbgaojmndmc;
  hjgoaobfdgi;
  bcgeihcnbig;
  bdmoacndcoa;
  memmgmibhdj;
  jhjpgbkblag;
  nhollbiknag;
}

let rec default_hpeecfakjeg 
  ?bemhlbcocdg:((bemhlbcocdg:ddpeohmlklk option) = None)
  ?gblplbejghd:((gblplbejghd:gaijmpghoii option) = None)
  () : hpeecfakjeg  = {
  bemhlbcocdg;
  gblplbejghd;
}

let rec default_fpfmjggcnld 
  ?njnkcjmkgkn:((njnkcjmkgkn:bool) = false)
  ?kfpjcehiika:((kfpjcehiika:int32) = 0l)
  ?mekbmaknkhf:((mekbmaknkhf:int32) = 0l)
  ?afokcapjpep:((afokcapjpep:int32) = 0l)
  () : fpfmjggcnld  = {
  njnkcjmkgkn;
  kfpjcehiika;
  mekbmaknkhf;
  afokcapjpep;
}

let rec default_bninelnejfi 
  ?odcloijfnip:((odcloijfnip:jebbgppcabc option) = None)
  ?ofjdnoboneb:((ofjdnoboneb:fnpekjdgohi option) = None)
  ?nnibggkcbdj:((nnibggkcbdj:lineup_info option) = None)
  ?niiingfcpol:((niiingfcpol:hpeecfakjeg option) = None)
  ?dceibjclkbb:((dceibjclkbb:fpfmjggcnld option) = None)
  () : bninelnejfi  = {
  odcloijfnip;
  ofjdnoboneb;
  nnibggkcbdj;
  niiingfcpol;
  dceibjclkbb;
}

let rec default_emmlcghkhkc 
  ?agiiieglegk:((agiiieglegk:int32) = 0l)
  ?pdbobmjedbc:((pdbobmjedbc:bninelnejfi option) = None)
  () : emmlcghkhkc  = {
  agiiieglegk;
  pdbobmjedbc;
}

let rec default_adlmgdkboeo 
  ?mgglchabnnh:((mgglchabnnh:int32) = 0l)
  ?ocboiocjeko:((ocboiocjeko:int32) = 0l)
  ?ggdaffjnmpa:((ggdaffjnmpa:int32) = 0l)
  () : adlmgdkboeo  = {
  mgglchabnnh;
  ocboiocjeko;
  ggdaffjnmpa;
}

let rec default_aloefgohkle 
  ?ggdaffjnmpa:((ggdaffjnmpa:int32) = 0l)
  ?nnckjbegijk:((nnckjbegijk:int32) = 0l)
  ?lndeejkkcjk:((lndeejkkcjk:int32) = 0l)
  ?dlajcfloffl:((dlajcfloffl:int32) = 0l)
  () : aloefgohkle  = {
  ggdaffjnmpa;
  nnckjbegijk;
  lndeejkkcjk;
  dlajcfloffl;
}

let rec default_ngpbemiajal 
  ?nbjmifjbkmg:((nbjmifjbkmg:cdahklgefeg option) = None)
  ?fbagcbhggge:((fbagcbhggge:emmlcghkhkc option) = None)
  ?kolfbcfamem:((kolfbcfamem:adlmgdkboeo option) = None)
  ?cbkjlnjjbmg:((cbkjlnjjbmg:aloefgohkle option) = None)
  () : ngpbemiajal  = {
  nbjmifjbkmg;
  fbagcbhggge;
  kolfbcfamem;
  cbkjlnjjbmg;
}

let rec default_mllfmkokjfk 
  ?ggdaffjnmpa:((ggdaffjnmpa:int32) = 0l)
  () : mllfmkokjfk  = {
  ggdaffjnmpa;
}

let rec default_nioigppbpeh 
  ?ggdaffjnmpa:((ggdaffjnmpa:int32) = 0l)
  ?dmacejfjohm:((dmacejfjohm:int32) = 0l)
  () : nioigppbpeh  = {
  ggdaffjnmpa;
  dmacejfjohm;
}

let rec default_nikomgcpamg 
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  () : nikomgcpamg  = {
  dcpoeimegli;
}

let rec default_nddaafenheh 
  ?bmojlopgked:((bmojlopgked:development_type) = default_development_type ())
  ?time:((time:int64) = 0L)
  ?ceofecgihpd:((ceofecgihpd:mllfmkokjfk option) = None)
  ?jkkhadmdbpn:((jkkhadmdbpn:nikomgcpamg option) = None)
  ?avatar_id:((avatar_id:int32) = 0l)
  ?dkgkfeeajpd:((dkgkfeeajpd:int32) = 0l)
  ?cpkoeodfpmg:((cpkoeodfpmg:int32) = 0l)
  ?lfhojlfbgdi:((lfhojlfbgdi:nioigppbpeh option) = None)
  () : nddaafenheh  = {
  bmojlopgked;
  time;
  ceofecgihpd;
  jkkhadmdbpn;
  avatar_id;
  dkgkfeeajpd;
  cpkoeodfpmg;
  lfhojlfbgdi;
}

let rec default_nnpcbhahcmk = ()

let rec default_fkpeelodgle 
  ?lengogafimb:((lengogafimb:kjckllbmhne list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?idfijahanmn:((idfijahanmn:pgpeepnclnj list) = [])
  () : fkpeelodgle  = {
  lengogafimb;
  retcode;
  idfijahanmn;
}

let rec default_dnpoaimlole 
  ?uid:((uid:int32) = 0l)
  () : dnpoaimlole  = {
  uid;
}

let rec default_dghjmjaopjm 
  ?retcode:((retcode:int32) = 0l)
  ?bnjanfgfnjh:((bnjanfgfnjh:pnmjedikenb option) = None)
  () : dghjmjaopjm  = {
  retcode;
  bnjanfgfnjh;
}

let rec default_doifbfcpogl = ()

let rec default_ndmajbinolo 
  ?retcode:((retcode:int32) = 0l)
  ?deiipomgdjf:((deiipomgdjf:int32 list) = [])
  ?aodlekmnldh:((aodlekmnldh:pemmdkhpdfp list) = [])
  () : ndmajbinolo  = {
  retcode;
  deiipomgdjf;
  aodlekmnldh;
}

let rec default_pdongajedee 
  ?gnfpnbgacdf:((gnfpnbgacdf:mfhcehbfeng) = default_mfhcehbfeng ())
  ?uid:((uid:int32) = 0l)
  () : pdongajedee  = {
  gnfpnbgacdf;
  uid;
}

let rec default_jhiedmcehho 
  ?uid:((uid:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : jhiedmcehho  = {
  uid;
  retcode;
}

let rec default_clkkkmodmcj 
  ?kfapmddjdec:((kfapmddjdec:pemmdkhpdfp option) = None)
  () : clkkkmodmcj  = {
  kfapmddjdec;
}

let rec default_gohfgmmdkpn 
  ?pieecaekfgf:((pieecaekfgf:bool) = false)
  ?uid:((uid:int32) = 0l)
  () : gohfgmmdkpn  = {
  pieecaekfgf;
  uid;
}

let rec default_mbnhlhdekjd 
  ?retcode:((retcode:int32) = 0l)
  ?pieecaekfgf:((pieecaekfgf:bool) = false)
  ?imlfgeehobj:((imlfgeehobj:kjckllbmhne option) = None)
  ?uid:((uid:int32) = 0l)
  () : mbnhlhdekjd  = {
  retcode;
  pieecaekfgf;
  imlfgeehobj;
  uid;
}

let rec default_gpgbheghmdg 
  ?pieecaekfgf:((pieecaekfgf:bool) = false)
  ?uid:((uid:int32) = 0l)
  ?imlfgeehobj:((imlfgeehobj:kjckllbmhne option) = None)
  () : gpgbheghmdg  = {
  pieecaekfgf;
  uid;
  imlfgeehobj;
}

let rec default_idjkfjeodbh 
  ?uid:((uid:int32) = 0l)
  ?egidfmlgcjo:((egidfmlgcjo:int32) = 0l)
  () : idjkfjeodbh  = {
  uid;
  egidfmlgcjo;
}

let rec default_cahgejgdeoi 
  ?uid:((uid:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : cahgejgdeoi  = {
  uid;
  retcode;
}

let rec default_faecclcogab 
  ?uid:((uid:int32) = 0l)
  () : faecclcogab  = {
  uid;
}

let rec default_hpipfdbgeii 
  ?uid:((uid:int32) = 0l)
  () : hpipfdbgeii  = {
  uid;
}

let rec default_ogkjjkbjnfk 
  ?retcode:((retcode:int32) = 0l)
  ?black_info:((black_info:pgpeepnclnj option) = None)
  () : ogkjjkbjnfk  = {
  retcode;
  black_info;
}

let rec default_golhljkpnga 
  ?uid:((uid:int32) = 0l)
  () : golhljkpnga  = {
  uid;
}

let rec default_dndjfjinahl 
  ?nbaheekiadi:((nbaheekiadi:bool) = false)
  () : dndjfjinahl  = {
  nbaheekiadi;
}

let rec default_nlcmgpajimj 
  ?giagnhmaocd:((giagnhmaocd:pihaeebhppc list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : nlcmgpajimj  = {
  giagnhmaocd;
  retcode;
}

let rec default_injlohpekga 
  ?fbgeifghjde:((fbgeifghjde:string) = "")
  ?mgdnainpahe:((mgdnainpahe:int32) = 0l)
  ?uid:((uid:int32) = 0l)
  () : injlohpekga  = {
  fbgeifghjde;
  mgdnainpahe;
  uid;
}

let rec default_kgceiojjkba 
  ?retcode:((retcode:int32) = 0l)
  ?uid:((uid:int32) = 0l)
  ?fbgeifghjde:((fbgeifghjde:string) = "")
  () : kgceiojjkba  = {
  retcode;
  uid;
  fbgeifghjde;
}

let rec default_clcipohohgg 
  ?hpcebekndge:((hpcebekndge:int32) = 0l)
  ?hfnnbmdgpld:((hfnnbmdgpld:string) = "")
  ?uid:((uid:int32) = 0l)
  () : clcipohohgg  = {
  hpcebekndge;
  hfnnbmdgpld;
  uid;
}

let rec default_kabkahihoid 
  ?retcode:((retcode:int32) = 0l)
  () : kabkahihoid  = {
  retcode;
}

let rec default_piejofpnlmi 
  ?uid:((uid:int32) = 0l)
  () : piejofpnlmi  = {
  uid;
}

let rec default_iekkoalegef 
  ?retcode:((retcode:int32) = 0l)
  ?uid:((uid:int32) = 0l)
  () : iekkoalegef  = {
  retcode;
  uid;
}

let rec default_pdfhmlndkna 
  ?pknbckelhkm:((pknbckelhkm:int32 list) = [])
  ?nbaheekiadi:((nbaheekiadi:bool) = false)
  () : pdfhmlndkna  = {
  pknbckelhkm;
  nbaheekiadi;
}

let rec default_acfamcmejbi 
  ?aimapkogmab:((aimapkogmab:int32 list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?bemfclhconk:((bemfclhconk:pgpeepnclnj list) = [])
  () : acfamcmejbi  = {
  aimapkogmab;
  retcode;
  bemfclhconk;
}

let rec default_ijbekhlpglj 
  ?nbaheekiadi:((nbaheekiadi:bool) = false)
  ?kboahkmenfc:((kboahkmenfc:bool) = false)
  () : ijbekhlpglj  = {
  nbaheekiadi;
  kboahkmenfc;
}

let rec default_cdmnbfnpoci 
  ?retcode:((retcode:int32) = 0l)
  ?dhmebnhcebe:((dhmebnhcebe:mejkeeapkfn list) = [])
  () : cdmnbfnpoci  = {
  retcode;
  dhmebnhcebe;
}

let rec default_dghpjblnheh 
  ?avatar_id:((avatar_id:int32) = 0l)
  ?uid:((uid:int32) = 0l)
  () : dghpjblnheh  = {
  avatar_id;
  uid;
}

let rec default_kkjeclpipmd 
  ?uid:((uid:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?avatar_id:((avatar_id:int32) = 0l)
  () : kkjeclpipmd  = {
  uid;
  retcode;
  avatar_id;
}

let rec default_ijcmhjpfbfk = ()

let rec default_eiogijifkli 
  ?lbmpcolonhb:((lbmpcolonhb:mejkeeapkfn option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : eiogijifkli  = {
  lbmpcolonhb;
  retcode;
}

let rec default_dgnhfokcmpc = ()

let rec default_lbdhkabpkhh 
  ?egngmiieand:((egngmiieand:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?iohhmeeaaoe:((iohhmeeaaoe:int32) = 0l)
  ?iolgafdolmj:((iolgafdolmj:int32 list) = [])
  ?bhdidahbfpc:((bhdidahbfpc:int32) = 0l)
  () : lbdhkabpkhh  = {
  egngmiieand;
  retcode;
  iohhmeeaaoe;
  iolgafdolmj;
  bhdidahbfpc;
}

let rec default_pkafbnnfkbj 
  ?egngmiieand:((egngmiieand:int32) = 0l)
  () : pkafbnnfkbj  = {
  egngmiieand;
}

let rec default_nihmjkiclpe = ()

let rec default_eicjcjkdcef 
  ?retcode:((retcode:int32) = 0l)
  ?clhkfmmlaji:((clhkfmmlaji:agnjchncimi list) = [])
  ?reward:((reward:item_list option) = None)
  () : eicjcjkdcef  = {
  retcode;
  clhkfmmlaji;
  reward;
}

let rec default_inehlccdmab 
  ?lbmpcolonhb:((lbmpcolonhb:mejkeeapkfn option) = None)
  () : inehlccdmab  = {
  lbmpcolonhb;
}

let rec default_aifafmlhjbc 
  ?dbgjcbcfaec:((dbgjcbcfaec:platform_type) = default_platform_type ())
  ?ffhkfkdapln:((ffhkfkdapln:string list) = [])
  () : aifafmlhjbc  = {
  dbgjcbcfaec;
  ffhkfkdapln;
}

let rec default_ognjcfngimi 
  ?giagnhmaocd:((giagnhmaocd:pgpeepnclnj list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : ognjcfngimi  = {
  giagnhmaocd;
  retcode;
}

let rec default_mpmgmiipgml = ()

let rec default_fhpfifghcjl 
  ?llcmgmlcjca:((llcmgmlcjca:bool) = false)
  ?degafpjnikk:((degafpjnikk:bool) = false)
  ?fljpnipdjmh:((fljpnipdjmh:int32 list) = [])
  ?mnacbpjeche:((mnacbpjeche:int32 list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : fhpfifghcjl  = {
  llcmgmlcjca;
  degafpjnikk;
  fljpnipdjmh;
  mnacbpjeche;
  retcode;
}

let rec default_mmfihgpblcc 
  ?dklbecnllgj:((dklbecnllgj:bool) = false)
  () : mmfihgpblcc  = {
  dklbecnllgj;
}

let rec default_ghjmjggjcle 
  ?dklbecnllgj:((dklbecnllgj:bool) = false)
  ?retcode:((retcode:int32) = 0l)
  () : ghjmjggjcle  = {
  dklbecnllgj;
  retcode;
}

let rec default_pjmdialakjb 
  ?uid:((uid:int32) = 0l)
  ?ijlbnijghcg:((ijlbnijghcg:bool) = false)
  ?mgdnainpahe:((mgdnainpahe:int32) = 0l)
  () : pjmdialakjb  = {
  uid;
  ijlbnijghcg;
  mgdnainpahe;
}

let rec default_ghdjcmejofl 
  ?ijlbnijghcg:((ijlbnijghcg:bool) = false)
  ?uid:((uid:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : ghdjcmejofl  = {
  ijlbnijghcg;
  uid;
  retcode;
}

let rec default_eiefajnopee 
  ?kaippbfklgo:((kaippbfklgo:int32 list) = [])
  ?mcochdjinng:((mcochdjinng:int32 list) = [])
  ?bmgnoinbocb:((bmgnoinbocb:int32) = 0l)
  ?hojailmlleb:((hojailmlleb:assist_avatar_type) = default_assist_avatar_type ())
  ?nbaheekiadi:((nbaheekiadi:bool) = false)
  () : eiefajnopee  = {
  kaippbfklgo;
  mcochdjinng;
  bmgnoinbocb;
  hojailmlleb;
  nbaheekiadi;
}

let rec default_mpfhhdoanpo 
  ?dhmebnhcebe:((dhmebnhcebe:mejkeeapkfn list) = [])
  ?bmgnoinbocb:((bmgnoinbocb:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : mpfhhdoanpo  = {
  dhmebnhcebe;
  bmgnoinbocb;
  retcode;
}

let rec default_mldhbildkna 
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  () : mldhbildkna  = {
  dcpoeimegli;
}

let rec default_kebdplkjjeb 
  ?retcode:((retcode:int32) = 0l)
  ?cnmpneilgga:((cnmpneilgga:bool) = false)
  ?bdjmhpbiaag:((bdjmhpbiaag:eijlpffenlk list) = [])
  () : kebdplkjjeb  = {
  retcode;
  cnmpneilgga;
  bdjmhpbiaag;
}

let rec default_eadfmjgdmhi 
  ?uid:((uid:int32) = 0l)
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  () : eadfmjgdmhi  = {
  uid;
  dcpoeimegli;
}

let rec default_mnaniimlgjh 
  ?iclpomplljg:((iclpomplljg:display_avatar_detail_info list) = [])
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  ?uid:((uid:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : mnaniimlgjh  = {
  iclpomplljg;
  dcpoeimegli;
  uid;
  retcode;
}

let rec default_bldpehfcick 
  ?uid:((uid:int32) = 0l)
  () : bldpehfcick  = {
  uid;
}

let rec default_kdgefjmdoii 
  ?bjehkpdclfe:((bjehkpdclfe:ngpbemiajal option) = None)
  ?fdijjcafkcc:((fdijjcafkcc:mpdiaaijbhd list) = [])
  ?uid:((uid:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : kdgefjmdoii  = {
  bjehkpdclfe;
  fdijjcafkcc;
  uid;
  retcode;
}

let rec default_cclmggmiaan 
  ?uid:((uid:int32) = 0l)
  () : cclmggmiaan  = {
  uid;
}

let rec default_opdmheamomd 
  ?retcode:((retcode:int32) = 0l)
  ?uid:((uid:int32) = 0l)
  ?ggcjfgepjjd:((ggcjfgepjjd:nddaafenheh list) = [])
  () : opdmheamomd  = {
  retcode;
  uid;
  ggcjfgepjjd;
}

let rec default_ajpcolgfmpe () = (Cmd_gacha_type_none:ajpcolgfmpe)

let rec default_ckjpkncomob = ()

let rec default_gacha_ceiling_avatar 
  ?repeated_cnt:((repeated_cnt:int32) = 0l)
  ?avatar_id:((avatar_id:int32) = 0l)
  () : gacha_ceiling_avatar  = {
  repeated_cnt;
  avatar_id;
}

let rec default_glmolhnjdpa 
  ?avatar_list:((avatar_list:gacha_ceiling_avatar list) = [])
  ?ikfepnpdgdh:((ikfepnpdgdh:bool) = false)
  ?cehdiclpdmc:((cehdiclpdmc:int32) = 0l)
  () : glmolhnjdpa  = {
  avatar_list;
  ikfepnpdgdh;
  cehdiclpdmc;
}

let rec default_kdfnajlkgnm 
  ?iponcaehhgl:((iponcaehhgl:int32) = 0l)
  ?gmhfmbknian:((gmhfmbknian:glmolhnjdpa option) = None)
  ?ocgpmookjid:((ocgpmookjid:int32 list) = [])
  ?dopfcokpjei:((dopfcokpjei:int32) = 0l)
  ?begin_time:((begin_time:int64) = 0L)
  ?pjlidoghbhb:((pjlidoghbhb:int32 list) = [])
  ?ecapcfaefbo:((ecapcfaefbo:int32) = 0l)
  ?diafdnfnbfj:((diafdnfnbfj:string) = "")
  ?end_time:((end_time:int64) = 0L)
  ?feigoefidio:((feigoefidio:string) = "")
  () : kdfnajlkgnm  = {
  iponcaehhgl;
  gmhfmbknian;
  ocgpmookjid;
  dopfcokpjei;
  begin_time;
  pjlidoghbhb;
  ecapcfaefbo;
  diafdnfnbfj;
  end_time;
  feigoefidio;
}

let rec default_fkliongbomo 
  ?retcode:((retcode:int32) = 0l)
  ?ohmaodidhnl:((ohmaodidhnl:int32) = 0l)
  ?chmfglghlcf:((chmfglghlcf:int32) = 0l)
  ?mdnaaembmpd:((mdnaaembmpd:kdfnajlkgnm list) = [])
  ?lmbmncbfgpj:((lmbmncbfgpj:int32) = 0l)
  ?hgaoeennejc:((hgaoeennejc:int32) = 0l)
  () : fkliongbomo  = {
  retcode;
  ohmaodidhnl;
  chmfglghlcf;
  mdnaaembmpd;
  lmbmncbfgpj;
  hgaoeennejc;
}

let rec default_dfglnfedeph 
  ?oecedagjedd:((oecedagjedd:int32) = 0l)
  ?lnillbflgnj:((lnillbflgnj:int32) = 0l)
  ?ohmaodidhnl:((ohmaodidhnl:int32) = 0l)
  ?dopfcokpjei:((dopfcokpjei:int32) = 0l)
  () : dfglnfedeph  = {
  oecedagjedd;
  lnillbflgnj;
  ohmaodidhnl;
  dopfcokpjei;
}

let rec default_fggllplkaim 
  ?kollpgccdil:((kollpgccdil:bool) = false)
  ?oaobpakmgcg:((oaobpakmgcg:item_list option) = None)
  ?cgninlppfle:((cgninlppfle:item option) = None)
  ?fepjfbdhojc:((fepjfbdhojc:item_list option) = None)
  () : fggllplkaim  = {
  kollpgccdil;
  oaobpakmgcg;
  cgninlppfle;
  fepjfbdhojc;
}

let rec default_nglmecbodjd 
  ?retcode:((retcode:int32) = 0l)
  ?ialfoddhdkp:((ialfoddhdkp:int32) = 0l)
  ?ecapcfaefbo:((ecapcfaefbo:int32) = 0l)
  ?iponcaehhgl:((iponcaehhgl:int32) = 0l)
  ?gndidejjmhc:((gndidejjmhc:fggllplkaim list) = [])
  ?oecedagjedd:((oecedagjedd:int32) = 0l)
  ?cehdiclpdmc:((cehdiclpdmc:int32) = 0l)
  ?dopfcokpjei:((dopfcokpjei:int32) = 0l)
  ?hgaoeennejc:((hgaoeennejc:int32) = 0l)
  () : nglmecbodjd  = {
  retcode;
  ialfoddhdkp;
  ecapcfaefbo;
  iponcaehhgl;
  gndidejjmhc;
  oecedagjedd;
  cehdiclpdmc;
  dopfcokpjei;
  hgaoeennejc;
}

let rec default_eemcgfnfocn 
  ?cfgmbhjglbd:((cfgmbhjglbd:int32) = 0l)
  () : eemcgfnfocn  = {
  cfgmbhjglbd;
}

let rec default_bjndgooecif 
  ?gmhfmbknian:((gmhfmbknian:glmolhnjdpa option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?cfgmbhjglbd:((cfgmbhjglbd:int32) = 0l)
  () : bjndgooecif  = {
  gmhfmbknian;
  retcode;
  cfgmbhjglbd;
}

let rec default_ecgcblcgmkb 
  ?avatar_id:((avatar_id:int32) = 0l)
  ?cfgmbhjglbd:((cfgmbhjglbd:int32) = 0l)
  () : ecgcblcgmkb  = {
  avatar_id;
  cfgmbhjglbd;
}

let rec default_nnginbbbpfj 
  ?retcode:((retcode:int32) = 0l)
  ?avatar_id:((avatar_id:int32) = 0l)
  ?gmhfmbknian:((gmhfmbknian:glmolhnjdpa option) = None)
  ?cfgmbhjglbd:((cfgmbhjglbd:int32) = 0l)
  ?oaobpakmgcg:((oaobpakmgcg:item_list option) = None)
  () : nnginbbbpfj  = {
  retcode;
  avatar_id;
  gmhfmbknian;
  cfgmbhjglbd;
  oaobpakmgcg;
}

let rec default_njiblanlkod () = (Cmd_heartdial_type_none:njiblanlkod)

let rec default_hijpilajhcm () = (Heart_dial_emotion_type_peace:hijpilajhcm)

let rec default_mcejjmodajg () = (Heart_dial_step_type_missing:mcejjmodajg)

let rec default_acmdlmdecmj () = (Heart_dial_unlock_status_lock:acmdlmdecmj)

let rec default_okndmaemman 
  ?nhjfhkflonm:((nhjfhkflonm:bool) = false)
  ?joeicfcdnem:((joeicfcdnem:int32) = 0l)
  () : okndmaemman  = {
  nhjfhkflonm;
  joeicfcdnem;
}

let rec default_ghomiilpjlm 
  ?cmmkodhdjga:((cmmkodhdjga:bool) = false)
  ?pioeiidnhaa:((pioeiidnhaa:hijpilajhcm) = default_hijpilajhcm ())
  ?step:((step:mcejjmodajg) = default_mcejjmodajg ())
  ?ogkiomjegel:((ogkiomjegel:int32) = 0l)
  ?fppllcnicea:((fppllcnicea:bool) = false)
  () : ghomiilpjlm  = {
  cmmkodhdjga;
  pioeiidnhaa;
  step;
  ogkiomjegel;
  fppllcnicea;
}

let rec default_flikgghikfg 
  ?ogkiomjegel:((ogkiomjegel:int32) = 0l)
  ?iakfjjgoehb:((iakfjjgoehb:int32) = 0l)
  () : flikgghikfg  = {
  ogkiomjegel;
  iakfjjgoehb;
}

let rec default_aofkaaiifbh = ()

let rec default_cbhapnpjnkb 
  ?pbodiibccdh:((pbodiibccdh:acmdlmdecmj) = default_acmdlmdecmj ())
  ?cpphjpajnol:((cpphjpajnol:ghomiilpjlm list) = [])
  ?dmhfgcnnlnf:((dmhfgcnnlnf:flikgghikfg list) = [])
  ?cakbfkmlddj:((cakbfkmlddj:okndmaemman list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : cbhapnpjnkb  = {
  pbodiibccdh;
  cpphjpajnol;
  dmhfgcnnlnf;
  cakbfkmlddj;
  retcode;
}

let rec default_bljekckdglc 
  ?ipkjompgpok:((ipkjompgpok:int32) = 0l)
  ?ogkiomjegel:((ogkiomjegel:int32) = 0l)
  ?cphllgeadmf:((cphllgeadmf:hijpilajhcm) = default_hijpilajhcm ())
  () : bljekckdglc  = {
  ipkjompgpok;
  ogkiomjegel;
  cphllgeadmf;
}

let rec default_lololekfldd 
  ?bfajfamllah:((bfajfamllah:hijpilajhcm) = default_hijpilajhcm ())
  ?ogkiomjegel:((ogkiomjegel:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : lololekfldd  = {
  bfajfamllah;
  ogkiomjegel;
  retcode;
}

let rec default_pnomhdddcio 
  ?ipkjompgpok:((ipkjompgpok:int32) = 0l)
  ?ogkiomjegel:((ogkiomjegel:int32) = 0l)
  ?pdpfcfglgco:((pdpfcfglgco:item_list option) = None)
  () : pnomhdddcio  = {
  ipkjompgpok;
  ogkiomjegel;
  pdpfcfglgco;
}

let rec default_jnhkkljllil 
  ?retcode:((retcode:int32) = 0l)
  ?ogkiomjegel:((ogkiomjegel:int32) = 0l)
  () : jnhkkljllil  = {
  retcode;
  ogkiomjegel;
}

let rec default_badomabhanf 
  ?ogkiomjegel:((ogkiomjegel:int32) = 0l)
  ?joeicfcdnem:((joeicfcdnem:int32) = 0l)
  ?ipkjompgpok:((ipkjompgpok:int32) = 0l)
  () : badomabhanf  = {
  ogkiomjegel;
  joeicfcdnem;
  ipkjompgpok;
}

let rec default_lamebfpllpg 
  ?dekonpmjeen:((dekonpmjeen:item_list option) = None)
  ?ogkiomjegel:((ogkiomjegel:int32) = 0l)
  ?joeicfcdnem:((joeicfcdnem:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : lamebfpllpg  = {
  dekonpmjeen;
  ogkiomjegel;
  joeicfcdnem;
  retcode;
}

let rec default_jdjhfoaokhp 
  ?dmhfgcnnlnf:((dmhfgcnnlnf:flikgghikfg list) = [])
  ?pfocfplopkf:((pfocfplopkf:okndmaemman list) = [])
  ?pbodiibccdh:((pbodiibccdh:acmdlmdecmj) = default_acmdlmdecmj ())
  ?opedeflpfck:((opedeflpfck:ghomiilpjlm list) = [])
  () : jdjhfoaokhp  = {
  dmhfgcnnlnf;
  pfocfplopkf;
  pbodiibccdh;
  opedeflpfck;
}

let rec default_ccghcafjcpm 
  ?pgccbpjlkmk:((pgccbpjlkmk:flikgghikfg option) = None)
  () : ccghcafjcpm  = {
  pgccbpjlkmk;
}

let rec default_hcachphghki 
  ?retcode:((retcode:int32) = 0l)
  ?pgccbpjlkmk:((pgccbpjlkmk:flikgghikfg option) = None)
  () : hcachphghki  = {
  retcode;
  pgccbpjlkmk;
}

let rec default_gkjkmkfnhfp () = (Cmd_heliobus_type_none:gkjkmkfnhfp)

let rec default_ebligdnnpjk 
  ?hccebdhpdke:((hccebdhpdke:int32 list) = [])
  ?nppeghdfaen:((nppeghdfaen:int32) = 0l)
  () : ebligdnnpjk  = {
  hccebdhpdke;
  nppeghdfaen;
}

let rec default_aflbhhdjdef 
  ?pamafmppefi:((pamafmppefi:int32) = 0l)
  ?dcpoeimegli:((dcpoeimegli:int32) = 0l)
  ?lpgaoadlgnd:((lpgaoadlgnd:bool) = false)
  () : aflbhhdjdef  = {
  pamafmppefi;
  dcpoeimegli;
  lpgaoadlgnd;
}

let rec default_heliobus_challenge_lineup 
  ?group_id:((group_id:int32) = 0l)
  ?avatar_id_list:((avatar_id_list:int32 list) = [])
  ?skill_id:((skill_id:int32) = 0l)
  () : heliobus_challenge_lineup  = {
  group_id;
  avatar_id_list;
  skill_id;
}

let rec default_kgfpidkdljb = ()

let rec default_mjpmcapibfn 
  ?dgbjoolhhng:((dgbjoolhhng:mjpmcapibfn list) = [])
  ?hcpjodhafbn:((hcpjodhafbn:int32) = 0l)
  ?phblfpkjdka:((phblfpkjdka:int32) = 0l)
  () : mjpmcapibfn  = {
  dgbjoolhhng;
  hcpjodhafbn;
  phblfpkjdka;
}

let rec default_hncbeeioldh 
  ?emhkjbeckic:((emhkjbeckic:int32) = 0l)
  ?djjmhikpmjl:((djjmhikpmjl:int32) = 0l)
  ?idegcfnalkn:((idegcfnalkn:bool) = false)
  ?fgfcafjgjln:((fgfcafjgjln:int32) = 0l)
  ?fmnilimjdda:((fmnilimjdda:mjpmcapibfn list) = [])
  ?lbobjldondf:((lbobjldondf:int32) = 0l)
  ?nneoodacfgl:((nneoodacfgl:int32) = 0l)
  ?bdoimbnnlnb:((bdoimbnnlnb:bool) = false)
  () : hncbeeioldh  = {
  emhkjbeckic;
  djjmhikpmjl;
  idegcfnalkn;
  fgfcafjgjln;
  fmnilimjdda;
  lbobjldondf;
  nneoodacfgl;
  bdoimbnnlnb;
}

let rec default_hgnjkalcidb 
  ?hhapkchnbea:((hhapkchnbea:ebligdnnpjk option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?djemibiamha:((djemibiamha:int32) = 0l)
  ?ginenhkpkmk:((ginenhkpkmk:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?cjbdijhedpo:((cjbdijhedpo:aflbhhdjdef list) = [])
  ?jmbmfaglcke:((jmbmfaglcke:int32) = 0l)
  ?giclbghfpjg:((giclbghfpjg:heliobus_challenge_lineup list) = [])
  ?hbnoljogigk:((hbnoljogigk:int32) = 0l)
  ?nedgdblobgk:((nedgdblobgk:hncbeeioldh list) = [])
  () : hgnjkalcidb  = {
  hhapkchnbea;
  retcode;
  djemibiamha;
  ginenhkpkmk;
  level;
  cjbdijhedpo;
  jmbmfaglcke;
  giclbghfpjg;
  hbnoljogigk;
  nedgdblobgk;
}

let rec default_jhdmapjnpoo 
  ?fgfcafjgjln:((fgfcafjgjln:int32) = 0l)
  () : jhdmapjnpoo  = {
  fgfcafjgjln;
}

let rec default_ihhcmclehgo 
  ?fgfcafjgjln:((fgfcafjgjln:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : ihhcmclehgo  = {
  fgfcafjgjln;
  retcode;
}

let rec default_ghjfebpdooh 
  ?djjmhikpmjl:((djjmhikpmjl:int32) = 0l)
  ?fgfcafjgjln:((fgfcafjgjln:int32) = 0l)
  ?lbobjldondf:((lbobjldondf:int32) = 0l)
  () : ghjfebpdooh  = {
  djjmhikpmjl;
  fgfcafjgjln;
  lbobjldondf;
}

let rec default_fpilmflopgh 
  ?hjcbomofobf:((hjcbomofobf:hncbeeioldh option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : fpilmflopgh  = {
  hjcbomofobf;
  retcode;
}

let rec default_gjjhoepllah 
  ?fgfcafjgjln:((fgfcafjgjln:int32) = 0l)
  () : gjjhoepllah  = {
  fgfcafjgjln;
}

let rec default_ifkgomfnmaa 
  ?fgfcafjgjln:((fgfcafjgjln:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?idegcfnalkn:((idegcfnalkn:bool) = false)
  () : ifkgomfnmaa  = {
  fgfcafjgjln;
  retcode;
  idegcfnalkn;
}

let rec default_daignniobkk 
  ?limdkgpmgoe:((limdkgpmgoe:int32) = 0l)
  ?fgfcafjgjln:((fgfcafjgjln:int32) = 0l)
  ?hcpjodhafbn:((hcpjodhafbn:int32) = 0l)
  () : daignniobkk  = {
  limdkgpmgoe;
  fgfcafjgjln;
  hcpjodhafbn;
}

let rec default_mipldfahhdi 
  ?retcode:((retcode:int32) = 0l)
  ?hjcbomofobf:((hjcbomofobf:hncbeeioldh option) = None)
  () : mipldfahhdi  = {
  retcode;
  hjcbomofobf;
}

let rec default_kaiacbkbgjo 
  ?hmhmdaggfni:((hmhmdaggfni:hncbeeioldh list) = [])
  () : kaiacbkbgjo  = {
  hmhmdaggfni;
}

let rec default_kalbhbfbgbi 
  ?hmhmdaggfni:((hmhmdaggfni:hncbeeioldh list) = [])
  ?hbnoljogigk:((hbnoljogigk:int32) = 0l)
  ?djemibiamha:((djemibiamha:int32) = 0l)
  ?ginenhkpkmk:((ginenhkpkmk:int32) = 0l)
  () : kalbhbfbgbi  = {
  hmhmdaggfni;
  hbnoljogigk;
  djemibiamha;
  ginenhkpkmk;
}

let rec default_jddfhajhdph = ()

let rec default_eknlaglphdi 
  ?level:((level:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : eknlaglphdi  = {
  level;
  retcode;
}

let rec default_bfjkhkhilai 
  ?hgnfloilneg:((hgnfloilneg:int32) = 0l)
  ?nppeghdfaen:((nppeghdfaen:int32) = 0l)
  () : bfjkhkhilai  = {
  hgnfloilneg;
  nppeghdfaen;
}

let rec default_pmlbcokemme 
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  ?avatar_id_list:((avatar_id_list:int32 list) = [])
  ?hgnfloilneg:((hgnfloilneg:int32) = 0l)
  () : pmlbcokemme  = {
  ohibnloihci;
  avatar_id_list;
  hgnfloilneg;
}

let rec default_alepdepldll 
  ?ibllilenejp:((ibllilenejp:scene_battle_info option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  () : alepdepldll  = {
  ibllilenejp;
  retcode;
  ohibnloihci;
}

let rec default_naagikaillg 
  ?hgnfloilneg:((hgnfloilneg:int32) = 0l)
  () : naagikaillg  = {
  hgnfloilneg;
}

let rec default_mjfmcmdhnkg 
  ?retcode:((retcode:int32) = 0l)
  ?hgnfloilneg:((hgnfloilneg:int32) = 0l)
  () : mjfmcmdhnkg  = {
  retcode;
  hgnfloilneg;
}

let rec default_akbbkfokide 
  ?ocdbilliofd:((ocdbilliofd:aflbhhdjdef option) = None)
  () : akbbkfokide  = {
  ocdbilliofd;
}

let rec default_ipockoabfmh 
  ?lineup:((lineup:heliobus_challenge_lineup option) = None)
  () : ipockoabfmh  = {
  lineup;
}

let rec default_balokbjaphf 
  ?hgnfloilneg:((hgnfloilneg:int32) = 0l)
  ?ikpjplopmjk:((ikpjplopmjk:int32) = 0l)
  ?bnpfaleifaj:((bnpfaleifaj:int32) = 0l)
  ?chbdfdolhoc:((chbdfdolhoc:bool) = false)
  ?prop_entity_id:((prop_entity_id:int32) = 0l)
  ?avatar_list:((avatar_list:int32 list) = [])
  () : balokbjaphf  = {
  hgnfloilneg;
  ikpjplopmjk;
  bnpfaleifaj;
  chbdfdolhoc;
  prop_entity_id;
  avatar_list;
}

let rec default_dnlbhaceial 
  ?akkgoefpgdl:((akkgoefpgdl:scene_info option) = None)
  ?lineup:((lineup:lineup_info option) = None)
  ?world_level:((world_level:int32) = 0l)
  ?ikpjplopmjk:((ikpjplopmjk:int32) = 0l)
  () : dnlbhaceial  = {
  akkgoefpgdl;
  lineup;
  world_level;
  ikpjplopmjk;
}

let rec default_lkgnphblpef 
  ?scene:((scene:dnlbhaceial option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : lkgnphblpef  = {
  scene;
  retcode;
}

let rec default_dobigncaofo () = (Cmd_item_type_none:dobigncaofo)

let rec default_koedfpccpch () = (Turn_food_switch_none:koedfpccpch)

let rec default_flkcekmkejm = ()

let rec default_mdlbakehplp 
  ?rank:((rank:int32) = 0l)
  ?promotion:((promotion:int32) = 0l)
  ?exp:((exp:int32) = 0l)
  ?unique_id:((unique_id:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?alelfancgei:((alelfancgei:int32) = 0l)
  ?mkmllbdhmbf:((mkmllbdhmbf:bool) = false)
  ?hechfpdiado:((hechfpdiado:int32) = 0l)
  () : mdlbakehplp  = {
  rank;
  promotion;
  exp;
  unique_id;
  level;
  alelfancgei;
  mkmllbdhmbf;
  hechfpdiado;
}

let rec default_lhpihhdiplm 
  ?midlnaigncg:((midlnaigncg:bool) = false)
  ?main_affix_id:((main_affix_id:int32) = 0l)
  ?exp:((exp:int32) = 0l)
  ?unique_id:((unique_id:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?hechfpdiado:((hechfpdiado:int32) = 0l)
  ?alelfancgei:((alelfancgei:int32) = 0l)
  ?sub_affix_list:((sub_affix_list:relic_affix list) = [])
  ?mkmllbdhmbf:((mkmllbdhmbf:bool) = false)
  () : lhpihhdiplm  = {
  midlnaigncg;
  main_affix_id;
  exp;
  unique_id;
  level;
  hechfpdiado;
  alelfancgei;
  sub_affix_list;
  mkmllbdhmbf;
}

let rec default_aoacdcgcmej 
  ?hechfpdiado:((hechfpdiado:int32) = 0l)
  ?npcgokkdhdf:((npcgokkdhdf:int64) = 0L)
  ?kagnbjdmamf:((kagnbjdmamf:int32) = 0l)
  () : aoacdcgcmej  = {
  hechfpdiado;
  npcgokkdhdf;
  kagnbjdmamf;
}

let rec default_ipcffjhaijg 
  ?kagnbjdmamf:((kagnbjdmamf:int32) = 0l)
  ?hechfpdiado:((hechfpdiado:int32) = 0l)
  () : ipcffjhaijg  = {
  kagnbjdmamf;
  hechfpdiado;
}

let rec default_lglodndhijb 
  ?kagnbjdmamf:((kagnbjdmamf:int32) = 0l)
  ?npcgokkdhdf:((npcgokkdhdf:int64) = 0L)
  ?hechfpdiado:((hechfpdiado:int32) = 0l)
  () : lglodndhijb  = {
  kagnbjdmamf;
  npcgokkdhdf;
  hechfpdiado;
}

let rec default_mcapbopbnaj 
  ?ikhicomcdhp:((ikhicomcdhp:int32 list) = [])
  ?ibigdplhfkc:((ibigdplhfkc:aoacdcgcmej list) = [])
  ?deadfemndnk:((deadfemndnk:ipcffjhaijg list) = [])
  ?iinhlljekcd:((iinhlljekcd:pile_item list) = [])
  ?epbibaobeoj:((epbibaobeoj:lglodndhijb list) = [])
  ?relic_list:((relic_list:lhpihhdiplm list) = [])
  ?flnjichokac:((flnjichokac:lglodndhijb list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?geidcjnjmma:((geidcjnjmma:int32) = 0l)
  ?ngegmhahglm:((ngegmhahglm:int32 list) = [])
  ?equipment_list:((equipment_list:mdlbakehplp list) = [])
  ?jlkdhmeecjm:((jlkdhmeecjm:koedfpccpch list) = [])
  ?egmlhakbkmc:((egmlhakbkmc:aoacdcgcmej list) = [])
  ?kjibmefiben:((kjibmefiben:int32 list) = [])
  () : mcapbopbnaj  = {
  ikhicomcdhp;
  ibigdplhfkc;
  deadfemndnk;
  iinhlljekcd;
  epbibaobeoj;
  relic_list;
  flnjichokac;
  retcode;
  geidcjnjmma;
  ngegmhahglm;
  equipment_list;
  jlkdhmeecjm;
  egmlhakbkmc;
  kjibmefiben;
}

let rec default_hfjepdgbohe 
  ?lohpklihemj:((lohpklihemj:item_cost_data option) = None)
  ?fbieckfjhid:((fbieckfjhid:int32) = 0l)
  () : hfjepdgbohe  = {
  lohpklihemj;
  fbieckfjhid;
}

let rec default_gdmeoillmgg 
  ?retcode:((retcode:int32) = 0l)
  () : gdmeoillmgg  = {
  retcode;
}

let rec default_jeobbmnfndi 
  ?jhpabfhpimo:((jhpabfhpimo:int32 list) = [])
  ?figgbmnlcdb:((figgbmnlcdb:bool) = false)
  () : jeobbmnfndi  = {
  jhpabfhpimo;
  figgbmnlcdb;
}

let rec default_jhnkccepneb 
  ?retcode:((retcode:int32) = 0l)
  () : jhnkccepneb  = {
  retcode;
}

let rec default_kmkdljlllec 
  ?apbdbeabddj:((apbdbeabddj:int32) = 0l)
  ?feonppdpkoj:((feonppdpkoj:int32) = 0l)
  ?nejlfhfmjgb:((nejlfhfmjgb:int32) = 0l)
  ?efjhleknapg:((efjhleknapg:bool) = false)
  ?kohajfmhiio:((kohajfmhiio:avatar_type) = default_avatar_type ())
  ?base_avatar_id:((base_avatar_id:int32) = 0l)
  () : kmkdljlllec  = {
  apbdbeabddj;
  feonppdpkoj;
  nejlfhfmjgb;
  efjhleknapg;
  kohajfmhiio;
  base_avatar_id;
}

let rec default_emhlhjhbmam 
  ?feonppdpkoj:((feonppdpkoj:int32) = 0l)
  ?ngkaoednndn:((ngkaoednndn:item_list option) = None)
  ?ohpbgbelimn:((ohpbgbelimn:int32) = 0l)
  ?nejlfhfmjgb:((nejlfhfmjgb:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?afmgandnccg:((afmgandnccg:int64) = 0L)
  () : emhlhjhbmam  = {
  feonppdpkoj;
  ngkaoednndn;
  ohpbgbelimn;
  nejlfhfmjgb;
  retcode;
  afmgandnccg;
}

let rec default_ikilhkgmpgo 
  ?lohpklihemj:((lohpklihemj:item_cost_data option) = None)
  ?fbieckfjhid:((fbieckfjhid:int32) = 0l)
  () : ikilhkgmpgo  = {
  lohpklihemj;
  fbieckfjhid;
}

let rec default_ganlnnedpfp 
  ?retcode:((retcode:int32) = 0l)
  () : ganlnnedpfp  = {
  retcode;
}

let rec default_ijaofbkgbfo 
  ?lohpklihemj:((lohpklihemj:item_cost_data option) = None)
  ?fbieckfjhid:((fbieckfjhid:int32) = 0l)
  () : ijaofbkgbfo  = {
  lohpklihemj;
  fbieckfjhid;
}

let rec default_fhoadbjimao 
  ?retcode:((retcode:int32) = 0l)
  ?return_item_list:((return_item_list:pile_item list) = [])
  () : fhoadbjimao  = {
  retcode;
  return_item_list;
}

let rec default_hmlkkldifnp 
  ?gbejhehoojg:((gbejhehoojg:item_cost_data option) = None)
  ?count:((count:int32) = 0l)
  ?kcededdikfd:((kcededdikfd:int32) = 0l)
  () : hmlkkldifnp  = {
  gbejhehoojg;
  count;
  kcededdikfd;
}

let rec default_oniajnkdgah 
  ?retcode:((retcode:int32) = 0l)
  ?return_item_list:((return_item_list:item_list option) = None)
  ?count:((count:int32) = 0l)
  ?kcededdikfd:((kcededdikfd:int32) = 0l)
  () : oniajnkdgah  = {
  retcode;
  return_item_list;
  count;
  kcededdikfd;
}

let rec default_lejkofpfmeg 
  ?gbejhehoojg:((gbejhehoojg:item_cost_data option) = None)
  ?dacmhmgikdn:((dacmhmgikdn:int32) = 0l)
  ?kcededdikfd:((kcededdikfd:int32) = 0l)
  ?count:((count:int32) = 0l)
  ?main_affix_id:((main_affix_id:int32) = 0l)
  () : lejkofpfmeg  = {
  gbejhehoojg;
  dacmhmgikdn;
  kcededdikfd;
  count;
  main_affix_id;
}

let rec default_mfacgpoflcm 
  ?return_item_list:((return_item_list:item_list option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?kcededdikfd:((kcededdikfd:int32) = 0l)
  () : mfacgpoflcm  = {
  return_item_list;
  retcode;
  kcededdikfd;
}

let rec default_noinphijimb 
  ?nfjcagcjbib:((nfjcagcjbib:int32) = 0l)
  ?lohpklihemj:((lohpklihemj:item_cost_data option) = None)
  () : noinphijimb  = {
  nfjcagcjbib;
  lohpklihemj;
}

let rec default_ldobfgmocga 
  ?return_item_list:((return_item_list:pile_item list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : ldobfgmocga  = {
  return_item_list;
  retcode;
}

let rec default_aclpgkbjijb 
  ?lkamihdhkbe:((lkamihdhkbe:bool) = false)
  ?bkjpbalpell:((bkjpbalpell:int32 list) = [])
  ?figgbmnlcdb:((figgbmnlcdb:bool) = false)
  () : aclpgkbjijb  = {
  lkamihdhkbe;
  bkjpbalpell;
  figgbmnlcdb;
}

let rec default_ifcjmpeohmd 
  ?retcode:((retcode:int32) = 0l)
  () : ifcjmpeohmd  = {
  retcode;
}

let rec default_pobgcfghpic 
  ?bdfbfehlfgf:((bdfbfehlfgf:bool) = false)
  ?bkjpbalpell:((bkjpbalpell:int32 list) = [])
  ?lkamihdhkbe:((lkamihdhkbe:bool) = false)
  () : pobgcfghpic  = {
  bdfbfehlfgf;
  bkjpbalpell;
  lkamihdhkbe;
}

let rec default_klemlcaknap 
  ?retcode:((retcode:int32) = 0l)
  ?bdfbfehlfgf:((bdfbfehlfgf:bool) = false)
  () : klemlcaknap  = {
  retcode;
  bdfbfehlfgf;
}

let rec default_pcjhdmjibck 
  ?lohpklihemj:((lohpklihemj:item_cost_data option) = None)
  ?fkodidbfdfn:((fkodidbfdfn:bool) = false)
  () : pcjhdmjibck  = {
  lohpklihemj;
  fkodidbfdfn;
}

let rec default_lfjfcpdbgkk 
  ?return_item_list:((return_item_list:item_list option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : lfjfcpdbgkk  = {
  return_item_list;
  retcode;
}

let rec default_recharge_succ_notify 
  ?item_list:((item_list:item_list option) = None)
  ?product_id:((product_id:string) = "")
  ?channel_order_no:((channel_order_no:string) = "")
  ?month_card_outdate_time:((month_card_outdate_time:int64) = 0L)
  () : recharge_succ_notify  = {
  item_list;
  product_id;
  channel_order_no;
  month_card_outdate_time;
}

let rec default_cjgmgileblk 
  ?kagnbjdmamf:((kagnbjdmamf:int32) = 0l)
  () : cjgmgileblk  = {
  kagnbjdmamf;
}

let rec default_exchange_hcoin_sc_rsp 
  ?num:((num:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : exchange_hcoin_sc_rsp  = {
  num;
  retcode;
}

let rec default_cjijjahdjpa 
  ?dkgkfeeajpd:((dkgkfeeajpd:int32) = 0l)
  () : cjijjahdjpa  = {
  dkgkfeeajpd;
}

let rec default_jkokdmdgidk 
  ?icopfphppdi:((icopfphppdi:int32 list) = [])
  () : jkokdmdgidk  = {
  icopfphppdi;
}

let rec default_aaimdlacgcn 
  ?retcode:((retcode:int32) = 0l)
  ?flnjichokac:((flnjichokac:lglodndhijb list) = [])
  () : aaimdlacgcn  = {
  retcode;
  flnjichokac;
}

let rec default_kochkckdbhe 
  ?memkmmilpkd:((memkmmilpkd:int32) = 0l)
  ?bgecmdbfigi:((bgecmdbfigi:int32) = 0l)
  () : kochkckdbhe  = {
  memkmmilpkd;
  bgecmdbfigi;
}

let rec default_dbidbcochhl 
  ?nehijgifbke:((nehijgifbke:kochkckdbhe list) = [])
  () : dbidbcochhl  = {
  nehijgifbke;
}

let rec default_eackoplgbme 
  ?elnbhiipadp:((elnbhiipadp:kochkckdbhe option) = None)
  () : eackoplgbme  = {
  elnbhiipadp;
}

let rec default_hacbjelpoac 
  ?olfhccbiidg:((olfhccbiidg:int32) = 0l)
  ?elkbpopdpjg:((elkbpopdpjg:int32) = 0l)
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  () : hacbjelpoac  = {
  olfhccbiidg;
  elkbpopdpjg;
  hgjolgkaofj;
}

let rec default_mnedfmiemjm 
  ?elkbpopdpjg:((elkbpopdpjg:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : mnedfmiemjm  = {
  elkbpopdpjg;
  retcode;
}

let rec default_oocjhkkkoog = ()

let rec default_ikhfcbbolnd 
  ?gddbahogfki:((gddbahogfki:int32 list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : ikhfcbbolnd  = {
  gddbahogfki;
  retcode;
}

let rec default_cnceleggnlo 
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  ?bplpnnijlji:((bplpnnijlji:bool) = false)
  () : cnceleggnlo  = {
  hgjolgkaofj;
  bplpnnijlji;
}

let rec default_efomgnkkdgd 
  ?retcode:((retcode:int32) = 0l)
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  ?bplpnnijlji:((bplpnnijlji:bool) = false)
  () : efomgnkkdgd  = {
  retcode;
  hgjolgkaofj;
  bplpnnijlji;
}

let rec default_fnbfccfghfn 
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  () : fnbfccfghfn  = {
  hgjolgkaofj;
}

let rec default_lhimlhffkmg 
  ?kjibmefiben:((kjibmefiben:int32 list) = [])
  ?jlkdhmeecjm:((jlkdhmeecjm:koedfpccpch list) = [])
  () : lhimlhffkmg  = {
  kjibmefiben;
  jlkdhmeecjm;
}

let rec default_gkjmimbbdnl 
  ?lcidaenomif:((lcidaenomif:bool) = false)
  ?dpigkeokfmk:((dpigkeokfmk:koedfpccpch) = default_koedfpccpch ())
  () : gkjmimbbdnl  = {
  lcidaenomif;
  dpigkeokfmk;
}

let rec default_mjbmdpigdlk 
  ?lcidaenomif:((lcidaenomif:bool) = false)
  ?retcode:((retcode:int32) = 0l)
  ?dpigkeokfmk:((dpigkeokfmk:koedfpccpch) = default_koedfpccpch ())
  () : mjbmdpigdlk  = {
  lcidaenomif;
  retcode;
  dpigkeokfmk;
}

let rec default_kikenjaacap 
  ?gekinokmmci:((gekinokmmci:pile_item list) = [])
  ?ncfldodhkod:((ncfldodhkod:bool) = false)
  () : kikenjaacap  = {
  gekinokmmci;
  ncfldodhkod;
}

let rec default_njfonlgigpk 
  ?kbhcaajjkeh:((kbhcaajjkeh:int32) = 0l)
  ?hmofppjjpfn:((hmofppjjpfn:int32) = 0l)
  ?dkgiphjmpih:((dkgiphjmpih:int32) = 0l)
  () : njfonlgigpk  = {
  kbhcaajjkeh;
  hmofppjjpfn;
  dkgiphjmpih;
}

let rec default_penkoafkhkl 
  ?ojmhmiobhoi:((ojmhmiobhoi:int32) = 0l)
  ?hmofppjjpfn:((hmofppjjpfn:int32) = 0l)
  () : penkoafkhkl  = {
  ojmhmiobhoi;
  hmofppjjpfn;
}

let rec default_hicihjimcmh 
  ?avatar_id:((avatar_id:int32) = 0l)
  () : hicihjimcmh  = {
  avatar_id;
}

let rec default_fmeeecoggkf 
  ?hdpcekiljkc:((hdpcekiljkc:bool) = false)
  ?retcode:((retcode:int32) = 0l)
  ?avatar_id:((avatar_id:int32) = 0l)
  ?ohdnajnckog:((ohdnajnckog:penkoafkhkl list) = [])
  ?bomphgjmnib:((bomphgjmnib:penkoafkhkl list) = [])
  ?lmogiabffla:((lmogiabffla:njfonlgigpk list) = [])
  ?moangckpldg:((moangckpldg:penkoafkhkl list) = [])
  ?eekmlegahha:((eekmlegahha:njfonlgigpk list) = [])
  ?noocbpmnmac:((noocbpmnmac:penkoafkhkl list) = [])
  () : fmeeecoggkf  = {
  hdpcekiljkc;
  retcode;
  avatar_id;
  ohdnajnckog;
  bomphgjmnib;
  lmogiabffla;
  moangckpldg;
  eekmlegahha;
  noocbpmnmac;
}

let rec default_joegfcinapg 
  ?ncplfkbobdj:((ncplfkbobdj:int32) = 0l)
  () : joegfcinapg  = {
  ncplfkbobdj;
}

let rec default_glcehkpmbjo 
  ?hdpcekiljkc:((hdpcekiljkc:bool) = false)
  ?ncplfkbobdj:((ncplfkbobdj:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?avatar_id_list:((avatar_id_list:int32 list) = [])
  () : glcehkpmbjo  = {
  hdpcekiljkc;
  ncplfkbobdj;
  retcode;
  avatar_id_list;
}

let rec default_relic_filter_plan_icon 
  ?is_avatar_icon:((is_avatar_icon:bool) = false)
  ?icon_id:((icon_id:int32) = 0l)
  () : relic_filter_plan_icon  = {
  is_avatar_icon;
  icon_id;
}

let rec default_relic_filter_plan 
  ?icon:((icon:relic_filter_plan_icon option) = None)
  ?update_timestamp:((update_timestamp:int64) = 0L)
  ?settings:((settings:relic_filter_plan_settings option) = None)
  ?name:((name:string) = "")
  ?slot_index:((slot_index:int32) = 0l)
  ?is_marked:((is_marked:bool) = false)
  () : relic_filter_plan  = {
  icon;
  update_timestamp;
  settings;
  name;
  slot_index;
  is_marked;
}

let rec default_fihcjogacni = ()

let rec default_get_relic_filter_plan_sc_rsp 
  ?retcode:((retcode:int32) = 0l)
  ?relic_filter_plan_list:((relic_filter_plan_list:relic_filter_plan list) = [])
  () : get_relic_filter_plan_sc_rsp  = {
  retcode;
  relic_filter_plan_list;
}

let rec default_add_relic_filter_plan_cs_req 
  ?icon:((icon:relic_filter_plan_icon option) = None)
  ?is_marked:((is_marked:bool) = false)
  ?settings:((settings:relic_filter_plan_settings option) = None)
  ?name:((name:string) = "")
  () : add_relic_filter_plan_cs_req  = {
  icon;
  is_marked;
  settings;
  name;
}

let rec default_add_relic_filter_plan_sc_rsp 
  ?plan:((plan:relic_filter_plan option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : add_relic_filter_plan_sc_rsp  = {
  plan;
  retcode;
}

let rec default_modify_relic_filter_plan_cs_req 
  ?slot_index:((slot_index:int32) = 0l)
  ?name:((name:string) = "")
  ?icon:((icon:relic_filter_plan_icon option) = None)
  ?settings:((settings:relic_filter_plan_settings option) = None)
  () : modify_relic_filter_plan_cs_req  = {
  slot_index;
  name;
  icon;
  settings;
}

let rec default_modify_relic_filter_plan_sc_rsp 
  ?retcode:((retcode:int32) = 0l)
  ?slot_index:((slot_index:int32) = 0l)
  ?update_timestamp:((update_timestamp:int64) = 0L)
  ?name:((name:string) = "")
  ?icon:((icon:relic_filter_plan_icon option) = None)
  ?settings:((settings:relic_filter_plan_settings option) = None)
  () : modify_relic_filter_plan_sc_rsp  = {
  retcode;
  slot_index;
  update_timestamp;
  name;
  icon;
  settings;
}

let rec default_delete_relic_filter_plan_cs_req 
  ?is_batch_op:((is_batch_op:bool) = false)
  ?slot_index_list:((slot_index_list:int32 list) = [])
  () : delete_relic_filter_plan_cs_req  = {
  is_batch_op;
  slot_index_list;
}

let rec default_pnldeoafcne 
  ?retcode:((retcode:int32) = 0l)
  ?npedodmagkl:((npedodmagkl:int32 list) = [])
  () : pnldeoafcne  = {
  retcode;
  npedodmagkl;
}

let rec default_mark_relic_filter_plan_cs_req 
  ?is_batch_op:((is_batch_op:bool) = false)
  ?is_mark:((is_mark:bool) = false)
  ?slot_index_list:((slot_index_list:int32 list) = [])
  () : mark_relic_filter_plan_cs_req  = {
  is_batch_op;
  is_mark;
  slot_index_list;
}

let rec default_mark_relic_filter_plan_sc_rsp 
  ?is_mark:((is_mark:bool) = false)
  ?slot_index_list:((slot_index_list:int32 list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : mark_relic_filter_plan_sc_rsp  = {
  is_mark;
  slot_index_list;
  retcode;
}

let rec default_ecjbbepkkmj 
  ?afefamkndoo:((afefamkndoo:int32) = 0l)
  () : ecjbbepkkmj  = {
  afefamkndoo;
}

let rec default_dkfoeihhpkf () = (Cmd_jukebox_type_none:dkfoeihhpkf)

let rec default_knfclkceeah 
  ?id:((id:int32) = 0l)
  ?group_id:((group_id:int32) = 0l)
  ?efnegejdilo:((efnegejdilo:bool) = false)
  () : knfclkceeah  = {
  id;
  group_id;
  efnegejdilo;
}

let rec default_cookpmfnbpj = ()

let rec default_jehaofaoeok 
  ?jadihfhpmkh:((jadihfhpmkh:knfclkceeah list) = [])
  ?hbdienejlfn:((hbdienejlfn:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : jehaofaoeok  = {
  jadihfhpmkh;
  hbdienejlfn;
  retcode;
}

let rec default_hphkmadefmi 
  ?dhppkijmkjg:((dhppkijmkjg:int32) = 0l)
  () : hphkmadefmi  = {
  dhppkijmkjg;
}

let rec default_glakeaclkli 
  ?retcode:((retcode:int32) = 0l)
  ?dhppkijmkjg:((dhppkijmkjg:int32) = 0l)
  ?hbdienejlfn:((hbdienejlfn:int32) = 0l)
  () : glakeaclkli  = {
  retcode;
  dhppkijmkjg;
  hbdienejlfn;
}

let rec default_egdjkildooa 
  ?lejnihkjibm:((lejnihkjibm:int32 list) = [])
  () : egdjkildooa  = {
  lejnihkjibm;
}

let rec default_hpogjbmmnaa 
  ?jadihfhpmkh:((jadihfhpmkh:knfclkceeah list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?bbjgjddfgdi:((bbjgjddfgdi:int32 list) = [])
  () : hpogjbmmnaa  = {
  jadihfhpmkh;
  retcode;
  bbjgjddfgdi;
}

let rec default_dkbnpdmbhoa 
  ?aohkoelbjjc:((aohkoelbjjc:int32) = 0l)
  () : dkbnpdmbhoa  = {
  aohkoelbjjc;
}

let rec default_gfmjolhdmld 
  ?retcode:((retcode:int32) = 0l)
  ?aohkoelbjjc:((aohkoelbjjc:int32) = 0l)
  () : gfmjolhdmld  = {
  retcode;
  aohkoelbjjc;
}

let rec default_ajnedhhocjk () = (Cmd_lineup_type_none:ajnedhhocjk)

let rec default_lineup_type () = (Lineup_type_none:lineup_type)

let rec default_sync_lineup_reason () = (Sync_reason_none:sync_lineup_reason)

let rec default_lbmibllpikl = ()

let rec default_gcfbakphcpf 
  ?pkmpoapokhl:((pkmpoapokhl:int32) = 0l)
  ?nmedaaeibfk:((nmedaaeibfk:int32) = 0l)
  () : gcfbakphcpf  = {
  pkmpoapokhl;
  nmedaaeibfk;
}

let rec default_knhhjmcbnea 
  ?bdgmfbaffnm:((bdgmfbaffnm:gcfbakphcpf list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : knhhjmcbnea  = {
  bdgmfbaffnm;
  retcode;
}

let rec default_get_cur_lineup_data_cs_req = ()

let rec default_get_cur_lineup_data_sc_rsp 
  ?lineup:((lineup:lineup_info option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : get_cur_lineup_data_sc_rsp  = {
  lineup;
  retcode;
}

let rec default_ojallcafkeo 
  ?slot:((slot:int32) = 0l)
  ?index:((index:int32) = 0l)
  ?base_avatar_id:((base_avatar_id:int32) = 0l)
  ?is_virtual:((is_virtual:bool) = false)
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  ?plane_id:((plane_id:int32) = 0l)
  ?extra_lineup_type:((extra_lineup_type:extra_lineup_type) = default_extra_lineup_type ())
  () : ojallcafkeo  = {
  slot;
  index;
  base_avatar_id;
  is_virtual;
  avatar_type;
  plane_id;
  extra_lineup_type;
}

let rec default_ohfahbfdpoj 
  ?retcode:((retcode:int32) = 0l)
  () : ohfahbfdpoj  = {
  retcode;
}

let rec default_ffglfjgkkep 
  ?extra_lineup_type:((extra_lineup_type:extra_lineup_type) = default_extra_lineup_type ())
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  ?base_avatar_id:((base_avatar_id:int32) = 0l)
  ?index:((index:int32) = 0l)
  ?is_virtual:((is_virtual:bool) = false)
  ?plane_id:((plane_id:int32) = 0l)
  () : ffglfjgkkep  = {
  extra_lineup_type;
  avatar_type;
  base_avatar_id;
  index;
  is_virtual;
  plane_id;
}

let rec default_cjeipadcdjl 
  ?is_virtual:((is_virtual:bool) = false)
  ?aeoafelaneo:((aeoafelaneo:bool) = false)
  ?base_avatar_id:((base_avatar_id:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?plane_id:((plane_id:int32) = 0l)
  () : cjeipadcdjl  = {
  is_virtual;
  aeoafelaneo;
  base_avatar_id;
  retcode;
  plane_id;
}

let rec default_kniinhmfihm 
  ?is_virtual:((is_virtual:bool) = false)
  ?bdkilpahpgb:((bdkilpahpgb:int32) = 0l)
  ?extra_lineup_type:((extra_lineup_type:extra_lineup_type) = default_extra_lineup_type ())
  ?index:((index:int32) = 0l)
  ?plane_id:((plane_id:int32) = 0l)
  ?agkkdgnhcbh:((agkkdgnhcbh:int32) = 0l)
  () : kniinhmfihm  = {
  is_virtual;
  bdkilpahpgb;
  extra_lineup_type;
  index;
  plane_id;
  agkkdgnhcbh;
}

let rec default_dpjippgdpac 
  ?retcode:((retcode:int32) = 0l)
  () : dpjippgdpac  = {
  retcode;
}

let rec default_sync_lineup_notify 
  ?reason_list:((reason_list:sync_lineup_reason list) = [])
  ?lineup:((lineup:lineup_info option) = None)
  () : sync_lineup_notify  = {
  reason_list;
  lineup;
}

let rec default_bcmbjlmlbnc = ()

let rec default_pkokliocjho 
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  ?hp:((hp:int32) = 0l)
  ?id:((id:int32) = 0l)
  () : pkokliocjho  = {
  avatar_type;
  hp;
  id;
}

let rec default_dfdcahepikp 
  ?opimhcppnbc:((opimhcppnbc:pkokliocjho list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : dfdcahepikp  = {
  opimhcppnbc;
  retcode;
}

let rec default_lnheeohdggj 
  ?slot:((slot:int32) = 0l)
  () : lnheeohdggj  = {
  slot;
}

let rec default_abmheggkjlj 
  ?retcode:((retcode:int32) = 0l)
  ?slot:((slot:int32) = 0l)
  () : abmheggkjlj  = {
  retcode;
  slot;
}

let rec default_efpogadjkbf 
  ?index:((index:int32) = 0l)
  () : efpogadjkbf  = {
  index;
}

let rec default_alpmagelkdp 
  ?index:((index:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : alpmagelkdp  = {
  index;
  retcode;
}

let rec default_jmmngdpfccf 
  ?name:((name:string) = "")
  ?index:((index:int32) = 0l)
  () : jmmngdpfccf  = {
  name;
  index;
}

let rec default_empobajddco 
  ?retcode:((retcode:int32) = 0l)
  ?name:((name:string) = "")
  ?index:((index:int32) = 0l)
  () : empobajddco  = {
  retcode;
  name;
  index;
}

let rec default_jablakijdea = ()

let rec default_aclgjhedfaa 
  ?hifmklongnc:((hifmklongnc:int32) = 0l)
  ?kbognlnlcle:((kbognlnlcle:lineup_info list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : aclgjhedfaa  = {
  hifmklongnc;
  kbognlnlcle;
  retcode;
}

let rec default_aocfcjppedm 
  ?plane_id:((plane_id:int32) = 0l)
  () : aocfcjppedm  = {
  plane_id;
}

let rec default_hiakofmgdlp 
  ?id:((id:int32) = 0l)
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  ?slot:((slot:int32) = 0l)
  () : hiakofmgdlp  = {
  id;
  avatar_type;
  slot;
}

let rec default_fibefodmgem 
  ?is_virtual:((is_virtual:bool) = false)
  ?ijnpccndcgi:((ijnpccndcgi:int32) = 0l)
  ?plane_id:((plane_id:int32) = 0l)
  ?extra_lineup_type:((extra_lineup_type:extra_lineup_type) = default_extra_lineup_type ())
  ?kclnaimofdl:((kclnaimofdl:int32) = 0l)
  ?mpeggadcgge:((mpeggadcgge:hiakofmgdlp list) = [])
  ?index:((index:int32) = 0l)
  () : fibefodmgem  = {
  is_virtual;
  ijnpccndcgi;
  plane_id;
  extra_lineup_type;
  kclnaimofdl;
  mpeggadcgge;
  index;
}

let rec default_ahbjhkinbil 
  ?retcode:((retcode:int32) = 0l)
  () : ahbjhkinbil  = {
  retcode;
}

let rec default_ekmckmcokia 
  ?extra_lineup_type:((extra_lineup_type:extra_lineup_type) = default_extra_lineup_type ())
  () : ekmckmcokia  = {
  extra_lineup_type;
}

let rec default_idooiaenifb () = (Cmd_lobby_type_none:idooiaenifb)

let rec default_lbjfonmlbmj 
  ?iiidiaplofb:((iiidiaplofb:lnnkgnfmmll option) = None)
  ?dfpkdpmefac:((dfpkdpmefac:gkkpbgmoodd) = default_gkkpbgmoodd ())
  () : lbjfonmlbmj  = {
  iiidiaplofb;
  dfpkdpmefac;
}

let rec default_clpnbpcgldl 
  ?mfdelanaicp:((mfdelanaicp:int64) = 0L)
  ?retcode:((retcode:int32) = 0l)
  ?dfpkdpmefac:((dfpkdpmefac:gkkpbgmoodd) = default_gkkpbgmoodd ())
  ?pcmhnpbecpk:((pcmhnpbecpk:egokacjfaen list) = [])
  () : clpnbpcgldl  = {
  mfdelanaicp;
  retcode;
  dfpkdpmefac;
  pcmhnpbecpk;
}

let rec default_ofpmcomndcd 
  ?pknbckelhkm:((pknbckelhkm:int32 list) = [])
  () : ofpmcomndcd  = {
  pknbckelhkm;
}

let rec default_pafhbihlbca 
  ?retcode:((retcode:int32) = 0l)
  ?pknbckelhkm:((pknbckelhkm:int32 list) = [])
  () : pafhbihlbca  = {
  retcode;
  pknbckelhkm;
}

let rec default_gbhfcbmhghk 
  ?mfdelanaicp:((mfdelanaicp:int64) = 0L)
  ?iiidiaplofb:((iiidiaplofb:lnnkgnfmmll option) = None)
  () : gbhfcbmhghk  = {
  mfdelanaicp;
  iiidiaplofb;
}

let rec default_kikicpknoeb 
  ?mfdelanaicp:((mfdelanaicp:int64) = 0L)
  ?retcode:((retcode:int32) = 0l)
  ?pcmhnpbecpk:((pcmhnpbecpk:egokacjfaen list) = [])
  ?dfpkdpmefac:((dfpkdpmefac:gkkpbgmoodd) = default_gkkpbgmoodd ())
  () : kikicpknoeb  = {
  mfdelanaicp;
  retcode;
  pcmhnpbecpk;
  dfpkdpmefac;
}

let rec default_nlhggbldnba = ()

let rec default_gjofkipdifm 
  ?retcode:((retcode:int32) = 0l)
  () : gjofkipdifm  = {
  retcode;
}

let rec default_haffbknmhfm = ()

let rec default_jaeonekdhmo 
  ?retcode:((retcode:int32) = 0l)
  ?pcmhnpbecpk:((pcmhnpbecpk:egokacjfaen list) = [])
  () : jaeonekdhmo  = {
  retcode;
  pcmhnpbecpk;
}

let rec default_bnhoegcoljl 
  ?fgmdoekgpee:((fgmdoekgpee:ejnhbdlcndj) = default_ejnhbdlcndj ())
  ?hfhghfhomfn:((hfhghfhomfn:int32) = 0l)
  ?iiidiaplofb:((iiidiaplofb:lnnkgnfmmll option) = None)
  () : bnhoegcoljl  = {
  fgmdoekgpee;
  hfhghfhomfn;
  iiidiaplofb;
}

let rec default_npnpnbjahki 
  ?retcode:((retcode:int32) = 0l)
  () : npnpnbjahki  = {
  retcode;
}

let rec default_dhhnemhmgma 
  ?uid:((uid:int32) = 0l)
  ?fgmdoekgpee:((fgmdoekgpee:ejnhbdlcndj) = default_ejnhbdlcndj ())
  ?pcmhnpbecpk:((pcmhnpbecpk:egokacjfaen list) = [])
  () : dhhnemhmgma  = {
  uid;
  fgmdoekgpee;
  pcmhnpbecpk;
}

let rec default_lfkkogmpbao 
  ?uid:((uid:int32) = 0l)
  () : lfkkogmpbao  = {
  uid;
}

let rec default_npcdkngjimc 
  ?retcode:((retcode:int32) = 0l)
  () : npcdkngjimc  = {
  retcode;
}

let rec default_geddfnpdnao 
  ?ehjdlppngmf:((ehjdlppngmf:int32) = 0l)
  ?dfpkdpmefac:((dfpkdpmefac:gkkpbgmoodd) = default_gkkpbgmoodd ())
  ?mfdelanaicp:((mfdelanaicp:int32) = 0l)
  () : geddfnpdnao  = {
  ehjdlppngmf;
  dfpkdpmefac;
  mfdelanaicp;
}

let rec default_hhbnnogdkpi = ()

let rec default_ifanbeggfke 
  ?pcmhnpbecpk:((pcmhnpbecpk:egokacjfaen list) = [])
  ?jgkindfbegl:((jgkindfbegl:int64) = 0L)
  ?mfdelanaicp:((mfdelanaicp:int64) = 0L)
  ?dfpkdpmefac:((dfpkdpmefac:gkkpbgmoodd) = default_gkkpbgmoodd ())
  ?retcode:((retcode:int32) = 0l)
  () : ifanbeggfke  = {
  pcmhnpbecpk;
  jgkindfbegl;
  mfdelanaicp;
  dfpkdpmefac;
  retcode;
}

let rec default_keacmibmbaf () = (Cmd_mail_type_none:keacmibmbaf)

let rec default_boikhbbncba () = (Mail_type_normal:boikhbbncba)

let rec default_hbjjhaendfo 
  ?afiomfffjda:((afiomfffjda:int32) = 0l)
  ?enffacoigfn:((enffacoigfn:int32) = 0l)
  () : hbjjhaendfo  = {
  afiomfffjda;
  enffacoigfn;
}

let rec default_client_mail 
  ?title:((title:string) = "")
  ?attachment:((attachment:item_list option) = None)
  ?id:((id:int32) = 0l)
  ?content:((content:string) = "")
  ?para_list:((para_list:string list) = [])
  ?template_id:((template_id:int32) = 0l)
  ?mail_type:((mail_type:boikhbbncba) = default_boikhbbncba ())
  ?time:((time:int64) = 0L)
  ?expire_time:((expire_time:int64) = 0L)
  ?is_read:((is_read:bool) = false)
  ?sender:((sender:string) = "")
  () : client_mail  = {
  title;
  attachment;
  id;
  content;
  para_list;
  template_id;
  mail_type;
  time;
  expire_time;
  is_read;
  sender;
}

let rec default_get_mail_sc_rsp 
  ?is_end:((is_end:bool) = false)
  ?start:((start:int32) = 0l)
  ?notice_mail_list:((notice_mail_list:client_mail list) = [])
  ?total_num:((total_num:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?mail_list:((mail_list:client_mail list) = [])
  () : get_mail_sc_rsp  = {
  is_end;
  start;
  notice_mail_list;
  total_num;
  retcode;
  mail_list;
}

let rec default_clmibfaghgk 
  ?id:((id:int32) = 0l)
  () : clmibfaghgk  = {
  id;
}

let rec default_ealjpafdbnc 
  ?retcode:((retcode:int32) = 0l)
  ?id:((id:int32) = 0l)
  () : ealjpafdbnc  = {
  retcode;
  id;
}

let rec default_inhibijgmff 
  ?kflgilkbmpn:((kflgilkbmpn:int32 list) = [])
  () : inhibijgmff  = {
  kflgilkbmpn;
}

let rec default_del_mail_sc_rsp 
  ?id_list:((id_list:int32 list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : del_mail_sc_rsp  = {
  id_list;
  retcode;
}

let rec default_ahgfoojjjkb 
  ?apbdbeabddj:((apbdbeabddj:int32) = 0l)
  ?ckpljojpmmm:((ckpljojpmmm:int32 list) = [])
  () : ahgfoojjjkb  = {
  apbdbeabddj;
  ckpljojpmmm;
}

let rec default_ejglipokcki 
  ?dkhggieoebb:((dkhggieoebb:int32) = 0l)
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  () : ejglipokcki  = {
  dkhggieoebb;
  hgjolgkaofj;
}

let rec default_take_mail_attachment_sc_rsp 
  ?retcode:((retcode:int32) = 0l)
  ?attachment:((attachment:item_list option) = None)
  ?succ_mail_id_list:((succ_mail_id_list:int32 list) = [])
  ?fail_mail_list:((fail_mail_list:ejglipokcki list) = [])
  () : take_mail_attachment_sc_rsp  = {
  retcode;
  attachment;
  succ_mail_id_list;
  fail_mail_list;
}

let rec default_new_mail_sc_notify 
  ?mail_id_list:((mail_id_list:int32 list) = [])
  () : new_mail_sc_notify  = {
  mail_id_list;
}

let rec default_jhbepgcaplh () = (Cmd_map_rotation_type_none:jhbepgcaplh)

let rec default_khfdnccflpd 
  ?ohoibnhjifg:((ohoibnhjifg:int32) = 0l)
  ?group_id:((group_id:int32) = 0l)
  ?fpmlllfheph:((fpmlllfheph:float) = 0.)
  () : khfdnccflpd  = {
  ohoibnhjifg;
  group_id;
  fpmlllfheph;
}

let rec default_ocbfmoemnpp 
  ?ohoibnhjifg:((ohoibnhjifg:int32) = 0l)
  ?group_id:((group_id:int32) = 0l)
  () : ocbfmoemnpp  = {
  ohoibnhjifg;
  group_id;
}

let rec default_gnagomfpbhh 
  ?aobmafbkdll:((aobmafbkdll:quaternion option) = None)
  ?hgkfdihpfdm:((hgkfdihpfdm:vector option) = None)
  () : gnagomfpbhh  = {
  aobmafbkdll;
  hgkfdihpfdm;
}

let rec default_ihgimimcdpj 
  ?hkohlnhlgnb:((hkohlnhlgnb:int32) = 0l)
  ?eolhlhcahff:((eolhlhcahff:int32) = 0l)
  () : ihgimimcdpj  = {
  hkohlnhlgnb;
  eolhlhcahff;
}

let rec default_cioeahefpln 
  ?fmcegofhmgc:((fmcegofhmgc:int32) = 0l)
  ?chmbglidkmm:((chmbglidkmm:bool) = false)
  ?biefgmhpign:((biefgmhpign:khfdnccflpd list) = [])
  ?bhckkplnonj:((bhckkplnonj:ocbfmoemnpp list) = [])
  ?afdjikffnjd:((afdjikffnjd:int32) = 0l)
  ?imelchpnpgc:((imelchpnpgc:gnagomfpbhh option) = None)
  ?anecodblgcb:((anecodblgcb:ihgimimcdpj option) = None)
  () : cioeahefpln  = {
  fmcegofhmgc;
  chmbglidkmm;
  biefgmhpign;
  bhckkplnonj;
  afdjikffnjd;
  imelchpnpgc;
  anecodblgcb;
}

let rec default_ldobaeloakm 
  ?afdjikffnjd:((afdjikffnjd:int32) = 0l)
  ?fmcegofhmgc:((fmcegofhmgc:int32) = 0l)
  ?jililehmdkg:((jililehmdkg:motion_info option) = None)
  () : ldobaeloakm  = {
  afdjikffnjd;
  fmcegofhmgc;
  jililehmdkg;
}

let rec default_malmdonmidf 
  ?anecodblgcb:((anecodblgcb:ihgimimcdpj option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?fmcegofhmgc:((fmcegofhmgc:int32) = 0l)
  ?micgnniimak:((micgnniimak:int32) = 0l)
  ?afdjikffnjd:((afdjikffnjd:int32) = 0l)
  ?jililehmdkg:((jililehmdkg:motion_info option) = None)
  () : malmdonmidf  = {
  anecodblgcb;
  retcode;
  fmcegofhmgc;
  micgnniimak;
  afdjikffnjd;
  jililehmdkg;
}

let rec default_mmdlhgjdmjg 
  ?hiceoeaiape:((hiceoeaiape:ocbfmoemnpp option) = None)
  () : mmdlhgjdmjg  = {
  hiceoeaiape;
}

let rec default_apcieeocild 
  ?retcode:((retcode:int32) = 0l)
  ?anecodblgcb:((anecodblgcb:ihgimimcdpj option) = None)
  ?hiceoeaiape:((hiceoeaiape:ocbfmoemnpp option) = None)
  () : apcieeocild  = {
  retcode;
  anecodblgcb;
  hiceoeaiape;
}

let rec default_lnfjkiojdib 
  ?hoakecnahpp:((hoakecnahpp:khfdnccflpd option) = None)
  () : lnfjkiojdib  = {
  hoakecnahpp;
}

let rec default_ahlcaeifmin 
  ?anecodblgcb:((anecodblgcb:ihgimimcdpj option) = None)
  ?hoakecnahpp:((hoakecnahpp:khfdnccflpd option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : ahlcaeifmin  = {
  anecodblgcb;
  hoakecnahpp;
  retcode;
}

let rec default_bebfhlmmlke 
  ?jililehmdkg:((jililehmdkg:motion_info option) = None)
  ?group_id:((group_id:int32) = 0l)
  ?imelchpnpgc:((imelchpnpgc:gnagomfpbhh option) = None)
  ?ohoibnhjifg:((ohoibnhjifg:int32) = 0l)
  () : bebfhlmmlke  = {
  jililehmdkg;
  group_id;
  imelchpnpgc;
  ohoibnhjifg;
}

let rec default_ibhoeeiidfk 
  ?retcode:((retcode:int32) = 0l)
  ?jililehmdkg:((jililehmdkg:motion_info option) = None)
  ?micgnniimak:((micgnniimak:int32) = 0l)
  () : ibhoeeiidfk  = {
  retcode;
  jililehmdkg;
  micgnniimak;
}

let rec default_dnccfjilnia 
  ?jililehmdkg:((jililehmdkg:motion_info option) = None)
  () : dnccfjilnia  = {
  jililehmdkg;
}

let rec default_nelmkofibag 
  ?micgnniimak:((micgnniimak:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?jililehmdkg:((jililehmdkg:motion_info option) = None)
  () : nelmkofibag  = {
  micgnniimak;
  retcode;
  jililehmdkg;
}

let rec default_mepliogppbm = ()

let rec default_pogkoedgank 
  ?imelchpnpgc:((imelchpnpgc:gnagomfpbhh option) = None)
  ?afdjikffnjd:((afdjikffnjd:int32) = 0l)
  ?imfipeiffei:((imfipeiffei:bool) = false)
  ?anecodblgcb:((anecodblgcb:ihgimimcdpj option) = None)
  ?bhckkplnonj:((bhckkplnonj:ocbfmoemnpp list) = [])
  ?fmcegofhmgc:((fmcegofhmgc:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?biefgmhpign:((biefgmhpign:khfdnccflpd list) = [])
  () : pogkoedgank  = {
  imelchpnpgc;
  afdjikffnjd;
  imfipeiffei;
  anecodblgcb;
  bhckkplnonj;
  fmcegofhmgc;
  retcode;
  biefgmhpign;
}

let rec default_enilegjbbda 
  ?jililehmdkg:((jililehmdkg:motion_info option) = None)
  ?imelchpnpgc:((imelchpnpgc:gnagomfpbhh option) = None)
  () : enilegjbbda  = {
  jililehmdkg;
  imelchpnpgc;
}

let rec default_bjofngoldef 
  ?retcode:((retcode:int32) = 0l)
  ?micgnniimak:((micgnniimak:int32) = 0l)
  ?jililehmdkg:((jililehmdkg:motion_info option) = None)
  () : bjofngoldef  = {
  retcode;
  micgnniimak;
  jililehmdkg;
}

let rec default_jcnjjjamoej = ()

let rec default_nbdameobjml 
  ?anecodblgcb:((anecodblgcb:ihgimimcdpj option) = None)
  () : nbdameobjml  = {
  anecodblgcb;
}

let rec default_cohjcefhcmd 
  ?bhckkplnonj:((bhckkplnonj:ocbfmoemnpp list) = [])
  ?anecodblgcb:((anecodblgcb:ihgimimcdpj option) = None)
  ?imfipeiffei:((imfipeiffei:bool) = false)
  ?biefgmhpign:((biefgmhpign:khfdnccflpd list) = [])
  ?fmcegofhmgc:((fmcegofhmgc:int32) = 0l)
  ?afdjikffnjd:((afdjikffnjd:int32) = 0l)
  ?imelchpnpgc:((imelchpnpgc:gnagomfpbhh option) = None)
  () : cohjcefhcmd  = {
  bhckkplnonj;
  anecodblgcb;
  imfipeiffei;
  biefgmhpign;
  fmcegofhmgc;
  afdjikffnjd;
  imelchpnpgc;
}

let rec default_aigabbmnbpi 
  ?hoakecnahpp:((hoakecnahpp:khfdnccflpd option) = None)
  () : aigabbmnbpi  = {
  hoakecnahpp;
}

let rec default_dckpmapfemc 
  ?hoakecnahpp:((hoakecnahpp:khfdnccflpd option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?anecodblgcb:((anecodblgcb:ihgimimcdpj option) = None)
  () : dckpmapfemc  = {
  hoakecnahpp;
  retcode;
  anecodblgcb;
}

let rec default_jpjihefieki 
  ?biefgmhpign:((biefgmhpign:khfdnccflpd list) = [])
  () : jpjihefieki  = {
  biefgmhpign;
}

let rec default_ahoodboincp () = (Cmd_match_type_none:ahoodboincp)

let rec default_bglacpgnfnh 
  ?dfpkdpmefac:((dfpkdpmefac:gkkpbgmoodd) = default_gkkpbgmoodd ())
  ?iiidiaplofb:((iiidiaplofb:lnnkgnfmmll option) = None)
  () : bglacpgnfnh  = {
  dfpkdpmefac;
  iiidiaplofb;
}

let rec default_hilcokekkin 
  ?retcode:((retcode:int32) = 0l)
  ?iiidiaplofb:((iiidiaplofb:lnnkgnfmmll option) = None)
  () : hilcokekkin  = {
  retcode;
  iiidiaplofb;
}

let rec default_hghfdhlfdka = ()

let rec default_phindajhpal 
  ?retcode:((retcode:int32) = 0l)
  () : phindajhpal  = {
  retcode;
}

let rec default_ankmamoalla 
  ?retcode:((retcode:int32) = 0l)
  ?pcmhnpbecpk:((pcmhnpbecpk:egokacjfaen list) = [])
  () : ankmamoalla  = {
  retcode;
  pcmhnpbecpk;
}

let rec default_hnfjoglaejj = ()

let rec default_jjkhhndmplc 
  ?retcode:((retcode:int32) = 0l)
  ?mfdelanaicp:((mfdelanaicp:int64) = 0L)
  ?jgkindfbegl:((jgkindfbegl:int64) = 0L)
  ?dfpkdpmefac:((dfpkdpmefac:gkkpbgmoodd) = default_gkkpbgmoodd ())
  () : jjkhhndmplc  = {
  retcode;
  mfdelanaicp;
  jgkindfbegl;
  dfpkdpmefac;
}

let rec default_gogeiggmpdf () = (Cmd_match_three_module_type_none:gogeiggmpdf)

let rec default_obnecljmhjj () = (Match_three_statistics_none:obnecljmhjj)

let rec default_dagjmdgimmm = ()

let rec default_ngdfidbleeg 
  ?dfmnolgmcag:((dfmnolgmcag:int32) = 0l)
  ?lcmkbhbmdob:((lcmkbhbmdob:int32) = 0l)
  () : ngdfidbleeg  = {
  dfmnolgmcag;
  lcmkbhbmdob;
}

let rec default_ibilogboici 
  ?kkgeojnphcn:((kkgeojnphcn:int32) = 0l)
  ?count:((count:int32) = 0l)
  ?pos:((pos:int32) = 0l)
  ?eoegloalcho:((eoegloalcho:int32) = 0l)
  () : ibilogboici  = {
  kkgeojnphcn;
  count;
  pos;
  eoegloalcho;
}

let rec default_dfopglpmagj 
  ?bojmeheaade:((bojmeheaade:ngdfidbleeg list) = [])
  ?pjbahhanmfh:((pjbahhanmfh:(int32 * int32) list) = [])
  ?agmoeffpkfe:((agmoeffpkfe:(int32 * int32) list) = [])
  ?blnfdkplien:((blnfdkplien:ibilogboici list) = [])
  () : dfopglpmagj  = {
  bojmeheaade;
  pjbahhanmfh;
  agmoeffpkfe;
  blnfdkplien;
}

let rec default_ecppcfackjp 
  ?retcode:((retcode:int32) = 0l)
  ?khliailcpno:((khliailcpno:dfopglpmagj option) = None)
  () : ecppcfackjp  = {
  retcode;
  khliailcpno;
}

let rec default_cpfflpikfcj 
  ?dfmnolgmcag:((dfmnolgmcag:int32) = 0l)
  ?lcmkbhbmdob:((lcmkbhbmdob:int32) = 0l)
  ?ebibccdkihb:((ebibccdkihb:int32 list) = [])
  ?eoegloalcho:((eoegloalcho:int32) = 0l)
  ?mbmegghhkjl:((mbmegghhkjl:string) = "")
  ?agmoeffpkfe:((agmoeffpkfe:(int32 * int32) list) = [])
  ?kkgeojnphcn:((kkgeojnphcn:int32) = 0l)
  () : cpfflpikfcj  = {
  dfmnolgmcag;
  lcmkbhbmdob;
  ebibccdkihb;
  eoegloalcho;
  mbmegghhkjl;
  agmoeffpkfe;
  kkgeojnphcn;
}

let rec default_bcoocleapmc 
  ?retcode:((retcode:int32) = 0l)
  ?lcmkbhbmdob:((lcmkbhbmdob:int32) = 0l)
  ?dfmnolgmcag:((dfmnolgmcag:int32) = 0l)
  () : bcoocleapmc  = {
  retcode;
  lcmkbhbmdob;
  dfmnolgmcag;
}

let rec default_llldfbeojkh 
  ?khliailcpno:((khliailcpno:dfopglpmagj option) = None)
  () : llldfbeojkh  = {
  khliailcpno;
}

let rec default_ieggdbjkahf 
  ?pos:((pos:int32) = 0l)
  ?kkgeojnphcn:((kkgeojnphcn:int32) = 0l)
  () : ieggdbjkahf  = {
  pos;
  kkgeojnphcn;
}

let rec default_lkddgonhhma 
  ?pos:((pos:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?kkgeojnphcn:((kkgeojnphcn:int32) = 0l)
  () : lkddgonhhma  = {
  pos;
  retcode;
  kkgeojnphcn;
}

let rec default_menenehdenk () = (Cmd_message_type_none:menenehdenk)

let rec default_ielhgjjhmeg 
  ?ebbgmahfino:((ebbgmahfino:int32 list) = [])
  () : ielhgjjhmeg  = {
  ebbgmahfino;
}

let rec default_jlibphmclik 
  ?oohldgfnabj:((oohldgfnabj:int32) = 0l)
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  () : jlibphmclik  = {
  oohldgfnabj;
  hgjolgkaofj;
}

let rec default_fmnjhfhbjdi 
  ?mcpchaempop:((mcpchaempop:int32 list) = [])
  ?pdpfcfglgco:((pdpfcfglgco:jlibphmclik list) = [])
  ?id:((id:int32) = 0l)
  ?status:((status:jnmfgfjpeim) = default_jnmfgfjpeim ())
  ?hiiadaioiip:((hiiadaioiip:int32) = 0l)
  () : fmnjhfhbjdi  = {
  mcpchaempop;
  pdpfcfglgco;
  id;
  status;
  hiiadaioiip;
}

let rec default_adgfohedeog 
  ?cbclgknhnib:((cbclgknhnib:int64) = 0L)
  ?flnokepmaph:((flnokepmaph:int32) = 0l)
  ?id:((id:int32) = 0l)
  ?kkadhofegle:((kkadhofegle:fmnjhfhbjdi list) = [])
  ?status:((status:pbcofiploko) = default_pbcofiploko ())
  () : adgfohedeog  = {
  cbclgknhnib;
  flnokepmaph;
  id;
  kkadhofegle;
  status;
}

let rec default_dapaodjlepf 
  ?gimdcaalgei:((gimdcaalgei:adgfohedeog list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : dapaodjlepf  = {
  gimdcaalgei;
  retcode;
}

let rec default_gpaafmajnie = ()

let rec default_gopahcfeind 
  ?hdnieedkagk:((hdnieedkagk:bool) = false)
  ?pnigjhppmln:((pnigjhppmln:int32) = 0l)
  () : gopahcfeind  = {
  hdnieedkagk;
  pnigjhppmln;
}

let rec default_dejjkifldfb 
  ?group_id:((group_id:int32) = 0l)
  ?cbclgknhnib:((cbclgknhnib:int64) = 0L)
  ?ppfbnlefano:((ppfbnlefano:pbcofiploko) = default_pbcofiploko ())
  () : dejjkifldfb  = {
  group_id;
  cbclgknhnib;
  ppfbnlefano;
}

let rec default_jnicjgmnafm 
  ?lpfpcbhelle:((lpfpcbhelle:jnmfgfjpeim) = default_jnmfgfjpeim ())
  ?hgkmoddpamj:((hgkmoddpamj:int32) = 0l)
  () : jnicjgmnafm  = {
  lpfpcbhelle;
  hgkmoddpamj;
}

let rec default_ecofcnjhkli 
  ?retcode:((retcode:int32) = 0l)
  ?bjhgmjdmodb:((bjhgmjdmodb:gopahcfeind list) = [])
  () : ecofcnjhkli  = {
  retcode;
  bjhgmjdmodb;
}

let rec default_bgehccfmoje 
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  ?oohldgfnabj:((oohldgfnabj:int32) = 0l)
  () : bgehccfmoje  = {
  hgjolgkaofj;
  oohldgfnabj;
}

let rec default_pahneciakhd 
  ?retcode:((retcode:int32) = 0l)
  ?oohldgfnabj:((oohldgfnabj:int32) = 0l)
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  () : pahneciakhd  = {
  retcode;
  oohldgfnabj;
  hgjolgkaofj;
}

let rec default_cdnampmbamd 
  ?hgkmoddpamj:((hgkmoddpamj:int32) = 0l)
  () : cdnampmbamd  = {
  hgkmoddpamj;
}

let rec default_admghjdoklf 
  ?hgkmoddpamj:((hgkmoddpamj:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : admghjdoklf  = {
  hgkmoddpamj;
  reward;
  retcode;
}

let rec default_ibpiaefkdgp 
  ?hgkmoddpamj:((hgkmoddpamj:int32) = 0l)
  ?pdpfcfglgco:((pdpfcfglgco:jlibphmclik list) = [])
  () : ibpiaefkdgp  = {
  hgkmoddpamj;
  pdpfcfglgco;
}

let rec default_hndgmaplmgk 
  ?reward:((reward:item_list option) = None)
  ?pdpfcfglgco:((pdpfcfglgco:jlibphmclik list) = [])
  ?hgkmoddpamj:((hgkmoddpamj:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : hndgmaplmgk  = {
  reward;
  pdpfcfglgco;
  hgkmoddpamj;
  retcode;
}

let rec default_mnnpgmjjgml () = (Cmd_misc_module_type_none:mnnpgmjjgml)

let rec default_mcfficiioho () = (Cache_notify_type_none:mcfficiioho)

let rec default_gnankafabkp () = (Movie_racing_over_take:gnankafabkp)

let rec default_gdkighgodkj () = (Difficulty_ajustment_type_default:gdkighgodkj)

let rec default_pchdmnlenjo () = (Difficulty_ajustment_source_none:pchdmnlenjo)

let rec default_cimoknigome 
  ?kbelpfdopde:((kbelpfdopde:int32) = 0l)
  () : cimoknigome  = {
  kbelpfdopde;
}

let rec default_fjmmkcjfnfi 
  ?kbelpfdopde:((kbelpfdopde:int32) = 0l)
  ?jllfcnnhobk:((jllfcnnhobk:int32) = 0l)
  () : fjmmkcjfnfi  = {
  kbelpfdopde;
  jllfcnnhobk;
}

let rec default_ddbejjkchmi 
  ?reward:((reward:item_list option) = None)
  ?dcacgeojnnn:((dcacgeojnnn:fjmmkcjfnfi option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : ddbejjkchmi  = {
  reward;
  dcacgeojnnn;
  retcode;
}

let rec default_eifoakckafl = ()

let rec default_jnmjhnkonli 
  ?lkanmknegeh:((lkanmknegeh:fjmmkcjfnfi list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : jnmjhnkonli  = {
  lkanmknegeh;
  retcode;
}

let rec default_mnbegceholg = ()

let rec default_gcjmjchkhcj 
  ?retcode:((retcode:int32) = 0l)
  () : gcjmjchkhcj  = {
  retcode;
}

let rec default_oglabaalopb 
  ?hjgdifcandc:((hjgdifcandc:int32 list) = [])
  ?empkpmmfmof:((empkpmmfmof:int32) = 0l)
  ?fgmdoekgpee:((fgmdoekgpee:int32) = 0l)
  () : oglabaalopb  = {
  hjgdifcandc;
  empkpmmfmof;
  fgmdoekgpee;
}

let rec default_hbmmebdbdaa 
  ?afknhaijkmd:((afknhaijkmd:oglabaalopb list) = [])
  () : hbmmebdbdaa  = {
  afknhaijkmd;
}

let rec default_dicmfnmipif 
  ?retcode:((retcode:int32) = 0l)
  () : dicmfnmipif  = {
  retcode;
}

let rec default_hgeajlclkpg 
  ?pldifcohmkm:((pldifcohmkm:string list) = [])
  ?fgmdoekgpee:((fgmdoekgpee:mcfficiioho) = default_mcfficiioho ())
  ?hccjhiilppi:((hccjhiilppi:int32 list) = [])
  () : hgeajlclkpg  = {
  pldifcohmkm;
  fgmdoekgpee;
  hccjhiilppi;
}

let rec default_onblgihcbeh 
  ?retcode:((retcode:int32) = 0l)
  () : onblgihcbeh  = {
  retcode;
}

let rec default_lfbcmjdgkii 
  ?ipnkbphbnco:((ipnkbphbnco:string) = "")
  () : lfbcmjdgkii  = {
  ipnkbphbnco;
}

let rec default_hkbpkcfanoa 
  ?retcode:((retcode:int32) = 0l)
  () : hkbpkcfanoa  = {
  retcode;
}

let rec default_lpmaoheeohn 
  ?level:((level:int32) = 0l)
  ?cifpalnlidj:((cifpalnlidj:int32) = 0l)
  ?fgmdoekgpee:((fgmdoekgpee:gnankafabkp) = default_gnankafabkp ())
  ?fikedopgmdl:((fikedopgmdl:int32) = 0l)
  () : lpmaoheeohn  = {
  level;
  cifpalnlidj;
  fgmdoekgpee;
  fikedopgmdl;
}

let rec default_mbkinmiiklg = ()

let rec default_pfenlcjgjhb 
  ?retcode:((retcode:int32) = 0l)
  ?pnlfdfhaejh:((pnlfdfhaejh:lpmaoheeohn list) = [])
  () : pfenlcjgjhb  = {
  retcode;
  pnlfdfhaejh;
}

let rec default_ogjjlnpokco 
  ?ejoalpnccgc:((ejoalpnccgc:lpmaoheeohn option) = None)
  () : ogjjlnpokco  = {
  ejoalpnccgc;
}

let rec default_jibjbnbadcp 
  ?ejoalpnccgc:((ejoalpnccgc:lpmaoheeohn option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : jibjbnbadcp  = {
  ejoalpnccgc;
  retcode;
}

let rec default_fdiljlmlmhp 
  ?fljmjmfonan:((fljmjmfonan:int32) = 0l)
  () : fdiljlmlmhp  = {
  fljmjmfonan;
}

let rec default_pffiiiednci 
  ?fljmjmfonan:((fljmjmfonan:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : pffiiiednci  = {
  fljmjmfonan;
  retcode;
}

let rec default_dpnmfccfjbe 
  ?jkaodlmplme:((jkaodlmplme:int32) = 0l)
  ?fikedopgmdl:((fikedopgmdl:int32) = 0l)
  ?jpinjmnfgec:((jpinjmnfgec:bool) = false)
  ?level:((level:int32) = 0l)
  () : dpnmfccfjbe  = {
  jkaodlmplme;
  fikedopgmdl;
  jpinjmnfgec;
  level;
}

let rec default_pckhbnhnkab = ()

let rec default_impcibghklj 
  ?retcode:((retcode:int32) = 0l)
  ?hbomckbjaif:((hbomckbjaif:dpnmfccfjbe list) = [])
  () : impcibghklj  = {
  retcode;
  hbomckbjaif;
}

let rec default_alhadjbdlmh 
  ?group_id:((group_id:int32) = 0l)
  ?kgmjhehlioi:((kgmjhehlioi:dpnmfccfjbe option) = None)
  ?ecgebkmcfcn:((ecgebkmcfcn:int32) = 0l)
  ?mbmegghhkjl:((mbmegghhkjl:int64) = 0L)
  () : alhadjbdlmh  = {
  group_id;
  kgmjhehlioi;
  ecgebkmcfcn;
  mbmegghhkjl;
}

let rec default_hgnbbdiojbh 
  ?kgmjhehlioi:((kgmjhehlioi:dpnmfccfjbe option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : hgnbbdiojbh  = {
  kgmjhehlioi;
  retcode;
}

let rec default_ffimgfmpcdg 
  ?lnmamccmdpa:((lnmamccmdpa:gdkighgodkj) = default_gdkighgodkj ())
  ?id:((id:int32) = 0l)
  ?cbjpfggchfh:((cbjpfggchfh:pchdmnlenjo) = default_pchdmnlenjo ())
  () : ffimgfmpcdg  = {
  lnmamccmdpa;
  id;
  cbjpfggchfh;
}

let rec default_ldfaedmjpnj = ()

let rec default_mgopkflejhe 
  ?retcode:((retcode:int32) = 0l)
  ?haeppfknbnm:((haeppfknbnm:ffimgfmpcdg list) = [])
  () : mgopkflejhe  = {
  retcode;
  haeppfknbnm;
}

let rec default_gnicmkcbepl 
  ?data:((data:ffimgfmpcdg option) = None)
  () : gnicmkcbepl  = {
  data;
}

let rec default_bmbfidhchpd 
  ?data:((data:ffimgfmpcdg option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?haeppfknbnm:((haeppfknbnm:ffimgfmpcdg list) = [])
  () : bmbfidhchpd  = {
  data;
  retcode;
  haeppfknbnm;
}

let rec default_llohcehmngd () = (Cmd_mission_type_none:llohcehmngd)

let rec default_kefklcglpbb () = (Mission_sync_record_none:kefklcglpbb)

let rec default_kgmjpadefpp () = (Main_mission_sync_none:kgmjpadefpp)

let rec default_hkmebfmeeko () = (Track_main_mission_update_none:hkmebfmeeko)

let rec default_gnefnfaflgi = ()

let rec default_ihgeeangifc 
  ?fgmdoekgpee:((fgmdoekgpee:kefklcglpbb) = default_kefklcglpbb ())
  ?iihookopmmk:((iihookopmmk:int32) = 0l)
  ?id:((id:int32) = 0l)
  () : ihgeeangifc  = {
  fgmdoekgpee;
  iihookopmmk;
  id;
}

let rec default_pbnceknojon 
  ?id:((id:int32) = 0l)
  ?klmfdjlahkg:((klmfdjlahkg:jbianonhjfo list) = [])
  ?status:((status:mission_status) = default_mission_status ())
  () : pbnceknojon  = {
  id;
  klmfdjlahkg;
  status;
}

let rec default_dlompnobmja 
  ?id:((id:int32) = 0l)
  ?klmfdjlahkg:((klmfdjlahkg:hhmofllojag option) = None)
  () : dlompnobmja  = {
  id;
  klmfdjlahkg;
}

let rec default_eeapjcmdjml 
  ?retcode:((retcode:int32) = 0l)
  ?efmknejbpdn:((efmknejbpdn:pbnceknojon list) = [])
  ?nbgdkmbadki:((nbgdkmbadki:bool) = false)
  ?kcpgeandlei:((kcpgeandlei:int32) = 0l)
  ?hjnfpofkanm:((hjnfpofkanm:mission list) = [])
  () : eeapjcmdjml  = {
  retcode;
  efmknejbpdn;
  nbgdkmbadki;
  kcpgeandlei;
  hjnfpofkanm;
}

let rec default_eaonfecplik 
  ?idlneeekpjl:((idlneeekpjl:int32) = 0l)
  () : eaonfecplik  = {
  idlneeekpjl;
}

let rec default_aicicamofge 
  ?retcode:((retcode:int32) = 0l)
  ?idlneeekpjl:((idlneeekpjl:int32) = 0l)
  () : aicicamofge  = {
  retcode;
  idlneeekpjl;
}

let rec default_ahconmhbloa 
  ?klmfdjlahkg:((klmfdjlahkg:jbianonhjfo list) = [])
  ?clkbeandjfm:((clkbeandjfm:int32) = 0l)
  ?gkanpgfhgpc:((gkanpgfhgpc:string) = "")
  () : ahconmhbloa  = {
  klmfdjlahkg;
  clkbeandjfm;
  gkanpgfhgpc;
}

let rec default_kodjldnfgop 
  ?clkbeandjfm:((clkbeandjfm:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?gkanpgfhgpc:((gkanpgfhgpc:string) = "")
  ?klmfdjlahkg:((klmfdjlahkg:jbianonhjfo list) = [])
  () : kodjldnfgop  = {
  clkbeandjfm;
  retcode;
  gkanpgfhgpc;
  klmfdjlahkg;
}

let rec default_onepplibcki 
  ?reward:((reward:item_list option) = None)
  ?idlneeekpjl:((idlneeekpjl:int32) = 0l)
  ?clkbeandjfm:((clkbeandjfm:int32) = 0l)
  () : onepplibcki  = {
  reward;
  idlneeekpjl;
  clkbeandjfm;
}

let rec default_kocancofkjn 
  ?clkbeandjfm:((clkbeandjfm:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  () : kocancofkjn  = {
  clkbeandjfm;
  reward;
}

let rec default_ekamlkohmlm 
  ?pfmlckgckob:((pfmlckgckob:string) = "")
  () : ekamlkohmlm  = {
  pfmlckgckob;
}

let rec default_afifpimnnfo 
  ?retcode:((retcode:int32) = 0l)
  ?pfmlckgckob:((pfmlckgckob:string) = "")
  () : afifpimnnfo  = {
  retcode;
  pfmlckgckob;
}

let rec default_dbddhlanhnh 
  ?idlneeekpjl:((idlneeekpjl:int32) = 0l)
  ?nhbjkfibgbk:((nhbjkfibgbk:bool) = false)
  () : dbddhlanhnh  = {
  idlneeekpjl;
  nhbjkfibgbk;
}

let rec default_egnbldpighd 
  ?emfdkaekpcm:((emfdkaekpcm:dbddhlanhnh list) = [])
  ?paefafilbjg:((paefafilbjg:int32) = 0l)
  () : egnbldpighd  = {
  emfdkaekpcm;
  paefafilbjg;
}

let rec default_lpmbfoclibj 
  ?fddhalpeaon:((fddhalpeaon:int32 list) = [])
  () : lpmbfoclibj  = {
  fddhalpeaon;
}

let rec default_mdnpngbibbi 
  ?pdpfcfglgco:((pdpfcfglgco:item_list option) = None)
  ?clkbeandjfm:((clkbeandjfm:int32) = 0l)
  () : mdnpngbibbi  = {
  pdpfcfglgco;
  clkbeandjfm;
}

let rec default_pjefcmjonic 
  ?clkbeandjfm:((clkbeandjfm:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : pjefcmjonic  = {
  clkbeandjfm;
  retcode;
}

let rec default_hipfnccdlia = ()

let rec default_gmbggkdligk 
  ?nhfpcalobcc:((nhfpcalobcc:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?mkbbddpdmoi:((mkbbddpdmoi:mission list) = [])
  () : gmbggkdligk  = {
  nhfpcalobcc;
  retcode;
  mkbbddpdmoi;
}

let rec default_mimakllblna 
  ?fajohchbaen:((fajohchbaen:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  () : mimakllblna  = {
  fajohchbaen;
  reward;
}

let rec default_kecfpmdiopb 
  ?fajohchbaen:((fajohchbaen:int32) = 0l)
  () : kecfpmdiopb  = {
  fajohchbaen;
}

let rec default_hpgplgcbcbe 
  ?fpgjpmgijom:((fpgjpmgijom:mission option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : hpgplgcbcbe  = {
  fpgjpmgijom;
  retcode;
}

let rec default_get_mission_status_cs_req 
  ?mission_event_id_list:((mission_event_id_list:int32 list) = [])
  ?main_mission_id_list:((main_mission_id_list:int32 list) = [])
  ?sub_mission_id_list:((sub_mission_id_list:int32 list) = [])
  () : get_mission_status_cs_req  = {
  mission_event_id_list;
  main_mission_id_list;
  sub_mission_id_list;
}

let rec default_get_mission_status_sc_rsp 
  ?mission_event_status_list:((mission_event_status_list:mission list) = [])
  ?finished_main_mission_id_list:((finished_main_mission_id_list:int32 list) = [])
  ?sub_mission_status_list:((sub_mission_status_list:mission list) = [])
  ?unfinished_main_mission_id_list:((unfinished_main_mission_id_list:int32 list) = [])
  ?main_mission_mcv_list:((main_mission_mcv_list:klciikcjohp list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?disabled_main_mission_id_list:((disabled_main_mission_id_list:int32 list) = [])
  () : get_mission_status_sc_rsp  = {
  mission_event_status_list;
  finished_main_mission_id_list;
  sub_mission_status_list;
  unfinished_main_mission_id_list;
  main_mission_mcv_list;
  retcode;
  disabled_main_mission_id_list;
}

let rec default_nhkdfjaklfc 
  ?fajohchbaen:((fajohchbaen:int32) = 0l)
  () : nhkdfjaklfc  = {
  fajohchbaen;
}

let rec default_ccolbngjjka 
  ?fajohchbaen:((fajohchbaen:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : ccolbngjjka  = {
  fajohchbaen;
  retcode;
}

let rec default_bmolkdbaold 
  ?fajohchbaen:((fajohchbaen:int32) = 0l)
  ?progress:((progress:int32) = 0l)
  () : bmolkdbaold  = {
  fajohchbaen;
  progress;
}

let rec default_pahbclhfcoi 
  ?retcode:((retcode:int32) = 0l)
  () : pahbclhfcoi  = {
  retcode;
}

let rec default_jknakoeidkk = ()

let rec default_hkcpodmepff 
  ?micgnniimak:((micgnniimak:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?jililehmdkg:((jililehmdkg:motion_info option) = None)
  () : hkcpodmepff  = {
  micgnniimak;
  retcode;
  jililehmdkg;
}

let rec default_gohnnldpomc 
  ?clkbeandjfm:((clkbeandjfm:int32) = 0l)
  () : gohnnldpomc  = {
  clkbeandjfm;
}

let rec default_kgdjnmoibdn 
  ?idlneeekpjl:((idlneeekpjl:int32) = 0l)
  () : kgdjnmoibdn  = {
  idlneeekpjl;
}

let rec default_lliikjdjobb 
  ?mission_event_id_list:((mission_event_id_list:int32 list) = [])
  () : lliikjdjobb  = {
  mission_event_id_list;
}

let rec default_cabdaemkaha 
  ?efmknejbpdn:((efmknejbpdn:pbnceknojon list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : cabdaemkaha  = {
  efmknejbpdn;
  retcode;
}

let rec default_nabdijonbia 
  ?sub_mission_id_list:((sub_mission_id_list:int32 list) = [])
  () : nabdijonbia  = {
  sub_mission_id_list;
}

let rec default_epchbjbjcck 
  ?kcpgeandlei:((kcpgeandlei:int32) = 0l)
  ?ngeicmomnee:((ngeicmomnee:int32) = 0l)
  ?gajbbcihmlg:((gajbbcihmlg:hkmebfmeeko) = default_hkmebfmeeko ())
  () : epchbjbjcck  = {
  kcpgeandlei;
  ngeicmomnee;
  gajbbcihmlg;
}

let rec default_khconlgbnkp 
  ?retcode:((retcode:int32) = 0l)
  ?ilgfnknhjea:((ilgfnknhjea:int32) = 0l)
  ?kcpgeandlei:((kcpgeandlei:int32) = 0l)
  () : khconlgbnkp  = {
  retcode;
  ilgfnknhjea;
  kcpgeandlei;
}

let rec default_phjadhpnljo () = (Cmd_monopoly_type_none:phjadhpnljo)

let rec default_nbbdamgnjpn () = (Monopoly_social_event_status_none:nbbdamgnjpn)

let rec default_efjdphpapii () = (Monopoly_cell_state_idle:efjdphpapii)

let rec default_ciaoikeanea () = (Monopoly_action_result_source_type_none:ciaoikeanea)

let rec default_dgidimidfpn = ()

let rec default_joepajdgphk 
  ?clnpkcniekd:((clnpkcniekd:bool) = false)
  ?ppjbokfgmjh:((ppjbokfgmjh:int32) = 0l)
  ?minoahpjnmh:((minoahpjnmh:int32) = 0l)
  ?dbgaojmndmc:((dbgaojmndmc:int32) = 0l)
  ?kpjafhgjmne:((kpjafhgjmne:bool) = false)
  ?hngcgmnnlej:((hngcgmnnlej:int32) = 0l)
  () : joepajdgphk  = {
  clnpkcniekd;
  ppjbokfgmjh;
  minoahpjnmh;
  dbgaojmndmc;
  kpjafhgjmne;
  hngcgmnnlej;
}

let rec default_mgghehlpfmh 
  ?nahadojjmfc:((nahadojjmfc:int32 list) = [])
  ?ckmejojcafi:((ckmejojcafi:nbbdamgnjpn) = default_nbbdamgnjpn ())
  () : mgghehlpfmh  = {
  nahadojjmfc;
  ckmejojcafi;
}

let rec default_jhaibieoogh 
  ?ggbdddiffbd:((ggbdddiffbd:int32) = 0l)
  ?progress:((progress:int32) = 0l)
  () : jhaibieoogh  = {
  ggbdddiffbd;
  progress;
}

let rec default_ajofeagbhof 
  ?npokjeodakc:((npokjeodakc:int64) = 0L)
  ?pedicfiaamc:((pedicfiaamc:bool) = false)
  ?mkideamcloh:((mkideamcloh:bool) = false)
  () : ajofeagbhof  = {
  npokjeodakc;
  pedicfiaamc;
  mkideamcloh;
}

let rec default_pohjkgbpdho 
  ?pdmjjhpbogd:((pdmjjhpbogd:ajofeagbhof list) = [])
  ?phimeblpkfi:((phimeblpkfi:int32) = 0l)
  ?dhkbkjkdnei:((dhkbkjkdnei:int64) = 0L)
  ?ijccfagbnbc:((ijccfagbnbc:int32) = 0l)
  ?pajlebhmocf:((pajlebhmocf:jhaibieoogh list) = [])
  ?fmhcopcakec:((fmhcopcakec:bool) = false)
  ?mphncdpfiaj:((mphncdpfiaj:int32) = 0l)
  ?kopeolbbgel:((kopeolbbgel:int64) = 0L)
  ?ilcfognhfck:((ilcfognhfck:string) = "")
  ?abmeooeakfk:((abmeooeakfk:string) = "")
  ?bnhepammdhc:((bnhepammdhc:int32) = 0l)
  ?ijabojodcao:((ijabojodcao:jhaibieoogh list) = [])
  ?bggigohgmmb:((bggigohgmmb:jhaibieoogh list) = [])
  ?bdcnikjepnp:((bdcnikjepnp:int32) = 0l)
  ?elegbecbahh:((elegbecbahh:jhaibieoogh list) = [])
  ?klodmjekmjj:((klodmjekmjj:string) = "")
  ?abggoedcbgi:((abggoedcbgi:int32) = 0l)
  ?cccchhlbkdn:((cccchhlbkdn:int64) = 0L)
  () : pohjkgbpdho  = {
  pdmjjhpbogd;
  phimeblpkfi;
  dhkbkjkdnei;
  ijccfagbnbc;
  pajlebhmocf;
  fmhcopcakec;
  mphncdpfiaj;
  kopeolbbgel;
  ilcfognhfck;
  abmeooeakfk;
  bnhepammdhc;
  ijabojodcao;
  bggigohgmmb;
  bdcnikjepnp;
  elegbecbahh;
  klodmjekmjj;
  abggoedcbgi;
  cccchhlbkdn;
}

let rec default_gioddoihlcn 
  ?pniomdhkgan:((pniomdhkgan:pohjkgbpdho list) = [])
  () : gioddoihlcn  = {
  pniomdhkgan;
}

let rec default_lidhmbfbhao 
  ?nchpghpfkkb:((nchpghpfkkb:int32) = 0l)
  ?legjggfllkm:((legjggfllkm:int32) = 0l)
  ?level:((level:int32) = 0l)
  () : lidhmbfbhao  = {
  nchpghpfkkb;
  legjggfllkm;
  level;
}

let rec default_ljmjpodbcae 
  ?khhhjkbcekl:((khhhjkbcekl:lidhmbfbhao list) = [])
  () : ljmjpodbcae  = {
  khhhjkbcekl;
}

let rec default_bocmnkonppn 
  ?lnjapmhfcck:((lnjapmhfcck:int32) = 0l)
  ?pbonhgdihdk:((pbonhgdihdk:int32) = 0l)
  ?fjaomhojlmn:((fjaomhojlmn:efjdphpapii) = default_efjdphpapii ())
  ?molclcecklo:((molclcecklo:bool) = false)
  () : bocmnkonppn  = {
  lnjapmhfcck;
  pbonhgdihdk;
  fjaomhojlmn;
  molclcecklo;
}

let rec default_oopngmhcnnn 
  ?bfgejigdmfh:((bfgejigdmfh:int32) = 0l)
  ?gedkbbfkdlm:((gedkbbfkdlm:bocmnkonppn option) = None)
  ?gjbkhmihmif:((gjbkhmihmif:bocmnkonppn list) = [])
  ?dhfdgnilgih:((dhfdgnilgih:int32) = 0l)
  ?mbgmhaapdce:((mbgmhaapdce:bocmnkonppn list) = [])
  () : oopngmhcnnn  = {
  bfgejigdmfh;
  gedkbbfkdlm;
  gjbkhmihmif;
  dhfdgnilgih;
  mbgmhaapdce;
}

let rec default_aihopmoclam 
  ?nghdgacfjep:((nghdgacfjep:int32) = 0l)
  ?ppdbmfkjpel:((ppdbmfkjpel:int32) = 0l)
  ?pkkfndimmio:((pkkfndimmio:int32) = 0l)
  () : aihopmoclam  = {
  nghdgacfjep;
  ppdbmfkjpel;
  pkkfndimmio;
}

let rec default_ckffbacigpg 
  ?buff_list:((buff_list:aihopmoclam list) = [])
  () : ckffbacigpg  = {
  buff_list;
}

let rec default_defmcecjjbi 
  ?jfpnkcbdief:((jfpnkcbdief:int32 list) = [])
  () : defmcecjjbi  = {
  jfpnkcbdief;
}

let rec default_eonniefdoci 
  ?npholaehbkh:((npholaehbkh:int32) = 0l)
  ?okpcgdecjgg:((okpcgdecjgg:int32) = 0l)
  ?johpnmpfnia:((johpnmpfnia:bool) = false)
  ?aekimehjnkj:((aekimehjnkj:int32) = 0l)
  ?bamhmcfcibo:((bamhmcfcibo:int32) = 0l)
  ?ddjolnlfedi:((ddjolnlfedi:int32) = 0l)
  ?cikefdlgdhi:((cikefdlgdhi:int32) = 0l)
  ?ebmiflnkgel:((ebmiflnkgel:int32) = 0l)
  ?dkppejnhahh:((dkppejnhahh:int32) = 0l)
  () : eonniefdoci  = {
  npholaehbkh;
  okpcgdecjgg;
  johpnmpfnia;
  aekimehjnkj;
  bamhmcfcibo;
  ddjolnlfedi;
  cikefdlgdhi;
  ebmiflnkgel;
  dkppejnhahh;
}

let rec default_kfbeaplbefb 
  ?fdobhgepecn:((fdobhgepecn:int32 list) = [])
  ?imiekbcbdhb:((imiekbcbdhb:int32 list) = [])
  () : kfbeaplbefb  = {
  fdobhgepecn;
  imiekbcbdhb;
}

let rec default_gkklbmppoic 
  ?fhbjogfkibm:((fhbjogfkibm:int32 list) = [])
  ?lbecppeobhb:((lbecppeobhb:int32) = 0l)
  ?ihonjmelbij:((ihonjmelbij:int32 list) = [])
  ?bjcfdgchakl:((bjcfdgchakl:int32 list) = [])
  ?nnoncigblll:((nnoncigblll:bool) = false)
  () : gkklbmppoic  = {
  fhbjogfkibm;
  lbecppeobhb;
  ihonjmelbij;
  bjcfdgchakl;
  nnoncigblll;
}

let rec default_pignanpdklj 
  ?gbohojajppb:((gbohojajppb:int32) = 0l)
  ?pfkglcgcmcj:((pfkglcgcmcj:int32) = 0l)
  () : pignanpdklj  = {
  gbohojajppb;
  pfkglcgcmcj;
}

let rec default_hgbafdfikfj 
  ?hpmckfbmmhp:((hpmckfbmmhp:int32) = 0l)
  ?jahclmgmafe:((jahclmgmafe:int32) = 0l)
  ?agifahnpich:((agifahnpich:int32 list) = [])
  ?pgidogdgncj:((pgidogdgncj:int32) = 0l)
  ?gcbdccnejli:((gcbdccnejli:int32) = 0l)
  ?aiialahiamp:((aiialahiamp:pignanpdklj list) = [])
  () : hgbafdfikfj  = {
  hpmckfbmmhp;
  jahclmgmafe;
  agifahnpich;
  pgidogdgncj;
  gcbdccnejli;
  aiialahiamp;
}

let rec default_kkcblmehbff 
  ?onjlkkdkdbg:((onjlkkdkdbg:int32) = 0l)
  ?bghkmklgngf:((bghkmklgngf:bool) = false)
  ?hkbeefmhlbb:((hkbeefmhlbb:int32) = 0l)
  () : kkcblmehbff  = {
  onjlkkdkdbg;
  bghkmklgngf;
  hkbeefmhlbb;
}

let rec default_pcfeibpmokl 
  ?jahpoofngeb:((jahpoofngeb:int32) = 0l)
  ?nigmipgijon:((nigmipgijon:int32) = 0l)
  ?pfbnanpcdjh:((pfbnanpcdjh:int32) = 0l)
  ?mapdfgdaddp:((mapdfgdaddp:gkklbmppoic option) = None)
  ?ipcpibkdmib:((ipcpibkdmib:hgbafdfikfj option) = None)
  ?enagncneopb:((enagncneopb:kkcblmehbff option) = None)
  () : pcfeibpmokl  = {
  jahpoofngeb;
  nigmipgijon;
  pfbnanpcdjh;
  mapdfgdaddp;
  ipcpibkdmib;
  enagncneopb;
}

let rec default_niojaoakejp 
  ?mekdpjkdapc:((mekdpjkdapc:bool) = false)
  ?dnhmlmodpnb:((dnhmlmodpnb:int32) = 0l)
  () : niojaoakejp  = {
  mekdpjkdapc;
  dnhmlmodpnb;
}

let rec default_jogiagpfdml 
  ?jhobbdnmfkb:((jhobbdnmfkb:pcfeibpmokl list) = [])
  ?enaildglncl:((enaildglncl:pcfeibpmokl option) = None)
  ?dalmjhmldgm:((dalmjhmldgm:niojaoakejp option) = None)
  () : jogiagpfdml  = {
  jhobbdnmfkb;
  enaildglncl;
  dalmjhmldgm;
}

let rec default_fckifndejlc 
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  () : fckifndejlc  = {
  ohibnloihci;
}

let rec default_pockofmndag 
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  () : pockofmndag  = {
  ohibnloihci;
}

let rec default_flijbnilblk 
  ?ojkjbeilgdc:((ojkjbeilgdc:int32) = 0l)
  ?fabndlfdfda:((fabndlfdfda:int32) = 0l)
  ?cgjnknmgjfo:((cgjnknmgjfo:int32 list) = [])
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  () : flijbnilblk  = {
  ojkjbeilgdc;
  fabndlfdfda;
  cgjnknmgjfo;
  ohibnloihci;
}

let rec default_hdkjdnogijc 
  ?legjggfllkm:((legjggfllkm:int32) = 0l)
  () : hdkjdnogijc  = {
  legjggfllkm;
}

let rec default_kdajldoonep 
  ?fgohomljegm:((fgohomljegm:int32) = 0l)
  () : kdajldoonep  = {
  fgohomljegm;
}

let rec default_nfkbeabdapm 
  ?hokpfbhcehj:((hokpfbhcehj:int32) = 0l)
  () : nfkbeabdapm  = {
  hokpfbhcehj;
}

let rec default_hofaekpedln 
  ?ebdmffdjebm:((ebdmffdjebm:int32) = 0l)
  ?dhcakofmnjp:((dhcakofmnjp:int32) = 0l)
  () : hofaekpedln  = {
  ebdmffdjebm;
  dhcakofmnjp;
}

let rec default_gigdeinndjo 
  ?cgjnknmgjfo:((cgjnknmgjfo:int32 list) = [])
  ?fabndlfdfda:((fabndlfdfda:int32) = 0l)
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  ?pinikigmpkm:((pinikigmpkm:int32) = 0l)
  ?fmehjldopnj:((fmehjldopnj:int32) = 0l)
  () : gigdeinndjo  = {
  cgjnknmgjfo;
  fabndlfdfda;
  ohibnloihci;
  pinikigmpkm;
  fmehjldopnj;
}

let rec default_fmaebngghpd 
  ?nghdgacfjep:((nghdgacfjep:int32) = 0l)
  ?ofjbcpnedpd:((ofjbcpnedpd:fckifndejlc option) = None)
  ?cflafjbmepk:((cflafjbmepk:pockofmndag option) = None)
  ?pkjhlljjldp:((pkjhlljjldp:flijbnilblk option) = None)
  ?nhgioeaffbe:((nhgioeaffbe:hdkjdnogijc option) = None)
  ?eemdaiemepm:((eemdaiemepm:kdajldoonep option) = None)
  ?hfcakgghnim:((hfcakgghnim:nfkbeabdapm option) = None)
  ?jmbhhodnidd:((jmbhhodnidd:hofaekpedln option) = None)
  ?agpimeoajoj:((agpimeoajoj:gigdeinndjo option) = None)
  ?jocfgknbpdh:((jocfgknbpdh:bfinjohikfn option) = None)
  () : fmaebngghpd  = {
  nghdgacfjep;
  ofjbcpnedpd;
  cflafjbmepk;
  pkjhlljjldp;
  nhgioeaffbe;
  eemdaiemepm;
  hfcakgghnim;
  jmbhhodnidd;
  agpimeoajoj;
  jocfgknbpdh;
}

and default_bfinjohikfn 
  ?accbhmpbojc:((accbhmpbojc:fmaebngghpd list) = [])
  ?dojmahgdgcc:((dojmahgdgcc:int32) = 0l)
  () : bfinjohikfn  = {
  accbhmpbojc;
  dojmahgdgcc;
}

let rec default_khdobjbgpnh 
  ?ckioboniohf:((ckioboniohf:fmaebngghpd option) = None)
  () : khdobjbgpnh  = {
  ckioboniohf;
}

let rec default_ebbnakjiafk 
  ?imbgbpepfnl:((imbgbpepfnl:ljmjpodbcae option) = None)
  ?imelchpnpgc:((imelchpnpgc:oopngmhcnnn option) = None)
  ?nhknhpjdhlh:((nhknhpjdhlh:int32 list) = [])
  ?elfjfncodan:((elfjfncodan:mgghehlpfmh option) = None)
  ?pogejanpebj:((pogejanpebj:ckffbacigpg option) = None)
  ?plolpndhblk:((plolpndhblk:defmcecjjbi option) = None)
  ?odldbbohhkb:((odldbbohhkb:gioddoihlcn option) = None)
  ?pgbilhdciol:((pgbilhdciol:joepajdgphk option) = None)
  ?pbjhjhdcafb:((pbjhjhdcafb:eonniefdoci option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?ppkofopmfjc:((ppkofopmfjc:kfbeaplbefb option) = None)
  ?chnjjmhncap:((chnjjmhncap:jogiagpfdml option) = None)
  ?ogfdpdidmhn:((ogfdpdidmhn:khdobjbgpnh option) = None)
  () : ebbnakjiafk  = {
  imbgbpepfnl;
  imelchpnpgc;
  nhknhpjdhlh;
  elfjfncodan;
  pogejanpebj;
  plolpndhblk;
  odldbbohhkb;
  pgbilhdciol;
  pbjhjhdcafb;
  retcode;
  ppkofopmfjc;
  chnjjmhncap;
  ogfdpdidmhn;
}

let rec default_pmonigcbapn 
  ?plolpndhblk:((plolpndhblk:defmcecjjbi option) = None)
  () : pmonigcbapn  = {
  plolpndhblk;
}

let rec default_pkadmfglmpn 
  ?ppkofopmfjc:((ppkofopmfjc:kfbeaplbefb option) = None)
  () : pkadmfglmpn  = {
  ppkofopmfjc;
}

let rec default_jelebjjfjip 
  ?gjbkhmihmif:((gjbkhmihmif:bocmnkonppn list) = [])
  ?mbgmhaapdce:((mbgmhaapdce:bocmnkonppn list) = [])
  () : jelebjjfjip  = {
  gjbkhmihmif;
  mbgmhaapdce;
}

let rec default_fgfifjmmjcp 
  ?ckioboniohf:((ckioboniohf:fmaebngghpd option) = None)
  () : fgfifjmmjcp  = {
  ckioboniohf;
}

let rec default_bpmbhaaklmc 
  ?gedkbbfkdlm:((gedkbbfkdlm:bocmnkonppn option) = None)
  () : bpmbhaaklmc  = {
  gedkbbfkdlm;
}

let rec default_hjakepglbfd = ()

let rec default_bnoncaefinb 
  ?lnjppbjacmf:((lnjppbjacmf:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : bnoncaefinb  = {
  lnjppbjacmf;
  retcode;
}

let rec default_npiijenphib 
  ?jdfifidndhf:((jdfifidndhf:int32) = 0l)
  () : npiijenphib  = {
  jdfifidndhf;
}

let rec default_haobnmicopa 
  ?retcode:((retcode:int32) = 0l)
  ?jdfifidndhf:((jdfifidndhf:int32) = 0l)
  () : haobnmicopa  = {
  retcode;
  jdfifidndhf;
}

let rec default_mankodpdeed 
  ?opfpijmggal:((opfpijmggal:int32) = 0l)
  ?bljdbkkdlgd:((bljdbkkdlgd:int32) = 0l)
  () : mankodpdeed  = {
  opfpijmggal;
  bljdbkkdlgd;
}

let rec default_dfmcdagbcmk 
  ?retcode:((retcode:int32) = 0l)
  ?ejogkjoehfb:((ejogkjoehfb:bocmnkonppn list) = [])
  ?imelchpnpgc:((imelchpnpgc:oopngmhcnnn option) = None)
  () : dfmcdagbcmk  = {
  retcode;
  ejogkjoehfb;
  imelchpnpgc;
}

let rec default_dhejioligcn 
  ?ojkjbeilgdc:((ojkjbeilgdc:int32) = 0l)
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  () : dhejioligcn  = {
  ojkjbeilgdc;
  ohibnloihci;
}

let rec default_fjckjdbjkfd 
  ?ojkjbeilgdc:((ojkjbeilgdc:int32) = 0l)
  ?edifglcdjlo:((edifglcdjlo:int32) = 0l)
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  () : fjckjdbjkfd  = {
  ojkjbeilgdc;
  edifglcdjlo;
  ohibnloihci;
}

let rec default_ocijbfdkhad 
  ?ckikjffkgfk:((ckikjffkgfk:fjckjdbjkfd list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?ojkjbeilgdc:((ojkjbeilgdc:int32) = 0l)
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  ?ogfdpdidmhn:((ogfdpdidmhn:fmaebngghpd option) = None)
  () : ocijbfdkhad  = {
  ckikjffkgfk;
  retcode;
  ojkjbeilgdc;
  ohibnloihci;
  ogfdpdidmhn;
}

let rec default_boooodbdecg 
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  () : boooodbdecg  = {
  ohibnloihci;
}

let rec default_amplplldlmc 
  ?retcode:((retcode:int32) = 0l)
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  ?ogfdpdidmhn:((ogfdpdidmhn:fmaebngghpd option) = None)
  () : amplplldlmc  = {
  retcode;
  ohibnloihci;
  ogfdpdidmhn;
}

let rec default_hfhmkhodonh 
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  () : hfhmkhodonh  = {
  ohibnloihci;
}

let rec default_moeoggefkjg 
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?ogfdpdidmhn:((ogfdpdidmhn:fmaebngghpd option) = None)
  () : moeoggefkjg  = {
  ohibnloihci;
  retcode;
  ogfdpdidmhn;
}

let rec default_hoohjgiilid 
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  () : hoohjgiilid  = {
  ohibnloihci;
}

let rec default_cbfcpchblif 
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  ?ogfdpdidmhn:((ogfdpdidmhn:fmaebngghpd option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : cbfcpchblif  = {
  ohibnloihci;
  ogfdpdidmhn;
  retcode;
}

let rec default_gjnfhooabhh 
  ?ififlmjnmdk:((ififlmjnmdk:int32) = 0l)
  ?fgohomljegm:((fgohomljegm:int32) = 0l)
  () : gjnfhooabhh  = {
  ififlmjnmdk;
  fgohomljegm;
}

let rec default_hfkkejakcdl 
  ?retcode:((retcode:int32) = 0l)
  ?ififlmjnmdk:((ififlmjnmdk:int32) = 0l)
  ?fgohomljegm:((fgohomljegm:int32) = 0l)
  () : hfkkejakcdl  = {
  retcode;
  ififlmjnmdk;
  fgohomljegm;
}

let rec default_ckiajdgpeai 
  ?legjggfllkm:((legjggfllkm:int32) = 0l)
  () : ckiajdgpeai  = {
  legjggfllkm;
}

let rec default_bgeincnaijf 
  ?legjggfllkm:((legjggfllkm:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : bgeincnaijf  = {
  legjggfllkm;
  retcode;
}

let rec default_jdonaaefnia 
  ?nfcojigifbb:((nfcojigifbb:int32) = 0l)
  () : jdonaaefnia  = {
  nfcojigifbb;
}

let rec default_bkdgohbbalj 
  ?retcode:((retcode:int32) = 0l)
  ?nfcojigifbb:((nfcojigifbb:int32) = 0l)
  () : bkdgohbbalj  = {
  retcode;
  nfcojigifbb;
}

let rec default_pponmcdlhkg 
  ?dcedopcicik:((dcedopcicik:int32) = 0l)
  ?dhchppbnfeg:((dhchppbnfeg:int32) = 0l)
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  () : pponmcdlhkg  = {
  dcedopcicik;
  dhchppbnfeg;
  hgjolgkaofj;
}

let rec default_jpehgoiagfp 
  ?oicjkpkgila:((oicjkpkgila:int32) = 0l)
  ?fbmbomknfjo:((fbmbomknfjo:int32) = 0l)
  () : jpehgoiagfp  = {
  oicjkpkgila;
  fbmbomknfjo;
}

let rec default_fedimadblfd 
  ?gjcnecgjfde:((gjcnecgjfde:int32) = 0l)
  ?cpjlmihbgcp:((cpjlmihbgcp:int32) = 0l)
  ?kfclndkhilm:((kfclndkhilm:int32) = 0l)
  ?kdckaamonab:((kdckaamonab:int32) = 0l)
  () : fedimadblfd  = {
  gjcnecgjfde;
  cpjlmihbgcp;
  kfclndkhilm;
  kdckaamonab;
}

let rec default_mhkhjomblhm 
  ?anjbkgdpepn:((anjbkgdpepn:int32) = 0l)
  () : mhkhjomblhm  = {
  anjbkgdpepn;
}

let rec default_bakgcckjdlk 
  ?hmfokfnpnfk:((hmfokfnpnfk:pponmcdlhkg option) = None)
  ?bbdbepekdie:((bbdbepekdie:pponmcdlhkg option) = None)
  ?odbjpecmcgc:((odbjpecmcgc:lidhmbfbhao option) = None)
  ?kbhchoicmhc:((kbhchoicmhc:lidhmbfbhao option) = None)
  ?hjcdfejpjcl:((hjcdfejpjcl:aihopmoclam option) = None)
  ?emghnkdicbf:((emghnkdicbf:aihopmoclam option) = None)
  ?kkiehkfelck:((kkiehkfelck:jpehgoiagfp option) = None)
  ?pblkdhccmdi:((pblkdhccmdi:jpehgoiagfp option) = None)
  ?iohofdgmoka:((iohofdgmoka:niojaoakejp option) = None)
  ?gohgfgbcbfh:((gohgfgbcbfh:fedimadblfd option) = None)
  ?dlieaipfolf:((dlieaipfolf:aihopmoclam option) = None)
  ?nilkfplpaka:((nilkfplpaka:jpehgoiagfp option) = None)
  ?jjcbfhnhale:((jjcbfhnhale:mhkhjomblhm option) = None)
  () : bakgcckjdlk  = {
  hmfokfnpnfk;
  bbdbepekdie;
  odbjpecmcgc;
  kbhchoicmhc;
  hjcdfejpjcl;
  emghnkdicbf;
  kkiehkfelck;
  pblkdhccmdi;
  iohofdgmoka;
  gohgfgbcbfh;
  dlieaipfolf;
  nilkfplpaka;
  jjcbfhnhale;
}

let rec default_monopoly_action_result 
  ?click_cell_id:((click_cell_id:int32) = 0l)
  ?trigger_cell_id:((trigger_cell_id:int32) = 0l)
  ?detail:((detail:bakgcckjdlk option) = None)
  ?source_type:((source_type:ciaoikeanea) = default_ciaoikeanea ())
  ?effect_type:((effect_type:int32) = 0l)
  ?trigger_map_id:((trigger_map_id:int32) = 0l)
  ?click_map_id:((click_map_id:int32) = 0l)
  () : monopoly_action_result  = {
  click_cell_id;
  trigger_cell_id;
  detail;
  source_type;
  effect_type;
  trigger_map_id;
  click_map_id;
}

let rec default_ojifedpgpnj 
  ?fhjpmiigkin:((fhjpmiigkin:monopoly_action_result list) = [])
  () : ojifedpgpnj  = {
  fhjpmiigkin;
}

let rec default_jlgkjbbjang 
  ?pffecnompke:((pffecnompke:item_list option) = None)
  ?pdpfcfglgco:((pdpfcfglgco:item_list option) = None)
  ?hfcakgghnim:((hfcakgghnim:pcfeibpmokl option) = None)
  () : jlgkjbbjang  = {
  pffecnompke;
  pdpfcfglgco;
  hfcakgghnim;
}

let rec default_jhbnabecblc 
  ?dalmjhmldgm:((dalmjhmldgm:niojaoakejp option) = None)
  ?hfcakgghnim:((hfcakgghnim:pcfeibpmokl option) = None)
  () : jhbnabecblc  = {
  dalmjhmldgm;
  hfcakgghnim;
}

let rec default_poklnoillmi 
  ?jahpoofngeb:((jahpoofngeb:int32) = 0l)
  () : poklnoillmi  = {
  jahpoofngeb;
}

let rec default_monopoly_game_raise_ratio_sc_rsp 
  ?ratio:((ratio:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : monopoly_game_raise_ratio_sc_rsp  = {
  ratio;
  retcode;
}

let rec default_kojejdchlhh = ()

let rec default_cpaehmckljf 
  ?ebajcfkinhn:((ebajcfkinhn:int64) = 0L)
  ?bpbbnbklkdc:((bpbbnbklkdc:bool) = false)
  ?retcode:((retcode:int32) = 0l)
  ?igepfimgalc:((igepfimgalc:int32) = 0l)
  ?pbjhjhdcafb:((pbjhjhdcafb:eonniefdoci option) = None)
  () : cpaehmckljf  = {
  ebajcfkinhn;
  bpbbnbklkdc;
  retcode;
  igepfimgalc;
  pbjhjhdcafb;
}

let rec default_kgonikbbdak 
  ?kbdmkfogkfj:((kbdmkfogkfj:bool) = false)
  () : kgonikbbdak  = {
  kbdmkfogkfj;
}

let rec default_nhohbpmdnbh 
  ?ebajcfkinhn:((ebajcfkinhn:int64) = 0L)
  ?ngpobeifhfc:((ngpobeifhfc:int32) = 0l)
  ?knhfnfblnlk:((knhfnfblnlk:int32) = 0l)
  ?lballjhgmib:((lballjhgmib:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?ifiikolllkn:((ifiikolllkn:int32) = 0l)
  ?likidkoepla:((likidkoepla:int32) = 0l)
  () : nhohbpmdnbh  = {
  ebajcfkinhn;
  ngpobeifhfc;
  knhfnfblnlk;
  lballjhgmib;
  retcode;
  ifiikolllkn;
  likidkoepla;
}

let rec default_imniaamofcn 
  ?hajiidccbmn:((hajiidccbmn:int32) = 0l)
  () : imniaamofcn  = {
  hajiidccbmn;
}

let rec default_dnckobgnihn 
  ?mahiocfcikf:((mahiocfcikf:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?nnoncigblll:((nnoncigblll:bool) = false)
  ?fhbjogfkibm:((fhbjogfkibm:int32 list) = [])
  () : dnckobgnihn  = {
  mahiocfcikf;
  retcode;
  nnoncigblll;
  fhbjogfkibm;
}

let rec default_jliemnlahcd = ()

let rec default_monopoly_game_gacha_sc_rsp 
  ?result_list:((result_list:int32 list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : monopoly_game_gacha_sc_rsp  = {
  result_list;
  retcode;
}

let rec default_dhkfhhmkgdd 
  ?aiialahiamp:((aiialahiamp:pignanpdklj list) = [])
  () : dhkfhhmkgdd  = {
  aiialahiamp;
}

let rec default_bpkdaacghcm 
  ?ipcpibkdmib:((ipcpibkdmib:hgbafdfikfj option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : bpkdaacghcm  = {
  ipcpibkdmib;
  retcode;
}

let rec default_dhklbllkbal 
  ?jahclmgmafe:((jahclmgmafe:int32) = 0l)
  ?bhlfhhjhpja:((bhlfhhjhpja:int32) = 0l)
  ?goolmcbeakp:((goolmcbeakp:int32) = 0l)
  () : dhklbllkbal  = {
  jahclmgmafe;
  bhlfhhjhpja;
  goolmcbeakp;
}

let rec default_gfcbokjcjlk 
  ?lhcalbfcfjl:((lhcalbfcfjl:dhklbllkbal list) = [])
  () : gfcbokjcjlk  = {
  lhcalbfcfjl;
}

let rec default_hcejcpnpnbn 
  ?onjlkkdkdbg:((onjlkkdkdbg:int32) = 0l)
  () : hcejcpnpnbn  = {
  onjlkkdkdbg;
}

let rec default_hinkjiefgpj 
  ?retcode:((retcode:int32) = 0l)
  ?onjlkkdkdbg:((onjlkkdkdbg:int32) = 0l)
  () : hinkjiefgpj  = {
  retcode;
  onjlkkdkdbg;
}

let rec default_fmhgmbmhkcb 
  ?pjfilkjbojg:((pjfilkjbojg:int32) = 0l)
  ?hkbeefmhlbb:((hkbeefmhlbb:int32) = 0l)
  ?pdpfcfglgco:((pdpfcfglgco:item_list option) = None)
  () : fmhgmbmhkcb  = {
  pjfilkjbojg;
  hkbeefmhlbb;
  pdpfcfglgco;
}

let rec default_gdmhmadmend 
  ?cgjhaghgclh:((cgjhaghgclh:fmhgmbmhkcb list) = [])
  () : gdmhmadmend  = {
  cgjhaghgclh;
}

let rec default_iaejadjfpho = ()

let rec default_pidiloglgnn 
  ?retcode:((retcode:int32) = 0l)
  () : pidiloglgnn  = {
  retcode;
}

let rec default_bjpjdlgmoen 
  ?pbjhjhdcafb:((pbjhjhdcafb:eonniefdoci option) = None)
  ?igepfimgalc:((igepfimgalc:int32) = 0l)
  () : bjpjdlgmoen  = {
  pbjhjhdcafb;
  igepfimgalc;
}

let rec default_hnlpaajffok 
  ?dkppejnhahh:((dkppejnhahh:int32) = 0l)
  ?lbmgpjobhdp:((lbmgpjobhdp:int32) = 0l)
  ?ddjolnlfedi:((ddjolnlfedi:int32) = 0l)
  ?hflkkoinaeo:((hflkkoinaeo:int32) = 0l)
  ?uid:((uid:int32) = 0l)
  () : hnlpaajffok  = {
  dkppejnhahh;
  lbmgpjobhdp;
  ddjolnlfedi;
  hflkkoinaeo;
  uid;
}

let rec default_opbfdjbbhlf = ()

let rec default_eelooogfiep 
  ?elcdinampjf:((elcdinampjf:hnlpaajffok option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?nofclllibdd:((nofclllibdd:hnlpaajffok list) = [])
  () : eelooogfiep  = {
  elcdinampjf;
  retcode;
  nofclllibdd;
}

let rec default_oppjogblncg 
  ?ejpljgbiaic:((ejpljgbiaic:int32) = 0l)
  () : oppjogblncg  = {
  ejpljgbiaic;
}

let rec default_kolcimmmjhb 
  ?ejpljgbiaic:((ejpljgbiaic:int32) = 0l)
  ?dekonpmjeen:((dekonpmjeen:item_list option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : kolcimmmjhb  = {
  ejpljgbiaic;
  dekonpmjeen;
  retcode;
}

let rec default_pfjiapghecn 
  ?nahadojjmfc:((nahadojjmfc:int32 list) = [])
  ?lbmgpjobhdp:((lbmgpjobhdp:int32) = 0l)
  () : pfjiapghecn  = {
  nahadojjmfc;
  lbmgpjobhdp;
}

let rec default_boaopmiiplm = ()

let rec default_khpljlniphc 
  ?mjihjbdnbkk:((mjihjbdnbkk:int32) = 0l)
  ?cnt:((cnt:int32) = 0l)
  () : khpljlniphc  = {
  mjihjbdnbkk;
  cnt;
}

let rec default_kilboolgkpa 
  ?dkmdjiclemf:((dkmdjiclemf:khpljlniphc list) = [])
  ?mkideamcloh:((mkideamcloh:bool) = false)
  ?dmfpklplbbi:((dmfpklplbbi:bool) = false)
  ?retcode:((retcode:int32) = 0l)
  ?ckikjffkgfk:((ckikjffkgfk:fjckjdbjkfd list) = [])
  ?dpmofpdmpab:((dpmofpdmpab:int32) = 0l)
  ?lkajhecfpji:((lkajhecfpji:int32) = 0l)
  ?progress:((progress:int32) = 0l)
  () : kilboolgkpa  = {
  dkmdjiclemf;
  mkideamcloh;
  dmfpklplbbi;
  retcode;
  ckikjffkgfk;
  dpmofpdmpab;
  lkajhecfpji;
  progress;
}

let rec default_plpbgpgeenh 
  ?boijjckjecp:((boijjckjecp:int32) = 0l)
  ?edeglgnkjdj:((edeglgnkjdj:bool) = false)
  () : plpbgpgeenh  = {
  boijjckjecp;
  edeglgnkjdj;
}

let rec default_gglknfikmjo 
  ?ebdmffdjebm:((ebdmffdjebm:int32) = 0l)
  ?dhcakofmnjp:((dhcakofmnjp:int32) = 0l)
  ?gedkbbfkdlm:((gedkbbfkdlm:bocmnkonppn option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : gglknfikmjo  = {
  ebdmffdjebm;
  dhcakofmnjp;
  gedkbbfkdlm;
  retcode;
}

let rec default_social_event_server_cache 
  ?src_uid:((src_uid:int32) = 0l)
  ?sub_coin:((sub_coin:int32) = 0l)
  ?id:((id:int32) = 0l)
  ?add_coin:((add_coin:int32) = 0l)
  () : social_event_server_cache  = {
  src_uid;
  sub_coin;
  id;
  add_coin;
}

let rec default_fdkgkflnomh 
  ?calpgdnbiaa:((calpgdnbiaa:social_event_server_cache list) = [])
  () : fdkgkflnomh  = {
  calpgdnbiaa;
}

let rec default_afedkeknocc = ()

let rec default_npkeaphgcbp 
  ?calpgdnbiaa:((calpgdnbiaa:social_event_server_cache list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : npkeaphgcbp  = {
  calpgdnbiaa;
  retcode;
}

let rec default_kocpagpjklg 
  ?bbphnlfjfia:((bbphnlfjfia:int32 list) = [])
  () : kocpagpjklg  = {
  bbphnlfjfia;
}

let rec default_hgmhhjpoech 
  ?lfbdpogonmk:((lfbdpogonmk:int32 list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : hgmhhjpoech  = {
  lfbdpogonmk;
  retcode;
}

let rec default_ofabhekkgji 
  ?bnhepammdhc:((bnhepammdhc:int32) = 0l)
  () : ofabhekkgji  = {
  bnhepammdhc;
}

let rec default_ppnhdbldehi 
  ?lagojcpbhbb:((lagojcpbhbb:ajofeagbhof list) = [])
  ?bnhepammdhc:((bnhepammdhc:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : ppnhdbldehi  = {
  lagojcpbhbb;
  bnhepammdhc;
  retcode;
}

let rec default_ipbhdhlonkl 
  ?ahbalikpnil:((ahbalikpnil:int64) = 0L)
  ?bnhepammdhc:((bnhepammdhc:int32) = 0l)
  () : ipbhdhlonkl  = {
  ahbalikpnil;
  bnhepammdhc;
}

let rec default_onhionphhpe 
  ?bnhepammdhc:((bnhepammdhc:int32) = 0l)
  ?dekonpmjeen:((dekonpmjeen:item_list option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?ahbalikpnil:((ahbalikpnil:int32) = 0l)
  () : onhionphhpe  = {
  bnhepammdhc;
  dekonpmjeen;
  retcode;
  ahbalikpnil;
}

let rec default_emgndkeoddi 
  ?ahbalikpnil:((ahbalikpnil:int64) = 0L)
  ?bnhepammdhc:((bnhepammdhc:int32) = 0l)
  () : emgndkeoddi  = {
  ahbalikpnil;
  bnhepammdhc;
}

let rec default_kjpbgihpnpk 
  ?bnhepammdhc:((bnhepammdhc:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?ahbalikpnil:((ahbalikpnil:int64) = 0L)
  () : kjpbgihpnpk  = {
  bnhepammdhc;
  retcode;
  ahbalikpnil;
}

let rec default_maiibnepbkj = ()

let rec default_deecamaadno 
  ?hflkkoinaeo:((hflkkoinaeo:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?lkfmpcmabal:((lkfmpcmabal:int32) = 0l)
  () : deecamaadno  = {
  hflkkoinaeo;
  retcode;
  lkfmpcmabal;
}

let rec default_ideeolipmcm = ()

let rec default_agfjdjchdcf 
  ?retcode:((retcode:int32) = 0l)
  ?odldbbohhkb:((odldbbohhkb:gioddoihlcn option) = None)
  () : agfjdjchdcf  = {
  retcode;
  odldbbohhkb;
}

let rec default_cmiicmpcpce 
  ?lcimodmphno:((lcimodmphno:int32 list) = [])
  () : cmiicmpcpce  = {
  lcimodmphno;
}

let rec default_knefbegaapc 
  ?dekonpmjeen:((dekonpmjeen:item_list option) = None)
  ?lcimodmphno:((lcimodmphno:int32 list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : knefbegaapc  = {
  dekonpmjeen;
  lcimodmphno;
  retcode;
}

let rec default_kcgkeidjmea = ()

let rec default_dcclgmmfhbc 
  ?retcode:((retcode:int32) = 0l)
  ?dekonpmjeen:((dekonpmjeen:item_list option) = None)
  () : dcclgmmfhbc  = {
  retcode;
  dekonpmjeen;
}

let rec default_bnkcoklflkk = ()

let rec default_hfgbgjmmnfk 
  ?retcode:((retcode:int32) = 0l)
  ?pbjhjhdcafb:((pbjhjhdcafb:eonniefdoci option) = None)
  () : hfgbgjmmnfk  = {
  retcode;
  pbjhjhdcafb;
}

let rec default_chdcojajjcb 
  ?lnjapmhfcck:((lnjapmhfcck:int32) = 0l)
  ?pbonhgdihdk:((pbonhgdihdk:int32) = 0l)
  () : chdcojajjcb  = {
  lnjapmhfcck;
  pbonhgdihdk;
}

let rec default_ceghamagdkm 
  ?retcode:((retcode:int32) = 0l)
  ?lnjapmhfcck:((lnjapmhfcck:int32) = 0l)
  ?pbonhgdihdk:((pbonhgdihdk:int32) = 0l)
  () : ceghamagdkm  = {
  retcode;
  lnjapmhfcck;
  pbonhgdihdk;
}

let rec default_jlgocoobfoi = ()

let rec default_pjnahfbkmob 
  ?retcode:((retcode:int32) = 0l)
  () : pjnahfbkmob  = {
  retcode;
}

let rec default_jkahomjihll () = (Cmd_multiplayer_type_none:jkahomjihll)

let rec default_nmliohboebj = ()

let rec default_kbdgpkiddla 
  ?retcode:((retcode:int32) = 0l)
  ?pcmhnpbecpk:((pcmhnpbecpk:egokacjfaen list) = [])
  ?nchhhomjbdk:((nchhhomjbdk:mfoaahgomic option) = None)
  () : kbdgpkiddla  = {
  retcode;
  pcmhnpbecpk;
  nchhhomjbdk;
}

let rec default_oibemlbhfei 
  ?hckegfdpdml:((hckegfdpdml:int32) = 0l)
  () : oibemlbhfei  = {
  hckegfdpdml;
}

let rec default_habpbddflme 
  ?jdmpkhbijmn:((jdmpkhbijmn:string) = "")
  ?cfanklgaeoi:((cfanklgaeoi:int32) = 0l)
  ?jgkindfbegl:((jgkindfbegl:int64) = 0L)
  ?retcode:((retcode:int32) = 0l)
  ?jdjmjenhhhl:((jdjmjenhhhl:string) = "")
  () : habpbddflme  = {
  jdmpkhbijmn;
  cfanklgaeoi;
  jgkindfbegl;
  retcode;
  jdjmjenhhhl;
}

let rec default_bnkgpngjhkp 
  ?jgkindfbegl:((jgkindfbegl:int64) = 0L)
  () : bnkgpngjhkp  = {
  jgkindfbegl;
}

let rec default_bkmgppjcaoa 
  ?retcode:((retcode:int32) = 0l)
  () : bkmgppjcaoa  = {
  retcode;
}

let rec default_pdfcmfifanj 
  ?pcmhnpbecpk:((pcmhnpbecpk:egokacjfaen list) = [])
  ?nchhhomjbdk:((nchhhomjbdk:mfoaahgomic option) = None)
  () : pdfcmfifanj  = {
  pcmhnpbecpk;
  nchhhomjbdk;
}

let rec default_pnegdinkbpo 
  ?nchhhomjbdk:((nchhhomjbdk:mfoaahgomic option) = None)
  () : pnegdinkbpo  = {
  nchhhomjbdk;
}

let rec default_phnoojigfhp 
  ?mgdnainpahe:((mgdnainpahe:donhpbjnknp) = default_donhpbjnknp ())
  ?bnageejckgi:((bnageejckgi:obminlghola option) = None)
  ?ebeabgeoean:((ebeabgeoean:int32) = 0l)
  ?bkhhkejcomc:((bkhhkejcomc:int32) = 0l)
  () : phnoojigfhp  = {
  mgdnainpahe;
  bnageejckgi;
  ebeabgeoean;
  bkhhkejcomc;
}

let rec default_nglgknnfibf () = (Cmd_multiple_drop_type_none:nglgknnfibf)

let rec default_imjaneejcfp = ()

let rec default_cneaelnihbo 
  ?neaokpcagnl:((neaokpcagnl:int32) = 0l)
  ?id:((id:int32) = 0l)
  () : cneaelnihbo  = {
  neaokpcagnl;
  id;
}

let rec default_pplkceifckf 
  ?okcfllaampl:((okcfllaampl:int32) = 0l)
  ?ekieijdbdhm:((ekieijdbdhm:int32) = 0l)
  ?clmeaokeoaf:((clmeaokeoaf:int32) = 0l)
  ?fjlnncjahng:((fjlnncjahng:int32) = 0l)
  () : pplkceifckf  = {
  okcfllaampl;
  ekieijdbdhm;
  clmeaokeoaf;
  fjlnncjahng;
}

let rec default_chokajgcamp 
  ?jphnpjmpmbm:((jphnpjmpmbm:pplkceifckf list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?dbkfefjmndk:((dbkfefjmndk:cneaelnihbo list) = [])
  () : chokajgcamp  = {
  jphnpjmpmbm;
  retcode;
  dbkfefjmndk;
}

let rec default_dkaijciobno 
  ?dbkfefjmndk:((dbkfefjmndk:cneaelnihbo list) = [])
  () : dkaijciobno  = {
  dbkfefjmndk;
}

let rec default_kabippgdpah = ()

let rec default_hkknlapklmg 
  ?hihamdaadoi:((hihamdaadoi:int32) = 0l)
  ?efbfdfnaiak:((efbfdfnaiak:int32) = 0l)
  ?ppkgjnfchbg:((ppkgjnfchbg:int32) = 0l)
  ?fjlnncjahng:((fjlnncjahng:int32) = 0l)
  () : hkknlapklmg  = {
  hihamdaadoi;
  efbfdfnaiak;
  ppkgjnfchbg;
  fjlnncjahng;
}

let rec default_hlmmnbaiaen 
  ?retcode:((retcode:int32) = 0l)
  ?jphnpjmpmbm:((jphnpjmpmbm:pplkceifckf list) = [])
  ?cfjfdcakbpd:((cfjfdcakbpd:hkknlapklmg option) = None)
  () : hlmmnbaiaen  = {
  retcode;
  jphnpjmpmbm;
  cfjfdcakbpd;
}

let rec default_hfjlillecgk 
  ?icbiaedlngb:((icbiaedlngb:hkknlapklmg list) = [])
  ?jphnpjmpmbm:((jphnpjmpmbm:pplkceifckf list) = [])
  ?dbkfefjmndk:((dbkfefjmndk:cneaelnihbo list) = [])
  () : hfjlillecgk  = {
  icbiaedlngb;
  jphnpjmpmbm;
  dbkfefjmndk;
}

let rec default_npcfpipllda () = (Cmd_museum_type_none:npcfpipllda)

let rec default_khpkejjhene () = (Museum_random_event_state_none:khpkejjhene)

let rec default_ibmkpfblcop () = (Work_pos_none:ibmkpfblcop)

let rec default_fkieenabkbi () = (Stat_type_none:fkieenabkbi)

let rec default_gdophdklfdg () = (Unknow:gdophdklfdg)

let rec default_agacmpmknah 
  ?ehbklolppkd:((ehbklolppkd:int32) = 0l)
  ?pos:((pos:ibmkpfblcop) = default_ibmkpfblcop ())
  () : agacmpmknah  = {
  ehbklolppkd;
  pos;
}

let rec default_hekmjicgnok 
  ?hjggnmndjad:((hjggnmndjad:int32) = 0l)
  ?ckacngonkjj:((ckacngonkjj:agacmpmknah list) = [])
  ?level:((level:int32) = 0l)
  ?lnbhmcphfdh:((lnbhmcphfdh:int32) = 0l)
  ?fhmfhbjkfad:((fhmfhbjkfad:int32) = 0l)
  ?ggdaffjnmpa:((ggdaffjnmpa:int32) = 0l)
  () : hekmjicgnok  = {
  hjggnmndjad;
  ckacngonkjj;
  level;
  lnbhmcphfdh;
  fhmfhbjkfad;
  ggdaffjnmpa;
}

let rec default_fipbhpcfnnn 
  ?hdnieedkagk:((hdnieedkagk:bool) = false)
  ?jimincbjkpg:((jimincbjkpg:int32) = 0l)
  () : fipbhpcfnnn  = {
  hdnieedkagk;
  jimincbjkpg;
}

let rec default_hmjgeckckmm 
  ?hibkehghjkj:((hibkehghjkj:fipbhpcfnnn list) = [])
  ?polheomfihp:((polheomfihp:int32) = 0l)
  ?llcmhphhafg:((llcmhphhafg:int32) = 0l)
  ?doeadajcpcd:((doeadajcpcd:int32) = 0l)
  ?djifmbakafg:((djifmbakafg:int32) = 0l)
  ?loacdlcljkl:((loacdlcljkl:int32) = 0l)
  () : hmjgeckckmm  = {
  hibkehghjkj;
  polheomfihp;
  llcmhphhafg;
  doeadajcpcd;
  djifmbakafg;
  loacdlcljkl;
}

let rec default_kopbmgbkabe 
  ?amiejgmmbnn:((amiejgmmbnn:int32) = 0l)
  ?ehbklolppkd:((ehbklolppkd:int32) = 0l)
  () : kopbmgbkabe  = {
  amiejgmmbnn;
  ehbklolppkd;
}

let rec default_pabjleadhde 
  ?enponpnkhhd:((enponpnkhhd:int32) = 0l)
  ?ilbidmacbhl:((ilbidmacbhl:int32) = 0l)
  ?state:((state:khpkejjhene) = default_khpkejjhene ())
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  ?ipcpammkkdf:((ipcpammkkdf:int32) = 0l)
  ?jmbbphkojmc:((jmbbphkojmc:int32) = 0l)
  ?nhnbiglcmae:((nhnbiglcmae:int32 list) = [])
  () : pabjleadhde  = {
  enponpnkhhd;
  ilbidmacbhl;
  state;
  ohibnloihci;
  ipcpammkkdf;
  jmbbphkojmc;
  nhnbiglcmae;
}

let rec default_lpnaapgcinf 
  ?kahdopkmaaa:((kahdopkmaaa:int32) = 0l)
  ?llhoijjnhbc:((llhoijjnhbc:pabjleadhde list) = [])
  ?fghkkkkbohf:((fghkkkkbohf:int32 list) = [])
  () : lpnaapgcinf  = {
  kahdopkmaaa;
  llhoijjnhbc;
  fghkkkkbohf;
}

let rec default_iklgpokopno = ()

let rec default_hhenfenpfmp 
  ?retcode:((retcode:int32) = 0l)
  ?dplempnahkh:((dplempnahkh:lpnaapgcinf option) = None)
  ?njhmoljoand:((njhmoljoand:int32) = 0l)
  ?opbbglfipjf:((opbbglfipjf:hekmjicgnok list) = [])
  ?fddiajpmfki:((fddiajpmfki:int32) = 0l)
  ?akogjjegako:((akogjjegako:int32 list) = [])
  ?lokhhakogkh:((lokhhakogkh:int32) = 0l)
  ?okejfjflidc:((okejfjflidc:hmjgeckckmm option) = None)
  ?level:((level:int32) = 0l)
  ?ebggiceiaee:((ebggiceiaee:int32) = 0l)
  ?cdgdabeaeam:((cdgdabeaeam:int32 list) = [])
  ?ckacngonkjj:((ckacngonkjj:kopbmgbkabe list) = [])
  ?pkjhlljjldp:((pkjhlljjldp:int32) = 0l)
  ?exp:((exp:int32) = 0l)
  () : hhenfenpfmp  = {
  retcode;
  dplempnahkh;
  njhmoljoand;
  opbbglfipjf;
  fddiajpmfki;
  akogjjegako;
  lokhhakogkh;
  okejfjflidc;
  level;
  ebggiceiaee;
  cdgdabeaeam;
  ckacngonkjj;
  pkjhlljjldp;
  exp;
}

let rec default_dobbjmgakhk 
  ?ehbklolppkd:((ehbklolppkd:int32) = 0l)
  () : dobbjmgakhk  = {
  ehbklolppkd;
}

let rec default_nlbjjifeahl 
  ?retcode:((retcode:int32) = 0l)
  ?ehbklolppkd:((ehbklolppkd:int32) = 0l)
  () : nlbjjifeahl  = {
  retcode;
  ehbklolppkd;
}

let rec default_lgcgdbekgen 
  ?amiejgmmbnn:((amiejgmmbnn:int32) = 0l)
  ?pos:((pos:ibmkpfblcop) = default_ibmkpfblcop ())
  ?ehbklolppkd:((ehbklolppkd:int32) = 0l)
  () : lgcgdbekgen  = {
  amiejgmmbnn;
  pos;
  ehbklolppkd;
}

let rec default_lkpgdmangog 
  ?retcode:((retcode:int32) = 0l)
  ?ehbklolppkd:((ehbklolppkd:int32) = 0l)
  ?amiejgmmbnn:((amiejgmmbnn:int32) = 0l)
  ?pos:((pos:ibmkpfblcop) = default_ibmkpfblcop ())
  () : lkpgdmangog  = {
  retcode;
  ehbklolppkd;
  amiejgmmbnn;
  pos;
}

let rec default_eaglpghjhep 
  ?ehbklolppkd:((ehbklolppkd:int32) = 0l)
  () : eaglpghjhep  = {
  ehbklolppkd;
}

let rec default_pfdiknclbgh 
  ?retcode:((retcode:int32) = 0l)
  ?ehbklolppkd:((ehbklolppkd:int32) = 0l)
  () : pfdiknclbgh  = {
  retcode;
  ehbklolppkd;
}

let rec default_lclkpncbbhg 
  ?ehbklolppkd:((ehbklolppkd:int32) = 0l)
  ?cmnihjigino:((cmnihjigino:gdophdklfdg) = default_gdophdklfdg ())
  () : lclkpncbbhg  = {
  ehbklolppkd;
  cmnihjigino;
}

let rec default_pfacpieijfn 
  ?ldmpandhbcm:((ldmpandhbcm:int32) = 0l)
  () : pfacpieijfn  = {
  ldmpandhbcm;
}

let rec default_jmonjimkcnb 
  ?plpnefmoile:((plpnefmoile:int32) = 0l)
  () : jmonjimkcnb  = {
  plpnefmoile;
}

let rec default_gkbapmfchgp 
  ?retcode:((retcode:int32) = 0l)
  ?negakoplbfk:((negakoplbfk:int32) = 0l)
  () : gkbapmfchgp  = {
  retcode;
  negakoplbfk;
}

let rec default_ginopghobbg 
  ?ggdaffjnmpa:((ggdaffjnmpa:int32) = 0l)
  ?level:((level:int32) = 0l)
  () : ginopghobbg  = {
  ggdaffjnmpa;
  level;
}

let rec default_kpafaechgfl 
  ?ggdaffjnmpa:((ggdaffjnmpa:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?level:((level:int32) = 0l)
  () : kpafaechgfl  = {
  ggdaffjnmpa;
  retcode;
  level;
}

let rec default_njppmfpmemf 
  ?level:((level:int32) = 0l)
  ?apimbkdepgd:((apimbkdepgd:fkieenabkbi) = default_fkieenabkbi ())
  ?ggdaffjnmpa:((ggdaffjnmpa:int32) = 0l)
  () : njppmfpmemf  = {
  level;
  apimbkdepgd;
  ggdaffjnmpa;
}

let rec default_dkebghbnkee 
  ?apimbkdepgd:((apimbkdepgd:fkieenabkbi) = default_fkieenabkbi ())
  ?retcode:((retcode:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?ggdaffjnmpa:((ggdaffjnmpa:int32) = 0l)
  () : dkebghbnkee  = {
  apimbkdepgd;
  retcode;
  level;
  ggdaffjnmpa;
}

let rec default_plbkibglbnd 
  ?level:((level:int32) = 0l)
  ?dplempnahkh:((dplempnahkh:lpnaapgcinf option) = None)
  ?opbbglfipjf:((opbbglfipjf:hekmjicgnok list) = [])
  ?lokhhakogkh:((lokhhakogkh:int32) = 0l)
  ?akogjjegako:((akogjjegako:int32 list) = [])
  ?njhmoljoand:((njhmoljoand:int32) = 0l)
  ?ebggiceiaee:((ebggiceiaee:int32) = 0l)
  ?exp:((exp:int32) = 0l)
  ?pkjhlljjldp:((pkjhlljjldp:int32) = 0l)
  ?okejfjflidc:((okejfjflidc:hmjgeckckmm option) = None)
  ?fddiajpmfki:((fddiajpmfki:int32) = 0l)
  ?cdgdabeaeam:((cdgdabeaeam:int32 list) = [])
  ?ckacngonkjj:((ckacngonkjj:kopbmgbkabe list) = [])
  () : plbkibglbnd  = {
  level;
  dplempnahkh;
  opbbglfipjf;
  lokhhakogkh;
  akogjjegako;
  njhmoljoand;
  ebggiceiaee;
  exp;
  pkjhlljjldp;
  okejfjflidc;
  fddiajpmfki;
  cdgdabeaeam;
  ckacngonkjj;
}

let rec default_bbjjglacdne 
  ?jpaolljmggn:((jpaolljmggn:pabjleadhde option) = None)
  () : bbjjglacdne  = {
  jpaolljmggn;
}

let rec default_ebdhkimflce 
  ?kccleanfoef:((kccleanfoef:int32) = 0l)
  () : ebdhkimflce  = {
  kccleanfoef;
}

let rec default_occahnklaim 
  ?jpaolljmggn:((jpaolljmggn:lpnaapgcinf option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : occahnklaim  = {
  jpaolljmggn;
  retcode;
}

let rec default_kekkmfdigne 
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  ?jmbbphkojmc:((jmbbphkojmc:int32) = 0l)
  () : kekkmfdigne  = {
  ohibnloihci;
  jmbbphkojmc;
}

let rec default_afhajlkjocl 
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  ?jmbbphkojmc:((jmbbphkojmc:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : afhajlkjocl  = {
  ohibnloihci;
  jmbbphkojmc;
  retcode;
}

let rec default_adalbkfkjji 
  ?njhmoljoand:((njhmoljoand:int32) = 0l)
  () : adalbkfkjji  = {
  njhmoljoand;
}

let rec default_mbpnljhddip 
  ?oaedchilhgj:((oaedchilhgj:int32) = 0l)
  ?fpjnhijobaj:((fpjnhijobaj:int32) = 0l)
  ?njhmoljoand:((njhmoljoand:int32) = 0l)
  ?ehbklolppkd:((ehbklolppkd:int32) = 0l)
  () : mbpnljhddip  = {
  oaedchilhgj;
  fpjnhijobaj;
  njhmoljoand;
  ehbklolppkd;
}

let rec default_ilfmakefhbm 
  ?djifmbakafg:((djifmbakafg:int32) = 0l)
  () : ilfmakefhbm  = {
  djifmbakafg;
}

let rec default_djalilghapg 
  ?jimincbjkpg:((jimincbjkpg:int32 list) = [])
  ?djifmbakafg:((djifmbakafg:int32) = 0l)
  ?loemopmkinb:((loemopmkinb:bool) = false)
  () : djalilghapg  = {
  jimincbjkpg;
  djifmbakafg;
  loemopmkinb;
}

let rec default_jcpphggjadn 
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  ?djifmbakafg:((djifmbakafg:int32) = 0l)
  ?olfhccbiidg:((olfhccbiidg:int32) = 0l)
  () : jcpphggjadn  = {
  hgjolgkaofj;
  djifmbakafg;
  olfhccbiidg;
}

let rec default_emegifcfcjn 
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  () : emegifcfcjn  = {
  hgjolgkaofj;
}

let rec default_egmpcjhcjbk 
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : egmpcjhcjbk  = {
  hgjolgkaofj;
  reward;
  retcode;
}

let rec default_mlfpcehlfnb () = (Cmd_offering_type_none:mlfpcehlfnb)

let rec default_cmebpgjmefe () = (Offering_state_none:cmebpgjmefe)

let rec default_epmngcpcbkl 
  ?kheopnihaff:((kheopnihaff:int32) = 0l)
  ?cfbjmkdbhai:((cfbjmkdbhai:int32) = 0l)
  ?ippjhngkgjo:((ippjhngkgjo:cmebpgjmefe) = default_cmebpgjmefe ())
  ?gbclnihogem:((gbclnihogem:int32) = 0l)
  ?glnpnnmnand:((glnpnnmnand:int32) = 0l)
  ?gjjipefijck:((gjjipefijck:int32 list) = [])
  () : epmngcpcbkl  = {
  kheopnihaff;
  cfbjmkdbhai;
  ippjhngkgjo;
  gbclnihogem;
  glnpnnmnand;
  gjjipefijck;
}

let rec default_nckfngfopgm 
  ?mpoedocjenp:((mpoedocjenp:int32 list) = [])
  () : nckfngfopgm  = {
  mpoedocjenp;
}

let rec default_ookkhpnopmj 
  ?retcode:((retcode:int32) = 0l)
  ?fgdljmbkbam:((fgdljmbkbam:epmngcpcbkl list) = [])
  () : ookkhpnopmj  = {
  retcode;
  fgdljmbkbam;
}

let rec default_ojlpkgeolmh 
  ?gbclnihogem:((gbclnihogem:int32) = 0l)
  ?idcigdfjabi:((idcigdfjabi:int32) = 0l)
  () : ojlpkgeolmh  = {
  gbclnihogem;
  idcigdfjabi;
}

let rec default_ifjbadlimjc 
  ?fkamaeepnki:((fkamaeepnki:epmngcpcbkl option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : ifjbadlimjc  = {
  fkamaeepnki;
  retcode;
}

let rec default_lncjkacchpc 
  ?eoejiijmano:((eoejiijmano:int32 list) = [])
  ?idcigdfjabi:((idcigdfjabi:int32) = 0l)
  ?gbclnihogem:((gbclnihogem:int32) = 0l)
  () : lncjkacchpc  = {
  eoejiijmano;
  idcigdfjabi;
  gbclnihogem;
}

let rec default_oeoiecpgdde 
  ?reward:((reward:item_list option) = None)
  ?fkamaeepnki:((fkamaeepnki:epmngcpcbkl option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : oeoiecpgdde  = {
  reward;
  fkamaeepnki;
  retcode;
}

let rec default_hlmjajcepgj 
  ?fkamaeepnki:((fkamaeepnki:epmngcpcbkl option) = None)
  () : hlmjajcepgj  = {
  fkamaeepnki;
}

let rec default_bnijldmhgfa () = (Cmd_pam_mission_type_none:bnijldmhgfa)

let rec default_maadcgflnec 
  ?idlneeekpjl:((idlneeekpjl:int32) = 0l)
  () : maadcgflnec  = {
  idlneeekpjl;
}

let rec default_nhgjajlgbfb 
  ?retcode:((retcode:int32) = 0l)
  ?idlneeekpjl:((idlneeekpjl:int32) = 0l)
  () : nhgjajlgbfb  = {
  retcode;
  idlneeekpjl;
}

let rec default_flondkdobfn 
  ?idlneeekpjl:((idlneeekpjl:int32) = 0l)
  ?fkglfpgdhic:((fkglfpgdhic:int64) = 0L)
  () : flondkdobfn  = {
  idlneeekpjl;
  fkglfpgdhic;
}

let rec default_mjolclhenkg () = (Cmd_pet_type_none:mjolclhenkg)

let rec default_fkaajneaocj = ()

let rec default_fcgnnhbbenm 
  ?giipokombda:((giipokombda:int32 list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?pdgeengkjke:((pdgeengkjke:int32) = 0l)
  () : fcgnnhbbenm  = {
  giipokombda;
  retcode;
  pdgeengkjke;
}

let rec default_fmbnjkmnjnh 
  ?dljbepbhekm:((dljbepbhekm:int32) = 0l)
  () : fmbnjkmnjnh  = {
  dljbepbhekm;
}

let rec default_jbmeobcimpi 
  ?bmcoijcmnnc:((bmcoijcmnnc:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?pdgeengkjke:((pdgeengkjke:int32) = 0l)
  () : jbmeobcimpi  = {
  bmcoijcmnnc;
  retcode;
  pdgeengkjke;
}

let rec default_lgpllmnldic 
  ?dljbepbhekm:((dljbepbhekm:int32) = 0l)
  () : lgpllmnldic  = {
  dljbepbhekm;
}

let rec default_gpealbnelpe 
  ?retcode:((retcode:int32) = 0l)
  ?bmcoijcmnnc:((bmcoijcmnnc:int32) = 0l)
  ?pdgeengkjke:((pdgeengkjke:int32) = 0l)
  () : gpealbnelpe  = {
  retcode;
  bmcoijcmnnc;
  pdgeengkjke;
}

let rec default_magblgbbnha 
  ?pdgeengkjke:((pdgeengkjke:int32) = 0l)
  () : magblgbbnha  = {
  pdgeengkjke;
}

let rec default_nmcfcoggnmj () = (Cmd_phone_type_none:nmcfcoggnmj)

let rec default_aebnbkfhgof = ()

let rec default_kiapanmhjob 
  ?ilcffmcedan:((ilcffmcedan:int32) = 0l)
  ?dmplokpnddp:((dmplokpnddp:int32 list) = [])
  ?lamdfhjndpe:((lamdfhjndpe:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?gbljjpfnjdc:((gbljjpfnjdc:int32 list) = [])
  () : kiapanmhjob  = {
  ilcffmcedan;
  dmplokpnddp;
  lamdfhjndpe;
  retcode;
  gbljjpfnjdc;
}

let rec default_fiflmmabnkj 
  ?flefoflohfn:((flefoflohfn:int32) = 0l)
  () : fiflmmabnkj  = {
  flefoflohfn;
}

let rec default_jhccgjallic 
  ?retcode:((retcode:int32) = 0l)
  ?iilafoldjig:((iilafoldjig:int32) = 0l)
  ?ilcffmcedan:((ilcffmcedan:int32) = 0l)
  () : jhccgjallic  = {
  retcode;
  iilafoldjig;
  ilcffmcedan;
}

let rec default_ihonfpmoaon 
  ?flefoflohfn:((flefoflohfn:int32) = 0l)
  () : ihonfpmoaon  = {
  flefoflohfn;
}

let rec default_ncnfiancepd 
  ?lgofedpnbol:((lgofedpnbol:int32) = 0l)
  () : ncnfiancepd  = {
  lgofedpnbol;
}

let rec default_egcilkjklpd 
  ?lamdfhjndpe:((lamdfhjndpe:int32) = 0l)
  ?adjfaimlabe:((adjfaimlabe:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : egcilkjklpd  = {
  lamdfhjndpe;
  adjfaimlabe;
  retcode;
}

let rec default_obcjgodlghn 
  ?lgofedpnbol:((lgofedpnbol:int32) = 0l)
  () : obcjgodlghn  = {
  lgofedpnbol;
}

let rec default_jdmlnacnhkn () = (Cmd_player_type_none:jdmlnacnhkn)

let rec default_mnekimdfhaf () = (Authkey_sign_type_none:mnekimdfhaf)

let rec default_player_login_cs_req 
  ?bajjablkfab:((bajjablkfab:int32) = 0l)
  ?bcijkmpjfni:((bcijkmpjfni:string) = "")
  ?difcdhddfbp:((difcdhddfbp:string) = "")
  ?lmjolnigkkc:((lmjolnigkkc:int32) = 0l)
  ?blclkkidljh:((blclkkidljh:int32) = 0l)
  ?pkgmnimcpdh:((pkgmnimcpdh:string) = "")
  ?language:((language:language_type) = default_language_type ())
  ?dbgjcbcfaec:((dbgjcbcfaec:platform_type) = default_platform_type ())
  ?cpmikdbdcpg:((cpmikdbdcpg:lbofjhojgph option) = None)
  ?kjfcoglhkfk:((kjfcoglhkfk:bool) = false)
  ?pafnmmndegp:((pafnmmndegp:string) = "")
  ?ochimkelcde:((ochimkelcde:string) = "")
  ?pdidijddcno:((pdidijddcno:int64) = 0L)
  ?dmdcpeiefkg:((dmdcpeiefkg:string) = "")
  ?bhoanekljhm:((bhoanekljhm:string) = "")
  ?meijfajkmmp:((meijfajkmmp:string) = "")
  ?mkkdakgkkhe:((mkkdakgkkhe:string) = "")
  ?ogilamajgio:((ogilamajgio:string) = "")
  ?ghaifpffmog:((ghaifpffmog:string) = "")
  ?fecdamigijp:((fecdamigijp:string) = "")
  ?mddiipbifek:((mddiipbifek:string) = "")
  ?cpkikinabfj:((cpkikinabfj:string) = "")
  ?hcgjomkbloh:((hcgjomkbloh:int32) = 0l)
  ?mhmockcmeje:((mhmockcmeje:string) = "")
  ?fgahpfhnncl:((fgahpfhnncl:bool) = false)
  ?pjieaeapgnl:((pjieaeapgnl:string) = "")
  () : player_login_cs_req  = {
  bajjablkfab;
  bcijkmpjfni;
  difcdhddfbp;
  lmjolnigkkc;
  blclkkidljh;
  pkgmnimcpdh;
  language;
  dbgjcbcfaec;
  cpmikdbdcpg;
  kjfcoglhkfk;
  pafnmmndegp;
  ochimkelcde;
  pdidijddcno;
  dmdcpeiefkg;
  bhoanekljhm;
  meijfajkmmp;
  mkkdakgkkhe;
  ogilamajgio;
  ghaifpffmog;
  fecdamigijp;
  mddiipbifek;
  cpkikinabfj;
  hcgjomkbloh;
  mhmockcmeje;
  fgahpfhnncl;
  pjieaeapgnl;
}

let rec default_player_login_sc_rsp 
  ?pdidijddcno:((pdidijddcno:int64) = 0L)
  ?meilhlkmgfn:((meilhlkmgfn:string) = "")
  ?pnhfbdbkpci:((pnhfbdbkpci:string) = "")
  ?kcicanjloba:((kcicanjloba:bool) = false)
  ?dlicepdamib:((dlicepdamib:bool) = false)
  ?basic_info:((basic_info:player_basic_info option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?stamina:((stamina:int32) = 0l)
  ?biinmckjhen:((biinmckjhen:int32) = 0l)
  ?mciakkehiaa:((mciakkehiaa:int64) = 0L)
  () : player_login_sc_rsp  = {
  pdidijddcno;
  meilhlkmgfn;
  pnhfbdbkpci;
  kcicanjloba;
  dlicepdamib;
  basic_info;
  retcode;
  stamina;
  biinmckjhen;
  mciakkehiaa;
}

let rec default_player_logout_cs_req = ()

let rec default_player_get_token_cs_req 
  ?dbgjcbcfaec:((dbgjcbcfaec:int32) = 0l)
  ?oiegbkkceda:((oiegbkkceda:string) = "")
  ?blclkkidljh:((blclkkidljh:int32) = 0l)
  ?cpdkcijkohd:((cpdkcijkohd:string) = "")
  ?lkgbcdgefjf:((lkgbcdgefjf:string) = "")
  ?gmcheopahkc:((gmcheopahkc:int32) = 0l)
  ?pcmajmegbld:((pcmajmegbld:int32) = 0l)
  ?uid:((uid:int32) = 0l)
  () : player_get_token_cs_req  = {
  dbgjcbcfaec;
  oiegbkkceda;
  blclkkidljh;
  cpdkcijkohd;
  lkgbcdgefjf;
  gmcheopahkc;
  pcmajmegbld;
  uid;
}

let rec default_player_get_token_sc_rsp 
  ?retcode:((retcode:int32) = 0l)
  ?uid:((uid:int32) = 0l)
  ?secret_key_seed:((secret_key_seed:int64) = 0L)
  ?black_info:((black_info:black_info option) = None)
  ?msg:((msg:string) = "")
  () : player_get_token_sc_rsp  = {
  retcode;
  uid;
  secret_key_seed;
  black_info;
  msg;
}

let rec default_inhhlgadneo 
  ?msg:((msg:string) = "")
  () : inhhlgadneo  = {
  msg;
}

let rec default_kick_type () = (Nfmnkphlpji:kick_type)

let rec default_player_kick_out_sc_notify 
  ?black_info:((black_info:black_info option) = None)
  ?kick_type:((kick_type:kick_type) = default_kick_type ())
  () : player_kick_out_sc_notify  = {
  black_info;
  kick_type;
}

let rec default_gm_talk_cs_req 
  ?msg:((msg:string) = "")
  () : gm_talk_cs_req  = {
  msg;
}

let rec default_gm_talk_sc_rsp 
  ?retcode:((retcode:int32) = 0l)
  ?retmsg:((retmsg:string) = "")
  () : gm_talk_sc_rsp  = {
  retcode;
  retmsg;
}

let rec default_get_basic_info_cs_req = ()

let rec default_player_setting_info 
  ?jcnincccakl:((jcnincccakl:bool) = false)
  ?nhknohpdocc:((nhknohpdocc:bool) = false)
  ?hhcgdeocomi:((hhcgdeocomi:bool) = false)
  ?ookalmpeleg:((ookalmpeleg:bool) = false)
  ?defkcpiepnb:((defkcpiepnb:bool) = false)
  ?ggodaiohjif:((ggodaiohjif:bool) = false)
  ?kmjdmefgcck:((kmjdmefgcck:bool) = false)
  ?dedidajjmcj:((dedidajjmcj:bool) = false)
  ?bkpaceckiia:((bkpaceckiia:bool) = false)
  () : player_setting_info  = {
  jcnincccakl;
  nhknohpdocc;
  hhcgdeocomi;
  ookalmpeleg;
  defkcpiepnb;
  ggodaiohjif;
  kmjdmefgcck;
  dedidajjmcj;
  bkpaceckiia;
}

let rec default_get_basic_info_sc_rsp 
  ?gender:((gender:int32) = 0l)
  ?cur_day:((cur_day:int32) = 0l)
  ?player_setting_info:((player_setting_info:player_setting_info option) = None)
  ?next_recover_time:((next_recover_time:int64) = 0L)
  ?is_gender_set:((is_gender_set:bool) = false)
  ?gameplay_birthday:((gameplay_birthday:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?week_cocoon_finished_count:((week_cocoon_finished_count:int32) = 0l)
  ?exchange_times:((exchange_times:int32) = 0l)
  ?last_set_nickname_time:((last_set_nickname_time:int64) = 0L)
  () : get_basic_info_sc_rsp  = {
  gender;
  cur_day;
  player_setting_info;
  next_recover_time;
  is_gender_set;
  gameplay_birthday;
  retcode;
  week_cocoon_finished_count;
  exchange_times;
  last_set_nickname_time;
}

let rec default_exchange_stamina_cs_req = ()

let rec default_exchange_stamina_sc_rsp 
  ?exchange_times:((exchange_times:int32) = 0l)
  ?last_recover_time:((last_recover_time:int64) = 0L)
  ?stamina_add:((stamina_add:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?item_cost_list:((item_cost_list:item_cost list) = [])
  () : exchange_stamina_sc_rsp  = {
  exchange_times;
  last_recover_time;
  stamina_add;
  retcode;
  item_cost_list;
}

let rec default_ilhiemhgmbm 
  ?mdipcjnjlpb:((mdipcjnjlpb:string) = "")
  ?sign_type:((sign_type:int32) = 0l)
  ?dhigcieoome:((dhigcieoome:int32) = 0l)
  () : ilhiemhgmbm  = {
  mdipcjnjlpb;
  sign_type;
  dhigcieoome;
}

let rec default_lkhllhkhkki 
  ?retcode:((retcode:int32) = 0l)
  ?lcdjcjmimmi:((lcdjcjmimmi:string) = "")
  ?mdipcjnjlpb:((mdipcjnjlpb:string) = "")
  ?dhigcieoome:((dhigcieoome:int32) = 0l)
  ?sign_type:((sign_type:int32) = 0l)
  () : lkhllhkhkki  = {
  retcode;
  lcdjcjmimmi;
  mdipcjnjlpb;
  dhigcieoome;
  sign_type;
}

let rec default_hcibichlmaa 
  ?mlcpkfihkko:((mlcpkfihkko:int64) = 0L)
  ?hhpakondiob:((hhpakondiob:int64) = 0L)
  () : hcibichlmaa  = {
  mlcpkfihkko;
  hhpakondiob;
}

let rec default_anti_addict_sc_notify 
  ?level:((level:string) = "")
  ?msg:((msg:string) = "")
  ?msg_type:((msg_type:int32) = 0l)
  () : anti_addict_sc_notify  = {
  level;
  msg;
  msg_type;
}

let rec default_set_nickname_cs_req 
  ?is_modify:((is_modify:bool) = false)
  ?nickname:((nickname:string) = "")
  () : set_nickname_cs_req  = {
  is_modify;
  nickname;
}

let rec default_set_nickname_sc_rsp 
  ?nlgoggmaeod:((nlgoggmaeod:int64) = 0L)
  ?is_modify:((is_modify:bool) = false)
  ?retcode:((retcode:int32) = 0l)
  () : set_nickname_sc_rsp  = {
  nlgoggmaeod;
  is_modify;
  retcode;
}

let rec default_get_level_reward_taken_list_cs_req = ()

let rec default_get_level_reward_taken_list_sc_rsp 
  ?retcode:((retcode:int32) = 0l)
  ?taken_level_list:((taken_level_list:int32 list) = [])
  () : get_level_reward_taken_list_sc_rsp  = {
  retcode;
  taken_level_list;
}

let rec default_fkemblmibgd 
  ?level:((level:int32) = 0l)
  ?idcigdfjabi:((idcigdfjabi:int32) = 0l)
  () : fkemblmibgd  = {
  level;
  idcigdfjabi;
}

let rec default_pjfenccabaa 
  ?level:((level:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : pjfenccabaa  = {
  level;
  reward;
  retcode;
}

let rec default_bdkfldgnelf 
  ?language:((language:language_type) = default_language_type ())
  () : bdkfldgnelf  = {
  language;
}

let rec default_ihcijilblji 
  ?language:((language:language_type) = default_language_type ())
  ?retcode:((retcode:int32) = 0l)
  () : ihcijilblji  = {
  language;
  retcode;
}

let rec default_efgokaehlcl 
  ?flnaoghpbna:((flnaoghpbna:string) = "")
  ?khihdnfapob:((khihdnfapob:int32) = 0l)
  ?end_time:((end_time:int64) = 0L)
  ?begin_time:((begin_time:int64) = 0L)
  ?iliojodbdeb:((iliojodbdeb:string) = "")
  ?ohbhkcgmfek:((ohbhkcgmfek:bool) = false)
  ?bhmegdiiglh:((bhmegdiiglh:string) = "")
  ?manomfgafia:((manomfgafia:int32) = 0l)
  ?pfbnanpcdjh:((pfbnanpcdjh:int32) = 0l)
  () : efgokaehlcl  = {
  flnaoghpbna;
  khihdnfapob;
  end_time;
  begin_time;
  iliojodbdeb;
  ohbhkcgmfek;
  bhmegdiiglh;
  manomfgafia;
  pfbnanpcdjh;
}

let rec default_innjajipelm 
  ?alefnglnfdd:((alefnglnfdd:efgokaehlcl list) = [])
  () : innjajipelm  = {
  alefnglnfdd;
}

let rec default_cokohpcdnfo 
  ?cmelkdaaapf:((cmelkdaaapf:bool) = false)
  ?ophmlpkgkij:((ophmlpkgkij:bool) = false)
  ?mmcjggcenpp:((mmcjggcenpp:string) = "")
  ?pllenlninnh:((pllenlninnh:string) = "")
  ?lamjdogmfam:((lamjdogmfam:bool) = false)
  ?bblkofdgpap:((bblkofdgpap:string) = "")
  ?ephafkmpmif:((ephafkmpmif:string) = "")
  ?gmdfmaapebc:((gmdfmaapebc:string) = "")
  ?mlcpkfihkko:((mlcpkfihkko:int64) = 0L)
  ?bgpcckkddmb:((bgpcckkddmb:bool) = false)
  ?kejpmagdbai:((kejpmagdbai:string) = "")
  ?nkfnaojjlph:((nkfnaojjlph:string) = "")
  ?hkdmdpmahem:((hkdmdpmahem:string) = "")
  ?onkpibmdmpi:((onkpibmdmpi:string) = "")
  ?fbobagpbbha:((fbobagpbbha:string) = "")
  ?mjjbccmcplk:((mjjbccmcplk:string) = "")
  ?cfanklgaeoi:((cfanklgaeoi:int32) = 0l)
  ?anegjdlagll:((anegjdlagll:string) = "")
  ?gepfimnioke:((gepfimnioke:bool) = false)
  ?lpnoekiaocp:((lpnoekiaocp:string) = "")
  ?fgkgddonpkm:((fgkgddonpkm:string) = "")
  ?nejihdfafbe:((nejihdfafbe:int32) = 0l)
  ?hafcipegpin:((hafcipegpin:bool) = false)
  ?kghpigijmbp:((kghpigijmbp:string) = "")
  ?msg:((msg:string) = "")
  ?molbpmljolo:((molbpmljolo:string) = "")
  ?didfenikjdg:((didfenikjdg:string) = "")
  ?kjadmknddjl:((kjadmknddjl:bool) = false)
  ?khclmhjlopk:((khclmhjlopk:string list) = [])
  ?jmaggbeaiib:((jmaggbeaiib:string) = "")
  ?okplkdhmohc:((okplkdhmohc:string) = "")
  ?ooeapiaafnb:((ooeapiaafnb:string) = "")
  ?jelgnociekj:((jelgnociekj:string) = "")
  ?hhpakondiob:((hhpakondiob:int64) = 0L)
  ?opgmnlinakc:((opgmnlinakc:bool) = false)
  ?begfcjlkmob:((begfcjlkmob:bool) = false)
  ?nnhognglfbd:((nnhognglfbd:string) = "")
  ?retcode:((retcode:int32) = 0l)
  ?kgljfhdhdek:((kgljfhdhdek:string) = "")
  ?cjnjnfglick:((cjnjnfglick:int32) = 0l)
  ?ncdioakalen:((ncdioakalen:string) = "")
  ?jdmpkhbijmn:((jdmpkhbijmn:string) = "")
  ?gediongpdha:((gediongpdha:bool) = false)
  ?mbdacjejamf:((mbdacjejamf:bool) = false)
  ?ificjdejjdn:((ificjdejjdn:string) = "")
  ?dmdahpindno:((dmdahpindno:string) = "")
  ?gjaeghbeaio:((gjaeghbeaio:bool) = false)
  ?ddohlaegeah:((ddohlaegeah:int32) = 0l)
  ?bfoekehoejp:((bfoekehoejp:string) = "")
  ?chnmpglhncm:((chnmpglhncm:string) = "")
  ?pggjoogfgfc:((pggjoogfgfc:string) = "")
  ?dklchemciai:((dklchemciai:bool) = false)
  ?migeegecjcb:((migeegecjcb:string) = "")
  ?ciinblfopda:((ciinblfopda:string) = "")
  ?fkenkkhlhhd:((fkenkkhlhhd:bool) = false)
  ?hjbndbbicdo:((hjbndbbicdo:string) = "")
  ?fggmipmoook:((fggmipmoook:string) = "")
  ?moikmlhoiap:((moikmlhoiap:bool) = false)
  ?imffkkjpojc:((imffkkjpojc:string) = "")
  () : cokohpcdnfo  = {
  cmelkdaaapf;
  ophmlpkgkij;
  mmcjggcenpp;
  pllenlninnh;
  lamjdogmfam;
  bblkofdgpap;
  ephafkmpmif;
  gmdfmaapebc;
  mlcpkfihkko;
  bgpcckkddmb;
  kejpmagdbai;
  nkfnaojjlph;
  hkdmdpmahem;
  onkpibmdmpi;
  fbobagpbbha;
  mjjbccmcplk;
  cfanklgaeoi;
  anegjdlagll;
  gepfimnioke;
  lpnoekiaocp;
  fgkgddonpkm;
  nejihdfafbe;
  hafcipegpin;
  kghpigijmbp;
  msg;
  molbpmljolo;
  didfenikjdg;
  kjadmknddjl;
  khclmhjlopk;
  jmaggbeaiib;
  okplkdhmohc;
  ooeapiaafnb;
  jelgnociekj;
  hhpakondiob;
  opgmnlinakc;
  begfcjlkmob;
  nnhognglfbd;
  retcode;
  kgljfhdhdek;
  cjnjnfglick;
  ncdioakalen;
  jdmpkhbijmn;
  gediongpdha;
  mbdacjejamf;
  ificjdejjdn;
  dmdahpindno;
  gjaeghbeaio;
  ddohlaegeah;
  bfoekehoejp;
  chnmpglhncm;
  pggjoogfgfc;
  dklchemciai;
  migeegecjcb;
  ciinblfopda;
  fkenkkhlhhd;
  hjbndbbicdo;
  fggmipmoook;
  moikmlhoiap;
  imffkkjpojc;
}

let rec default_feofohjeheo 
  ?mmlefkndolf:((mmlefkndolf:string) = "")
  () : feofohjeheo  = {
  mmlefkndolf;
}

let rec default_multi_path_avatar 
  ?alfcdfljlef:((alfcdfljlef:avatar_skill_tree list) = [])
  ?rank:((rank:int32) = 0l)
  ?cfehgipoikg:((cfehgipoikg:int32) = 0l)
  ?avatar_id:((avatar_id:multi_path_avatar_type) = default_multi_path_avatar_type ())
  ?equip_relic_list:((equip_relic_list:equip_relic list) = [])
  () : multi_path_avatar  = {
  alfcdfljlef;
  rank;
  cfehgipoikg;
  avatar_id;
  equip_relic_list;
}

let rec default_jblpadknjeg 
  ?avatar_id:((avatar_id:multi_path_avatar_type) = default_multi_path_avatar_type ())
  () : jblpadknjeg  = {
  avatar_id;
}

let rec default_hkoboiogoan 
  ?retcode:((retcode:int32) = 0l)
  ?avatar_id:((avatar_id:multi_path_avatar_type) = default_multi_path_avatar_type ())
  () : hkoboiogoan  = {
  retcode;
  avatar_id;
}

let rec default_eeibaolcgme 
  ?avatar_id_list:((avatar_id_list:multi_path_avatar_type list) = [])
  () : eeibaolcgme  = {
  avatar_id_list;
}

let rec default_ckfndpojijk 
  ?retcode:((retcode:int32) = 0l)
  () : ckfndpojijk  = {
  retcode;
}

let rec default_get_multi_path_avatar_info_cs_req = ()

let rec default_get_multi_path_avatar_info_sc_rsp 
  ?retcode:((retcode:int32) = 0l)
  ?epdnicajoli:((epdnicajoli:multi_path_avatar list) = [])
  ?dbkjfgdlemk:((dbkjfgdlemk:int32 list) = [])
  ?cur_path_type_map:((cur_path_type_map:(int32 * multi_path_avatar_type) list) = [])
  () : get_multi_path_avatar_info_sc_rsp  = {
  retcode;
  epdnicajoli;
  dbkjfgdlemk;
  cur_path_type_map;
}

let rec default_jnfhfddncdh 
  ?avatar_id:((avatar_id:multi_path_avatar_type) = default_multi_path_avatar_type ())
  () : jnfhfddncdh  = {
  avatar_id;
}

let rec default_nfkgjkbpiop 
  ?avatar_id:((avatar_id:multi_path_avatar_type) = default_multi_path_avatar_type ())
  ?reward:((reward:item_list option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?dbkjfgdlemk:((dbkjfgdlemk:int32 list) = [])
  () : nfkgjkbpiop  = {
  avatar_id;
  reward;
  retcode;
  dbkjfgdlemk;
}

let rec default_gnommghhgik 
  ?base_avatar_id:((base_avatar_id:int32) = 0l)
  ?nbbomjghppd:((nbbomjghppd:multi_path_avatar_type) = default_multi_path_avatar_type ())
  () : gnommghhgik  = {
  base_avatar_id;
  nbbomjghppd;
}

let rec default_peiohgepkil 
  ?ilpdljcncon:((ilpdljcncon:gender) = default_gender ())
  () : peiohgepkil  = {
  ilpdljcncon;
}

let rec default_oapapodfeaa 
  ?iekbaibeoib:((iekbaibeoib:multi_path_avatar list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?cfncjocmmho:((cfncjocmmho:multi_path_avatar_type) = default_multi_path_avatar_type ())
  () : oapapodfeaa  = {
  iekbaibeoib;
  retcode;
  cfncjocmmho;
}

let rec default_galkddajoge 
  ?ilpdljcncon:((ilpdljcncon:gender) = default_gender ())
  ?nickname:((nickname:string) = "")
  ?is_modify:((is_modify:bool) = false)
  () : galkddajoge  = {
  ilpdljcncon;
  nickname;
  is_modify;
}

let rec default_aiibjgampbh 
  ?cfncjocmmho:((cfncjocmmho:multi_path_avatar_type) = default_multi_path_avatar_type ())
  ?nlgoggmaeod:((nlgoggmaeod:int64) = 0L)
  ?iekbaibeoib:((iekbaibeoib:multi_path_avatar list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?is_modify:((is_modify:bool) = false)
  () : aiibjgampbh  = {
  cfncjocmmho;
  nlgoggmaeod;
  iekbaibeoib;
  retcode;
  is_modify;
}

let rec default_bknoejidmkn = ()

let rec default_kcnobmpglpa 
  ?npmgknjajho:((npmgknjajho:int32) = 0l)
  ?bojlpifgmag:((bojlpifgmag:bool) = false)
  ?kicpdkalbmn:((kicpdkalbmn:string) = "")
  ?pacmaejclee:((pacmaejclee:string) = "")
  ?aahjlfbfjbd:((aahjlfbfjbd:pifanmpbmaj) = default_pifanmpbmaj ())
  ?mfcdfkjanna:((mfcdfkjanna:int32) = 0l)
  () : kcnobmpglpa  = {
  npmgknjajho;
  bojlpifgmag;
  kicpdkalbmn;
  pacmaejclee;
  aahjlfbfjbd;
  mfcdfkjanna;
}

let rec default_hejbmlnejlj 
  ?afmgandnccg:((afmgandnccg:int64) = 0L)
  ?retcode:((retcode:int32) = 0l)
  ?fkdbgepognd:((fkdbgepognd:int32) = 0l)
  ?lhpldhjkdkp:((lhpldhjkdkp:int32) = 0l)
  ?gmhjjigjffd:((gmhjjigjffd:kcnobmpglpa list) = [])
  () : hejbmlnejlj  = {
  afmgandnccg;
  retcode;
  fkdbgepognd;
  lhpldhjkdkp;
  gmhjjigjffd;
}

let rec default_doekpfaafpa 
  ?reward:((reward:item_list option) = None)
  () : doekpfaafpa  = {
  reward;
}

let rec default_jlgifffnckb 
  ?download_data:((download_data:client_download_data option) = None)
  () : jlgifffnckb  = {
  download_data;
}

let rec default_hlmccoifdmj 
  ?data:((data:client_obj_download_data option) = None)
  () : hlmccoifdmj  = {
  data;
}

let rec default_update_feature_switch_sc_notify 
  ?switch_info_list:((switch_info_list:feature_switch_info list) = [])
  () : update_feature_switch_sc_notify  = {
  switch_info_list;
}

let rec default_oiphpmdgaof 
  ?adiialnejmk:((adiialnejmk:int32) = 0l)
  () : oiphpmdgaof  = {
  adiialnejmk;
}

let rec default_anhilnpolho 
  ?hejdlhijgna:((hejdlhijgna:int32) = 0l)
  () : anhilnpolho  = {
  hejdlhijgna;
}

let rec default_fpmdbnalpfg 
  ?retcode:((retcode:int32) = 0l)
  ?hejdlhijgna:((hejdlhijgna:int32) = 0l)
  () : fpmdbnalpfg  = {
  retcode;
  hejdlhijgna;
}

let rec default_ihifkjipeeh 
  ?eokoalkmebo:((eokoalkmebo:int32) = 0l)
  ?ipnkbphbnco:((ipnkbphbnco:string) = "")
  () : ihifkjipeeh  = {
  eokoalkmebo;
  ipnkbphbnco;
}

let rec default_oeokelkocae 
  ?retcode:((retcode:int32) = 0l)
  () : oeokelkocae  = {
  retcode;
}

let rec default_lidenhkbbkf 
  ?retcode:((retcode:int32) = 0l)
  ?bofegpjagop:((bofegpjagop:int32 list) = [])
  () : lidenhkbbkf  = {
  retcode;
  bofegpjagop;
}

let rec default_player_heart_beat_cs_req 
  ?upload_data:((upload_data:client_upload_data option) = None)
  ?fhbehdlecea:((fhbehdlecea:int32) = 0l)
  ?client_time_ms:((client_time_ms:int64) = 0L)
  () : player_heart_beat_cs_req  = {
  upload_data;
  fhbehdlecea;
  client_time_ms;
}

let rec default_player_heart_beat_sc_rsp 
  ?server_time_ms:((server_time_ms:int64) = 0L)
  ?client_time_ms:((client_time_ms:int64) = 0L)
  ?download_data:((download_data:client_download_data option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : player_heart_beat_sc_rsp  = {
  server_time_ms;
  client_time_ms;
  download_data;
  retcode;
}

let rec default_ikgcpjdmdna 
  ?kghcdbdmdki:((kghcdbdmdki:feature_switch_type) = default_feature_switch_type ())
  () : ikgcpjdmdna  = {
  kghcdbdmdki;
}

let rec default_lajmnegeami 
  ?fgmdoekgpee:((fgmdoekgpee:hchcnfgecjj) = default_hchcnfgecjj ())
  ?chlibbgdmco:((chlibbgdmco:string) = "")
  () : lajmnegeami  = {
  fgmdoekgpee;
  chlibbgdmco;
}

let rec default_kjffbpgnmjf 
  ?monicakdnei:((monicakdnei:bytes) = Bytes.create 0)
  () : kjffbpgnmjf  = {
  monicakdnei;
}

let rec default_cfagkddbaib 
  ?pefekdhjbce:((pefekdhjbce:lajmnegeami list) = [])
  ?iaeneafaogo:((iaeneafaogo:bytes) = Bytes.create 0)
  ?retcode:((retcode:int32) = 0l)
  () : cfagkddbaib  = {
  pefekdhjbce;
  iaeneafaogo;
  retcode;
}

let rec default_icpodpepelm = ()

let rec default_cobbfmhbgkd 
  ?retcode:((retcode:int32) = 0l)
  () : cobbfmhbgkd  = {
  retcode;
}

let rec default_ifjegahkoic 
  ?ocoogaapion:((ocoogaapion:int64) = 0L)
  ?id:((id:int32) = 0l)
  () : ifjegahkoic  = {
  ocoogaapion;
  id;
}

let rec default_hbgacfhandm = ()

let rec default_ehnknlejadd 
  ?retcode:((retcode:int32) = 0l)
  ?hilakbadccb:((hilakbadccb:ifjegahkoic list) = [])
  ?nofmnpkaljn:((nofmnpkaljn:ifjegahkoic list) = [])
  () : ehnknlejadd  = {
  retcode;
  hilakbadccb;
  nofmnpkaljn;
}

let rec default_ikiomheofcd 
  ?pdpjiakgpbf:((pdpjiakgpbf:int32) = 0l)
  ?gdfbnkagmgi:((gdfbnkagmgi:int32) = 0l)
  ?ogkdpgnkfmc:((ogkdpgnkfmc:int32) = 0l)
  ?nfcojigifbb:((nfcojigifbb:int32) = 0l)
  () : ikiomheofcd  = {
  pdpjiakgpbf;
  gdfbnkagmgi;
  ogkdpgnkfmc;
  nfcojigifbb;
}

let rec default_ojligkojemk 
  ?gdfbnkagmgi:((gdfbnkagmgi:int32) = 0l)
  ?nfcojigifbb:((nfcojigifbb:int32) = 0l)
  ?ogkdpgnkfmc:((ogkdpgnkfmc:int32) = 0l)
  ?ibfbefobfbd:((ibfbefobfbd:ikiomheofcd list) = [])
  ?uid:((uid:int32) = 0l)
  () : ojligkojemk  = {
  gdfbnkagmgi;
  nfcojigifbb;
  ogkdpgnkfmc;
  ibfbefobfbd;
  uid;
}

let rec default_fhhkmlboidi 
  ?kagnbjdmamf:((kagnbjdmamf:int32) = 0l)
  () : fhhkmlboidi  = {
  kagnbjdmamf;
}

let rec default_reserve_stamina_exchange_sc_rsp 
  ?retcode:((retcode:int32) = 0l)
  ?num:((num:int32) = 0l)
  () : reserve_stamina_exchange_sc_rsp  = {
  retcode;
  num;
}

let rec default_liaainkncng 
  ?ggndaapphak:((ggndaapphak:int64) = 0L)
  ?stamina:((stamina:int32) = 0l)
  ?dlpphgglpbo:((dlpphgglpbo:int32) = 0l)
  ?gbdgbkkjfel:((gbdgbkkjfel:int64) = 0L)
  () : liaainkncng  = {
  ggndaapphak;
  stamina;
  dlpphgglpbo;
  gbdgbkkjfel;
}

let rec default_jlbjgfcddal 
  ?ookalmpeleg:((ookalmpeleg:bool) = false)
  ?defkcpiepnb:((defkcpiepnb:bool) = false)
  ?dedidajjmcj:((dedidajjmcj:bool) = false)
  ?hhcgdeocomi:((hhcgdeocomi:bool) = false)
  ?ggodaiohjif:((ggodaiohjif:bool) = false)
  ?jcnincccakl:((jcnincccakl:bool) = false)
  ?bkpaceckiia:((bkpaceckiia:bool) = false)
  ?kmjdmefgcck:((kmjdmefgcck:bool) = false)
  ?nhknohpdocc:((nhknohpdocc:bool) = false)
  () : jlbjgfcddal  = {
  ookalmpeleg;
  defkcpiepnb;
  dedidajjmcj;
  hhcgdeocomi;
  ggodaiohjif;
  jcnincccakl;
  bkpaceckiia;
  kmjdmefgcck;
  nhknohpdocc;
}

let rec default_jkddhpneldk 
  ?mbnknhhaaik:((mbnknhhaaik:jlbjgfcddal option) = None)
  () : jkddhpneldk  = {
  mbnknhhaaik;
}

let rec default_pbjhmijpmgc 
  ?mbnknhhaaik:((mbnknhhaaik:jlbjgfcddal option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : pbjhmijpmgc  = {
  mbnknhhaaik;
  retcode;
}

let rec default_jlabhnlhoad 
  ?upload_data:((upload_data:bytes) = Bytes.create 0)
  ?fhbehdlecea:((fhbehdlecea:int32) = 0l)
  () : jlabhnlhoad  = {
  upload_data;
  fhbehdlecea;
}

let rec default_kbjjciagnij 
  ?retcode:((retcode:int32) = 0l)
  ?data:((data:client_obj_download_data option) = None)
  () : kbjjciagnij  = {
  retcode;
  data;
}

let rec default_mebodoaicgh 
  ?nlacdgkpceg:((nlacdgkpceg:string list) = [])
  () : mebodoaicgh  = {
  nlacdgkpceg;
}

let rec default_cnjenhgpijg 
  ?gmjgmcecogm:((gmjgmcecogm:bool) = false)
  ?idfijahanmn:((idfijahanmn:mebodoaicgh option) = None)
  () : cnjenhgpijg  = {
  gmjgmcecogm;
  idfijahanmn;
}

let rec default_ofgpbmpjfkn 
  ?gmjgmcecogm:((gmjgmcecogm:bool) = false)
  ?mkjnmafpgji:((mkjnmafpgji:mebodoaicgh option) = None)
  ?hfnmlhlcjbd:((hfnmlhlcjbd:mebodoaicgh option) = None)
  () : ofgpbmpjfkn  = {
  gmjgmcecogm;
  mkjnmafpgji;
  hfnmlhlcjbd;
}

let rec default_iakigocmcji 
  ?ipeeimmbfnh:((ipeeimmbfnh:cnjenhgpijg option) = None)
  ?bblbengbiof:((bblbengbiof:ofgpbmpjfkn option) = None)
  () : iakigocmcji  = {
  ipeeimmbfnh;
  bblbengbiof;
}

let rec default_hhogbpfijkl 
  ?retcode:((retcode:int32) = 0l)
  () : hhogbpfijkl  = {
  retcode;
}

let rec default_gdcclebbecc () = (Cmd_player_board_type_none:gdcclebbecc)

let rec default_ilmpdolbflp 
  ?id:((id:int32) = 0l)
  () : ilmpdolbflp  = {
  id;
}

let rec default_jioifojmhgg 
  ?pos:((pos:int32) = 0l)
  ?avatar_id:((avatar_id:int32) = 0l)
  () : jioifojmhgg  = {
  pos;
  avatar_id;
}

let rec default_acighdhodol 
  ?ebiebipemmp:((ebiebipemmp:bool) = false)
  ?hoannlkcmoj:((hoannlkcmoj:jioifojmhgg list) = [])
  () : acighdhodol  = {
  ebiebipemmp;
  hoannlkcmoj;
}

let rec default_pdbhegkejnn = ()

let rec default_ejjbfalmlpl 
  ?djjdncbpmfk:((djjdncbpmfk:ilmpdolbflp list) = [])
  ?fejkecfmdnc:((fejkecfmdnc:int32 list) = [])
  ?cpkikinabfj:((cpkikinabfj:string) = "")
  ?mffdmonhkah:((mffdmonhkah:int32) = 0l)
  ?ecgmfoohejj:((ecgmfoohejj:acighdhodol option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : ejjbfalmlpl  = {
  djjdncbpmfk;
  fejkecfmdnc;
  cpkikinabfj;
  mffdmonhkah;
  ecgmfoohejj;
  retcode;
}

let rec default_pnhppeakeme 
  ?id:((id:int32) = 0l)
  () : pnhppeakeme  = {
  id;
}

let rec default_djpcljoklmh 
  ?retcode:((retcode:int32) = 0l)
  ?mffdmonhkah:((mffdmonhkah:int32) = 0l)
  () : djpcljoklmh  = {
  retcode;
  mffdmonhkah;
}

let rec default_omdgafjddhp 
  ?hoannlkcmoj:((hoannlkcmoj:jioifojmhgg list) = [])
  () : omdgafjddhp  = {
  hoannlkcmoj;
}

let rec default_hlghliokhof 
  ?retcode:((retcode:int32) = 0l)
  ?hoannlkcmoj:((hoannlkcmoj:jioifojmhgg list) = [])
  () : hlghliokhof  = {
  retcode;
  hoannlkcmoj;
}

let rec default_mfeefdlinbd 
  ?ebiebipemmp:((ebiebipemmp:bool) = false)
  () : mfeefdlinbd  = {
  ebiebipemmp;
}

let rec default_fegfiolhldb 
  ?ebiebipemmp:((ebiebipemmp:bool) = false)
  ?retcode:((retcode:int32) = 0l)
  () : fegfiolhldb  = {
  ebiebipemmp;
  retcode;
}

let rec default_egioindghap 
  ?cpkikinabfj:((cpkikinabfj:string) = "")
  () : egioindghap  = {
  cpkikinabfj;
}

let rec default_opcelbkmodd 
  ?cpkikinabfj:((cpkikinabfj:string) = "")
  ?retcode:((retcode:int32) = 0l)
  () : opcelbkmodd  = {
  cpkikinabfj;
  retcode;
}

let rec default_bfjeegoifjh 
  ?avatar_id:((avatar_id:int32) = 0l)
  ?avatar_id_list:((avatar_id_list:int32 list) = [])
  () : bfjeegoifjh  = {
  avatar_id;
  avatar_id_list;
}

let rec default_fbmllcgdeaj 
  ?avatar_id_list:((avatar_id_list:int32 list) = [])
  ?avatar_id:((avatar_id:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : fbmllcgdeaj  = {
  avatar_id_list;
  avatar_id;
  retcode;
}

let rec default_kcmabmfmigk () = (Cmd_player_return_type_none:kcmabmfmigk)

let rec default_nnbobagndpf () = (Player_return_none:nnbobagndpf)

let rec default_jgednnjphao 
  ?chpmfbghopb:((chpmfbghopb:int32) = 0l)
  () : jgednnjphao  = {
  chpmfbghopb;
}

let rec default_cbabjjnejcj 
  ?ijifekbfnha:((ijifekbfnha:int32 list) = [])
  ?ebfcemokigl:((ebfcemokigl:int32) = 0l)
  () : cbabjjnejcj  = {
  ijifekbfnha;
  ebfcemokigl;
}

let rec default_ofhpmpnmdgi 
  ?ijifekbfnha:((ijifekbfnha:int32 list) = [])
  ?mplohdemggi:((mplohdemggi:item_list list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?ebfcemokigl:((ebfcemokigl:int32) = 0l)
  () : ofhpmpnmdgi  = {
  ijifekbfnha;
  mplohdemggi;
  retcode;
  ebfcemokigl;
}

let rec default_bblkpnmpogi 
  ?opmjfaoockc:((opmjfaoockc:int32) = 0l)
  () : bblkpnmpogi  = {
  opmjfaoockc;
}

let rec default_lcpbfjjpbli 
  ?fdbihcbjfpk:((fdbihcbjfpk:int32) = 0l)
  ?okbfdiconjo:((okbfdiconjo:int32) = 0l)
  () : lcpbfjjpbli  = {
  fdbihcbjfpk;
  okbfdiconjo;
}

let rec default_komjjhcpkcl 
  ?okbfdiconjo:((okbfdiconjo:int32) = 0l)
  ?fdbihcbjfpk:((fdbihcbjfpk:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?lhkcfidldjf:((lhkcfidldjf:item_list option) = None)
  () : komjjhcpkcl  = {
  okbfdiconjo;
  fdbihcbjfpk;
  retcode;
  lhkcfidldjf;
}

let rec default_oejfjpbbhnd 
  ?kccleanfoef:((kccleanfoef:int32) = 0l)
  () : oejfjpbbhnd  = {
  kccleanfoef;
}

let rec default_mehnpknnhfl 
  ?retcode:((retcode:int32) = 0l)
  () : mehnpknnhfl  = {
  retcode;
}

let rec default_mmbiokjgagb 
  ?kccleanfoef:((kccleanfoef:int32) = 0l)
  () : mmbiokjgagb  = {
  kccleanfoef;
}

let rec default_kkeojconope 
  ?ijifekbfnha:((ijifekbfnha:int32 list) = [])
  ?hecfjbignbo:((hecfjbignbo:int32) = 0l)
  ?jlpokcllpoi:((jlpokcllpoi:int32 list) = [])
  ?nfonlnipina:((nfonlnipina:int64) = 0L)
  ?opmjfaoockc:((opmjfaoockc:int32) = 0l)
  ?status:((status:nnbobagndpf) = default_nnbobagndpf ())
  ?mkideamcloh:((mkideamcloh:bool) = false)
  ?efooffoifnf:((efooffoifnf:int64) = 0L)
  ?nokicjcmako:((nokicjcmako:int32) = 0l)
  () : kkeojconope  = {
  ijifekbfnha;
  hecfjbignbo;
  jlpokcllpoi;
  nfonlnipina;
  opmjfaoockc;
  status;
  mkideamcloh;
  efooffoifnf;
  nokicjcmako;
}

let rec default_jgpajdafmnb 
  ?retcode:((retcode:int32) = 0l)
  ?fjldoaefpfo:((fjldoaefpfo:kkeojconope option) = None)
  ?cbajboeeomd:((cbajboeeomd:int32) = 0l)
  () : jgpajdafmnb  = {
  retcode;
  fjldoaefpfo;
  cbajboeeomd;
}

let rec default_eejjcahpekl 
  ?fjldoaefpfo:((fjldoaefpfo:kkeojconope option) = None)
  () : eejjcahpekl  = {
  fjldoaefpfo;
}

let rec default_pnnnehdhbgn () = (Cmd_plot_type_none:pnnnehdhbgn)

let rec default_hcgpfgeaemh 
  ?bbdpimddalm:((bbdpimddalm:int32) = 0l)
  () : hcgpfgeaemh  = {
  bbdpimddalm;
}

let rec default_nnjkpmjkbhg 
  ?retcode:((retcode:int32) = 0l)
  ?bbdpimddalm:((bbdpimddalm:int32) = 0l)
  () : nnjkpmjkbhg  = {
  retcode;
  bbdpimddalm;
}

let rec default_clplinbmjbm () = (Cmd_punk_lord_type_none:clplinbmjbm)

let rec default_anphoopdlbn () = (Punk_lord_operation_none:anphoopdlbn)

let rec default_coalhafipng 
  ?ddihfbmjacj:((ddihfbmjacj:fgljkmekiom option) = None)
  ?licghlgbmla:((licghlgbmla:punk_lord_attacker_status) = default_punk_lord_attacker_status ())
  ?ipobnmhpfee:((ipobnmhpfee:int32) = 0l)
  ?basic_info:((basic_info:aapoalmfpan option) = None)
  () : coalhafipng  = {
  ddihfbmjacj;
  licghlgbmla;
  ipobnmhpfee;
  basic_info;
}

let rec default_kmnmjombhjl = ()

let rec default_glnelhcpcpo 
  ?retcode:((retcode:int32) = 0l)
  ?nnbfbfanojd:((nnbfbfanojd:coalhafipng list) = [])
  () : glnelhcpcpo  = {
  retcode;
  nnbfbfanojd;
}

let rec default_icndgmffmhn 
  ?hombibbpmjk:((hombibbpmjk:bool) = false)
  ?monster_id:((monster_id:int32) = 0l)
  ?uid:((uid:int32) = 0l)
  () : icndgmffmhn  = {
  hombibbpmjk;
  monster_id;
  uid;
}

let rec default_mlefcdfhiha 
  ?kkkabkogeii:((kkkabkogeii:int64) = 0L)
  ?hombibbpmjk:((hombibbpmjk:bool) = false)
  ?retcode:((retcode:int32) = 0l)
  ?bfdolepkbod:((bfdolepkbod:int32 list) = [])
  ?scene:((scene:dnlbhaceial option) = None)
  ?gdlljbeglci:((gdlljbeglci:coalhafipng option) = None)
  () : mlefcdfhiha  = {
  kkkabkogeii;
  hombibbpmjk;
  retcode;
  bfdolepkbod;
  scene;
  gdlljbeglci;
}

let rec default_mjakmiepdjo 
  ?cpefaednmcc:((cpefaednmcc:punk_lord_share_type) = default_punk_lord_share_type ())
  ?monster_id:((monster_id:int32) = 0l)
  ?uid:((uid:int32) = 0l)
  () : mjakmiepdjo  = {
  cpefaednmcc;
  monster_id;
  uid;
}

let rec default_jopjgmdmfhh 
  ?uid:((uid:int32) = 0l)
  ?cpefaednmcc:((cpefaednmcc:punk_lord_share_type) = default_punk_lord_share_type ())
  ?monster_id:((monster_id:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : jopjgmdmfhh  = {
  uid;
  cpefaednmcc;
  monster_id;
  retcode;
}

let rec default_gmlancnhncj = ()

let rec default_gnhkpibagdn 
  ?retcode:((retcode:int32) = 0l)
  ?gdlljbeglci:((gdlljbeglci:coalhafipng option) = None)
  () : gnhkpibagdn  = {
  retcode;
  gdlljbeglci;
}

let rec default_haliddbdjlp 
  ?level:((level:int32) = 0l)
  ?mhegpegfggg:((mhegpegfggg:bool) = false)
  () : haliddbdjlp  = {
  level;
  mhegpegfggg;
}

let rec default_lohjjbdekdb 
  ?mhegpegfggg:((mhegpegfggg:bool) = false)
  ?retcode:((retcode:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  () : lohjjbdekdb  = {
  mhegpegfggg;
  retcode;
  level;
  reward;
}

let rec default_acegholnboi 
  ?mgdnainpahe:((mgdnainpahe:punk_lord_monster_info_notify_reason) = default_punk_lord_monster_info_notify_reason ())
  ?ddihfbmjacj:((ddihfbmjacj:punk_lord_battle_record option) = None)
  ?bfdolepkbod:((bfdolepkbod:int32 list) = [])
  ?basic_info:((basic_info:aapoalmfpan option) = None)
  () : acegholnboi  = {
  mgdnainpahe;
  ddihfbmjacj;
  bfdolepkbod;
  basic_info;
}

let rec default_pgkolkmnkmn = ()

let rec default_dimdoakchag 
  ?figonclcnhj:((figonclcnhj:int32) = 0l)
  ?jcaainbemcb:((jcaainbemcb:int32) = 0l)
  ?pmpdkbcelef:((pmpdkbcelef:int32) = 0l)
  ?pojkpinipio:((pojkpinipio:int32) = 0l)
  ?fijcinagcbc:((fijcinagcbc:int32) = 0l)
  ?ogelbpicnhe:((ogelbpicnhe:int64) = 0L)
  ?ihkmfjnfjlk:((ihkmfjnfjlk:int32 list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : dimdoakchag  = {
  figonclcnhj;
  jcaainbemcb;
  pmpdkbcelef;
  pojkpinipio;
  fijcinagcbc;
  ogelbpicnhe;
  ihkmfjnfjlk;
  retcode;
}

let rec default_idfhehkpdhn 
  ?gdlljbeglci:((gdlljbeglci:aapoalmfpan option) = None)
  () : idfhehkpdhn  = {
  gdlljbeglci;
}

let rec default_ojdimogobok 
  ?gdlljbeglci:((gdlljbeglci:aapoalmfpan option) = None)
  ?ddihfbmjacj:((ddihfbmjacj:punk_lord_battle_record option) = None)
  ?epjmalbjbfl:((epjmalbjbfl:int32) = 0l)
  ?dkjohfibjfb:((dkjohfibjfb:int32) = 0l)
  ?inncjmgfgip:((inncjmgfgip:int32) = 0l)
  () : ojdimogobok  = {
  gdlljbeglci;
  ddihfbmjacj;
  epjmalbjbfl;
  dkjohfibjfb;
  inncjmgfgip;
}

let rec default_iffmlndfbim 
  ?jgghhdjnepo:((jgghhdjnepo:int32) = 0l)
  ?monster_id:((monster_id:int32) = 0l)
  ?fgilieldboi:((fgilieldboi:int64) = 0L)
  ?world_level:((world_level:int32) = 0l)
  ?kjpdknocoeo:((kjpdknocoeo:bool) = false)
  ?pfbnanpcdjh:((pfbnanpcdjh:int32) = 0l)
  () : iffmlndfbim  = {
  jgghhdjnepo;
  monster_id;
  fgilieldboi;
  world_level;
  kjpdknocoeo;
  pfbnanpcdjh;
}

let rec default_hkfkcmjlfdl = ()

let rec default_jfdfegkckae 
  ?retcode:((retcode:int32) = 0l)
  ?ppbaggdodle:((ppbaggdodle:hbbaohkdklj list) = [])
  ?enlhpceoajj:((enlhpceoajj:iffmlndfbim list) = [])
  () : jfdfegkckae  = {
  retcode;
  ppbaggdodle;
  enlhpceoajj;
}

let rec default_kjnjdnhcdik 
  ?fckknkkgaal:((fckknkkgaal:iffmlndfbim option) = None)
  () : kjnjdnhcdik  = {
  fckknkkgaal;
}

let rec default_dgbpdpgampb 
  ?fjnpddmldld:((fjnpddmldld:hbbaohkdklj option) = None)
  ?ikcpmimknmj:((ikcpmimknmj:bool) = false)
  () : dgbpdpgampb  = {
  fjnpddmldld;
  ikcpmimknmj;
}

let rec default_pgomokjlnia 
  ?retcode:((retcode:int32) = 0l)
  ?ikcpmimknmj:((ikcpmimknmj:bool) = false)
  ?lpgaoolbbfm:((lpgaoolbbfm:int32) = 0l)
  ?jmeheohdpek:((jmeheohdpek:hbbaohkdklj list) = [])
  () : pgomokjlnia  = {
  retcode;
  ikcpmimknmj;
  lpgaoolbbfm;
  jmeheohdpek;
}

let rec default_miohefaegmd 
  ?jcaainbemcb:((jcaainbemcb:int32) = 0l)
  ?pojkpinipio:((pojkpinipio:int32) = 0l)
  ?figonclcnhj:((figonclcnhj:int32) = 0l)
  () : miohefaegmd  = {
  jcaainbemcb;
  pojkpinipio;
  figonclcnhj;
}

let rec default_dhdcjejdhoh 
  ?fjnpddmldld:((fjnpddmldld:hbbaohkdklj option) = None)
  () : dhdcjejdhoh  = {
  fjnpddmldld;
}

let rec default_aimdhjaenjj 
  ?retcode:((retcode:int32) = 0l)
  ?fodcominece:((fodcominece:punk_lord_battle_replay list) = [])
  ?fjnpddmldld:((fjnpddmldld:hbbaohkdklj option) = None)
  ?eolalkfgdal:((eolalkfgdal:punk_lord_battle_record list) = [])
  () : aimdhjaenjj  = {
  retcode;
  fodcominece;
  fjnpddmldld;
  eolalkfgdal;
}

let rec default_cpgjejnngoe () = (Cmd_quest_type_none:cpgjejnngoe)

let rec default_jjofecmhbon () = (Quest_none:jjofecmhbon)

let rec default_oblnmhfpkob = ()

let rec default_eejpmepikga 
  ?nfonlnipina:((nfonlnipina:int64) = 0L)
  ?id:((id:int32) = 0l)
  ?status:((status:jjofecmhbon) = default_jjofecmhbon ())
  ?progress:((progress:int32) = 0l)
  ?pnkhfhpabgb:((pnkhfhpabgb:int32 list) = [])
  () : eejpmepikga  = {
  nfonlnipina;
  id;
  status;
  progress;
  pnkhfhpabgb;
}

let rec default_lmnopfmjoco 
  ?pnlbagbglfd:((pnlbagbglfd:eejpmepikga list) = [])
  ?igcimdmbdfa:((igcimdmbdfa:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : lmnopfmjoco  = {
  pnlbagbglfd;
  igcimdmbdfa;
  retcode;
}

let rec default_bboncngkkfh 
  ?chcdpcmpihk:((chcdpcmpihk:int32 list) = [])
  () : bboncngkkfh  = {
  chcdpcmpihk;
}

let rec default_take_quest_reward_sc_rsp 
  ?retcode:((retcode:int32) = 0l)
  ?succ_quest_id_list:((succ_quest_id_list:int32 list) = [])
  ?reward:((reward:item_list option) = None)
  () : take_quest_reward_sc_rsp  = {
  retcode;
  succ_quest_id_list;
  reward;
}

let rec default_gimgmgjgkni 
  ?gjbdmneacbj:((gjbdmneacbj:int32) = 0l)
  ?apbdbeabddj:((apbdbeabddj:int32) = 0l)
  () : gimgmgjgkni  = {
  gjbdmneacbj;
  apbdbeabddj;
}

let rec default_mcekcfpcaap 
  ?reward:((reward:item_list option) = None)
  ?gjbdmneacbj:((gjbdmneacbj:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : mcekcfpcaap  = {
  reward;
  gjbdmneacbj;
  retcode;
}

let rec default_kmffdlklgng = ()

let rec default_kmgpadlinip 
  ?progress:((progress:int32) = 0l)
  ?kkbjlhilfen:((kkbjlhilfen:int32) = 0l)
  () : kmgpadlinip  = {
  progress;
  kkbjlhilfen;
}

let rec default_hfdblljhijn 
  ?jjichfkkmjl:((jjichfkkmjl:kmgpadlinip list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : hfdblljhijn  = {
  jjichfkkmjl;
  retcode;
}

let rec default_pnhijbbmjhk 
  ?kklhgagcopa:((kklhgagcopa:kmgpadlinip option) = None)
  () : pnhijbbmjhk  = {
  kklhgagcopa;
}

let rec default_hckfdajnjec 
  ?prop_id:((prop_id:int32) = 0l)
  ?gjbdmneacbj:((gjbdmneacbj:int32) = 0l)
  ?group_id:((group_id:int32) = 0l)
  () : hckfdajnjec  = {
  prop_id;
  gjbdmneacbj;
  group_id;
}

let rec default_lpcjcddpmeo 
  ?retcode:((retcode:int32) = 0l)
  () : lpcjcddpmeo  = {
  retcode;
}

let rec default_mdgdpmjnbnp 
  ?pnlbagbglfd:((pnlbagbglfd:int32 list) = [])
  () : mdgdpmjnbnp  = {
  pnlbagbglfd;
}

let rec default_lehcpjafdea 
  ?pnlbagbglfd:((pnlbagbglfd:eejpmepikga list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : lehcpjafdea  = {
  pnlbagbglfd;
  retcode;
}

let rec default_chechglhkhl () = (Cmd_raid_type_none:chechglhkhl)

let rec default_phlppgocmfk () = (Raid_status_none:phlppgocmfk)

let rec default_lgbplphaacb () = (Raid_target_status_none:lgbplphaacb)

let rec default_ehhjocaaaba () = (Raid_kick_reason_none:ehhjocaaaba)

let rec default_jpfgmcipjmm 
  ?prop_entity_id:((prop_entity_id:int32) = 0l)
  ?avatar_list:((avatar_list:int32 list) = [])
  ?ikpjplopmjk:((ikpjplopmjk:int32) = 0l)
  ?chbdfdolhoc:((chbdfdolhoc:int32) = 0l)
  ?world_level:((world_level:int32) = 0l)
  () : jpfgmcipjmm  = {
  prop_entity_id;
  avatar_list;
  ikpjplopmjk;
  chbdfdolhoc;
  world_level;
}

let rec default_ndjiajphifk 
  ?retcode:((retcode:int32) = 0l)
  ?scene:((scene:dnlbhaceial option) = None)
  () : ndjiajphifk  = {
  retcode;
  scene;
}

let rec default_fjhkfgdlibf 
  ?chbdfdolhoc:((chbdfdolhoc:bool) = false)
  ?ikpjplopmjk:((ikpjplopmjk:int32) = 0l)
  () : fjhkfgdlibf  = {
  chbdfdolhoc;
  ikpjplopmjk;
}

let rec default_djabebmofde 
  ?retcode:((retcode:int32) = 0l)
  () : djabebmofde  = {
  retcode;
}

let rec default_hhikhceehbb 
  ?koinobbmjaa:((koinobbmjaa:lgbplphaacb) = default_lgbplphaacb ())
  ?glaokkggino:((glaokkggino:int32) = 0l)
  ?dpepdejdlka:((dpepdejdlka:int32) = 0l)
  () : hhikhceehbb  = {
  koinobbmjaa;
  glaokkggino;
  dpepdejdlka;
}

let rec default_knjianifiba 
  ?pdpfcfglgco:((pdpfcfglgco:item_list option) = None)
  ?status:((status:phlppgocmfk) = default_phlppgocmfk ())
  ?mpfnjpaeobp:((mpfnjpaeobp:int64) = 0L)
  ?world_level:((world_level:int32) = 0l)
  ?hhnnjledapn:((hhnnjledapn:hhikhceehbb list) = [])
  ?ikpjplopmjk:((ikpjplopmjk:int32) = 0l)
  () : knjianifiba  = {
  pdpfcfglgco;
  status;
  mpfnjpaeobp;
  world_level;
  hhnnjledapn;
  ikpjplopmjk;
}

let rec default_adffgpcjffg 
  ?gakmanenkmh:((gakmanenkmh:int32) = 0l)
  ?ikpjplopmjk:((ikpjplopmjk:int32) = 0l)
  () : adffgpcjffg  = {
  gakmanenkmh;
  ikpjplopmjk;
}

let rec default_jcifaehlamo 
  ?goccbdenfle:((goccbdenfle:int32 list) = [])
  ?world_level:((world_level:int32) = 0l)
  ?ikpjplopmjk:((ikpjplopmjk:int32) = 0l)
  () : jcifaehlamo  = {
  goccbdenfle;
  world_level;
  ikpjplopmjk;
}

let rec default_iikolamhenh = ()

let rec default_get_raid_info_sc_rsp 
  ?challenge_taken_reward_id_list:((challenge_taken_reward_id_list:int32 list) = [])
  ?challenge_raid_list:((challenge_raid_list:adffgpcjffg list) = [])
  ?finished_raid_info_list:((finished_raid_info_list:jcifaehlamo list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : get_raid_info_sc_rsp  = {
  challenge_taken_reward_id_list;
  challenge_raid_list;
  finished_raid_info_list;
  retcode;
}

let rec default_koocbfbkebc = ()

let rec default_kohffnboocd 
  ?retcode:((retcode:int32) = 0l)
  ?clbadgogepf:((clbadgogepf:adffgpcjffg list) = [])
  ?ghchnanjdfb:((ghchnanjdfb:int32 list) = [])
  () : kohffnboocd  = {
  retcode;
  clbadgogepf;
  ghchnanjdfb;
}

let rec default_haiedplfomf 
  ?bhcnfehdnfg:((bhcnfehdnfg:int32) = 0l)
  () : haiedplfomf  = {
  bhcnfehdnfg;
}

let rec default_goobncpndib 
  ?reward:((reward:item_list option) = None)
  ?bhcnfehdnfg:((bhcnfehdnfg:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : goobncpndib  = {
  reward;
  bhcnfehdnfg;
  retcode;
}

let rec default_eliccgkomcl 
  ?onhjiaijhop:((onhjiaijhop:adffgpcjffg option) = None)
  () : eliccgkomcl  = {
  onhjiaijhop;
}

let rec default_fjiefeeohjh 
  ?progress:((progress:int32) = 0l)
  ?kpibjmjbjod:((kpibjmjbjod:int32) = 0l)
  () : fjiefeeohjh  = {
  progress;
  kpibjmjbjod;
}

let rec default_gbmeonklkdc 
  ?retcode:((retcode:int32) = 0l)
  ?kpibjmjbjod:((kpibjmjbjod:int32) = 0l)
  ?progress:((progress:int32) = 0l)
  () : gbmeonklkdc  = {
  retcode;
  kpibjmjbjod;
  progress;
}

let rec default_cgmldddjpfl 
  ?world_level:((world_level:int32) = 0l)
  ?ikpjplopmjk:((ikpjplopmjk:int32) = 0l)
  () : cgmldddjpfl  = {
  world_level;
  ikpjplopmjk;
}

let rec default_mldbcfbgieb 
  ?world_level:((world_level:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?ikpjplopmjk:((ikpjplopmjk:int32) = 0l)
  ?chbdfdolhoc:((chbdfdolhoc:bool) = false)
  ?hhnnjledapn:((hhnnjledapn:hhikhceehbb list) = [])
  () : mldbcfbgieb  = {
  world_level;
  retcode;
  ikpjplopmjk;
  chbdfdolhoc;
  hhnnjledapn;
}

let rec default_hmcbkcliekg 
  ?hhnnjledapn:((hhnnjledapn:hhikhceehbb list) = [])
  ?ikpjplopmjk:((ikpjplopmjk:int32) = 0l)
  ?world_level:((world_level:int32) = 0l)
  () : hmcbkcliekg  = {
  hhnnjledapn;
  ikpjplopmjk;
  world_level;
}

let rec default_dinmibgodol = ()

let rec default_klidemocfdg 
  ?ejkajanlmkl:((ejkajanlmkl:hmcbkcliekg list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : klidemocfdg  = {
  ejkajanlmkl;
  retcode;
}

let rec default_oeajhnfofoc 
  ?ikpjplopmjk:((ikpjplopmjk:int32) = 0l)
  ?world_level:((world_level:int32) = 0l)
  () : oeajhnfofoc  = {
  ikpjplopmjk;
  world_level;
}

let rec default_njcahpomndl 
  ?mgdnainpahe:((mgdnainpahe:ehhjocaaaba) = default_ehhjocaaaba ())
  ?lineup:((lineup:lineup_info option) = None)
  ?world_level:((world_level:int32) = 0l)
  ?ikpjplopmjk:((ikpjplopmjk:int32) = 0l)
  ?scene:((scene:scene_info option) = None)
  () : njcahpomndl  = {
  mgdnainpahe;
  lineup;
  world_level;
  ikpjplopmjk;
  scene;
}

let rec default_hflgjkjjmim () = (Cmd_raid_collection_type_none:hflgjkjjmim)

let rec default_bkaomcmepci 
  ?infplhaigop:((infplhaigop:int32) = 0l)
  () : bkaomcmepci  = {
  infplhaigop;
}

let rec default_ppijcmkiogi = ()

let rec default_fgkfloacjen 
  ?retcode:((retcode:int32) = 0l)
  ?cjbdijhedpo:((cjbdijhedpo:bkaomcmepci list) = [])
  () : fgkfloacjen  = {
  retcode;
  cjbdijhedpo;
}

let rec default_hjpgejdfpae 
  ?hciobbpgkbe:((hciobbpgkbe:bkaomcmepci option) = None)
  () : hjpgejdfpae  = {
  hciobbpgkbe;
}

let rec default_bliiedplbfc 
  ?world_level:((world_level:int32) = 0l)
  ?ikpjplopmjk:((ikpjplopmjk:int32) = 0l)
  ?chbdfdolhoc:((chbdfdolhoc:int32) = 0l)
  ?avatar_list:((avatar_list:int32 list) = [])
  () : bliiedplbfc  = {
  world_level;
  ikpjplopmjk;
  chbdfdolhoc;
  avatar_list;
}

let rec default_efgangejahe 
  ?scene:((scene:dnlbhaceial option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : efgangejahe  = {
  scene;
  retcode;
}

let rec default_iipfogjkbdd () = (Cmd_red_dot_type_none:iipfogjkbdd)

let rec default_ljhkjfilggp () = (Update_reddot_none:ljhkjfilggp)

let rec default_pljklolgala 
  ?odjegmnefag:((odjegmnefag:int32 list) = [])
  () : pljklolgala  = {
  odjegmnefag;
}

let rec default_oefagcankoa 
  ?lejmmaeibga:((lejmmaeibga:int32) = 0l)
  ?fjlnncjahng:((fjlnncjahng:int32) = 0l)
  ?jhoejhpfmme:((jhoejhpfmme:(int32 * pljklolgala) list) = [])
  () : oefagcankoa  = {
  lejmmaeibga;
  fjlnncjahng;
  jhoejhpfmme;
}

let rec default_cllhoejpnlc = ()

let rec default_bdpfmlechij 
  ?ldganldgeln:((ldganldgeln:oefagcankoa list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : bdpfmlechij  = {
  ldganldgeln;
  retcode;
}

let rec default_cnaimppnfcb 
  ?lejmmaeibga:((lejmmaeibga:int32) = 0l)
  ?param_list:((param_list:int32 list) = [])
  ?group_id:((group_id:int32) = 0l)
  ?fjlnncjahng:((fjlnncjahng:int32) = 0l)
  ?kifpepeebco:((kifpepeebco:ljhkjfilggp) = default_ljhkjfilggp ())
  () : cnaimppnfcb  = {
  lejmmaeibga;
  param_list;
  group_id;
  fjlnncjahng;
  kifpepeebco;
}

let rec default_cfloccjogdo 
  ?group_id:((group_id:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?lejmmaeibga:((lejmmaeibga:int32) = 0l)
  ?fjlnncjahng:((fjlnncjahng:int32) = 0l)
  () : cfloccjogdo  = {
  group_id;
  retcode;
  lejmmaeibga;
  fjlnncjahng;
}

let rec default_jiddlbiohfe 
  ?fjlnncjahng:((fjlnncjahng:int32) = 0l)
  ?lejmmaeibga:((lejmmaeibga:int32) = 0l)
  ?group_id:((group_id:int32) = 0l)
  () : jiddlbiohfe  = {
  fjlnncjahng;
  lejmmaeibga;
  group_id;
}

let rec default_hplgncaacpa 
  ?lejmmaeibga:((lejmmaeibga:int32) = 0l)
  ?group_id:((group_id:int32) = 0l)
  ?fjlnncjahng:((fjlnncjahng:int32) = 0l)
  ?lgghoaagahj:((lgghoaagahj:pljklolgala option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : hplgncaacpa  = {
  lejmmaeibga;
  group_id;
  fjlnncjahng;
  lgghoaagahj;
  retcode;
}

let rec default_pfmnoejepaf () = (Cmd_replay_type_none:pfmnoejepaf)

let rec default_bbiaodgpdie 
  ?dmlnkapjjni:((dmlnkapjjni:string) = "")
  ?stage_id:((stage_id:int32) = 0l)
  ?oeoikijbcfg:((oeoikijbcfg:int32) = 0l)
  ?blnoeiceljf:((blnoeiceljf:replay_type) = default_replay_type ())
  ?laneigjfepk:((laneigjfepk:string) = "")
  ?lfnjmcnfhha:((lfnjmcnfhha:int32) = 0l)
  () : bbiaodgpdie  = {
  dmlnkapjjni;
  stage_id;
  oeoikijbcfg;
  blnoeiceljf;
  laneigjfepk;
  lfnjmcnfhha;
}

let rec default_kbnonoecgia 
  ?retcode:((retcode:int32) = 0l)
  ?blnoeiceljf:((blnoeiceljf:replay_type) = default_replay_type ())
  ?stage_id:((stage_id:int32) = 0l)
  ?oiegbkkceda:((oiegbkkceda:string) = "")
  ?laneigjfepk:((laneigjfepk:string) = "")
  () : kbnonoecgia  = {
  retcode;
  blnoeiceljf;
  stage_id;
  oiegbkkceda;
  laneigjfepk;
}

let rec default_amejgemekhj = ()

let rec default_mgbehfompfh 
  ?retcode:((retcode:int32) = 0l)
  ?negllhlgeni:((negllhlgeni:nlhgcplikkp list) = [])
  () : mgbehfompfh  = {
  retcode;
  negllhlgeni;
}

let rec default_mjejbpdgghg () = (Cmd_rnd_option_type_none:mjejbpdgghg)

let rec default_kkpoiboahff 
  ?id:((id:int32) = 0l)
  () : kkpoiboahff  = {
  id;
}

let rec default_apghjcccmob 
  ?retcode:((retcode:int32) = 0l)
  ?ljpbjpagadf:((ljpbjpagadf:int32 list) = [])
  () : apghjcccmob  = {
  retcode;
  ljpbjpagadf;
}

let rec default_dlckmkconlg = ()

let rec default_dcjhfjbaedn 
  ?retcode:((retcode:int32) = 0l)
  () : dcjhfjbaedn  = {
  retcode;
}

let rec default_fgllegeeied () = (Cmd_rogue_type_none:fgllegeeied)

let rec default_ofhnfenfeai () = (Rogue_status_none:ofhnfenfeai)

let rec default_mbnocjilejg () = (Rogue_room_status_none:mbnocjilejg)

let rec default_gjdmagoenld () = (Rogue_area_status_lock:gjdmagoenld)

let rec default_nnnopllagge () = (Rogue_buff_source_type_none:nnnopllagge)

let rec default_dblpgacnlah () = (Rogue_miracle_source_type_none:dblpgacnlah)

let rec default_npbmfealpda () = (Rogue_dialogue_result_succ:npbmfealpda)

let rec default_lffandejddm 
  ?buff_list:((buff_list:jfbmlneajki list) = [])
  () : lffandejddm  = {
  buff_list;
}

let rec default_ifiajgbcpfe 
  ?niiplnimbdh:((niiplnimbdh:mbnocjilejg) = default_mbnocjilejg ())
  ?ioijcfnndfi:((ioijcfnndfi:int32) = 0l)
  ?mfdelanaicp:((mfdelanaicp:int32) = 0l)
  ?bnbhejbnipl:((bnbhejbnipl:mbnocjilejg) = default_mbnocjilejg ())
  ?dmlfebgjkkb:((dmlfebgjkkb:int32) = 0l)
  () : ifiajgbcpfe  = {
  niiplnimbdh;
  ioijcfnndfi;
  mfdelanaicp;
  bnbhejbnipl;
  dmlfebgjkkb;
}

let rec default_kcoenpcpemg 
  ?lnjapmhfcck:((lnjapmhfcck:int32) = 0l)
  ?gflhplhjaeh:((gflhplhjaeh:int32) = 0l)
  ?ggdaffjnmpa:((ggdaffjnmpa:int32) = 0l)
  ?dgigimbnnlb:((dgigimbnnlb:int32) = 0l)
  ?jmmfccfiepc:((jmmfccfiepc:ifiajgbcpfe list) = [])
  () : kcoenpcpemg  = {
  lnjapmhfcck;
  gflhplhjaeh;
  ggdaffjnmpa;
  dgigimbnnlb;
  jmmfccfiepc;
}

let rec default_gkhpicdajdl 
  ?lnjapmhfcck:((lnjapmhfcck:int32) = 0l)
  ?ggdaffjnmpa:((ggdaffjnmpa:int32) = 0l)
  ?emcojpeknnm:((emcojpeknnm:gjdmagoenld) = default_gjdmagoenld ())
  ?ennhncalcjj:((ennhncalcjj:bool) = false)
  ?ediopngagap:((ediopngagap:int32) = 0l)
  ?bejkhpkacji:((bejkhpkacji:ofhnfenfeai) = default_ofhnfenfeai ())
  () : gkhpicdajdl  = {
  lnjapmhfcck;
  ggdaffjnmpa;
  emcojpeknnm;
  ennhncalcjj;
  ediopngagap;
  bejkhpkacji;
}

let rec default_iacnppnpccc 
  ?jjnpbehjnjb:((jjnpbehjnjb:int32 list) = [])
  ?fliodcbfcfb:((fliodcbfcfb:int32) = 0l)
  ?cggbcjdjmcm:((cggbcjdjmcm:bool) = false)
  ?phnnlfhkehl:((phnnlfhkehl:int32) = 0l)
  ?njohallnnnf:((njohallnnnf:int32) = 0l)
  ?cbjpfggchfh:((cbjpfggchfh:hbdomioniba) = default_hbdomioniba ())
  ?okgomocdmna:((okgomocdmna:int32) = 0l)
  ?pagddbhndgi:((pagddbhndgi:int32) = 0l)
  ?leggojccbin:((leggojccbin:int32) = 0l)
  ?aionnejpeag:((aionnejpeag:item_cost_data option) = None)
  ?nehaljheool:((nehaljheool:jfbmlneajki list) = [])
  ?hdialjfomdi:((hdialjfomdi:int32) = 0l)
  ?kfnmpcoanof:((kfnmpcoanof:int32) = 0l)
  () : iacnppnpccc  = {
  jjnpbehjnjb;
  fliodcbfcfb;
  cggbcjdjmcm;
  phnnlfhkehl;
  njohallnnnf;
  cbjpfggchfh;
  okgomocdmna;
  pagddbhndgi;
  leggojccbin;
  aionnejpeag;
  nehaljheool;
  hdialjfomdi;
  kfnmpcoanof;
}

let rec default_ihjjjmhfaan 
  ?bjijcdggdde:((bjijcdggdde:jfbmlneajki list) = [])
  ?hjcdfejpjcl:((hjcdfejpjcl:jfbmlneajki option) = None)
  () : ihjjjmhfaan  = {
  bjijcdggdde;
  hjcdfejpjcl;
}

let rec default_omfcngipdgf 
  ?eikoihamlka:((eikoihamlka:jfbmlneajki list) = [])
  ?ckmcdophoho:((ckmcdophoho:jfbmlneajki list) = [])
  ?comnknfemfn:((comnknfemfn:int32) = 0l)
  () : omfcngipdgf  = {
  eikoihamlka;
  ckmcdophoho;
  comnknfemfn;
}

let rec default_jgadagdbegl 
  ?pkkfndimmio:((pkkfndimmio:int32) = 0l)
  ?lohpklihemj:((lohpklihemj:item_cost_data option) = None)
  ?knaoedajjai:((knaoedajjai:float) = 0.)
  () : jgadagdbegl  = {
  pkkfndimmio;
  lohpklihemj;
  knaoedajjai;
}

let rec default_oeahdnkofon 
  ?lgbagcehkme:((lgbagcehkme:jgadagdbegl list) = [])
  () : oeahdnkofon  = {
  lgbagcehkme;
}

let rec default_fohcbjkjedg 
  ?afefamkndoo:((afefamkndoo:int32) = 0l)
  ?ichkjnfaacl:((ichkjnfaacl:int32) = 0l)
  ?edcaibmdknh:((edcaibmdknh:(int32 * int32) list) = [])
  ?ekieijdbdhm:((ekieijdbdhm:int32) = 0l)
  ?fomcmdmpdcg:((fomcmdmpdcg:int32) = 0l)
  () : fohcbjkjedg  = {
  afefamkndoo;
  ichkjnfaacl;
  edcaibmdknh;
  ekieijdbdhm;
  fomcmdmpdcg;
}

let rec default_oekndgfgeji 
  ?lpmiommhiek:((lpmiommhiek:int32) = 0l)
  ?pcpkkbfpbeb:((pcpkkbfpbeb:fohcbjkjedg list) = [])
  ?aoolkgbeieh:((aoolkgbeieh:int32) = 0l)
  () : oekndgfgeji  = {
  lpmiommhiek;
  pcpkkbfpbeb;
  aoolkgbeieh;
}

let rec default_liidngdpinl 
  ?ohmlalbookj:((ohmlalbookj:int32 list) = [])
  ?pmoenkofnla:((pmoenkofnla:oekndgfgeji option) = None)
  () : liidngdpinl  = {
  ohmlalbookj;
  pmoenkofnla;
}

let rec default_bfaggjhfpdi 
  ?ccdkldffekl:((ccdkldffekl:int32 list) = [])
  () : bfaggjhfpdi  = {
  ccdkldffekl;
}

let rec default_enhkgahlnjm 
  ?ofaekfangcn:((ofaekfangcn:int32 list) = [])
  () : enhkgahlnjm  = {
  ofaekfangcn;
}

let rec default_ogekjemplng 
  ?amdnjffegfp:((amdnjffegfp:int32) = 0l)
  ?ekpahpdniff:((ekpahpdniff:item_list option) = None)
  ?oddcohjamko:((oddcohjamko:lffandejddm option) = None)
  () : ogekjemplng  = {
  amdnjffegfp;
  ekpahpdniff;
  oddcohjamko;
}

let rec default_mhbicckbklh 
  ?joipnmmehbm:((joipnmmehbm:item_cost_data option) = None)
  ?felfdbckgbe:((felfdbckgbe:int32 list) = [])
  ?japlhpdhbci:((japlhpdhbci:int32) = 0l)
  ?efiaofpjjan:((efiaofpjjan:int32) = 0l)
  () : mhbicckbklh  = {
  joipnmmehbm;
  felfdbckgbe;
  japlhpdhbci;
  efiaofpjjan;
}

let rec default_ikpacpiajlh 
  ?foenmmipefp:((foenmmipefp:int32) = 0l)
  () : ikpacpiajlh  = {
  foenmmipefp;
}

let rec default_keenhmggipf 
  ?gannhbnhjmp:((gannhbnhjmp:int32) = 0l)
  ?okgomocdmna:((okgomocdmna:int32) = 0l)
  ?ihlccndmjfi:((ihlccndmjfi:int32) = 0l)
  ?cfffhjomjao:((cfffhjomjao:int32) = 0l)
  () : keenhmggipf  = {
  gannhbnhjmp;
  okgomocdmna;
  ihlccndmjfi;
  cfffhjomjao;
}

let rec default_gdeajeoinom 
  ?okhflbihfhm:((okhflbihfhm:int32 list) = [])
  ?boijkbofiid:((boijkbofiid:mhbicckbklh option) = None)
  ?dfkpgckchah:((dfkpgckchah:int32 list) = [])
  ?base_avatar_id_list:((base_avatar_id_list:int32 list) = [])
  () : gdeajeoinom  = {
  okhflbihfhm;
  boijkbofiid;
  dfkpgckchah;
  base_avatar_id_list;
}

let rec default_lbcnahcogfm 
  ?pmoenkofnla:((pmoenkofnla:oekndgfgeji option) = None)
  () : lbcnahcogfm  = {
  pmoenkofnla;
}

let rec default_ppachbcgdfe 
  ?gcmeendacok:((gcmeendacok:int32 list) = [])
  () : ppachbcgdfe  = {
  gcmeendacok;
}

let rec default_nhnblapbcjc 
  ?efejfkooglh:((efejfkooglh:int32) = 0l)
  ?aobifgleena:((aobifgleena:bool) = false)
  ?agndiegkeih:((agndiegkeih:int32) = 0l)
  () : nhnblapbcjc  = {
  efejfkooglh;
  aobifgleena;
  agndiegkeih;
}

let rec default_fkmaamoekbp 
  ?nehaljheool:((nehaljheool:jfbmlneajki list) = [])
  () : fkmaamoekbp  = {
  nehaljheool;
}

let rec default_mnkgimgdlhm 
  ?nnibggkcbdj:((nnibggkcbdj:gdeajeoinom option) = None)
  ?pmoenkofnla:((pmoenkofnla:lbcnahcogfm option) = None)
  ?fchbbphcclc:((fchbbphcclc:ppachbcgdfe option) = None)
  ?lfleifodebe:((lfleifodebe:blhhnmhcodp option) = None)
  ?imelchpnpgc:((imelchpnpgc:kcoenpcpemg option) = None)
  ?blgceifkfbp:((blgceifkfbp:bool) = false)
  ?kjicoehehhk:((kjicoehehhk:nhnblapbcjc option) = None)
  ?status:((status:ofhnfenfeai) = default_ofhnfenfeai ())
  ?ocjhnoaacgc:((ocjhnoaacgc:glbffhmcbkd option) = None)
  ?pogejanpebj:((pogejanpebj:fkmaamoekbp option) = None)
  () : mnkgimgdlhm  = {
  nnibggkcbdj;
  pmoenkofnla;
  fchbbphcclc;
  lfleifodebe;
  imelchpnpgc;
  blgceifkfbp;
  kjicoehehhk;
  status;
  ocjhnoaacgc;
  pogejanpebj;
}

let rec default_hfknoalpegg 
  ?aegcbbajcgf:((aegcbbajcgf:gkhpicdajdl list) = [])
  () : hfknoalpegg  = {
  aegcbbajcgf;
}

let rec default_ilbadbbdfbm 
  ?gahcmamleil:((gahcmamleil:int32) = 0l)
  ?cgbmpnplkfj:((cgbmpnplkfj:int32) = 0l)
  () : ilbadbbdfbm  = {
  gahcmamleil;
  cgbmpnplkfj;
}

let rec default_kfibbcigege 
  ?efejfkooglh:((efejfkooglh:int32) = 0l)
  ?hbjejpcphbf:((hbjejpcphbf:int32 list) = [])
  ?aobifgleena:((aobifgleena:bool) = false)
  ?gijofajjcak:((gijofajjcak:int32) = 0l)
  () : kfibbcigege  = {
  efejfkooglh;
  hbjejpcphbf;
  aobifgleena;
  gijofajjcak;
}

let rec default_hdpejplkedj 
  ?end_time:((end_time:int64) = 0L)
  ?begin_time:((begin_time:int64) = 0L)
  ?ookciddhnhn:((ookciddhnhn:int32) = 0l)
  () : hdpejplkedj  = {
  end_time;
  begin_time;
  ookciddhnhn;
}

let rec default_mlieimmance 
  ?deafkpjjgab:((deafkpjjgab:hfknoalpegg option) = None)
  ?dgohjiekiai:((dgohjiekiai:ilbadbbdfbm option) = None)
  ?kjicoehehhk:((kjicoehehhk:kfibbcigege option) = None)
  ?ejcijjnlahl:((ejcijjnlahl:kgljkmgbdnk option) = None)
  ?njokhdgdfcm:((njokhdgdfcm:hdpejplkedj option) = None)
  () : mlieimmance  = {
  deafkpjjgab;
  dgohjiekiai;
  kjicoehehhk;
  ejcijjnlahl;
  njokhdgdfcm;
}

let rec default_jklldafipmj 
  ?gngfcddjjbi:((gngfcddjjbi:mnkgimgdlhm option) = None)
  ?fecdamigijp:((fecdamigijp:mlieimmance option) = None)
  () : jklldafipmj  = {
  gngfcddjjbi;
  fecdamigijp;
}

let rec default_flaiejgpbla 
  ?gcflbbikckf:((gcflbbikckf:enhkgahlnjm option) = None)
  () : flaiejgpbla  = {
  gcflbbikckf;
}

let rec default_glbeljclheb 
  ?efejfkooglh:((efejfkooglh:int32) = 0l)
  ?aobifgleena:((aobifgleena:bool) = false)
  ?hbjejpcphbf:((hbjejpcphbf:int32 list) = [])
  ?agndiegkeih:((agndiegkeih:int32) = 0l)
  ?gijofajjcak:((gijofajjcak:int32) = 0l)
  () : glbeljclheb  = {
  efejfkooglh;
  aobifgleena;
  hbjejpcphbf;
  agndiegkeih;
  gijofajjcak;
}

let rec default_boilblgpbkn 
  ?level:((level:int32) = 0l)
  ?nncdpbdokbj:((nncdpbdokbj:int32) = 0l)
  ?exp:((exp:int32) = 0l)
  ?bajeglndfpe:((bajeglndfpe:int32) = 0l)
  () : boilblgpbkn  = {
  level;
  nncdpbdokbj;
  exp;
  bajeglndfpe;
}

let rec default_rogue_dialogue_event_param 
  ?is_valid:((is_valid:bool) = false)
  ?dialogue_event_id:((dialogue_event_id:int32) = 0l)
  ?int_value:((int_value:int32) = 0l)
  ?ratio:((ratio:float) = 0.)
  ?arg_id:((arg_id:int32) = 0l)
  () : rogue_dialogue_event_param  = {
  is_valid;
  dialogue_event_id;
  int_value;
  ratio;
  arg_id;
}

let rec default_hdhjljcibih 
  ?dppfaapfama:((dppfaapfama:int32 list) = [])
  ?jpiojenbgdi:((jpiojenbgdi:rogue_dialogue_event_param list) = [])
  ?ebffkdhgkgl:((ebffkdhgkgl:int32) = 0l)
  ?jnboodjdmho:((jnboodjdmho:int32) = 0l)
  ?game_mode_type:((game_mode_type:int32) = 0l)
  ?hgfnojflbcl:((hgfnojflbcl:int32) = 0l)
  () : hdhjljcibih  = {
  dppfaapfama;
  jpiojenbgdi;
  ebffkdhgkgl;
  jnboodjdmho;
  game_mode_type;
  hgfnojflbcl;
}

let rec default_gplahfgkjfi 
  ?hkbihdlbllh:((hkbihdlbllh:npbmfealpda) = default_npbmfealpda ())
  ?fkkedckadhe:((fkkedckadhe:int32 list) = [])
  ?ekpahpdniff:((ekpahpdniff:item_list option) = None)
  () : gplahfgkjfi  = {
  hkbihdlbllh;
  fkkedckadhe;
  ekpahpdniff;
}

let rec default_edehjanelbl = ()

let rec default_elbfiobopib 
  ?retcode:((retcode:int32) = 0l)
  ?kbneaoehnob:((kbneaoehnob:jklldafipmj option) = None)
  () : elbfiobopib  = {
  retcode;
  kbneaoehnob;
}

let rec default_lpimpachcfm 
  ?idcigdfjabi:((idcigdfjabi:int32) = 0l)
  ?bajeglndfpe:((bajeglndfpe:int32) = 0l)
  ?eabjmdoajdk:((eabjmdoajdk:int32 list) = [])
  ?ggdaffjnmpa:((ggdaffjnmpa:int32) = 0l)
  ?base_avatar_id_list:((base_avatar_id_list:int32 list) = [])
  ?okhflbihfhm:((okhflbihfhm:int32 list) = [])
  () : lpimpachcfm  = {
  idcigdfjabi;
  bajeglndfpe;
  eabjmdoajdk;
  ggdaffjnmpa;
  base_avatar_id_list;
  okhflbihfhm;
}

let rec default_eijoglklgmn 
  ?scene:((scene:scene_info option) = None)
  ?kbneaoehnob:((kbneaoehnob:jklldafipmj option) = None)
  ?pnbpdbgfffd:((pnbpdbgfffd:cioeahefpln option) = None)
  ?lineup:((lineup:lineup_info option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : eijoglklgmn  = {
  scene;
  kbneaoehnob;
  pnbpdbgfffd;
  lineup;
  retcode;
}

let rec default_hkbaifbfaic 
  ?ggdaffjnmpa:((ggdaffjnmpa:int32) = 0l)
  ?idcigdfjabi:((idcigdfjabi:int32) = 0l)
  () : hkbaifbfaic  = {
  ggdaffjnmpa;
  idcigdfjabi;
}

let rec default_lekhmhfkdjf 
  ?retcode:((retcode:int32) = 0l)
  ?lineup:((lineup:lineup_info option) = None)
  ?pnbpdbgfffd:((pnbpdbgfffd:cioeahefpln option) = None)
  ?kbneaoehnob:((kbneaoehnob:jklldafipmj option) = None)
  ?scene:((scene:scene_info option) = None)
  () : lekhmhfkdjf  = {
  retcode;
  lineup;
  pnbpdbgfffd;
  kbneaoehnob;
  scene;
}

let rec default_idodjdfmdfo = ()

let rec default_ckegndkdnno 
  ?scene:((scene:scene_info option) = None)
  ?pnbpdbgfffd:((pnbpdbgfffd:cioeahefpln option) = None)
  ?lineup:((lineup:lineup_info option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?kbneaoehnob:((kbneaoehnob:jklldafipmj option) = None)
  () : ckegndkdnno  = {
  scene;
  pnbpdbgfffd;
  lineup;
  retcode;
  kbneaoehnob;
}

let rec default_anlgfnikibd 
  ?mjhepdejndc:((mjhepdejndc:dgolpjpbccp option) = None)
  () : anlgfnikibd  = {
  mjhepdejndc;
}

let rec default_neffgondoan 
  ?okhflbihfhm:((okhflbihfhm:int32 list) = [])
  ?base_avatar_id_list:((base_avatar_id_list:int32 list) = [])
  ?prop_entity_id:((prop_entity_id:int32) = 0l)
  () : neffgondoan  = {
  okhflbihfhm;
  base_avatar_id_list;
  prop_entity_id;
}

let rec default_moeggpbedmb 
  ?retcode:((retcode:int32) = 0l)
  ?okhflbihfhm:((okhflbihfhm:int32 list) = [])
  ?base_avatar_id_list:((base_avatar_id_list:int32 list) = [])
  () : moeggpbedmb  = {
  retcode;
  okhflbihfhm;
  base_avatar_id_list;
}

let rec default_kgbineghcnh 
  ?base_avatar_id_list:((base_avatar_id_list:int32 list) = [])
  ?base_avatar_id:((base_avatar_id:int32) = 0l)
  ?idcigdfjabi:((idcigdfjabi:int32) = 0l)
  ?okhflbihfhm:((okhflbihfhm:int32 list) = [])
  () : kgbineghcnh  = {
  base_avatar_id_list;
  base_avatar_id;
  idcigdfjabi;
  okhflbihfhm;
}

let rec default_aaiajmednek 
  ?boijkbofiid:((boijkbofiid:mhbicckbklh option) = None)
  ?fkhdphhhdff:((fkhdphhhdff:int32) = 0l)
  ?base_avatar_id:((base_avatar_id:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?okhflbihfhm:((okhflbihfhm:int32 list) = [])
  ?base_avatar_id_list:((base_avatar_id_list:int32 list) = [])
  () : aaiajmednek  = {
  boijkbofiid;
  fkhdphhhdff;
  base_avatar_id;
  retcode;
  okhflbihfhm;
  base_avatar_id_list;
}

let rec default_ofjdflhcbno 
  ?boijkbofiid:((boijkbofiid:mhbicckbklh option) = None)
  () : ofjdflhcbno  = {
  boijkbofiid;
}

let rec default_hgfggbgbkma = ()

let rec default_bmnacahlhkf 
  ?jkdkdpoblli:((jkdkdpoblli:oeahdnkofon option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : bmnacahlhkf  = {
  jkdkdpoblli;
  retcode;
}

let rec default_ikmcocgkpfb 
  ?paofpgekpfe:((paofpgekpfe:int32) = 0l)
  () : ikmcocgkpfb  = {
  paofpgekpfe;
}

let rec default_hmphcjllhlg 
  ?retcode:((retcode:int32) = 0l)
  ?boeaanepgoc:((boeaanepgoc:bool) = false)
  ?amikofgncbo:((amikofgncbo:jfbmlneajki option) = None)
  () : hmphcjllhlg  = {
  retcode;
  boeaanepgoc;
  amikofgncbo;
}

let rec default_egakdgnfohg 
  ?ggdaffjnmpa:((ggdaffjnmpa:int32) = 0l)
  () : egakdgnfohg  = {
  ggdaffjnmpa;
}

let rec default_penkmieihcg 
  ?mjhepdejndc:((mjhepdejndc:dgolpjpbccp option) = None)
  ?kbneaoehnob:((kbneaoehnob:jklldafipmj option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : penkmieihcg  = {
  mjhepdejndc;
  kbneaoehnob;
  retcode;
}

let rec default_lcepafndlhi 
  ?blgceifkfbp:((blgceifkfbp:bool) = false)
  () : lcepafndlhi  = {
  blgceifkfbp;
}

let rec default_mpebchgcinh 
  ?ejcijjnlahl:((ejcijjnlahl:kgljkmgbdnk option) = None)
  ?mjhepdejndc:((mjhepdejndc:dgolpjpbccp option) = None)
  ?lineup:((lineup:lineup_info option) = None)
  ?scene:((scene:scene_info option) = None)
  ?amcmdlgpofj:((amcmdlgpofj:bool) = false)
  () : mpebchgcinh  = {
  ejcijjnlahl;
  mjhepdejndc;
  lineup;
  scene;
  amcmdlgpofj;
}

let rec default_llnijpmjopo 
  ?ioijcfnndfi:((ioijcfnndfi:int32) = 0l)
  ?mfdelanaicp:((mfdelanaicp:int32) = 0l)
  () : llnijpmjopo  = {
  ioijcfnndfi;
  mfdelanaicp;
}

let rec default_jgcndbojpog 
  ?pnbpdbgfffd:((pnbpdbgfffd:cioeahefpln option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?dgigimbnnlb:((dgigimbnnlb:int32) = 0l)
  ?lineup:((lineup:lineup_info option) = None)
  ?scene:((scene:scene_info option) = None)
  () : jgcndbojpog  = {
  pnbpdbgfffd;
  retcode;
  dgigimbnnlb;
  lineup;
  scene;
}

let rec default_glljcdfnpem 
  ?lnjapmhfcck:((lnjapmhfcck:int32) = 0l)
  ?glbbhlbjecp:((glbbhlbjecp:ifiajgbcpfe option) = None)
  () : glljcdfnpem  = {
  lnjapmhfcck;
  glbbhlbjecp;
}

let rec default_gchjjpflnkb 
  ?gehbffmbgmi:((gehbffmbgmi:bool) = false)
  ?idcigdfjabi:((idcigdfjabi:int32) = 0l)
  () : gchjjpflnkb  = {
  gehbffmbgmi;
  idcigdfjabi;
}

let rec default_hofgmeoijfj 
  ?retcode:((retcode:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  ?acpoidmpoae:((acpoidmpoae:item_list option) = None)
  () : hofgmeoijfj  = {
  retcode;
  reward;
  acpoidmpoae;
}

let rec default_bpmdjhmbdkl 
  ?count:((count:int32) = 0l)
  () : bpmdjhmbdkl  = {
  count;
}

let rec default_exchange_rogue_reward_key_sc_rsp 
  ?count:((count:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : exchange_rogue_reward_key_sc_rsp  = {
  count;
  retcode;
}

let rec default_aeioghldhlc 
  ?ggdaffjnmpa:((ggdaffjnmpa:int32) = 0l)
  () : aeioghldhlc  = {
  ggdaffjnmpa;
}

let rec default_hodomdmcjol 
  ?dihnhalhcih:((dihnhalhcih:item_list option) = None)
  ?donbbmfeogl:((donbbmfeogl:item_list option) = None)
  () : hodomdmcjol  = {
  dihnhalhcih;
  donbbmfeogl;
}

let rec default_bcbecaaneef 
  ?level:((level:int32) = 0l)
  ?bajeglndfpe:((bajeglndfpe:int32) = 0l)
  () : bcbecaaneef  = {
  level;
  bajeglndfpe;
}

let rec default_nofljpbanih 
  ?retcode:((retcode:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  ?bajeglndfpe:((bajeglndfpe:int32) = 0l)
  ?level:((level:int32) = 0l)
  () : nofljpbanih  = {
  retcode;
  reward;
  bajeglndfpe;
  level;
}

let rec default_bmplpcnnkec 
  ?level:((level:int32) = 0l)
  ?bajeglndfpe:((bajeglndfpe:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  () : bmplpcnnkec  = {
  level;
  bajeglndfpe;
  reward;
}

let rec default_mhednfmeopa = ()

let rec default_ckblkmocjmf 
  ?jpaolljmggn:((jpaolljmggn:kgljkmgbdnk option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : ckblkmocjmf  = {
  jpaolljmggn;
  retcode;
}

let rec default_jgajkhkkeio 
  ?bnhepammdhc:((bnhepammdhc:int32) = 0l)
  ?dcadeobidnh:((dcadeobidnh:int32 list) = [])
  () : jgajkhkkeio  = {
  bnhepammdhc;
  dcadeobidnh;
}

let rec default_lkofhppadca 
  ?bnhepammdhc:((bnhepammdhc:int32) = 0l)
  ?ejcijjnlahl:((ejcijjnlahl:kgljkmgbdnk option) = None)
  ?reward:((reward:item_list option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : lkofhppadca  = {
  bnhepammdhc;
  ejcijjnlahl;
  reward;
  retcode;
}

let rec default_fkmaillmohj = ()

let rec default_lknpoemfdno 
  ?ejcijjnlahl:((ejcijjnlahl:kgljkmgbdnk option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : lknpoemfdno  = {
  ejcijjnlahl;
  retcode;
}

let rec default_pggpopocflm = ()

let rec default_elhiacmnajc 
  ?retcode:((retcode:int32) = 0l)
  ?ihneplfgmdc:((ihneplfgmdc:boilblgpbkn list) = [])
  () : elhiacmnajc  = {
  retcode;
  ihneplfgmdc;
}

let rec default_hbfjgoicaol 
  ?bajeglndfpe:((bajeglndfpe:int32) = 0l)
  () : hbfjgoicaol  = {
  bajeglndfpe;
}

let rec default_jigppbjhmnp 
  ?kjicoehehhk:((kjicoehehhk:boilblgpbkn option) = None)
  ?reward:((reward:item_list option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : jigppbjhmnp  = {
  kjicoehehhk;
  reward;
  retcode;
}

let rec default_moagaeodfnn = ()

let rec default_lbfbelnigfh 
  ?retcode:((retcode:int32) = 0l)
  ?bbanknacajb:((bbanknacajb:lljpmigaffg option) = None)
  () : lbfbelnigfh  = {
  retcode;
  bbanknacajb;
}

let rec default_baglomejene 
  ?hehehnicpjn:((hehehnicpjn:int32) = 0l)
  () : baglomejene  = {
  hehehnicpjn;
}

let rec default_kdgaocegfdf 
  ?retcode:((retcode:int32) = 0l)
  ?bbanknacajb:((bbanknacajb:lljpmigaffg option) = None)
  () : kdgaocegfdf  = {
  retcode;
  bbanknacajb;
}

let rec default_fjijhabofak 
  ?dgohjiekiai:((dgohjiekiai:keenhmggipf option) = None)
  () : fjijhabofak  = {
  dgohjiekiai;
}

let rec default_jnibnndccka 
  ?ddknigaggof:((ddknigaggof:bool) = false)
  ?status:((status:ofhnfenfeai) = default_ofhnfenfeai ())
  () : jnibnndccka  = {
  ddknigaggof;
  status;
}

let rec default_amnocflooda 
  ?ejcijjnlahl:((ejcijjnlahl:kgljkmgbdnk option) = None)
  () : amnocflooda  = {
  ejcijjnlahl;
}

let rec default_kmhcdlibnek 
  ?okhflbihfhm:((okhflbihfhm:int32 list) = [])
  ?base_avatar_id_list:((base_avatar_id_list:int32 list) = [])
  () : kmhcdlibnek  = {
  okhflbihfhm;
  base_avatar_id_list;
}

let rec default_oidpdohncaa 
  ?ijmlpfaaino:((ijmlpfaaino:glbeljclheb option) = None)
  () : oidpdohncaa  = {
  ijmlpfaaino;
}

let rec default_ogoiebcjefd () = (Cmd_rogue_arcade_type_none:ogoiebcjefd)

let rec default_ddignhhjpae 
  ?lineup:((lineup:lineup_info option) = None)
  ?pnbpdbgfffd:((pnbpdbgfffd:cioeahefpln option) = None)
  ?scene:((scene:scene_info option) = None)
  () : ddignhhjpae  = {
  lineup;
  pnbpdbgfffd;
  scene;
}

let rec default_fhlefpomfno 
  ?base_avatar_id_list:((base_avatar_id_list:int32 list) = [])
  ?mfdelanaicp:((mfdelanaicp:int32) = 0l)
  () : fhlefpomfno  = {
  base_avatar_id_list;
  mfdelanaicp;
}

let rec default_kkmphcoinno 
  ?retcode:((retcode:int32) = 0l)
  ?mfdelanaicp:((mfdelanaicp:int32) = 0l)
  ?hiacklcdijn:((hiacklcdijn:ddignhhjpae option) = None)
  () : kkmphcoinno  = {
  retcode;
  mfdelanaicp;
  hiacklcdijn;
}

let rec default_lkaelkhnclo = ()

let rec default_jfncdjjoiln 
  ?retcode:((retcode:int32) = 0l)
  ?hiacklcdijn:((hiacklcdijn:ddignhhjpae option) = None)
  () : jfncdjjoiln  = {
  retcode;
  hiacklcdijn;
}

let rec default_hhkmgndniim = ()

let rec default_keejcoilnoh 
  ?retcode:((retcode:int32) = 0l)
  ?hiacklcdijn:((hiacklcdijn:ddignhhjpae option) = None)
  () : keejcoilnoh  = {
  retcode;
  hiacklcdijn;
}

let rec default_kodhakndeeg = ()

let rec default_gjfcgaliifa 
  ?retcode:((retcode:int32) = 0l)
  ?mfdelanaicp:((mfdelanaicp:int32) = 0l)
  () : gjfcgaliifa  = {
  retcode;
  mfdelanaicp;
}

let rec default_mkgcjlllhmo () = (Cmd_rogue_common_type_none:mkgcjlllhmo)

let rec default_hjbbihgchli () = (Rogue_adventure_room_status_none:hjbbihgchli)

let rec default_oodgnonfgkc () = (Rogue_unlock_function_type_miracle:oodgnonfgkc)

let rec default_mmgfibbpbmh () = (Rogue_common_miracle_select_source_type_none:mmgfibbpbmh)

let rec default_cmocllepeoj () = (Rogue_common_buff_display_type_none:cmocllepeoj)

let rec default_fnfcolliige () = (Rogue_common_miracle_display_type_none:fnfcolliige)

let rec default_jeefcjoabhc () = (Rogue_common_item_display_type_none:jeefcjoabhc)

let rec default_bnlkbheaggj () = (Rogue_common_action_result_display_type_none:bnlkbheaggj)

let rec default_npkhcnmhkdp () = (Rogue_common_action_result_source_type_none:npkhcnmhkdp)

let rec default_kogippjmdkb () = (Rogue_collection_operate_none:kogippjmdkb)

let rec default_bpibjehipof () = (Rogue_booth_none:bpibjehipof)

let rec default_eeaceekbbik () = (Rogue_collection_none:eeaceekbbik)

let rec default_odijleidcnd () = (Rogue_exhibition_none:odijleidcnd)

let rec default_ikhcpmbdbll 
  ?eojifjnkhij:((eojifjnkhij:int32) = 0l)
  () : ikhcpmbdbll  = {
  eojifjnkhij;
}

let rec default_bmnobkdmpbh = ()

let rec default_njccbnlfkcn = ()

let rec default_hbnambacbfh 
  ?alalgchdbdp:((alalgchdbdp:rogue_common_buff_select_info option) = None)
  () : hbnambacbfh  = {
  alalgchdbdp;
}

let rec default_bfjilkicklf 
  ?comnknfemfn:((comnknfemfn:int32) = 0l)
  ?ckmcdophoho:((ckmcdophoho:mnicidbdjfi list) = [])
  ?eikoihamlka:((eikoihamlka:mnicidbdjfi list) = [])
  () : bfjilkicklf  = {
  comnknfemfn;
  ckmcdophoho;
  eikoihamlka;
}

let rec default_fijoihplgfi 
  ?hiddgkclnhg:((hiddgkclnhg:int32) = 0l)
  () : fijoihplgfi  = {
  hiddgkclnhg;
}

let rec default_hiijcocijbc = ()

let rec default_lhmgpkeoghe 
  ?eojifjnkhij:((eojifjnkhij:int32) = 0l)
  () : lhmgpkeoghe  = {
  eojifjnkhij;
}

let rec default_flijafinaac = ()

let rec default_nbjgogbhokm 
  ?eojifjnkhij:((eojifjnkhij:int32) = 0l)
  () : nbjgogbhokm  = {
  eojifjnkhij;
}

let rec default_agmibdajooi = ()

let rec default_oagmnkadfbi 
  ?kfancbcgdmp:((kfancbcgdmp:djpaibjmmoe option) = None)
  ?jbjpjpilfam:((jbjpjpilfam:int32) = 0l)
  ?dkmcfgheefh:((dkmcfgheefh:bool) = false)
  () : oagmnkadfbi  = {
  kfancbcgdmp;
  jbjpjpilfam;
  dkmcfgheefh;
}

let rec default_clobgmgklja 
  ?jhjpgbkblag:((jhjpgbkblag:djpaibjmmoe option) = None)
  () : clobgmgklja  = {
  jhjpgbkblag;
}

let rec default_nneegnafcfg 
  ?ichkjnfaacl:((ichkjnfaacl:int32) = 0l)
  () : nneegnafcfg  = {
  ichkjnfaacl;
}

let rec default_pefkaoobihi 
  ?jhjpgbkblag:((jhjpgbkblag:djpaibjmmoe option) = None)
  ?aheiodcbaae:((aheiodcbaae:int32) = 0l)
  () : pefkaoobihi  = {
  jhjpgbkblag;
  aheiodcbaae;
}

let rec default_bklejdedngm 
  ?jhjpgbkblag:((jhjpgbkblag:djpaibjmmoe option) = None)
  () : bklejdedngm  = {
  jhjpgbkblag;
}

let rec default_okdkilkjabn 
  ?jbjpjpilfam:((jbjpjpilfam:int32) = 0l)
  ?kfancbcgdmp:((kfancbcgdmp:djpaibjmmoe option) = None)
  () : okdkilkjabn  = {
  jbjpjpilfam;
  kfancbcgdmp;
}

let rec default_ifnnhfbomnh 
  ?jhjpgbkblag:((jhjpgbkblag:djpaibjmmoe option) = None)
  () : ifnnhfbomnh  = {
  jhjpgbkblag;
}

let rec default_bkoniegkimo 
  ?cobljdcahcb:((cobljdcahcb:int32) = 0l)
  () : bkoniegkimo  = {
  cobljdcahcb;
}

let rec default_plkliapjkcd = ()

let rec default_enolgaiddgi 
  ?khhcaendfei:((khhcaendfei:int32) = 0l)
  () : enolgaiddgi  = {
  khhcaendfei;
}

let rec default_ndjjekapdgl = ()

let rec default_okaoepbdlkg 
  ?gieginhphpb:((gieginhphpb:int32) = 0l)
  () : okaoepbdlkg  = {
  gieginhphpb;
}

let rec default_gplcnpbojpa = ()

let rec default_bdljnoiiooh 
  ?cdeedkpknfo:((cdeedkpknfo:int32) = 0l)
  () : bdljnoiiooh  = {
  cdeedkpknfo;
}

let rec default_bnmibbknggo = ()

let rec default_gndkaolnaic 
  ?cmhkhpemokh:((cmhkhpemokh:int32) = 0l)
  () : gndkaolnaic  = {
  cmhkhpemokh;
}

let rec default_eohkjanfhmp = ()

let rec default_jogglahdihp 
  ?cobljdcahcb:((cobljdcahcb:int32) = 0l)
  () : jogglahdihp  = {
  cobljdcahcb;
}

let rec default_dghcpkmijia = ()

let rec default_pnhmjikaamk 
  ?cobljdcahcb:((cobljdcahcb:int32) = 0l)
  () : pnhmjikaamk  = {
  cobljdcahcb;
}

let rec default_ckedjfdfdkg = ()

let rec default_gplpibkcldk 
  ?gngdoajbfea:((gngdoajbfea:int32) = 0l)
  () : gplpibkcldk  = {
  gngdoajbfea;
}

let rec default_hahidlnbdid = ()

let rec default_flhognnpcee 
  ?gapjajnhglk:((gapjajnhglk:int32) = 0l)
  ?kagnbjdmamf:((kagnbjdmamf:int32) = 0l)
  () : flhognnpcee  = {
  gapjajnhglk;
  kagnbjdmamf;
}

let rec default_keijecmckle 
  ?avatar_id:((avatar_id:int32) = 0l)
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  () : keijecmckle  = {
  avatar_id;
  avatar_type;
}

let rec default_mhjehlnicfp = ()

let rec default_fkpilfbkdla 
  ?count:((count:int32) = 0l)
  () : fkpilfbkdla  = {
  count;
}

let rec default_lnkggapbplf 
  ?ichkjnfaacl:((ichkjnfaacl:int32) = 0l)
  () : lnkggapbplf  = {
  ichkjnfaacl;
}

let rec default_jjobhoedlho = ()

let rec default_rogue_adventure_room_gameplay_wolf_gun_target 
  ?target_none:((target_none:unit) = ())
  ?target_coin:((target_coin:fkpilfbkdla option) = None)
  ?target_miracle:((target_miracle:lnkggapbplf option) = None)
  ?target_ruanmei:((target_ruanmei:unit) = ())
  () : rogue_adventure_room_gameplay_wolf_gun_target  = {
  target_none;
  target_coin;
  target_miracle;
  target_ruanmei;
}

let rec default_kghbncadpbj 
  ?pcejljofmag:((pcejljofmag:int32) = 0l)
  ?nkpcaindgao:((nkpcaindgao:rogue_adventure_room_gameplay_wolf_gun_target list) = [])
  () : kghbncadpbj  = {
  pcejljofmag;
  nkpcaindgao;
}

let rec default_kpaflmlbaig 
  ?ilcgmkpbmgm:((ilcgmkpbmgm:kghbncadpbj option) = None)
  () : kpaflmlbaig  = {
  ilcgmkpbmgm;
}

let rec default_jnoilndnkbj 
  ?lpgaoolbbfm:((lpgaoolbbfm:int32) = 0l)
  ?mmppaiggmon:((mmppaiggmon:kpaflmlbaig option) = None)
  ?status:((status:int32) = 0l)
  ?hgdjmjhnhhp:((hgdjmjhnhhp:int32) = 0l)
  ?gdkaebolcdi:((gdkaebolcdi:float) = 0.)
  ?addadjcedkh:((addadjcedkh:int32) = 0l)
  () : jnoilndnkbj  = {
  lpgaoolbbfm;
  mmppaiggmon;
  status;
  hgdjmjhnhhp;
  gdkaebolcdi;
  addadjcedkh;
}

let rec default_hpohpkijbaj 
  ?pdhjencainp:((pdhjencainp:jnoilndnkbj option) = None)
  () : hpohpkijbaj  = {
  pdhjencainp;
}

let rec default_jfddjekmgge = ()

let rec default_lledefmjmdh 
  ?retcode:((retcode:int32) = 0l)
  ?pdhjencainp:((pdhjencainp:jnoilndnkbj option) = None)
  () : lledefmjmdh  = {
  retcode;
  pdhjencainp;
}

let rec default_lihdfgpjagn 
  ?ifalllhbdod:((ifalllhbdod:int32) = 0l)
  ?eonnofjkjfl:((eonnofjkjfl:int32 list) = [])
  () : lihdfgpjagn  = {
  ifalllhbdod;
  eonnofjkjfl;
}

let rec default_kldmdkabcho 
  ?retcode:((retcode:int32) = 0l)
  ?pdhjencainp:((pdhjencainp:jnoilndnkbj option) = None)
  () : kldmdkabcho  = {
  retcode;
  pdhjencainp;
}

let rec default_cejllbjkhih = ()

let rec default_jcnfdimlfmc 
  ?retcode:((retcode:int32) = 0l)
  ?pdhjencainp:((pdhjencainp:jnoilndnkbj option) = None)
  () : jcnfdimlfmc  = {
  retcode;
  pdhjencainp;
}

let rec default_bgaflmnodli 
  ?lpgaoolbbfm:((lpgaoolbbfm:int32) = 0l)
  ?foflcmnhakn:((foflcmnhakn:int32) = 0l)
  () : bgaflmnodli  = {
  lpgaoolbbfm;
  foflcmnhakn;
}

let rec default_cggnemiplld 
  ?retcode:((retcode:int32) = 0l)
  ?pdhjencainp:((pdhjencainp:jnoilndnkbj option) = None)
  () : cggnemiplld  = {
  retcode;
  pdhjencainp;
}

let rec default_knmignnohnj 
  ?lohpklihemj:((lohpklihemj:item_cost_data option) = None)
  ?ichkjnfaacl:((ichkjnfaacl:int32) = 0l)
  ?gcdniclhoga:((gcdniclhoga:item_cost_data option) = None)
  ?jdaejcpfkil:((jdaejcpfkil:bool) = false)
  ?dcejfokjpod:((dcejfokjpod:bool) = false)
  () : knmignnohnj  = {
  lohpklihemj;
  ichkjnfaacl;
  gcdniclhoga;
  jdaejcpfkil;
  dcejfokjpod;
}

let rec default_pgghnkhkkog 
  ?jdaejcpfkil:((jdaejcpfkil:bool) = false)
  ?lohpklihemj:((lohpklihemj:item_cost_data option) = None)
  ?pkkfndimmio:((pkkfndimmio:int32) = 0l)
  ?gcdniclhoga:((gcdniclhoga:item_cost_data option) = None)
  ?odfbamohefb:((odfbamohefb:int32) = 0l)
  ?dcejfokjpod:((dcejfokjpod:bool) = false)
  () : pgghnkhkkog  = {
  jdaejcpfkil;
  lohpklihemj;
  pkkfndimmio;
  gcdniclhoga;
  odfbamohefb;
  dcejfokjpod;
}

let rec default_occpiocibei 
  ?pcpkkbfpbeb:((pcpkkbfpbeb:knmignnohnj list) = [])
  () : occpiocibei  = {
  pcpkkbfpbeb;
}

let rec default_dbmldhmcphn 
  ?buff_list:((buff_list:pgghnkhkkog list) = [])
  () : dbmldhmcphn  = {
  buff_list;
}

let rec default_fnpcmgicfkk 
  ?aieeiiggfmj:((aieeiiggfmj:bool) = false)
  ?idcigdfjabi:((idcigdfjabi:int32) = 0l)
  () : fnpcmgicfkk  = {
  aieeiiggfmj;
  idcigdfjabi;
}

let rec default_mkilmbbefoo 
  ?bfkodbfknbl:((bfkodbfknbl:item_cost_data option) = None)
  ?pogejanpebj:((pogejanpebj:dbmldhmcphn option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?npbgklkbgdi:((npbgklkbgdi:bool) = false)
  () : mkilmbbefoo  = {
  bfkodbfknbl;
  pogejanpebj;
  retcode;
  npbgklkbgdi;
}

let rec default_adckamembmd 
  ?aieeiiggfmj:((aieeiiggfmj:bool) = false)
  ?idcigdfjabi:((idcigdfjabi:int32) = 0l)
  () : adckamembmd  = {
  aieeiiggfmj;
  idcigdfjabi;
}

let rec default_nbchjcnhemh 
  ?pmoenkofnla:((pmoenkofnla:occpiocibei option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?npbgklkbgdi:((npbgklkbgdi:bool) = false)
  ?bfkodbfknbl:((bfkodbfknbl:item_cost_data option) = None)
  () : nbchjcnhemh  = {
  pmoenkofnla;
  retcode;
  npbgklkbgdi;
  bfkodbfknbl;
}

let rec default_ldiemhcahcb 
  ?idcigdfjabi:((idcigdfjabi:int32) = 0l)
  ?ichkjnfaacl:((ichkjnfaacl:int32) = 0l)
  () : ldiemhcahcb  = {
  idcigdfjabi;
  ichkjnfaacl;
}

let rec default_mdoiknkenbl 
  ?emabnjbclgd:((emabnjbclgd:int32 list) = [])
  ?idcigdfjabi:((idcigdfjabi:int32) = 0l)
  () : mdoiknkenbl  = {
  emabnjbclgd;
  idcigdfjabi;
}

let rec default_hhmoihmdiao 
  ?pmoenkofnla:((pmoenkofnla:occpiocibei option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : hhmoihmdiao  = {
  pmoenkofnla;
  retcode;
}

let rec default_mcaddfogkcm 
  ?retcode:((retcode:int32) = 0l)
  ?pogejanpebj:((pogejanpebj:dbmldhmcphn option) = None)
  () : mcaddfogkcm  = {
  retcode;
  pogejanpebj;
}

let rec default_bgblclfikdl 
  ?ichkjnfaacl:((ichkjnfaacl:int32) = 0l)
  ?idcigdfjabi:((idcigdfjabi:int32) = 0l)
  () : bgblclfikdl  = {
  ichkjnfaacl;
  idcigdfjabi;
}

let rec default_cenhmaccfkm 
  ?bdmoacndcoa:((bdmoacndcoa:mnicidbdjfi option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : cenhmaccfkm  = {
  bdmoacndcoa;
  retcode;
}

let rec default_mhinmgakigi 
  ?pndblfbllmj:((pndblfbllmj:int32) = 0l)
  () : mhinmgakigi  = {
  pndblfbllmj;
}

let rec default_mghjipocegb 
  ?retcode:((retcode:int32) = 0l)
  () : mghjipocegb  = {
  retcode;
}

let rec default_lkleecbabea 
  ?idcigdfjabi:((idcigdfjabi:int32) = 0l)
  ?paofpgekpfe:((paofpgekpfe:int32) = 0l)
  () : lkleecbabea  = {
  idcigdfjabi;
  paofpgekpfe;
}

let rec default_cmpglffeblp 
  ?amikofgncbo:((amikofgncbo:mnicidbdjfi option) = None)
  ?boeaanepgoc:((boeaanepgoc:bool) = false)
  ?retcode:((retcode:int32) = 0l)
  () : cmpglffeblp  = {
  amikofgncbo;
  boeaanepgoc;
  retcode;
}

let rec default_kjmbiclggjd 
  ?idcigdfjabi:((idcigdfjabi:int32) = 0l)
  () : kjmbiclggjd  = {
  idcigdfjabi;
}

let rec default_get_enhance_common_rogue_buff_info_sc_rsp 
  ?enhanced_buff_id_list:((enhanced_buff_id_list:int32 list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : get_enhance_common_rogue_buff_info_sc_rsp  = {
  enhanced_buff_id_list;
  retcode;
}

let rec default_jimphabffnp 
  ?mkoeknaflmj:((mkoeknaflmj:iejadeeklgn option) = None)
  () : jimphabffnp  = {
  mkoeknaflmj;
}

let rec default_hbdelaiadlb 
  ?mkoeknaflmj:((mkoeknaflmj:iejadeeklgn option) = None)
  () : hbdelaiadlb  = {
  mkoeknaflmj;
}

let rec default_hcpcpcigmpg 
  ?mkoeknaflmj:((mkoeknaflmj:iejadeeklgn option) = None)
  () : hcpcpcigmpg  = {
  mkoeknaflmj;
}

let rec default_lipcpilkehi 
  ?mkoeknaflmj:((mkoeknaflmj:iejadeeklgn option) = None)
  () : lipcpilkehi  = {
  mkoeknaflmj;
}

let rec default_joamhogigdi 
  ?value:((value:pmdmaockcjp option) = None)
  () : joamhogigdi  = {
  value;
}

let rec default_jcipijmgbbp 
  ?fbiaimddiej:((fbiaimddiej:int32) = 0l)
  () : jcipijmgbbp  = {
  fbiaimddiej;
}

let rec default_dcflakjicbi 
  ?fbiaimddiej:((fbiaimddiej:int32) = 0l)
  () : dcflakjicbi  = {
  fbiaimddiej;
}

let rec default_pkgfjolojec 
  ?dhcakofmnjp:((dhcakofmnjp:flhognnpcee option) = None)
  ?pbnahdfdakb:((pbnahdfdakb:flhognnpcee option) = None)
  ?hjcdfejpjcl:((hjcdfejpjcl:mnicidbdjfi option) = None)
  ?emghnkdicbf:((emghnkdicbf:mnicidbdjfi option) = None)
  ?ppnmgedbfel:((ppnmgedbfel:clobgmgklja option) = None)
  ?okbkccnfdlb:((okbkccnfdlb:nneegnafcfg option) = None)
  ?bbjbennbhgi:((bbjbennbhgi:pefkaoobihi option) = None)
  ?kmdciieifgn:((kmdciieifgn:bklejdedngm option) = None)
  ?jppfinpapdi:((jppfinpapdi:okdkilkjabn option) = None)
  ?llaenjaahgl:((llaenjaahgl:ifnnhfbomnh option) = None)
  ?cekcaaddhlm:((cekcaaddhlm:keijecmckle option) = None)
  ?bjpgdnebdla:((bjpgdnebdla:jimphabffnp option) = None)
  ?hhjdhhjpgkk:((hhjdhhjpgkk:hbdelaiadlb option) = None)
  ?nfbeklebbgc:((nfbeklebbgc:hcpcpcigmpg option) = None)
  ?elaolkochpi:((elaolkochpi:lipcpilkehi option) = None)
  ?gbdphogibae:((gbdphogibae:joamhogigdi option) = None)
  ?khifepcfdlc:((khifepcfdlc:jcipijmgbbp option) = None)
  ?lpjpaggolke:((lpjpaggolke:dcflakjicbi option) = None)
  () : pkgfjolojec  = {
  dhcakofmnjp;
  pbnahdfdakb;
  hjcdfejpjcl;
  emghnkdicbf;
  ppnmgedbfel;
  okbkccnfdlb;
  bbjbennbhgi;
  kmdciieifgn;
  jppfinpapdi;
  llaenjaahgl;
  cekcaaddhlm;
  bjpgdnebdla;
  hhjdhhjpgkk;
  nfbeklebbgc;
  elaolkochpi;
  gbdphogibae;
  khifepcfdlc;
  lpjpaggolke;
}

let rec default_jfaepfgabpp 
  ?gnfpnbgacdf:((gnfpnbgacdf:npkhcnmhkdp) = default_npkhcnmhkdp ())
  ?mkgoabedjeh:((mkgoabedjeh:pkgfjolojec option) = None)
  () : jfaepfgabpp  = {
  gnfpnbgacdf;
  mkgoabedjeh;
}

let rec default_empneaapcke 
  ?gapjajnhglk:((gapjajnhglk:bnlkbheaggj) = default_bnlkbheaggj ())
  ?fhpollcfknc:((fhpollcfknc:int32) = 0l)
  ?jmfablhemno:((jmfablhemno:jfaepfgabpp list) = [])
  () : empneaapcke  = {
  gapjajnhglk;
  fhpollcfknc;
  jmfablhemno;
}

let rec default_okkklfebmlg 
  ?cjapbkbgjde:((cjapbkbgjde:int32) = 0l)
  () : okkklfebmlg  = {
  cjapbkbgjde;
}

let rec default_okdccjpmfkc = ()

let rec default_hdcjnnpgeid 
  ?cjapbkbgjde:((cjapbkbgjde:int32) = 0l)
  () : hdcjnnpgeid  = {
  cjapbkbgjde;
}

let rec default_nbajphmodno = ()

let rec default_jhdeaoonple = ()

let rec default_jjdgojacafe 
  ?hfdfkfjfdbb:((hfdfkfjfdbb:rogue_formula_select_info option) = None)
  () : jjdgojacafe  = {
  hfdfkfjfdbb;
}

let rec default_keadkpndpml 
  ?cjapbkbgjde:((cjapbkbgjde:int32) = 0l)
  () : keadkpndpml  = {
  cjapbkbgjde;
}

let rec default_ffkilkhoebh = ()

let rec default_jdplmldakec 
  ?ghhnoefibke:((ghhnoefibke:int32) = 0l)
  ?mmnebfbnoni:((mmnebfbnoni:bool) = false)
  () : jdplmldakec  = {
  ghhnoefibke;
  mmnebfbnoni;
}

let rec default_dimcddnhfgn 
  ?cfjdmlpfdoc:((cfjdmlpfdoc:blhhnmhcodp option) = None)
  ?fhpollcfknc:((fhpollcfknc:int32) = 0l)
  () : dimcddnhfgn  = {
  cfjdmlpfdoc;
  fhpollcfknc;
}

let rec default_bpcliochekj 
  ?efigohhfcpp:((efigohhfcpp:int32) = 0l)
  ?mmmkbhidohp:((mmmkbhidohp:ikhcpmbdbll option) = None)
  ?pbdgajfecic:((pbdgajfecic:fijoihplgfi option) = None)
  ?pgcjdnfdkni:((pgcjdnfdkni:lhmgpkeoghe option) = None)
  ?lddnkidmhlh:((lddnkidmhlh:unit) = ())
  ?mpomggfehlo:((mpomggfehlo:nbjgogbhokm option) = None)
  ?anbajffabll:((anbajffabll:bkoniegkimo option) = None)
  ?ddkfkjpgcaf:((ddkfkjpgcaf:enolgaiddgi option) = None)
  ?kdeiabffjhe:((kdeiabffjhe:okaoepbdlkg option) = None)
  ?oecoiehbkof:((oecoiehbkof:bdljnoiiooh option) = None)
  ?pgpeffkechj:((pgpeffkechj:gndkaolnaic option) = None)
  ?mipdhlckcjd:((mipdhlckcjd:jogglahdihp option) = None)
  ?giefnjkkopn:((giefnjkkopn:pnhmjikaamk option) = None)
  ?ggoclminbog:((ggoclminbog:gplpibkcldk option) = None)
  ?nfjgnhjkaoh:((nfjgnhjkaoh:okkklfebmlg option) = None)
  ?badchlhlile:((badchlhlile:unit) = ())
  ?filbnenmkhl:((filbnenmkhl:hdcjnnpgeid option) = None)
  ?ficafpbocad:((ficafpbocad:keadkpndpml option) = None)
  ?ldahfbiambi:((ldahfbiambi:jdplmldakec option) = None)
  () : bpcliochekj  = {
  efigohhfcpp;
  mmmkbhidohp;
  pbdgajfecic;
  pgcjdnfdkni;
  lddnkidmhlh;
  mpomggfehlo;
  anbajffabll;
  ddkfkjpgcaf;
  kdeiabffjhe;
  oecoiehbkof;
  pgpeffkechj;
  mipdhlckcjd;
  giefnjkkopn;
  ggoclminbog;
  nfjgnhjkaoh;
  badchlhlile;
  filbnenmkhl;
  ficafpbocad;
  ldahfbiambi;
}

let rec default_afnbfhnonmi 
  ?ocnjbebhbgo:((ocnjbebhbgo:int32) = 0l)
  ?efigohhfcpp:((efigohhfcpp:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?mjfnbidjnkn:((mjfnbidjnkn:unit) = ())
  ?jklhkhholdi:((jklhkhholdi:unit) = ())
  ?ademmhhnhml:((ademmhhnhml:unit) = ())
  ?pbjjcmlfeaf:((pbjjcmlfeaf:hbnambacbfh option) = None)
  ?ebbdfigldjb:((ebbdfigldjb:unit) = ())
  ?kccfoefijmc:((kccfoefijmc:unit) = ())
  ?kpcmhpobjdg:((kpcmhpobjdg:unit) = ())
  ?pmhhkoghphd:((pmhhkoghphd:unit) = ())
  ?eonpahabipm:((eonpahabipm:unit) = ())
  ?blkkpofefoe:((blkkpofefoe:unit) = ())
  ?oclinajcnnk:((oclinajcnnk:unit) = ())
  ?didenehjgkl:((didenehjgkl:unit) = ())
  ?dlfnhmhfhfn:((dlfnhmhfhfn:unit) = ())
  ?baockdmjcof:((baockdmjcof:unit) = ())
  ?dgohlalpnij:((dgohlalpnij:jjdgojacafe option) = None)
  ?dlpnooadeki:((dlpnooadeki:unit) = ())
  ?nlfdmpbnhgh:((nlfdmpbnhgh:unit) = ())
  () : afnbfhnonmi  = {
  ocnjbebhbgo;
  efigohhfcpp;
  retcode;
  mjfnbidjnkn;
  jklhkhholdi;
  ademmhhnhml;
  pbjjcmlfeaf;
  ebbdfigldjb;
  kccfoefijmc;
  kpcmhpobjdg;
  pmhhkoghphd;
  eonpahabipm;
  blkkpofefoe;
  oclinajcnnk;
  didenehjgkl;
  dlfnhmhfhfn;
  baockdmjcof;
  dgohlalpnij;
  dlpnooadeki;
  nlfdmpbnhgh;
}

let rec default_flbopemokdm 
  ?paofpgekpfe:((paofpgekpfe:int32) = 0l)
  () : flbopemokdm  = {
  paofpgekpfe;
}

let rec default_pfchkldhojh 
  ?ennhncalcjj:((ennhncalcjj:bool) = false)
  ?bpdfcfjdkbd:((bpdfcfjdkbd:int32) = 0l)
  () : pfchkldhojh  = {
  ennhncalcjj;
  bpdfcfjdkbd;
}

let rec default_cbilelfjaom 
  ?ennhncalcjj:((ennhncalcjj:bool) = false)
  ?ehobobppchc:((ehobobppchc:int32) = 0l)
  () : cbilelfjaom  = {
  ennhncalcjj;
  ehobobppchc;
}

let rec default_cgolnlcjphm 
  ?jkonpkkialg:((jkonpkkialg:int32 list) = [])
  ?exp:((exp:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?bajeglndfpe:((bajeglndfpe:int32) = 0l)
  ?cpkmmhenjof:((cpkmmhenjof:int32 list) = [])
  ?nncdpbdokbj:((nncdpbdokbj:int32) = 0l)
  () : cgolnlcjphm  = {
  jkonpkkialg;
  exp;
  level;
  bajeglndfpe;
  cpkmmhenjof;
  nncdpbdokbj;
}

let rec default_dpfccobpjpo 
  ?pcpkkbfpbeb:((pcpkkbfpbeb:pfchkldhojh list) = [])
  ?buff_list:((buff_list:flbopemokdm list) = [])
  ?ihneplfgmdc:((ihneplfgmdc:cgolnlcjphm list) = [])
  ?llhoijjnhbc:((llhoijjnhbc:cbilelfjaom list) = [])
  () : dpfccobpjpo  = {
  pcpkkbfpbeb;
  buff_list;
  ihneplfgmdc;
  llhoijjnhbc;
}

let rec default_ebdjhabanno = ()

let rec default_get_rogue_handbook_data_sc_rsp 
  ?retcode:((retcode:int32) = 0l)
  ?handbook_info:((handbook_info:dpfccobpjpo option) = None)
  () : get_rogue_handbook_data_sc_rsp  = {
  retcode;
  handbook_info;
}

let rec default_mkkhlondele 
  ?gopjpjhhpdl:((gopjpjhhpdl:flbopemokdm list) = [])
  ?kcidphehmgh:((kcidphehmgh:pfchkldhojh list) = [])
  ?kjcjmogejck:((kjcjmogejck:cbilelfjaom list) = [])
  () : mkkhlondele  = {
  gopjpjhhpdl;
  kcidphehmgh;
  kjcjmogejck;
}

let rec default_kfifjffgkja 
  ?cfaellfidkf:((cfaellfidkf:int32 list) = [])
  () : kfifjffgkja  = {
  cfaellfidkf;
}

let rec default_lleckakggaa 
  ?reward:((reward:item_list option) = None)
  ?hkpdigncbac:((hkpdigncbac:int32 list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : lleckakggaa  = {
  reward;
  hkpdigncbac;
  retcode;
}

let rec default_kdnoklalckb 
  ?nnijgeiepnp:((nnijgeiepnp:int32 list) = [])
  () : kdnoklalckb  = {
  nnijgeiepnp;
}

let rec default_khbgcebnmch 
  ?retcode:((retcode:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  ?nacknnppfog:((nacknnppfog:int32 list) = [])
  () : khbgcebnmch  = {
  retcode;
  reward;
  nacknnppfog;
}

let rec default_aepjfkbjmpm 
  ?aeheogaoenf:((aeheogaoenf:int32) = 0l)
  ?hifokbodgbe:((hifokbodgbe:cbgphimaond list) = [])
  ?dgfahpgkgmf:((dgfahpgkgmf:int32) = 0l)
  ?fhpollcfknc:((fhpollcfknc:int32) = 0l)
  ?ljlinldbbob:((ljlinldbbob:int32) = 0l)
  () : aepjfkbjmpm  = {
  aeheogaoenf;
  hifokbodgbe;
  dgfahpgkgmf;
  fhpollcfknc;
  ljlinldbbob;
}

let rec default_ihcikgmbhlg 
  ?hmpniejbcbk:((hmpniejbcbk:int32) = 0l)
  ?lhlaejpmpjj:((lhlaejpmpjj:int32) = 0l)
  () : ihcikgmbhlg  = {
  hmpniejbcbk;
  lhlaejpmpjj;
}

let rec default_papkfcpnkoe 
  ?iajfipnhdec:((iajfipnhdec:ihcikgmbhlg list) = [])
  () : papkfcpnkoe  = {
  iajfipnhdec;
}

let rec default_kmlckpdeahn 
  ?ohilclmamkk:((ohilclmamkk:int32) = 0l)
  ?einnfebcmlj:((einnfebcmlj:int32) = 0l)
  ?cfejldhielm:((cfejldhielm:int32) = 0l)
  () : kmlckpdeahn  = {
  ohilclmamkk;
  einnfebcmlj;
  cfejldhielm;
}

let rec default_mmkjpfjceck 
  ?ellpcknbemn:((ellpcknbemn:oodgnonfgkc list) = [])
  () : mmkjpfjceck  = {
  ellpcknbemn;
}

let rec default_fgebaafiedj 
  ?bdaldfbhcjl:((bdaldfbhcjl:mmkjpfjceck option) = None)
  ?deafkpjjgab:((deafkpjjgab:kmlckpdeahn option) = None)
  () : fgebaafiedj  = {
  bdaldfbhcjl;
  deafkpjjgab;
}

let rec default_odcdpcpopbn = ()

let rec default_jmdcaknnaad 
  ?cmddpkpeoli:((cmddpkpeoli:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?fecdamigijp:((fecdamigijp:fgebaafiedj option) = None)
  () : jmdcaknnaad  = {
  cmddpkpeoli;
  retcode;
  fecdamigijp;
}

let rec default_hhjmihldoeh 
  ?deafkpjjgab:((deafkpjjgab:kmlckpdeahn option) = None)
  ?bdaldfbhcjl:((bdaldfbhcjl:mmkjpfjceck option) = None)
  () : hhjmihldoeh  = {
  deafkpjjgab;
  bdaldfbhcjl;
}

let rec default_hhoonanlchd 
  ?ebffkdhgkgl:((ebffkdhgkgl:int32) = 0l)
  ?hgfnojflbcl:((hgfnojflbcl:int32) = 0l)
  () : hhoonanlchd  = {
  ebffkdhgkgl;
  hgfnojflbcl;
}

let rec default_jhfnbcaknap 
  ?hgpelgifadf:((hgpelgifadf:int32) = 0l)
  () : jhfnbcaknap  = {
  hgpelgifadf;
}

let rec default_agicbcnpmbf 
  ?hgpelgifadf:((hgpelgifadf:int32) = 0l)
  () : agicbcnpmbf  = {
  hgpelgifadf;
}

let rec default_lmfccgildoh 
  ?bgecmdbfigi:((bgecmdbfigi:int32) = 0l)
  () : lmfccgildoh  = {
  bgecmdbfigi;
}

let rec default_pbalhihkole 
  ?kamplnhefpi:((kamplnhefpi:hhoonanlchd option) = None)
  ?knhahdliapf:((knhahdliapf:jhfnbcaknap option) = None)
  ?aolafephjfe:((aolafephjfe:agicbcnpmbf option) = None)
  ?cjfhhfcgdda:((cjfhhfcgdda:lmfccgildoh option) = None)
  () : pbalhihkole  = {
  kamplnhefpi;
  knhahdliapf;
  aolafephjfe;
  cjfhhfcgdda;
}

let rec default_cdgbdhbjbaf 
  ?aeggdogmiea:((aeggdogmiea:float) = 0.)
  ?dkaehkamkfi:((dkaehkamkfi:int32) = 0l)
  () : cdgbdhbjbaf  = {
  aeggdogmiea;
  dkaehkamkfi;
}

let rec default_chbifnppnke 
  ?ghhnoefibke:((ghhnoefibke:int32) = 0l)
  () : chbifnppnke  = {
  ghhnoefibke;
}

let rec default_ilnklkjeikf 
  ?apmgjmappjl:((apmgjmappjl:int32) = 0l)
  () : ilnklkjeikf  = {
  apmgjmappjl;
}

let rec default_embkjecncmm 
  ?ikfkmimaeon:((ikfkmimaeon:chbifnppnke option) = None)
  ?njfnjkjpnap:((njfnjkjpnap:ilnklkjeikf option) = None)
  () : embkjecncmm  = {
  ikfkmimaeon;
  njfnjkjpnap;
}

let rec default_kmppenfheel 
  ?ipfkcfhigmk:((ipfkcfhigmk:embkjecncmm list) = [])
  ?iihookopmmk:((iihookopmmk:cdgbdhbjbaf option) = None)
  ?hfadhgefiea:((hfadhgefiea:int32) = 0l)
  ?ojkjbeilgdc:((ojkjbeilgdc:int32) = 0l)
  ?jhojoicfldl:((jhojoicfldl:bool) = false)
  ?mecjmchknde:((mecjmchknde:bool) = false)
  () : kmppenfheel  = {
  ipfkcfhigmk;
  iihookopmmk;
  hfadhgefiea;
  ojkjbeilgdc;
  jhojoicfldl;
  mecjmchknde;
}

let rec default_hdmoboniihl 
  ?oeoffmaepgl:((oeoffmaepgl:pbalhihkole option) = None)
  ?jnboodjdmho:((jnboodjdmho:int32) = 0l)
  ?ejjmffbhbgk:((ejjmffbhbgk:kmppenfheel list) = [])
  () : hdmoboniihl  = {
  oeoffmaepgl;
  jnboodjdmho;
  ejjmffbhbgk;
}

let rec default_begalnkfdgo = ()

let rec default_jcmbmhjjdal 
  ?retcode:((retcode:int32) = 0l)
  ?mjomgfdpmnj:((mjomgfdpmnj:hdmoboniihl list) = [])
  () : jcmbmhjjdal  = {
  retcode;
  mjomgfdpmnj;
}

let rec default_pgaeehgmbhd 
  ?jnboodjdmho:((jnboodjdmho:int32) = 0l)
  ?ojkjbeilgdc:((ojkjbeilgdc:int32) = 0l)
  () : pgaeehgmbhd  = {
  jnboodjdmho;
  ojkjbeilgdc;
}

let rec default_eakdfjkkkac 
  ?ecohlncenkk:((ecohlncenkk:bool) = false)
  ?jnboodjdmho:((jnboodjdmho:int32) = 0l)
  ?ojkjbeilgdc:((ojkjbeilgdc:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?fbcfkkknldf:((fbcfkkknldf:int32 list) = [])
  ?oplnemnkmhf:((oplnemnkmhf:hdmoboniihl option) = None)
  () : eakdfjkkkac  = {
  ecohlncenkk;
  jnboodjdmho;
  ojkjbeilgdc;
  retcode;
  fbcfkkknldf;
  oplnemnkmhf;
}

let rec default_lmfiimlalfm 
  ?jnboodjdmho:((jnboodjdmho:int32) = 0l)
  () : lmfiimlalfm  = {
  jnboodjdmho;
}

let rec default_cjhfohgjked 
  ?retcode:((retcode:int32) = 0l)
  ?jnboodjdmho:((jnboodjdmho:int32) = 0l)
  () : cjhfohgjked  = {
  retcode;
  jnboodjdmho;
}

let rec default_iglcopligcj 
  ?mjomgfdpmnj:((mjomgfdpmnj:hdmoboniihl list) = [])
  () : iglcopligcj  = {
  mjomgfdpmnj;
}

let rec default_hoadcaanbha 
  ?oplnemnkmhf:((oplnemnkmhf:hdmoboniihl option) = None)
  ?bjfgfbjlffg:((bjfgfbjlffg:kmppenfheel option) = None)
  ?ojkjbeilgdc:((ojkjbeilgdc:int32) = 0l)
  ?jnboodjdmho:((jnboodjdmho:int32) = 0l)
  () : hoadcaanbha  = {
  oplnemnkmhf;
  bjfgfbjlffg;
  ojkjbeilgdc;
  jnboodjdmho;
}

let rec default_domkmpnnebe 
  ?mnhgojliepj:((mnhgojliepj:cbgphimaond option) = None)
  ?ljlinldbbob:((ljlinldbbob:int32) = 0l)
  ?dgfahpgkgmf:((dgfahpgkgmf:int32) = 0l)
  ?fhpollcfknc:((fhpollcfknc:int32) = 0l)
  () : domkmpnnebe  = {
  mnhgojliepj;
  ljlinldbbob;
  dgfahpgkgmf;
  fhpollcfknc;
}

let rec default_hodkonakgab 
  ?kigccmchfaa:((kigccmchfaa:int32) = 0l)
  ?prop_entity_id:((prop_entity_id:int32) = 0l)
  () : hodkonakgab  = {
  kigccmchfaa;
  prop_entity_id;
}

let rec default_onlamhijjda 
  ?jjbohkkebeg:((jjbohkkebeg:int32) = 0l)
  ?akemgnajflc:((akemgnajflc:bool) = false)
  ?fmifpcfleij:((fmifpcfleij:int32) = 0l)
  ?mhpkpajbnjm:((mhpkpajbnjm:int32) = 0l)
  ?lohpklihemj:((lohpklihemj:item_cost_data option) = None)
  () : onlamhijjda  = {
  jjbohkkebeg;
  akemgnajflc;
  fmifpcfleij;
  mhpkpajbnjm;
  lohpklihemj;
}

let rec default_cnbcehippjg 
  ?lohpklihemj:((lohpklihemj:item_cost_data option) = None)
  ?akemgnajflc:((akemgnajflc:bool) = false)
  ?mhpkpajbnjm:((mhpkpajbnjm:int32) = 0l)
  ?fmifpcfleij:((fmifpcfleij:int32) = 0l)
  ?jjbohkkebeg:((jjbohkkebeg:int32) = 0l)
  () : cnbcehippjg  = {
  lohpklihemj;
  akemgnajflc;
  mhpkpajbnjm;
  fmifpcfleij;
  jjbohkkebeg;
}

let rec default_fngfihkckfj 
  ?eolhlhcahff:((eolhlhcahff:int32) = 0l)
  ?pplafiiclpl:((pplafiiclpl:(int32 * int32) list) = [])
  ?hkohlnhlgnb:((hkohlnhlgnb:int32) = 0l)
  () : fngfihkckfj  = {
  eolhlhcahff;
  pplafiiclpl;
  hkohlnhlgnb;
}

let rec default_ffhkhemgonh 
  ?lohpklihemj:((lohpklihemj:item_cost_data option) = None)
  ?gmblbaboegm:((gmblbaboegm:(int32 * bool) list) = [])
  ?jjbohkkebeg:((jjbohkkebeg:int32) = 0l)
  ?mhpkpajbnjm:((mhpkpajbnjm:int32) = 0l)
  () : ffhkhemgonh  = {
  lohpklihemj;
  gmblbaboegm;
  jjbohkkebeg;
  mhpkpajbnjm;
}

let rec default_bolhppnehna 
  ?lohpklihemj:((lohpklihemj:item_cost_data option) = None)
  ?mhpkpajbnjm:((mhpkpajbnjm:int32) = 0l)
  ?jjbohkkebeg:((jjbohkkebeg:int32) = 0l)
  () : bolhppnehna  = {
  lohpklihemj;
  mhpkpajbnjm;
  jjbohkkebeg;
}

let rec default_mkmfeohmhdl 
  ?ehfmcpnpcmp:((ehfmcpnpcmp:onlamhijjda option) = None)
  ?mcobeibhgia:((mcobeibhgia:cnbcehippjg option) = None)
  ?apjgepbpong:((apjgepbpong:fngfihkckfj option) = None)
  ?nbfmehkdagj:((nbfmehkdagj:ffhkhemgonh option) = None)
  ?ckfggjhfhdb:((ckfggjhfhdb:bolhppnehna option) = None)
  () : mkmfeohmhdl  = {
  ehfmcpnpcmp;
  mcobeibhgia;
  apjgepbpong;
  nbfmehkdagj;
  ckfggjhfhdb;
}

let rec default_dfchmojmkbp 
  ?kigccmchfaa:((kigccmchfaa:int32) = 0l)
  ?bajihciaend:((bajihciaend:mkmfeohmhdl option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : dfchmojmkbp  = {
  kigccmchfaa;
  bajihciaend;
  retcode;
}

let rec default_epjilmmpkom 
  ?prop_entity_id:((prop_entity_id:int32) = 0l)
  () : epjilmmpkom  = {
  prop_entity_id;
}

let rec default_kcnojeijhmd 
  ?lbnndcbnika:((lbnndcbnika:(int32 * mkmfeohmhdl) list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : kcnojeijhmd  = {
  lbnndcbnika;
  retcode;
}

let rec default_mjhcocmpagc 
  ?mcikcapjmdh:((mcikcapjmdh:int32) = 0l)
  () : mjhcocmpagc  = {
  mcikcapjmdh;
}

let rec default_clcicidmhke 
  ?bpghijegann:((bpghijegann:int32) = 0l)
  () : clcicidmhke  = {
  bpghijegann;
}

let rec default_jfcmkbokfof 
  ?nmkjbofhjhb:((nmkjbofhjhb:int32) = 0l)
  () : jfcmkbokfof  = {
  nmkjbofhjhb;
}

let rec default_ffloeagfoia 
  ?aadjgaaabib:((aadjgaaabib:int32 list) = [])
  () : ffloeagfoia  = {
  aadjgaaabib;
}

let rec default_gpianncldcp 
  ?jjlcgdiofhh:((jjlcgdiofhh:int32) = 0l)
  () : gpianncldcp  = {
  jjlcgdiofhh;
}

let rec default_ejjgfpamkcg 
  ?ehfmcpnpcmp:((ehfmcpnpcmp:mjhcocmpagc option) = None)
  ?mcobeibhgia:((mcobeibhgia:clcicidmhke option) = None)
  ?apjgepbpong:((apjgepbpong:jfcmkbokfof option) = None)
  ?nbfmehkdagj:((nbfmehkdagj:ffloeagfoia option) = None)
  ?ckfggjhfhdb:((ckfggjhfhdb:gpianncldcp option) = None)
  () : ejjgfpamkcg  = {
  ehfmcpnpcmp;
  mcobeibhgia;
  apjgepbpong;
  nbfmehkdagj;
  ckfggjhfhdb;
}

let rec default_naojdlokppg 
  ?kigccmchfaa:((kigccmchfaa:int32) = 0l)
  ?prop_entity_id:((prop_entity_id:int32) = 0l)
  ?kdnioegmffl:((kdnioegmffl:ejjgfpamkcg option) = None)
  () : naojdlokppg  = {
  kigccmchfaa;
  prop_entity_id;
  kdnioegmffl;
}

let rec default_adojimghpml 
  ?bajihciaend:((bajihciaend:mkmfeohmhdl option) = None)
  ?kigccmchfaa:((kigccmchfaa:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : adojimghpml  = {
  bajihciaend;
  kigccmchfaa;
  retcode;
}

let rec default_aaacgamfppc 
  ?status:((status:eeaceekbbik) = default_eeaceekbbik ())
  ?nklnaippaoc:((nklnaippaoc:int32) = 0l)
  () : aaacgamfppc  = {
  status;
  nklnaippaoc;
}

let rec default_aojielnnmfc 
  ?nklnaippaoc:((nklnaippaoc:int32) = 0l)
  ?nfhmflfhndi:((nfhmflfhndi:int32) = 0l)
  ?status:((status:bpibjehipof) = default_bpibjehipof ())
  () : aojielnnmfc  = {
  nklnaippaoc;
  nfhmflfhndi;
  status;
}

let rec default_jgggbcomlkg = ()

let rec default_gnccfafgcol 
  ?retcode:((retcode:int32) = 0l)
  ?keadbmibeoa:((keadbmibeoa:aaacgamfppc list) = [])
  ?jkcaikhimpk:((jkcaikhimpk:aojielnnmfc list) = [])
  () : gnccfafgcol  = {
  retcode;
  keadbmibeoa;
  jkcaikhimpk;
}

let rec default_fgeaamlhlac 
  ?fepikjehgke:((fepikjehgke:kogippjmdkb list) = [])
  ?ohhfpegpijl:((ohhfpegpijl:int32 list) = [])
  ?jgadebiegfg:((jgadebiegfg:int32 list) = [])
  () : fgeaamlhlac  = {
  fepikjehgke;
  ohhfpegpijl;
  jgadebiegfg;
}

let rec default_iinoobifcjo 
  ?retcode:((retcode:int32) = 0l)
  ?jkcaikhimpk:((jkcaikhimpk:aojielnnmfc list) = [])
  ?keadbmibeoa:((keadbmibeoa:aaacgamfppc list) = [])
  () : iinoobifcjo  = {
  retcode;
  jkcaikhimpk;
  keadbmibeoa;
}

let rec default_pladdmnljcl 
  ?jhkfhacondf:((jhkfhacondf:int32) = 0l)
  ?status:((status:odijleidcnd) = default_odijleidcnd ())
  () : pladdmnljcl  = {
  jhkfhacondf;
  status;
}

let rec default_lblameimomf 
  ?jhkfhacondf:((jhkfhacondf:int32) = 0l)
  ?nfhmflfhndi:((nfhmflfhndi:int32) = 0l)
  ?status:((status:bpibjehipof) = default_bpibjehipof ())
  () : lblameimomf  = {
  jhkfhacondf;
  nfhmflfhndi;
  status;
}

let rec default_ofkanljcacm = ()

let rec default_icdcbngicka 
  ?pkkaednpjma:((pkkaednpjma:pladdmnljcl list) = [])
  ?bogghhbkjbd:((bogghhbkjbd:lblameimomf list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : icdcbngicka  = {
  pkkaednpjma;
  bogghhbkjbd;
  retcode;
}

let rec default_ioibkofbebj 
  ?gbelbjgfeen:((gbelbjgfeen:int32 list) = [])
  ?bhcemcfcjca:((bhcemcfcjca:int32 list) = [])
  ?ioldfakjoep:((ioldfakjoep:kogippjmdkb list) = [])
  () : ioibkofbebj  = {
  gbelbjgfeen;
  bhcemcfcjca;
  ioldfakjoep;
}

let rec default_hcgejlljkpj 
  ?retcode:((retcode:int32) = 0l)
  ?pkkaednpjma:((pkkaednpjma:pladdmnljcl list) = [])
  ?bogghhbkjbd:((bogghhbkjbd:lblameimomf list) = [])
  () : hcgejlljkpj  = {
  retcode;
  pkkaednpjma;
  bogghhbkjbd;
}

let rec default_padjpmdajhc 
  ?prop_entity_id:((prop_entity_id:int32) = 0l)
  () : padjpmdajhc  = {
  prop_entity_id;
}

let rec default_odcpjphbfme 
  ?retcode:((retcode:int32) = 0l)
  ?lkfmgoglgch:((lkfmgoglgch:jhjloaofhnk option) = None)
  () : odcpjphbfme  = {
  retcode;
  lkfmgoglgch;
}

let rec default_agjmneegkdb 
  ?prop_entity_id:((prop_entity_id:int32) = 0l)
  () : agjmneegkdb  = {
  prop_entity_id;
}

let rec default_obolbkcklhc 
  ?bekhfcgelap:((bekhfcgelap:int32) = 0l)
  ?gdpfmoegbki:((gdpfmoegbki:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?lkfmgoglgch:((lkfmgoglgch:jhjloaofhnk option) = None)
  () : obolbkcklhc  = {
  bekhfcgelap;
  gdpfmoegbki;
  retcode;
  lkfmgoglgch;
}

let rec default_ebjgjhclibc () = (Cmd_rogue_endless_none:ebjgjhclibc)

let rec default_lmmkpeajfka 
  ?okhflbihfhm:((okhflbihfhm:int32 list) = [])
  ?base_avatar_id_list:((base_avatar_id_list:int32 list) = [])
  ?gkfjbgdelik:((gkfjbgdelik:hpphifdfjjj option) = None)
  ?bgjihjmjbdk:((bgjihjmjbdk:int32) = 0l)
  ?ediopngagap:((ediopngagap:int32) = 0l)
  ?fanjaobchcg:((fanjaobchcg:eijagapkfad option) = None)
  ?status:((status:ofhnfenfeai) = default_ofhnfenfeai ())
  ?daldfnlnnbo:((daldfnlnnbo:int32) = 0l)
  ?lnjapmhfcck:((lnjapmhfcck:int32) = 0l)
  () : lmmkpeajfka  = {
  okhflbihfhm;
  base_avatar_id_list;
  gkfjbgdelik;
  bgjihjmjbdk;
  ediopngagap;
  fanjaobchcg;
  status;
  daldfnlnnbo;
  lnjapmhfcck;
}

let rec default_cfeeacjgeec 
  ?moidpjnooeb:((moidpjnooeb:int32) = 0l)
  ?battle_id:((battle_id:int32) = 0l)
  ?mibmejkddhe:((mibmejkddhe:int32) = 0l)
  ?fblfmeldjgl:((fblfmeldjgl:int32) = 0l)
  ?nkangcfcbfk:((nkangcfcbfk:int32) = 0l)
  ?djocbcjomac:((djocbcjomac:int32) = 0l)
  ?chmbglidkmm:((chmbglidkmm:bool) = false)
  ?phpkjaipcmg:((phpkjaipcmg:int32) = 0l)
  () : cfeeacjgeec  = {
  moidpjnooeb;
  battle_id;
  mibmejkddhe;
  fblfmeldjgl;
  nkangcfcbfk;
  djocbcjomac;
  chmbglidkmm;
  phpkjaipcmg;
}

let rec default_nggfgepnifo 
  ?appflheobmi:((appflheobmi:cfeeacjgeec option) = None)
  ?ggdaffjnmpa:((ggdaffjnmpa:int32) = 0l)
  ?fjlnncjahng:((fjlnncjahng:int32) = 0l)
  ?minogichkgm:((minogichkgm:lmmkpeajfka option) = None)
  () : nggfgepnifo  = {
  appflheobmi;
  ggdaffjnmpa;
  fjlnncjahng;
  minogichkgm;
}

let rec default_hpbhhlhhedh = ()

let rec default_kcajjjlejgm 
  ?ihkmfjnfjlk:((ihkmfjnfjlk:int32 list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?pokaoienhda:((pokaoienhda:int32) = 0l)
  ?data:((data:nggfgepnifo list) = [])
  ?hehigejeimi:((hehigejeimi:int32) = 0l)
  () : kcajjjlejgm  = {
  ihkmfjnfjlk;
  retcode;
  pokaoienhda;
  data;
  hehigejeimi;
}

let rec default_jkbbigojajj 
  ?avatar_id:((avatar_id:int32) = 0l)
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  () : jkbbigojajj  = {
  avatar_id;
  avatar_type;
}

let rec default_kgamnkklmcm 
  ?anllhlcoape:((anllhlcoape:int32) = 0l)
  ?avatar_list:((avatar_list:jkbbigojajj list) = [])
  () : kgamnkklmcm  = {
  anllhlcoape;
  avatar_list;
}

let rec default_eifpojnakgh 
  ?retcode:((retcode:int32) = 0l)
  ?appflheobmi:((appflheobmi:cfeeacjgeec option) = None)
  ?ibllilenejp:((ibllilenejp:scene_battle_info option) = None)
  () : eifpojnakgh  = {
  retcode;
  appflheobmi;
  ibllilenejp;
}

let rec default_ddncjhjjabn 
  ?appflheobmi:((appflheobmi:cfeeacjgeec option) = None)
  () : ddncjhjjabn  = {
  appflheobmi;
}

let rec default_ffcaeknjnap 
  ?mhegpegfggg:((mhegpegfggg:bool) = false)
  ?level:((level:int32) = 0l)
  () : ffcaeknjnap  = {
  mhegpegfggg;
  level;
}

let rec default_hhgioelfegm 
  ?reward:((reward:item_list option) = None)
  ?mhegpegfggg:((mhegpegfggg:bool) = false)
  ?hehigejeimi:((hehigejeimi:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?ihkmfjnfjlk:((ihkmfjnfjlk:int32 list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : hhgioelfegm  = {
  reward;
  mhegpegfggg;
  hehigejeimi;
  level;
  ihkmfjnfjlk;
  retcode;
}

let rec default_iddjfmpgfmd = ()

let rec default_ofhcflkjmeh 
  ?ihkmfjnfjlk:((ihkmfjnfjlk:int32 list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  ?hehigejeimi:((hehigejeimi:int32) = 0l)
  () : ofhcflkjmeh  = {
  ihkmfjnfjlk;
  retcode;
  reward;
  hehigejeimi;
}

let rec default_bjpgeildfec () = (Cmd_rogue_modifier_type_none:bjpgeildfec)

let rec default_njkmbnhkmij 
  ?adnplkibhog:((adnplkibhog:int32) = 0l)
  ?mecjmchknde:((mecjmchknde:bool) = false)
  ?babfnhiakog:((babfnhiakog:int32) = 0l)
  () : njkmbnhkmij  = {
  adnplkibhog;
  mecjmchknde;
  babfnhiakog;
}

let rec default_indhellplmc 
  ?jnkphngenhh:((jnkphngenhh:int32 list) = [])
  ?mecjmchknde:((mecjmchknde:bool) = false)
  ?adnplkibhog:((adnplkibhog:int32) = 0l)
  ?babfnhiakog:((babfnhiakog:int32) = 0l)
  () : indhellplmc  = {
  jnkphngenhh;
  mecjmchknde;
  adnplkibhog;
  babfnhiakog;
}

let rec default_cjechcdmobb 
  ?adnplkibhog:((adnplkibhog:int32) = 0l)
  ?mecjmchknde:((mecjmchknde:bool) = false)
  ?jnkphngenhh:((jnkphngenhh:int32 list) = [])
  () : cjechcdmobb  = {
  adnplkibhog;
  mecjmchknde;
  jnkphngenhh;
}

let rec default_hnklhfgnidh 
  ?adnplkibhog:((adnplkibhog:int32) = 0l)
  ?mecjmchknde:((mecjmchknde:bool) = false)
  ?jlgjdbmhnan:((jlgjdbmhnan:int32) = 0l)
  ?ciagcobkhbd:((ciagcobkhbd:int32 list) = [])
  () : hnklhfgnidh  = {
  adnplkibhog;
  mecjmchknde;
  jlgjdbmhnan;
  ciagcobkhbd;
}

let rec default_gennbfeoeln 
  ?kccleanfoef:((kccleanfoef:int32) = 0l)
  () : gennbfeoeln  = {
  kccleanfoef;
}

let rec default_fbmijaimnlp 
  ?pkfeeankpmd:((pkfeeankpmd:int32) = 0l)
  () : fbmijaimnlp  = {
  pkfeeankpmd;
}

let rec default_acpeiiblfeb 
  ?nlefnkfdgkp:((nlefnkfdgkp:int32) = 0l)
  () : acpeiiblfeb  = {
  nlefnkfdgkp;
}

let rec default_bbbegcjnbol 
  ?mecjmchknde:((mecjmchknde:bool) = false)
  ?adnplkibhog:((adnplkibhog:int32) = 0l)
  ?pgnccoldebp:((pgnccoldebp:int32) = 0l)
  ?ciagcobkhbd:((ciagcobkhbd:int32 list) = [])
  () : bbbegcjnbol  = {
  mecjmchknde;
  adnplkibhog;
  pgnccoldebp;
  ciagcobkhbd;
}

let rec default_cjakegljcgo 
  ?eefckhjjdaf:((eefckhjjdaf:int32) = 0l)
  ?pjkppmidpao:((pjkppmidpao:int32) = 0l)
  ?glppfpcjnlp:((glppfpcjnlp:int32) = 0l)
  () : cjakegljcgo  = {
  eefckhjjdaf;
  pjkppmidpao;
  glppfpcjnlp;
}

let rec default_nkdamfkkpgf 
  ?paofpgekpfe:((paofpgekpfe:int32) = 0l)
  () : nkdamfkkpgf  = {
  paofpgekpfe;
}

let rec default_ahfklgbbeno 
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  ?olfhccbiidg:((olfhccbiidg:int32) = 0l)
  () : ahfklgbbeno  = {
  hgjolgkaofj;
  olfhccbiidg;
}

let rec default_hbjfkganpni 
  ?kagnbjdmamf:((kagnbjdmamf:int32) = 0l)
  ?bomcmajnimh:((bomcmajnimh:int32) = 0l)
  ?ekcigpdfkjo:((ekcigpdfkjo:int32) = 0l)
  () : hbjfkganpni  = {
  kagnbjdmamf;
  bomcmajnimh;
  ekcigpdfkjo;
}

let rec default_mjohphbaijk 
  ?mgnnkboblfg:((mgnnkboblfg:int32) = 0l)
  ?kagnbjdmamf:((kagnbjdmamf:int32) = 0l)
  () : mjohphbaijk  = {
  mgnnkboblfg;
  kagnbjdmamf;
}

let rec default_dcpoejemiok 
  ?kccleanfoef:((kccleanfoef:int32) = 0l)
  () : dcpoejemiok  = {
  kccleanfoef;
}

let rec default_dkgaakknhee 
  ?babfnhiakog:((babfnhiakog:int32) = 0l)
  () : dkgaakknhee  = {
  babfnhiakog;
}

let rec default_okeejldbgch 
  ?adnplkibhog:((adnplkibhog:int32) = 0l)
  ?mecjmchknde:((mecjmchknde:bool) = false)
  ?jnkphngenhh:((jnkphngenhh:int32 list) = [])
  () : okeejldbgch  = {
  adnplkibhog;
  mecjmchknde;
  jnkphngenhh;
}

let rec default_nfbchiimdie 
  ?paofpgekpfe:((paofpgekpfe:int32) = 0l)
  ?odfipjnpjop:((odfipjnpjop:int32) = 0l)
  () : nfbchiimdie  = {
  paofpgekpfe;
  odfipjnpjop;
}

let rec default_linfpficlpo 
  ?kamoblkgpai:((kamoblkgpai:int32) = 0l)
  () : linfpficlpo  = {
  kamoblkgpai;
}

let rec default_afillcepkji 
  ?count:((count:int32) = 0l)
  () : afillcepkji  = {
  count;
}

let rec default_kmdhgnfkcpi 
  ?lmhocgknkpb:((lmhocgknkpb:gflokgogjgh option) = None)
  () : kmdhgnfkcpi  = {
  lmhocgknkpb;
}

let rec default_hejpimnmkkb 
  ?pbonhgdihdk:((pbonhgdihdk:int32) = 0l)
  () : hejpimnmkkb  = {
  pbonhgdihdk;
}

let rec default_ikakeaekcgp 
  ?pbonhgdihdk:((pbonhgdihdk:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?ekpahpdniff:((ekpahpdniff:item_list option) = None)
  () : ikakeaekcgp  = {
  pbonhgdihdk;
  retcode;
  ekpahpdniff;
}

let rec default_adbdeennljd 
  ?lmhocgknkpb:((lmhocgknkpb:gflokgogjgh option) = None)
  () : adbdeennljd  = {
  lmhocgknkpb;
}

let rec default_nkeajljehgg 
  ?ddgkfgjdgeb:((ddgkfgjdgeb:int64) = 0L)
  () : nkeajljehgg  = {
  ddgkfgjdgeb;
}

let rec default_ogilaeigfdi 
  ?cbjpfggchfh:((cbjpfggchfh:idlkgpjlfhc) = default_idlkgpjlfhc ())
  () : ogilaeigfdi  = {
  cbjpfggchfh;
}

let rec default_oklcifjakhm () = (Cmd_rogue_tourn_type_none:oklcifjakhm)

let rec default_llecchannpc () = (Rogue_tourn_handbook_none:llecchannpc)

let rec default_fopiophbiph 
  ?pnbpdbgfffd:((pnbpdbgfffd:cioeahefpln option) = None)
  ?lineup:((lineup:lineup_info option) = None)
  ?scene:((scene:scene_info option) = None)
  () : fopiophbiph  = {
  pnbpdbgfffd;
  lineup;
  scene;
}

let rec default_bhoeapoifhf 
  ?mnppbggndma:((mnppbggndma:int32) = 0l)
  ?oocjacfoofn:((oocjacfoofn:int32 list) = [])
  ?ggdaffjnmpa:((ggdaffjnmpa:int32) = 0l)
  ?base_avatar_id_list:((base_avatar_id_list:int32 list) = [])
  () : bhoeapoifhf  = {
  mnppbggndma;
  oocjacfoofn;
  ggdaffjnmpa;
  base_avatar_id_list;
}

let rec default_jahlejaahnj 
  ?niiingfcpol:((niiingfcpol:hpeecfakjeg option) = None)
  ?mnppbggndma:((mnppbggndma:int32) = 0l)
  ?hiacklcdijn:((hiacklcdijn:fopiophbiph option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : jahlejaahnj  = {
  niiingfcpol;
  mnppbggndma;
  hiacklcdijn;
  retcode;
}

let rec default_iakpmokoopf = ()

let rec default_piclnnfbhgg 
  ?niiingfcpol:((niiingfcpol:hpeecfakjeg option) = None)
  ?hiacklcdijn:((hiacklcdijn:fopiophbiph option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : piclnnfbhgg  = {
  niiingfcpol;
  hiacklcdijn;
  retcode;
}

let rec default_ppffnpdebnn = ()

let rec default_pajenkffpjd 
  ?hiacklcdijn:((hiacklcdijn:fopiophbiph option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : pajenkffpjd  = {
  hiacklcdijn;
  retcode;
}

let rec default_nagmgplccnn = ()

let rec default_mmigimbighd 
  ?pdbobmjedbc:((pdbobmjedbc:bninelnejfi option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?hiacklcdijn:((hiacklcdijn:fopiophbiph option) = None)
  () : mmigimbighd  = {
  pdbobmjedbc;
  retcode;
  hiacklcdijn;
}

let rec default_bjjmdnhejkj 
  ?kemnjbikaod:((kemnjbikaod:int32) = 0l)
  ?bookldicfae:((bookldicfae:int32) = 0l)
  () : bjjmdnhejkj  = {
  kemnjbikaod;
  bookldicfae;
}

let rec default_pkgkoiljmod 
  ?retcode:((retcode:int32) = 0l)
  ?hiacklcdijn:((hiacklcdijn:fopiophbiph option) = None)
  () : pkgkoiljmod  = {
  retcode;
  hiacklcdijn;
}

let rec default_bbfpjokigjo 
  ?bookldicfae:((bookldicfae:int32) = 0l)
  ?chmmbcgmfho:((chmmbcgmfho:int32) = 0l)
  () : bbfpjokigjo  = {
  bookldicfae;
  chmmbcgmfho;
}

let rec default_bnjigcnepgg 
  ?retcode:((retcode:int32) = 0l)
  ?hiacklcdijn:((hiacklcdijn:fopiophbiph option) = None)
  () : bnjigcnepgg  = {
  retcode;
  hiacklcdijn;
}

let rec default_ebgegjpdclg 
  ?chmmbcgmfho:((chmmbcgmfho:int32) = 0l)
  ?status:((status:dmgmpocpddc) = default_dmgmpocpddc ())
  ?fogjohmngpc:((fogjohmngpc:gadcmbokpdi list) = [])
  ?mgdnainpahe:((mgdnainpahe:meahibhbfon) = default_meahibhbfon ())
  () : ebgegjpdclg  = {
  chmmbcgmfho;
  status;
  fogjohmngpc;
  mgdnainpahe;
}

let rec default_hfbgpdklehf 
  ?jjoibnmplan:((jjoibnmplan:int32 list) = [])
  ?olpnhmcbmbg:((olpnhmcbmbg:int32) = 0l)
  () : hfbgpdklehf  = {
  jjoibnmplan;
  olpnhmcbmbg;
}

let rec default_bkbaamlloid 
  ?exp:((exp:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  ?opjkekdmnif:((opjkekdmnif:int32 list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : bkbaamlloid  = {
  exp;
  reward;
  opjkekdmnif;
  retcode;
}

let rec default_ofeopdagmld 
  ?exp:((exp:int32) = 0l)
  () : ofeopdagmld  = {
  exp;
}

let rec default_cnanfpfmfgi = ()

let rec default_bkgcabadlgh 
  ?ggdaffjnmpa:((ggdaffjnmpa:int32) = 0l)
  ?pgonhkcjnme:((pgonhkcjnme:int32 list) = [])
  ?lijjmafkdnn:((lijjmafkdnn:bool) = false)
  ?dnmhgkbcinm:((dnmhgkbcinm:bool) = false)
  ?mkideamcloh:((mkideamcloh:bool) = false)
  () : bkgcabadlgh  = {
  ggdaffjnmpa;
  pgonhkcjnme;
  lijjmafkdnn;
  dnmhgkbcinm;
  mkideamcloh;
}

let rec default_iehdlmeodcb 
  ?end_time:((end_time:int64) = 0L)
  ?deiejhjkjgb:((deiejhjkjgb:bool) = false)
  ?fibjjgfhakl:((fibjjgfhakl:int32) = 0l)
  ?mnppbggndma:((mnppbggndma:int32) = 0l)
  () : iehdlmeodcb  = {
  end_time;
  deiejhjkjgb;
  fibjjgfhakl;
  mnppbggndma;
}

let rec default_alanojoldck 
  ?exp:((exp:int32) = 0l)
  ?opjkekdmnif:((opjkekdmnif:int32 list) = [])
  () : alanojoldck  = {
  exp;
  opjkekdmnif;
}

let rec default_gbnockoacmj 
  ?bbanknacajb:((bbanknacajb:lljpmigaffg option) = None)
  ?bcdcpfglloa:((bcdcpfglloa:int32) = 0l)
  () : gbnockoacmj  = {
  bbanknacajb;
  bcdcpfglloa;
}

let rec default_imhjlecpgmf 
  ?ikfhibhbodi:((ikfhibhbodi:int32) = 0l)
  ?dnmhgkbcinm:((dnmhgkbcinm:bool) = false)
  () : imhjlecpgmf  = {
  ikfhibhbodi;
  dnmhgkbcinm;
}

let rec default_ibpjgdimgdh 
  ?olpnhmcbmbg:((olpnhmcbmbg:int32) = 0l)
  ?benepmhmkki:((benepmhmkki:int32) = 0l)
  () : ibpjgdimgdh  = {
  olpnhmcbmbg;
  benepmhmkki;
}

let rec default_obekcikjcnd 
  ?nnijgeiepnp:((nnijgeiepnp:int32 list) = [])
  ?lfongcdalle:((lfongcdalle:int32) = 0l)
  ?hmcpmadehgc:((hmcpmadehgc:int32 list) = [])
  ?majcffpcdeg:((majcffpcdeg:int32 list) = [])
  ?jgajllhobmi:((jgajllhobmi:int32 list) = [])
  ?pkcflbcbemf:((pkcflbcbemf:int32 list) = [])
  () : obekcikjcnd  = {
  nnijgeiepnp;
  lfongcdalle;
  hmcpmadehgc;
  majcffpcdeg;
  jgajllhobmi;
  pkcflbcbemf;
}

let rec default_ibbhfnhbhin 
  ?buff_list:((buff_list:mnicidbdjfi list) = [])
  ?dbgaojmndmc:((dbgaojmndmc:int32) = 0l)
  ?pcpkkbfpbeb:((pcpkkbfpbeb:djpaibjmmoe list) = [])
  () : ibbhfnhbhin  = {
  buff_list;
  dbgaojmndmc;
  pcpkkbfpbeb;
}

let rec default_ibgjfmdlgfg 
  ?data:((data:ibbhfnhbhin option) = None)
  ?name:((name:string) = "")
  ?njokhdgdfcm:((njokhdgdfcm:ibpjgdimgdh option) = None)
  ?end_time:((end_time:int64) = 0L)
  ?afefamkndoo:((afefamkndoo:int32) = 0l)
  ?time:((time:int64) = 0L)
  ?niiingfcpol:((niiingfcpol:hpeecfakjeg option) = None)
  () : ibgjfmdlgfg  = {
  data;
  name;
  njokhdgdfcm;
  end_time;
  afefamkndoo;
  time;
  niiingfcpol;
}

let rec default_omaobpkepbk 
  ?mpjcpjidjno:((mpjcpjidjno:ibgjfmdlgfg list) = [])
  ?njokhdgdfcm:((njokhdgdfcm:ibpjgdimgdh option) = None)
  ?cmmbjnhniak:((cmmbjnhniak:gbnockoacmj option) = None)
  ?mdnhpflhbbi:((mdnhpflhbbi:bkgcabadlgh list) = [])
  ?fbaabhmhhmf:((fbaabhmhhmf:imhjlecpgmf list) = [])
  ?eoabdpajekd:((eoabdpajekd:alanojoldck option) = None)
  ?mgancbncadd:((mgancbncadd:obekcikjcnd option) = None)
  ?eidlebddhfm:((eidlebddhfm:iehdlmeodcb option) = None)
  () : omaobpkepbk  = {
  mpjcpjidjno;
  njokhdgdfcm;
  cmmbjnhniak;
  mdnhpflhbbi;
  fbaabhmhhmf;
  eoabdpajekd;
  mgancbncadd;
  eidlebddhfm;
}

let rec default_pmcafkblcek 
  ?fecdamigijp:((fecdamigijp:omaobpkepbk option) = None)
  ?niiingfcpol:((niiingfcpol:hpeecfakjeg option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : pmcafkblcek  = {
  fecdamigijp;
  niiingfcpol;
  retcode;
}

let rec default_ighcanmlfpk 
  ?mdnhpflhbbi:((mdnhpflhbbi:bkgcabadlgh list) = [])
  () : ighcanmlfpk  = {
  mdnhpflhbbi;
}

let rec default_okpoedldcbc = ()

let rec default_hfddpfdnbob 
  ?jjfmndbpgkf:((jjfmndbpgkf:ibgjfmdlgfg list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : hfddpfdnbob  = {
  jjfmndbpgkf;
  retcode;
}

let rec default_falpomddcnm 
  ?afefamkndoo:((afefamkndoo:int32) = 0l)
  () : falpomddcnm  = {
  afefamkndoo;
}

let rec default_ehlnpdcbmkg 
  ?retcode:((retcode:int32) = 0l)
  ?afefamkndoo:((afefamkndoo:int32) = 0l)
  () : ehlnpdcbmkg  = {
  retcode;
  afefamkndoo;
}

let rec default_khgalbohlmd 
  ?name:((name:string) = "")
  ?afefamkndoo:((afefamkndoo:int32) = 0l)
  () : khgalbohlmd  = {
  name;
  afefamkndoo;
}

let rec default_mnejjjainkj 
  ?name:((name:string) = "")
  ?afefamkndoo:((afefamkndoo:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : mnejjjainkj  = {
  name;
  afefamkndoo;
  retcode;
}

let rec default_opgfcfjckld 
  ?afefamkndoo:((afefamkndoo:int32) = 0l)
  () : opgfcfjckld  = {
  afefamkndoo;
}

let rec default_gjignnodbdm = ()

let rec default_aefpfcoeocm 
  ?retcode:((retcode:int32) = 0l)
  ?cmmbjnhniak:((cmmbjnhniak:gbnockoacmj option) = None)
  () : aefpfcoeocm  = {
  retcode;
  cmmbjnhniak;
}

let rec default_hiobbkapppf 
  ?hehehnicpjn:((hehehnicpjn:int32) = 0l)
  () : hiobbkapppf  = {
  hehehnicpjn;
}

let rec default_apfmcbajpno 
  ?retcode:((retcode:int32) = 0l)
  ?cmmbjnhniak:((cmmbjnhniak:gbnockoacmj option) = None)
  () : apfmcbajpno  = {
  retcode;
  cmmbjnhniak;
}

let rec default_fcjichofhaj = ()

let rec default_mninjbbldcn 
  ?cmmbjnhniak:((cmmbjnhniak:gbnockoacmj option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : mninjbbldcn  = {
  cmmbjnhniak;
  retcode;
}

let rec default_pihijmjijgj 
  ?avatar_list:((avatar_list:flffdckajej list) = [])
  ?kahhjlklcjl:((kahhjlklcjl:int32) = 0l)
  ?cnbholdlobc:((cnbholdlobc:int32) = 0l)
  ?gehbffmbgmi:((gehbffmbgmi:bool) = false)
  ?bnlgcohhahg:((bnlgcohhahg:int32) = 0l)
  () : pihijmjijgj  = {
  avatar_list;
  kahhjlklcjl;
  cnbholdlobc;
  gehbffmbgmi;
  bnlgcohhahg;
}

let rec default_jkcnlobbehh 
  ?hiacklcdijn:((hiacklcdijn:fopiophbiph option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : jkcnlobbehh  = {
  hiacklcdijn;
  retcode;
}

let rec default_bcbpbfgkocl = ()

let rec default_hmncjcdmnoc 
  ?hiacklcdijn:((hiacklcdijn:fopiophbiph option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : hmncjcdmnoc  = {
  hiacklcdijn;
  retcode;
}

let rec default_ipjbipgkkce 
  ?gehbffmbgmi:((gehbffmbgmi:bool) = false)
  () : ipjbipgkkce  = {
  gehbffmbgmi;
}

let rec default_hgdjnbdojjl 
  ?retcode:((retcode:int32) = 0l)
  ?ibllilenejp:((ibllilenejp:scene_battle_info option) = None)
  () : hgdjnbdojjl  = {
  retcode;
  ibllilenejp;
}

let rec default_ckgapkhdnnd = ()

let rec default_hjbegoofpdm 
  ?kahhjlklcjl:((kahhjlklcjl:int32) = 0l)
  ?cnbholdlobc:((cnbholdlobc:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?bnlgcohhahg:((bnlgcohhahg:int32) = 0l)
  () : hjbegoofpdm  = {
  kahhjlklcjl;
  cnbholdlobc;
  retcode;
  bnlgcohhahg;
}

let rec default_eombaehnefe 
  ?lebembolhgj:((lebembolhgj:int32 list) = [])
  () : eombaehnefe  = {
  lebembolhgj;
}

let rec default_hkbpgokjfnj 
  ?lobeaeamlln:((lobeaeamlln:int32 list) = [])
  ?ojdlhnjpibk:((ojdlhnjpibk:llecchannpc) = default_llecchannpc ())
  () : hkbpgokjfnj  = {
  lobeaeamlln;
  ojdlhnjpibk;
}

let rec default_mmlpmelombo 
  ?ggdaffjnmpa:((ggdaffjnmpa:int32) = 0l)
  () : mmlpmelombo  = {
  ggdaffjnmpa;
}

let rec default_coenhaabago 
  ?pdbobmjedbc:((pdbobmjedbc:bninelnejfi option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : coenhaabago  = {
  pdbobmjedbc;
  retcode;
}

let rec default_dhdgbnfnfai 
  ?afefamkndoo:((afefamkndoo:int32) = 0l)
  ?ggdaffjnmpa:((ggdaffjnmpa:int32) = 0l)
  ?name:((name:string) = "")
  () : dhdgbnfnfai  = {
  afefamkndoo;
  ggdaffjnmpa;
  name;
}

let rec default_mficaiiiekj 
  ?hiacklcdijn:((hiacklcdijn:fopiophbiph option) = None)
  ?gomhdhcdflh:((gomhdhcdflh:ibgjfmdlgfg option) = None)
  ?dcalkgibojm:((dcalkgibojm:item_list option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?akppfhlknnp:((akppfhlknnp:item_list option) = None)
  () : mficaiiiekj  = {
  hiacklcdijn;
  gomhdhcdflh;
  dcalkgibojm;
  retcode;
  akppfhlknnp;
}

let rec default_gafkfelneml 
  ?eidlebddhfm:((eidlebddhfm:iehdlmeodcb option) = None)
  () : gafkfelneml  = {
  eidlebddhfm;
}

let rec default_mcomcecfegd = ()

let rec default_ekjkgipimmb 
  ?dceibjclkbb:((dceibjclkbb:fpfmjggcnld option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?ofjdnoboneb:((ofjdnoboneb:fnpekjdgohi option) = None)
  ?odcloijfnip:((odcloijfnip:jebbgppcabc option) = None)
  () : ekjkgipimmb  = {
  dceibjclkbb;
  retcode;
  ofjdnoboneb;
  odcloijfnip;
}

let rec default_iokabfcbejn = ()

let rec default_kminbeklojh 
  ?ddgcjndjeod:((ddgcjndjeod:int32 list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?ilinhdeianh:((ilinhdeianh:int32 list) = [])
  () : kminbeklojh  = {
  ddgcjndjeod;
  retcode;
  ilinhdeianh;
}

let rec default_gklnflepfke 
  ?joipnmmehbm:((joipnmmehbm:item_cost_data option) = None)
  () : gklnflepfke  = {
  joipnmmehbm;
}

let rec default_ffhalolphba 
  ?base_avatar_id_list:((base_avatar_id_list:int32 list) = [])
  ?idcigdfjabi:((idcigdfjabi:int32) = 0l)
  () : ffhalolphba  = {
  base_avatar_id_list;
  idcigdfjabi;
}

let rec default_lcglakkjjmb 
  ?joipnmmehbm:((joipnmmehbm:item_cost_data option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : lcglakkjjmb  = {
  joipnmmehbm;
  retcode;
}

let rec default_pcfhlaallip 
  ?pdbobmjedbc:((pdbobmjedbc:bninelnejfi option) = None)
  ?hiacklcdijn:((hiacklcdijn:fopiophbiph option) = None)
  () : pcfhlaallip  = {
  pdbobmjedbc;
  hiacklcdijn;
}

let rec default_khaicemhkel () = (Cmd_roll_shop_type_none:khaicemhkel)

let rec default_hnjnkcakobk 
  ?lglonllbmkc:((lglonllbmkc:int32) = 0l)
  () : hnjnkcakobk  = {
  lglonllbmkc;
}

let rec default_ldlepnnkbfd 
  ?retcode:((retcode:int32) = 0l)
  ?ohmaodidhnl:((ohmaodidhnl:int32) = 0l)
  ?ellcjbcjncl:((ellcjbcjncl:int32 list) = [])
  ?lglonllbmkc:((lglonllbmkc:int32) = 0l)
  () : ldlepnnkbfd  = {
  retcode;
  ohmaodidhnl;
  ellcjbcjncl;
  lglonllbmkc;
}

let rec default_agblbeapjdj 
  ?ohmaodidhnl:((ohmaodidhnl:int32) = 0l)
  ?lglonllbmkc:((lglonllbmkc:int32) = 0l)
  ?bpijdelaecg:((bpijdelaecg:int32) = 0l)
  () : agblbeapjdj  = {
  ohmaodidhnl;
  lglonllbmkc;
  bpijdelaecg;
}

let rec default_gajmbmmlhmo 
  ?jplhmpiafoe:((jplhmpiafoe:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?lglonllbmkc:((lglonllbmkc:int32) = 0l)
  ?ialfoddhdkp:((ialfoddhdkp:int32) = 0l)
  () : gajmbmmlhmo  = {
  jplhmpiafoe;
  reward;
  retcode;
  lglonllbmkc;
  ialfoddhdkp;
}

let rec default_gppcmgfgfhf 
  ?lglonllbmkc:((lglonllbmkc:int32) = 0l)
  () : gppcmgfgfhf  = {
  lglonllbmkc;
}

let rec default_take_roll_shop_reward_sc_rsp 
  ?roll_shop_id:((roll_shop_id:int32) = 0l)
  ?group_type:((group_type:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  () : take_roll_shop_reward_sc_rsp  = {
  roll_shop_id;
  group_type;
  retcode;
  reward;
}

let rec default_ipadbebaclh () = (Cmd_scene_type_none:ipadbebaclh)

let rec default_ifbkebonbne () = (Scene_cast_skill_none:ifbkebonbne)

let rec default_gmpidmbmegf () = (Monster_battle_type_none:gmpidmbmegf)

let rec default_ppleglfgepi () = (Scene_entity_buff_change_type_default:ppleglfgepi)

let rec default_bddhbpgibjn () = (Enter_scene_reason_none:bddhbpgibjn)

let rec default_poigoofgiac () = (Map_info_chest_type_none:poigoofgiac)

let rec default_gonnolnjgnf () = (Gameplay_counter_update_reason_none:gonnolnjgnf)

let rec default_agjnodchiak () = (Scene_group_refresh_type_none:agjnodchiak)

let rec default_popgipmfhje 
  ?ionhnkbbldj:((ionhnkbbldj:int32) = 0l)
  ?value:((value:int32) = 0l)
  () : popgipmfhje  = {
  ionhnkbbldj;
  value;
}

let rec default_pmemfoppjaf 
  ?map_layer:((map_layer:int32) = 0l)
  ?jililehmdkg:((jililehmdkg:motion_info option) = None)
  ?phkkegggmdi:((phkkegggmdi:int32) = 0l)
  ?ccclmigdjkc:((ccclmigdjkc:bool) = false)
  () : pmemfoppjaf  = {
  map_layer;
  jililehmdkg;
  phkkegggmdi;
  ccclmigdjkc;
}

let rec default_mmddmljkjgi 
  ?ihnakchicdm:((ihnakchicdm:int64) = 0L)
  ?eicocoilool:((eicocoilool:pmemfoppjaf list) = [])
  ?entry_id:((entry_id:int32) = 0l)
  () : mmddmljkjgi  = {
  ihnakchicdm;
  eicocoilool;
  entry_id;
}

let rec default_mkkfbnenhff 
  ?retcode:((retcode:int32) = 0l)
  ?eicocoilool:((eicocoilool:pmemfoppjaf list) = [])
  ?download_data:((download_data:client_download_data option) = None)
  () : mkkfbnenhff  = {
  retcode;
  eicocoilool;
  download_data;
}

let rec default_gnmoicglmnh 
  ?phkkegggmdi:((phkkegggmdi:int32) = 0l)
  ?jililehmdkg:((jililehmdkg:motion_info option) = None)
  ?entry_id:((entry_id:int32) = 0l)
  ?micgnniimak:((micgnniimak:int32) = 0l)
  () : gnmoicglmnh  = {
  phkkegggmdi;
  jililehmdkg;
  entry_id;
  micgnniimak;
}

let rec default_kclfefmgigh 
  ?ggodlmaaigd:((ggodlmaaigd:int32) = 0l)
  () : kclfefmgigh  = {
  ggodlmaaigd;
}

let rec default_lfmoildjodb 
  ?prop_entity_id:((prop_entity_id:int32) = 0l)
  ?hgneiojdpoa:((hgneiojdpoa:int32) = 0l)
  () : lfmoildjodb  = {
  prop_entity_id;
  hgneiojdpoa;
}

let rec default_bgbelanblab 
  ?prop_entity_id:((prop_entity_id:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?prop_state:((prop_state:int32) = 0l)
  () : bgbelanblab  = {
  prop_entity_id;
  retcode;
  prop_state;
}

let rec default_kncjhglklbi 
  ?bifppcoboce:((bifppcoboce:int32) = 0l)
  ?cgoahpoehno:((cgoahpoehno:gmpidmbmegf) = default_gmpidmbmegf ())
  () : kncjhglklbi  = {
  bifppcoboce;
  cgoahpoehno;
}

let rec default_jdffbhnheaf 
  ?value:((value:float) = 0.)
  ?pfmlckgckob:((pfmlckgckob:string) = "")
  () : jdffbhnheaf  = {
  value;
  pfmlckgckob;
}

let rec default_bkpjapjejhp 
  ?ggogccbgofo:((ggogccbgofo:string) = "")
  ?jnpbpmkhoam:((jnpbpmkhoam:ifbkebonbne list) = [])
  ?egofdbhnple:((egofdbhnple:int32) = 0l)
  ?gcnngeanccp:((gcnngeanccp:int32 list) = [])
  ?ohainjgiflk:((ohainjgiflk:int32 list) = [])
  ?dynamic_values:((dynamic_values:jdffbhnheaf list) = [])
  ?ihapfjkmcee:((ihapfjkmcee:motion_info option) = None)
  ?gbhffcbgjoc:((gbhffcbgjoc:int32) = 0l)
  ?mkfjacifjmc:((mkfjacifjmc:int32) = 0l)
  ?skill_index:((skill_index:int32) = 0l)
  ?kapkegapokf:((kapkegapokf:fnmhaajaaek list) = [])
  () : bkpjapjejhp  = {
  ggogccbgofo;
  jnpbpmkhoam;
  egofdbhnple;
  gcnngeanccp;
  ohainjgiflk;
  dynamic_values;
  ihapfjkmcee;
  gbhffcbgjoc;
  mkfjacifjmc;
  skill_index;
  kapkegapokf;
}

let rec default_iliogcgpcbf 
  ?bjlbgfejgfa:((bjlbgfejgfa:kncjhglklbi list) = [])
  ?gbhffcbgjoc:((gbhffcbgjoc:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?ibllilenejp:((ibllilenejp:scene_battle_info option) = None)
  () : iliogcgpcbf  = {
  bjlbgfejgfa;
  gbhffcbgjoc;
  retcode;
  ibllilenejp;
}

let rec default_njbacjfllbk 
  ?egofdbhnple:((egofdbhnple:int32) = 0l)
  ?gbhffcbgjoc:((gbhffcbgjoc:int32) = 0l)
  ?skill_index:((skill_index:int32) = 0l)
  () : njbacjfllbk  = {
  egofdbhnple;
  gbhffcbgjoc;
  skill_index;
}

let rec default_mlpgejdgmcl 
  ?retcode:((retcode:int32) = 0l)
  ?gbhffcbgjoc:((gbhffcbgjoc:int32) = 0l)
  () : mlpgejdgmcl  = {
  retcode;
  gbhffcbgjoc;
}

let rec default_hhpdiameemj 
  ?gbhffcbgjoc:((gbhffcbgjoc:int32) = 0l)
  ?hcoemhcfomn:((hcoemhcfomn:int32) = 0l)
  () : hhpdiameemj  = {
  gbhffcbgjoc;
  hcoemhcfomn;
}

let rec default_dmdppmebold 
  ?anhhbjmpmnl:((anhhbjmpmnl:bool) = false)
  ?ohibnloihci:((ohibnloihci:int32) = 0l)
  ?nnpfabenejo:((nnpfabenejo:camlhbegnmo) = default_camlhbegnmo ())
  () : dmdppmebold  = {
  anhhbjmpmnl;
  ohibnloihci;
  nnpfabenejo;
}

let rec default_aiglghmpbfo 
  ?ibllilenejp:((ibllilenejp:scene_battle_info option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : aiglghmpbfo  = {
  ibllilenejp;
  retcode;
}

let rec default_bblpbdkekmk 
  ?nnpfabenejo:((nnpfabenejo:camlhbegnmo) = default_camlhbegnmo ())
  () : bblpbdkekmk  = {
  nnpfabenejo;
}

let rec default_dmhfnlkmmnf 
  ?retcode:((retcode:int32) = 0l)
  () : dmhfnlkmmnf  = {
  retcode;
}

let rec default_get_cur_scene_info_cs_req = ()

let rec default_get_cur_scene_info_sc_rsp 
  ?retcode:((retcode:int32) = 0l)
  ?scene:((scene:scene_info option) = None)
  () : get_cur_scene_info_sc_rsp  = {
  retcode;
  scene;
}

let rec default_bgkdcahdijj 
  ?mgdnainpahe:((mgdnainpahe:ppleglfgepi) = default_ppleglfgepi ())
  ?kacgpkifjie:((kacgpkifjie:ifdkgfigkgn option) = None)
  ?mklbafcpmpg:((mklbafcpmpg:int32) = 0l)
  ?phkkegggmdi:((phkkegggmdi:int32) = 0l)
  () : bgkdcahdijj  = {
  mgdnainpahe;
  kacgpkifjie;
  mklbafcpmpg;
  phkkegggmdi;
}

let rec default_lhbjcbdmgij 
  ?jmkhgpcnlmh:((jmkhgpcnlmh:bgkdcahdijj list) = [])
  () : lhbjcbdmgij  = {
  jmkhgpcnlmh;
}

let rec default_mmkbjdonkbe 
  ?prop_entity_id:((prop_entity_id:int32) = 0l)
  ?floor_id:((floor_id:int32) = 0l)
  ?plane_id:((plane_id:int32) = 0l)
  () : mmkbjdonkbe  = {
  prop_entity_id;
  floor_id;
  plane_id;
}

let rec default_cblpcneeikp 
  ?retcode:((retcode:int32) = 0l)
  () : cblpcneeikp  = {
  retcode;
}

let rec default_eabcbfbinbf 
  ?dabiabbbnhd:((dabiabbbnhd:int64) = 0L)
  () : eabcbfbinbf  = {
  dabiabbbnhd;
}

let rec default_gaplpnfndmi = ()

let rec default_ncnclpbndjl 
  ?scene:((scene:scene_info option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : ncnclpbndjl  = {
  scene;
  retcode;
}

let rec default_abdkilpbdii 
  ?hgkmoddpamj:((hgkmoddpamj:int32) = 0l)
  () : abdkilpbdii  = {
  hgkmoddpamj;
}

let rec default_njkicjcjjof 
  ?retcode:((retcode:int32) = 0l)
  () : njkicjcjjof  = {
  retcode;
}

let rec default_jcfdeoiocka 
  ?phkkegggmdi:((phkkegggmdi:int32) = 0l)
  () : jcfdeoiocka  = {
  phkkegggmdi;
}

let rec default_jcaihcenlad 
  ?retcode:((retcode:int32) = 0l)
  () : jcaihcenlad  = {
  retcode;
}

let rec default_iealhphddim = ()

let rec default_bfnlhhlpmka 
  ?retcode:((retcode:int32) = 0l)
  () : bfnlhhlpmka  = {
  retcode;
}

let rec default_save_points_info_notify 
  ?refresh_time:((refresh_time:int64) = 0L)
  ?valid_times:((valid_times:int32) = 0l)
  () : save_points_info_notify  = {
  refresh_time;
  valid_times;
}

let rec default_start_cocoon_stage_cs_req 
  ?wave:((wave:int32) = 0l)
  ?world_level:((world_level:int32) = 0l)
  ?prop_entity_id:((prop_entity_id:int32) = 0l)
  ?cocoon_id:((cocoon_id:int32) = 0l)
  () : start_cocoon_stage_cs_req  = {
  wave;
  world_level;
  prop_entity_id;
  cocoon_id;
}

let rec default_start_cocoon_stage_sc_rsp 
  ?cocoon_id:((cocoon_id:int32) = 0l)
  ?prop_entity_id:((prop_entity_id:int32) = 0l)
  ?wave:((wave:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?battle_info:((battle_info:scene_battle_info option) = None)
  () : start_cocoon_stage_sc_rsp  = {
  cocoon_id;
  prop_entity_id;
  wave;
  retcode;
  battle_info;
}

let rec default_hjdhemepacp 
  ?jililehmdkg:((jililehmdkg:motion_info option) = None)
  ?jkoelhljkhd:((jkoelhljkhd:bool) = false)
  () : hjdhemepacp  = {
  jililehmdkg;
  jkoelhljkhd;
}

let rec default_jcijkhcpjji 
  ?retcode:((retcode:int32) = 0l)
  () : jcijkhcpjji  = {
  retcode;
}

let rec default_claiggdhaao 
  ?mkhhhhahgii:((mkhhhhahgii:bool) = false)
  () : claiggdhaao  = {
  mkhhhhahgii;
}

let rec default_icaeiakdfcm 
  ?mkhhhhahgii:((mkhhhhahgii:bool) = false)
  ?retcode:((retcode:int32) = 0l)
  () : icaeiakdfcm  = {
  mkhhhhahgii;
  retcode;
}

let rec default_ecfnfimfjgh 
  ?phkkegggmdi:((phkkegggmdi:int32) = 0l)
  () : ecfnfimfjgh  = {
  phkkegggmdi;
}

let rec default_oeiibhdgkcm 
  ?phkkegggmdi:((phkkegggmdi:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : oeiibhdgkcm  = {
  phkkegggmdi;
  retcode;
}

let rec default_edhfokfjifm 
  ?phkkegggmdi:((phkkegggmdi:int32) = 0l)
  ?world_level:((world_level:int32) = 0l)
  () : edhfokfjifm  = {
  phkkegggmdi;
  world_level;
}

let rec default_kbbjoklpdgf 
  ?phkkegggmdi:((phkkegggmdi:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?world_level:((world_level:int32) = 0l)
  () : kbbjoklpdgf  = {
  phkkegggmdi;
  retcode;
  world_level;
}

let rec default_dglpnoikfee 
  ?nlfonahakgb:((nlfonahakgb:int32) = 0l)
  ?avatar_id:((avatar_id:int32) = 0l)
  () : dglpnoikfee  = {
  nlfonahakgb;
  avatar_id;
}

let rec default_cmkmldlnmhm 
  ?jebneocbboe:((jebneocbboe:bool) = false)
  ?jbaepeglfid:((jbaepeglfid:int32) = 0l)
  ?bafopockgkh:((bafopockgkh:dglpnoikfee list) = [])
  () : cmkmldlnmhm  = {
  jebneocbboe;
  jbaepeglfid;
  bafopockgkh;
}

let rec default_ajkldpekjda 
  ?cbclgknhnib:((cbclgknhnib:int64) = 0L)
  ?nolemebkcmd:((nolemebkcmd:int32) = 0l)
  () : ajkldpekjda  = {
  cbclgknhnib;
  nolemebkcmd;
}

let rec default_enogbmnbgoi = ()

let rec default_dfjoaaggjeh 
  ?retcode:((retcode:int32) = 0l)
  ?klcicncmefe:((klcicncmefe:cmkmldlnmhm option) = None)
  ?dhpbnongbac:((dhpbnongbac:ajkldpekjda option) = None)
  () : dfjoaaggjeh  = {
  retcode;
  klcicncmefe;
  dhpbnongbac;
}

let rec default_noilflmcfid 
  ?klcicncmefe:((klcicncmefe:cmkmldlnmhm option) = None)
  () : noilflmcfid  = {
  klcicncmefe;
}

let rec default_opfpniadbbh 
  ?klcicncmefe:((klcicncmefe:cmkmldlnmhm option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : opfpniadbbh  = {
  klcicncmefe;
  retcode;
}

let rec default_fbhlohkcbli 
  ?prop_entity_id:((prop_entity_id:int32) = 0l)
  ?floor_id:((floor_id:int32) = 0l)
  ?plane_id:((plane_id:int32) = 0l)
  () : fbhlohkcbli  = {
  prop_entity_id;
  floor_id;
  plane_id;
}

let rec default_spring_recover_sc_rsp 
  ?retcode:((retcode:int32) = 0l)
  ?heal_pool_info:((heal_pool_info:ajkldpekjda option) = None)
  () : spring_recover_sc_rsp  = {
  retcode;
  heal_pool_info;
}

let rec default_nefmieonfmh 
  ?dhpbnongbac:((dhpbnongbac:ajkldpekjda option) = None)
  () : nefmieonfmh  = {
  dhpbnongbac;
}

let rec default_agpcckalmid 
  ?prop_entity_id:((prop_entity_id:int32) = 0l)
  ?floor_id:((floor_id:int32) = 0l)
  ?plane_id:((plane_id:int32) = 0l)
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  ?id:((id:int32) = 0l)
  ?bopcmcgkedd:((bopcmcgkedd:bool) = false)
  () : agpcckalmid  = {
  prop_entity_id;
  floor_id;
  plane_id;
  avatar_type;
  id;
  bopcmcgkedd;
}

let rec default_spring_recover_single_avatar_sc_rsp 
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  ?hp:((hp:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?id:((id:int32) = 0l)
  () : spring_recover_single_avatar_sc_rsp  = {
  avatar_type;
  hp;
  retcode;
  id;
}

let rec default_fmeoiomalgi 
  ?plane_id:((plane_id:int32) = 0l)
  ?fccnkckpbjn:((fccnkckpbjn:popgipmfhje option) = None)
  ?floor_id:((floor_id:int32) = 0l)
  () : fmeoiomalgi  = {
  plane_id;
  fccnkckpbjn;
  floor_id;
}

let rec default_pejpeakhfhj 
  ?entry_id:((entry_id:int32) = 0l)
  ?jbdgkicnbfa:((jbdgkicnbfa:string) = "")
  ?group_id:((group_id:int32) = 0l)
  () : pejpeakhfhj  = {
  entry_id;
  jbdgkicnbfa;
  group_id;
}

let rec default_onadjaenglm 
  ?entry_id:((entry_id:int32) = 0l)
  ?group_id:((group_id:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : onadjaenglm  = {
  entry_id;
  group_id;
  retcode;
}

let rec default_mbkpbgbfinl 
  ?stage_id:((stage_id:int32) = 0l)
  () : mbkpbgbfinl  = {
  stage_id;
}

let rec default_goeginnoefe 
  ?ibllilenejp:((ibllilenejp:scene_battle_info option) = None)
  ?stage_id:((stage_id:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : goeginnoefe  = {
  ibllilenejp;
  stage_id;
  retcode;
}

let rec default_okgogolibcg 
  ?mdnkifallep:((mdnkifallep:pmemfoppjaf option) = None)
  ?entry_id:((entry_id:int32) = 0l)
  () : okgogolibcg  = {
  mdnkifallep;
  entry_id;
}

let rec default_haikklmpfhp 
  ?retcode:((retcode:int32) = 0l)
  ?micgnniimak:((micgnniimak:int32) = 0l)
  ?mdnkifallep:((mdnkifallep:pmemfoppjaf option) = None)
  () : haikklmpfhp  = {
  retcode;
  micgnniimak;
  mdnkifallep;
}

let rec default_kfkniojkagj 
  ?nfcojigifbb:((nfcojigifbb:int32) = 0l)
  ?ijnpccndcgi:((ijnpccndcgi:int32) = 0l)
  ?entry_id:((entry_id:int32) = 0l)
  ?klgdfdlhelh:((klgdfdlhelh:int32) = 0l)
  ?eclblfpbjlf:((eclblfpbjlf:bool) = false)
  () : kfkniojkagj  = {
  nfcojigifbb;
  ijnpccndcgi;
  entry_id;
  klgdfdlhelh;
  eclblfpbjlf;
}

let rec default_pggcmoobcpd 
  ?dngkkklpnjc:((dngkkklpnjc:bool) = false)
  ?retcode:((retcode:int32) = 0l)
  ?eclblfpbjlf:((eclblfpbjlf:bool) = false)
  ?nfcojigifbb:((nfcojigifbb:int32) = 0l)
  ?ijnpccndcgi:((ijnpccndcgi:int32) = 0l)
  () : pggcmoobcpd  = {
  dngkkklpnjc;
  retcode;
  eclblfpbjlf;
  nfcojigifbb;
  ijnpccndcgi;
}

let rec default_bfknfaajlik 
  ?lineup:((lineup:lineup_info option) = None)
  ?mgdnainpahe:((mgdnainpahe:bddhbpgibjn) = default_bddhbpgibjn ())
  ?scene:((scene:scene_info option) = None)
  () : bfknfaajlik  = {
  lineup;
  mgdnainpahe;
  scene;
}

let rec default_hdacikpcknf 
  ?mknfcmflagf:((mknfcmflagf:item_list option) = None)
  ?donbbmfeogl:((donbbmfeogl:item_list option) = None)
  ?gffofnglfgm:((gffofnglfgm:item_list option) = None)
  ?kkbnigjgnlg:((kkbnigjgnlg:item_list option) = None)
  () : hdacikpcknf  = {
  mknfcmflagf;
  donbbmfeogl;
  gffofnglfgm;
  kkbnigjgnlg;
}

let rec default_dngikkglnie 
  ?nfcojigifbb:((nfcojigifbb:int32) = 0l)
  ?cjkoijlahho:((cjkoijlahho:int32) = 0l)
  ?edpaljjjgki:((edpaljjjgki:bool) = false)
  ?ojcmolaapaf:((ojcmolaapaf:int32 list) = [])
  () : dngikkglnie  = {
  nfcojigifbb;
  cjkoijlahho;
  edpaljjjgki;
  ojcmolaapaf;
}

let rec default_egafcnjjgni 
  ?pfbnanpcdjh:((pfbnanpcdjh:int32) = 0l)
  ?state:((state:int32) = 0l)
  ?group_id:((group_id:int32) = 0l)
  () : egafcnjjgni  = {
  pfbnanpcdjh;
  state;
  group_id;
}

let rec default_kddobjmfahm 
  ?hllognagalg:((hllognagalg:bool) = false)
  ?group_id:((group_id:int32) = 0l)
  ?llgcclalmmi:((llgcclalmmi:int64) = 0L)
  ?didcplpbndg:((didcplpbndg:int32 list) = [])
  () : kddobjmfahm  = {
  hllognagalg;
  group_id;
  llgcclalmmi;
  didcplpbndg;
}

let rec default_nhofdkfidee 
  ?dpdgioeelfc:((dpdgioeelfc:poigoofgiac) = default_poigoofgiac ())
  ?jlbogmgmpmj:((jlbogmgmpmj:int32) = 0l)
  ?hmjcmhjjlaf:((hmjcmhjjlaf:int32) = 0l)
  () : nhofdkfidee  = {
  dpdgioeelfc;
  jlbogmgmpmj;
  hmjcmhjjlaf;
}

let rec default_mdpnliodapd 
  ?aalknkbcjkm:((aalknkbcjkm:int32) = 0l)
  ?ocfjgocmiem:((ocfjgocmiem:int32) = 0l)
  ?fgmdoekgpee:((fgmdoekgpee:int32) = 0l)
  () : mdpnliodapd  = {
  aalknkbcjkm;
  ocfjgocmiem;
  fgmdoekgpee;
}

let rec default_kbpkfjbeilj 
  ?cbphphopofk:((cbphphopofk:(string * int32) list) = [])
  ?fmblfbddmgi:((fmblfbddmgi:int32 list) = [])
  ?eaeoionfehm:((eaeoionfehm:kddobjmfahm list) = [])
  ?entry_id:((entry_id:int32) = 0l)
  ?ligbjpkffdg:((ligbjpkffdg:nhofdkfidee list) = [])
  ?mogndfkhapd:((mogndfkhapd:int32 list) = [])
  ?kpbfldbadan:((kpbfldbadan:int32) = 0l)
  ?cjkoijlahho:((cjkoijlahho:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?bnmdbicanbn:((bnmdbicanbn:mdpnliodapd list) = [])
  ?mdkmdbibnae:((mdkmdbibnae:int32) = 0l)
  ?hcllineafkm:((hcllineafkm:egafcnjjgni list) = [])
  ?nfcojigifbb:((nfcojigifbb:int32) = 0l)
  () : kbpkfjbeilj  = {
  cbphphopofk;
  fmblfbddmgi;
  eaeoionfehm;
  entry_id;
  ligbjpkffdg;
  mogndfkhapd;
  kpbfldbadan;
  cjkoijlahho;
  retcode;
  bnmdbicanbn;
  mdkmdbibnae;
  hcllineafkm;
  nfcojigifbb;
}

let rec default_anjofnkhlfp 
  ?edpaljjjgki:((edpaljjjgki:bool) = false)
  ?mdfplnoljnf:((mdfplnoljnf:kbpkfjbeilj list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : anjofnkhlfp  = {
  edpaljjjgki;
  mdfplnoljnf;
  retcode;
}

let rec default_gninhljadoj = ()

let rec default_ialhacijhac 
  ?fomcmdmpdcg:((fomcmdmpdcg:int32) = 0l)
  ?aopeodgodff:((aopeodgodff:int32) = 0l)
  () : ialhacijhac  = {
  fomcmdmpdcg;
  aopeodgodff;
}

let rec default_dmkebfhjljj 
  ?retcode:((retcode:int32) = 0l)
  () : dmkebfhjljj  = {
  retcode;
}

let rec default_cdcmmopccai 
  ?mgdnainpahe:((mgdnainpahe:gonnolnjgnf) = default_gonnolnjgnf ())
  ?aopeodgodff:((aopeodgodff:int32) = 0l)
  ?hohagdafjih:((hohagdafjih:int32) = 0l)
  () : cdcmmopccai  = {
  mgdnainpahe;
  aopeodgodff;
  hohagdafjih;
}

let rec default_lipmdimfnak 
  ?aopeodgodff:((aopeodgodff:int32) = 0l)
  ?paiihddnnjg:((paiihddnnjg:int32) = 0l)
  () : lipmdimfnak  = {
  aopeodgodff;
  paiihddnnjg;
}

let rec default_lneeenlhdnn 
  ?retcode:((retcode:int32) = 0l)
  () : lneeenlhdnn  = {
  retcode;
}

let rec default_mfljhhpaccd 
  ?fgiifgkokak:((fgiifgkokak:(string * int32) list) = [])
  () : mfljhhpaccd  = {
  fgiifgkokak;
}

let rec default_odoaidcdjoj 
  ?ojcmolaapaf:((ojcmolaapaf:int32 list) = [])
  () : odoaidcdjoj  = {
  ojcmolaapaf;
}

let rec default_impbiacohfd 
  ?retcode:((retcode:int32) = 0l)
  ?fmblfbddmgi:((fmblfbddmgi:int32 list) = [])
  () : impbiacohfd  = {
  retcode;
  fmblfbddmgi;
}

let rec default_gcnpnnobhko 
  ?mjpchdidahj:((mjpchdidahj:scene_entity_info option) = None)
  ?cffpbnfgmmj:((cffpbnfgmmj:int32) = 0l)
  ?klmchlokeho:((klmchlokeho:int32) = 0l)
  () : gcnpnnobhko  = {
  mjpchdidahj;
  cffpbnfgmmj;
  klmchlokeho;
}

let rec default_ceafkhfcdif 
  ?ogcjllmfnob:((ogcjllmfnob:gcnpnnobhko list) = [])
  ?iehhofifjfo:((iehhofifjfo:agjnodchiak) = default_agjnodchiak ())
  ?state:((state:int32) = 0l)
  ?group_id:((group_id:int32) = 0l)
  () : ceafkhfcdif  = {
  ogcjllmfnob;
  iehhofifjfo;
  state;
  group_id;
}

let rec default_iolnbeiolkh 
  ?hgocilongbl:((hgocilongbl:ceafkhfcdif list) = [])
  () : iolnbeiolkh  = {
  hgocilongbl;
}

let rec default_iggijbjppoc 
  ?group_id:((group_id:int32) = 0l)
  ?entry_id:((entry_id:int32) = 0l)
  ?nfbjlfcfijo:((nfbjlfcfijo:int32) = 0l)
  ?ihhhgodkjep:((ihhhgodkjep:int32) = 0l)
  () : iggijbjppoc  = {
  group_id;
  entry_id;
  nfbjlfcfijo;
  ihhhgodkjep;
}

let rec default_ngkpjjcampj 
  ?podpafooomg:((podpafooomg:iggijbjppoc option) = None)
  () : ngkpjjcampj  = {
  podpafooomg;
}

let rec default_nohhghgiajp 
  ?podpafooomg:((podpafooomg:iggijbjppoc option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : nohhghgiajp  = {
  podpafooomg;
  retcode;
}

let rec default_fefkpkpanml 
  ?podpafooomg:((podpafooomg:iggijbjppoc option) = None)
  () : fefkpkpanml  = {
  podpafooomg;
}

let rec default_gfjappjdmnb 
  ?plane_id:((plane_id:int32) = 0l)
  ?floor_id:((floor_id:int32) = 0l)
  () : gfjappjdmnb  = {
  plane_id;
  floor_id;
}

let rec default_geomcaafdmf = ()

let rec default_ikdmhhahhno 
  ?retcode:((retcode:int32) = 0l)
  ?eljgieonbde:((eljgieonbde:gfjappjdmnb list) = [])
  () : ikdmhhahhno  = {
  retcode;
  eljgieonbde;
}

let rec default_lfacadlnjod 
  ?eljgieonbde:((eljgieonbde:gfjappjdmnb list) = [])
  () : lfacadlnjod  = {
  eljgieonbde;
}

let rec default_ebjolkoihmc 
  ?jjpkngpgmci:((jjpkngpgmci:string) = "")
  ?iapjdabceeh:((iapjdabceeh:int32) = 0l)
  ?cdgihicglml:((cdgihicglml:motion_info option) = None)
  ?cblnijmlgch:((cblnijmlgch:int32 list) = [])
  () : ebjolkoihmc  = {
  jjpkngpgmci;
  iapjdabceeh;
  cdgihicglml;
  cblnijmlgch;
}

let rec default_pkhccikoidf 
  ?retcode:((retcode:int32) = 0l)
  ?iapjdabceeh:((iapjdabceeh:int32) = 0l)
  ?jjpkngpgmci:((jjpkngpgmci:string) = "")
  ?gkobfcianlo:((gkobfcianlo:bool) = false)
  () : pkhccikoidf  = {
  retcode;
  iapjdabceeh;
  jjpkngpgmci;
  gkobfcianlo;
}

let rec default_gndplhdfmpj 
  ?iapjdabceeh:((iapjdabceeh:int32) = 0l)
  ?cblnijmlgch:((cblnijmlgch:int32 list) = [])
  ?jjpkngpgmci:((jjpkngpgmci:string) = "")
  () : gndplhdfmpj  = {
  iapjdabceeh;
  cblnijmlgch;
  jjpkngpgmci;
}

let rec default_dbmebneafkh 
  ?bcbhaghfmhl:((bcbhaghfmhl:int32 list) = [])
  () : dbmebneafkh  = {
  bcbhaghfmhl;
}

let rec default_lhphdmehbjk 
  ?retcode:((retcode:int32) = 0l)
  ?bcbhaghfmhl:((bcbhaghfmhl:int32 list) = [])
  () : lhphdmehbjk  = {
  retcode;
  bcbhaghfmhl;
}

let rec default_aliilpfckfp 
  ?ojcmolaapaf:((ojcmolaapaf:int32 list) = [])
  () : aliilpfckfp  = {
  ojcmolaapaf;
}

let rec default_cbfgfkjfgmk 
  ?cocoon_id:((cocoon_id:int32) = 0l)
  ?wave:((wave:int32) = 0l)
  ?world_level:((world_level:int32) = 0l)
  () : cbfgfkjfgmk  = {
  cocoon_id;
  wave;
  world_level;
}

let rec default_bcdijdennhg 
  ?wave:((wave:int32) = 0l)
  ?ibllilenejp:((ibllilenejp:scene_battle_info option) = None)
  ?cocoon_id:((cocoon_id:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : bcdijdennhg  = {
  wave;
  ibllilenejp;
  cocoon_id;
  retcode;
}

let rec default_cmipadfnpch 
  ?world_level:((world_level:int32) = 0l)
  ?hflfdkpgbaf:((hflfdkpgbaf:int32) = 0l)
  () : cmipadfnpch  = {
  world_level;
  hflfdkpgbaf;
}

let rec default_pinooogpjcp 
  ?retcode:((retcode:int32) = 0l)
  ?ibllilenejp:((ibllilenejp:scene_battle_info option) = None)
  ?hflfdkpgbaf:((hflfdkpgbaf:int32) = 0l)
  ?world_level:((world_level:int32) = 0l)
  () : pinooogpjcp  = {
  retcode;
  ibllilenejp;
  hflfdkpgbaf;
  world_level;
}

let rec default_jnmofmlpiga 
  ?klgdfdlhelh:((klgdfdlhelh:int32) = 0l)
  ?entry_id:((entry_id:int32) = 0l)
  () : jnmofmlpiga  = {
  klgdfdlhelh;
  entry_id;
}

let rec default_ckemiclfafc () = (Cmd_server_prefs_type_none:ckemiclfafc)

let rec default_jgcbdioneib 
  ?aafghffligc:((aafghffligc:int32) = 0l)
  ?data:((data:bytes) = Bytes.create 0)
  () : jgcbdioneib  = {
  aafghffligc;
  data;
}

let rec default_olhefkbfbmo = ()

let rec default_kiljclofdpc 
  ?cbonjopecdo:((cbonjopecdo:jgcbdioneib list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : kiljclofdpc  = {
  cbonjopecdo;
  retcode;
}

let rec default_jmmodkjhodb 
  ?aafghffligc:((aafghffligc:int32) = 0l)
  () : jmmodkjhodb  = {
  aafghffligc;
}

let rec default_akakmafmdll 
  ?onojjkcgnno:((onojjkcgnno:jgcbdioneib option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : akakmafmdll  = {
  onojjkcgnno;
  retcode;
}

let rec default_fcakjbgdhpj 
  ?onojjkcgnno:((onojjkcgnno:jgcbdioneib option) = None)
  () : fcakjbgdhpj  = {
  onojjkcgnno;
}

let rec default_cachhkldamk 
  ?aafghffligc:((aafghffligc:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : cachhkldamk  = {
  aafghffligc;
  retcode;
}

let rec default_ofbdkllgbmh () = (Cmd_shop_type_none:ofbdkllgbmh)

let rec default_goods 
  ?item_id:((item_id:int32) = 0l)
  ?goods_id:((goods_id:int32) = 0l)
  ?begin_time:((begin_time:int64) = 0L)
  ?end_time:((end_time:int64) = 0L)
  ?buy_times:((buy_times:int32) = 0l)
  () : goods  = {
  item_id;
  goods_id;
  begin_time;
  end_time;
  buy_times;
}

let rec default_shop 
  ?goods_list:((goods_list:goods list) = [])
  ?end_time:((end_time:int64) = 0L)
  ?city_exp:((city_exp:int32) = 0l)
  ?begin_time:((begin_time:int64) = 0L)
  ?city_taken_level_reward:((city_taken_level_reward:int64) = 0L)
  ?shop_id:((shop_id:int32) = 0l)
  ?city_level:((city_level:int32) = 0l)
  () : shop  = {
  goods_list;
  end_time;
  city_exp;
  begin_time;
  city_taken_level_reward;
  shop_id;
  city_level;
}

let rec default_eldffdimhfb 
  ?bkiegfkjheo:((bkiegfkjheo:int32) = 0l)
  () : eldffdimhfb  = {
  bkiegfkjheo;
}

let rec default_get_shop_list_sc_rsp 
  ?retcode:((retcode:int32) = 0l)
  ?shop_list:((shop_list:shop list) = [])
  ?shop_type:((shop_type:int32) = 0l)
  () : get_shop_list_sc_rsp  = {
  retcode;
  shop_list;
  shop_type;
}

let rec default_hklehcgbkod 
  ?fgohomljegm:((fgohomljegm:int32) = 0l)
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  ?bfbjhchbplg:((bfbjhchbplg:int32) = 0l)
  ?ififlmjnmdk:((ififlmjnmdk:int32) = 0l)
  ?idcigdfjabi:((idcigdfjabi:int32) = 0l)
  () : hklehcgbkod  = {
  fgohomljegm;
  hgjolgkaofj;
  bfbjhchbplg;
  ififlmjnmdk;
  idcigdfjabi;
}

let rec default_buy_goods_sc_rsp 
  ?retcode:((retcode:int32) = 0l)
  ?goods_id:((goods_id:int32) = 0l)
  ?goods_buy_times:((goods_buy_times:int32) = 0l)
  ?return_item_list:((return_item_list:item_list option) = None)
  ?shop_id:((shop_id:int32) = 0l)
  () : buy_goods_sc_rsp  = {
  retcode;
  goods_id;
  goods_buy_times;
  return_item_list;
  shop_id;
}

let rec default_cdhdahieeeb 
  ?level:((level:int32) = 0l)
  ?fgohomljegm:((fgohomljegm:int32) = 0l)
  () : cdhdahieeeb  = {
  level;
  fgohomljegm;
}

let rec default_take_city_shop_reward_sc_rsp 
  ?retcode:((retcode:int32) = 0l)
  ?shop_id:((shop_id:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  ?level:((level:int32) = 0l)
  () : take_city_shop_reward_sc_rsp  = {
  retcode;
  shop_id;
  reward;
  level;
}

let rec default_city_shop_info_sc_notify 
  ?shop_id:((shop_id:int32) = 0l)
  ?exp:((exp:int32) = 0l)
  ?level:((level:int32) = 0l)
  ?taken_level_reward:((taken_level_reward:int64) = 0L)
  () : city_shop_info_sc_notify  = {
  shop_id;
  exp;
  level;
  taken_level_reward;
}

let rec default_gilfkecddmc () = (Cmd_space_zoo_type_none:gilfkecddmc)

let rec default_cnlooddmfgf 
  ?onppolklhlo:((onppolklhlo:int32) = 0l)
  ?pdpfcfglgco:((pdpfcfglgco:int32 list) = [])
  ?djjmhikpmjl:((djjmhikpmjl:int32) = 0l)
  ?noeblakanjk:((noeblakanjk:int32 list) = [])
  ?unique_id:((unique_id:int32) = 0l)
  ?mljedmgclmd:((mljedmgclmd:bool) = false)
  () : cnlooddmfgf  = {
  onppolklhlo;
  pdpfcfglgco;
  djjmhikpmjl;
  noeblakanjk;
  unique_id;
  mljedmgclmd;
}

let rec default_dddldidlfaf 
  ?denpgbgmcaa:((denpgbgmcaa:int32) = 0l)
  ?onppolklhlo:((onppolklhlo:int32) = 0l)
  () : dddldidlfaf  = {
  denpgbgmcaa;
  onppolklhlo;
}

let rec default_bheiifaflda = ()

let rec default_cegbkojghag 
  ?kajmafehicc:((kajmafehicc:int32 list) = [])
  ?nbijkgoknob:((nbijkgoknob:dddldidlfaf list) = [])
  ?cnjokhoofkk:((cnjokhoofkk:cnlooddmfgf list) = [])
  ?nmmofimpcko:((nmmofimpcko:int32 list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?cmbjdeolkmj:((cmbjdeolkmj:int32 list) = [])
  ?mhceoilgmca:((mhceoilgmca:int32) = 0l)
  ?ofofbdcmmgd:((ofofbdcmmgd:int32 list) = [])
  ?gmddehifoaf:((gmddehifoaf:int32 list) = [])
  () : cegbkojghag  = {
  kajmafehicc;
  nbijkgoknob;
  cnjokhoofkk;
  nmmofimpcko;
  retcode;
  cmbjdeolkmj;
  mhceoilgmca;
  ofofbdcmmgd;
  gmddehifoaf;
}

let rec default_ohhockpilao 
  ?kmehfinblhe:((kmehfinblhe:int32 list) = [])
  ?goppphjombl:((goppphjombl:int32) = 0l)
  () : ohhockpilao  = {
  kmehfinblhe;
  goppphjombl;
}

let rec default_jdpnjbnanji 
  ?pinmacpefgd:((pinmacpefgd:bool) = false)
  ?lcjfgcdbgim:((lcjfgcdbgim:dddldidlfaf list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?mhndbenogid:((mhndbenogid:cnlooddmfgf option) = None)
  () : jdpnjbnanji  = {
  pinmacpefgd;
  lcjfgcdbgim;
  retcode;
  mhndbenogid;
}

let rec default_ccpnhkllkfl 
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  ?unique_id:((unique_id:int32) = 0l)
  () : ccpnhkllkfl  = {
  hgjolgkaofj;
  unique_id;
}

let rec default_bhheidaoold 
  ?odklnlidcfj:((odklnlidcfj:cnlooddmfgf option) = None)
  ?lcjfgcdbgim:((lcjfgcdbgim:dddldidlfaf list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?pinmacpefgd:((pinmacpefgd:bool) = false)
  () : bhheidaoold  = {
  odklnlidcfj;
  lcjfgcdbgim;
  retcode;
  pinmacpefgd;
}

let rec default_lihfhopeipf 
  ?kcefcohkanf:((kcefcohkanf:int32) = 0l)
  ?bbdcjpocecg:((bbdcjpocecg:int32) = 0l)
  ?op_type:((op_type:int32) = 0l)
  () : lihfhopeipf  = {
  kcefcohkanf;
  bbdcjpocecg;
  op_type;
}

let rec default_naodjnndgkp 
  ?retcode:((retcode:int32) = 0l)
  ?gmddehifoaf:((gmddehifoaf:int32 list) = [])
  () : naodjnndgkp  = {
  retcode;
  gmddehifoaf;
}

let rec default_hjkhdlnkajb 
  ?bjgpgojakoo:((bjgpgojakoo:int32 list) = [])
  () : hjkhdlnkajb  = {
  bjgpgojakoo;
}

let rec default_gcpdecnpflh 
  ?npfgpoiinha:((npfgpoiinha:int32 list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : gcpdecnpflh  = {
  npfgpoiinha;
  retcode;
}

let rec default_llleahfmcmh 
  ?hfioieaclph:((hfioieaclph:bool) = false)
  ?pinmacpefgd:((pinmacpefgd:bool) = false)
  ?namngacmioe:((namngacmioe:cnlooddmfgf list) = [])
  () : llleahfmcmh  = {
  hfioieaclph;
  pinmacpefgd;
  namngacmioe;
}

let rec default_fenjjehochb 
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  () : fenjjehochb  = {
  hgjolgkaofj;
}

let rec default_opjmmjidgjh 
  ?retcode:((retcode:int32) = 0l)
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  () : opjmmjidgjh  = {
  retcode;
  hgjolgkaofj;
}

let rec default_ghkhmcebggb 
  ?obdgbookelm:((obdgbookelm:int32) = 0l)
  () : ghkhmcebggb  = {
  obdgbookelm;
}

let rec default_ekbiohgpkbg 
  ?reward:((reward:item_list option) = None)
  ?obdgbookelm:((obdgbookelm:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : ekbiohgpkbg  = {
  reward;
  obdgbookelm;
  retcode;
}

let rec default_mamfcgkifkh () = (Cmd_star_fight_type_none:mamfcgkifkh)

let rec default_aneollgbcci 
  ?hnhnaaliflo:((hnhnaaliflo:int32) = 0l)
  ?iidfjhpdkmn:((iidfjhpdkmn:int32) = 0l)
  ?cdigdpfegic:((cdigdpfegic:int32) = 0l)
  ?group_id:((group_id:int32) = 0l)
  ?mkbhpjnpekj:((mkbhpjnpekj:bool) = false)
  () : aneollgbcci  = {
  hnhnaaliflo;
  iidfjhpdkmn;
  cdigdpfegic;
  group_id;
  mkbhpjnpekj;
}

let rec default_kkhfkjhddnk = ()

let rec default_oeaacljemca 
  ?retcode:((retcode:int32) = 0l)
  ?emfamjcdggh:((emfamjcdggh:aneollgbcci list) = [])
  () : oeaacljemca  = {
  retcode;
  emfamjcdggh;
}

let rec default_oodgaoipjjn 
  ?avatar_id:((avatar_id:int32) = 0l)
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  () : oodgaoipjjn  = {
  avatar_id;
  avatar_type;
}

let rec default_njdbokodjbe 
  ?avatar_list:((avatar_list:oodgaoipjjn list) = [])
  ?odgoeojelah:((odgoeojelah:int32) = 0l)
  ?group_id:((group_id:int32) = 0l)
  () : njdbokodjbe  = {
  avatar_list;
  odgoeojelah;
  group_id;
}

let rec default_fpjdldlikmj 
  ?retcode:((retcode:int32) = 0l)
  ?odgoeojelah:((odgoeojelah:int32) = 0l)
  ?group_id:((group_id:int32) = 0l)
  ?ibllilenejp:((ibllilenejp:scene_battle_info option) = None)
  () : fpjdldlikmj  = {
  retcode;
  odgoeojelah;
  group_id;
  ibllilenejp;
}

let rec default_adjidagpfff 
  ?jhkemkimlgi:((jhkemkimlgi:aneollgbcci option) = None)
  ?group_id:((group_id:int32) = 0l)
  () : adjidagpfff  = {
  jhkemkimlgi;
  group_id;
}

let rec default_djojglgfkhc () = (Cmd_story_line_type_none:djojglgfkhc)

let rec default_kndiidhnfel () = (Change_story_line_action_none:kndiidhnfel)

let rec default_jloogcmomgm = ()

let rec default_mpbmbeajjck 
  ?retcode:((retcode:int32) = 0l)
  ?okhflbihfhm:((okhflbihfhm:int32 list) = [])
  ?iiabgecpafd:((iiabgecpafd:int32) = 0l)
  ?flchlighbkm:((flchlighbkm:int32 list) = [])
  () : mpbmbeajjck  = {
  retcode;
  okhflbihfhm;
  iiabgecpafd;
  flchlighbkm;
}

let rec default_gnjjdhmcdib 
  ?iiabgecpafd:((iiabgecpafd:int32) = 0l)
  ?flchlighbkm:((flchlighbkm:int32 list) = [])
  ?okhflbihfhm:((okhflbihfhm:int32 list) = [])
  () : gnjjdhmcdib  = {
  iiabgecpafd;
  flchlighbkm;
  okhflbihfhm;
}

let rec default_ggglmgmblmb 
  ?iiabgecpafd:((iiabgecpafd:int32) = 0l)
  ?kkdinpdmodn:((kkdinpdmodn:int32) = 0l)
  ?cfjdmlpfdoc:((cfjdmlpfdoc:kndiidhnfel) = default_kndiidhnfel ())
  () : ggglmgmblmb  = {
  iiabgecpafd;
  kkdinpdmodn;
  cfjdmlpfdoc;
}

let rec default_impfkfgcigd 
  ?ljbibineljp:((ljbibineljp:int32 list) = [])
  ?ccnkclcogmc:((ccnkclcogmc:int32 list) = [])
  () : impfkfgcigd  = {
  ljbibineljp;
  ccnkclcogmc;
}

let rec default_amkkcfcfijl () = (Cmd_strong_challenge_activity_type_none:amkkcfcfijl)

let rec default_strong_challenge_avatar 
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  ?avatar_id:((avatar_id:int32) = 0l)
  () : strong_challenge_avatar  = {
  avatar_type;
  avatar_id;
}

let rec default_iephmhedddd 
  ?avatar_list:((avatar_list:strong_challenge_avatar list) = [])
  ?buff_list:((buff_list:int32 list) = [])
  () : iephmhedddd  = {
  avatar_list;
  buff_list;
}

let rec default_dgmbccdmfio 
  ?gakmanenkmh:((gakmanenkmh:int32) = 0l)
  ?dcjapmiemfg:((dcjapmiemfg:int32) = 0l)
  ?eijcednnlih:((eijcednnlih:iephmhedddd option) = None)
  ?stage_id:((stage_id:int32) = 0l)
  ?fjlnncjahng:((fjlnncjahng:int32) = 0l)
  () : dgmbccdmfio  = {
  gakmanenkmh;
  dcjapmiemfg;
  eijcednnlih;
  stage_id;
  fjlnncjahng;
}

let rec default_hokldgknmmd 
  ?beafdhnmifn:((beafdhnmifn:(int32 * dgmbccdmfio) list) = [])
  () : hokldgknmmd  = {
  beafdhnmifn;
}

let rec default_ldfgdgpoceb = ()

let rec default_oggoadohmfl 
  ?pbjndhogpeh:((pbjndhogpeh:hokldgknmmd option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : oggoadohmfl  = {
  pbjndhogpeh;
  retcode;
}

let rec default_oealnplnfjf 
  ?stage_id:((stage_id:int32) = 0l)
  ?avatar_list:((avatar_list:strong_challenge_avatar list) = [])
  ?buff_list:((buff_list:int32 list) = [])
  () : oealnplnfjf  = {
  stage_id;
  avatar_list;
  buff_list;
}

let rec default_ecidbkaabdp 
  ?retcode:((retcode:int32) = 0l)
  ?ibllilenejp:((ibllilenejp:scene_battle_info option) = None)
  ?stage_id:((stage_id:int32) = 0l)
  () : ecidbkaabdp  = {
  retcode;
  ibllilenejp;
  stage_id;
}

let rec default_gaaiadienkl 
  ?kaijilgbjlc:((kaijilgbjlc:int32) = 0l)
  ?lpgaoolbbfm:((lpgaoolbbfm:int32) = 0l)
  ?gakmanenkmh:((gakmanenkmh:int32) = 0l)
  ?stage_id:((stage_id:int32) = 0l)
  ?iklhngoamga:((iklhngoamga:int32) = 0l)
  ?fcadgcfhlce:((fcadgcfhlce:int32) = 0l)
  ?inncjmgfgip:((inncjmgfgip:int32) = 0l)
  ?end_status:((end_status:battle_end_status) = default_battle_end_status ())
  () : gaaiadienkl  = {
  kaijilgbjlc;
  lpgaoolbbfm;
  gakmanenkmh;
  stage_id;
  iklhngoamga;
  fcadgcfhlce;
  inncjmgfgip;
  end_status;
}

let rec default_obmecpmopph () = (Cmd_summon_activity_type_none:obmecpmopph)

let rec default_mnbmoppbcoo 
  ?pamafmppefi:((pamafmppefi:int32) = 0l)
  ?odgoeojelah:((odgoeojelah:int32) = 0l)
  ?group_id:((group_id:int32) = 0l)
  () : mnbmoppbcoo  = {
  pamafmppefi;
  odgoeojelah;
  group_id;
}

let rec default_jfbafnlfkfc = ()

let rec default_ahghhhilcgm 
  ?jgdennmdfko:((jgdennmdfko:mnbmoppbcoo list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : ahghhhilcgm  = {
  jgdennmdfko;
  retcode;
}

let rec default_ldpldodnfph 
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  ?avatar_id:((avatar_id:int32) = 0l)
  () : ldpldodnfph  = {
  avatar_type;
  avatar_id;
}

let rec default_hgbifppeoia 
  ?group_id:((group_id:int32) = 0l)
  ?avatar_list:((avatar_list:ldpldodnfph list) = [])
  ?nknmlnkcpil:((nknmlnkcpil:ldpldodnfph option) = None)
  ?odgoeojelah:((odgoeojelah:int32) = 0l)
  () : hgbifppeoia  = {
  group_id;
  avatar_list;
  nknmlnkcpil;
  odgoeojelah;
}

let rec default_bdpdhkbeikg 
  ?group_id:((group_id:int32) = 0l)
  ?ibllilenejp:((ibllilenejp:scene_battle_info option) = None)
  ?odgoeojelah:((odgoeojelah:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : bdpdhkbeikg  = {
  group_id;
  ibllilenejp;
  odgoeojelah;
  retcode;
}

let rec default_nmcdhgllhnb 
  ?pamafmppefi:((pamafmppefi:int32) = 0l)
  ?odgoeojelah:((odgoeojelah:int32) = 0l)
  ?foflcmnhakn:((foflcmnhakn:int32) = 0l)
  ?group_id:((group_id:int32) = 0l)
  () : nmcdhgllhnb  = {
  pamafmppefi;
  odgoeojelah;
  foflcmnhakn;
  group_id;
}

let rec default_mpiejkaoeep () = (Cmd_sword_training_type_none:mpiejkaoeep)

let rec default_nmabognbiph () = (Sword_train_game_source_type_none:nmabognbiph)

let rec default_kkigfnbambb () = (Sword_training_daily_phase_type_none:kkigfnbambb)

let rec default_ehamhholmlo () = (Sword_training_status_type_none:ehamhholmlo)

let rec default_depohhphajh () = (Sword_training_game_settle_none:depohhphajh)

let rec default_pnkhecjaaoi = ()

let rec default_ephhcckomlk = ()

let rec default_nfekediapge 
  ?joeicfcdnem:((joeicfcdnem:int32) = 0l)
  () : nfekediapge  = {
  joeicfcdnem;
}

let rec default_infppjcemha = ()

let rec default_mihpphicnih 
  ?hgpelgifadf:((hgpelgifadf:int32) = 0l)
  ?cmjoambdell:((cmjoambdell:bool) = false)
  () : mihpphicnih  = {
  hgpelgifadf;
  cmjoambdell;
}

let rec default_onjhnhikeoc = ()

let rec default_dnokdemkpli = ()

let rec default_cbgnjfgbgee 
  ?hgpelgifadf:((hgpelgifadf:int32) = 0l)
  ?pabpdlekjcp:((pabpdlekjcp:bool) = false)
  () : cbgnjfgbgee  = {
  hgpelgifadf;
  pabpdlekjcp;
}

let rec default_blbpcmemjnc 
  ?blmeadkkape:((blmeadkkape:unit) = ())
  ?iemgakcdajk:((iemgakcdajk:unit) = ())
  ?hckfijnmehb:((hckfijnmehb:nfekediapge option) = None)
  ?idogbgmibhn:((idogbgmibhn:unit) = ())
  ?ahfnfkkihaj:((ahfnfkkihaj:mihpphicnih option) = None)
  ?jjhgennbaig:((jjhgennbaig:unit) = ())
  ?ldfmdjoicah:((ldfmdjoicah:unit) = ())
  ?npmjgigdmag:((npmjgigdmag:cbgnjfgbgee option) = None)
  () : blbpcmemjnc  = {
  blmeadkkape;
  iemgakcdajk;
  hckfijnmehb;
  idogbgmibhn;
  ahfnfkkihaj;
  jjhgennbaig;
  ldfmdjoicah;
  npmjgigdmag;
}

let rec default_ofkendbkcbl 
  ?megpbceegbg:((megpbceegbg:int32 list) = [])
  ?ijnpccndcgi:((ijnpccndcgi:int32) = 0l)
  () : ofkendbkcbl  = {
  megpbceegbg;
  ijnpccndcgi;
}

let rec default_ienjhcggjig 
  ?level:((level:int32) = 0l)
  ?ocnjbebhbgo:((ocnjbebhbgo:int32) = 0l)
  () : ienjhcggjig  = {
  level;
  ocnjbebhbgo;
}

let rec default_fhmhhefpgin 
  ?nhpllohnnpa:((nhpllohnnpa:ienjhcggjig list) = [])
  () : fhmhhefpgin  = {
  nhpllohnnpa;
}

let rec default_gmmbihcfkoj 
  ?value:((value:int32) = 0l)
  ?cpnkdpcablk:((cpnkdpcablk:ehamhholmlo) = default_ehamhholmlo ())
  () : gmmbihcfkoj  = {
  value;
  cpnkdpcablk;
}

let rec default_cnifagkeclj 
  ?fjeencfpjph:((fjeencfpjph:int32) = 0l)
  ?gmoccampfnk:((gmoccampfnk:int32) = 0l)
  ?bndfcikelgn:((bndfcikelgn:gmmbihcfkoj list) = [])
  () : cnifagkeclj  = {
  fjeencfpjph;
  gmoccampfnk;
  bndfcikelgn;
}

let rec default_cggmebdeebe 
  ?begkgjcmjkh:((begkgjcmjkh:int32) = 0l)
  ?hccjhiilppi:((hccjhiilppi:int32) = 0l)
  () : cggmebdeebe  = {
  begkgjcmjkh;
  hccjhiilppi;
}

let rec default_dfnhmidnfih 
  ?jijilpikghc:((jijilpikghc:kkigfnbambb) = default_kkigfnbambb ())
  ?kekabacindh:((kekabacindh:cggmebdeebe list) = [])
  ?mibpnbjglgc:((mibpnbjglgc:int32 list) = [])
  () : dfnhmidnfih  = {
  jijilpikghc;
  kekabacindh;
  mibpnbjglgc;
}

let rec default_gfkifjlgbji 
  ?bddndfifhog:((bddndfifhog:int32) = 0l)
  () : gfkifjlgbji  = {
  bddndfifhog;
}

let rec default_gkjmkhadbhm 
  ?mamcoaebgbi:((mamcoaebgbi:int32) = 0l)
  ?mldigofchdf:((mldigofchdf:dfnhmidnfih option) = None)
  ?hoihjilfgna:((hoihjilfgna:gfkifjlgbji option) = None)
  () : gkjmkhadbhm  = {
  mamcoaebgbi;
  mldigofchdf;
  hoihjilfgna;
}

let rec default_anmohklghla 
  ?plpebgdmkbo:((plpebgdmkbo:int32) = 0l)
  ?hjmjbiijegj:((hjmjbiijegj:int32) = 0l)
  ?jcodcgklojn:((jcodcgklojn:int32 list) = [])
  () : anmohklghla  = {
  plpebgdmkbo;
  hjmjbiijegj;
  jcodcgklojn;
}

let rec default_lekclmamabb 
  ?lfleifodebe:((lfleifodebe:blbpcmemjnc option) = None)
  ?likjgjnclen:((likjgjnclen:ofkendbkcbl option) = None)
  ?jfbodfkjcdl:((jfbodfkjcdl:fhmhhefpgin option) = None)
  ?pbgelhmjcoa:((pbgelhmjcoa:cnifagkeclj option) = None)
  ?mjldomhofmk:((mjldomhofmk:int32 list) = [])
  ?hbnoljogigk:((hbnoljogigk:int32) = 0l)
  ?kphnlieefmi:((kphnlieefmi:gkjmkhadbhm option) = None)
  ?hhapkchnbea:((hhapkchnbea:anmohklghla option) = None)
  () : lekclmamabb  = {
  lfleifodebe;
  likjgjnclen;
  jfbodfkjcdl;
  pbgelhmjcoa;
  mjldomhofmk;
  hbnoljogigk;
  kphnlieefmi;
  hhapkchnbea;
}

let rec default_aeamblofmpi 
  ?cpnkdpcablk:((cpnkdpcablk:ehamhholmlo) = default_ehamhholmlo ())
  ?dhchppbnfeg:((dhchppbnfeg:int32) = 0l)
  ?dcedopcicik:((dcedopcicik:int32) = 0l)
  () : aeamblofmpi  = {
  cpnkdpcablk;
  dhchppbnfeg;
  dcedopcicik;
}

let rec default_iogbidfkhpm 
  ?dhchppbnfeg:((dhchppbnfeg:int32) = 0l)
  ?dcedopcicik:((dcedopcicik:int32) = 0l)
  () : iogbidfkhpm  = {
  dhchppbnfeg;
  dcedopcicik;
}

let rec default_bbcapkmgaea 
  ?level:((level:int32) = 0l)
  ?ocnjbebhbgo:((ocnjbebhbgo:int32) = 0l)
  ?fmpkgkkeelb:((fmpkgkkeelb:int32) = 0l)
  () : bbcapkmgaea  = {
  level;
  ocnjbebhbgo;
  fmpkgkkeelb;
}

let rec default_caiajmhebpe 
  ?hbnoljogigk:((hbnoljogigk:int32) = 0l)
  ?ppgoielepbp:((ppgoielepbp:gkjmkhadbhm option) = None)
  () : caiajmhebpe  = {
  hbnoljogigk;
  ppgoielepbp;
}

let rec default_lpdohkmgbfm 
  ?joeicfcdnem:((joeicfcdnem:int32) = 0l)
  () : lpdohkmgbfm  = {
  joeicfcdnem;
}

let rec default_piknebbjogb 
  ?geplglcbnpd:((geplglcbnpd:aeamblofmpi option) = None)
  ?bkkmplogidp:((bkkmplogidp:iogbidfkhpm option) = None)
  ?nljpopadalj:((nljpopadalj:iogbidfkhpm option) = None)
  ?cfjdpnoebmc:((cfjdpnoebmc:bbcapkmgaea option) = None)
  ?doipafkjfhh:((doipafkjfhh:caiajmhebpe option) = None)
  ?agmonjkadfn:((agmonjkadfn:mihpphicnih option) = None)
  ?kfgeokefamb:((kfgeokefamb:lpdohkmgbfm option) = None)
  ?adbgcdehnln:((adbgcdehnln:int32) = 0l)
  ?fjeencfpjph:((fjeencfpjph:int32) = 0l)
  ?aimpielkcep:((aimpielkcep:cbgnjfgbgee option) = None)
  ?leimjcdlpkb:((leimjcdlpkb:unit) = ())
  ?kdbkiggpfjk:((kdbkiggpfjk:int32) = 0l)
  () : piknebbjogb  = {
  geplglcbnpd;
  bkkmplogidp;
  nljpopadalj;
  cfjdpnoebmc;
  doipafkjfhh;
  agmonjkadfn;
  kfgeokefamb;
  adbgcdehnln;
  fjeencfpjph;
  aimpielkcep;
  leimjcdlpkb;
  kdbkiggpfjk;
}

let rec default_lgkolnobmke 
  ?mkgoabedjeh:((mkgoabedjeh:piknebbjogb option) = None)
  ?gnfpnbgacdf:((gnfpnbgacdf:nmabognbiph) = default_nmabognbiph ())
  () : lgkolnobmke  = {
  mkgoabedjeh;
  gnfpnbgacdf;
}

let rec default_bficmhohfpf 
  ?hgpelgifadf:((hgpelgifadf:int32) = 0l)
  ?cmjoambdell:((cmjoambdell:bool) = false)
  () : bficmhohfpf  = {
  hgpelgifadf;
  cmjoambdell;
}

let rec default_cghamdopejg 
  ?lhcalbfcfjl:((lhcalbfcfjl:lgkolnobmke list) = [])
  () : cghamdopejg  = {
  lhcalbfcfjl;
}

let rec default_dgipcmolhdc 
  ?progress:((progress:int32) = 0l)
  ?id:((id:int32) = 0l)
  () : dgipcmolhdc  = {
  progress;
  id;
}

let rec default_pncgfdodfbj 
  ?pmlhjpikfne:((pmlhjpikfne:dgipcmolhdc list) = [])
  ?hhegkljjdol:((hhegkljjdol:int32 list) = [])
  () : pncgfdodfbj  = {
  pmlhjpikfne;
  hhegkljjdol;
}

let rec default_mdinmlkbghf = ()

let rec default_oepndhlaocj 
  ?megpbceegbg:((megpbceegbg:int32 list) = [])
  ?hfgdfjlfhll:((hfgdfjlfhll:bool) = false)
  ?retcode:((retcode:int32) = 0l)
  ?iffefihhaod:((iffefihhaod:int32) = 0l)
  ?hfcakgghnim:((hfcakgghnim:lekclmamabb option) = None)
  ?dbjocgbpkem:((dbjocgbpkem:int32 list) = [])
  ?nacefnlkjek:((nacefnlkjek:int32 list) = [])
  ?bdaldfbhcjl:((bdaldfbhcjl:pncgfdodfbj option) = None)
  () : oepndhlaocj  = {
  megpbceegbg;
  hfgdfjlfhll;
  retcode;
  iffefihhaod;
  hfcakgghnim;
  dbjocgbpkem;
  nacefnlkjek;
  bdaldfbhcjl;
}

let rec default_gmpaedocmhb 
  ?pmcffigbbca:((pmcffigbbca:int32 list) = [])
  ?gkhjdaocipm:((gkhjdaocipm:int32 list) = [])
  () : gmpaedocmhb  = {
  pmcffigbbca;
  gkhjdaocipm;
}

let rec default_hhmcknhhjkd 
  ?retcode:((retcode:int32) = 0l)
  ?pmcffigbbca:((pmcffigbbca:int32 list) = [])
  () : hhmcknhhjkd  = {
  retcode;
  pmcffigbbca;
}

let rec default_memoccbcknp 
  ?dfopbnjpmab:((dfopbnjpmab:kkigfnbambb) = default_kkigfnbambb ())
  () : memoccbcknp  = {
  dfopbnjpmab;
}

let rec default_biccoplpgcb 
  ?oiolgbomcbb:((oiolgbomcbb:bool) = false)
  ?retcode:((retcode:int32) = 0l)
  () : biccoplpgcb  = {
  oiolgbomcbb;
  retcode;
}

let rec default_ohfjifnacak 
  ?ojkjbeilgdc:((ojkjbeilgdc:int32) = 0l)
  () : ohfjifnacak  = {
  ojkjbeilgdc;
}

let rec default_mbkalfaemic 
  ?retcode:((retcode:int32) = 0l)
  () : mbkalfaemic  = {
  retcode;
}

let rec default_ceneghbolla = ()

let rec default_gibceehbdhp 
  ?retcode:((retcode:int32) = 0l)
  () : gibceehbdhp  = {
  retcode;
}

let rec default_aidiofhcdpc = ()

let rec default_igpghakolin 
  ?retcode:((retcode:int32) = 0l)
  ?ibllilenejp:((ibllilenejp:scene_battle_info option) = None)
  () : igpghakolin  = {
  retcode;
  ibllilenejp;
}

let rec default_fjmhhaahmfk 
  ?hgnfloilneg:((hgnfloilneg:int32) = 0l)
  () : fjmhhaahmfk  = {
  hgnfloilneg;
}

let rec default_plmjgmfnamh 
  ?retcode:((retcode:int32) = 0l)
  ?hgnfloilneg:((hgnfloilneg:int32) = 0l)
  () : plmjgmfnamh  = {
  retcode;
  hgnfloilneg;
}

let rec default_agmlhcjehnp 
  ?ijnpccndcgi:((ijnpccndcgi:int32) = 0l)
  () : agmlhcjehnp  = {
  ijnpccndcgi;
}

let rec default_nomomdajgjp 
  ?retcode:((retcode:int32) = 0l)
  ?hfcakgghnim:((hfcakgghnim:lekclmamabb option) = None)
  () : nomomdajgjp  = {
  retcode;
  hfcakgghnim;
}

let rec default_gchmilhlfik 
  ?hgpelgifadf:((hgpelgifadf:int32) = 0l)
  () : gchmilhlfik  = {
  hgpelgifadf;
}

let rec default_mhplggpbphh 
  ?retcode:((retcode:int32) = 0l)
  ?hgpelgifadf:((hgpelgifadf:int32) = 0l)
  () : mhplggpbphh  = {
  retcode;
  hgpelgifadf;
}

let rec default_gmbfnmhknfe = ()

let rec default_eeeiakoijdp 
  ?retcode:((retcode:int32) = 0l)
  () : eeeiakoijdp  = {
  retcode;
}

let rec default_mfldbdcofoa 
  ?reward:((reward:item_list option) = None)
  ?mgdnainpahe:((mgdnainpahe:depohhphajh) = default_depohhphajh ())
  ?bfhblojhfbn:((bfhblojhfbn:int32) = 0l)
  ?kmlmaidhiid:((kmlmaidhiid:int32) = 0l)
  ?ijnpccndcgi:((ijnpccndcgi:int32) = 0l)
  ?ppgoielepbp:((ppgoielepbp:int32) = 0l)
  ?gapieppjlaa:((gapieppjlaa:int32 list) = [])
  ?bdnbfapkglb:((bdnbfapkglb:int32 list) = [])
  () : mfldbdcofoa  = {
  reward;
  mgdnainpahe;
  bfhblojhfbn;
  kmlmaidhiid;
  ijnpccndcgi;
  ppgoielepbp;
  gapieppjlaa;
  bdnbfapkglb;
}

let rec default_jmhlacoghih 
  ?pmlhjpikfne:((pmlhjpikfne:dgipcmolhdc list) = [])
  ?hhegkljjdol:((hhegkljjdol:int32 list) = [])
  () : jmhlacoghih  = {
  pmlhjpikfne;
  hhegkljjdol;
}

let rec default_jmdpmflhhji 
  ?pflbmbdfmoa:((pflbmbdfmoa:int32) = 0l)
  () : jmdpmflhhji  = {
  pflbmbdfmoa;
}

let rec default_caljhhoopfm 
  ?retcode:((retcode:int32) = 0l)
  ?pflbmbdfmoa:((pflbmbdfmoa:int32) = 0l)
  () : caljhhoopfm  = {
  retcode;
  pflbmbdfmoa;
}

let rec default_bcjhagmagmg = ()

let rec default_bdiokbdhahk 
  ?hfcakgghnim:((hfcakgghnim:lekclmamabb option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : bdiokbdhahk  = {
  hfcakgghnim;
  retcode;
}

let rec default_cgionkcjglk = ()

let rec default_mkfdpmdlmhf 
  ?retcode:((retcode:int32) = 0l)
  ?ibllilenejp:((ibllilenejp:scene_battle_info option) = None)
  () : mkfdpmdlmhf  = {
  retcode;
  ibllilenejp;
}

let rec default_fplmkenpnjj 
  ?egjnanlfing:((egjnanlfing:gmmbihcfkoj list) = [])
  ?feolddnidjp:((feolddnidjp:int32) = 0l)
  () : fplmkenpnjj  = {
  egjnanlfing;
  feolddnidjp;
}

let rec default_bjkiikoohdi 
  ?ijnpccndcgi:((ijnpccndcgi:int32) = 0l)
  () : bjkiikoohdi  = {
  ijnpccndcgi;
}

let rec default_mkbnigandmh 
  ?retcode:((retcode:int32) = 0l)
  ?hfcakgghnim:((hfcakgghnim:lekclmamabb option) = None)
  () : mkbnigandmh  = {
  retcode;
  hfcakgghnim;
}

let rec default_kbeomioccmo 
  ?hgnfloilneg:((hgnfloilneg:int32) = 0l)
  () : kbeomioccmo  = {
  hgnfloilneg;
}

let rec default_gikfodcelhm 
  ?hgnfloilneg:((hgnfloilneg:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : gikfodcelhm  = {
  hgnfloilneg;
  retcode;
}

let rec default_kkohobkjepb = ()

let rec default_hmkelhaiieo 
  ?retcode:((retcode:int32) = 0l)
  () : hmkelhaiieo  = {
  retcode;
}

let rec default_nipddckankc () = (Cmd_player_sync_none:nipddckankc)

let rec default_dfilomffafd 
  ?pnoolmohieh:((pnoolmohieh:int32) = 0l)
  ?stamina:((stamina:int32) = 0l)
  () : dfilomffafd  = {
  pnoolmohieh;
  stamina;
}

let rec default_amdcchadhnj 
  ?djjdncbpmfk:((djjdncbpmfk:ilmpdolbflp list) = [])
  ?cpkikinabfj:((cpkikinabfj:string) = "")
  ?kdpdlgbfimd:((kdpdlgbfimd:bool) = false)
  () : amdcchadhnj  = {
  djjdncbpmfk;
  cpkikinabfj;
  kdpdlgbfimd;
}

let rec default_mgigkpibcid 
  ?avatar_list:((avatar_list:avatar list) = [])
  () : mgigkpibcid  = {
  avatar_list;
}

let rec default_oiofbfhdfci 
  ?goojfjoomdc:((goojfjoomdc:dlompnobmja list) = [])
  ?ipodiiadolh:((ipodiiadolh:int32 list) = [])
  ?ommnpnbabhn:((ommnpnbabhn:int32 list) = [])
  ?hjnfpofkanm:((hjnfpofkanm:mission list) = [])
  ?mapjkehplbn:((mapjkehplbn:ihgeeangifc list) = [])
  ?dgoigglciko:((dgoigglciko:int32 list) = [])
  ?limpnlbchpl:((limpnlbchpl:int32 list) = [])
  () : oiofbfhdfci  = {
  goojfjoomdc;
  ipodiiadolh;
  ommnpnbabhn;
  hjnfpofkanm;
  mapjkehplbn;
  dgoigglciko;
  limpnlbchpl;
}

let rec default_anfldllfjhp 
  ?nloponhbgod:((nloponhbgod:int32 list) = [])
  ?mkbbddpdmoi:((mkbbddpdmoi:mission list) = [])
  ?gogjmmkhilb:((gogjmmkhilb:int32 list) = [])
  () : anfldllfjhp  = {
  nloponhbgod;
  mkbbddpdmoi;
  gogjmmkhilb;
}

let rec default_cbpblopaocm 
  ?kmfpienacdg:((kmfpienacdg:int32 list) = [])
  ?bcedhodkdna:((bcedhodkdna:int32 list) = [])
  () : cbpblopaocm  = {
  kmfpienacdg;
  bcedhodkdna;
}

let rec default_nfccnkngbke 
  ?cokophbhocf:((cokophbhocf:int32) = 0l)
  ?kagnbjdmamf:((kagnbjdmamf:int32) = 0l)
  () : nfccnkngbke  = {
  cokophbhocf;
  kagnbjdmamf;
}

let rec default_fflpjlakgim 
  ?basic_info:((basic_info:player_basic_info option) = None)
  ?relic_list:((relic_list:lhpihhdiplm list) = [])
  ?equipment_list:((equipment_list:mdlbakehplp list) = [])
  ?deadfemndnk:((deadfemndnk:ipcffjhaijg list) = [])
  ?melkjffjnkb:((melkjffjnkb:oiofbfhdfci option) = None)
  ?flnjichokac:((flnjichokac:aoacdcgcmej list) = [])
  ?pnlbagbglfd:((pnlbagbglfd:eejpmepikga list) = [])
  ?emfekeedafc:((emfekeedafc:int32 list) = [])
  ?mjbalomkgdg:((mjbalomkgdg:int32 list) = [])
  ?dbnddbjfikl:((dbnddbjfikl:anfldllfjhp option) = None)
  ?cbhiiikinol:((cbhiiikinol:nfccnkngbke list) = [])
  ?egbapniokip:((egbapniokip:mgigkpibcid option) = None)
  ?mongepojhkd:((mongepojhkd:jnicjgmnafm list) = [])
  ?mkijkaoaokm:((mkijkaoaokm:amdcchadhnj option) = None)
  ?igcimdmbdfa:((igcimdmbdfa:int32) = 0l)
  ?pbppjohlbad:((pbppjohlbad:dfilomffafd option) = None)
  ?pdljebofmep:((pdljebofmep:dejjkifldfb list) = [])
  ?egmlhakbkmc:((egmlhakbkmc:aoacdcgcmej list) = [])
  ?diocdcpkolk:((diocdcpkolk:int32 list) = [])
  ?epdnicajoli:((epdnicajoli:multi_path_avatar list) = [])
  ?ilcelhlkamj:((ilcelhlkamj:item_list option) = None)
  ?gigmmbhcdij:((gigmmbhcdij:cbpblopaocm option) = None)
  () : fflpjlakgim  = {
  basic_info;
  relic_list;
  equipment_list;
  deadfemndnk;
  melkjffjnkb;
  flnjichokac;
  pnlbagbglfd;
  emfekeedafc;
  mjbalomkgdg;
  dbnddbjfikl;
  cbhiiikinol;
  egbapniokip;
  mongepojhkd;
  mkijkaoaokm;
  igcimdmbdfa;
  pbppjohlbad;
  pdljebofmep;
  egmlhakbkmc;
  diocdcpkolk;
  epdnicajoli;
  ilcelhlkamj;
  gigmmbhcdij;
}

let rec default_klcejfngnia () = (Cmd_talk_reward_type_none:klcejfngnia)

let rec default_apmclbiejpn 
  ?pnigjhppmln:((pnigjhppmln:int32) = 0l)
  () : apmclbiejpn  = {
  pnigjhppmln;
}

let rec default_hncebojkknh 
  ?ombidcbhbod:((ombidcbhbod:int32 list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?pnigjhppmln:((pnigjhppmln:int32) = 0l)
  () : hncebojkknh  = {
  ombidcbhbod;
  retcode;
  pnigjhppmln;
}

let rec default_bjbhlbkodjk 
  ?hcjlnnfiogc:((hcjlnnfiogc:int32) = 0l)
  ?hhakfcdngok:((hhakfcdngok:vector option) = None)
  () : bjbhlbkodjk  = {
  hcjlnnfiogc;
  hhakfcdngok;
}

let rec default_jdmnghmikgh 
  ?hcjlnnfiogc:((hcjlnnfiogc:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : jdmnghmikgh  = {
  hcjlnnfiogc;
  reward;
  retcode;
}

let rec default_gpjfibhdkhh 
  ?knncoohambc:((knncoohambc:int32 list) = [])
  () : gpjfibhdkhh  = {
  knncoohambc;
}

let rec default_caelfpofmmj 
  ?fhhkhmdleno:((fhhkhmdleno:bool) = false)
  ?elalbdgiapo:((elalbdgiapo:int32) = 0l)
  () : caelfpofmmj  = {
  fhhkhmdleno;
  elalbdgiapo;
}

let rec default_lgpphodkglk 
  ?lljmpejacne:((lljmpejacne:caelfpofmmj list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : lgpphodkglk  = {
  lljmpejacne;
  retcode;
}

let rec default_ejfomkhdopf 
  ?elalbdgiapo:((elalbdgiapo:int32) = 0l)
  () : ejfomkhdopf  = {
  elalbdgiapo;
}

let rec default_clbhecajmon 
  ?elalbdgiapo:((elalbdgiapo:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : clbhecajmon  = {
  elalbdgiapo;
  retcode;
}

let rec default_jjkdobellnm 
  ?daeehalilod:((daeehalilod:int32) = 0l)
  () : jjkdobellnm  = {
  daeehalilod;
}

let rec default_bbfjcpghojm 
  ?retcode:((retcode:int32) = 0l)
  ?daeehalilod:((daeehalilod:int32) = 0l)
  () : bbfjcpghojm  = {
  retcode;
  daeehalilod;
}

let rec default_afkjnogkidl 
  ?fbekcndnmfe:((fbekcndnmfe:int32) = 0l)
  ?fhhkhmdleno:((fhhkhmdleno:bool) = false)
  () : afkjnogkidl  = {
  fbekcndnmfe;
  fhhkhmdleno;
}

let rec default_pbcoigienpa 
  ?klbckeejghh:((klbckeejghh:int32 list) = [])
  () : pbcoigienpa  = {
  klbckeejghh;
}

let rec default_jgmliannaif 
  ?lljmpejacne:((lljmpejacne:afkjnogkidl list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : jgmliannaif  = {
  lljmpejacne;
  retcode;
}

let rec default_ldkphhejnmm 
  ?fbekcndnmfe:((fbekcndnmfe:int32) = 0l)
  () : ldkphhejnmm  = {
  fbekcndnmfe;
}

let rec default_bbdmebkcoem 
  ?retcode:((retcode:int32) = 0l)
  ?fbekcndnmfe:((fbekcndnmfe:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  () : bbdmebkcoem  = {
  retcode;
  fbekcndnmfe;
  reward;
}

let rec default_pdmgpjhhpbn () = (Cmd_television_activity_type_none:pdmgpjhhpbn)

let rec default_glilglpgodo 
  ?ppoegdhjlke:((ppoegdhjlke:int32) = 0l)
  ?gakmanenkmh:((gakmanenkmh:int32) = 0l)
  ?lbggbhfhdeg:((lbggbhfhdeg:int32) = 0l)
  () : glilglpgodo  = {
  ppoegdhjlke;
  gakmanenkmh;
  lbggbhfhdeg;
}

let rec default_nbilebkmmfk = ()

let rec default_bjjcffhmopd 
  ?kcgjglleflg:((kcgjglleflg:glilglpgodo list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : bjjcffhmopd  = {
  kcgjglleflg;
  retcode;
}

let rec default_mpbdgeailof 
  ?kcgjglleflg:((kcgjglleflg:glilglpgodo list) = [])
  () : mpbdgeailof  = {
  kcgjglleflg;
}

let rec default_eojghonebdd 
  ?anjcemifefc:((anjcemifefc:int32) = 0l)
  ?hpegmhpcfem:((hpegmhpcfem:int32) = 0l)
  ?mokbbafhbjn:((mokbbafhbjn:glilglpgodo option) = None)
  ?mahiocfcikf:((mahiocfcikf:int32) = 0l)
  ?mphcmmfkpog:((mphcmmfkpog:int32) = 0l)
  () : eojghonebdd  = {
  anjcemifefc;
  hpegmhpcfem;
  mokbbafhbjn;
  mahiocfcikf;
  mphcmmfkpog;
}

let rec default_poklpkkcaad 
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  ?avatar_id:((avatar_id:int32) = 0l)
  () : poklpkkcaad  = {
  avatar_type;
  avatar_id;
}

let rec default_fbjjlepeflm 
  ?ppoegdhjlke:((ppoegdhjlke:int32) = 0l)
  ?buff_list:((buff_list:int32 list) = [])
  ?avatar_list:((avatar_list:poklpkkcaad list) = [])
  () : fbjjlepeflm  = {
  ppoegdhjlke;
  buff_list;
  avatar_list;
}

let rec default_egaindjnekn 
  ?retcode:((retcode:int32) = 0l)
  ?ibllilenejp:((ibllilenejp:scene_battle_info option) = None)
  ?ppoegdhjlke:((ppoegdhjlke:int32) = 0l)
  () : egaindjnekn  = {
  retcode;
  ibllilenejp;
  ppoegdhjlke;
}

let rec default_blnbpchkmop () = (Cmd_text_join_type_none:blnbpchkmop)

let rec default_okgmgbpllhg 
  ?hfhomlnogbc:((hfhomlnogbc:string) = "")
  ?aiecnaafflj:((aiecnaafflj:int32) = 0l)
  ?emamkmopfci:((emamkmopfci:string) = "")
  ?akjcolodghe:((akjcolodghe:int32) = 0l)
  ?doblbefaofp:((doblbefaofp:int32) = 0l)
  () : okgmgbpllhg  = {
  hfhomlnogbc;
  aiecnaafflj;
  emamkmopfci;
  akjcolodghe;
  doblbefaofp;
}

let rec default_dmlpggkagbh 
  ?hfhomlnogbc:((hfhomlnogbc:string) = "")
  ?aiecnaafflj:((aiecnaafflj:int32) = 0l)
  ?akjcolodghe:((akjcolodghe:int32) = 0l)
  () : dmlpggkagbh  = {
  hfhomlnogbc;
  aiecnaafflj;
  akjcolodghe;
}

let rec default_ajcbkjegiin 
  ?akjcolodghe:((akjcolodghe:int32) = 0l)
  ?aiecnaafflj:((aiecnaafflj:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?hfhomlnogbc:((hfhomlnogbc:string) = "")
  () : ajcbkjegiin  = {
  akjcolodghe;
  aiecnaafflj;
  retcode;
  hfhomlnogbc;
}

let rec default_cifieflilcg 
  ?hpoppknopda:((hpoppknopda:int32 list) = [])
  () : cifieflilcg  = {
  hpoppknopda;
}

let rec default_aacbnhhcjcf 
  ?retcode:((retcode:int32) = 0l)
  ?komlgafbhol:((komlgafbhol:okgmgbpllhg list) = [])
  () : aacbnhhcjcf  = {
  retcode;
  komlgafbhol;
}

let rec default_mcmibjbpcpc 
  ?komlgafbhol:((komlgafbhol:okgmgbpllhg list) = [])
  () : mcmibjbpcpc  = {
  komlgafbhol;
}

let rec default_onfphghabkn 
  ?retcode:((retcode:int32) = 0l)
  ?komlgafbhol:((komlgafbhol:okgmgbpllhg list) = [])
  () : onfphghabkn  = {
  retcode;
  komlgafbhol;
}

let rec default_ppefpjcekag () = (Cmd_track_photo_activity_type_none:ppefpjcekag)

let rec default_dkmgobmngna 
  ?gakmanenkmh:((gakmanenkmh:int32) = 0l)
  ?stage_id:((stage_id:int32) = 0l)
  () : dkmgobmngna  = {
  gakmanenkmh;
  stage_id;
}

let rec default_jlmpepajfgn = ()

let rec default_caihfoekdkg 
  ?loiacnoghal:((loiacnoghal:dkmgobmngna list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : caihfoekdkg  = {
  loiacnoghal;
  retcode;
}

let rec default_bhbmdjfabkp 
  ?phkkegggmdi:((phkkegggmdi:int32) = 0l)
  ?cikiifgkobo:((cikiifgkobo:bool) = false)
  () : bhbmdjfabkp  = {
  phkkegggmdi;
  cikiifgkobo;
}

let rec default_blhbkgmhioi 
  ?llicomkidom:((llicomkidom:bhbmdjfabkp list) = [])
  ?stage_id:((stage_id:int32) = 0l)
  ?cost_time:((cost_time:int32) = 0l)
  () : blhbkgmhioi  = {
  llicomkidom;
  stage_id;
  cost_time;
}

let rec default_kbmejebjblb 
  ?llicomkidom:((llicomkidom:bhbmdjfabkp list) = [])
  ?lpgaoolbbfm:((lpgaoolbbfm:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  ?stage_id:((stage_id:int32) = 0l)
  () : kbmejebjblb  = {
  llicomkidom;
  lpgaoolbbfm;
  retcode;
  stage_id;
}

let rec default_oejfojfeook 
  ?stage_id:((stage_id:int32) = 0l)
  ?nipjabamela:((nipjabamela:bool) = false)
  () : oejfojfeook  = {
  stage_id;
  nipjabamela;
}

let rec default_hlhbilfmihg 
  ?fnpojgdggpm:((fnpojgdggpm:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : hlhbilfmihg  = {
  fnpojgdggpm;
  retcode;
}

let rec default_pifnkahjacn 
  ?stage_id:((stage_id:int32) = 0l)
  () : pifnkahjacn  = {
  stage_id;
}

let rec default_ekacihfcebb 
  ?retcode:((retcode:int32) = 0l)
  () : ekacihfcebb  = {
  retcode;
}

let rec default_hcgenkapobn () = (Cmd_train_visitor_type_none:hcgenkapobn)

let rec default_indhbbjiean () = (Train_visitor_reward_send_none:indhbbjiean)

let rec default_ffppaobdjgo () = (Train_visitor_status_none:ffppaobdjgo)

let rec default_heppgbeaopd () = (Train_visitor_register_get_type_none:heppgbeaopd)

let rec default_imehehjilbf 
  ?fhhkhmdleno:((fhhkhmdleno:bool) = false)
  ?kjdlimfggmd:((kjdlimfggmd:int32) = 0l)
  () : imehehjilbf  = {
  fhhkhmdleno;
  kjdlimfggmd;
}

let rec default_jcoigmjglmi 
  ?kjdlimfggmd:((kjdlimfggmd:int32) = 0l)
  () : jcoigmjglmi  = {
  kjdlimfggmd;
}

let rec default_pbhnlblmpaa 
  ?reward:((reward:item_list option) = None)
  ?kjdlimfggmd:((kjdlimfggmd:int32) = 0l)
  ?retcode:((retcode:int32) = 0l)
  () : pbhnlblmpaa  = {
  reward;
  kjdlimfggmd;
  retcode;
}

let rec default_fpkkikjjnjo 
  ?gppailmfnpc:((gppailmfnpc:int32 list) = [])
  () : fpkkikjjnjo  = {
  gppailmfnpc;
}

let rec default_flkndlkfapo 
  ?retcode:((retcode:int32) = 0l)
  ?aaiiofpbclc:((aaiiofpbclc:imehehjilbf list) = [])
  () : flkndlkfapo  = {
  retcode;
  aaiiofpbclc;
}

let rec default_klnondaeimi 
  ?cjgpnhfjgem:((cjgpnhfjgem:int64) = 0L)
  () : klnondaeimi  = {
  cjgpnhfjgem;
}

let rec default_gfdkjpbgndm 
  ?fgmdoekgpee:((fgmdoekgpee:indhbbjiean) = default_indhbbjiean ())
  ?kjdlimfggmd:((kjdlimfggmd:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  () : gfdkjpbgndm  = {
  fgmdoekgpee;
  kjdlimfggmd;
  reward;
}

let rec default_gmmckeldapa 
  ?mbggfmadnhj:((mbggfmadnhj:int32 list) = [])
  ?kjdlimfggmd:((kjdlimfggmd:int32) = 0l)
  ?kkmajbpemnh:((kkmajbpemnh:bool) = false)
  ?lmdjgffdebk:((lmdjgffdebk:int32) = 0l)
  ?status:((status:ffppaobdjgo) = default_ffppaobdjgo ())
  () : gmmckeldapa  = {
  mbggfmadnhj;
  kjdlimfggmd;
  kkmajbpemnh;
  lmdjgffdebk;
  status;
}

let rec default_ccoihlmpiac 
  ?fgmdoekgpee:((fgmdoekgpee:heppgbeaopd) = default_heppgbeaopd ())
  () : ccoihlmpiac  = {
  fgmdoekgpee;
}

let rec default_lhjfoefkhmg 
  ?hiinpcllmlh:((hiinpcllmlh:gmmckeldapa list) = [])
  ?mfdbddconkm:((mfdbddconkm:int32 list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : lhjfoefkhmg  = {
  hiinpcllmlh;
  mfdbddconkm;
  retcode;
}

let rec default_ajonbhidggp 
  ?kjdlimfggmd:((kjdlimfggmd:int32) = 0l)
  () : ajonbhidggp  = {
  kjdlimfggmd;
}

let rec default_pmhjadjahah 
  ?retcode:((retcode:int32) = 0l)
  ?mbggfmadnhj:((mbggfmadnhj:int32 list) = [])
  ?kjdlimfggmd:((kjdlimfggmd:int32) = 0l)
  () : pmhjadjahah  = {
  retcode;
  mbggfmadnhj;
  kjdlimfggmd;
}

let rec default_npkoljalcid 
  ?mfdbddconkm:((mfdbddconkm:int32 list) = [])
  () : npkoljalcid  = {
  mfdbddconkm;
}

let rec default_hdgbdehfdal 
  ?retcode:((retcode:int32) = 0l)
  () : hdgbdehfdal  = {
  retcode;
}

let rec default_ahohoegfkcn () = (Cmd_travel_brochure_none:ahohoegfkcn)

let rec default_nbdeaohmgpd () = (Page_none:nbdeaohmgpd)

let rec default_nepgcakaimg () = (Page_desc_none:nepgcakaimg)

let rec default_edpcmbkldpp 
  ?ppikfajecgn:((ppikfajecgn:int32) = 0l)
  ?jhaokflajhi:((jhaokflajhi:int32) = 0l)
  ?unique_id:((unique_id:int64) = 0L)
  ?lefamlnchdb:((lefamlnchdb:int32) = 0l)
  ?oppiofgaapm:((oppiofgaapm:int32) = 0l)
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  () : edpcmbkldpp  = {
  ppikfajecgn;
  jhaokflajhi;
  unique_id;
  lefamlnchdb;
  oppiofgaapm;
  hgjolgkaofj;
}

let rec default_plhfolkmaji 
  ?ejglndccacp:((ejglndccacp:int32) = 0l)
  ?bmojbiafcan:((bmojbiafcan:nbdeaohmgpd) = default_nbdeaohmgpd ())
  ?mmdkdomadkc:((mmdkdomadkc:nepgcakaimg) = default_nepgcakaimg ())
  ?nanmhcnadkg:((nanmhcnadkg:edpcmbkldpp list) = [])
  ?elhpffpejcd:((elhpffpejcd:int32) = 0l)
  () : plhfolkmaji  = {
  ejglndccacp;
  bmojbiafcan;
  mmdkdomadkc;
  nanmhcnadkg;
  elhpffpejcd;
}

let rec default_eecdaglagim = ()

let rec default_ebhhobohldg 
  ?iklpaikjkha:((iklpaikjkha:(int32 * plhfolkmaji) list) = [])
  ?retcode:((retcode:int32) = 0l)
  ?dmoappoigef:((dmoappoigef:(int32 * int32) list) = [])
  ?ogcfmckhlja:((ogcfmckhlja:int32) = 0l)
  () : ebhhobohldg  = {
  iklpaikjkha;
  retcode;
  dmoappoigef;
  ogcfmckhlja;
}

let rec default_kehccelcakp 
  ?elhpffpejcd:((elhpffpejcd:int32) = 0l)
  () : kehccelcakp  = {
  elhpffpejcd;
}

let rec default_dlnlcelilmh 
  ?elhpffpejcd:((elhpffpejcd:int32) = 0l)
  ?ejglndccacp:((ejglndccacp:int32) = 0l)
  () : dlnlcelilmh  = {
  elhpffpejcd;
  ejglndccacp;
}

let rec default_jkkodmojmcp 
  ?fibbcankfpi:((fibbcankfpi:plhfolkmaji option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?reward:((reward:item_list option) = None)
  () : jkkodmojmcp  = {
  fibbcankfpi;
  retcode;
  reward;
}

let rec default_moejhbphboe 
  ?elhpffpejcd:((elhpffpejcd:int32) = 0l)
  ?oppiofgaapm:((oppiofgaapm:int32) = 0l)
  ?jhaokflajhi:((jhaokflajhi:int32) = 0l)
  ?lefamlnchdb:((lefamlnchdb:int32) = 0l)
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  ?ppikfajecgn:((ppikfajecgn:int32) = 0l)
  () : moejhbphboe  = {
  elhpffpejcd;
  oppiofgaapm;
  jhaokflajhi;
  lefamlnchdb;
  hgjolgkaofj;
  ppikfajecgn;
}

let rec default_lhogneaekbm 
  ?retcode:((retcode:int32) = 0l)
  ?fibbcankfpi:((fibbcankfpi:plhfolkmaji option) = None)
  () : lhogneaekbm  = {
  retcode;
  fibbcankfpi;
}

let rec default_phnejeildid 
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  ?unique_id:((unique_id:int64) = 0L)
  ?elhpffpejcd:((elhpffpejcd:int32) = 0l)
  () : phnejeildid  = {
  hgjolgkaofj;
  unique_id;
  elhpffpejcd;
}

let rec default_djoaplnhnnm 
  ?fibbcankfpi:((fibbcankfpi:plhfolkmaji option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : djoaplnhnnm  = {
  fibbcankfpi;
  retcode;
}

let rec default_kjjnbcjpofd 
  ?ppikfajecgn:((ppikfajecgn:int32) = 0l)
  ?lefamlnchdb:((lefamlnchdb:int32) = 0l)
  ?jhaokflajhi:((jhaokflajhi:int32) = 0l)
  ?oppiofgaapm:((oppiofgaapm:int32) = 0l)
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  ?elhpffpejcd:((elhpffpejcd:int32) = 0l)
  ?unique_id:((unique_id:int64) = 0L)
  () : kjjnbcjpofd  = {
  ppikfajecgn;
  lefamlnchdb;
  jhaokflajhi;
  oppiofgaapm;
  hgjolgkaofj;
  elhpffpejcd;
  unique_id;
}

let rec default_lbeilmencmg 
  ?retcode:((retcode:int32) = 0l)
  ?fibbcankfpi:((fibbcankfpi:plhfolkmaji option) = None)
  () : lbeilmencmg  = {
  retcode;
  fibbcankfpi;
}

let rec default_eildnlloolg 
  ?cokophbhocf:((cokophbhocf:int32) = 0l)
  ?kagnbjdmamf:((kagnbjdmamf:int32) = 0l)
  () : eildnlloolg  = {
  cokophbhocf;
  kagnbjdmamf;
}

let rec default_dldkemoempi 
  ?value:((value:int32) = 0l)
  () : dldkemoempi  = {
  value;
}

let rec default_acemjognmli 
  ?retcode:((retcode:int32) = 0l)
  () : acemjognmli  = {
  retcode;
}

let rec default_bogbdeohiom 
  ?clehhaedpae:((clehhaedpae:nepgcakaimg) = default_nepgcakaimg ())
  ?elhpffpejcd:((elhpffpejcd:int32) = 0l)
  () : bogbdeohiom  = {
  clehhaedpae;
  elhpffpejcd;
}

let rec default_oedabbebong 
  ?retcode:((retcode:int32) = 0l)
  () : oedabbebong  = {
  retcode;
}

let rec default_mdjglknfbcl 
  ?elhpffpejcd:((elhpffpejcd:int32) = 0l)
  () : mdjglknfbcl  = {
  elhpffpejcd;
}

let rec default_ngdapheckdd 
  ?fibbcankfpi:((fibbcankfpi:plhfolkmaji option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : ngdapheckdd  = {
  fibbcankfpi;
  retcode;
}

let rec default_daonkhoicpl 
  ?oppiofgaapm:((oppiofgaapm:int32) = 0l)
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  ?jhaokflajhi:((jhaokflajhi:int32) = 0l)
  ?lefamlnchdb:((lefamlnchdb:int32) = 0l)
  ?ppikfajecgn:((ppikfajecgn:int32) = 0l)
  () : daonkhoicpl  = {
  oppiofgaapm;
  hgjolgkaofj;
  jhaokflajhi;
  lefamlnchdb;
  ppikfajecgn;
}

let rec default_agfommpgbeh 
  ?ejkllkececl:((ejkllkececl:daonkhoicpl list) = [])
  ?elhpffpejcd:((elhpffpejcd:int32) = 0l)
  () : agfommpgbeh  = {
  ejkllkececl;
  elhpffpejcd;
}

let rec default_idechpiaipb 
  ?fibbcankfpi:((fibbcankfpi:plhfolkmaji option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : idechpiaipb  = {
  fibbcankfpi;
  retcode;
}

let rec default_mmfbpfacamh () = (Cmd_treasure_dungeon_type_none:mmfbpfacamh)

let rec default_domnbbdobkg () = (Treasure_dungeon_record_none:domnbbdobkg)

let rec default_treasure_dungeon_record_data 
  ?type_:((type_:domnbbdobkg) = default_domnbbdobkg ())
  ?param_2:((param_2:int32) = 0l)
  ?target_grid_id:((target_grid_id:int32) = 0l)
  ?param_1:((param_1:int32) = 0l)
  ?source_grid_id:((source_grid_id:int32) = 0l)
  () : treasure_dungeon_record_data  = {
  type_;
  param_2;
  target_grid_id;
  param_1;
  source_grid_id;
}

let rec default_adihimnhjmc 
  ?pkkfndimmio:((pkkfndimmio:int32) = 0l)
  ?kkjoplahmam:((kkjoplahmam:int32) = 0l)
  () : adihimnhjmc  = {
  pkkfndimmio;
  kkjoplahmam;
}

let rec default_nhomjjpmlml 
  ?avatar_id:((avatar_id:int32) = 0l)
  ?avatar_type:((avatar_type:int32) = 0l)
  ?hp:((hp:int32) = 0l)
  ?elolchjhcpa:((elolchjhcpa:int32) = 0l)
  ?sp:((sp:sp_progress option) = None)
  () : nhomjjpmlml  = {
  avatar_id;
  avatar_type;
  hp;
  elolchjhcpa;
  sp;
}

let rec default_fmkkknpkhka 
  ?avatar_id:((avatar_id:int32) = 0l)
  ?avatar_type:((avatar_type:int32) = 0l)
  () : fmkkknpkhka  = {
  avatar_id;
  avatar_type;
}

let rec default_olekkhgdbno 
  ?olfhccbiidg:((olfhccbiidg:int32) = 0l)
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  () : olekkhgdbno  = {
  olfhccbiidg;
  hgjolgkaofj;
}

let rec default_kckckdlbgah 
  ?mgokheahgno:((mgokheahgno:int32) = 0l)
  ?pkkfndimmio:((pkkfndimmio:int32) = 0l)
  ?odfbamohefb:((odfbamohefb:int32) = 0l)
  ?hfofggdjldk:((hfofggdjldk:int32) = 0l)
  ?mdplfmdjfji:((mdplfmdjfji:int32) = 0l)
  () : kckckdlbgah  = {
  mgokheahgno;
  pkkfndimmio;
  odfbamohefb;
  hfofggdjldk;
  mdplfmdjfji;
}

let rec default_eihmdnhfbhi 
  ?mdplfmdjfji:((mdplfmdjfji:int32) = 0l)
  ?jllomgfnoad:((jllomgfnoad:bool) = false)
  ?kjhdclobejc:((kjhdclobejc:bool) = false)
  ?kjbihcphcco:((kjbihcphcco:bool) = false)
  ?buff_list:((buff_list:kckckdlbgah list) = [])
  ?pghfklcblcf:((pghfklcblcf:int32) = 0l)
  ?eeilehahchh:((eeilehahchh:bool) = false)
  ?emdckdplfno:((emdckdplfno:int32) = 0l)
  () : eihmdnhfbhi  = {
  mdplfmdjfji;
  jllomgfnoad;
  kjhdclobejc;
  kjbihcphcco;
  buff_list;
  pghfklcblcf;
  eeilehahchh;
  emdckdplfno;
}

let rec default_gfkhhobedjc 
  ?fdhmddjckbm:((fdhmddjckbm:int32) = 0l)
  ?ccgokknidmp:((ccgokknidmp:int32) = 0l)
  ?ihojbibbmjk:((ihojbibbmjk:int32) = 0l)
  ?buff_list:((buff_list:adihimnhjmc list) = [])
  ?acnhklfedmn:((acnhklfedmn:treasure_dungeon_record_data list) = [])
  ?lnjapmhfcck:((lnjapmhfcck:int32) = 0l)
  ?avatar_list:((avatar_list:nhomjjpmlml list) = [])
  ?dodenbklklh:((dodenbklklh:bool) = false)
  ?gepegecgkgd:((gepegecgkgd:int32) = 0l)
  ?bdajebnoflc:((bdajebnoflc:fmkkknpkhka list) = [])
  ?dckcbphknmm:((dckcbphknmm:int32) = 0l)
  ?kcinaojggca:((kcinaojggca:nhomjjpmlml list) = [])
  ?gabmdafmbia:((gabmdafmbia:int32) = 0l)
  ?koonaacohgh:((koonaacohgh:bool) = false)
  ?olpededenmb:((olpededenmb:bool) = false)
  ?pdpfcfglgco:((pdpfcfglgco:olekkhgdbno list) = [])
  ?ibbomefncba:((ibbomefncba:int32) = 0l)
  ?nnfelodhecl:((nnfelodhecl:eihmdnhfbhi list) = [])
  () : gfkhhobedjc  = {
  fdhmddjckbm;
  ccgokknidmp;
  ihojbibbmjk;
  buff_list;
  acnhklfedmn;
  lnjapmhfcck;
  avatar_list;
  dodenbklklh;
  gepegecgkgd;
  bdajebnoflc;
  dckcbphknmm;
  kcinaojggca;
  gabmdafmbia;
  koonaacohgh;
  olpededenmb;
  pdpfcfglgco;
  ibbomefncba;
  nnfelodhecl;
}

let rec default_nkjmbndffmp 
  ?fimenpabjlk:((fimenpabjlk:gfkhhobedjc option) = None)
  () : nkjmbndffmp  = {
  fimenpabjlk;
}

let rec default_cdaklgjjdag 
  ?ihojbibbmjk:((ihojbibbmjk:int32) = 0l)
  ?dckcbphknmm:((dckcbphknmm:int32) = 0l)
  ?dfggjlmnblk:((dfggjlmnblk:int32) = 0l)
  ?llbhkchlhfl:((llbhkchlhfl:int32) = 0l)
  ?mmnebfbnoni:((mmnebfbnoni:bool) = false)
  ?apconhladef:((apconhladef:(int32 * int32) list) = [])
  ?iacdjpcmgem:((iacdjpcmgem:(int32 * int32) list) = [])
  () : cdaklgjjdag  = {
  ihojbibbmjk;
  dckcbphknmm;
  dfggjlmnblk;
  llbhkchlhfl;
  mmnebfbnoni;
  apconhladef;
  iacdjpcmgem;
}

let rec default_bcgidhjgbeh 
  ?ihojbibbmjk:((ihojbibbmjk:int32) = 0l)
  ?dckcbphknmm:((dckcbphknmm:int32) = 0l)
  ?fdhmddjckbm:((fdhmddjckbm:int32) = 0l)
  ?jfbghenfbmh:((jfbghenfbmh:bool) = false)
  ?ccgokknidmp:((ccgokknidmp:int32) = 0l)
  ?nhbjkfibgbk:((nhbjkfibgbk:bool) = false)
  ?fknlibdaomf:((fknlibdaomf:int32) = 0l)
  () : bcgidhjgbeh  = {
  ihojbibbmjk;
  dckcbphknmm;
  fdhmddjckbm;
  jfbghenfbmh;
  ccgokknidmp;
  nhbjkfibgbk;
  fknlibdaomf;
}

let rec default_phklcpjjdkc = ()

let rec default_ceaeicabldl 
  ?lflniekplaj:((lflniekplaj:bcgidhjgbeh list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : ceaeicabldl  = {
  lflniekplaj;
  retcode;
}

let rec default_bohmllfkgdb 
  ?avatar_id:((avatar_id:int32) = 0l)
  ?avatar_type:((avatar_type:avatar_type) = default_avatar_type ())
  () : bohmllfkgdb  = {
  avatar_id;
  avatar_type;
}

let rec default_egfcfmidplk 
  ?dckcbphknmm:((dckcbphknmm:int32) = 0l)
  ?avatar_list:((avatar_list:bohmllfkgdb list) = [])
  () : egfcfmidplk  = {
  dckcbphknmm;
  avatar_list;
}

let rec default_oaiphfkhfhf 
  ?fimenpabjlk:((fimenpabjlk:gfkhhobedjc option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : oaiphfkhfhf  = {
  fimenpabjlk;
  retcode;
}

let rec default_kdffhgdidnj 
  ?dckcbphknmm:((dckcbphknmm:int32) = 0l)
  ?mdplfmdjfji:((mdplfmdjfji:int32) = 0l)
  () : kdffhgdidnj  = {
  dckcbphknmm;
  mdplfmdjfji;
}

let rec default_jjaapmnnpkb 
  ?retcode:((retcode:int32) = 0l)
  ?fimenpabjlk:((fimenpabjlk:gfkhhobedjc option) = None)
  () : jjaapmnnpkb  = {
  retcode;
  fimenpabjlk;
}

let rec default_nbdnjolnelg 
  ?dckcbphknmm:((dckcbphknmm:int32) = 0l)
  ?mdplfmdjfji:((mdplfmdjfji:int32) = 0l)
  ?iihookopmmk:((iihookopmmk:int32) = 0l)
  () : nbdnjolnelg  = {
  dckcbphknmm;
  mdplfmdjfji;
  iihookopmmk;
}

let rec default_ndimhdecnpi 
  ?fimenpabjlk:((fimenpabjlk:gfkhhobedjc option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : ndimhdecnpi  = {
  fimenpabjlk;
  retcode;
}

let rec default_licdjbkkfal 
  ?hgjolgkaofj:((hgjolgkaofj:int32) = 0l)
  ?mdplfmdjfji:((mdplfmdjfji:int32) = 0l)
  ?dckcbphknmm:((dckcbphknmm:int32) = 0l)
  () : licdjbkkfal  = {
  hgjolgkaofj;
  mdplfmdjfji;
  dckcbphknmm;
}

let rec default_piogcpmnabf 
  ?fimenpabjlk:((fimenpabjlk:gfkhhobedjc option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : piogcpmnabf  = {
  fimenpabjlk;
  retcode;
}

let rec default_nkadmflinkc 
  ?avatar_list:((avatar_list:bohmllfkgdb list) = [])
  ?dckcbphknmm:((dckcbphknmm:int32) = 0l)
  ?mdplfmdjfji:((mdplfmdjfji:int32) = 0l)
  () : nkadmflinkc  = {
  avatar_list;
  dckcbphknmm;
  mdplfmdjfji;
}

let rec default_elleinlllod 
  ?ibllilenejp:((ibllilenejp:scene_battle_info option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : elleinlllod  = {
  ibllilenejp;
  retcode;
}

let rec default_mmgpeoifnbp 
  ?dckcbphknmm:((dckcbphknmm:int32) = 0l)
  ?piofaglkghg:((piofaglkghg:bool) = false)
  () : mmgpeoifnbp  = {
  dckcbphknmm;
  piofaglkghg;
}

let rec default_lacfgpmpdpj 
  ?retcode:((retcode:int32) = 0l)
  () : lacfgpmpdpj  = {
  retcode;
}

let rec default_kkkkpnfkonk () = (Cmd_tutorial_type_none:kkkkpnfkonk)

let rec default_jmfbfepgebc () = (Tutorial_none:jmfbfepgebc)

let rec default_tutorial 
  ?id:((id:int32) = 0l)
  ?status:((status:jmfbfepgebc) = default_jmfbfepgebc ())
  () : tutorial  = {
  id;
  status;
}

let rec default_tutorial_guide 
  ?id:((id:int32) = 0l)
  ?status:((status:jmfbfepgebc) = default_jmfbfepgebc ())
  () : tutorial_guide  = {
  id;
  status;
}

let rec default_apikgighdgc = ()

let rec default_get_tutorial_sc_rsp 
  ?tutorial_list:((tutorial_list:tutorial list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : get_tutorial_sc_rsp  = {
  tutorial_list;
  retcode;
}

let rec default_ojofgmhapgh = ()

let rec default_get_tutorial_guide_sc_rsp 
  ?tutorial_guide_list:((tutorial_guide_list:tutorial_guide list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : get_tutorial_guide_sc_rsp  = {
  tutorial_guide_list;
  retcode;
}

let rec default_oplbnbefnjj 
  ?bjmhgbbfpmn:((bjmhgbbfpmn:int32) = 0l)
  () : oplbnbefnjj  = {
  bjmhgbbfpmn;
}

let rec default_unlock_tutorial_sc_rsp 
  ?retcode:((retcode:int32) = 0l)
  ?tutorial:((tutorial:tutorial option) = None)
  () : unlock_tutorial_sc_rsp  = {
  retcode;
  tutorial;
}

let rec default_mgnmibjadbe 
  ?group_id:((group_id:int32) = 0l)
  () : mgnmibjadbe  = {
  group_id;
}

let rec default_unlock_tutorial_guide_sc_rsp 
  ?tutorial_guide:((tutorial_guide:tutorial_guide option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : unlock_tutorial_guide_sc_rsp  = {
  tutorial_guide;
  retcode;
}

let rec default_obkljeiahea 
  ?bjmhgbbfpmn:((bjmhgbbfpmn:int32) = 0l)
  () : obkljeiahea  = {
  bjmhgbbfpmn;
}

let rec default_finish_tutorial_sc_rsp 
  ?tutorial:((tutorial:tutorial option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : finish_tutorial_sc_rsp  = {
  tutorial;
  retcode;
}

let rec default_nlgambkaaie 
  ?group_id:((group_id:int32) = 0l)
  () : nlgambkaaie  = {
  group_id;
}

let rec default_finish_tutorial_guide_sc_rsp 
  ?retcode:((retcode:int32) = 0l)
  ?tutorial_guide:((tutorial_guide:tutorial_guide option) = None)
  ?reward:((reward:item_list option) = None)
  () : finish_tutorial_guide_sc_rsp  = {
  retcode;
  tutorial_guide;
  reward;
}

let rec default_elhiclfnnmc () = (Cmd_waypoint_type_none:elhiclfnnmc)

let rec default_pkajimpclaj () = (Waypoint_type_none:pkajimpclaj)

let rec default_pkkplfincff () = (Waypoint_unlock_none:pkkplfincff)

let rec default_nlbpclnhcjn 
  ?id:((id:int32) = 0l)
  ?kollpgccdil:((kollpgccdil:bool) = false)
  ?kojolodooni:((kojolodooni:int32) = 0l)
  () : nlbpclnhcjn  = {
  id;
  kollpgccdil;
  kojolodooni;
}

let rec default_jpkjdnbmhnl 
  ?kollpgccdil:((kollpgccdil:bool) = false)
  ?efoafoabnon:((efoafoabnon:int32) = 0l)
  ?id:((id:int32) = 0l)
  ?ghchnanjdfb:((ghchnanjdfb:int32 list) = [])
  () : jpkjdnbmhnl  = {
  kollpgccdil;
  efoafoabnon;
  id;
  ghchnanjdfb;
}

let rec default_eehicbnnfej 
  ?eiiaaffjcda:((eiiaaffjcda:nlbpclnhcjn list) = [])
  ?eeghmjloiap:((eeghmjloiap:jpkjdnbmhnl option) = None)
  () : eehicbnnfej  = {
  eiiaaffjcda;
  eeghmjloiap;
}

let rec default_eogickanbpl 
  ?mhhndeiccmp:((mhhndeiccmp:int32) = 0l)
  () : eogickanbpl  = {
  mhhndeiccmp;
}

let rec default_cbjjhcohoko 
  ?mcdcffpnpal:((mcdcffpnpal:eehicbnnfej option) = None)
  ?retcode:((retcode:int32) = 0l)
  ?impkmnjoncg:((impkmnjoncg:int32) = 0l)
  () : cbjjhcohoko  = {
  mcdcffpnpal;
  retcode;
  impkmnjoncg;
}

let rec default_infclppcfii 
  ?cielfhbbkif:((cielfhbbkif:int32) = 0l)
  () : infclppcfii  = {
  cielfhbbkif;
}

let rec default_ocfjiflmdmf 
  ?retcode:((retcode:int32) = 0l)
  ?impkmnjoncg:((impkmnjoncg:int32) = 0l)
  () : ocfjiflmdmf  = {
  retcode;
  impkmnjoncg;
}

let rec default_djjgocfdboc = ()

let rec default_cookpofdkal 
  ?impkmnjoncg:((impkmnjoncg:int32) = 0l)
  ?eadjabjkdmd:((eadjabjkdmd:jpkjdnbmhnl list) = [])
  ?retcode:((retcode:int32) = 0l)
  () : cookpofdkal  = {
  impkmnjoncg;
  eadjabjkdmd;
  retcode;
}

let rec default_inkhgacfojg 
  ?cielfhbbkif:((cielfhbbkif:int32) = 0l)
  ?mhhndeiccmp:((mhhndeiccmp:int32) = 0l)
  () : inkhgacfojg  = {
  cielfhbbkif;
  mhhndeiccmp;
}

let rec default_ljffpoepbog 
  ?mhhndeiccmp:((mhhndeiccmp:int32) = 0l)
  ?llonjcmgcfh:((llonjcmgcfh:int32) = 0l)
  () : ljffpoepbog  = {
  mhhndeiccmp;
  llonjcmgcfh;
}

let rec default_bfbaccbmiem 
  ?retcode:((retcode:int32) = 0l)
  ?mhhndeiccmp:((mhhndeiccmp:int32) = 0l)
  ?llonjcmgcfh:((llonjcmgcfh:int32) = 0l)
  () : bfbaccbmiem  = {
  retcode;
  mhhndeiccmp;
  llonjcmgcfh;
}

let rec default_olnkajodjjo () = (Cmd_wolf_bro_type_none:olnkajodjjo)

let rec default_bldfddbpnba 
  ?bhjdpndboha:((bhjdpndboha:vector list) = [])
  ?jililehmdkg:((jililehmdkg:motion_info option) = None)
  ?bojongdmfck:((bojongdmfck:bool) = false)
  ?flamaakibdo:((flamaakibdo:int32) = 0l)
  () : bldfddbpnba  = {
  bhjdpndboha;
  jililehmdkg;
  bojongdmfck;
  flamaakibdo;
}

let rec default_megkociblgl 
  ?flamaakibdo:((flamaakibdo:int32) = 0l)
  ?id:((id:int32) = 0l)
  ?bojongdmfck:((bojongdmfck:bool) = false)
  ?bhjdpndboha:((bhjdpndboha:vector list) = [])
  ?mbmegghhkjl:((mbmegghhkjl:string) = "")
  ?icebhafphej:((icebhafphej:bldfddbpnba option) = None)
  () : megkociblgl  = {
  flamaakibdo;
  id;
  bojongdmfck;
  bhjdpndboha;
  mbmegghhkjl;
  icebhafphej;
}

let rec default_cffmmlmbakg 
  ?podpafooomg:((podpafooomg:iggijbjppoc option) = None)
  ?jililehmdkg:((jililehmdkg:motion_info option) = None)
  ?nipjabamela:((nipjabamela:bool) = false)
  ?id:((id:int32) = 0l)
  () : cffmmlmbakg  = {
  podpafooomg;
  jililehmdkg;
  nipjabamela;
  id;
}

let rec default_ocabdlfgddo 
  ?retcode:((retcode:int32) = 0l)
  ?dkefdkdleip:((dkefdkdleip:megkociblgl option) = None)
  () : ocabdlfgddo  = {
  retcode;
  dkefdkdleip;
}

let rec default_bbejpgcgoeg 
  ?id:((id:int32) = 0l)
  ?jililehmdkg:((jililehmdkg:motion_info option) = None)
  () : bbejpgcgoeg  = {
  id;
  jililehmdkg;
}

let rec default_knnddnnphdo 
  ?dkefdkdleip:((dkefdkdleip:megkociblgl option) = None)
  ?retcode:((retcode:int32) = 0l)
  () : knnddnnphdo  = {
  dkefdkdleip;
  retcode;
}

let rec default_dlemcdhgehe 
  ?id:((id:int32) = 0l)
  () : dlemcdhgehe  = {
  id;
}

let rec default_fhodkhmblge 
  ?retcode:((retcode:int32) = 0l)
  ?dkefdkdleip:((dkefdkdleip:megkociblgl option) = None)
  () : fhodkhmblge  = {
  retcode;
  dkefdkdleip;
}

let rec default_hkfphajhobo 
  ?id:((id:int32) = 0l)
  () : hkfphajhobo  = {
  id;
}

let rec default_obmalglckij 
  ?retcode:((retcode:int32) = 0l)
  ?dkefdkdleip:((dkefdkdleip:megkociblgl option) = None)
  () : obmalglckij  = {
  retcode;
  dkefdkdleip;
}

let rec default_bhhgnciilln 
  ?id:((id:int32) = 0l)
  () : bhhgnciilln  = {
  id;
}

let rec default_nccafebhggn 
  ?retcode:((retcode:int32) = 0l)
  ?dkefdkdleip:((dkefdkdleip:megkociblgl option) = None)
  () : nccafebhggn  = {
  retcode;
  dkefdkdleip;
}

let rec default_nphghnpilgh 
  ?dkefdkdleip:((dkefdkdleip:megkociblgl option) = None)
  () : nphghnpilgh  = {
  dkefdkdleip;
}

let rec default_bmnpakcohnb 
  ?fdlfjmagnod:((fdlfjmagnod:vector option) = None)
  ?ohainjgiflk:((ohainjgiflk:int32 list) = [])
  () : bmnpakcohnb  = {
  fdlfjmagnod;
  ohainjgiflk;
}

let rec default_klekfnbkhle 
  ?retcode:((retcode:int32) = 0l)
  ?dkefdkdleip:((dkefdkdleip:megkociblgl option) = None)
  () : klekfnbkhle  = {
  retcode;
  dkefdkdleip;
}

let rec default_mkoahlhfigf 
  ?fdlfjmagnod:((fdlfjmagnod:vector option) = None)
  () : mkoahlhfigf  = {
  fdlfjmagnod;
}

let rec default_fghhgocefoj 
  ?retcode:((retcode:int32) = 0l)
  ?dkefdkdleip:((dkefdkdleip:megkociblgl option) = None)
  () : fghhgocefoj  = {
  retcode;
  dkefdkdleip;
}

let rec default_fmckljimojc 
  ?pfbnanpcdjh:((pfbnanpcdjh:int32) = 0l)
  ?group_id:((group_id:int32) = 0l)
  () : fmckljimojc  = {
  pfbnanpcdjh;
  group_id;
}

let rec default_dcpbeknpeij 
  ?retcode:((retcode:int32) = 0l)
  () : dcpbeknpeij  = {
  retcode;
}

let rec default_mgeahpkhpao 
  ?ohainjgiflk:((ohainjgiflk:int32 list) = [])
  () : mgeahpkhpao  = {
  ohainjgiflk;
}

let rec default_mjchmfgimgb 
  ?retcode:((retcode:int32) = 0l)
  () : mjchmfgimgb  = {
  retcode;
}

let rec default_jgidkoomfnm () = (Dispatch_type_none:jgidkoomfnm)

let rec default_packet_head 
  ?packet_id:((packet_id:int32) = 0l)
  ?sign_type:((sign_type:int32) = 0l)
  ?sign:((sign:int32) = 0l)
  ?user_id:((user_id:int32) = 0l)
  ?src_addr:((src_addr:int32) = 0l)
  ?dst_addr:((dst_addr:int32) = 0l)
  ?dispatch_type:((dispatch_type:int32) = 0l)
  ?server_type:((server_type:int32) = 0l)
  ?dispatch_key:((dispatch_key:int32) = 0l)
  ?user_session_id:((user_session_id:int32) = 0l)
  ?id:((id:int32) = 0l)
  ?coroutine_id:((coroutine_id:int32) = 0l)
  ?hop_cnt:((hop_cnt:int32) = 0l)
  () : packet_head  = {
  packet_id;
  sign_type;
  sign;
  user_id;
  src_addr;
  dst_addr;
  dispatch_type;
  server_type;
  dispatch_key;
  user_session_id;
  id;
  coroutine_id;
  hop_cnt;
}

type player_basic_info_mutable = {
  mutable nickname : string;
  mutable level : int32;
  mutable exp : int32;
  mutable stamina : int32;
  mutable mcoin : int32;
  mutable hcoin : int32;
  mutable scoin : int32;
  mutable world_level : int32;
}

let default_player_basic_info_mutable () : player_basic_info_mutable = {
  nickname = "";
  level = 0l;
  exp = 0l;
  stamina = 0l;
  mcoin = 0l;
  hcoin = 0l;
  scoin = 0l;
  world_level = 0l;
}

type sp_progress_mutable = {
  mutable sp_cur : int32;
  mutable sp_need : int32;
}

let default_sp_progress_mutable () : sp_progress_mutable = {
  sp_cur = 0l;
  sp_need = 0l;
}

type black_info_mutable = {
  mutable begin_time : int64;
  mutable end_time : int64;
  mutable limit_level : int32;
  mutable ban_type : int32;
}

let default_black_info_mutable () : black_info_mutable = {
  begin_time = 0L;
  end_time = 0L;
  limit_level = 0l;
  ban_type = 0l;
}

type lmamieaaodh_mutable = {
  mutable avatar_type : avatar_type;
  mutable id : int32;
}

let default_lmamieaaodh_mutable () : lmamieaaodh_mutable = {
  avatar_type = default_avatar_type ();
  id = 0l;
}

type version_count_mutable = {
  mutable version : int32;
  mutable count : int32;
}

let default_version_count_mutable () : version_count_mutable = {
  version = 0l;
  count = 0l;
}

type client_download_data_mutable = {
  mutable version : int32;
  mutable time : int64;
  mutable data : bytes;
}

let default_client_download_data_mutable () : client_download_data_mutable = {
  version = 0l;
  time = 0L;
  data = Bytes.create 0;
}

type client_obj_download_data_mutable = {
  mutable obj : bytes;
  mutable hdhpoaagdem : client_download_data option;
}

let default_client_obj_download_data_mutable () : client_obj_download_data_mutable = {
  obj = Bytes.create 0;
  hdhpoaagdem = None;
}

type client_upload_data_mutable = {
  mutable tag : string;
  mutable value : string;
}

let default_client_upload_data_mutable () : client_upload_data_mutable = {
  tag = "";
  value = "";
}

type feature_switch_param_mutable = {
  mutable param_list : int32 list;
}

let default_feature_switch_param_mutable () : feature_switch_param_mutable = {
  param_list = [];
}

type feature_switch_info_mutable = {
  mutable type_ : feature_switch_type;
  mutable switch_list : feature_switch_param list;
  mutable is_all_closed : bool;
}

let default_feature_switch_info_mutable () : feature_switch_info_mutable = {
  type_ = default_feature_switch_type ();
  switch_list = [];
  is_all_closed = false;
}

type lbofjhojgph_mutable = {
  mutable hpifcabfbpa : string;
  mutable ipljneeomdp : string;
  mutable apmgpgghokn : string;
  mutable iobdkibfiaj : string;
  mutable jblmmlkkdkn : string;
  mutable hmmclkjhige : string;
  mutable fkojgdfhpep : string;
}

let default_lbofjhojgph_mutable () : lbofjhojgph_mutable = {
  hpifcabfbpa = "";
  ipljneeomdp = "";
  apmgpgghokn = "";
  iobdkibfiaj = "";
  jblmmlkkdkn = "";
  hmmclkjhige = "";
  fkojgdfhpep = "";
}

type nlhgcplikkp_mutable = {
  mutable pjlagobkdmo : int64;
  mutable blnoeiceljf : replay_type;
  mutable stage_id : int32;
  mutable uid : int32;
  mutable nickname : string;
  mutable bmfhibobmhp : int32;
  mutable aedhlhjgfpg : string;
  mutable fgilieldboi : int64;
  mutable lfnjmcnfhha : int32;
  mutable oeoikijbcfg : int32;
}

let default_nlhgcplikkp_mutable () : nlhgcplikkp_mutable = {
  pjlagobkdmo = 0L;
  blnoeiceljf = default_replay_type ();
  stage_id = 0l;
  uid = 0l;
  nickname = "";
  bmfhibobmhp = 0l;
  aedhlhjgfpg = "";
  fgilieldboi = 0L;
  lfnjmcnfhha = 0l;
  oeoikijbcfg = 0l;
}

type punk_lord_battle_avatar_mutable = {
  mutable avatar_id : int32;
  mutable avatar_level : int32;
}

let default_punk_lord_battle_avatar_mutable () : punk_lord_battle_avatar_mutable = {
  avatar_id = 0l;
  avatar_level = 0l;
}

type punk_lord_battle_record_mutable = {
  mutable uid : int32;
  mutable damage_hp : int32;
  mutable is_final_hit : bool;
  mutable over_kill_damage_hp : int32;
  mutable battle_replay_key : string;
  mutable avatar_list : punk_lord_battle_avatar list;
  mutable assist_score : int32;
  mutable damage_score : int32;
  mutable final_hit_score : int32;
}

let default_punk_lord_battle_record_mutable () : punk_lord_battle_record_mutable = {
  uid = 0l;
  damage_hp = 0l;
  is_final_hit = false;
  over_kill_damage_hp = 0l;
  battle_replay_key = "";
  avatar_list = [];
  assist_score = 0l;
  damage_score = 0l;
  final_hit_score = 0l;
}

type fgljkmekiom_mutable = {
  mutable eolalkfgdal : punk_lord_battle_record list;
}

let default_fgljkmekiom_mutable () : fgljkmekiom_mutable = {
  eolalkfgdal = [];
}

type hbbaohkdklj_mutable = {
  mutable uid : int32;
  mutable monster_id : int32;
}

let default_hbbaohkdklj_mutable () : hbbaohkdklj_mutable = {
  uid = 0l;
  monster_id = 0l;
}

type aapoalmfpan_mutable = {
  mutable uid : int32;
  mutable monster_id : int32;
  mutable pfbnanpcdjh : int32;
  mutable world_level : int32;
  mutable fgilieldboi : int64;
  mutable left_hp : int32;
  mutable lgkegiimjka : int32;
  mutable cpefaednmcc : punk_lord_share_type;
  mutable kjpdknocoeo : bool;
}

let default_aapoalmfpan_mutable () : aapoalmfpan_mutable = {
  uid = 0l;
  monster_id = 0l;
  pfbnanpcdjh = 0l;
  world_level = 0l;
  fgilieldboi = 0L;
  left_hp = 0l;
  lgkegiimjka = 0l;
  cpefaednmcc = default_punk_lord_share_type ();
  kjpdknocoeo = false;
}

type punk_lord_battle_replay_mutable = {
  mutable battle_replay_key : string;
  mutable replay_info : nlhgcplikkp option;
}

let default_punk_lord_battle_replay_mutable () : punk_lord_battle_replay_mutable = {
  battle_replay_key = "";
  replay_info = None;
}

type naondbibjjo_mutable = {
  mutable pomlpdggdfc : int64;
  mutable dfpkdpmefac : int32;
  mutable hngamdhjhld : int32;
}

let default_naondbibjjo_mutable () : naondbibjjo_mutable = {
  pomlpdggdfc = 0L;
  dfpkdpmefac = 0l;
  hngamdhjhld = 0l;
}

type kicjpjalbbh_mutable = {
  mutable mjjmhnkknlb : naondbibjjo option;
}

let default_kicjpjalbbh_mutable () : kicjpjalbbh_mutable = {
  mjjmhnkknlb = None;
}

type lbjifmkiiec_mutable = {
  mutable name : string;
  mutable ldcmdeljigi : string;
  mutable hggbkfedhoe : string;
  mutable gohgfmolkmk : string;
  mutable clmljolpmen : string;
  mutable msg : string;
}

let default_lbjifmkiiec_mutable () : lbjifmkiiec_mutable = {
  name = "";
  ldcmdeljigi = "";
  hggbkfedhoe = "";
  gohgfmolkmk = "";
  clmljolpmen = "";
  msg = "";
}

type chhhgfihhcp_mutable = {
  mutable retcode : int32;
  mutable msg : string;
  mutable ajkbajlebhn : string;
  mutable ognpknahdef : lbjifmkiiec list;
  mutable odbdlipeoog : string;
}

let default_chhhgfihhcp_mutable () : chhhgfihhcp_mutable = {
  retcode = 0l;
  msg = "";
  ajkbajlebhn = "";
  ognpknahdef = [];
  odbdlipeoog = "";
}

type relic_filter_plan_settings_mutable = {
  mutable rarity_bitset : int32;
  mutable relic_set_list : int32 list;
  mutable body_main_property_list : int32 list;
  mutable foot_main_property_list : int32 list;
  mutable sphere_main_property_list : int32 list;
  mutable rope_main_property_list : int32 list;
  mutable is_include_filter_sub_property : bool;
  mutable sub_property_num : int32;
  mutable sub_property_list : int32 list;
}

let default_relic_filter_plan_settings_mutable () : relic_filter_plan_settings_mutable = {
  rarity_bitset = 0l;
  relic_set_list = [];
  body_main_property_list = [];
  foot_main_property_list = [];
  sphere_main_property_list = [];
  rope_main_property_list = [];
  is_include_filter_sub_property = false;
  sub_property_num = 0l;
  sub_property_list = [];
}

type battle_op_mutable = {
  mutable turn_counter : int32;
  mutable state : int32;
  mutable action_entity_id : int32;
  mutable target_entity_id : int32;
  mutable op_type : int32;
  mutable skill_index : int32;
  mutable operation_counter : int32;
  mutable pmepgjijdmc : string;
}

let default_battle_op_mutable () : battle_op_mutable = {
  turn_counter = 0l;
  state = 0l;
  action_entity_id = 0l;
  target_entity_id = 0l;
  op_type = 0l;
  skill_index = 0l;
  operation_counter = 0l;
  pmepgjijdmc = "";
}

type battle_equipment_mutable = {
  mutable id : int32;
  mutable level : int32;
  mutable promotion : int32;
  mutable rank : int32;
}

let default_battle_equipment_mutable () : battle_equipment_mutable = {
  id = 0l;
  level = 0l;
  promotion = 0l;
  rank = 0l;
}

type relic_affix_mutable = {
  mutable affix_id : int32;
  mutable cnt : int32;
  mutable step : int32;
}

let default_relic_affix_mutable () : relic_affix_mutable = {
  affix_id = 0l;
  cnt = 0l;
  step = 0l;
}

type battle_relic_mutable = {
  mutable id : int32;
  mutable level : int32;
  mutable main_affix_id : int32;
  mutable sub_affix_list : relic_affix list;
  mutable unique_id : int32;
  mutable peehdpfeeoo : int32;
  mutable fgmdoekgpee : int32;
  mutable ckcmdjnelkb : int32;
}

let default_battle_relic_mutable () : battle_relic_mutable = {
  id = 0l;
  level = 0l;
  main_affix_id = 0l;
  sub_affix_list = [];
  unique_id = 0l;
  peehdpfeeoo = 0l;
  fgmdoekgpee = 0l;
  ckcmdjnelkb = 0l;
}

type avatar_skill_tree_mutable = {
  mutable point_id : int32;
  mutable level : int32;
}

let default_avatar_skill_tree_mutable () : avatar_skill_tree_mutable = {
  point_id = 0l;
  level = 0l;
}

type gnompbkahnm_mutable = {
  mutable cghmoccghlb : bool;
  mutable kafibpbdljp : int32 list;
  mutable hfhlhamjfpm : int32;
  mutable findipnanjj : int32;
}

let default_gnompbkahnm_mutable () : gnompbkahnm_mutable = {
  cghmoccghlb = false;
  kafibpbdljp = [];
  hfhlhamjfpm = 0l;
  findipnanjj = 0l;
}

type battle_avatar_mutable = {
  mutable avatar_type : avatar_type;
  mutable id : int32;
  mutable level : int32;
  mutable rank : int32;
  mutable index : int32;
  mutable skilltree_list : avatar_skill_tree list;
  mutable equipment_list : battle_equipment list;
  mutable hp : int32;
  mutable promotion : int32;
  mutable relic_list : battle_relic list;
  mutable world_level : int32;
  mutable apkmboagcmi : int32;
  mutable mpoioekkgli : gnompbkahnm option;
  mutable sp : sp_progress option;
  mutable iojopnilicf : int32;
}

let default_battle_avatar_mutable () : battle_avatar_mutable = {
  avatar_type = default_avatar_type ();
  id = 0l;
  level = 0l;
  rank = 0l;
  index = 0l;
  skilltree_list = [];
  equipment_list = [];
  hp = 0l;
  promotion = 0l;
  relic_list = [];
  world_level = 0l;
  apkmboagcmi = 0l;
  mpoioekkgli = None;
  sp = None;
  iojopnilicf = 0l;
}

type cjbomedfedo_mutable = {
  mutable ednldnkdhim : int32;
  mutable level : int32;
  mutable gcljbgjckpi : int32;
  mutable gmimbapadel : int32;
}

let default_cjbomedfedo_mutable () : cjbomedfedo_mutable = {
  ednldnkdhim = 0l;
  level = 0l;
  gcljbgjckpi = 0l;
  gmimbapadel = 0l;
}

type fndpkoiaoco_mutable = {
  mutable monster_id : int32;
  mutable femmkmapjng : int32;
  mutable max_hp : int32;
}

let default_fndpkoiaoco_mutable () : fndpkoiaoco_mutable = {
  monster_id = 0l;
  femmkmapjng = 0l;
  max_hp = 0l;
}

type battle_monster_wave_mutable = {
  mutable monster_list : fndpkoiaoco list;
  mutable djicbhlfoga : cjbomedfedo option;
  mutable jmdhdbhgjhj : int32;
  mutable comggjmfjao : int32;
}

let default_battle_monster_wave_mutable () : battle_monster_wave_mutable = {
  monster_list = [];
  djicbhlfoga = None;
  jmdhdbhgjhj = 0l;
  comggjmfjao = 0l;
}

type battle_buff_mutable = {
  mutable id : int32;
  mutable level : int32;
  mutable owner_index : int32;
  mutable wave_flag : int32;
  mutable target_index_list : int32 list;
  mutable dynamic_values : (string * float) list;
}

let default_battle_buff_mutable () : battle_buff_mutable = {
  id = 0l;
  level = 0l;
  owner_index = 0l;
  wave_flag = 0l;
  target_index_list = [];
  dynamic_values = [];
}

type cojkoonnbee_mutable = {
  mutable id : int32;
  mutable dpepdejdlka : int32;
  mutable obeicoahpbg : int32;
}

let default_cojkoonnbee_mutable () : cojkoonnbee_mutable = {
  id = 0l;
  dpepdejdlka = 0l;
  obeicoahpbg = 0l;
}

type ieimejdokoc_mutable = {
  mutable iheiaoggmoc : int32;
}

let default_ieimejdokoc_mutable () : ieimejdokoc_mutable = {
  iheiaoggmoc = 0l;
}

type nimklecdanj_mutable = {
  mutable id : int32;
  mutable dpepdejdlka : int32;
}

let default_nimklecdanj_mutable () : nimklecdanj_mutable = {
  id = 0l;
  dpepdejdlka = 0l;
}

type pajllggkegp_mutable = {
  mutable id : int32;
  mutable progress : int32;
}

let default_pajllggkegp_mutable () : pajllggkegp_mutable = {
  id = 0l;
  progress = 0l;
}

type battle_target_mutable = {
  mutable id : int32;
  mutable progress : int32;
  mutable total_progress : int32;
}

let default_battle_target_mutable () : battle_target_mutable = {
  id = 0l;
  progress = 0l;
  total_progress = 0l;
}

type eecgcenalep_mutable = {
  mutable nkpcaindgao : battle_target list;
}

let default_eecgcenalep_mutable () : eecgcenalep_mutable = {
  nkpcaindgao = [];
}

type jjnjilkjjaf_mutable = {
  mutable licjmbbbbpo : int32;
  mutable akneacgkoia : int32;
}

let default_jjnjilkjjaf_mutable () : jjnjilkjjaf_mutable = {
  licjmbbbbpo = 0l;
  akneacgkoia = 0l;
}

type oojccnomfia_mutable = {
  mutable onjeogniggp : int32;
  mutable kjbihcphcco : bool;
  mutable kncldmlpjec : jjnjilkjjaf option;
}

let default_oojccnomfia_mutable () : oojccnomfia_mutable = {
  onjeogniggp = 0l;
  kjbihcphcco = false;
  kncldmlpjec = None;
}

type joiiobnkcbh_mutable = {
  mutable mgemlbmpcgb : int32 list;
}

let default_joiiobnkcbh_mutable () : joiiobnkcbh_mutable = {
  mgemlbmpcgb = [];
}

type fgbiollmcpi_mutable = {
  mutable pkeohpicjkc : int32;
}

let default_fgbiollmcpi_mutable () : fgbiollmcpi_mutable = {
  pkeohpicjkc = 0l;
}

type evolve_build_gear_damage_info_mutable = {
  mutable gear_id : int32;
  mutable damage : float;
  mutable hp_damage : float;
}

let default_evolve_build_gear_damage_info_mutable () : evolve_build_gear_damage_info_mutable = {
  gear_id = 0l;
  damage = 0.;
  hp_damage = 0.;
}

type hjfmcnckmgd_mutable = {
  mutable wave : int32;
  mutable lpgaoolbbfm : int32;
  mutable ndkkogolmal : int32;
  mutable mmegdkinbcn : jjnjilkjjaf list;
  mutable nkgnnpndkfj : float;
}

let default_hjfmcnckmgd_mutable () : hjfmcnckmgd_mutable = {
  wave = 0l;
  lpgaoolbbfm = 0l;
  ndkkogolmal = 0l;
  mmegdkinbcn = [];
  nkgnnpndkfj = 0.;
}

type ghilljbihfa_mutable = {
  mutable jnpdoibnicc : int32;
  mutable pcnkojjcfie : hjfmcnckmgd list;
}

let default_ghilljbihfa_mutable () : ghilljbihfa_mutable = {
  jnpdoibnicc = 0l;
  pcnkojjcfie = [];
}

type evolve_build_battle_info_mutable = {
  mutable cur_level_id : int32;
  mutable cur_period : int32;
  mutable cur_coin : int32;
  mutable weapon_slot_list : oojccnomfia list;
  mutable accessory_slot_list : oojccnomfia list;
  mutable ban_gear_list : int32 list;
  mutable collection : joiiobnkcbh option;
  mutable allowed_gear_list : int32 list;
  mutable cur_exp : int32;
  mutable cur_reroll : int32;
  mutable cur_treasure_miss_cnt : int32;
  mutable period_id_list : int32 list;
  mutable cur_gear_lost_cnt : int32;
  mutable cur_wave : int32;
  mutable is_unlock_gear_reroll : bool;
  mutable is_unlock_gear_ban : bool;
  mutable card_list : fgbiollmcpi list;
  mutable gear_damage_list : evolve_build_gear_damage_info list;
  mutable stat_params : int32 list;
  mutable is_giveup : bool;
  mutable cur_unused_round_cnt : int32;
  mutable stat_log_info : ghilljbihfa option;
  mutable period_first_random_seed : int32;
}

let default_evolve_build_battle_info_mutable () : evolve_build_battle_info_mutable = {
  cur_level_id = 0l;
  cur_period = 0l;
  cur_coin = 0l;
  weapon_slot_list = [];
  accessory_slot_list = [];
  ban_gear_list = [];
  collection = None;
  allowed_gear_list = [];
  cur_exp = 0l;
  cur_reroll = 0l;
  cur_treasure_miss_cnt = 0l;
  period_id_list = [];
  cur_gear_lost_cnt = 0l;
  cur_wave = 0l;
  is_unlock_gear_reroll = false;
  is_unlock_gear_ban = false;
  card_list = [];
  gear_damage_list = [];
  stat_params = [];
  is_giveup = false;
  cur_unused_round_cnt = 0l;
  stat_log_info = None;
  period_first_random_seed = 0l;
}

type cbipmgkdbmj_mutable = {
  mutable nbippcmhdij : (int32 * int32) list;
  mutable bfhblojhfbn : int32;
  mutable eccooggmmkm : int32;
  mutable ogoballkjcg : int32;
}

let default_cbipmgkdbmj_mutable () : cbipmgkdbmj_mutable = {
  nbippcmhdij = [];
  bfhblojhfbn = 0l;
  eccooggmmkm = 0l;
  ogoballkjcg = 0l;
}

type cddnfpbchdb_mutable = {
  mutable avatar_list : battle_avatar list;
  mutable monster_wave_list : battle_monster_wave list;
  mutable buff_list : battle_buff list;
  mutable world_level : int32;
  mutable pkilellljap : (int32 * eecgcenalep) list;
  mutable mgacgfelfph : ieimejdokoc option;
  mutable lphaolobnol : battle_avatar list;
  mutable bcilaimkepo : evolve_build_battle_info option;
  mutable obneanlbpjf : cbipmgkdbmj option;
}

let default_cddnfpbchdb_mutable () : cddnfpbchdb_mutable = {
  avatar_list = [];
  monster_wave_list = [];
  buff_list = [];
  world_level = 0l;
  pkilellljap = [];
  mgacgfelfph = None;
  lphaolobnol = [];
  bcilaimkepo = None;
  obneanlbpjf = None;
}

type dohhfaklimj_mutable = {
  mutable id : int32;
  mutable index : int32;
  mutable promotion : int32;
  mutable pbcjjbpdaco : int32 list;
  mutable iaknlgphklb : gkaagdjgcjj;
  mutable sp : sp_progress option;
}

let default_dohhfaklimj_mutable () : dohhfaklimj_mutable = {
  id = 0l;
  index = 0l;
  promotion = 0l;
  pbcjjbpdaco = [];
  iaknlgphklb = default_gkaagdjgcjj ();
  sp = None;
}

type gepemalmpkc_mutable = {
  mutable avatar_list : dohhfaklimj list;
  mutable monster_wave_list : battle_monster_wave list;
  mutable buff_list : battle_buff list;
}

let default_gepemalmpkc_mutable () : gepemalmpkc_mutable = {
  avatar_list = [];
  monster_wave_list = [];
  buff_list = [];
}

type aeeaaeghbcf_mutable = {
  mutable jmfgaemkdao : int32;
  mutable glgkbnnobem : int64 list;
}

let default_aeeaaeghbcf_mutable () : aeeaaeghbcf_mutable = {
  jmfgaemkdao = 0l;
  glgkbnnobem = [];
}

type lhbjccjikld_mutable = {
  mutable llgkepoegkh : string;
  mutable count : int32;
}

let default_lhbjccjikld_mutable () : lhbjccjikld_mutable = {
  llgkepoegkh = "";
  count = 0l;
}

type faekpkgkkfn_mutable = {
  mutable turn_counter : int32;
  mutable nnkhhlofopd : int32;
  mutable amchcneihno : int32;
  mutable fgopniajipd : aeeaaeghbcf list;
  mutable opjffhdcimd : lhbjccjikld list;
  mutable eejampcafkf : int32;
}

let default_faekpkgkkfn_mutable () : faekpkgkkfn_mutable = {
  turn_counter = 0l;
  nnkhhlofopd = 0l;
  amchcneihno = 0l;
  fgopniajipd = [];
  opjffhdcimd = [];
  eejampcafkf = 0l;
}

type pclbkphkhcb_mutable = {
  mutable fajcbknihho : bool;
  mutable ajepkmhogca : int32;
  mutable jmlmhajmmgm : bool;
  mutable cimlpamboae : string;
  mutable occpagnninm : bool;
  mutable kohhcdnlhkk : bool;
  mutable hgbiemklalm : int32;
}

let default_pclbkphkhcb_mutable () : pclbkphkhcb_mutable = {
  fajcbknihho = false;
  ajepkmhogca = 0l;
  jmlmhajmmgm = false;
  cimlpamboae = "";
  occpagnninm = false;
  kohhcdnlhkk = false;
  hgbiemklalm = 0l;
}

type mjobkecmmdg_mutable = {
  mutable emabnjbclgd : int32 list;
  mutable gmgpibhkomg : int32 list;
  mutable fcdfcganbdh : int32 list;
  mutable opejjkdakho : int32 list;
}

let default_mjobkecmmdg_mutable () : mjobkecmmdg_mutable = {
  emabnjbclgd = [];
  gmgpibhkomg = [];
  fcdfcganbdh = [];
  opejjkdakho = [];
}

type jengakjkbap_mutable = {
  mutable mdkaibfcgkm : int32;
  mutable iognnoaljjj : int32;
}

let default_jengakjkbap_mutable () : jengakjkbap_mutable = {
  mdkaibfcgkm = 0l;
  iognnoaljjj = 0l;
}

type abjdkbhcagj_mutable = {
  mutable mbmlkfbaebi : bool;
  mutable foelnpbpkef : (string * jengakjkbap) list;
  mutable jgabaooklbg : bytes;
}

let default_abjdkbhcagj_mutable () : abjdkbhcagj_mutable = {
  mbmlkfbaebi = false;
  foelnpbpkef = [];
  jgabaooklbg = Bytes.create 0;
}

type ncokmoifijp_mutable = {
  mutable ddeebkcfmih : int32;
  mutable value : string;
}

let default_ncokmoifijp_mutable () : ncokmoifijp_mutable = {
  ddeebkcfmih = 0l;
  value = "";
}

type nlpkjmbokmg_mutable = {
  mutable mpkfbobkglo : faekpkgkkfn list;
  mutable ikbigpbobak : string;
  mutable clhgagmlpgk : string;
  mutable bgcniallbni : ncokmoifijp list;
  mutable plane_id : int32;
  mutable floor_id : int32;
  mutable epeofnhnbob : int32;
  mutable faonpmhplea : int32;
  mutable nljgmpkelkd : abjdkbhcagj option;
}

let default_nlpkjmbokmg_mutable () : nlpkjmbokmg_mutable = {
  mpkfbobkglo = [];
  ikbigpbobak = "";
  clhgagmlpgk = "";
  bgcniallbni = [];
  plane_id = 0l;
  floor_id = 0l;
  epeofnhnbob = 0l;
  faonpmhplea = 0l;
  nljgmpkelkd = None;
}

type chcjbneicfa_mutable = {
  mutable sp : sp_progress option;
}

let default_chcjbneicfa_mutable () : chcjbneicfa_mutable = {
  sp = None;
}

type llnhnhhlcip_mutable = {
  mutable hgnfloilneg : int32;
  mutable nkgnnpndkfj : float;
  mutable nkpcaindgao : int32 list;
  mutable ohfcbnkchlo : float;
}

let default_llnhnhhlcip_mutable () : llnhnhhlcip_mutable = {
  hgnfloilneg = 0l;
  nkgnnpndkfj = 0.;
  nkpcaindgao = [];
  ohfcbnkchlo = 0.;
}

type pldmljcickk_mutable = {
  mutable ghhnoefibke : int32;
  mutable status : chcjbneicfa option;
  mutable hhapkchnbea : llnhnhhlcip list;
}

let default_pldmljcickk_mutable () : pldmljcickk_mutable = {
  ghhnoefibke = 0l;
  status = None;
  hhapkchnbea = [];
}

type pdfijnjfeof_mutable = {
  mutable version : int32;
  mutable logic_random_seed : int32;
  mutable stage_id : int32;
  mutable lineup : cddnfpbchdb option;
  mutable ooadhaglibc : battle_op list;
  mutable nnhllnhjjnh : bytes;
  mutable inpimhmcgli : int32;
  mutable iceodjdgjco : int32 list;
  mutable gnkmjinkoif : bool;
  mutable kjbecldpidj : bmobaidmcnj;
  mutable momcmjflaod : abiljflakgk;
  mutable apkpbammnhm : pldmljcickk list;
  mutable cmhngcflcab : int32;
  mutable lillnioocan : pclbkphkhcb option;
  mutable paojieohhab : bytes;
  mutable pafnmmndegp : int32;
  mutable empiofaicfc : int32;
  mutable dfmnmhpbbfa : gepemalmpkc option;
  mutable pofphcbemla : nlpkjmbokmg option;
}

let default_pdfijnjfeof_mutable () : pdfijnjfeof_mutable = {
  version = 0l;
  logic_random_seed = 0l;
  stage_id = 0l;
  lineup = None;
  ooadhaglibc = [];
  nnhllnhjjnh = Bytes.create 0;
  inpimhmcgli = 0l;
  iceodjdgjco = [];
  gnkmjinkoif = false;
  kjbecldpidj = default_bmobaidmcnj ();
  momcmjflaod = default_abiljflakgk ();
  apkpbammnhm = [];
  cmhngcflcab = 0l;
  lillnioocan = None;
  paojieohhab = Bytes.create 0;
  pafnmmndegp = 0l;
  empiofaicfc = 0l;
  dfmnmhpbbfa = None;
  pofphcbemla = None;
}

type avatar_property_mutable = {
  mutable max_hp : float;
  mutable attack : float;
  mutable defence : float;
  mutable speed : float;
  mutable left_hp : float;
  mutable left_sp : float;
  mutable max_sp : float;
}

let default_avatar_property_mutable () : avatar_property_mutable = {
  max_hp = 0.;
  attack = 0.;
  defence = 0.;
  speed = 0.;
  left_hp = 0.;
  left_sp = 0.;
  max_sp = 0.;
}

type nahchkhjomp_mutable = {
  mutable id : int32;
  mutable rank : int32;
  mutable promotion : int32;
  mutable level : int32;
}

let default_nahchkhjomp_mutable () : nahchkhjomp_mutable = {
  id = 0l;
  rank = 0l;
  promotion = 0l;
  level = 0l;
}

type apkldjghfcp_mutable = {
  mutable palefhlckln : string;
  mutable ohfcbnkchlo : float;
}

let default_apkldjghfcp_mutable () : apkldjghfcp_mutable = {
  palefhlckln = "";
  ohfcbnkchlo = 0.;
}

type mjenmjiahll_mutable = {
  mutable hgnfloilneg : int32;
  mutable aglbkdknioh : string;
  mutable kafehefomai : int32;
  mutable dkecbneeecd : int32;
  mutable okoebgnppii : int32;
  mutable ipacnpiogji : int32;
  mutable cmhakdimelf : int32;
  mutable edmjmnfgmad : int32;
  mutable okffdjngjed : int32;
}

let default_mjenmjiahll_mutable () : mjenmjiahll_mutable = {
  hgnfloilneg = 0l;
  aglbkdknioh = "";
  kafehefomai = 0l;
  dkecbneeecd = 0l;
  okoebgnppii = 0l;
  ipacnpiogji = 0l;
  cmhakdimelf = 0l;
  edmjmnfgmad = 0l;
  okffdjngjed = 0l;
}

type nnpiljhejfe_mutable = {
  mutable gnfpnbgacdf : string;
  mutable pomclecifom : int32;
}

let default_nnpiljhejfe_mutable () : nnpiljhejfe_mutable = {
  gnfpnbgacdf = "";
  pomclecifom = 0l;
}

type hgghpnnojej_mutable = {
  mutable efjpeijemee : string;
  mutable count : int32;
  mutable fcadgcfhlce : float;
}

let default_hgghpnnojej_mutable () : hgghpnnojej_mutable = {
  efjpeijemee = "";
  count = 0l;
  fcadgcfhlce = 0.;
}

type hjddflabbdf_mutable = {
  mutable avatar_type : avatar_type;
  mutable id : int32;
  mutable fdmeklimpgp : int32;
  mutable eahmcbeennh : int32;
  mutable omokjhmjako : int32;
  mutable nichanllgkh : avatar_property option;
  mutable cfohkkgalch : avatar_skill_tree list;
  mutable klafgbakeoo : nahchkhjomp list;
  mutable eldappkkaoc : int32;
  mutable fcadgcfhlce : float;
  mutable glnamalcdfc : float;
  mutable pdimoicpocf : float;
  mutable oihhodldilm : float;
  mutable dfgadbjbiob : float;
  mutable stage_id : int32;
  mutable nmedaaeibfk : int32;
  mutable jnchgklgnlf : float;
  mutable hgmplmmdcad : apkldjghfcp list;
  mutable kmkbogbaeno : apkldjghfcp list;
  mutable dcfbmhagghh : apkldjghfcp list;
  mutable cohhcjjmfil : mjenmjiahll list;
  mutable fckomicbfmc : float;
  mutable okpkiancelf : int32;
  mutable khlmmickphp : nnpiljhejfe list;
  mutable kimilnnnflf : int32;
  mutable ndlnbbpfffl : int32;
  mutable aeddfdkbpep : int32;
  mutable omhlpnoflne : int32;
  mutable njlpaaookdl : int32;
  mutable ojeocegbkdi : float;
  mutable lnikhkhpcge : float;
  mutable emmikoejmph : float;
  mutable jdmdemjpcia : avatar_property option;
  mutable baeigohghnm : battle_relic list;
  mutable apkmboagcmi : int32;
  mutable pnnbhmgbbaf : apkldjghfcp list;
  mutable ifogdklojaj : float;
  mutable fpokhaemoli : float;
  mutable gdljjodkiip : float;
  mutable mldjfbabhek : float;
  mutable jacedoenhfa : hgghpnnojej list;
  mutable faomiaggpaa : int32;
  mutable fadjmlcifbf : int32;
}

let default_hjddflabbdf_mutable () : hjddflabbdf_mutable = {
  avatar_type = default_avatar_type ();
  id = 0l;
  fdmeklimpgp = 0l;
  eahmcbeennh = 0l;
  omokjhmjako = 0l;
  nichanllgkh = None;
  cfohkkgalch = [];
  klafgbakeoo = [];
  eldappkkaoc = 0l;
  fcadgcfhlce = 0.;
  glnamalcdfc = 0.;
  pdimoicpocf = 0.;
  oihhodldilm = 0.;
  dfgadbjbiob = 0.;
  stage_id = 0l;
  nmedaaeibfk = 0l;
  jnchgklgnlf = 0.;
  hgmplmmdcad = [];
  kmkbogbaeno = [];
  dcfbmhagghh = [];
  cohhcjjmfil = [];
  fckomicbfmc = 0.;
  okpkiancelf = 0l;
  khlmmickphp = [];
  kimilnnnflf = 0l;
  ndlnbbpfffl = 0l;
  aeddfdkbpep = 0l;
  omhlpnoflne = 0l;
  njlpaaookdl = 0l;
  ojeocegbkdi = 0.;
  lnikhkhpcge = 0.;
  emmikoejmph = 0.;
  jdmdemjpcia = None;
  baeigohghnm = [];
  apkmboagcmi = 0l;
  pnnbhmgbbaf = [];
  ifogdklojaj = 0.;
  fpokhaemoli = 0.;
  gdljjodkiip = 0.;
  mldjfbabhek = 0.;
  jacedoenhfa = [];
  faomiaggpaa = 0l;
  fadjmlcifbf = 0l;
}

type khcifglangg_mutable = {
  mutable max_hp : float;
  mutable attack : float;
  mutable defence : float;
  mutable nbjopehdkfh : float;
  mutable speed : float;
  mutable left_hp : float;
  mutable honehbbhond : float;
}

let default_khcifglangg_mutable () : khcifglangg_mutable = {
  max_hp = 0.;
  attack = 0.;
  defence = 0.;
  nbjopehdkfh = 0.;
  speed = 0.;
  left_hp = 0.;
  honehbbhond = 0.;
}

type kdofgnnbigl_mutable = {
  mutable eijiiekodce : int32;
  mutable nccjkbdbimf : float;
  mutable jbmkkgchkgf : int32;
  mutable omhlpnoflne : int32;
}

let default_kdofgnnbigl_mutable () : kdofgnnbigl_mutable = {
  eijiiekodce = 0l;
  nccjkbdbimf = 0.;
  jbmkkgchkgf = 0l;
  omhlpnoflne = 0l;
}

type adcnfghedmc_mutable = {
  mutable phkkegggmdi : int32;
  mutable monster_id : int32;
  mutable nookgaachhh : int32;
  mutable gdjhhjhgoga : int32;
  mutable mffjijlmahi : khcifglangg option;
  mutable eldappkkaoc : int32;
  mutable fcadgcfhlce : float;
  mutable glnamalcdfc : float;
  mutable pdimoicpocf : float;
  mutable kmbdiheeddp : float;
  mutable oihhodldilm : float;
  mutable stage_id : int32;
  mutable battle_id : int32;
  mutable dgecmhijdlf : int32;
  mutable hgmplmmdcad : apkldjghfcp list;
  mutable cohhcjjmfil : mjenmjiahll list;
  mutable nmedaaeibfk : int32;
  mutable odlhlhjjaep : float;
  mutable fckomicbfmc : float;
  mutable oebalcpdekb : ldhimmjaieb;
  mutable wave : int32;
  mutable kkmpoanfdel : int32;
  mutable djemibiamha : int32;
  mutable pcglhakdjej : int32;
  mutable emejkljonad : dbghoandoje;
  mutable hhapkchnbea : llnhnhhlcip list;
  mutable dpmoonnbhaf : int32;
  mutable egngccehkaj : kdofgnnbigl list;
  mutable eopdilcmffl : int32;
  mutable anahoapange : int32;
  mutable leffngnjgkg : cmhfgepjlfl;
}

let default_adcnfghedmc_mutable () : adcnfghedmc_mutable = {
  phkkegggmdi = 0l;
  monster_id = 0l;
  nookgaachhh = 0l;
  gdjhhjhgoga = 0l;
  mffjijlmahi = None;
  eldappkkaoc = 0l;
  fcadgcfhlce = 0.;
  glnamalcdfc = 0.;
  pdimoicpocf = 0.;
  kmbdiheeddp = 0.;
  oihhodldilm = 0.;
  stage_id = 0l;
  battle_id = 0l;
  dgecmhijdlf = 0l;
  hgmplmmdcad = [];
  cohhcjjmfil = [];
  nmedaaeibfk = 0l;
  odlhlhjjaep = 0.;
  fckomicbfmc = 0.;
  oebalcpdekb = default_ldhimmjaieb ();
  wave = 0l;
  kkmpoanfdel = 0l;
  djemibiamha = 0l;
  pcglhakdjej = 0l;
  emejkljonad = default_dbghoandoje ();
  hhapkchnbea = [];
  dpmoonnbhaf = 0l;
  egngccehkaj = [];
  eopdilcmffl = 0l;
  anahoapange = 0l;
  leffngnjgkg = default_cmhfgepjlfl ();
}

type cfgemgamfma_mutable = {
  mutable jcjkjhddkcf : int32;
  mutable lpgaoolbbfm : int32;
}

let default_cfgemgamfma_mutable () : cfgemgamfma_mutable = {
  jcjkjhddkcf = 0l;
  lpgaoolbbfm = 0l;
}

type dllfnlcjiaa_mutable = {
  mutable avatar_id : int32;
  mutable ilcjbmhadch : int32 list;
  mutable gnfpnbgacdf : int32;
  mutable ohfcbnkchlo : float;
  mutable fgecaendmjj : int32 list;
  mutable nhfpnkffjgf : int32;
  mutable hadlfdifcal : float;
  mutable caomnkckhhk : int32;
  mutable wave : int32;
}

let default_dllfnlcjiaa_mutable () : dllfnlcjiaa_mutable = {
  avatar_id = 0l;
  ilcjbmhadch = [];
  gnfpnbgacdf = 0l;
  ohfcbnkchlo = 0.;
  fgecaendmjj = [];
  nhfpnkffjgf = 0l;
  hadlfdifcal = 0.;
  caomnkckhhk = 0l;
  wave = 0l;
}

type eceobeagdad_mutable = {
  mutable avatar_id : int32;
  mutable gnhadjpljbo : int32;
}

let default_eceobeagdad_mutable () : eceobeagdad_mutable = {
  avatar_id = 0l;
  gnhadjpljbo = 0l;
}

type dbbhaaodpgl_mutable = {
  mutable eijiiekodce : int32;
  mutable monster_id : int32;
  mutable ngcppmnflba : eceobeagdad list;
  mutable nkgnnpndkfj : int32;
}

let default_dbbhaaodpgl_mutable () : dbbhaaodpgl_mutable = {
  eijiiekodce = 0l;
  monster_id = 0l;
  ngcppmnflba = [];
  nkgnnpndkfj = 0l;
}

type hllmbjmbieh_mutable = {
  mutable fgmdoekgpee : lbbkaebelpp;
  mutable iigaapiiddb : int32;
  mutable iihookopmmk : int32;
}

let default_hllmbjmbieh_mutable () : hllmbjmbieh_mutable = {
  fgmdoekgpee = default_lbbkaebelpp ();
  iigaapiiddb = 0l;
  iihookopmmk = 0l;
}

type lmnnafiaafp_mutable = {
  mutable djemibiamha : string;
  mutable mjlbfjkonhd : float;
  mutable amabfdlohmk : float;
  mutable iedlbcpkgon : int32;
  mutable hdccniamncp : int32;
  mutable lbbhinoknng : int32;
  mutable ndembhkchba : int32;
  mutable bkihfdilonh : int32;
  mutable ajcndmbmimb : int32 list;
  mutable cmdpbhlgmeo : int32 list;
}

let default_lmnnafiaafp_mutable () : lmnnafiaafp_mutable = {
  djemibiamha = "";
  mjlbfjkonhd = 0.;
  amabfdlohmk = 0.;
  iedlbcpkgon = 0l;
  hdccniamncp = 0l;
  lbbhinoknng = 0l;
  ndembhkchba = 0l;
  bkihfdilonh = 0l;
  ajcndmbmimb = [];
  cmdpbhlgmeo = [];
}

type jnegdknfdfj_mutable = {
  mutable enihajmdhhp : int32;
  mutable kccnlbdlima : int32;
  mutable pjhcepapfoo : int32;
  mutable lohcjdhdnlp : int32;
  mutable kgfmdacaapm : int32;
  mutable khnnhomamnn : int32;
  mutable mbknfpcaghc : int32 list;
  mutable ifphmbnpcec : lmnnafiaafp list;
}

let default_jnegdknfdfj_mutable () : jnegdknfdfj_mutable = {
  enihajmdhhp = 0l;
  kccnlbdlima = 0l;
  pjhcepapfoo = 0l;
  lohcjdhdnlp = 0l;
  kgfmdacaapm = 0l;
  khnnhomamnn = 0l;
  mbknfpcaghc = [];
  ifphmbnpcec = [];
}

type gfhlelkfecd_mutable = {
  mutable wave : int32;
  mutable pfggnfbgjef : float;
  mutable njmdeogblko : float;
  mutable dbooppgpefo : int32;
  mutable ekfilfopihm : int32;
}

let default_gfhlelkfecd_mutable () : gfhlelkfecd_mutable = {
  wave = 0l;
  pfggnfbgjef = 0.;
  njmdeogblko = 0.;
  dbooppgpefo = 0l;
  ekfilfopihm = 0l;
}

type fkdalpnlnpp_mutable = {
  mutable pfmlckgckob : string;
  mutable value : float;
}

let default_fkdalpnlnpp_mutable () : fkdalpnlnpp_mutable = {
  pfmlckgckob = "";
  value = 0.;
}

type ogchmgibmee_mutable = {
  mutable monster_id : int32;
  mutable dbopmmcclja : int32;
  mutable dbooppgpefo : int32;
  mutable ekfilfopihm : int32;
}

let default_ogchmgibmee_mutable () : ogchmgibmee_mutable = {
  monster_id = 0l;
  dbopmmcclja = 0l;
  dbooppgpefo = 0l;
  ekfilfopihm = 0l;
}

type iehmgigdfgi_mutable = {
  mutable mmeaphlkfnh : int32;
  mutable lpgejjgcjfi : float;
  mutable ialkcegdpoj : float;
  mutable wave : int32;
  mutable dbopmmcclja : int32;
  mutable ncmmbhpfmpp : float;
  mutable mkdomgoogbd : float;
}

let default_iehmgigdfgi_mutable () : iehmgigdfgi_mutable = {
  mmeaphlkfnh = 0l;
  lpgejjgcjfi = 0.;
  ialkcegdpoj = 0.;
  wave = 0l;
  dbopmmcclja = 0l;
  ncmmbhpfmpp = 0.;
  mkdomgoogbd = 0.;
}

type ijbeafbgipi_mutable = {
  mutable pgonjaacafm : int32;
  mutable kkhjioepbpb : int32;
  mutable dcgodnihhph : float;
  mutable wave : int32;
  mutable dbopmmcclja : int32;
}

let default_ijbeafbgipi_mutable () : ijbeafbgipi_mutable = {
  pgonjaacafm = 0l;
  kkhjioepbpb = 0l;
  dcgodnihhph = 0.;
  wave = 0l;
  dbopmmcclja = 0l;
}

type ilomdgdoidb_mutable = {
  mutable afcpodfhplf : ogchmgibmee list;
  mutable llpagigkmdd : iehmgigdfgi list;
  mutable hfojdfpnied : ijbeafbgipi list;
}

let default_ilomdgdoidb_mutable () : ilomdgdoidb_mutable = {
  afcpodfhplf = [];
  llpagigkmdd = [];
  hfojdfpnied = [];
}

type mpconokhbfi_mutable = {
  mutable oadeikogppf : ilomdgdoidb option;
}

let default_mpconokhbfi_mutable () : mpconokhbfi_mutable = {
  oadeikogppf = None;
}

type njfhjpmofkj_mutable = {
  mutable fgmdoekgpee : gkaagdjgcjj;
  mutable id : int32;
  mutable sp : sp_progress option;
}

let default_njfhjpmofkj_mutable () : njfhjpmofkj_mutable = {
  fgmdoekgpee = default_gkaagdjgcjj ();
  id = 0l;
  sp = None;
}

type mofdljpgdjc_mutable = {
  mutable lhbdodgndmj : int32;
  mutable ealjhgebino : int32;
}

let default_mofdljpgdjc_mutable () : mofdljpgdjc_mutable = {
  lhbdodgndmj = 0l;
  ealjhgebino = 0l;
}

type battle_statistics_mutable = {
  mutable total_battle_turns : int32;
  mutable total_auto_turns : int32;
  mutable avatar_id_list : int32 list;
  mutable ultra_cnt : int32;
  mutable total_delay_cumulate : float;
  mutable cost_time : float;
  mutable avatar_battle_list : hjddflabbdf list;
  mutable monster_battle_list : adcnfghedmc list;
  mutable round_cnt : int32;
  mutable cocoon_dead_wave : int32;
  mutable avatar_battle_turns : int32;
  mutable monster_battle_turns : int32;
  mutable custom_values : (string * float) list;
  mutable challenge_score : int32;
  mutable battle_challenge_list : pldmljcickk list;
  mutable gflgglklflo : ikiinnobojc;
  mutable kafhlccjdpe : dllfnlcjiaa list;
  mutable bkbifgcidje : int32 list;
  mutable cbdokccplbl : dbbhaaodpgl list;
  mutable eojhikielja : hllmbjmbieh list;
  mutable gfiihegmnbc : njfhjpmofkj list;
  mutable pkilellljap : (int32 * eecgcenalep) list;
  mutable lepkomadmba : mofdljpgdjc list;
  mutable bcilaimkepo : evolve_build_battle_info option;
  mutable eebjfpdkkla : jnegdknfdfj option;
  mutable ckopikjmnno : bool;
  mutable pcnkojjcfie : gfhlelkfecd list;
  mutable gccpcejdpgf : fkdalpnlnpp list;
  mutable bfjbhggehfp : int32;
  mutable fmloeohebom : mpconokhbfi option;
}

let default_battle_statistics_mutable () : battle_statistics_mutable = {
  total_battle_turns = 0l;
  total_auto_turns = 0l;
  avatar_id_list = [];
  ultra_cnt = 0l;
  total_delay_cumulate = 0.;
  cost_time = 0.;
  avatar_battle_list = [];
  monster_battle_list = [];
  round_cnt = 0l;
  cocoon_dead_wave = 0l;
  avatar_battle_turns = 0l;
  monster_battle_turns = 0l;
  custom_values = [];
  challenge_score = 0l;
  battle_challenge_list = [];
  gflgglklflo = default_ikiinnobojc ();
  kafhlccjdpe = [];
  bkbifgcidje = [];
  cbdokccplbl = [];
  eojhikielja = [];
  gfiihegmnbc = [];
  pkilellljap = [];
  lepkomadmba = [];
  bcilaimkepo = None;
  eebjfpdkkla = None;
  ckopikjmnno = false;
  pcnkojjcfie = [];
  gccpcejdpgf = [];
  bfjbhggehfp = 0l;
  fmloeohebom = None;
}

type egfppaehfmb_mutable = {
  mutable fooekjjlepi : int32;
  mutable level : int32;
  mutable exp : int32;
}

let default_egfppaehfmb_mutable () : egfppaehfmb_mutable = {
  fooekjjlepi = 0l;
  level = 0l;
  exp = 0l;
}

type inaakoibpao_mutable = {
  mutable retcode : akminadfpee;
  mutable end_status : battle_end_status;
  mutable ppkofopmfjc : battle_statistics option;
  mutable paojieohhab : bytes;
  mutable dcgkdkmible : (string * int32) list;
  mutable oocaibocjln : int32;
  mutable liidlgebipm : int32;
}

let default_inaakoibpao_mutable () : inaakoibpao_mutable = {
  retcode = default_akminadfpee ();
  end_status = default_battle_end_status ();
  ppkofopmfjc = None;
  paojieohhab = Bytes.create 0;
  dcgkdkmible = [];
  oocaibocjln = 0l;
  liidlgebipm = 0l;
}

type dilkchlpoba_mutable = {
  mutable uid : int32;
  mutable level : int32;
  mutable nickname : string;
  mutable nnlodfdobia : int32;
  mutable dbgjcbcfaec : platform_type;
  mutable meijfajkmmp : string;
  mutable mjalbnjgfmj : string;
  mutable version : int64;
}

let default_dilkchlpoba_mutable () : dilkchlpoba_mutable = {
  uid = 0l;
  level = 0l;
  nickname = "";
  nnlodfdobia = 0l;
  dbgjcbcfaec = default_platform_type ();
  meijfajkmmp = "";
  mjalbnjgfmj = "";
  version = 0L;
}

type jhpgipfhpjm_mutable = {
  mutable ipfplgihdbj : eaejedljpgh;
  mutable status : gienaojphnb;
}

let default_jhpgipfhpjm_mutable () : jhpgipfhpjm_mutable = {
  ipfplgihdbj = default_eaejedljpgh ();
  status = default_gienaojphnb ();
}

type ijbclkbblen_mutable = {
  mutable kkgeojnphcn : int32;
  mutable icpnclpicnm : bool;
  mutable ileodajnnlf : int32;
  mutable eehicmneonc : int32;
}

let default_ijbclkbblen_mutable () : ijbclkbblen_mutable = {
  kkgeojnphcn = 0l;
  icpnclpicnm = false;
  ileodajnnlf = 0l;
  eehicmneonc = 0l;
}

type lnnkgnfmmll_mutable = {
  mutable mjkmfnjeddo : string list;
  mutable oommfhnmaci : bool;
  mutable kpjaichmnce : ijbclkbblen option;
}

let default_lnnkgnfmmll_mutable () : lnnkgnfmmll_mutable = {
  mjkmfnjeddo = [];
  oommfhnmaci = false;
  kpjaichmnce = None;
}

type egokacjfaen_mutable = {
  mutable basic_info : dilkchlpoba option;
  mutable lhhkllkkgki : jhpgipfhpjm option;
  mutable akfdaaaiich : lnnkgnfmmll option;
}

let default_egokacjfaen_mutable () : egokacjfaen_mutable = {
  basic_info = None;
  lhhkllkkgki = None;
  akfdaaaiich = None;
}

type obminlghola_mutable = {
  mutable gkhlagcmbep : int32;
  mutable chhlgofkode : int32;
  mutable ohendokilbg : int32;
  mutable kdldpilbjih : int32;
  mutable doppanjiahe : int32;
  mutable lgbmfnociof : int32;
  mutable pbcfilehadp : int32;
  mutable mfkojkldhlg : int32;
  mutable ofolhglfdbe : int32;
  mutable ohhndhfpidi : int32;
}

let default_obminlghola_mutable () : obminlghola_mutable = {
  gkhlagcmbep = 0l;
  chhlgofkode = 0l;
  ohendokilbg = 0l;
  kdldpilbjih = 0l;
  doppanjiahe = 0l;
  lgbmfnociof = 0l;
  pbcfilehadp = 0l;
  mfkojkldhlg = 0l;
  ofolhglfdbe = 0l;
  ohhndhfpidi = 0l;
}

type mfoaahgomic_mutable = {
  mutable ejphmffiidi : int64;
  mutable cicgmfacfbc : gkkpbgmoodd;
}

let default_mfoaahgomic_mutable () : mfoaahgomic_mutable = {
  ejphmffiidi = 0L;
  cicgmfacfbc = default_gkkpbgmoodd ();
}

type mbbjjfnjnde_mutable = {
  mutable id : int64;
  mutable kcffnljmjdj : gkkpbgmoodd;
  mutable fjifpjhfgdd : egokacjfaen list;
  mutable fgmdoekgpee : nkbjfdkkbid;
  mutable pomlpdggdfc : int64;
  mutable kiofoicccjm : int64;
  mutable mnpddkgcfcd : int32;
}

let default_mbbjjfnjnde_mutable () : mbbjjfnjnde_mutable = {
  id = 0L;
  kcffnljmjdj = default_gkkpbgmoodd ();
  fjifpjhfgdd = [];
  fgmdoekgpee = default_nkbjfdkkbid ();
  pomlpdggdfc = 0L;
  kiofoicccjm = 0L;
  mnpddkgcfcd = 0l;
}

type diiejhpccka_mutable = {
  mutable id : int32;
  mutable ahbndelkkga : int32;
  mutable mjeboiagemn : int32 list;
}

let default_diiejhpccka_mutable () : diiejhpccka_mutable = {
  id = 0l;
  ahbndelkkga = 0l;
  mjeboiagemn = [];
}

type iehdhmbibej_mutable = {
  mutable pilpgdhcfpj : diiejhpccka list;
  mutable retcode : int32;
}

let default_iehdhmbibej_mutable () : iehdhmbibej_mutable = {
  pilpgdhcfpj = [];
  retcode = 0l;
}

type okdbmkchdkn_mutable = {
  mutable ldifpkekjem : int32;
  mutable id : int32;
}

let default_okdbmkchdkn_mutable () : okdbmkchdkn_mutable = {
  ldifpkekjem = 0l;
  id = 0l;
}

type item_mutable = {
  mutable promotion : int32;
  mutable level : int32;
  mutable num : int32;
  mutable unique_id : int32;
  mutable main_affix_id : int32;
  mutable rank : int32;
  mutable item_id : int32;
}

let default_item_mutable () : item_mutable = {
  promotion = 0l;
  level = 0l;
  num = 0l;
  unique_id = 0l;
  main_affix_id = 0l;
  rank = 0l;
  item_id = 0l;
}

type item_list_mutable = {
  mutable item_list : item list;
}

let default_item_list_mutable () : item_list_mutable = {
  item_list = [];
}

type fgmgmpemfoa_mutable = {
  mutable retcode : int32;
  mutable ldifpkekjem : int32;
  mutable reward : item_list option;
  mutable id : int32;
}

let default_fgmgmpemfoa_mutable () : fgmgmpemfoa_mutable = {
  retcode = 0l;
  ldifpkekjem = 0l;
  reward = None;
  id = 0l;
}

type lijpgeadohh_mutable = {
  mutable end_time : int64;
  mutable fjlnncjahng : int32;
  mutable pafpcpmikin : int32;
  mutable begin_time : int64;
}

let default_lijpgeadohh_mutable () : lijpgeadohh_mutable = {
  end_time = 0L;
  fjlnncjahng = 0l;
  pafpcpmikin = 0l;
  begin_time = 0L;
}

type gflgabppabo_mutable = {
  mutable retcode : int32;
  mutable aodbfcdoebg : lijpgeadohh list;
}

let default_gflgabppabo_mutable () : gflgabppabo_mutable = {
  retcode = 0l;
  aodbfcdoebg = [];
}

type hdkfnmappch_mutable = {
  mutable stage_id : int32;
  mutable nnbeodpchid : bool;
}

let default_hdkfnmappch_mutable () : hdkfnmappch_mutable = {
  stage_id = 0l;
  nnbeodpchid = false;
}

type ancjfimhcdb_mutable = {
  mutable retcode : int32;
  mutable nkjbcpmopcj : hdkfnmappch list;
  mutable npibcfnnihn : int32;
}

let default_ancjfimhcdb_mutable () : ancjfimhcdb_mutable = {
  retcode = 0l;
  nkjbcpmopcj = [];
  npibcfnnihn = 0l;
}

type bjmmamcffan_mutable = {
  mutable oiflpfmkkjd : hdkfnmappch option;
}

let default_bjmmamcffan_mutable () : bjmmamcffan_mutable = {
  oiflpfmkkjd = None;
}

type ddjfjiknjjb_mutable = {
  mutable stage_id : int32;
}

let default_ddjfjiknjjb_mutable () : ddjfjiknjjb_mutable = {
  stage_id = 0l;
}

type scene_monster_info_mutable = {
  mutable max_hp : int32;
  mutable monster_id : int32;
  mutable femmkmapjng : int32;
}

let default_scene_monster_info_mutable () : scene_monster_info_mutable = {
  max_hp = 0l;
  monster_id = 0l;
  femmkmapjng = 0l;
}

type aekldeeeepn_mutable = {
  mutable gmimbapadel : int32;
  mutable ednldnkdhim : int32;
  mutable level : int32;
  mutable gcljbgjckpi : int32;
}

let default_aekldeeeepn_mutable () : aekldeeeepn_mutable = {
  gmimbapadel = 0l;
  ednldnkdhim = 0l;
  level = 0l;
  gcljbgjckpi = 0l;
}

type scene_monster_wave_mutable = {
  mutable jmdhdbhgjhj : int32;
  mutable monster_list : scene_monster_info list;
  mutable comggjmfjao : int32;
  mutable epeemgikihd : item_list list;
  mutable djicbhlfoga : aekldeeeepn option;
}

let default_scene_monster_wave_mutable () : scene_monster_wave_mutable = {
  jmdhdbhgjhj = 0l;
  monster_list = [];
  comggjmfjao = 0l;
  epeemgikihd = [];
  djicbhlfoga = None;
}

type scene_battle_info_mutable = {
  mutable mgacgfelfph : ieimejdokoc option;
  mutable apkpbammnhm : pldmljcickk list;
  mutable bcilaimkepo : evolve_build_battle_info option;
  mutable monster_wave_list : scene_monster_wave list;
  mutable world_level : int32;
  mutable buff_list : battle_buff list;
  mutable nlhcbhebgog : bool;
  mutable battle_avatar_list : battle_avatar list;
  mutable logic_random_seed : int32;
  mutable pkilellljap : (int32 * eecgcenalep) list;
  mutable cmhngcflcab : int32;
  mutable stage_id : int32;
  mutable empiofaicfc : int32;
  mutable obneanlbpjf : cbipmgkdbmj option;
  mutable battle_id : int32;
}

let default_scene_battle_info_mutable () : scene_battle_info_mutable = {
  mgacgfelfph = None;
  apkpbammnhm = [];
  bcilaimkepo = None;
  monster_wave_list = [];
  world_level = 0l;
  buff_list = [];
  nlhcbhebgog = false;
  battle_avatar_list = [];
  logic_random_seed = 0l;
  pkilellljap = [];
  cmhngcflcab = 0l;
  stage_id = 0l;
  empiofaicfc = 0l;
  obneanlbpjf = None;
  battle_id = 0l;
}

type foolfaejeco_mutable = {
  mutable ibllilenejp : scene_battle_info option;
  mutable retcode : int32;
}

let default_foolfaejeco_mutable () : foolfaejeco_mutable = {
  ibllilenejp = None;
  retcode = 0l;
}

type cmjfplfkocb_mutable = {
  mutable stage_id : int32;
}

let default_cmjfplfkocb_mutable () : cmjfplfkocb_mutable = {
  stage_id = 0l;
}

type ibojkphiodl_mutable = {
  mutable retcode : int32;
  mutable reward : item_list option;
  mutable stage_id : int32;
}

let default_ibojkphiodl_mutable () : ibojkphiodl_mutable = {
  retcode = 0l;
  reward = None;
  stage_id = 0l;
}

type hliiigamfan_mutable = {
  mutable stage_id : int32;
}

let default_hliiigamfan_mutable () : hliiigamfan_mutable = {
  stage_id = 0l;
}

type iepggioobee_mutable = {
  mutable retcode : int32;
  mutable stage_id : int32;
}

let default_iepggioobee_mutable () : iepggioobee_mutable = {
  retcode = 0l;
  stage_id = 0l;
}

type hgpjnoeklme_mutable = {
  mutable stage_id : int32;
}

let default_hgpjnoeklme_mutable () : hgpjnoeklme_mutable = {
  stage_id = 0l;
}

type jpnfdalcpca_mutable = {
  mutable stage_id : int32;
  mutable retcode : int32;
}

let default_jpnfdalcpca_mutable () : jpnfdalcpca_mutable = {
  stage_id = 0l;
  retcode = 0l;
}

type eogebgjmnbe_mutable = {
  mutable status : ijngjmooekn;
  mutable npibcfnnihn : int32;
}

let default_eogebgjmnbe_mutable () : eogebgjmnbe_mutable = {
  status = default_ijngjmooekn ();
  npibcfnnihn = 0l;
}

type eeakpgmghbd_mutable = {
  mutable ejihdbnphdl : bool;
  mutable fpnbgdmjmon : int32;
  mutable fjlnncjahng : int32;
  mutable mkideamcloh : bool;
}

let default_eeakpgmghbd_mutable () : eeakpgmghbd_mutable = {
  ejihdbnphdl = false;
  fpnbgdmjmon = 0l;
  fjlnncjahng = 0l;
  mkideamcloh = false;
}

type jnbinnnmhnh_mutable = {
  mutable end_time : int64;
  mutable begin_time : int64;
  mutable fpnbgdmjmon : int32;
}

let default_jnbinnnmhnh_mutable () : jnbinnnmhnh_mutable = {
  end_time = 0L;
  begin_time = 0L;
  fpnbgdmjmon = 0l;
}

type gfhncokdkpc_mutable = {
  mutable gpngkbfnpjn : int32 list;
}

let default_gfhncokdkpc_mutable () : gfhncokdkpc_mutable = {
  gpngkbfnpjn = [];
}

type jbondjmecmi_mutable = {
  mutable licjdggocfp : jnbinnnmhnh list;
  mutable retcode : int32;
  mutable hopdkjbimil : eeakpgmghbd list;
}

let default_jbondjmecmi_mutable () : jbondjmecmi_mutable = {
  licjdggocfp = [];
  retcode = 0l;
  hopdkjbimil = [];
}

type bhjnpjibfoj_mutable = {
  mutable fpnbgdmjmon : int32;
}

let default_bhjnpjibfoj_mutable () : bhjnpjibfoj_mutable = {
  fpnbgdmjmon = 0l;
}

type ojldjlaldbe_mutable = {
  mutable retcode : int32;
  mutable fpnbgdmjmon : int32;
}

let default_ojldjlaldbe_mutable () : ojldjlaldbe_mutable = {
  retcode = 0l;
  fpnbgdmjmon = 0l;
}

type hmckncmeneo_mutable = {
  mutable fpnbgdmjmon : int32;
}

let default_hmckncmeneo_mutable () : hmckncmeneo_mutable = {
  fpnbgdmjmon = 0l;
}

type kgnehcjidmd_mutable = {
  mutable fpnbgdmjmon : int32;
  mutable retcode : int32;
  mutable reward : item_list option;
}

let default_kgnehcjidmd_mutable () : kgnehcjidmd_mutable = {
  fpnbgdmjmon = 0l;
  retcode = 0l;
  reward = None;
}

type jiidgcpimha_mutable = {
  mutable lnjapmhfcck : int32;
}

let default_jiidgcpimha_mutable () : jiidgcpimha_mutable = {
  lnjapmhfcck = 0l;
}

type vector_mutable = {
  mutable x : int32;
  mutable y : int32;
  mutable z : int32;
}

let default_vector_mutable () : vector_mutable = {
  x = 0l;
  y = 0l;
  z = 0l;
}

type motion_info_mutable = {
  mutable pos : vector option;
  mutable rot : vector option;
}

let default_motion_info_mutable () : motion_info_mutable = {
  pos = None;
  rot = None;
}

type scene_actor_info_mutable = {
  mutable base_avatar_id : int32;
  mutable map_layer : int32;
  mutable uid : int32;
  mutable avatar_type : avatar_type;
}

let default_scene_actor_info_mutable () : scene_actor_info_mutable = {
  base_avatar_id = 0l;
  map_layer = 0l;
  uid = 0l;
  avatar_type = default_avatar_type ();
}

type mnofjfljede_mutable = {
  mutable dbimnobaloc : int32;
}

let default_mnofjfljede_mutable () : mnofjfljede_mutable = {
  dbimnobaloc = 0l;
}

type ingkkpmdgfj_mutable = {
  mutable kbneaoehnob : mnofjfljede option;
}

let default_ingkkpmdgfj_mutable () : ingkkpmdgfj_mutable = {
  kbneaoehnob = None;
}

type scene_npc_monster_info_mutable = {
  mutable mcfppkobjog : bool;
  mutable monster_id : int32;
  mutable ohibnloihci : int32;
  mutable eanllcnpded : bool;
  mutable world_level : int32;
  mutable extra_info : ingkkpmdgfj option;
}

let default_scene_npc_monster_info_mutable () : scene_npc_monster_info_mutable = {
  mcfppkobjog = false;
  monster_id = 0l;
  ohibnloihci = 0l;
  eanllcnpded = false;
  world_level = 0l;
  extra_info = None;
}

type onmgodgfdgm_mutable = {
  mutable hfadhgefiea : int32;
  mutable cckegompfdi : int32;
}

let default_onmgodgfdgm_mutable () : onmgodgfdgm_mutable = {
  hfadhgefiea = 0l;
  cckegompfdi = 0l;
}

type nlegnknbkba_mutable = {
  mutable modhkobfmbp : bool;
  mutable lpflcicnioa : (int32 * int32) list;
  mutable kiakkdiecme : int32;
  mutable jnboodjdmho : int32;
  mutable idoffgnngem : bool;
  mutable phddanoooji : bool;
  mutable hgfnojflbcl : int32;
  mutable ebffkdhgkgl : int32;
  mutable jpiojenbgdi : onmgodgfdgm list;
}

let default_nlegnknbkba_mutable () : nlegnknbkba_mutable = {
  modhkobfmbp = false;
  lpflcicnioa = [];
  kiakkdiecme = 0l;
  jnboodjdmho = 0l;
  idoffgnngem = false;
  phddanoooji = false;
  hgfnojflbcl = 0l;
  ebffkdhgkgl = 0l;
  jpiojenbgdi = [];
}

type pjgielghnom_mutable = {
  mutable aahebgiklma : int32;
  mutable fhhkhmdleno : bool;
  mutable kjdlimfggmd : int32;
}

let default_pjgielghnom_mutable () : pjgielghnom_mutable = {
  aahebgiklma = 0l;
  fhhkhmdleno = false;
  kjdlimfggmd = 0l;
}

type bgpancmpnpi_mutable = {
  mutable kbneaoehnob : nlegnknbkba option;
  mutable ocjkecmoefo : pjgielghnom option;
  mutable bmiommboiii : unit;
}

let default_bgpancmpnpi_mutable () : bgpancmpnpi_mutable = {
  kbneaoehnob = None;
  ocjkecmoefo = None;
  bmiommboiii = ();
}

type scene_npc_info_mutable = {
  mutable extra_info : bgpancmpnpi option;
  mutable pnigjhppmln : int32;
}

let default_scene_npc_info_mutable () : scene_npc_info_mutable = {
  extra_info = None;
  pnigjhppmln = 0l;
}

type pjinigkhjph_mutable = {
  mutable hdnlmbacmoa : int32;
  mutable edjpollefac : int32;
  mutable ioijcfnndfi : int32;
  mutable mfdelanaicp : int32;
}

let default_pjinigkhjph_mutable () : pjinigkhjph_mutable = {
  hdnlmbacmoa = 0l;
  edjpollefac = 0l;
  ioijcfnndfi = 0l;
  mfdelanaicp = 0l;
}

type prop_aeon_info_mutable = {
  mutable add_exp : int32;
  mutable dialogue_group_id : int32;
  mutable aeon_id : int32;
}

let default_prop_aeon_info_mutable () : prop_aeon_info_mutable = {
  add_exp = 0l;
  dialogue_group_id = 0l;
  aeon_id = 0l;
}

type beegbgebbjo_mutable = {
  mutable hkfihaoadih : bool;
  mutable dolgkgdnlaj : bool;
}

let default_beegbgebbjo_mutable () : beegbgebbjo_mutable = {
  hkfihaoadih = false;
  dolgkgdnlaj = false;
}

type bhfaniclgjb_mutable = {
  mutable dbkpbjfflcd : int32;
  mutable epdhlkapdfj : bool;
  mutable lkegecjeppg : int32;
}

let default_bhfaniclgjb_mutable () : bhfaniclgjb_mutable = {
  dbkpbjfflcd = 0l;
  epdhlkapdfj = false;
  lkegecjeppg = 0l;
}

type heikogemang_mutable = {
  mutable kigccmchfaa : int32;
  mutable jhojoicfldl : bool;
}

let default_heikogemang_mutable () : heikogemang_mutable = {
  kigccmchfaa = 0l;
  jhojoicfldl = false;
}

type hkjfnijdkgm_mutable = {
  mutable icfomghpdgm : int32;
  mutable hcgkppdkglf : heikogemang list;
}

let default_hkjfnijdkgm_mutable () : hkjfnijdkgm_mutable = {
  icfomghpdgm = 0l;
  hcgkppdkglf = [];
}

type lhbgigopabg_mutable = {
  mutable ichkjnfaacl : int32;
}

let default_lhbgigopabg_mutable () : lhbgigopabg_mutable = {
  ichkjnfaacl = 0l;
}

type pgjpfemjihd_mutable = {
  mutable nmkibknpbeo : int32;
  mutable dcigbkdfmdl : bool;
  mutable ikliliccdnf : lhbgigopabg option;
}

let default_pgjpfemjihd_mutable () : pgjpfemjihd_mutable = {
  nmkibknpbeo = 0l;
  dcigbkdfmdl = false;
  ikliliccdnf = None;
}

type jigjfaecdcc_mutable = {
  mutable jdhboponecj : pgjpfemjihd list;
  mutable fkbfnoipncl : bool;
  mutable group_id : int32;
}

let default_jigjfaecdcc_mutable () : jigjfaecdcc_mutable = {
  jdhboponecj = [];
  fkbfnoipncl = false;
  group_id = 0l;
}

type pile_item_mutable = {
  mutable item_num : int32;
  mutable item_id : int32;
}

let default_pile_item_mutable () : pile_item_mutable = {
  item_num = 0l;
  item_id = 0l;
}

type item_cost_mutable = {
  mutable pile_item : pile_item option;
  mutable equipment_unique_id : int32;
  mutable relic_unique_id : int32;
}

let default_item_cost_mutable () : item_cost_mutable = {
  pile_item = None;
  equipment_unique_id = 0l;
  relic_unique_id = 0l;
}

type item_cost_data_mutable = {
  mutable pdpfcfglgco : item_cost list;
}

let default_item_cost_data_mutable () : item_cost_data_mutable = {
  pdpfcfglgco = [];
}

type jhjloaofhnk_mutable = {
  mutable eaeoionfehm : jigjfaecdcc list;
  mutable gehffpalkkn : bool;
  mutable pbcojmehnbg : int32;
  mutable ndghkoinlfe : int32;
  mutable fomcmdmpdcg : int32;
  mutable jnhkcpccoep : int32;
  mutable nggficbaiof : item_cost_data option;
}

let default_jhjloaofhnk_mutable () : jhjloaofhnk_mutable = {
  eaeoionfehm = [];
  gehffpalkkn = false;
  pbcojmehnbg = 0l;
  ndghkoinlfe = 0l;
  fomcmdmpdcg = 0l;
  jnhkcpccoep = 0l;
  nggficbaiof = None;
}

type agohmeiodfe_mutable = {
  mutable lkfmgoglgch : jhjloaofhnk option;
  mutable fkcfoljohjg : int32;
}

let default_agohmeiodfe_mutable () : agohmeiodfe_mutable = {
  lkfmgoglgch = None;
  fkcfoljohjg = 0l;
}

type mnijbelpndn_mutable = {
  mutable jpaadimdaga : int32;
}

let default_mnijbelpndn_mutable () : mnijbelpndn_mutable = {
  jpaadimdaga = 0l;
}

type prop_extra_info_mutable = {
  mutable rogue_info : pjinigkhjph option;
  mutable aeon_info : prop_aeon_info option;
  mutable chess_rogue_info : beegbgebbjo option;
  mutable rogue_tourn_door_info : bhfaniclgjb option;
  mutable rogue_tourn_workbench_info : hkjfnijdkgm option;
  mutable rogue_gamble_machine_info : agohmeiodfe option;
  mutable rogue_curse_chest_info : mnijbelpndn option;
}

let default_prop_extra_info_mutable () : prop_extra_info_mutable = {
  rogue_info = None;
  aeon_info = None;
  chess_rogue_info = None;
  rogue_tourn_door_info = None;
  rogue_tourn_workbench_info = None;
  rogue_gamble_machine_info = None;
  rogue_curse_chest_info = None;
}

type scene_prop_info_mutable = {
  mutable life_time_ms : int32;
  mutable prop_state : int32;
  mutable gafflhlblde : string list;
  mutable extra_info : prop_extra_info option;
  mutable prop_id : int32;
  mutable create_time_ms : int64;
}

let default_scene_prop_info_mutable () : scene_prop_info_mutable = {
  life_time_ms = 0l;
  prop_state = 0l;
  gafflhlblde = [];
  extra_info = None;
  prop_id = 0l;
  create_time_ms = 0L;
}

type scene_summon_unit_info_mutable = {
  mutable kggengibiaj : int32;
  mutable dpapibilmkb : int32;
  mutable gafflhlblde : string list;
  mutable life_time_ms : int32;
  mutable create_time_ms : int64;
  mutable ilngleemfcf : int32;
}

let default_scene_summon_unit_info_mutable () : scene_summon_unit_info_mutable = {
  kggengibiaj = 0l;
  dpapibilmkb = 0l;
  gafflhlblde = [];
  life_time_ms = 0l;
  create_time_ms = 0L;
  ilngleemfcf = 0l;
}

type scene_entity_info_mutable = {
  mutable motion : motion_info option;
  mutable entity_id : int32;
  mutable group_id : int32;
  mutable inst_id : int32;
  mutable entity : scene_entity_info_entity;
}

let default_scene_entity_info_mutable () : scene_entity_info_mutable = {
  motion = None;
  entity_id = 0l;
  group_id = 0l;
  inst_id = 0l;
  entity = Actor (default_scene_actor_info ());
}

type client_group_info_mutable = {
  mutable group_id : int32;
  mutable state : int32;
  mutable is_default : bool;
}

let default_client_group_info_mutable () : client_group_info_mutable = {
  group_id = 0l;
  state = 0l;
  is_default = false;
}

type ifdkgfigkgn_mutable = {
  mutable jpbnobgjmin : int32;
  mutable ocalibhncaf : int64;
  mutable level : int32;
  mutable dynamic_values : (string * float) list;
  mutable pkkfndimmio : int32;
  mutable cjndnhdlhbb : float;
  mutable base_avatar_id : int32;
  mutable count : int32;
}

let default_ifdkgfigkgn_mutable () : ifdkgfigkgn_mutable = {
  jpbnobgjmin = 0l;
  ocalibhncaf = 0L;
  level = 0l;
  dynamic_values = [];
  pkkfndimmio = 0l;
  cjndnhdlhbb = 0.;
  base_avatar_id = 0l;
  count = 0l;
}

type nllcojppklj_mutable = {
  mutable jbdgkicnbfa : string;
  mutable group_id : int32;
}

let default_nllcojppklj_mutable () : nllcojppklj_mutable = {
  jbdgkicnbfa = "";
  group_id = 0l;
}

type scene_group_info_mutable = {
  mutable entity_list : scene_entity_info list;
  mutable state : int32;
  mutable group_id : int32;
}

let default_scene_group_info_mutable () : scene_group_info_mutable = {
  entity_list = [];
  state = 0l;
  group_id = 0l;
}

type jbianonhjfo_mutable = {
  mutable ogcfmckhlja : int32;
  mutable index : int32;
}

let default_jbianonhjfo_mutable () : jbianonhjfo_mutable = {
  ogcfmckhlja = 0l;
  index = 0l;
}

type hhmofllojag_mutable = {
  mutable klmfdjlahkg : jbianonhjfo list;
}

let default_hhmofllojag_mutable () : hhmofllojag_mutable = {
  klmfdjlahkg = [];
}

type klciikcjohp_mutable = {
  mutable idlneeekpjl : int32;
  mutable klmfdjlahkg : hhmofllojag option;
}

let default_klciikcjohp_mutable () : klciikcjohp_mutable = {
  idlneeekpjl = 0l;
  klmfdjlahkg = None;
}

type mission_mutable = {
  mutable id : int32;
  mutable progress : int32;
  mutable status : mission_status;
}

let default_mission_mutable () : mission_mutable = {
  id = 0l;
  progress = 0l;
  status = default_mission_status ();
}

type jipkadfnhnh_mutable = {
  mutable ddipnlkacip : klciikcjohp list;
  mutable ammgadcegag : int32 list;
  mutable hiokihlcnfc : mission list;
  mutable dabclennonn : int32 list;
  mutable dgoigglciko : int32 list;
}

let default_jipkadfnhnh_mutable () : jipkadfnhnh_mutable = {
  ddipnlkacip = [];
  ammgadcegag = [];
  hiokihlcnfc = [];
  dabclennonn = [];
  dgoigglciko = [];
}

type hgiedelfofm_mutable = {
  mutable buff_list : ifdkgfigkgn list;
  mutable phkkegggmdi : int32;
}

let default_hgiedelfofm_mutable () : hgiedelfofm_mutable = {
  buff_list = [];
  phkkegggmdi = 0l;
}

type ggichccblmd_mutable = {
  mutable hohagdafjih : int32;
  mutable lnpijkcjdbp : int32;
}

let default_ggichccblmd_mutable () : ggichccblmd_mutable = {
  hohagdafjih = 0l;
  lnpijkcjdbp = 0l;
}

type scene_info_mutable = {
  mutable jdefjhmigii : int32;
  mutable plane_id : int32;
  mutable mdkmdbibnae : int32;
  mutable game_mode_type : int32;
  mutable entity_list : scene_entity_info list;
  mutable entry_id : int32;
  mutable nfcojigifbb : int32;
  mutable kihpigcjcgi : int32;
  mutable micgnniimak : int32;
  mutable client_group_list : client_group_info list;
  mutable adbakkbjagb : int32 list;
  mutable ihnmjpmfplm : ifdkgfigkgn list;
  mutable ahehcckjamg : nllcojppklj list;
  mutable mogndfkhapd : int32 list;
  mutable floor_id : int32;
  mutable cbphphopofk : (string * int32) list;
  mutable ijnpccndcgi : int32;
  mutable scene_group_list : scene_group_info list;
  mutable cnjcegmeaap : jipkadfnhnh option;
  mutable nmmlfdlmcoa : hgiedelfofm list;
  mutable kdkoogfccbb : (int32 * ggichccblmd) list;
}

let default_scene_info_mutable () : scene_info_mutable = {
  jdefjhmigii = 0l;
  plane_id = 0l;
  mdkmdbibnae = 0l;
  game_mode_type = 0l;
  entity_list = [];
  entry_id = 0l;
  nfcojigifbb = 0l;
  kihpigcjcgi = 0l;
  micgnniimak = 0l;
  client_group_list = [];
  adbakkbjagb = [];
  ihnmjpmfplm = [];
  ahehcckjamg = [];
  mogndfkhapd = [];
  floor_id = 0l;
  cbphphopofk = [];
  ijnpccndcgi = 0l;
  scene_group_list = [];
  cnjcegmeaap = None;
  nmmlfdlmcoa = [];
  kdkoogfccbb = [];
}

type klfnolgpgbe_mutable = {
  mutable retcode : int32;
  mutable scene : scene_info option;
}

let default_klfnolgpgbe_mutable () : klfnolgpgbe_mutable = {
  retcode = 0l;
  scene = None;
}

type iicgnbgleen_mutable = {
  mutable dopfcokpjei : int32;
  mutable end_time : int64;
  mutable begin_time : int64;
}

let default_iicgnbgleen_mutable () : iicgnbgleen_mutable = {
  dopfcokpjei = 0l;
  end_time = 0L;
  begin_time = 0L;
}

type mpcilhkfijn_mutable = {
  mutable cdahnimckpe : int32 list;
}

let default_mpcilhkfijn_mutable () : mpcilhkfijn_mutable = {
  cdahnimckpe = [];
}

type lbfhaemjbdb_mutable = {
  mutable retcode : int32;
  mutable ejncilpcmjo : iicgnbgleen list;
}

let default_lbfhaemjbdb_mutable () : lbfhaemjbdb_mutable = {
  retcode = 0l;
  ejncilpcmjo = [];
}

type jgighfcglnn_mutable = {
  mutable jnmpconhdgp : int32;
}

let default_jgighfcglnn_mutable () : jgighfcglnn_mutable = {
  jnmpconhdgp = 0l;
}

type dngkkjooice_mutable = {
  mutable jnmpconhdgp : int32;
  mutable retcode : int32;
}

let default_dngkkjooice_mutable () : dngkkjooice_mutable = {
  jnmpconhdgp = 0l;
  retcode = 0l;
}

type lnobihjhmec_mutable = {
  mutable retcode : int32;
}

let default_lnobihjhmec_mutable () : lnobihjhmec_mutable = {
  retcode = 0l;
}

type fnmhaajaaek_mutable = {
  mutable bcbhaghfmhl : int32 list;
}

let default_fnmhaajaaek_mutable () : fnmhaajaaek_mutable = {
  bcbhaghfmhl = [];
}

type lhnkeioipjg_mutable = {
  mutable skill_index : int32;
  mutable ohainjgiflk : int32 list;
  mutable kapkegapokf : fnmhaajaaek list;
  mutable gbhffcbgjoc : int32;
  mutable egofdbhnple : int32;
}

let default_lhnkeioipjg_mutable () : lhnkeioipjg_mutable = {
  skill_index = 0l;
  ohainjgiflk = [];
  kapkegapokf = [];
  gbhffcbgjoc = 0l;
  egofdbhnple = 0l;
}

type dlibcbeoehg_mutable = {
  mutable logic_random_seed : int32;
  mutable nlhcbhebgog : bool;
  mutable buff_list : battle_buff list;
  mutable stage_id : int32;
  mutable battle_id : int32;
  mutable battle_avatar_list : dohhfaklimj list;
  mutable monster_wave_list : scene_monster_wave list;
}

let default_dlibcbeoehg_mutable () : dlibcbeoehg_mutable = {
  logic_random_seed = 0l;
  nlhcbhebgog = false;
  buff_list = [];
  stage_id = 0l;
  battle_id = 0l;
  battle_avatar_list = [];
  monster_wave_list = [];
}

type hpedbbbiedb_mutable = {
  mutable gbhffcbgjoc : int32;
  mutable retcode : int32;
  mutable ibllilenejp : dlibcbeoehg option;
}

let default_hpedbbbiedb_mutable () : hpedbbbiedb_mutable = {
  gbhffcbgjoc = 0l;
  retcode = 0l;
  ibllilenejp = None;
}

type plhgdnknphm_mutable = {
  mutable dcpoeimegli : int32;
  mutable cagbdbjkknd : int32;
}

let default_plhgdnknphm_mutable () : plhgdnknphm_mutable = {
  dcpoeimegli = 0l;
  cagbdbjkknd = 0l;
}

type gjlahapdbog_mutable = {
  mutable ibllilenejp : dlibcbeoehg option;
  mutable retcode : int32;
}

let default_gjlahapdbog_mutable () : gjlahapdbog_mutable = {
  ibllilenejp = None;
  retcode = 0l;
}

type daclbmikbfi_mutable = {
  mutable hgjolgkaofj : int32;
  mutable slot : int32;
}

let default_daclbmikbfi_mutable () : daclbmikbfi_mutable = {
  hgjolgkaofj = 0l;
  slot = 0l;
}

type panjkdddido_mutable = {
  mutable exp : int32;
  mutable promotion : int32;
  mutable sp : sp_progress option;
  mutable jfckjahhbcp : int32;
  mutable bkjidpkfapk : int32;
  mutable pbcjjbpdaco : daclbmikbfi list;
}

let default_panjkdddido_mutable () : panjkdddido_mutable = {
  exp = 0l;
  promotion = 0l;
  sp = None;
  jfckjahhbcp = 0l;
  bkjidpkfapk = 0l;
  pbcjjbpdaco = [];
}

type djeclbkkegk_mutable = {
  mutable doilhmkhjkj : int32 list;
  mutable slot : int32;
}

let default_djeclbkkegk_mutable () : djeclbkkegk_mutable = {
  doilhmkhjkj = [];
  slot = 0l;
}

type ahhnbnjlmgc_mutable = {
  mutable kagnbjdmamf : int32;
  mutable hgjolgkaofj : int32;
  mutable lcmieeegeoh : int32;
}

let default_ahhnbnjlmgc_mutable () : ahhnbnjlmgc_mutable = {
  kagnbjdmamf = 0l;
  hgjolgkaofj = 0l;
  lcmieeegeoh = 0l;
}

type cnbmpdajjkh_mutable = {
  mutable nllaboenkeb : int32;
  mutable pomjmhpaije : int32;
  mutable habbaannlmg : panjkdddido list;
  mutable fcbhnhpkbck : int32;
  mutable kbognlnlcle : djeclbkkegk list;
  mutable retcode : int32;
  mutable igbnihgbkkc : int32;
  mutable djmeejmcdfm : ahhnbnjlmgc list;
  mutable djmfidjhakm : int32;
}

let default_cnbmpdajjkh_mutable () : cnbmpdajjkh_mutable = {
  nllaboenkeb = 0l;
  pomjmhpaije = 0l;
  habbaannlmg = [];
  fcbhnhpkbck = 0l;
  kbognlnlcle = [];
  retcode = 0l;
  igbnihgbkkc = 0l;
  djmeejmcdfm = [];
  djmfidjhakm = 0l;
}

type gjipjkneplj_mutable = {
  mutable lineup : djeclbkkegk option;
}

let default_gjipjkneplj_mutable () : gjipjkneplj_mutable = {
  lineup = None;
}

type nkcmnkoblgi_mutable = {
  mutable retcode : int32;
  mutable lineup : djeclbkkegk option;
}

let default_nkcmnkoblgi_mutable () : nkcmnkoblgi_mutable = {
  retcode = 0l;
  lineup = None;
}

type kknohjjfloa_mutable = {
  mutable hgjolgkaofj : int32;
  mutable jfckjahhbcp : int32;
  mutable slot : int32;
}

let default_kknohjjfloa_mutable () : kknohjjfloa_mutable = {
  hgjolgkaofj = 0l;
  jfckjahhbcp = 0l;
  slot = 0l;
}

type emfbdoapndp_mutable = {
  mutable retcode : int32;
  mutable nlpkicoldah : ahhnbnjlmgc option;
  mutable ifflhdajmfl : panjkdddido option;
}

let default_emfbdoapndp_mutable () : emfbdoapndp_mutable = {
  retcode = 0l;
  nlpkicoldah = None;
  ifflhdajmfl = None;
}

type blikhfgpooe_mutable = {
  mutable jfckjahhbcp : int32;
  mutable slot : int32;
}

let default_blikhfgpooe_mutable () : blikhfgpooe_mutable = {
  jfckjahhbcp = 0l;
  slot = 0l;
}

type dhocaolkmof_mutable = {
  mutable nlpkicoldah : ahhnbnjlmgc option;
  mutable ifflhdajmfl : panjkdddido option;
  mutable retcode : int32;
}

let default_dhocaolkmof_mutable () : dhocaolkmof_mutable = {
  nlpkicoldah = None;
  ifflhdajmfl = None;
  retcode = 0l;
}

type mjamedhohel_mutable = {
  mutable deimfkdnmfd : int32;
  mutable jfckjahhbcp : int32;
  mutable igbnihgbkkc : int32;
}

let default_mjamedhohel_mutable () : mjamedhohel_mutable = {
  deimfkdnmfd = 0l;
  jfckjahhbcp = 0l;
  igbnihgbkkc = 0l;
}

type cmbpnklhbjm_mutable = {
  mutable retcode : int32;
  mutable igbnihgbkkc : int32;
  mutable ifflhdajmfl : panjkdddido option;
}

let default_cmbpnklhbjm_mutable () : cmbpnklhbjm_mutable = {
  retcode = 0l;
  igbnihgbkkc = 0l;
  ifflhdajmfl = None;
}

type nonalgbapfh_mutable = {
  mutable cagbdbjkknd : int32;
}

let default_nonalgbapfh_mutable () : nonalgbapfh_mutable = {
  cagbdbjkknd = 0l;
}

type fjenopmgncf_mutable = {
  mutable cagbdbjkknd : int32;
  mutable retcode : int32;
}

let default_fjenopmgncf_mutable () : fjenopmgncf_mutable = {
  cagbdbjkknd = 0l;
  retcode = 0l;
}

type cllelklhkol_mutable = {
  mutable ohibnloihci : int32;
}

let default_cllelklhkol_mutable () : cllelklhkol_mutable = {
  ohibnloihci = 0l;
}

type eapddobkofp_mutable = {
  mutable ibllilenejp : dlibcbeoehg option;
  mutable retcode : int32;
}

let default_eapddobkofp_mutable () : eapddobkofp_mutable = {
  ibllilenejp = None;
  retcode = 0l;
}

type kdelimjibne_mutable = {
  mutable lineup : djeclbkkegk option;
}

let default_kdelimjibne_mutable () : kdelimjibne_mutable = {
  lineup = None;
}

type imhegmolifk_mutable = {
  mutable ifflhdajmfl : panjkdddido option;
  mutable klcbbgahmon : panjkdddido list;
  mutable igbnihgbkkc : int32;
}

let default_imhegmolifk_mutable () : imhegmolifk_mutable = {
  ifflhdajmfl = None;
  klcbbgahmon = [];
  igbnihgbkkc = 0l;
}

type comcfkpmacm_mutable = {
  mutable bapkilajgne : int32 list;
  mutable gjonbpebope : int32;
  mutable caaogbkeibf : int32 list;
  mutable retcode : int32;
}

let default_comcfkpmacm_mutable () : comcfkpmacm_mutable = {
  bapkilajgne = [];
  gjonbpebope = 0l;
  caaogbkeibf = [];
  retcode = 0l;
}

type oafokgigjif_mutable = {
  mutable dcpoeimegli : int32;
}

let default_oafokgigjif_mutable () : oafokgigjif_mutable = {
  dcpoeimegli = 0l;
}

type ekpogeffanm_mutable = {
  mutable fcbhnhpkbck : int32;
}

let default_ekpogeffanm_mutable () : ekpogeffanm_mutable = {
  fcbhnhpkbck = 0l;
}

type dliphlmaege_mutable = {
  mutable kagnbjdmamf : int32;
  mutable hgjolgkaofj : int32;
}

let default_dliphlmaege_mutable () : dliphlmaege_mutable = {
  kagnbjdmamf = 0l;
  hgjolgkaofj = 0l;
}

type pdelhifcdfi_mutable = {
  mutable nllaboenkeb : int32;
  mutable retcode : int32;
}

let default_pdelhifcdfi_mutable () : pdelhifcdfi_mutable = {
  nllaboenkeb = 0l;
  retcode = 0l;
}

type eachgfoknhm_mutable = {
  mutable nllaboenkeb : int32;
}

let default_eachgfoknhm_mutable () : eachgfoknhm_mutable = {
  nllaboenkeb = 0l;
}

type ciimogjledo_mutable = {
  mutable dcpoeimegli : int32;
}

let default_ciimogjledo_mutable () : ciimogjledo_mutable = {
  dcpoeimegli = 0l;
}

type dknombpgohe_mutable = {
  mutable retcode : int32;
  mutable reward : item_list option;
  mutable dcpoeimegli : int32;
}

let default_dknombpgohe_mutable () : dknombpgohe_mutable = {
  retcode = 0l;
  reward = None;
  dcpoeimegli = 0l;
}

type ohjhhhgpcgg_mutable = {
  mutable fkbknefjpko : int32;
  mutable lnjapmhfcck : int32;
}

let default_ohjhhhgpcgg_mutable () : ohjhhhgpcgg_mutable = {
  fkbknefjpko = 0l;
  lnjapmhfcck = 0l;
}

type hejgfgdhldh_mutable = {
  mutable fgohomljegm : int32;
  mutable level : int32;
}

let default_hejgfgdhldh_mutable () : hejgfgdhldh_mutable = {
  fgohomljegm = 0l;
  level = 0l;
}

type logistics_score_mutable = {
  mutable cur_score : int32;
  mutable unlock_level : int32;
  mutable reward : item_list option;
  mutable last_level : int32;
  mutable last_max_score : int32;
  mutable map_id : int32;
  mutable max_score : int32;
}

let default_logistics_score_mutable () : logistics_score_mutable = {
  cur_score = 0l;
  unlock_level = 0l;
  reward = None;
  last_level = 0l;
  last_max_score = 0l;
  map_id = 0l;
  max_score = 0l;
}

type hgapkkdbooj_mutable = {
  mutable ofoaoamacnm : int32 list;
  mutable cjologpmmfj : int32 list;
  mutable mlfjgaifmhg : int32;
  mutable oeeplaejecp : int32;
  mutable gonbjnkpphb : int32 list;
  mutable fgohomljegm : int32;
  mutable dfejfmhieaj : int32;
}

let default_hgapkkdbooj_mutable () : hgapkkdbooj_mutable = {
  ofoaoamacnm = [];
  cjologpmmfj = [];
  mlfjgaifmhg = 0l;
  oeeplaejecp = 0l;
  gonbjnkpphb = [];
  fgohomljegm = 0l;
  dfejfmhieaj = 0l;
}

type kcjbohglbkg_mutable = {
  mutable cost_time : int32;
  mutable lnjapmhfcck : int32;
  mutable cniofkimkih : hgapkkdbooj list;
}

let default_kcjbohglbkg_mutable () : kcjbohglbkg_mutable = {
  cost_time = 0l;
  lnjapmhfcck = 0l;
  cniofkimkih = [];
}

type icfmgfdlfbf_mutable = {
  mutable pkmpinidbem : logistics_score list;
  mutable kgphnjjjfjh : ohjhhhgpcgg list;
  mutable jfmgicmieni : kcjbohglbkg list;
  mutable mnbhmefmgck : int32 list;
}

let default_icfmgfdlfbf_mutable () : icfmgfdlfbf_mutable = {
  pkmpinidbem = [];
  kgphnjjjfjh = [];
  jfmgicmieni = [];
  mnbhmefmgck = [];
}

type dooingjidio_mutable = {
  mutable state : hadkcbmomck;
  mutable ohibnloihci : int32;
  mutable lfofmmafena : int32;
}

let default_dooingjidio_mutable () : dooingjidio_mutable = {
  state = default_hadkcbmomck ();
  ohibnloihci = 0l;
  lfofmmafena = 0l;
}

type hladmhdfejp_mutable = {
  mutable cafjmafcfoe : int32;
  mutable akcnolgdkfn : int32;
  mutable hklljapbdgp : bool;
  mutable opnlgkllekk : int32 list;
  mutable jgcckagocaa : int32;
  mutable aofhdgapibo : int32 list;
}

let default_hladmhdfejp_mutable () : hladmhdfejp_mutable = {
  cafjmafcfoe = 0l;
  akcnolgdkfn = 0l;
  hklljapbdgp = false;
  opnlgkllekk = [];
  jgcckagocaa = 0l;
  aofhdgapibo = [];
}

type mdagbigodjh_mutable = {
  mutable idliicjndbe : int32;
  mutable ifcilmngdbd : (int32 * int32) list;
  mutable fggaonkbpcf : int32;
}

let default_mdagbigodjh_mutable () : mdagbigodjh_mutable = {
  idliicjndbe = 0l;
  ifcilmngdbd = [];
  fggaonkbpcf = 0l;
}

type beljfmihinc_mutable = {
  mutable nndnjlaloij : int32;
  mutable ikifmbckbhe : int32 list;
  mutable fkpnjjecflg : icfmgfdlfbf option;
  mutable llhoijjnhbc : dooingjidio list;
  mutable ndjkkklopgp : (int32 * int32) list;
  mutable hifdompfogo : hladmhdfejp option;
  mutable retcode : int32;
  mutable njhmoljoand : int32;
  mutable doglnbjjbnn : int32 list;
  mutable iaagjjojjng : mdagbigodjh option;
  mutable hjigclklgic : int32 list;
  mutable level : int32;
}

let default_beljfmihinc_mutable () : beljfmihinc_mutable = {
  nndnjlaloij = 0l;
  ikifmbckbhe = [];
  fkpnjjecflg = None;
  llhoijjnhbc = [];
  ndjkkklopgp = [];
  hifdompfogo = None;
  retcode = 0l;
  njhmoljoand = 0l;
  doglnbjjbnn = [];
  iaagjjojjng = None;
  hjigclklgic = [];
  level = 0l;
}

type fadlnhgpedm_mutable = {
  mutable idmndadbjbj : int32;
  mutable ihiffnbnoma : int32;
}

let default_fadlnhgpedm_mutable () : fadlnhgpedm_mutable = {
  idmndadbjbj = 0l;
  ihiffnbnoma = 0l;
}

type dgpnljgebli_mutable = {
  mutable ififlmjnmdk : int32;
  mutable glhlojgnlbf : fadlnhgpedm list;
}

let default_dgpnljgebli_mutable () : dgpnljgebli_mutable = {
  ififlmjnmdk = 0l;
  glhlojgnlbf = [];
}

type alley_placing_ship_mutable = {
  mutable goods_list : dgpnljgebli list;
  mutable ship_id : int32;
}

let default_alley_placing_ship_mutable () : alley_placing_ship_mutable = {
  goods_list = [];
  ship_id = 0l;
}

type jhjeidcchdm_mutable = {
  mutable melnmeleaof : int32;
  mutable doobkcfngij : alley_placing_ship option;
  mutable aehccpbhofa : int32;
  mutable einjppkhadm : int32;
  mutable jojofajfiaa : int32;
  mutable ifgaoheijdh : int32;
  mutable mknfiokmpkc : int32;
  mutable cost_time : int32;
  mutable pcdbbpgcjnd : int32;
}

let default_jhjeidcchdm_mutable () : jhjeidcchdm_mutable = {
  melnmeleaof = 0l;
  doobkcfngij = None;
  aehccpbhofa = 0l;
  einjppkhadm = 0l;
  jojofajfiaa = 0l;
  ifgaoheijdh = 0l;
  mknfiokmpkc = 0l;
  cost_time = 0l;
  pcdbbpgcjnd = 0l;
}

type pikdnogokln_mutable = {
  mutable jfonlmmohcn : int32;
  mutable jljeangppkc : int32;
  mutable ohibnloihci : int32;
  mutable pamdbajlfcl : int32;
  mutable dcoihiogahc : int32;
  mutable joeakofeomk : int32;
  mutable obegnholjba : int32;
  mutable retcode : int32;
}

let default_pikdnogokln_mutable () : pikdnogokln_mutable = {
  jfonlmmohcn = 0l;
  jljeangppkc = 0l;
  ohibnloihci = 0l;
  pamdbajlfcl = 0l;
  dcoihiogahc = 0l;
  joeakofeomk = 0l;
  obegnholjba = 0l;
  retcode = 0l;
}

type ocmgldjcfji_mutable = {
  mutable doobkcfngij : alley_placing_ship option;
  mutable ninapcangoo : int32;
  mutable melnmeleaof : int32;
}

let default_ocmgldjcfji_mutable () : ocmgldjcfji_mutable = {
  doobkcfngij = None;
  ninapcangoo = 0l;
  melnmeleaof = 0l;
}

type ebpbcjefmgm_mutable = {
  mutable retcode : int32;
  mutable ninapcangoo : int32;
  mutable melnmeleaof : int32;
}

let default_ebpbcjefmgm_mutable () : ebpbcjefmgm_mutable = {
  retcode = 0l;
  ninapcangoo = 0l;
  melnmeleaof = 0l;
}

type gomcgdopbbp_mutable = {
  mutable aehfkplienl : hladmhdfejp option;
}

let default_gomcgdopbbp_mutable () : gomcgdopbbp_mutable = {
  aehfkplienl = None;
}

type cchhoggfaan_mutable = {
  mutable locobbjbeoj : int32;
}

let default_cchhoggfaan_mutable () : cchhoggfaan_mutable = {
  locobbjbeoj = 0l;
}

type cblobpbbioh_mutable = {
  mutable gfiadoibado : bool;
  mutable ffabaoopmam : kcjbohglbkg list;
}

let default_cblobpbbioh_mutable () : cblobpbbioh_mutable = {
  gfiadoibado = false;
  ffabaoopmam = [];
}

type jinedikcnpg_mutable = {
  mutable pkmpinidbem : logistics_score list;
}

let default_jinedikcnpg_mutable () : jinedikcnpg_mutable = {
  pkmpinidbem = [];
}

type icegdbgdilo_mutable = {
  mutable pkmpinidbem : logistics_score list;
  mutable retcode : int32;
  mutable gfiadoibado : bool;
  mutable ohibnloihci : int32;
}

let default_icegdbgdilo_mutable () : icegdbgdilo_mutable = {
  pkmpinidbem = [];
  retcode = 0l;
  gfiadoibado = false;
  ohibnloihci = 0l;
}

type jpdpdkgmoem_mutable = {
  mutable ohibnloihci : int32;
}

let default_jpdpdkgmoem_mutable () : jpdpdkgmoem_mutable = {
  ohibnloihci = 0l;
}

type jemgejfhlea_mutable = {
  mutable retcode : int32;
  mutable ohibnloihci : int32;
}

let default_jemgejfhlea_mutable () : jemgejfhlea_mutable = {
  retcode = 0l;
  ohibnloihci = 0l;
}

type hemiegnodli_mutable = {
  mutable liabblpojlg : int32;
  mutable aeajedehfdj : dooingjidio option;
}

let default_hemiegnodli_mutable () : hemiegnodli_mutable = {
  liabblpojlg = 0l;
  aeajedehfdj = None;
}

type hbclchmkfof_mutable = {
  mutable gnmibkehipe : int32;
}

let default_hbclchmkfof_mutable () : hbclchmkfof_mutable = {
  gnmibkehipe = 0l;
}

type fipfnjdahae_mutable = {
  mutable level : int32;
}

let default_fipfnjdahae_mutable () : fipfnjdahae_mutable = {
  level = 0l;
}

type neiehjicaab_mutable = {
  mutable retcode : int32;
  mutable reward : item_list option;
  mutable level : int32;
}

let default_neiehjicaab_mutable () : neiehjicaab_mutable = {
  retcode = 0l;
  reward = None;
  level = 0l;
}

type cdgmddbhlhm_mutable = {
  mutable retcode : int32;
  mutable level : int32;
}

let default_cdgmddbhlhm_mutable () : cdgmddbhlhm_mutable = {
  retcode = 0l;
  level = 0l;
}

type agbibfofjhe_mutable = {
  mutable njhmoljoand : int32;
}

let default_agbibfofjhe_mutable () : agbibfofjhe_mutable = {
  njhmoljoand = 0l;
}

type aiacifopgjh_mutable = {
  mutable ffabaoopmam : kcjbohglbkg list;
}

let default_aiacifopgjh_mutable () : aiacifopgjh_mutable = {
  ffabaoopmam = [];
}

type ofpielcbnie_mutable = {
  mutable ffabaoopmam : kcjbohglbkg list;
  mutable retcode : int32;
}

let default_ofpielcbnie_mutable () : ofpielcbnie_mutable = {
  ffabaoopmam = [];
  retcode = 0l;
}

type fleomlhekmb_mutable = {
  mutable fkpnjjecflg : icfmgfdlfbf option;
}

let default_fleomlhekmb_mutable () : fleomlhekmb_mutable = {
  fkpnjjecflg = None;
}

type didlmcoobee_mutable = {
  mutable mfgpjihdebb : mdagbigodjh option;
}

let default_didlmcoobee_mutable () : didlmcoobee_mutable = {
  mfgpjihdebb = None;
}

type nalpogbfcld_mutable = {
  mutable retcode : int32;
  mutable jfmgicmieni : kcjbohglbkg list;
}

let default_nalpogbfcld_mutable () : nalpogbfcld_mutable = {
  retcode = 0l;
  jfmgicmieni = [];
}

type bnllbbflcmp_mutable = {
  mutable ndjkkklopgp : (int32 * int32) list;
}

let default_bnllbbflcmp_mutable () : bnllbbflcmp_mutable = {
  ndjkkklopgp = [];
}

type eienjkdigbh_mutable = {
  mutable pfjnehlmhpn : int32;
  mutable retcode : int32;
}

let default_eienjkdigbh_mutable () : eienjkdigbh_mutable = {
  pfjnehlmhpn = 0l;
  retcode = 0l;
}

type iohkbhphefg_mutable = {
  mutable ohibnloihci : int32;
}

let default_iohkbhphefg_mutable () : iohkbhphefg_mutable = {
  ohibnloihci = 0l;
}

type haoeobccick_mutable = {
  mutable reward : item_list option;
  mutable retcode : int32;
}

let default_haoeobccick_mutable () : haoeobccick_mutable = {
  reward = None;
  retcode = 0l;
}

type ihjgeegflgi_mutable = {
  mutable retcode : int32;
}

let default_ihjgeegflgi_mutable () : ihjgeegflgi_mutable = {
  retcode = 0l;
}

type ahegmfopalb_mutable = {
  mutable peehdpfeeoo : int32;
  mutable fgmdoekgpee : int32;
}

let default_ahegmfopalb_mutable () : ahegmfopalb_mutable = {
  peehdpfeeoo = 0l;
  fgmdoekgpee = 0l;
}

type djckakhhhng_mutable = {
  mutable monster_id : int32;
  mutable kagnbjdmamf : int32;
}

let default_djckakhhhng_mutable () : djckakhhhng_mutable = {
  monster_id = 0l;
  kagnbjdmamf = 0l;
}

type gjjmikgadbo_mutable = {
  mutable relic_list : ahegmfopalb list;
  mutable gbgamckgokf : djckakhhhng list;
  mutable fidmcoeiklh : int32 list;
  mutable kbmoknknjod : int32 list;
  mutable apfenmjpknc : int32 list;
}

let default_gjjmikgadbo_mutable () : gjjmikgadbo_mutable = {
  relic_list = [];
  gbgamckgokf = [];
  fidmcoeiklh = [];
  kbmoknknjod = [];
  apfenmjpknc = [];
}

type palefbfkmmf_mutable = {
  mutable dbmehhgkijj : gjjmikgadbo option;
  mutable retcode : int32;
}

let default_palefbfkmmf_mutable () : palefbfkmmf_mutable = {
  dbmehhgkijj = None;
  retcode = 0l;
}

type llchdbdljil_mutable = {
  mutable retcode : int32;
  mutable dbmehhgkijj : gjjmikgadbo option;
}

let default_llchdbdljil_mutable () : llchdbdljil_mutable = {
  retcode = 0l;
  dbmehhgkijj = None;
}

type get_avatar_data_cs_req_mutable = {
  mutable base_avatar_id_list : int32 list;
  mutable is_get_all : bool;
}

let default_get_avatar_data_cs_req_mutable () : get_avatar_data_cs_req_mutable = {
  base_avatar_id_list = [];
  is_get_all = false;
}

type equip_relic_mutable = {
  mutable nfjcagcjbib : int32;
  mutable fgmdoekgpee : int32;
}

let default_equip_relic_mutable () : equip_relic_mutable = {
  nfjcagcjbib = 0l;
  fgmdoekgpee = 0l;
}

type avatar_mutable = {
  mutable base_avatar_id : int32;
  mutable level : int32;
  mutable fbieckfjhid : int32;
  mutable equip_relic_list : equip_relic list;
  mutable skilltree_list : avatar_skill_tree list;
  mutable first_met_timestamp : int64;
  mutable rank : int32;
  mutable nknepgafjhl : int32;
  mutable bhfagdddack : bool;
  mutable exp : int32;
  mutable promotion : int32;
  mutable lgefgjgpbcj : int32 list;
}

let default_avatar_mutable () : avatar_mutable = {
  base_avatar_id = 0l;
  level = 0l;
  fbieckfjhid = 0l;
  equip_relic_list = [];
  skilltree_list = [];
  first_met_timestamp = 0L;
  rank = 0l;
  nknepgafjhl = 0l;
  bhfagdddack = false;
  exp = 0l;
  promotion = 0l;
  lgefgjgpbcj = [];
}

type get_avatar_data_sc_rsp_mutable = {
  mutable retcode : int32;
  mutable cibnempfije : int32 list;
  mutable is_all : bool;
  mutable avatar_list : avatar list;
}

let default_get_avatar_data_sc_rsp_mutable () : get_avatar_data_sc_rsp_mutable = {
  retcode = 0l;
  cibnempfije = [];
  is_all = false;
  avatar_list = [];
}

type aecnomadcjh_mutable = {
  mutable item_cost : item_cost_data option;
  mutable base_avatar_id : int32;
}

let default_aecnomadcjh_mutable () : aecnomadcjh_mutable = {
  item_cost = None;
  base_avatar_id = 0l;
}

type lpnomfffpdc_mutable = {
  mutable return_item_list : pile_item list;
  mutable retcode : int32;
}

let default_lpnomfffpdc_mutable () : lpnomfffpdc_mutable = {
  return_item_list = [];
  retcode = 0l;
}

type kpbljmklimk_mutable = {
  mutable pdpfcfglgco : item_cost list;
  mutable point_id : int32;
  mutable level : int32;
}

let default_kpbljmklimk_mutable () : kpbljmklimk_mutable = {
  pdpfcfglgco = [];
  point_id = 0l;
  level = 0l;
}

type lokkkoegcel_mutable = {
  mutable level : int32;
  mutable retcode : int32;
  mutable point_id : int32;
}

let default_lokkkoegcel_mutable () : lokkkoegcel_mutable = {
  level = 0l;
  retcode = 0l;
  point_id = 0l;
}

type pgallhinmcg_mutable = {
  mutable base_avatar_id : int32;
  mutable pdpfcfglgco : item_cost list;
}

let default_pgallhinmcg_mutable () : pgallhinmcg_mutable = {
  base_avatar_id = 0l;
  pdpfcfglgco = [];
}

type kiegpcndglm_mutable = {
  mutable retcode : int32;
}

let default_kiegpcndglm_mutable () : kiegpcndglm_mutable = {
  retcode = 0l;
}

type cbakagckfoj_mutable = {
  mutable avatar_id : int32;
  mutable fbieckfjhid : int32;
}

let default_cbakagckfoj_mutable () : cbakagckfoj_mutable = {
  avatar_id = 0l;
  fbieckfjhid = 0l;
}

type ijcahocdgaf_mutable = {
  mutable retcode : int32;
}

let default_ijcahocdgaf_mutable () : ijcahocdgaf_mutable = {
  retcode = 0l;
}

type adgdhlnhjbo_mutable = {
  mutable avatar_id : int32;
}

let default_adgdhlnhjbo_mutable () : adgdhlnhjbo_mutable = {
  avatar_id = 0l;
}

type mpifpmeobhn_mutable = {
  mutable retcode : int32;
}

let default_mpifpmeobhn_mutable () : mpifpmeobhn_mutable = {
  retcode = 0l;
}

type add_avatar_sc_notify_mutable = {
  mutable reward : item_list option;
  mutable kollpgccdil : bool;
  mutable base_avatar_id : int32;
  mutable src : add_avatar_src;
}

let default_add_avatar_sc_notify_mutable () : add_avatar_sc_notify_mutable = {
  reward = None;
  kollpgccdil = false;
  base_avatar_id = 0l;
  src = default_add_avatar_src ();
}

type encpolfcbdh_mutable = {
  mutable avatar_id : int32;
  mutable rank : int32;
  mutable lohpklihemj : item_cost_data option;
}

let default_encpolfcbdh_mutable () : encpolfcbdh_mutable = {
  avatar_id = 0l;
  rank = 0l;
  lohpklihemj = None;
}

type lalbonaknbj_mutable = {
  mutable retcode : int32;
}

let default_lalbonaknbj_mutable () : lalbonaknbj_mutable = {
  retcode = 0l;
}

type lihdafanjjb_mutable = {
  mutable glibnobaaec : int32;
  mutable nfjcagcjbib : int32;
}

let default_lihdafanjjb_mutable () : lihdafanjjb_mutable = {
  glibnobaaec = 0l;
  nfjcagcjbib = 0l;
}

type nnmdebbkhno_mutable = {
  mutable avatar_id : int32;
  mutable param_list : lihdafanjjb list;
}

let default_nnmdebbkhno_mutable () : nnmdebbkhno_mutable = {
  avatar_id = 0l;
  param_list = [];
}

type kangfjjbiof_mutable = {
  mutable retcode : int32;
}

let default_kangfjjbiof_mutable () : kangfjjbiof_mutable = {
  retcode = 0l;
}

type loekhbimbge_mutable = {
  mutable meifmmgjlpe : int32 list;
  mutable avatar_id : int32;
}

let default_loekhbimbge_mutable () : loekhbimbge_mutable = {
  meifmmgjlpe = [];
  avatar_id = 0l;
}

type piacfnkpnfl_mutable = {
  mutable retcode : int32;
}

let default_piacfnkpnfl_mutable () : piacfnkpnfl_mutable = {
  retcode = 0l;
}

type lhfgooafpmn_mutable = {
  mutable promotion : int32;
  mutable base_avatar_id : int32;
}

let default_lhfgooafpmn_mutable () : lhfgooafpmn_mutable = {
  promotion = 0l;
  base_avatar_id = 0l;
}

type ilpkijpmbem_mutable = {
  mutable dekonpmjeen : item_list option;
  mutable retcode : int32;
}

let default_ilpkijpmbem_mutable () : ilpkijpmbem_mutable = {
  dekonpmjeen = None;
  retcode = 0l;
}

type hipenifkepd_mutable = {
  mutable ikebgemjjdh : int32;
  mutable avatar_id : int32;
}

let default_hipenifkepd_mutable () : hipenifkepd_mutable = {
  ikebgemjjdh = 0l;
  avatar_id = 0l;
}

type pncgiifooab_mutable = {
  mutable retcode : int32;
}

let default_pncgiifooab_mutable () : pncgiifooab_mutable = {
  retcode = 0l;
}

type agbmkannnln_mutable = {
  mutable avatar_id : int32;
}

let default_agbmkannnln_mutable () : agbmkannnln_mutable = {
  avatar_id = 0l;
}

type iekgcdbdjcb_mutable = {
  mutable retcode : int32;
}

let default_iekgcdbdjcb_mutable () : iekgcdbdjcb_mutable = {
  retcode = 0l;
}

type jkgenbbckgd_mutable = {
  mutable ikebgemjjdh : int32;
}

let default_jkgenbbckgd_mutable () : jkgenbbckgd_mutable = {
  ikebgemjjdh = 0l;
}

type cefjkkokjgm_mutable = {
  mutable avatar_id : int32;
  mutable bhfagdddack : bool;
}

let default_cefjkkokjgm_mutable () : cefjkkokjgm_mutable = {
  avatar_id = 0l;
  bhfagdddack = false;
}

type jpfokchobkj_mutable = {
  mutable bhfagdddack : bool;
  mutable retcode : int32;
  mutable avatar_id : int32;
}

let default_jpfokchobkj_mutable () : jpfokchobkj_mutable = {
  bhfagdddack = false;
  retcode = 0l;
  avatar_id = 0l;
}

type pve_battle_result_cs_req_mutable = {
  mutable stage_id : int32;
  mutable end_status : battle_end_status;
  mutable battle_id : int32;
}

let default_pve_battle_result_cs_req_mutable () : pve_battle_result_cs_req_mutable = {
  stage_id = 0l;
  end_status = default_battle_end_status ();
  battle_id = 0l;
}

type pve_battle_result_sc_rsp_mutable = {
  mutable oomdpegblgd : bool;
  mutable battle_avatar_list : battle_avatar list;
  mutable oocaibocjln : int32;
  mutable pgocjkihbbe : string;
  mutable retcode : int32;
  mutable stage_id : int32;
  mutable battle_id : int32;
  mutable glplpadhfpd : int32;
  mutable ohibnloihci : int32;
  mutable mlnnahkhdjm : item_list option;
  mutable eahkgakocfi : item_list option;
  mutable cbilddggofb : item_list option;
  mutable acpoidmpoae : item_list option;
  mutable gndhohdfcaj : int32;
  mutable afpcepepdbn : string;
  mutable end_status : battle_end_status;
}

let default_pve_battle_result_sc_rsp_mutable () : pve_battle_result_sc_rsp_mutable = {
  oomdpegblgd = false;
  battle_avatar_list = [];
  oocaibocjln = 0l;
  pgocjkihbbe = "";
  retcode = 0l;
  stage_id = 0l;
  battle_id = 0l;
  glplpadhfpd = 0l;
  ohibnloihci = 0l;
  mlnnahkhdjm = None;
  eahkgakocfi = None;
  cbilddggofb = None;
  acpoidmpoae = None;
  gndhohdfcaj = 0l;
  afpcepepdbn = "";
  end_status = default_battle_end_status ();
}

type ijgbbedmofi_mutable = {
  mutable ppkofopmfjc : battle_statistics option;
  mutable nnpfabenejo : camlhbegnmo;
}

let default_ijgbbedmofi_mutable () : ijgbbedmofi_mutable = {
  ppkofopmfjc = None;
  nnpfabenejo = default_camlhbegnmo ();
}

type cobbpkkomfl_mutable = {
  mutable retcode : int32;
}

let default_cobbpkkomfl_mutable () : cobbpkkomfl_mutable = {
  retcode = 0l;
}

type hbflmfphidd_mutable = {
  mutable ipnlaoiegjo : dlibcbeoehg option;
  mutable nlkgekahldd : int32;
  mutable retcode : int32;
  mutable ibllilenejp : scene_battle_info option;
  mutable hcnfeokapob : battle_end_status;
}

let default_hbflmfphidd_mutable () : hbflmfphidd_mutable = {
  ipnlaoiegjo = None;
  nlkgekahldd = 0l;
  retcode = 0l;
  ibllilenejp = None;
  hcnfeokapob = default_battle_end_status ();
}

type mcakjakjjom_mutable = {
  mutable hcgjomkbloh : int32;
}

let default_mcakjakjjom_mutable () : mcakjakjjom_mutable = {
  hcgjomkbloh = 0l;
}

type kkabhpeeggp_mutable = {
  mutable hcgjomkbloh : int32;
  mutable retcode : int32;
}

let default_kkabhpeeggp_mutable () : kkabhpeeggp_mutable = {
  hcgjomkbloh = 0l;
  retcode = 0l;
}

type pnnpfbnehhf_mutable = {
  mutable retcode : int32;
  mutable inhkilleipi : bool;
}

let default_pnnpfbnehhf_mutable () : pnnpfbnehhf_mutable = {
  retcode = 0l;
  inhkilleipi = false;
}

type jomaaeonbkl_mutable = {
  mutable anhhbjmpmnl : bool;
}

let default_jomaaeonbkl_mutable () : jomaaeonbkl_mutable = {
  anhhbjmpmnl = false;
}

type mgckhgkoldc_mutable = {
  mutable ppkofopmfjc : battle_statistics option;
  mutable nnpfabenejo : camlhbegnmo;
}

let default_mgckhgkoldc_mutable () : mgckhgkoldc_mutable = {
  ppkofopmfjc = None;
  nnpfabenejo = default_camlhbegnmo ();
}

type bdboegaepjc_mutable = {
  mutable opmjfaoockc : int32;
  mutable retcode : int32;
  mutable njicdmlcfel : int32 list;
}

let default_bdboegaepjc_mutable () : bdboegaepjc_mutable = {
  opmjfaoockc = 0l;
  retcode = 0l;
  njicdmlcfel = [];
}

type peakflfemij_mutable = {
  mutable opmjfaoockc : int32;
  mutable njicdmlcfel : int32 list;
  mutable reward : item_list option;
}

let default_peakflfemij_mutable () : peakflfemij_mutable = {
  opmjfaoockc = 0l;
  njicdmlcfel = [];
  reward = None;
}

type piohfiefgli_mutable = {
  mutable id : int32;
}

let default_piohfiefgli_mutable () : piohfiefgli_mutable = {
  id = 0l;
}

type gilcdginico_mutable = {
  mutable retcode : int32;
  mutable ibllilenejp : scene_battle_info option;
  mutable id : int32;
}

let default_gilcdginico_mutable () : gilcdginico_mutable = {
  retcode = 0l;
  ibllilenejp = None;
  id = 0l;
}

type glllkpaohkp_mutable = {
  mutable hfimlipbgjj : int64;
  mutable odfppnaaaha : int64;
  mutable doelnfpchgj : int64;
  mutable ofkndpopolb : int64;
  mutable ifhjejgkkii : int64;
  mutable bflofpnhhbe : int64;
  mutable level : int32;
  mutable negckedpalm : int32;
  mutable exp : int32;
  mutable mlcjknjonla : int64;
  mutable hjaacgfhkeh : lhcilpbmhdj;
  mutable eigfdpnbaib : int64;
  mutable ikphhdkihnl : int32;
}

let default_glllkpaohkp_mutable () : glllkpaohkp_mutable = {
  hfimlipbgjj = 0L;
  odfppnaaaha = 0L;
  doelnfpchgj = 0L;
  ofkndpopolb = 0L;
  ifhjejgkkii = 0L;
  bflofpnhhbe = 0L;
  level = 0l;
  negckedpalm = 0l;
  exp = 0l;
  mlcjknjonla = 0L;
  hjaacgfhkeh = default_lhcilpbmhdj ();
  eigfdpnbaib = 0L;
  ikphhdkihnl = 0l;
}

type igfohhehkfi_mutable = {
  mutable fgmdoekgpee : bbfkmccgbef;
  mutable level : int32;
  mutable apbdbeabddj : int32;
}

let default_igfohhehkfi_mutable () : igfohhehkfi_mutable = {
  fgmdoekgpee = default_bbfkmccgbef ();
  level = 0l;
  apbdbeabddj = 0l;
}

type fgglkpbaipp_mutable = {
  mutable retcode : int32;
  mutable reward : item_list option;
}

let default_fgglkpbaipp_mutable () : fgglkpbaipp_mutable = {
  retcode = 0l;
  reward = None;
}

type jakmhbhfbom_mutable = {
  mutable dnafdalifpp : int32;
}

let default_jakmhbhfbom_mutable () : jakmhbhfbom_mutable = {
  dnafdalifpp = 0l;
}

type ojleilicgce_mutable = {
  mutable retcode : int32;
}

let default_ojleilicgce_mutable () : ojleilicgce_mutable = {
  retcode = 0l;
}

type optional_reward_mutable = {
  mutable level : int32;
  mutable optional_reward_id : int32;
}

let default_optional_reward_mutable () : optional_reward_mutable = {
  level = 0l;
  optional_reward_id = 0l;
}

type djpcigjcohb_mutable = {
  mutable eeoepeflnib : optional_reward list;
}

let default_djpcigjcohb_mutable () : djpcigjcohb_mutable = {
  eeoepeflnib = [];
}

type bnndbijgjig_mutable = {
  mutable reward : item_list option;
  mutable retcode : int32;
}

let default_bnndbijgjig_mutable () : bnndbijgjig_mutable = {
  reward = None;
  retcode = 0l;
}

type kjdaenekphc_mutable = {
  mutable avatar_id : int32;
  mutable avatar_type : avatar_type;
}

let default_kjdaenekphc_mutable () : kjdaenekphc_mutable = {
  avatar_id = 0l;
  avatar_type = default_avatar_type ();
}

type ddlbgkgfefc_mutable = {
  mutable gelihlenpmn : int32;
  mutable lcpkdabedpe : kjdaenekphc list;
  mutable dcpoeimegli : int32;
  mutable ngibpgbbhbb : int32;
  mutable dejlogoemeb : int32;
  mutable avatar_list : int32 list;
  mutable aanccmiilfi : int32 list;
  mutable jhcijabbjdd : int32;
  mutable pokejdagclb : bool;
  mutable hdonjgpeieg : int32;
}

let default_ddlbgkgfefc_mutable () : ddlbgkgfefc_mutable = {
  gelihlenpmn = 0l;
  lcpkdabedpe = [];
  dcpoeimegli = 0l;
  ngibpgbbhbb = 0l;
  dejlogoemeb = 0l;
  avatar_list = [];
  aanccmiilfi = [];
  jhcijabbjdd = 0l;
  pokejdagclb = false;
  hdonjgpeieg = 0l;
}

type mppfhakefln_mutable = {
  mutable cjbdijhedpo : ddlbgkgfefc list;
  mutable retcode : int32;
}

let default_mppfhakefln_mutable () : mppfhakefln_mutable = {
  cjbdijhedpo = [];
  retcode = 0l;
}

type mlhocmdjnel_mutable = {
  mutable avatar_type : avatar_type;
  mutable avatar_id : int32;
}

let default_mlhocmdjnel_mutable () : mlhocmdjnel_mutable = {
  avatar_type = default_avatar_type ();
  avatar_id = 0l;
}

type bjngkchibgi_mutable = {
  mutable avatar_list : int32 list;
  mutable lcpkdabedpe : mlhocmdjnel list;
  mutable dcpoeimegli : int32;
}

let default_bjngkchibgi_mutable () : bjngkchibgi_mutable = {
  avatar_list = [];
  lcpkdabedpe = [];
  dcpoeimegli = 0l;
}

type flaecklplkf_mutable = {
  mutable ocdbilliofd : ddlbgkgfefc option;
  mutable retcode : int32;
}

let default_flaecklplkf_mutable () : flaecklplkf_mutable = {
  ocdbilliofd = None;
  retcode = 0l;
}

type aliciecaofg_mutable = {
  mutable dcpoeimegli : int32;
  mutable hdonjgpeieg : int32;
}

let default_aliciecaofg_mutable () : aliciecaofg_mutable = {
  dcpoeimegli = 0l;
  hdonjgpeieg = 0l;
}

type lmonebbpblj_mutable = {
  mutable ocdbilliofd : ddlbgkgfefc option;
  mutable retcode : int32;
}

let default_lmonebbpblj_mutable () : lmonebbpblj_mutable = {
  ocdbilliofd = None;
  retcode = 0l;
}

type geebeknbjna_mutable = {
  mutable dcpoeimegli : int32;
  mutable lcpkdabedpe : mlhocmdjnel list;
}

let default_geebeknbjna_mutable () : geebeknbjna_mutable = {
  dcpoeimegli = 0l;
  lcpkdabedpe = [];
}

type ekdglijkhoo_mutable = {
  mutable ocdbilliofd : ddlbgkgfefc option;
  mutable retcode : int32;
}

let default_ekdglijkhoo_mutable () : ekdglijkhoo_mutable = {
  ocdbilliofd = None;
  retcode = 0l;
}

type flchghojicb_mutable = {
  mutable hehoaaidbbn : int32;
  mutable dcpoeimegli : int32;
}

let default_flchghojicb_mutable () : flchghojicb_mutable = {
  hehoaaidbbn = 0l;
  dcpoeimegli = 0l;
}

type fookkgeekfb_mutable = {
  mutable retcode : int32;
  mutable ocdbilliofd : ddlbgkgfefc option;
}

let default_fookkgeekfb_mutable () : fookkgeekfb_mutable = {
  retcode = 0l;
  ocdbilliofd = None;
}

type abdgefcecmn_mutable = {
  mutable dcpoeimegli : int32;
}

let default_abdgefcecmn_mutable () : abdgefcecmn_mutable = {
  dcpoeimegli = 0l;
}

type impmdpaofpk_mutable = {
  mutable dcpoeimegli : int32;
  mutable retcode : int32;
  mutable ibllilenejp : scene_battle_info option;
}

let default_impmdpaofpk_mutable () : impmdpaofpk_mutable = {
  dcpoeimegli = 0l;
  retcode = 0l;
  ibllilenejp = None;
}

type beldnodphni_mutable = {
  mutable dcpoeimegli : int32;
  mutable piofaglkghg : bool;
}

let default_beldnodphni_mutable () : beldnodphni_mutable = {
  dcpoeimegli = 0l;
  piofaglkghg = false;
}

type ahbkhblnhib_mutable = {
  mutable ocdbilliofd : ddlbgkgfefc option;
  mutable retcode : int32;
}

let default_ahbkhblnhib_mutable () : ahbkhblnhib_mutable = {
  ocdbilliofd = None;
  retcode = 0l;
}

type fklbhjaoomk_mutable = {
  mutable reward : item_list option;
  mutable mmnebfbnoni : bool;
  mutable dejlogoemeb : int32;
  mutable dcpoeimegli : int32;
}

let default_fklbhjaoomk_mutable () : fklbhjaoomk_mutable = {
  reward = None;
  mmnebfbnoni = false;
  dejlogoemeb = 0l;
  dcpoeimegli = 0l;
}

type bcklddogipb_mutable = {
  mutable ocdbilliofd : ddlbgkgfefc option;
}

let default_bcklddogipb_mutable () : bcklddogipb_mutable = {
  ocdbilliofd = None;
}

type bfkejoedman_mutable = {
  mutable pkkfndimmio : int32;
  mutable gakmanenkmh : int32;
  mutable mmnebfbnoni : bool;
  mutable lkipegajnfo : bool;
}

let default_bfkejoedman_mutable () : bfkejoedman_mutable = {
  pkkfndimmio = 0l;
  gakmanenkmh = 0l;
  mmnebfbnoni = false;
  lkipegajnfo = false;
}

type gohiddnlhbd_mutable = {
  mutable hechfpdiado : int32;
  mutable level : int32;
  mutable rank : int32;
  mutable unique_id : int32;
  mutable promotion : int32;
}

let default_gohiddnlhbd_mutable () : gohiddnlhbd_mutable = {
  hechfpdiado = 0l;
  level = 0l;
  rank = 0l;
  unique_id = 0l;
  promotion = 0l;
}

type jkbkidbcjnc_mutable = {
  mutable level : int32;
  mutable sub_affix_list : relic_affix list;
  mutable unique_id : int32;
  mutable main_affix_id : int32;
  mutable hechfpdiado : int32;
}

let default_jkbkidbcjnc_mutable () : jkbkidbcjnc_mutable = {
  level = 0l;
  sub_affix_list = [];
  unique_id = 0l;
  main_affix_id = 0l;
  hechfpdiado = 0l;
}

type ncjlkljhjcf_mutable = {
  mutable mcabmcmjjeh : (int32 * jkbkidbcjnc) list;
}

let default_ncjlkljhjcf_mutable () : ncjlkljhjcf_mutable = {
  mcabmcmjjeh = [];
}

type pofampodbff_mutable = {
  mutable ifpgckbegmc : bfkejoedman option;
  mutable pkadbaodmol : (int32 * gohiddnlhbd) list;
  mutable nidhakjenjj : (int32 * ncjlkljhjcf) list;
  mutable fkieaedpfgi : int32 list;
  mutable clmoamecein : bfkejoedman option;
  mutable docbgbkpbgk : bool;
  mutable bddkedmgijc : int32 list;
}

let default_pofampodbff_mutable () : pofampodbff_mutable = {
  ifpgckbegmc = None;
  pkadbaodmol = [];
  nidhakjenjj = [];
  fkieaedpfgi = [];
  clmoamecein = None;
  docbgbkpbgk = false;
  bddkedmgijc = [];
}

type odmpfgdalba_mutable = {
  mutable mbknfpcaghc : pofampodbff option;
}

let default_odmpfgdalba_mutable () : odmpfgdalba_mutable = {
  mbknfpcaghc = None;
}

type aelfdiclnkj_mutable = {
  mutable oohfncljbab : int32;
  mutable pamafmppefi : int32;
  mutable acjjpgnpdii : bool;
  mutable lpgaoolbbfm : int32;
  mutable dcpoeimegli : int32;
  mutable hgmihaljjfa : int32;
  mutable akfdaaaiich : odmpfgdalba option;
  mutable nnbeodpchid : int32;
}

let default_aelfdiclnkj_mutable () : aelfdiclnkj_mutable = {
  oohfncljbab = 0l;
  pamafmppefi = 0l;
  acjjpgnpdii = false;
  lpgaoolbbfm = 0l;
  dcpoeimegli = 0l;
  hgmihaljjfa = 0l;
  akfdaaaiich = None;
  nnbeodpchid = 0l;
}

type gbobcmidndl_mutable = {
  mutable bcoonaoafoo : int64;
  mutable group_id : int32;
}

let default_gbobcmidndl_mutable () : gbobcmidndl_mutable = {
  bcoonaoafoo = 0L;
  group_id = 0l;
}

type dmdfdiamoak_mutable = {
  mutable level : int32;
  mutable jplhmpiafoe : int32;
}

let default_dmdfdiamoak_mutable () : dmdfdiamoak_mutable = {
  level = 0l;
  jplhmpiafoe = 0l;
}

type oafififjgec_mutable = {
  mutable retcode : int32;
  mutable fgoeihnocab : int32;
  mutable kembjappmba : dmdfdiamoak list;
  mutable cjbdijhedpo : aelfdiclnkj list;
  mutable bpmldkchbeg : gbobcmidndl list;
}

let default_oafififjgec_mutable () : oafififjgec_mutable = {
  retcode = 0l;
  fgoeihnocab = 0l;
  kembjappmba = [];
  cjbdijhedpo = [];
  bpmldkchbeg = [];
}

type ohfljdcpecn_mutable = {
  mutable ifckabbiilb : int32;
  mutable bopehbonhll : int32;
}

let default_ohfljdcpecn_mutable () : ohfljdcpecn_mutable = {
  ifckabbiilb = 0l;
  bopehbonhll = 0l;
}

type oaflmpicpnm_mutable = {
  mutable ifckabbiilb : int32;
  mutable bopehbonhll : int32;
}

let default_oaflmpicpnm_mutable () : oaflmpicpnm_mutable = {
  ifckabbiilb = 0l;
  bopehbonhll = 0l;
}

type bhoiohjgali_mutable = {
  mutable ekglbfofkkd : ohfljdcpecn option;
  mutable mbknfpcaghc : oaflmpicpnm option;
}

let default_bhoiohjgali_mutable () : bhoiohjgali_mutable = {
  ekglbfofkkd = None;
  mbknfpcaghc = None;
}

type fmeoceelold_mutable = {
  mutable dcpoeimegli : int32;
  mutable bddkedmgijc : int32 list;
  mutable fkieaedpfgi : int32 list;
  mutable akfdaaaiich : bhoiohjgali option;
}

let default_fmeoceelold_mutable () : fmeoceelold_mutable = {
  dcpoeimegli = 0l;
  bddkedmgijc = [];
  fkieaedpfgi = [];
  akfdaaaiich = None;
}

type dpefjfdabmm_mutable = {
  mutable emkljnkkgmg : int32;
  mutable monster_id : int32;
}

let default_dpefjfdabmm_mutable () : dpefjfdabmm_mutable = {
  emkljnkkgmg = 0l;
  monster_id = 0l;
}

type pmipieeojnc_mutable = {
  mutable buff_list : int32 list;
}

let default_pmipieeojnc_mutable () : pmipieeojnc_mutable = {
  buff_list = [];
}

type lcmlopfaobm_mutable = {
  mutable buff_list : int32 list;
  mutable jjnilbbbmac : int32;
}

let default_lcmlopfaobm_mutable () : lcmlopfaobm_mutable = {
  buff_list = [];
  jjnilbbbmac = 0l;
}

type bjfmbfoaelh_mutable = {
  mutable hnekacjplga : pmipieeojnc option;
  mutable bhfcjdajfke : lcmlopfaobm option;
}

let default_bjfmbfoaelh_mutable () : bjfmbfoaelh_mutable = {
  hnekacjplga = None;
  bhfcjdajfke = None;
}

type acdfcngdkhe_mutable = {
  mutable oohfncljbab : int32;
  mutable gbgamckgokf : dpefjfdabmm list;
  mutable lpgaoolbbfm : int32;
  mutable extra_lineup_type : extra_lineup_type;
  mutable dcpoeimegli : int32;
  mutable akfdaaaiich : bjfmbfoaelh option;
  mutable lfjefbdikln : int32;
  mutable fphjhbmlogm : int32;
  mutable status : lhnmnaphkdg;
}

let default_acdfcngdkhe_mutable () : acdfcngdkhe_mutable = {
  oohfncljbab = 0l;
  gbgamckgokf = [];
  lpgaoolbbfm = 0l;
  extra_lineup_type = default_extra_lineup_type ();
  dcpoeimegli = 0l;
  akfdaaaiich = None;
  lfjefbdikln = 0l;
  fphjhbmlogm = 0l;
  status = default_lhnmnaphkdg ();
}

type lineup_avatar_mutable = {
  mutable hp : int32;
  mutable satiety : int32;
  mutable slot : int32;
  mutable avatar_type : avatar_type;
  mutable sp : sp_progress option;
  mutable id : int32;
}

let default_lineup_avatar_mutable () : lineup_avatar_mutable = {
  hp = 0l;
  satiety = 0l;
  slot = 0l;
  avatar_type = default_avatar_type ();
  sp = None;
  id = 0l;
}

type lineup_info_mutable = {
  mutable njfmkhpamdl : bool;
  mutable avatar_list : lineup_avatar list;
  mutable lofekgfcmlc : int32 list;
  mutable ijnpccndcgi : int32;
  mutable index : int32;
  mutable is_virtual : bool;
  mutable hcoemhcfomn : int32;
  mutable name : string;
  mutable extra_lineup_type : extra_lineup_type;
  mutable plane_id : int32;
  mutable nlkmjkfhebm : int32 list;
  mutable kclnaimofdl : int32;
  mutable dfkpgckchah : int32 list;
  mutable oppienknmfb : int32;
}

let default_lineup_info_mutable () : lineup_info_mutable = {
  njfmkhpamdl = false;
  avatar_list = [];
  lofekgfcmlc = [];
  ijnpccndcgi = 0l;
  index = 0l;
  is_virtual = false;
  hcoemhcfomn = 0l;
  name = "";
  extra_lineup_type = default_extra_lineup_type ();
  plane_id = 0l;
  nlkmjkfhebm = [];
  kclnaimofdl = 0l;
  dfkpgckchah = [];
  oppienknmfb = 0l;
}

type maobdckbobc_mutable = {
  mutable ggjjigjjodm : acdfcngdkhe option;
  mutable retcode : int32;
  mutable kbognlnlcle : lineup_info list;
  mutable scene : scene_info option;
  mutable akfdaaaiich : odmpfgdalba option;
}

let default_maobdckbobc_mutable () : maobdckbobc_mutable = {
  ggjjigjjodm = None;
  retcode = 0l;
  kbognlnlcle = [];
  scene = None;
  akfdaaaiich = None;
}

type hacocboddac_mutable = {
  mutable pkkfndimmio : int32;
  mutable dcpoeimegli : int32;
  mutable ffobdiljlbp : bool;
}

let default_hacocboddac_mutable () : hacocboddac_mutable = {
  pkkfndimmio = 0l;
  dcpoeimegli = 0l;
  ffobdiljlbp = false;
}

type jjeeompliao_mutable = {
  mutable lineup : lineup_info option;
  mutable scene : scene_info option;
  mutable retcode : int32;
  mutable ggjjigjjodm : acdfcngdkhe option;
}

let default_jjeeompliao_mutable () : jjeeompliao_mutable = {
  lineup = None;
  scene = None;
  retcode = 0l;
  ggjjigjjodm = None;
}

type hiajnnddmdd_mutable = {
  mutable retcode : int32;
}

let default_hiajnnddmdd_mutable () : hiajnnddmdd_mutable = {
  retcode = 0l;
}

type ldlkkfajcdc_mutable = {
  mutable fgoeihnocab : int32;
  mutable oohfncljbab : int32;
  mutable reward : item_list option;
  mutable pamafmppefi : int32;
  mutable dcpoeimegli : int32;
  mutable mmnebfbnoni : bool;
  mutable mlafjaohnmf : int32 list;
  mutable oadpmnmpcjl : int32;
  mutable nfkimondhio : dmdfdiamoak option;
}

let default_ldlkkfajcdc_mutable () : ldlkkfajcdc_mutable = {
  fgoeihnocab = 0l;
  oohfncljbab = 0l;
  reward = None;
  pamafmppefi = 0l;
  dcpoeimegli = 0l;
  mmnebfbnoni = false;
  mlafjaohnmf = [];
  oadpmnmpcjl = 0l;
  nfkimondhio = None;
}

type coiegofghdn_mutable = {
  mutable ggjjigjjodm : acdfcngdkhe option;
  mutable kbognlnlcle : lineup_info list;
  mutable retcode : int32;
}

let default_coiegofghdn_mutable () : coiegofghdn_mutable = {
  ggjjigjjodm = None;
  kbognlnlcle = [];
  retcode = 0l;
}

type lnagiibkhlh_mutable = {
  mutable extra_lineup_type : extra_lineup_type;
}

let default_lnagiibkhlh_mutable () : lnagiibkhlh_mutable = {
  extra_lineup_type = default_extra_lineup_type ();
}

type hibdmpkciin_mutable = {
  mutable group_id : int32;
}

let default_hibdmpkciin_mutable () : hibdmpkciin_mutable = {
  group_id = 0l;
}

type pahjkfkgbop_mutable = {
  mutable reward : item_list option;
  mutable dhlffjdmbig : int32;
}

let default_pahjkfkgbop_mutable () : pahjkfkgbop_mutable = {
  reward = None;
  dhlffjdmbig = 0l;
}

type lpjbamecahp_mutable = {
  mutable bodjegpjphj : pahjkfkgbop list;
  mutable retcode : int32;
  mutable group_id : int32;
}

let default_lpjbamecahp_mutable () : lpjbamecahp_mutable = {
  bodjegpjphj = [];
  retcode = 0l;
  group_id = 0l;
}

type ehbjmdabinj_mutable = {
  mutable avatar_type : avatar_type;
  mutable level : int32;
  mutable id : int32;
  mutable index : int32;
}

let default_ehbjmdabinj_mutable () : ehbjmdabinj_mutable = {
  avatar_type = default_avatar_type ();
  level = 0l;
  id = 0l;
  index = 0l;
}

type mdhdfopebgl_mutable = {
  mutable avatar_list : ehbjmdabinj list;
}

let default_mdhdfopebgl_mutable () : mdhdfopebgl_mutable = {
  avatar_list = [];
}

type npmodmpagii_mutable = {
  mutable kbognlnlcle : mdhdfopebgl list;
  mutable level : int32;
  mutable lfjefbdikln : int32;
  mutable knbgpmdmbkc : int32;
}

let default_npmodmpagii_mutable () : npmodmpagii_mutable = {
  kbognlnlcle = [];
  level = 0l;
  lfjefbdikln = 0l;
  knbgpmdmbkc = 0l;
}

type khjddbffahk_mutable = {
  mutable hgmihaljjfa : int32;
  mutable pijailpolmf : npmodmpagii option;
}

let default_khjddbffahk_mutable () : khjddbffahk_mutable = {
  hgmihaljjfa = 0l;
  pijailpolmf = None;
}

type nhecleammpi_mutable = {
  mutable kbognlnlcle : mdhdfopebgl list;
  mutable level : int32;
  mutable knbgpmdmbkc : int32;
  mutable lpgaoolbbfm : int32;
  mutable ifckabbiilb : int32;
  mutable bopehbonhll : int32;
}

let default_nhecleammpi_mutable () : nhecleammpi_mutable = {
  kbognlnlcle = [];
  level = 0l;
  knbgpmdmbkc = 0l;
  lpgaoolbbfm = 0l;
  ifckabbiilb = 0l;
  bopehbonhll = 0l;
}

type imiaeepmcje_mutable = {
  mutable pijailpolmf : nhecleammpi option;
  mutable hgmihaljjfa : int32;
}

let default_imiaeepmcje_mutable () : imiaeepmcje_mutable = {
  pijailpolmf = None;
  hgmihaljjfa = 0l;
}

type adfmfjbomfm_mutable = {
  mutable knbgpmdmbkc : int32;
  mutable kbognlnlcle : mdhdfopebgl list;
  mutable bopehbonhll : int32;
  mutable level : int32;
  mutable lpgaoolbbfm : int32;
  mutable ifckabbiilb : int32;
}

let default_adfmfjbomfm_mutable () : adfmfjbomfm_mutable = {
  knbgpmdmbkc = 0l;
  kbognlnlcle = [];
  bopehbonhll = 0l;
  level = 0l;
  lpgaoolbbfm = 0l;
  ifckabbiilb = 0l;
}

type cinndmfnbij_mutable = {
  mutable pijailpolmf : adfmfjbomfm option;
  mutable hgmihaljjfa : int32;
}

let default_cinndmfnbij_mutable () : cinndmfnbij_mutable = {
  pijailpolmf = None;
  hgmihaljjfa = 0l;
}

type mjpadlbjdhm_mutable = {
  mutable group_id : int32;
}

let default_mjpadlbjdhm_mutable () : mjpadlbjdhm_mutable = {
  group_id = 0l;
}

type jilinnlgcoe_mutable = {
  mutable group_id : int32;
  mutable retcode : int32;
  mutable icoibnhjhec : khjddbffahk option;
  mutable ckbeijmmbjp : imiaeepmcje option;
  mutable idcpcalknen : cinndmfnbij option;
}

let default_jilinnlgcoe_mutable () : jilinnlgcoe_mutable = {
  group_id = 0l;
  retcode = 0l;
  icoibnhjhec = None;
  ckbeijmmbjp = None;
  idcpcalknen = None;
}

type gcpmkpfgiid_mutable = {
  mutable retcode : int32;
  mutable scene : scene_info option;
}

let default_gcpmkpfgiid_mutable () : gcpmkpfgiid_mutable = {
  retcode = 0l;
  scene = None;
}

type oabnlkaifkd_mutable = {
  mutable scene : scene_info option;
  mutable retcode : int32;
}

let default_oabnlkaifkd_mutable () : oabnlkaifkd_mutable = {
  scene = None;
  retcode = 0l;
}

type dodphlphodk_mutable = {
  mutable dcpoeimegli : int32;
  mutable oohfncljbab : int32;
  mutable oadpmnmpcjl : int32;
  mutable pbiaoddhipc : bool;
  mutable eifkjpfgipi : battle_target list;
  mutable djemibiamha : int32;
  mutable mmnebfbnoni : bool;
  mutable bjihmliecnf : bool;
  mutable pamafmppefi : int32;
  mutable oilhgpfbeel : int32;
}

let default_dodphlphodk_mutable () : dodphlphodk_mutable = {
  dcpoeimegli = 0l;
  oohfncljbab = 0l;
  oadpmnmpcjl = 0l;
  pbiaoddhipc = false;
  eifkjpfgipi = [];
  djemibiamha = 0l;
  mmnebfbnoni = false;
  bjihmliecnf = false;
  pamafmppefi = 0l;
  oilhgpfbeel = 0l;
}

type oojihblbeip_mutable = {
  mutable dcpoeimegli : int32;
}

let default_oojihblbeip_mutable () : oojihblbeip_mutable = {
  dcpoeimegli = 0l;
}

type gcobllmhael_mutable = {
  mutable pmdhhigakcp : int32;
  mutable kmfboahjjhd : int32;
  mutable bddkedmgijc : int32 list;
  mutable fkieaedpfgi : int32 list;
}

let default_gcobllmhael_mutable () : gcobllmhael_mutable = {
  pmdhhigakcp = 0l;
  kmfboahjjhd = 0l;
  bddkedmgijc = [];
  fkieaedpfgi = [];
}

type mfkcgfoomed_mutable = {
  mutable dcpoeimegli : int32;
  mutable retcode : int32;
  mutable bdjmhpbiaag : gcobllmhael list;
}

let default_mfkcgfoomed_mutable () : mfkcgfoomed_mutable = {
  dcpoeimegli = 0l;
  retcode = 0l;
  bdjmhpbiaag = [];
}

type ekllejeelfk_mutable = {
  mutable lfpcmaihpbj : chat_type;
  mutable aelpgmailcn : msg_type;
  mutable fblgpmnmbcc : int32 list;
  mutable gpcnecedgof : kicjpjalbbh option;
  mutable jpacbjioomm : string;
  mutable ampfhonjmcd : int32;
}

let default_ekllejeelfk_mutable () : ekllejeelfk_mutable = {
  lfpcmaihpbj = default_chat_type ();
  aelpgmailcn = default_msg_type ();
  fblgpmnmbcc = [];
  gpcnecedgof = None;
  jpacbjioomm = "";
  ampfhonjmcd = 0l;
}

type nhcndpbdgef_mutable = {
  mutable end_time : int64;
  mutable retcode : int32;
}

let default_nhcndpbdgef_mutable () : nhcndpbdgef_mutable = {
  end_time = 0L;
  retcode = 0l;
}

type fdolecgmpnp_mutable = {
  mutable ehjdlppngmf : int32;
  mutable gpcnecedgof : kicjpjalbbh option;
  mutable ekomgpknmnn : string;
  mutable fgilieldboi : int64;
  mutable ampfhonjmcd : int32;
  mutable aelpgmailcn : msg_type;
}

let default_fdolecgmpnp_mutable () : fdolecgmpnp_mutable = {
  ehjdlppngmf = 0l;
  gpcnecedgof = None;
  ekomgpknmnn = "";
  fgilieldboi = 0L;
  ampfhonjmcd = 0l;
  aelpgmailcn = default_msg_type ();
}

type ohiiebnlkpb_mutable = {
  mutable nlhlnacaplk : int32;
  mutable jpacbjioomm : string;
  mutable ampfhonjmcd : int32;
  mutable aelpgmailcn : msg_type;
  mutable jlddmekleop : int32;
  mutable gpcnecedgof : kicjpjalbbh option;
  mutable lfpcmaihpbj : chat_type;
}

let default_ohiiebnlkpb_mutable () : ohiiebnlkpb_mutable = {
  nlhlnacaplk = 0l;
  jpacbjioomm = "";
  ampfhonjmcd = 0l;
  aelpgmailcn = default_msg_type ();
  jlddmekleop = 0l;
  gpcnecedgof = None;
  lfpcmaihpbj = default_chat_type ();
}

type mbghgfnkini_mutable = {
  mutable dbdnooapmlm : int32 list;
}

let default_mbghgfnkini_mutable () : mbghgfnkini_mutable = {
  dbdnooapmlm = [];
}

type njgnkanbknc_mutable = {
  mutable hbnlpjhkkcj : int32;
  mutable bmgnoinbocb : int32;
}

let default_njgnkanbknc_mutable () : njgnkanbknc_mutable = {
  hbnlpjhkkcj = 0l;
  bmgnoinbocb = 0l;
}

type okbaaoadhco_mutable = {
  mutable hbnlpjhkkcj : int32;
  mutable retcode : int32;
  mutable bmgnoinbocb : int32;
  mutable pbnkofcamlc : fdolecgmpnp list;
}

let default_okbaaoadhco_mutable () : okbaaoadhco_mutable = {
  hbnlpjhkkcj = 0l;
  retcode = 0l;
  bmgnoinbocb = 0l;
  pbnkofcamlc = [];
}

type iogcdknhcgm_mutable = {
  mutable hbnlpjhkkcj : int32;
  mutable bgmailkkaki : int64;
}

let default_iogcdknhcgm_mutable () : iogcdknhcgm_mutable = {
  hbnlpjhkkcj = 0l;
  bgmailkkaki = 0L;
}

type ghdebmkbflc_mutable = {
  mutable retcode : int32;
  mutable cbkidlkcjcc : iogcdknhcgm list;
}

let default_ghdebmkbflc_mutable () : ghdebmkbflc_mutable = {
  retcode = 0l;
  cbkidlkcjcc = [];
}

type modcpiakhbc_mutable = {
  mutable heeeklmagdp : int32 list;
  mutable retcode : int32;
}

let default_modcpiakhbc_mutable () : modcpiakhbc_mutable = {
  heeeklmagdp = [];
  retcode = 0l;
}

type baoekbknfkb_mutable = {
  mutable mkbgjbobhal : bool;
  mutable ampfhonjmcd : int32;
}

let default_baoekbknfkb_mutable () : baoekbknfkb_mutable = {
  mkbgjbobhal = false;
  ampfhonjmcd = 0l;
}

type gbjplhlkclc_mutable = {
  mutable mkbgjbobhal : bool;
  mutable ampfhonjmcd : int32;
  mutable retcode : int32;
}

let default_gbjplhlkclc_mutable () : gbjplhlkclc_mutable = {
  mkbgjbobhal = false;
  ampfhonjmcd = 0l;
  retcode = 0l;
}

type bafalbdiboe_mutable = {
  mutable iilhhecoogb : int32 list;
}

let default_bafalbdiboe_mutable () : bafalbdiboe_mutable = {
  iilhhecoogb = [];
}

type hghnaejjjgj_mutable = {
  mutable iilhhecoogb : int32 list;
  mutable retcode : int32;
}

let default_hghnaejjjgj_mutable () : hghnaejjjgj_mutable = {
  iilhhecoogb = [];
  retcode = 0l;
}

type mdmbaangnpa_mutable = {
  mutable retcode : int32;
  mutable dbdnooapmlm : int32 list;
}

let default_mdmbaangnpa_mutable () : mdmbaangnpa_mutable = {
  retcode = 0l;
  dbdnooapmlm = [];
}

type micfnaphmnb_mutable = {
  mutable joipnmmehbm : item_cost_data option;
}

let default_micfnaphmnb_mutable () : micfnaphmnb_mutable = {
  joipnmmehbm = None;
}

type hefgcbjdeem_mutable = {
  mutable scene : scene_info option;
  mutable lineup : lineup_info option;
}

let default_hefgcbjdeem_mutable () : hefgcbjdeem_mutable = {
  scene = None;
  lineup = None;
}

type memfcodlioa_mutable = {
  mutable id : int32;
  mutable glkbddbdebh : int32 list;
}

let default_memfcodlioa_mutable () : memfcodlioa_mutable = {
  id = 0l;
  glkbddbdebh = [];
}

type nidknnfjgmp_mutable = {
  mutable mojaejmnmge : memfcodlioa list;
}

let default_nidknnfjgmp_mutable () : nidknnfjgmp_mutable = {
  mojaejmnmge = [];
}

type mehpamalhjm_mutable = {
  mutable gmdlifibdfc : int32;
  mutable gahohjkfkek : oeafacbejbl;
  mutable pelegneejne : int32;
}

let default_mehpamalhjm_mutable () : mehpamalhjm_mutable = {
  gmdlifibdfc = 0l;
  gahohjkfkek = default_oeafacbejbl ();
  pelegneejne = 0l;
}

type fbpkclgkmha_mutable = {
  mutable mecjmchknde : bool;
  mutable ppahjhccgea : int32 list;
  mutable adnplkibhog : int32;
}

let default_fbpkclgkmha_mutable () : fbpkclgkmha_mutable = {
  mecjmchknde = false;
  ppahjhccgea = [];
  adnplkibhog = 0l;
}

type gflokgogjgh_mutable = {
  mutable cbjpfggchfh : idlkgpjlfhc;
  mutable golcnjkeoic : mehpamalhjm option;
  mutable ddgkfgjdgeb : int64;
  mutable hhckdkhoecn : fbpkclgkmha option;
}

let default_gflokgogjgh_mutable () : gflokgogjgh_mutable = {
  cbjpfggchfh = default_idlkgpjlfhc ();
  golcnjkeoic = None;
  ddgkfgjdgeb = 0L;
  hhckdkhoecn = None;
}

type bakpidleifi_mutable = {
  mutable depmnmgkeag : gflokgogjgh list;
}

let default_bakpidleifi_mutable () : bakpidleifi_mutable = {
  depmnmgkeag = [];
}

type gbfffjngdfj_mutable = {
  mutable fnhpplpmjcn : int32;
  mutable dcipfijnhoi : int32;
}

let default_gbfffjngdfj_mutable () : gbfffjngdfj_mutable = {
  fnhpplpmjcn = 0l;
  dcipfijnhoi = 0l;
}

type dcbalomaani_mutable = {
  mutable ddkgbmlkdkk : int32;
  mutable lhigmcoilgo : int32;
  mutable nddbnbipbon : int32;
  mutable pdfpgbmampk : gbfffjngdfj list;
}

let default_dcbalomaani_mutable () : dcbalomaani_mutable = {
  ddkgbmlkdkk = 0l;
  lhigmcoilgo = 0l;
  nddbnbipbon = 0l;
  pdfpgbmampk = [];
}

type jhogcidfaoc_mutable = {
  mutable aneolijdglc : int32;
  mutable kbiicjjlpnd : bool;
  mutable djaocncjcoa : gflokgogjgh option;
  mutable iojokhhnnaf : int32;
  mutable pmngenljclp : bakpidleifi option;
  mutable cbplaahapne : int32 list;
  mutable haccokolmcb : int32;
  mutable pefeejkjmko : int32;
  mutable lgjapibjhec : int32;
  mutable dicpimdppco : dcbalomaani option;
  mutable jheghpmkabh : bool;
  mutable ddgbdajebji : int32;
  mutable bbcjfajjbof : int32;
  mutable jinmpgfgcbc : int32;
  mutable lkbimfkbocp : omlpnkhdeog;
  mutable gllfonoipoc : ffcjbkjenjp;
  mutable ddfbfpoeima : int32;
}

let default_jhogcidfaoc_mutable () : jhogcidfaoc_mutable = {
  aneolijdglc = 0l;
  kbiicjjlpnd = false;
  djaocncjcoa = None;
  iojokhhnnaf = 0l;
  pmngenljclp = None;
  cbplaahapne = [];
  haccokolmcb = 0l;
  pefeejkjmko = 0l;
  lgjapibjhec = 0l;
  dicpimdppco = None;
  jheghpmkabh = false;
  ddgbdajebji = 0l;
  bbcjfajjbof = 0l;
  jinmpgfgcbc = 0l;
  lkbimfkbocp = default_omlpnkhdeog ();
  gllfonoipoc = default_ffcjbkjenjp ();
  ddfbfpoeima = 0l;
}

type mgdjkjeikif_mutable = {
  mutable aoecepofobe : int32;
}

let default_mgdjkjeikif_mutable () : mgdjkjeikif_mutable = {
  aoecepofobe = 0l;
}

type jgialipdago_mutable = {
  mutable emmkiajfeeh : jhogcidfaoc option;
  mutable retcode : int32;
  mutable ffcidfndcij : int32;
}

let default_jgialipdago_mutable () : jgialipdago_mutable = {
  emmkiajfeeh = None;
  retcode = 0l;
  ffcidfndcij = 0l;
}

type gapcdcdlhao_mutable = {
  mutable pbonhgdihdk : int32;
}

let default_gapcdcdlhao_mutable () : gapcdcdlhao_mutable = {
  pbonhgdihdk = 0l;
}

type njnoikdeemg_mutable = {
  mutable retcode : int32;
  mutable pbonhgdihdk : int32;
}

let default_njnoikdeemg_mutable () : njnoikdeemg_mutable = {
  retcode = 0l;
  pbonhgdihdk = 0l;
}

type aljedjonndl_mutable = {
  mutable monster_id : int32;
  mutable mepjekicoob : int32;
}

let default_aljedjonndl_mutable () : aljedjonndl_mutable = {
  monster_id = 0l;
  mepjekicoob = 0l;
}

type pifejklcgii_mutable = {
  mutable kjigdihdnaj : int32;
  mutable mecjmchknde : bool;
  mutable jlpgaheinlb : aljedjonndl list;
}

let default_pifejklcgii_mutable () : pifejklcgii_mutable = {
  kjigdihdnaj = 0l;
  mecjmchknde = false;
  jlpgaheinlb = [];
}

type ppdhjomdhpg_mutable = {
  mutable nehaljheool : int32 list;
  mutable kdmnfdglfij : int32 list;
}

let default_ppdhjomdhpg_mutable () : ppdhjomdhpg_mutable = {
  nehaljheool = [];
  kdmnfdglfij = [];
}

type dfompdgfppa_mutable = {
  mutable jpblhpkdnff : pifejklcgii option;
  mutable fhkibjkjnjf : ppdhjomdhpg option;
}

let default_dfompdgfppa_mutable () : dfompdgfppa_mutable = {
  jpblhpkdnff = None;
  fhkibjkjnjf = None;
}

type kkjhocdnhpk_mutable = {
  mutable jpblhpkdnff : pifejklcgii option;
  mutable fhkibjkjnjf : ppdhjomdhpg option;
  mutable ogicojhhcnf : dfompdgfppa option;
}

let default_kkjhocdnhpk_mutable () : kkjhocdnhpk_mutable = {
  jpblhpkdnff = None;
  fhkibjkjnjf = None;
  ogicojhhcnf = None;
}

type fffkbmhfeed_mutable = {
  mutable mfdelanaicp : int32;
  mutable khdgocghkea : int32 list;
  mutable mmpflgiclpa : int32;
  mutable fipmfocjcgm : int32;
  mutable akfdaaaiich : kkjhocdnhpk option;
  mutable id : int32;
  mutable mkpjijjipfe : idpjmbnedeg;
  mutable pgnccoldebp : int32;
  mutable gmchjnfpjdm : mknnebnfbej;
  mutable ddlinaajdoh : bool;
  mutable dnmhgkbcinm : bool;
  mutable opooflefkol : int32;
}

let default_fffkbmhfeed_mutable () : fffkbmhfeed_mutable = {
  mfdelanaicp = 0l;
  khdgocghkea = [];
  mmpflgiclpa = 0l;
  fipmfocjcgm = 0l;
  akfdaaaiich = None;
  id = 0l;
  mkpjijjipfe = default_idpjmbnedeg ();
  pgnccoldebp = 0l;
  gmchjnfpjdm = default_mknnebnfbej ();
  ddlinaajdoh = false;
  dnmhgkbcinm = false;
  opooflefkol = 0l;
}

type fdkhifelmcd_mutable = {
  mutable gfphfakjiip : int32;
  mutable hdkkdjobple : fffkbmhfeed list;
  mutable kjfpfijkmic : int32;
  mutable pbegapcffcg : int32;
  mutable kgphiiiehfj : int32;
}

let default_fdkhifelmcd_mutable () : fdkhifelmcd_mutable = {
  gfphfakjiip = 0l;
  hdkkdjobple = [];
  kjfpfijkmic = 0l;
  pbegapcffcg = 0l;
  kgphiiiehfj = 0l;
}

type dogofabhmnk_mutable = {
  mutable mfdelanaicp : int32;
  mutable pbonhgdihdk : int32;
}

let default_dogofabhmnk_mutable () : dogofabhmnk_mutable = {
  mfdelanaicp = 0l;
  pbonhgdihdk = 0l;
}

type kkcpdacdmkm_mutable = {
  mutable jjfopmclfgp : bakpidleifi option;
  mutable odbonchifmm : int32;
}

let default_kkcpdacdmkm_mutable () : kkcpdacdmkm_mutable = {
  jjfopmclfgp = None;
  odbonchifmm = 0l;
}

type iegahkdghjc_mutable = {
  mutable acdpcbenidp : dogofabhmnk list;
  mutable ffkkpmlkkcc : int32;
  mutable bgdnnmcklaf : mknnebnfbej;
  mutable pondjadjphm : kkcpdacdmkm option;
  mutable jhbiihbamfp : fdkhifelmcd option;
  mutable jaeaoepglog : int32;
  mutable lahdpgmdloa : int32 list;
}

let default_iegahkdghjc_mutable () : iegahkdghjc_mutable = {
  acdpcbenidp = [];
  ffkkpmlkkcc = 0l;
  bgdnnmcklaf = default_mknnebnfbej ();
  pondjadjphm = None;
  jhbiihbamfp = None;
  jaeaoepglog = 0l;
  lahdpgmdloa = [];
}

type bincokigfgm_mutable = {
  mutable id : int32;
  mutable jpjmfomlibc : int32;
  mutable onlcphdmmpm : iegahkdghjc option;
  mutable glkcbfpeijb : int32;
  mutable palokcoicgp : int32;
  mutable mknhgcengfk : int32;
  mutable meoekcpafch : int32 list;
  mutable kdkdheomlmo : int32;
  mutable pcpganjlmml : int32 list;
}

let default_bincokigfgm_mutable () : bincokigfgm_mutable = {
  id = 0l;
  jpjmfomlibc = 0l;
  onlcphdmmpm = None;
  glkcbfpeijb = 0l;
  palokcoicgp = 0l;
  mknhgcengfk = 0l;
  meoekcpafch = [];
  kdkdheomlmo = 0l;
  pcpganjlmml = [];
}

type gnhfgpglbae_mutable = {
  mutable bajeglndfpe : int32;
  mutable opmjfaoockc : int32;
}

let default_gnhfgpglbae_mutable () : gnhfgpglbae_mutable = {
  bajeglndfpe = 0l;
  opmjfaoockc = 0l;
}

type lafgnipaikl_mutable = {
  mutable emoohedjinn : gnhfgpglbae list;
}

let default_lafgnipaikl_mutable () : lafgnipaikl_mutable = {
  emoohedjinn = [];
}

type lhakogbpaen_mutable = {
  mutable hbjejpcphbf : int32 list;
  mutable agndiegkeih : int32;
  mutable pncgddoigad : lafgnipaikl option;
  mutable onlljjegjdc : int32;
  mutable jjfopmclfgp : bakpidleifi option;
}

let default_lhakogbpaen_mutable () : lhakogbpaen_mutable = {
  hbjejpcphbf = [];
  agndiegkeih = 0l;
  pncgddoigad = None;
  onlljjegjdc = 0l;
  jjfopmclfgp = None;
}

type eapcpnbdbbg_mutable = {
  mutable avatar_id : int32;
  mutable mfionjgelel : int32;
}

let default_eapcpnbdbbg_mutable () : eapcpnbdbbg_mutable = {
  avatar_id = 0l;
  mfionjgelel = 0l;
}

type ccohodejlfe_mutable = {
  mutable boijkbofiid : micfnaphmnb option;
  mutable njmnddboopd : eapcpnbdbbg list;
}

let default_ccohodejlfe_mutable () : ccohodejlfe_mutable = {
  boijkbofiid = None;
  njmnddboopd = [];
}

type cndojeanndh_mutable = {
  mutable dajmkddckgh : int32;
  mutable hholaeabopa : bool;
  mutable ghmkcfhnejp : int32 list;
  mutable jbjjpnlonkm : int32;
}

let default_cndojeanndh_mutable () : cndojeanndh_mutable = {
  dajmkddckgh = 0l;
  hholaeabopa = false;
  ghmkcfhnejp = [];
  jbjjpnlonkm = 0l;
}

type jkggceplagl_mutable = {
  mutable ljbbdccelmh : int32;
}

let default_jkggceplagl_mutable () : jkggceplagl_mutable = {
  ljbbdccelmh = 0l;
}

type ahdfkbajdlh_mutable = {
  mutable ikddpmdgcaj : int32 list;
}

let default_ahdfkbajdlh_mutable () : ahdfkbajdlh_mutable = {
  ikddpmdgcaj = [];
}

type mnicidbdjfi_mutable = {
  mutable pkkfndimmio : int32;
  mutable kehnfboaaig : int32;
}

let default_mnicidbdjfi_mutable () : mnicidbdjfi_mutable = {
  pkkfndimmio = 0l;
  kehnfboaaig = 0l;
}

type rogue_common_buff_select_info_mutable = {
  mutable roll_buff_cost_data : item_cost_data option;
  mutable source_type : hbdomioniba;
  mutable handbook_unlock_buff_id_list : int32 list;
  mutable certain_select_buff_id : int32;
  mutable select_buff_list : mnicidbdjfi list;
  mutable source_hint_id : int32;
  mutable roll_buff_max_count : int32;
  mutable roll_buff_free_count : int32;
  mutable first_buff_type_list : int32 list;
  mutable can_roll : bool;
  mutable roll_buff_count : int32;
  mutable source_total_count : int32;
  mutable source_cur_count : int32;
}

let default_rogue_common_buff_select_info_mutable () : rogue_common_buff_select_info_mutable = {
  roll_buff_cost_data = None;
  source_type = default_hbdomioniba ();
  handbook_unlock_buff_id_list = [];
  certain_select_buff_id = 0l;
  select_buff_list = [];
  source_hint_id = 0l;
  roll_buff_max_count = 0l;
  roll_buff_free_count = 0l;
  first_buff_type_list = [];
  can_roll = false;
  roll_buff_count = 0l;
  source_total_count = 0l;
  source_cur_count = 0l;
}

type jgloggkpeip_mutable = {
  mutable ckmcdophoho : mnicidbdjfi list;
  mutable comnknfemfn : int32;
}

let default_jgloggkpeip_mutable () : jgloggkpeip_mutable = {
  ckmcdophoho = [];
  comnknfemfn = 0l;
}

type mmgfijkgejd_mutable = {
  mutable comnknfemfn : int32;
  mutable ongocpjbeem : mnicidbdjfi list;
}

let default_mmgfijkgejd_mutable () : mmgfijkgejd_mutable = {
  comnknfemfn = 0l;
  ongocpjbeem = [];
}

type lhjijndbjll_mutable = {
  mutable comnknfemfn : int32;
  mutable jcmhmpmbhko : mnicidbdjfi list;
}

let default_lhjijndbjll_mutable () : lhjijndbjll_mutable = {
  comnknfemfn = 0l;
  jcmhmpmbhko = [];
}

type ldklmcljplk_mutable = {
  mutable bhpcnblomnh : int32 list;
  mutable comnknfemfn : int32;
  mutable ohmlalbookj : int32 list;
}

let default_ldklmcljplk_mutable () : ldklmcljplk_mutable = {
  bhpcnblomnh = [];
  comnknfemfn = 0l;
  ohmlalbookj = [];
}

type blplkibhiok_mutable = {
  mutable ccdkldffekl : int32 list;
}

let default_blplkibhiok_mutable () : blplkibhiok_mutable = {
  ccdkldffekl = [];
}

type gbhdggdnlon_mutable = {
  mutable hfmibieahhl : int32 list;
  mutable comnknfemfn : int32;
}

let default_gbhdggdnlon_mutable () : gbhdggdnlon_mutable = {
  hfmibieahhl = [];
  comnknfemfn = 0l;
}

type bbdkccjfpbe_mutable = {
  mutable mkllbpebdjd : int32 list;
  mutable comnknfemfn : int32;
}

let default_bbdkccjfpbe_mutable () : bbdkccjfpbe_mutable = {
  mkllbpebdjd = [];
  comnknfemfn = 0l;
}

type mgpnfkhlcpi_mutable = {
  mutable jpjjnfckpld : int32 list;
  mutable comnknfemfn : int32;
}

let default_mgpnfkhlcpi_mutable () : mgpnfkhlcpi_mutable = {
  jpjjnfckpld = [];
  comnknfemfn = 0l;
}

type ojnhhgmefgn_mutable = {
  mutable bogobbncjbf : int32 list;
  mutable comnknfemfn : int32;
}

let default_ojnhhgmefgn_mutable () : ojnhhgmefgn_mutable = {
  bogobbncjbf = [];
  comnknfemfn = 0l;
}

type ddbdnlhnole_mutable = {
  mutable oeeeagkklng : int32 list;
  mutable comnknfemfn : int32;
}

let default_ddbdnlhnole_mutable () : ddbdnlhnole_mutable = {
  oeeeagkklng = [];
  comnknfemfn = 0l;
}

type jlaoekngjoc_mutable = {
  mutable comnknfemfn : int32;
  mutable oeeeagkklng : int32 list;
}

let default_jlaoekngjoc_mutable () : jlaoekngjoc_mutable = {
  comnknfemfn = 0l;
  oeeeagkklng = [];
}

type lnedlmmamac_mutable = {
  mutable ofaekfangcn : int32 list;
}

let default_lnedlmmamac_mutable () : lnedlmmamac_mutable = {
  ofaekfangcn = [];
}

type rogue_formula_select_info_mutable = {
  mutable roll_formula_cost_data : item_cost_data option;
  mutable handbook_unlock_formula_id_list : int32 list;
  mutable hint_id : int32;
  mutable select_formula_id_list : int32 list;
  mutable roll_formula_count : int32;
  mutable can_roll : bool;
  mutable roll_formula_max_count : int32;
  mutable roll_formula_free_count : int32;
}

let default_rogue_formula_select_info_mutable () : rogue_formula_select_info_mutable = {
  roll_formula_cost_data = None;
  handbook_unlock_formula_id_list = [];
  hint_id = 0l;
  select_formula_id_list = [];
  roll_formula_count = 0l;
  can_roll = false;
  roll_formula_max_count = 0l;
  roll_formula_free_count = 0l;
}

type dooghjmkiea_mutable = {
  mutable comnknfemfn : int32;
  mutable nmjpafphfam : int32 list;
}

let default_dooghjmkiea_mutable () : dooghjmkiea_mutable = {
  comnknfemfn = 0l;
  nmjpafphfam = [];
}

type pgpcmncmpin_mutable = {
  mutable hfdfkfjfdbb : rogue_formula_select_info option;
}

let default_pgpcmncmpin_mutable () : pgpcmncmpin_mutable = {
  hfdfkfjfdbb = None;
}

type eecmgimpdba_mutable = {
  mutable alalgchdbdp : rogue_common_buff_select_info option;
  mutable khfkakikamk : jgloggkpeip option;
  mutable oigahiohcch : mmgfijkgejd option;
  mutable okjbmkmmcej : lhjijndbjll option;
  mutable fndnbjlkdon : ldklmcljplk option;
  mutable hnokaicpikf : blplkibhiok option;
  mutable hcjcjnogaia : gbhdggdnlon option;
  mutable lejeajjleoh : bbdkccjfpbe option;
  mutable gkjfkoimngd : mgpnfkhlcpi option;
  mutable agdfeodfcid : ojnhhgmefgn option;
  mutable khjkncfhbgm : ddbdnlhnole option;
  mutable kckdiphlhfm : jlaoekngjoc option;
  mutable gcflbbikckf : lnedlmmamac option;
  mutable hfdfkfjfdbb : rogue_formula_select_info option;
  mutable jkgbadmlbcf : dooghjmkiea option;
  mutable bmphbiefmbf : pgpcmncmpin option;
}

let default_eecmgimpdba_mutable () : eecmgimpdba_mutable = {
  alalgchdbdp = None;
  khfkakikamk = None;
  oigahiohcch = None;
  okjbmkmmcej = None;
  fndnbjlkdon = None;
  hnokaicpikf = None;
  hcjcjnogaia = None;
  lejeajjleoh = None;
  gkjfkoimngd = None;
  agdfeodfcid = None;
  khjkncfhbgm = None;
  kckdiphlhfm = None;
  gcflbbikckf = None;
  hfdfkfjfdbb = None;
  jkgbadmlbcf = None;
  bmphbiefmbf = None;
}

type blhhnmhcodp_mutable = {
  mutable ocnjbebhbgo : int32;
  mutable mkgoabedjeh : eecmgimpdba option;
}

let default_blhhnmhcodp_mutable () : blhhnmhcodp_mutable = {
  ocnjbebhbgo = 0l;
  mkgoabedjeh = None;
}

type dkmldddplbi_mutable = {
  mutable fdfgpknlkag : int32 list;
  mutable pdklekppbkf : int32;
  mutable gjdghpkgkga : bool;
  mutable hholaeabopa : bool;
  mutable jgiplhnepil : int32 list;
  mutable jokigggoefl : int32;
  mutable khbgofeemkc : int32;
  mutable nfdcfmgbflc : int32 list;
}

let default_dkmldddplbi_mutable () : dkmldddplbi_mutable = {
  fdfgpknlkag = [];
  pdklekppbkf = 0l;
  gjdghpkgkga = false;
  hholaeabopa = false;
  jgiplhnepil = [];
  jokigggoefl = 0l;
  khbgofeemkc = 0l;
  nfdcfmgbflc = [];
}

type eijagapkfad_mutable = {
  mutable buff_list : mnicidbdjfi list;
}

let default_eijagapkfad_mutable () : eijagapkfad_mutable = {
  buff_list = [];
}

type oobhdlegikm_mutable = {
  mutable fanjaobchcg : eijagapkfad option;
}

let default_oobhdlegikm_mutable () : oobhdlegikm_mutable = {
  fanjaobchcg = None;
}

type djpaibjmmoe_mutable = {
  mutable edcaibmdknh : (int32 * int32) list;
  mutable ichkjnfaacl : int32;
  mutable fomcmdmpdcg : int32;
  mutable ekieijdbdhm : int32;
}

let default_djpaibjmmoe_mutable () : djpaibjmmoe_mutable = {
  edcaibmdknh = [];
  ichkjnfaacl = 0l;
  fomcmdmpdcg = 0l;
  ekieijdbdhm = 0l;
}

type hpphifdfjjj_mutable = {
  mutable pcpkkbfpbeb : djpaibjmmoe list;
}

let default_hpphifdfjjj_mutable () : hpphifdfjjj_mutable = {
  pcpkkbfpbeb = [];
}

type cgcbkhnbohm_mutable = {
  mutable gkfjbgdelik : hpphifdfjjj option;
}

let default_cgcbkhnbohm_mutable () : cgcbkhnbohm_mutable = {
  gkfjbgdelik = None;
}

type cllnjecndkl_mutable = {
  mutable phfgnlopnbm : (int32 * int32) list;
}

let default_cllnjecndkl_mutable () : cllnjecndkl_mutable = {
  phfgnlopnbm = [];
}

type fpilmpnpiel_mutable = {
  mutable agndiegkeih : int32;
  mutable jjfopmclfgp : bakpidleifi option;
  mutable onlljjegjdc : int32;
}

let default_fpilmpnpiel_mutable () : fpilmpnpiel_mutable = {
  agndiegkeih = 0l;
  jjfopmclfgp = None;
  onlljjegjdc = 0l;
}

type eamfankbgkd_mutable = {
  mutable ikddpmdgcaj : int32 list;
}

let default_eamfankbgkd_mutable () : eamfankbgkd_mutable = {
  ikddpmdgcaj = [];
}

type jlgejhomcin_mutable = {
  mutable pfmlckgckob : int32;
  mutable fdjjjhbladf : int32;
}

let default_jlgejhomcin_mutable () : jlgejhomcin_mutable = {
  pfmlckgckob = 0l;
  fdjjjhbladf = 0l;
}

type iejadeeklgn_mutable = {
  mutable hhcboafecgp : jlgejhomcin list;
  mutable jfacjfdkeio : bool;
  mutable bgecmdbfigi : int32;
}

let default_iejadeeklgn_mutable () : iejadeeklgn_mutable = {
  hhcboafecgp = [];
  jfacjfdkeio = false;
  bgecmdbfigi = 0l;
}

type pmdmaockcjp_mutable = {
  mutable amiiemieofe : (int32 * int32) list;
}

let default_pmdmaockcjp_mutable () : pmdmaockcjp_mutable = {
  amiiemieofe = [];
}

type hhddmdcflml_mutable = {
  mutable joogimckeph : iejadeeklgn list;
  mutable haggkfjeckg : pmdmaockcjp option;
}

let default_hhddmdcflml_mutable () : hhddmdcflml_mutable = {
  joogimckeph = [];
  haggkfjeckg = None;
}

type mbokaahegfk_mutable = {
  mutable diclgegabnh : (int32 * bool) list;
}

let default_mbokaahegfk_mutable () : mbokaahegfk_mutable = {
  diclgegabnh = [];
}

type dmdkacfejli_mutable = {
  mutable avatar_id_list : int32 list;
  mutable joipnmmehbm : item_cost_data option;
}

let default_dmdkacfejli_mutable () : dmdkacfejli_mutable = {
  avatar_id_list = [];
  joipnmmehbm = None;
}

type cbgphimaond_mutable = {
  mutable pogejanpebj : oobhdlegikm option;
  mutable pmoenkofnla : cgcbkhnbohm option;
  mutable oachfpajdbo : cllnjecndkl option;
  mutable kjicoehehhk : fpilmpnpiel option;
  mutable gjbcapfdgka : eamfankbgkd option;
  mutable kiomcdghhlo : hhddmdcflml option;
  mutable aggmbfmaepl : mbokaahegfk option;
  mutable nnibggkcbdj : dmdkacfejli option;
}

let default_cbgphimaond_mutable () : cbgphimaond_mutable = {
  pogejanpebj = None;
  pmoenkofnla = None;
  oachfpajdbo = None;
  kjicoehehhk = None;
  gjbcapfdgka = None;
  kiomcdghhlo = None;
  aggmbfmaepl = None;
  nnibggkcbdj = None;
}

type pdoifoocoll_mutable = {
  mutable mdnnnihndjk : int32;
}

let default_pdoifoocoll_mutable () : pdoifoocoll_mutable = {
  mdnnnihndjk = 0l;
}

type glbffhmcbkd_mutable = {
  mutable ljfkbkphogc : int32;
  mutable echifpahiec : int32;
  mutable njfgdmkikpb : int32;
  mutable ipoaoopkgla : int32;
}

let default_glbffhmcbkd_mutable () : glbffhmcbkd_mutable = {
  ljfkbkphogc = 0l;
  echifpahiec = 0l;
  njfgdmkikpb = 0l;
  ipoaoopkgla = 0l;
}

type jcldbblbapn_mutable = {
  mutable ehkdpkipimp : jkggceplagl option;
  mutable lfleifodebe : blhhnmhcodp option;
  mutable ekglbfofkkd : cndojeanndh option;
  mutable nnibggkcbdj : ccohodejlfe option;
  mutable finbdgjedjo : dkmldddplbi option;
  mutable fhpollcfknc : int32;
  mutable hifokbodgbe : cbgphimaond list;
  mutable lickecpakcj : bincokigfgm option;
  mutable gjbcapfdgka : ahdfkbajdlh option;
  mutable pmoenkofnla : cgcbkhnbohm option;
  mutable pogejanpebj : oobhdlegikm option;
  mutable dgohjiekiai : pdoifoocoll option;
  mutable kjicoehehhk : lhakogbpaen option;
  mutable ocjhnoaacgc : glbffhmcbkd option;
  mutable emmkiajfeeh : jhogcidfaoc option;
}

let default_jcldbblbapn_mutable () : jcldbblbapn_mutable = {
  ehkdpkipimp = None;
  lfleifodebe = None;
  ekglbfofkkd = None;
  nnibggkcbdj = None;
  finbdgjedjo = None;
  fhpollcfknc = 0l;
  hifokbodgbe = [];
  lickecpakcj = None;
  gjbcapfdgka = None;
  pmoenkofnla = None;
  pogejanpebj = None;
  dgohjiekiai = None;
  kjicoehehhk = None;
  ocjhnoaacgc = None;
  emmkiajfeeh = None;
}

type jjablbdmgfj_mutable = {
  mutable fbgcbokaopf : cieanjnnbbg;
  mutable pefldkdahmf : int32 list;
  mutable kcmmhoijgbh : dcbalomaani list;
  mutable dgpfcmkpkii : (int32 * bool) list;
}

let default_jjablbdmgfj_mutable () : jjablbdmgfj_mutable = {
  fbgcbokaopf = default_cieanjnnbbg ();
  pefldkdahmf = [];
  kcmmhoijgbh = [];
  dgpfcmkpkii = [];
}

type dbecpakjhjj_mutable = {
  mutable bimildojagm : int32 list;
}

let default_dbecpakjhjj_mutable () : dbecpakjhjj_mutable = {
  bimildojagm = [];
}

type rogue_unlock_progress_mutable = {
  mutable unlock_id : int32;
  mutable progress : int32;
  mutable finish : bool;
}

let default_rogue_unlock_progress_mutable () : rogue_unlock_progress_mutable = {
  unlock_id = 0l;
  progress = 0l;
  finish = false;
}

type johbdbffgje_mutable = {
  mutable happnefcgoc : rogue_unlock_progress list;
  mutable hehehnicpjn : int32;
  mutable status : oimmmlnoicd;
}

let default_johbdbffgje_mutable () : johbdbffgje_mutable = {
  happnefcgoc = [];
  hehehnicpjn = 0l;
  status = default_oimmmlnoicd ();
}

type lljpmigaffg_mutable = {
  mutable kdfddhcicoa : johbdbffgje list;
}

let default_lljpmigaffg_mutable () : lljpmigaffg_mutable = {
  kdfddhcicoa = [];
}

type mpjedkpbkbi_mutable = {
  mutable mdnnnihndjk : int32;
  mutable fnbokobiimm : lljpmigaffg option;
}

let default_mpjedkpbkbi_mutable () : mpjedkpbkbi_mutable = {
  mdnnnihndjk = 0l;
  fnbokobiimm = None;
}

type keljbjcgfja_mutable = {
  mutable nbbglnjencp : jjablbdmgfj option;
  mutable dgohjiekiai : pdoifoocoll option;
  mutable gjbcapfdgka : dbecpakjhjj option;
  mutable pcpganjlmml : int32 list;
  mutable meoekcpafch : int32 list;
  mutable pncgddoigad : lafgnipaikl option;
  mutable bbanknacajb : mpjedkpbkbi option;
}

let default_keljbjcgfja_mutable () : keljbjcgfja_mutable = {
  nbbglnjencp = None;
  dgohjiekiai = None;
  gjbcapfdgka = None;
  pcpganjlmml = [];
  meoekcpafch = [];
  pncgddoigad = None;
  bbanknacajb = None;
}

type ffadoeiaejd_mutable = {
  mutable hifokbodgbe : cbgphimaond list;
  mutable fhpollcfknc : int32;
}

let default_ffadoeiaejd_mutable () : ffadoeiaejd_mutable = {
  hifokbodgbe = [];
  fhpollcfknc = 0l;
}

type mlgkofmempm_mutable = {
  mutable nbbglnjencp : jjablbdmgfj option;
  mutable pncgddoigad : lafgnipaikl option;
  mutable meoekcpafch : int32 list;
  mutable bbanknacajb : mpjedkpbkbi option;
  mutable pcpganjlmml : int32 list;
  mutable gjbcapfdgka : dbecpakjhjj option;
}

let default_mlgkofmempm_mutable () : mlgkofmempm_mutable = {
  nbbglnjencp = None;
  pncgddoigad = None;
  meoekcpafch = [];
  bbanknacajb = None;
  pcpganjlmml = [];
  gjbcapfdgka = None;
}

type kgcppamgheh_mutable = {
  mutable kahhjlklcjl : int32;
  mutable fpjdkccalmk : int32;
  mutable hdnieedkagk : bool;
  mutable akigkkfhhei : int32;
  mutable kbofiolbnan : int32;
  mutable pogejanpebj : eijagapkfad option;
  mutable fhpollcfknc : int32;
  mutable bjhddalojnh : int32;
  mutable cblhpijhdge : int32;
  mutable lpgaoolbbfm : int32;
  mutable finbdgjedjo : dkmldddplbi option;
  mutable ccfbdacgomf : item_list option;
  mutable cgcgiimcaaa : lineup_info option;
  mutable emkjkjbnelj : pkkjdbmkgck;
  mutable fealelmejhl : int32 list;
  mutable ilfkfbfheea : int32;
  mutable pmoenkofnla : hpphifdfjjj option;
  mutable khbgofeemkc : int32;
  mutable fpgaklkbimb : int32;
}

let default_kgcppamgheh_mutable () : kgcppamgheh_mutable = {
  kahhjlklcjl = 0l;
  fpjdkccalmk = 0l;
  hdnieedkagk = false;
  akigkkfhhei = 0l;
  kbofiolbnan = 0l;
  pogejanpebj = None;
  fhpollcfknc = 0l;
  bjhddalojnh = 0l;
  cblhpijhdge = 0l;
  lpgaoolbbfm = 0l;
  finbdgjedjo = None;
  ccfbdacgomf = None;
  cgcgiimcaaa = None;
  emkjkjbnelj = default_pkkjdbmkgck ();
  fealelmejhl = [];
  ilfkfbfheea = 0l;
  pmoenkofnla = None;
  khbgofeemkc = 0l;
  fpgaklkbimb = 0l;
}

type lepofdcgpgo_mutable = {
  mutable hdkkdjobple : fffkbmhfeed list;
  mutable moegphddhbf : int32;
}

let default_lepofdcgpgo_mutable () : lepofdcgpgo_mutable = {
  hdkkdjobple = [];
  moegphddhbf = 0l;
}

type nmkclmlbhgc_mutable = {
  mutable khbgofeemkc : int32;
  mutable ibcbbnibjai : int32;
}

let default_nmkclmlbhgc_mutable () : nmkclmlbhgc_mutable = {
  khbgofeemkc = 0l;
  ibcbbnibjai = 0l;
}

type ichpoajgklm_mutable = {
  mutable dajmkddckgh : int32;
  mutable ppahlalicma : int32;
}

let default_ichpoajgklm_mutable () : ichpoajgklm_mutable = {
  dajmkddckgh = 0l;
  ppahlalicma = 0l;
}

type gmakianogec_mutable = {
  mutable mmppaiggmon : keljbjcgfja option;
  mutable jpaolljmggn : jcldbblbapn option;
  mutable fecdamigijp : mlgkofmempm option;
  mutable retcode : int32;
  mutable iegpchobmgo : kgcppamgheh option;
  mutable gngfcddjjbi : ffadoeiaejd option;
}

let default_gmakianogec_mutable () : gmakianogec_mutable = {
  mmppaiggmon = None;
  jpaolljmggn = None;
  fecdamigijp = None;
  retcode = 0l;
  iegpchobmgo = None;
  gngfcddjjbi = None;
}

type fjkdmgaifpn_mutable = {
  mutable mnnlebgmeee : int32;
  mutable pbonhgdihdk : int32;
}

let default_fjkdmgaifpn_mutable () : fjkdmgaifpn_mutable = {
  mnnlebgmeee = 0l;
  pbonhgdihdk = 0l;
}

type goablpdaaph_mutable = {
  mutable retcode : int32;
  mutable jpaolljmggn : jcldbblbapn option;
  mutable akfdaaaiich : hefgcbjdeem option;
  mutable gngfcddjjbi : ffadoeiaejd option;
  mutable pbonhgdihdk : int32;
}

let default_goablpdaaph_mutable () : goablpdaaph_mutable = {
  retcode = 0l;
  jpaolljmggn = None;
  akfdaaaiich = None;
  gngfcddjjbi = None;
  pbonhgdihdk = 0l;
}

type obhcibfiedf_mutable = {
  mutable id : int32;
}

let default_obhcibfiedf_mutable () : obhcibfiedf_mutable = {
  id = 0l;
}

type lhhphednkmj_mutable = {
  mutable akfdaaaiich : hefgcbjdeem option;
  mutable gngfcddjjbi : ffadoeiaejd option;
  mutable jpaolljmggn : jcldbblbapn option;
  mutable retcode : int32;
  mutable id : int32;
}

let default_lhhphednkmj_mutable () : lhhphednkmj_mutable = {
  akfdaaaiich = None;
  gngfcddjjbi = None;
  jpaolljmggn = None;
  retcode = 0l;
  id = 0l;
}

type klajnbalbkc_mutable = {
  mutable kjicoehehhk : lhakogbpaen option;
  mutable fecdamigijp : mlgkofmempm option;
  mutable mmppaiggmon : keljbjcgfja option;
  mutable akfdaaaiich : hefgcbjdeem option;
  mutable retcode : int32;
}

let default_klajnbalbkc_mutable () : klajnbalbkc_mutable = {
  kjicoehehhk = None;
  fecdamigijp = None;
  mmppaiggmon = None;
  akfdaaaiich = None;
  retcode = 0l;
}

type hfcohkmgeml_mutable = {
  mutable iegpchobmgo : kgcppamgheh option;
  mutable kjicoehehhk : lhakogbpaen option;
  mutable retcode : int32;
  mutable mmppaiggmon : keljbjcgfja option;
  mutable fecdamigijp : mlgkofmempm option;
  mutable akfdaaaiich : hefgcbjdeem option;
}

let default_hfcohkmgeml_mutable () : hfcohkmgeml_mutable = {
  iegpchobmgo = None;
  kjicoehehhk = None;
  retcode = 0l;
  mmppaiggmon = None;
  fecdamigijp = None;
  akfdaaaiich = None;
}

type ckheiddckpi_mutable = {
  mutable eabjmdoajdk : int32 list;
  mutable bajeglndfpe : int32;
  mutable base_avatar_id_list : int32 list;
  mutable ddkgbmlkdkk : int32;
  mutable okhflbihfhm : int32 list;
  mutable oocjacfoofn : int32 list;
  mutable id : int32;
}

let default_ckheiddckpi_mutable () : ckheiddckpi_mutable = {
  eabjmdoajdk = [];
  bajeglndfpe = 0l;
  base_avatar_id_list = [];
  ddkgbmlkdkk = 0l;
  okhflbihfhm = [];
  oocjacfoofn = [];
  id = 0l;
}

type pljckbilfkd_mutable = {
  mutable jpaolljmggn : jcldbblbapn option;
  mutable akfdaaaiich : hefgcbjdeem option;
  mutable retcode : int32;
  mutable scene : scene_info option;
  mutable lineup : lineup_info option;
  mutable nimbhcolfld : lepofdcgpgo option;
  mutable gngfcddjjbi : ffadoeiaejd option;
}

let default_pljckbilfkd_mutable () : pljckbilfkd_mutable = {
  jpaolljmggn = None;
  akfdaaaiich = None;
  retcode = 0l;
  scene = None;
  lineup = None;
  nimbhcolfld = None;
  gngfcddjjbi = None;
}

type ancdaaalmie_mutable = {
  mutable jpaolljmggn : lafgnipaikl option;
  mutable retcode : int32;
}

let default_ancdaaalmie_mutable () : ancdaaalmie_mutable = {
  jpaolljmggn = None;
  retcode = 0l;
}

type gjpomjhoidj_mutable = {
  mutable jpaolljmggn : gnhfgpglbae option;
}

let default_gjpomjhoidj_mutable () : gjpomjhoidj_mutable = {
  jpaolljmggn = None;
}

type ekocemphhkp_mutable = {
  mutable mnnlebgmeee : int32;
  mutable pbonhgdihdk : int32;
}

let default_ekocemphhkp_mutable () : ekocemphhkp_mutable = {
  mnnlebgmeee = 0l;
  pbonhgdihdk = 0l;
}

type cfmifanddad_mutable = {
  mutable pdpfcfglgco : item_list option;
}

let default_cfmifanddad_mutable () : cfmifanddad_mutable = {
  pdpfcfglgco = None;
}

type rogue_sync_context_board_event_mutable = {
  mutable modifier_effect_type : int32;
  mutable board_event_id : int32;
}

let default_rogue_sync_context_board_event_mutable () : rogue_sync_context_board_event_mutable = {
  modifier_effect_type = 0l;
  board_event_id = 0l;
}

type kiadjegoijf_mutable = {
  mutable bpiefglcbmf : cfmifanddad option;
  mutable gejnmghhlln : rogue_sync_context_board_event option;
}

let default_kiadjegoijf_mutable () : kiadjegoijf_mutable = {
  bpiefglcbmf = None;
  gejnmghhlln = None;
}

type dpfekedneha_mutable = {
  mutable mnnlebgmeee : int32;
  mutable pbonhgdihdk : int32;
  mutable pnchhcaekef : kiadjegoijf option;
  mutable retcode : int32;
}

let default_dpfekedneha_mutable () : dpfekedneha_mutable = {
  mnnlebgmeee = 0l;
  pbonhgdihdk = 0l;
  pnchhcaekef = None;
  retcode = 0l;
}

type ehnicpcloei_mutable = {
  mutable retcode : int32;
  mutable jpaolljmggn : nidknnfjgmp option;
}

let default_ehnicpcloei_mutable () : ehnicpcloei_mutable = {
  retcode = 0l;
  jpaolljmggn = None;
}

type jffoofblfgc_mutable = {
  mutable idllpehphcb : int32;
}

let default_jffoofblfgc_mutable () : jffoofblfgc_mutable = {
  idllpehphcb = 0l;
}

type efhfafjmnid_mutable = {
  mutable idllpehphcb : int32;
  mutable retcode : int32;
  mutable lddenbcdjcm : memfcodlioa option;
}

let default_efhfafjmnid_mutable () : efhfafjmnid_mutable = {
  idllpehphcb = 0l;
  retcode = 0l;
  lddenbcdjcm = None;
}

type hfemgjanplj_mutable = {
  mutable fealelmejhl : int32 list;
  mutable lickecpakcj : bincokigfgm option;
  mutable kahhjlklcjl : int32;
  mutable iegpchobmgo : kgcppamgheh option;
  mutable kdkdheomlmo : int32;
}

let default_hfemgjanplj_mutable () : hfemgjanplj_mutable = {
  fealelmejhl = [];
  lickecpakcj = None;
  kahhjlklcjl = 0l;
  iegpchobmgo = None;
  kdkdheomlmo = 0l;
}

type mbbeondnfcn_mutable = {
  mutable pkkfndimmio : int32;
  mutable lohpklihemj : item_cost_data option;
}

let default_mbbeondnfcn_mutable () : mbbeondnfcn_mutable = {
  pkkfndimmio = 0l;
  lohpklihemj = None;
}

type ddjfkekakdb_mutable = {
  mutable lgbagcehkme : mbbeondnfcn list;
}

let default_ddjfkekakdb_mutable () : ddjfkekakdb_mutable = {
  lgbagcehkme = [];
}

type blpodikpfic_mutable = {
  mutable retcode : int32;
  mutable jkdkdpoblli : ddjfkekakdb option;
}

let default_blpodikpfic_mutable () : blpodikpfic_mutable = {
  retcode = 0l;
  jkdkdpoblli = None;
}

type bjgiingohfc_mutable = {
  mutable paofpgekpfe : int32;
}

let default_bjgiingohfc_mutable () : bjgiingohfc_mutable = {
  paofpgekpfe = 0l;
}

type nidoadddcnf_mutable = {
  mutable retcode : int32;
  mutable boeaanepgoc : bool;
  mutable amikofgncbo : mnicidbdjfi option;
  mutable jkdkdpoblli : ddjfkekakdb option;
}

let default_nidoadddcnf_mutable () : nidoadddcnf_mutable = {
  retcode = 0l;
  boeaanepgoc = false;
  amikofgncbo = None;
  jkdkdpoblli = None;
}

type lkonjahngcd_mutable = {
  mutable base_avatar_id_list : int32 list;
  mutable prop_entity_id : int32;
}

let default_lkonjahngcd_mutable () : lkonjahngcd_mutable = {
  base_avatar_id_list = [];
  prop_entity_id = 0l;
}

type pabnmaidjgp_mutable = {
  mutable base_avatar_id_list : int32 list;
  mutable retcode : int32;
  mutable nnibggkcbdj : ccohodejlfe option;
}

let default_pabnmaidjgp_mutable () : pabnmaidjgp_mutable = {
  base_avatar_id_list = [];
  retcode = 0l;
  nnibggkcbdj = None;
}

type dieombfmkal_mutable = {
  mutable base_avatar_id_list : int32 list;
  mutable idcigdfjabi : int32;
}

let default_dieombfmkal_mutable () : dieombfmkal_mutable = {
  base_avatar_id_list = [];
  idcigdfjabi = 0l;
}

type epkaofjiehg_mutable = {
  mutable retcode : int32;
  mutable boijkbofiid : micfnaphmnb option;
  mutable base_avatar_id_list : int32 list;
}

let default_epkaofjiehg_mutable () : epkaofjiehg_mutable = {
  retcode = 0l;
  boijkbofiid = None;
  base_avatar_id_list = [];
}

type pihfnpbmhpi_mutable = {
  mutable boijkbofiid : micfnaphmnb option;
}

let default_pihfnpbmhpi_mutable () : pihfnpbmhpi_mutable = {
  boijkbofiid = None;
}

type molameggbnh_mutable = {
  mutable ocjhnoaacgc : glbffhmcbkd option;
}

let default_molameggbnh_mutable () : molameggbnh_mutable = {
  ocjhnoaacgc = None;
}

type hookmgahiji_mutable = {
  mutable emmkiajfeeh : jhogcidfaoc option;
}

let default_hookmgahiji_mutable () : hookmgahiji_mutable = {
  emmkiajfeeh = None;
}

type pcbionfiecl_mutable = {
  mutable mgdnainpahe : mmfnjjmglfd;
  mutable mknhgcengfk : kebkmnaehol;
}

let default_pcbionfiecl_mutable () : pcbionfiecl_mutable = {
  mgdnainpahe = default_mmfnjjmglfd ();
  mknhgcengfk = default_kebkmnaehol ();
}

type pkbldbjahoj_mutable = {
  mutable miheclofkjj : int32;
  mutable lahdpgmdloa : int32 list;
}

let default_pkbldbjahoj_mutable () : pkbldbjahoj_mutable = {
  miheclofkjj = 0l;
  lahdpgmdloa = [];
}

type nkgplpehibh_mutable = {
  mutable fkomandpfne : fdkhifelmcd option;
}

let default_nkgplpehibh_mutable () : nkgplpehibh_mutable = {
  fkomandpfne = None;
}

type aengjlbaelj_mutable = {
  mutable bajeglndfpe : int32;
  mutable onlljjegjdc : int32;
}

let default_aengjlbaelj_mutable () : aengjlbaelj_mutable = {
  bajeglndfpe = 0l;
  onlljjegjdc = 0l;
}

type ikehgclkdnj_mutable = {
  mutable gcgeikpacmj : int32;
}

let default_ikehgclkdnj_mutable () : ikehgclkdnj_mutable = {
  gcgeikpacmj = 0l;
}

type chess_rogue_skip_teaching_level_sc_rsp_mutable = {
  mutable retcode : int32;
  mutable skip_reward_list : item_list option;
}

let default_chess_rogue_skip_teaching_level_sc_rsp_mutable () : chess_rogue_skip_teaching_level_sc_rsp_mutable = {
  retcode = 0l;
  skip_reward_list = None;
}

type iegdfbolnpn_mutable = {
  mutable pcpganjlmml : int32 list;
}

let default_iegdfbolnpn_mutable () : iegdfbolnpn_mutable = {
  pcpganjlmml = [];
}

type kpfdplfbohc_mutable = {
  mutable prop_entity_id : int32;
}

let default_kpfdplfbohc_mutable () : kpfdplfbohc_mutable = {
  prop_entity_id = 0l;
}

type fagoefkbbcl_mutable = {
  mutable gngfcddjjbi : ffadoeiaejd option;
  mutable kbneaoehnob : jcldbblbapn option;
  mutable akfdaaaiich : hefgcbjdeem option;
  mutable nimbhcolfld : lepofdcgpgo option;
  mutable retcode : int32;
}

let default_fagoefkbbcl_mutable () : fagoefkbbcl_mutable = {
  gngfcddjjbi = None;
  kbneaoehnob = None;
  akfdaaaiich = None;
  nimbhcolfld = None;
  retcode = 0l;
}

type ebkgloopkbg_mutable = {
  mutable aoecepofobe : int32;
}

let default_ebkgloopkbg_mutable () : ebkgloopkbg_mutable = {
  aoecepofobe = 0l;
}

type onmlnleopmo_mutable = {
  mutable emmkiajfeeh : jhogcidfaoc option;
  mutable retcode : int32;
}

let default_onmlnleopmo_mutable () : onmlnleopmo_mutable = {
  emmkiajfeeh = None;
  retcode = 0l;
}

type chhnekmendf_mutable = {
  mutable aoecepofobe : int32;
}

let default_chhnekmendf_mutable () : chhnekmendf_mutable = {
  aoecepofobe = 0l;
}

type fdieigbnhnc_mutable = {
  mutable retcode : int32;
  mutable emmkiajfeeh : jhogcidfaoc option;
}

let default_fdieigbnhnc_mutable () : fdieigbnhnc_mutable = {
  retcode = 0l;
  emmkiajfeeh = None;
}

type leklclkagec_mutable = {
  mutable aoecepofobe : int32;
  mutable fnhpplpmjcn : int32;
}

let default_leklclkagec_mutable () : leklclkagec_mutable = {
  aoecepofobe = 0l;
  fnhpplpmjcn = 0l;
}

type djopeekdjlo_mutable = {
  mutable emmkiajfeeh : jhogcidfaoc option;
  mutable iphdoglidch : int32;
  mutable fnhpplpmjcn : int32;
  mutable retcode : int32;
}

let default_djopeekdjlo_mutable () : djopeekdjlo_mutable = {
  emmkiajfeeh = None;
  iphdoglidch = 0l;
  fnhpplpmjcn = 0l;
  retcode = 0l;
}

type ghkdffbobdn_mutable = {
  mutable ehdpkgafikp : item_list option;
  mutable emmkiajfeeh : jhogcidfaoc option;
  mutable retcode : int32;
}

let default_ghkdffbobdn_mutable () : ghkdffbobdn_mutable = {
  ehdpkgafikp = None;
  emmkiajfeeh = None;
  retcode = 0l;
}

type pgolkgmjajg_mutable = {
  mutable jpaolljmggn : jcldbblbapn option;
  mutable gngfcddjjbi : ffadoeiaejd option;
  mutable iegpchobmgo : kgcppamgheh option;
  mutable akfdaaaiich : hefgcbjdeem option;
  mutable retcode : int32;
  mutable lickecpakcj : bincokigfgm option;
  mutable kjicoehehhk : lhakogbpaen option;
  mutable fecdamigijp : mlgkofmempm option;
  mutable mmppaiggmon : keljbjcgfja option;
}

let default_pgolkgmjajg_mutable () : pgolkgmjajg_mutable = {
  jpaolljmggn = None;
  gngfcddjjbi = None;
  iegpchobmgo = None;
  akfdaaaiich = None;
  retcode = 0l;
  lickecpakcj = None;
  kjicoehehhk = None;
  fecdamigijp = None;
  mmppaiggmon = None;
}

type iiaonghgoeo_mutable = {
  mutable lickecpakcj : bincokigfgm option;
}

let default_iiaonghgoeo_mutable () : iiaonghgoeo_mutable = {
  lickecpakcj = None;
}

type bmpogaffecc_mutable = {
  mutable jdhhhgeinmj : int32;
  mutable mooblpaanag : int32;
  mutable jhbiihbamfp : fdkhifelmcd option;
}

let default_bmpogaffecc_mutable () : bmpogaffecc_mutable = {
  jdhhhgeinmj = 0l;
  mooblpaanag = 0l;
  jhbiihbamfp = None;
}

type fmmcjlgdhoc_mutable = {
  mutable hmkjakicjka : idlkgpjlfhc;
  mutable mgdnainpahe : alapdfpdlno;
  mutable miheclofkjj : int32;
  mutable hdkkdjobple : fffkbmhfeed list;
}

let default_fmmcjlgdhoc_mutable () : fmmcjlgdhoc_mutable = {
  hmkjakicjka = default_idlkgpjlfhc ();
  mgdnainpahe = default_alapdfpdlno ();
  miheclofkjj = 0l;
  hdkkdjobple = [];
}

type ibibbeddebh_mutable = {
  mutable gjbdmneacbj : int32;
  mutable fmjcephcaka : int32;
}

let default_ibibbeddebh_mutable () : ibibbeddebh_mutable = {
  gjbdmneacbj = 0l;
  fmjcephcaka = 0l;
}

type ehndihmpnan_mutable = {
  mutable ilfngpkdijj : nmkclmlbhgc list;
  mutable retcode : int32;
  mutable eimobfbmipk : ichpoajgklm list;
}

let default_ehndihmpnan_mutable () : ehndihmpnan_mutable = {
  ilfngpkdijj = [];
  retcode = 0l;
  eimobfbmipk = [];
}

type ajpjjijdnbp_mutable = {
  mutable nbgahcjbbao : int32;
  mutable cckegompfdi : int32;
  mutable pdklekppbkf : int32;
  mutable dajmkddckgh : int32;
}

let default_ajpjjijdnbp_mutable () : ajpjjijdnbp_mutable = {
  nbgahcjbbao = 0l;
  cckegompfdi = 0l;
  pdklekppbkf = 0l;
  dajmkddckgh = 0l;
}

type npdkkfojanm_mutable = {
  mutable pdklekppbkf : int32;
  mutable nbgahcjbbao : int32;
  mutable cckegompfdi : int32;
  mutable dajmkddckgh : int32;
  mutable retcode : int32;
}

let default_npdkkfojanm_mutable () : npdkkfojanm_mutable = {
  pdklekppbkf = 0l;
  nbgahcjbbao = 0l;
  cckegompfdi = 0l;
  dajmkddckgh = 0l;
  retcode = 0l;
}

type icleefeiefg_mutable = {
  mutable nbgahcjbbao : int32;
  mutable pdklekppbkf : int32;
  mutable dajmkddckgh : int32;
}

let default_icleefeiefg_mutable () : icleefeiefg_mutable = {
  nbgahcjbbao = 0l;
  pdklekppbkf = 0l;
  dajmkddckgh = 0l;
}

type nkhambafchc_mutable = {
  mutable nbgahcjbbao : int32;
  mutable khbgofeemkc : int32;
  mutable dajmkddckgh : int32;
  mutable retcode : int32;
  mutable pdklekppbkf : int32;
}

let default_nkhambafchc_mutable () : nkhambafchc_mutable = {
  nbgahcjbbao = 0l;
  khbgofeemkc = 0l;
  dajmkddckgh = 0l;
  retcode = 0l;
  pdklekppbkf = 0l;
}

type kagcmpmikjb_mutable = {
  mutable palokcoicgp : int32;
}

let default_kagcmpmikjb_mutable () : kagcmpmikjb_mutable = {
  palokcoicgp = 0l;
}

type ajkfhpgmhda_mutable = {
  mutable akfdaaaiich : hefgcbjdeem option;
  mutable retcode : int32;
}

let default_ajkfhpgmhda_mutable () : ajkfhpgmhda_mutable = {
  akfdaaaiich = None;
  retcode = 0l;
}

type elcidaalfbo_mutable = {
  mutable hgfnojflbcl : int32;
}

let default_elcidaalfbo_mutable () : elcidaalfbo_mutable = {
  hgfnojflbcl = 0l;
}

type ddofecncbfo_mutable = {
  mutable retcode : int32;
  mutable lpflcicnioa : (int32 * int32) list;
  mutable hgfnojflbcl : int32;
}

let default_ddofecncbfo_mutable () : ddofecncbfo_mutable = {
  retcode = 0l;
  lpflcicnioa = [];
  hgfnojflbcl = 0l;
}

type eanjmiidoga_mutable = {
  mutable ibcbbnibjai : int32;
  mutable khbgofeemkc : int32;
}

let default_eanjmiidoga_mutable () : eanjmiidoga_mutable = {
  ibcbbnibjai = 0l;
  khbgofeemkc = 0l;
}

type coemajoahgi_mutable = {
  mutable ehkdpkipimp : jkggceplagl option;
}

let default_coemajoahgi_mutable () : coemajoahgi_mutable = {
  ehkdpkipimp = None;
}

type dhlldhikfpo_mutable = {
  mutable khbgofeemkc : int32;
  mutable status : emeefgmahof;
}

let default_dhlldhikfpo_mutable () : dhlldhikfpo_mutable = {
  khbgofeemkc = 0l;
  status = default_emeefgmahof ();
}

type aegpheebldn_mutable = {
  mutable pdklekppbkf : int32;
}

let default_aegpheebldn_mutable () : aegpheebldn_mutable = {
  pdklekppbkf = 0l;
}

type ldckdflfhpa_mutable = {
  mutable retcode : int32;
  mutable eimobfbmipk : aegpheebldn list;
  mutable ilfngpkdijj : dhlldhikfpo list;
}

let default_ldckdflfhpa_mutable () : ldckdflfhpa_mutable = {
  retcode = 0l;
  eimobfbmipk = [];
  ilfngpkdijj = [];
}

type ifnibapmpae_mutable = {
  mutable pdklekppbkf : int32;
  mutable cckegompfdi : int32;
  mutable nbgahcjbbao : int32;
}

let default_ifnibapmpae_mutable () : ifnibapmpae_mutable = {
  pdklekppbkf = 0l;
  cckegompfdi = 0l;
  nbgahcjbbao = 0l;
}

type fgbhelkjiab_mutable = {
  mutable cckegompfdi : int32;
  mutable pdklekppbkf : int32;
  mutable retcode : int32;
  mutable nbgahcjbbao : int32;
}

let default_fgbhelkjiab_mutable () : fgbhelkjiab_mutable = {
  cckegompfdi = 0l;
  pdklekppbkf = 0l;
  retcode = 0l;
  nbgahcjbbao = 0l;
}

type dpglhbhphjh_mutable = {
  mutable nbgahcjbbao : int32;
  mutable pdklekppbkf : int32;
}

let default_dpglhbhphjh_mutable () : dpglhbhphjh_mutable = {
  nbgahcjbbao = 0l;
  pdklekppbkf = 0l;
}

type fenoahlblkf_mutable = {
  mutable pdklekppbkf : int32;
  mutable retcode : int32;
  mutable nbgahcjbbao : int32;
}

let default_fenoahlblkf_mutable () : fenoahlblkf_mutable = {
  pdklekppbkf = 0l;
  retcode = 0l;
  nbgahcjbbao = 0l;
}

type dnfopjcoagg_mutable = {
  mutable pdklekppbkf : int32;
}

let default_dnfopjcoagg_mutable () : dnfopjcoagg_mutable = {
  pdklekppbkf = 0l;
}

type faflfkhkkik_mutable = {
  mutable ilfngpkdijj : dhlldhikfpo list;
}

let default_faflfkhkkik_mutable () : faflfkhkkik_mutable = {
  ilfngpkdijj = [];
}

type lndljfdkjag_mutable = {
  mutable nbbglnjencp : dcbalomaani option;
}

let default_lndljfdkjag_mutable () : lndljfdkjag_mutable = {
  nbbglnjencp = None;
}

type ndghlaenmgh_mutable = {
  mutable nbbglnjencp : dcbalomaani option;
  mutable retcode : int32;
}

let default_ndghlaenmgh_mutable () : ndghlaenmgh_mutable = {
  nbbglnjencp = None;
  retcode = 0l;
}

type ldpnmbfakgo_mutable = {
  mutable najieibfdnb : jjablbdmgfj option;
}

let default_ldpnmbfakgo_mutable () : ldpnmbfakgo_mutable = {
  najieibfdnb = None;
}

type depkckidjjj_mutable = {
  mutable jcjnhohkpan : int32;
}

let default_depkckidjjj_mutable () : depkckidjjj_mutable = {
  jcjnhohkpan = 0l;
}

type aebddiinfcf_mutable = {
  mutable bbanknacajb : lljpmigaffg option;
  mutable retcode : int32;
  mutable mdnnnihndjk : int32;
}

let default_aebddiinfcf_mutable () : aebddiinfcf_mutable = {
  bbanknacajb = None;
  retcode = 0l;
  mdnnnihndjk = 0l;
}

type hlgbnfinpel_mutable = {
  mutable hehehnicpjn : int32;
}

let default_hlgbnfinpel_mutable () : hlgbnfinpel_mutable = {
  hehehnicpjn = 0l;
}

type gliplffjdbn_mutable = {
  mutable mdnnnihndjk : int32;
  mutable retcode : int32;
  mutable bbanknacajb : lljpmigaffg option;
}

let default_gliplffjdbn_mutable () : gliplffjdbn_mutable = {
  mdnnnihndjk = 0l;
  retcode = 0l;
  bbanknacajb = None;
}

type lflcalafnbo_mutable = {
  mutable ogkiomjegel : int32;
  mutable kadnckpogfc : int32 list;
}

let default_lflcalafnbo_mutable () : lflcalafnbo_mutable = {
  ogkiomjegel = 0l;
  kadnckpogfc = [];
}

type fafhmldeiem_mutable = {
  mutable progress : int32;
  mutable retcode : int32;
  mutable gegdnnbdlhe : int32;
  mutable gndjgaoeccp : int32;
  mutable bekholgcbpf : lflcalafnbo list;
  mutable kdfdefeppnh : int32 list;
}

let default_fafhmldeiem_mutable () : fafhmldeiem_mutable = {
  progress = 0l;
  retcode = 0l;
  gegdnnbdlhe = 0l;
  gndjgaoeccp = 0l;
  bekholgcbpf = [];
  kdfdefeppnh = [];
}

type lalaekmflhg_mutable = {
  mutable hehehnicpjn : int32;
}

let default_lalaekmflhg_mutable () : lalaekmflhg_mutable = {
  hehehnicpjn = 0l;
}

type efoabakdjig_mutable = {
  mutable retcode : int32;
  mutable hehehnicpjn : int32;
}

let default_efoabakdjig_mutable () : efoabakdjig_mutable = {
  retcode = 0l;
  hehehnicpjn = 0l;
}

type jpaeciapkbc_mutable = {
  mutable ogkiomjegel : int32;
  mutable panfmkbdjnp : int32 list;
}

let default_jpaeciapkbc_mutable () : jpaeciapkbc_mutable = {
  ogkiomjegel = 0l;
  panfmkbdjnp = [];
}

type ocencfaabof_mutable = {
  mutable ogkiomjegel : int32;
  mutable retcode : int32;
}

let default_ocencfaabof_mutable () : ocencfaabof_mutable = {
  ogkiomjegel = 0l;
  retcode = 0l;
}

type cokgknggkaa_mutable = {
  mutable jmfddoomihg : int32;
  mutable pkeohpicjkc : int32;
  mutable ihchbmafcen : int32 list;
}

let default_cokgknggkaa_mutable () : cokgknggkaa_mutable = {
  jmfddoomihg = 0l;
  pkeohpicjkc = 0l;
  ihchbmafcen = [];
}

type kpemelkknjb_mutable = {
  mutable ihchbmafcen : int32 list;
  mutable phklikjmgkn : cokgknggkaa list;
}

let default_kpemelkknjb_mutable () : kpemelkknjb_mutable = {
  ihchbmafcen = [];
  phklikjmgkn = [];
}

type lpcmempnhjk_mutable = {
  mutable gbbbdblomio : kpemelkknjb option;
}

let default_lpcmempnhjk_mutable () : lpcmempnhjk_mutable = {
  gbbbdblomio = None;
}

type golmjbpcaga_mutable = {
  mutable gbbbdblomio : kpemelkknjb option;
}

let default_golmjbpcaga_mutable () : golmjbpcaga_mutable = {
  gbbbdblomio = None;
}

type jjoghfefnmh_mutable = {
  mutable gbbbdblomio : kpemelkknjb option;
}

let default_jjoghfefnmh_mutable () : jjoghfefnmh_mutable = {
  gbbbdblomio = None;
}

type mefjdljoeaf_mutable = {
  mutable gbbbdblomio : kpemelkknjb option;
  mutable ohmaodidhnl : int32;
  mutable pgbbcblgkkh : int32;
}

let default_mefjdljoeaf_mutable () : mefjdljoeaf_mutable = {
  gbbbdblomio = None;
  ohmaodidhnl = 0l;
  pgbbcblgkkh = 0l;
}

type hmiiahhlhco_mutable = {
  mutable gbbbdblomio : kpemelkknjb option;
}

let default_hmiiahhlhco_mutable () : hmiiahhlhco_mutable = {
  gbbbdblomio = None;
}

type pjbmmmepaci_mutable = {
  mutable fbmbjgbkokp : bool;
}

let default_pjbmmmepaci_mutable () : pjbmmmepaci_mutable = {
  fbmbjgbkokp = false;
}

type godnbimdidi_mutable = {
  mutable edpdfcplkpa : int32;
  mutable ilhjcnegkjf : unit;
  mutable bkfakhgfilo : lpcmempnhjk option;
  mutable pepfpijodhi : golmjbpcaga option;
  mutable bfbjbaghama : jjoghfefnmh option;
  mutable emmenkcdomi : mefjdljoeaf option;
  mutable mdimhompfcm : hmiiahhlhco option;
  mutable jghficgepaa : pjbmmmepaci option;
  mutable klkhknehfbg : bool;
}

let default_godnbimdidi_mutable () : godnbimdidi_mutable = {
  edpdfcplkpa = 0l;
  ilhjcnegkjf = ();
  bkfakhgfilo = None;
  pepfpijodhi = None;
  bfbjbaghama = None;
  emmenkcdomi = None;
  mdimhompfcm = None;
  jghficgepaa = None;
  klkhknehfbg = false;
}

type blmojdpmnjf_mutable = {
  mutable gaganbkanln : int32;
  mutable fciejeohcja : int32;
  mutable pbndpcofgla : int32;
}

let default_blmojdpmnjf_mutable () : blmojdpmnjf_mutable = {
  gaganbkanln = 0l;
  fciejeohcja = 0l;
  pbndpcofgla = 0l;
}

type lladomjnlko_mutable = {
  mutable pkkfndimmio : int32;
  mutable ijpcadfeknn : int32;
  mutable unique_id : int64;
}

let default_lladomjnlko_mutable () : lladomjnlko_mutable = {
  pkkfndimmio = 0l;
  ijpcadfeknn = 0l;
  unique_id = 0L;
}

type logafbjdpkc_mutable = {
  mutable buff_list : lladomjnlko list;
}

let default_logafbjdpkc_mutable () : logafbjdpkc_mutable = {
  buff_list = [];
}

type bpmoddlbhga_mutable = {
  mutable jlgjdhoibma : godnbimdidi option;
  mutable pogejanpebj : logafbjdpkc option;
  mutable bpnhlfahnkm : int32;
  mutable elnofkbfhea : string;
  mutable cdaemdonfaj : int32;
  mutable mhhndeiccmp : int32;
  mutable pmgcchiledo : int32 list;
  mutable ogkiomjegel : int32;
  mutable hnloeinfmcg : blmojdpmnjf option;
  mutable boibnciibil : int32;
  mutable cpkngiamnli : int32;
  mutable retcode : int32;
}

let default_bpmoddlbhga_mutable () : bpmoddlbhga_mutable = {
  jlgjdhoibma = None;
  pogejanpebj = None;
  bpnhlfahnkm = 0l;
  elnofkbfhea = "";
  cdaemdonfaj = 0l;
  mhhndeiccmp = 0l;
  pmgcchiledo = [];
  ogkiomjegel = 0l;
  hnloeinfmcg = None;
  boibnciibil = 0l;
  cpkngiamnli = 0l;
  retcode = 0l;
}

type giapdiikfmk_mutable = {
  mutable gbbbdblomio : kpemelkknjb option;
}

let default_giapdiikfmk_mutable () : giapdiikfmk_mutable = {
  gbbbdblomio = None;
}

type jlghaphnkch_mutable = {
  mutable mkdneojkaal : int32;
  mutable mmnebfbnoni : bool;
}

let default_jlghaphnkch_mutable () : jlghaphnkch_mutable = {
  mkdneojkaal = 0l;
  mmnebfbnoni = false;
}

type miepedklkmi_mutable = {
  mutable avatar_id_list : int32 list;
}

let default_miepedklkmi_mutable () : miepedklkmi_mutable = {
  avatar_id_list = [];
}

type dnbdlbcjbgg_mutable = {
  mutable ohmaodidhnl : int32;
  mutable gpanoppmekp : bool;
}

let default_dnbdlbcjbgg_mutable () : dnbdlbcjbgg_mutable = {
  ohmaodidhnl = 0l;
  gpanoppmekp = false;
}

type mpfbakaodom_mutable = {
  mutable mkdneojkaal : int32;
  mutable mmnebfbnoni : bool;
}

let default_mpfbakaodom_mutable () : mpfbakaodom_mutable = {
  mkdneojkaal = 0l;
  mmnebfbnoni = false;
}

type kcgbmdfclno_mutable = {
  mutable ogkiomjegel : int32;
  mutable edpdfcplkpa : int32;
  mutable dejnhinclci : unit;
  mutable eoecodhkjah : giapdiikfmk option;
  mutable gdgfpnoeajd : jlghaphnkch option;
  mutable emhomnipcon : miepedklkmi option;
  mutable lgkmmlmpdom : dnbdlbcjbgg option;
  mutable hnhkbenjmmb : mpfbakaodom option;
  mutable enofefmhaca : unit;
  mutable cdaemdonfaj : int32;
}

let default_kcgbmdfclno_mutable () : kcgbmdfclno_mutable = {
  ogkiomjegel = 0l;
  edpdfcplkpa = 0l;
  dejnhinclci = ();
  eoecodhkjah = None;
  gdgfpnoeajd = None;
  emhomnipcon = None;
  lgkmmlmpdom = None;
  hnhkbenjmmb = None;
  enofefmhaca = ();
  cdaemdonfaj = 0l;
}

type aaklaachmin_mutable = {
  mutable reward : item_list option;
  mutable acjjpgnpdii : bool;
  mutable ogkiomjegel : int32;
  mutable progress : int32;
  mutable mhhndeiccmp : int32;
  mutable jihjhonolea : bool;
  mutable cpkngiamnli : int32;
}

let default_aaklaachmin_mutable () : aaklaachmin_mutable = {
  reward = None;
  acjjpgnpdii = false;
  ogkiomjegel = 0l;
  progress = 0l;
  mhhndeiccmp = 0l;
  jihjhonolea = false;
  cpkngiamnli = 0l;
}

type gpgmjingckf_mutable = {
  mutable edpdfcplkpa : int32;
  mutable jecdljepbci : int32;
  mutable nhbkmmbehka : jfenpgffadc;
  mutable fndhpfbmefj : int32;
  mutable ibllilenejp : scene_battle_info option;
  mutable retcode : int32;
}

let default_gpgmjingckf_mutable () : gpgmjingckf_mutable = {
  edpdfcplkpa = 0l;
  jecdljepbci = 0l;
  nhbkmmbehka = default_jfenpgffadc ();
  fndhpfbmefj = 0l;
  ibllilenejp = None;
  retcode = 0l;
}

type edhecinachi_mutable = {
  mutable ejkepfpphed : bool;
  mutable ogkiomjegel : int32;
}

let default_edhecinachi_mutable () : edhecinachi_mutable = {
  ejkepfpphed = false;
  ogkiomjegel = 0l;
}

type kklhdojledj_mutable = {
  mutable retcode : int32;
}

let default_kklhdojledj_mutable () : kklhdojledj_mutable = {
  retcode = 0l;
}

type odojpidlebk_mutable = {
  mutable edpdfcplkpa : int32;
  mutable retcode : int32;
}

let default_odojpidlebk_mutable () : odojpidlebk_mutable = {
  edpdfcplkpa = 0l;
  retcode = 0l;
}

type ebipbjdklnc_mutable = {
  mutable ogkiomjegel : int32;
  mutable edpdfcplkpa : int32;
  mutable unique_id : int64;
}

let default_ebipbjdklnc_mutable () : ebipbjdklnc_mutable = {
  ogkiomjegel = 0l;
  edpdfcplkpa = 0l;
  unique_id = 0L;
}

type lhpnedjanoe_mutable = {
  mutable edpdfcplkpa : int32;
  mutable retcode : int32;
  mutable ogkiomjegel : int32;
  mutable pogejanpebj : logafbjdpkc option;
  mutable gbbbdblomio : kpemelkknjb option;
  mutable hnloeinfmcg : blmojdpmnjf option;
}

let default_lhpnedjanoe_mutable () : lhpnedjanoe_mutable = {
  edpdfcplkpa = 0l;
  retcode = 0l;
  ogkiomjegel = 0l;
  pogejanpebj = None;
  gbbbdblomio = None;
  hnloeinfmcg = None;
}

type opdhfiokgml_mutable = {
  mutable mjhepdejndc : aaklaachmin option;
}

let default_opdhfiokgml_mutable () : opdhfiokgml_mutable = {
  mjhepdejndc = None;
}

type jnmjmkmbnof_mutable = {
  mutable olfhccbiidg : int32;
  mutable hgjolgkaofj : int32;
}

let default_jnmjmkmbnof_mutable () : jnmjmkmbnof_mutable = {
  olfhccbiidg = 0l;
  hgjolgkaofj = 0l;
}

type golpjolbjjh_mutable = {
  mutable exp : int32;
  mutable level : int32;
  mutable hechfpdiado : int32;
  mutable rank : int32;
  mutable promotion : int32;
}

let default_golpjolbjjh_mutable () : golpjolbjjh_mutable = {
  exp = 0l;
  level = 0l;
  hechfpdiado = 0l;
  rank = 0l;
  promotion = 0l;
}

type bmmefhpfkof_mutable = {
  mutable level : int32;
  mutable main_affix_id : int32;
  mutable sub_affix_list : relic_affix list;
  mutable exp : int32;
  mutable hechfpdiado : int32;
}

let default_bmmefhpfkof_mutable () : bmmefhpfkof_mutable = {
  level = 0l;
  main_affix_id = 0l;
  sub_affix_list = [];
  exp = 0l;
  hechfpdiado = 0l;
}

type echcjdnihko_mutable = {
  mutable lpkpmmpdaho : jnmjmkmbnof option;
  mutable kfnielbllhi : golpjolbjjh option;
  mutable bkpajknnngf : bmmefhpfkof option;
}

let default_echcjdnihko_mutable () : echcjdnihko_mutable = {
  lpkpmmpdaho = None;
  kfnielbllhi = None;
  bkpajknnngf = None;
}

type ffjpgmkmopp_mutable = {
  mutable pdpfcfglgco : echcjdnihko list;
}

let default_ffjpgmkmopp_mutable () : ffjpgmkmopp_mutable = {
  pdpfcfglgco = [];
}

type quaternion_mutable = {
  mutable x : float;
  mutable w : float;
  mutable z : float;
  mutable y : float;
}

let default_quaternion_mutable () : quaternion_mutable = {
  x = 0.;
  w = 0.;
  z = 0.;
  y = 0.;
}

type flffdckajej_mutable = {
  mutable avatar_type : avatar_type;
  mutable apkmboagcmi : int32;
  mutable id : int32;
}

let default_flffdckajej_mutable () : flffdckajej_mutable = {
  avatar_type = default_avatar_type ();
  apkmboagcmi = 0l;
  id = 0l;
}

type dolnimnfefl_mutable = {
  mutable status : dahcfllbegc;
  mutable nfcojigifbb : int32;
}

let default_dolnimnfefl_mutable () : dolnimnfefl_mutable = {
  status = default_dahcfllbegc ();
  nfcojigifbb = 0l;
}

type nokiblegoej_mutable = {
  mutable emgkdgbhaff : int32;
  mutable haeppfknbnm : dolnimnfefl list;
}

let default_nokiblegoej_mutable () : nokiblegoej_mutable = {
  emgkdgbhaff = 0l;
  haeppfknbnm = [];
}

type klpphbabnkg_mutable = {
  mutable retcode : int32;
  mutable data : nokiblegoej option;
}

let default_klpphbabnkg_mutable () : klpphbabnkg_mutable = {
  retcode = 0l;
  data = None;
}

type bdlnbolokbg_mutable = {
  mutable data : nokiblegoej option;
}

let default_bdlnbolokbg_mutable () : bdlnbolokbg_mutable = {
  data = None;
}

type phndakdnjde_mutable = {
  mutable nfcojigifbb : int32;
}

let default_phndakdnjde_mutable () : phndakdnjde_mutable = {
  nfcojigifbb = 0l;
}

type pllgamkcmjg_mutable = {
  mutable nfcojigifbb : int32;
  mutable retcode : int32;
}

let default_pllgamkcmjg_mutable () : pllgamkcmjg_mutable = {
  nfcojigifbb = 0l;
  retcode = 0l;
}

type icfpaflkela_mutable = {
  mutable cabgicnohpe : bool;
  mutable level : int32;
  mutable world_level : int32;
  mutable lbchikhgjeh : int32;
}

let default_icfpaflkela_mutable () : icfpaflkela_mutable = {
  cabgicnohpe = false;
  level = 0l;
  world_level = 0l;
  lbchikhgjeh = 0l;
}

type lgdgghnmhfn_mutable = {
  mutable level : int32;
}

let default_lgdgghnmhfn_mutable () : lgdgghnmhfn_mutable = {
  level = 0l;
}

type iicbhcbpphj_mutable = {
  mutable retcode : int32;
  mutable level : int32;
  mutable reward : item_list option;
}

let default_iicbhcbpphj_mutable () : iicbhcbpphj_mutable = {
  retcode = 0l;
  level = 0l;
  reward = None;
}

type jbjfkaalpjj_mutable = {
  mutable lbchikhgjeh : int32;
  mutable gkicdejmadl : icfpaflkela list;
  mutable retcode : int32;
  mutable jojnmdhhbgn : int32 list;
}

let default_jbjfkaalpjj_mutable () : jbjfkaalpjj_mutable = {
  lbchikhgjeh = 0l;
  gkicdejmadl = [];
  retcode = 0l;
  jojnmdhhbgn = [];
}

type gcgpdfjjnln_mutable = {
  mutable gkicdejmadl : icfpaflkela list;
  mutable lbchikhgjeh : int32;
  mutable jojnmdhhbgn : int32 list;
}

let default_gcgpdfjjnln_mutable () : gcgpdfjjnln_mutable = {
  gkicdejmadl = [];
  lbchikhgjeh = 0l;
  jojnmdhhbgn = [];
}

type iobaelpjman_mutable = {
  mutable reward : item_list option;
  mutable eoejiijmano : int32 list;
  mutable retcode : int32;
}

let default_iobaelpjman_mutable () : iobaelpjman_mutable = {
  reward = None;
  eoejiijmano = [];
  retcode = 0l;
}

type drink_maker_guest_mutable = {
  mutable faith : int32;
  mutable unlocked_favor_tag_list : int32 list;
  mutable guest_id : int32;
}

let default_drink_maker_guest_mutable () : drink_maker_guest_mutable = {
  faith = 0l;
  unlocked_favor_tag_list = [];
  guest_id = 0l;
}

type jiohpedmpgh_mutable = {
  mutable oppccjnkkol : int32;
  mutable fjaipfboaco : int32;
  mutable dfolakpjbng : int32;
  mutable imfflnefonh : int32 list;
  mutable dlboofmcbci : int32;
}

let default_jiohpedmpgh_mutable () : jiohpedmpgh_mutable = {
  oppccjnkkol = 0l;
  fjaipfboaco = 0l;
  dfolakpjbng = 0l;
  imfflnefonh = [];
  dlboofmcbci = 0l;
}

type cbojkhimobg_mutable = {
  mutable pjnlecpgpjn : int32;
  mutable boeaanepgoc : bool;
}

let default_cbojkhimobg_mutable () : cbojkhimobg_mutable = {
  pjnlecpgpjn = 0l;
  boeaanepgoc = false;
}

type kkgmfclponb_mutable = {
  mutable fkekjbialhi : int32;
  mutable exp : int32;
  mutable lcbphjfming : jiohpedmpgh option;
  mutable opekgfgamcn : int32;
  mutable kjgjcgihamm : int32 list;
  mutable lpdoanmocje : int32;
  mutable level : int32;
  mutable jlcgnooajli : drink_maker_guest list;
  mutable retcode : int32;
  mutable apnalmnfjed : int32;
}

let default_kkgmfclponb_mutable () : kkgmfclponb_mutable = {
  fkekjbialhi = 0l;
  exp = 0l;
  lcbphjfming = None;
  opekgfgamcn = 0l;
  kjgjcgihamm = [];
  lpdoanmocje = 0l;
  level = 0l;
  jlcgnooajli = [];
  retcode = 0l;
  apnalmnfjed = 0l;
}

type pgogcdpljoc_mutable = {
  mutable lpdoanmocje : int32;
  mutable okdlpmffmpd : jiohpedmpgh option;
}

let default_pgogcdpljoc_mutable () : pgogcdpljoc_mutable = {
  lpdoanmocje = 0l;
  okdlpmffmpd = None;
}

type make_drink_sc_rsp_mutable = {
  mutable next_chat_id : int32;
  mutable is_succ : bool;
  mutable retcode : int32;
}

let default_make_drink_sc_rsp_mutable () : make_drink_sc_rsp_mutable = {
  next_chat_id = 0l;
  is_succ = false;
  retcode = 0l;
}

type end_drink_maker_sequence_sc_rsp_mutable = {
  mutable guest : drink_maker_guest option;
  mutable next_sequence_id : int32;
  mutable request_list : cbojkhimobg list;
  mutable retcode : int32;
  mutable exp : int32;
  mutable level : int32;
  mutable tips : int32;
  mutable reward : item_list option;
}

let default_end_drink_maker_sequence_sc_rsp_mutable () : end_drink_maker_sequence_sc_rsp_mutable = {
  guest = None;
  next_sequence_id = 0l;
  request_list = [];
  retcode = 0l;
  exp = 0l;
  level = 0l;
  tips = 0l;
  reward = None;
}

type oglifdlpdgh_mutable = {
  mutable chbdfdolhoc : bool;
  mutable okdlpmffmpd : jiohpedmpgh option;
  mutable pjnlecpgpjn : int32;
}

let default_oglifdlpdgh_mutable () : oglifdlpdgh_mutable = {
  chbdfdolhoc = false;
  okdlpmffmpd = None;
  pjnlecpgpjn = 0l;
}

type make_mission_drink_sc_rsp_mutable = {
  mutable custom_drink : jiohpedmpgh option;
  mutable retcode : int32;
  mutable is_succ : bool;
  mutable is_save : bool;
}

let default_make_mission_drink_sc_rsp_mutable () : make_mission_drink_sc_rsp_mutable = {
  custom_drink = None;
  retcode = 0l;
  is_succ = false;
  is_save = false;
}

type mfflmglefbc_mutable = {
  mutable bfcfeikpjin : int32;
}

let default_mfflmglefbc_mutable () : mfflmglefbc_mutable = {
  bfcfeikpjin = 0l;
}

type cckofijijcb_mutable = {
  mutable dcpoeimegli : int32;
  mutable okdlpmffmpd : jiohpedmpgh option;
}

let default_cckofijijcb_mutable () : cckofijijcb_mutable = {
  dcpoeimegli = 0l;
  okdlpmffmpd = None;
}

type cedfilghpcm_mutable = {
  mutable dcpoeimegli : int32;
  mutable boeaanepgoc : bool;
  mutable reward : item_list option;
  mutable retcode : int32;
}

let default_cedfilghpcm_mutable () : cedfilghpcm_mutable = {
  dcpoeimegli = 0l;
  boeaanepgoc = false;
  reward = None;
  retcode = 0l;
}

type ploaocedhcc_mutable = {
  mutable apnalmnfjed : int32;
}

let default_ploaocedhcc_mutable () : ploaocedhcc_mutable = {
  apnalmnfjed = 0l;
}

type evolve_build_avatar_mutable = {
  mutable avatar_type : avatar_type;
  mutable damage : float;
  mutable avatar_id : int32;
}

let default_evolve_build_avatar_mutable () : evolve_build_avatar_mutable = {
  avatar_type = default_avatar_type ();
  damage = 0.;
  avatar_id = 0l;
}

type evolve_build_level_info_mutable = {
  mutable battle_target_list : battle_target list;
  mutable round_cnt : int32;
  mutable period_id_list : int32 list;
  mutable avatar_list : evolve_build_avatar list;
  mutable cur_game_exp : int32;
  mutable battle_info : evolve_build_battle_info option;
}

let default_evolve_build_level_info_mutable () : evolve_build_level_info_mutable = {
  battle_target_list = [];
  round_cnt = 0l;
  period_id_list = [];
  avatar_list = [];
  cur_game_exp = 0l;
  battle_info = None;
}

type iommdlefkle_mutable = {
  mutable lcmkbhbmdob : int32;
  mutable mmkkliclehe : int32;
  mutable gakmanenkmh : int32;
}

let default_iommdlefkle_mutable () : iommdlefkle_mutable = {
  lcmkbhbmdob = 0l;
  mmkkliclehe = 0l;
  gakmanenkmh = 0l;
}

type hggmojlcdff_mutable = {
  mutable level : int32;
  mutable emgbcbhhnnh : int32;
}

let default_hggmojlcdff_mutable () : hggmojlcdff_mutable = {
  level = 0l;
  emgbcbhhnnh = 0l;
}

type ndablbkbief_mutable = {
  mutable lcmkbhbmdob : int32;
  mutable lilifielcec : bool;
  mutable ekfjbcahhnf : bool;
  mutable kcafipgelge : int32 list;
}

let default_ndablbkbief_mutable () : ndablbkbief_mutable = {
  lcmkbhbmdob = 0l;
  lilifielcec = false;
  ekfjbcahhnf = false;
  kcafipgelge = [];
}

type ealaijgkglo_mutable = {
  mutable dbgaojmndmc : int32;
  mutable lcpjnpofamc : ndablbkbief list;
  mutable nhfefdfeeee : iommdlefkle list;
  mutable lpfgjabpheh : int32 list;
  mutable cnlcfhiilig : hggmojlcdff list;
  mutable nmnkfefpnbi : bool;
  mutable looknnadffi : bool;
  mutable lhhpfphakkf : int32;
  mutable exp : int32;
  mutable egkfpbokkfb : int32 list;
}

let default_ealaijgkglo_mutable () : ealaijgkglo_mutable = {
  dbgaojmndmc = 0l;
  lcpjnpofamc = [];
  nhfefdfeeee = [];
  lpfgjabpheh = [];
  cnlcfhiilig = [];
  nmnkfefpnbi = false;
  looknnadffi = false;
  lhhpfphakkf = 0l;
  exp = 0l;
  egkfpbokkfb = [];
}

type pmoicnodokk_mutable = {
  mutable lickecpakcj : evolve_build_level_info option;
  mutable retcode : int32;
  mutable gngfcddjjbi : ealaijgkglo option;
}

let default_pmoicnodokk_mutable () : pmoicnodokk_mutable = {
  lickecpakcj = None;
  retcode = 0l;
  gngfcddjjbi = None;
}

type ilbbkldbfpf_mutable = {
  mutable pmhjcfngckn : jjnjilkjjaf option;
  mutable avatar_list : evolve_build_avatar list;
  mutable lcmkbhbmdob : int32;
}

let default_ilbbkldbfpf_mutable () : ilbbkldbfpf_mutable = {
  pmhjcfngckn = None;
  avatar_list = [];
  lcmkbhbmdob = 0l;
}

type gageijjpjpi_mutable = {
  mutable lickecpakcj : evolve_build_level_info option;
  mutable retcode : int32;
  mutable cfehgidmfln : scene_battle_info option;
}

let default_gageijjpjpi_mutable () : gageijjpjpi_mutable = {
  lickecpakcj = None;
  retcode = 0l;
  cfehgidmfln = None;
}

type lmjpbnbkjmj_mutable = {
  mutable lcmkbhbmdob : int32;
}

let default_lmjpbnbkjmj_mutable () : lmjpbnbkjmj_mutable = {
  lcmkbhbmdob = 0l;
}

type kljhelgcfkg_mutable = {
  mutable cfehgidmfln : scene_battle_info option;
  mutable retcode : int32;
  mutable lickecpakcj : evolve_build_level_info option;
}

let default_kljhelgcfkg_mutable () : kljhelgcfkg_mutable = {
  cfehgidmfln = None;
  retcode = 0l;
  lickecpakcj = None;
}

type fddgkmbaojb_mutable = {
  mutable retcode : int32;
  mutable lickecpakcj : evolve_build_level_info option;
}

let default_fddgkmbaojb_mutable () : fddgkmbaojb_mutable = {
  retcode = 0l;
  lickecpakcj = None;
}

type nfjggilinle_mutable = {
  mutable retcode : int32;
  mutable lickecpakcj : evolve_build_level_info option;
}

let default_nfjggilinle_mutable () : nfjggilinle_mutable = {
  retcode = 0l;
  lickecpakcj = None;
}

type evolve_build_finish_sc_notify_mutable = {
  mutable battle_result_type : alcgocanpjh;
  mutable coin : int32;
  mutable level_info : evolve_build_level_info option;
  mutable level_id : int32;
  mutable score : int32;
  mutable wave : int32;
  mutable cur_period_type : int32;
  mutable exp : int32;
  mutable is_lose : bool;
}

let default_evolve_build_finish_sc_notify_mutable () : evolve_build_finish_sc_notify_mutable = {
  battle_result_type = default_alcgocanpjh ();
  coin = 0l;
  level_info = None;
  level_id = 0l;
  score = 0l;
  wave = 0l;
  cur_period_type = 0l;
  exp = 0l;
  is_lose = false;
}

type khkgdappaba_mutable = {
  mutable lcmkbhbmdob : int32;
}

let default_khkgdappaba_mutable () : khkgdappaba_mutable = {
  lcmkbhbmdob = 0l;
}

type ajejhajoaed_mutable = {
  mutable dofaojjibho : ndablbkbief option;
  mutable retcode : int32;
}

let default_ajejhajoaed_mutable () : ajejhajoaed_mutable = {
  dofaojjibho = None;
  retcode = 0l;
}

type ibmcoganhdo_mutable = {
  mutable level : int32;
  mutable emgbcbhhnnh : int32;
}

let default_ibmcoganhdo_mutable () : ibmcoganhdo_mutable = {
  level = 0l;
  emgbcbhhnnh = 0l;
}

type ncimlbjjfma_mutable = {
  mutable level : int32;
  mutable retcode : int32;
  mutable emgbcbhhnnh : int32;
}

let default_ncimlbjjfma_mutable () : ncimlbjjfma_mutable = {
  level = 0l;
  retcode = 0l;
  emgbcbhhnnh = 0l;
}

type ljeglglledc_mutable = {
  mutable emgbcbhhnnh : int32;
  mutable level : int32;
}

let default_ljeglglledc_mutable () : ljeglglledc_mutable = {
  emgbcbhhnnh = 0l;
  level = 0l;
}

type pijcaekfcmm_mutable = {
  mutable emgbcbhhnnh : int32;
  mutable retcode : int32;
  mutable level : int32;
}

let default_pijcaekfcmm_mutable () : pijcaekfcmm_mutable = {
  emgbcbhhnnh = 0l;
  retcode = 0l;
  level = 0l;
}

type okijlmlkdej_mutable = {
  mutable retcode : int32;
  mutable reward : item_list option;
  mutable lhhpfphakkf : int32;
}

let default_okijlmlkdej_mutable () : okijlmlkdej_mutable = {
  retcode = 0l;
  reward = None;
  lhhpfphakkf = 0l;
}

type hemcijemcam_mutable = {
  mutable dbgaojmndmc : int32;
  mutable retcode : int32;
  mutable cnlcfhiilig : hggmojlcdff list;
}

let default_hemcijemcam_mutable () : hemcijemcam_mutable = {
  dbgaojmndmc = 0l;
  retcode = 0l;
  cnlcfhiilig = [];
}

type nikfgadelbi_mutable = {
  mutable dbgaojmndmc : int32;
}

let default_nikfgadelbi_mutable () : nikfgadelbi_mutable = {
  dbgaojmndmc = 0l;
}

type glkeieeanpc_mutable = {
  mutable looknnadffi : bool;
  mutable nmnkfefpnbi : bool;
}

let default_glkeieeanpc_mutable () : glkeieeanpc_mutable = {
  looknnadffi = false;
  nmnkfefpnbi = false;
}

type bneeceoibjo_mutable = {
  mutable id : int32;
  mutable pklpfcaegpk : int32;
  mutable avatar_id_list : int32 list;
  mutable hclhbmghdfi : int64;
}

let default_bneeceoibjo_mutable () : bneeceoibjo_mutable = {
  id = 0l;
  pklpfcaegpk = 0l;
  avatar_id_list = [];
  hclhbmghdfi = 0L;
}

type mmioacmpkma_mutable = {
  mutable avatar_id_list : int32 list;
  mutable hclhbmghdfi : int64;
  mutable id : int32;
  mutable accgikfcocn : int32;
  mutable boijjckjecp : int32;
  mutable bakgnipojdh : int32;
}

let default_mmioacmpkma_mutable () : mmioacmpkma_mutable = {
  avatar_id_list = [];
  hclhbmghdfi = 0L;
  id = 0l;
  accgikfcocn = 0l;
  boijjckjecp = 0l;
  bakgnipojdh = 0l;
}

type ceiomlofmmi_mutable = {
  mutable acgclmagmjf : int32;
  mutable retcode : int32;
  mutable lglgoiogekc : mmioacmpkma list;
  mutable llfpgndaaem : bneeceoibjo list;
  mutable gkmmbllhhjc : int32 list;
  mutable dhdakbhkcoe : int32 list;
  mutable hfkegmkakah : int32 list;
}

let default_ceiomlofmmi_mutable () : ceiomlofmmi_mutable = {
  acgclmagmjf = 0l;
  retcode = 0l;
  lglgoiogekc = [];
  llfpgndaaem = [];
  gkmmbllhhjc = [];
  dhdakbhkcoe = [];
  hfkegmkakah = [];
}

type akkgnnilafl_mutable = {
  mutable ochjpiphefm : bneeceoibjo option;
}

let default_akkgnnilafl_mutable () : akkgnnilafl_mutable = {
  ochjpiphefm = None;
}

type flccbmnmhfj_mutable = {
  mutable ochjpiphefm : bneeceoibjo option;
  mutable retcode : int32;
}

let default_flccbmnmhfj_mutable () : flccbmnmhfj_mutable = {
  ochjpiphefm = None;
  retcode = 0l;
}

type gekhpfaofka_mutable = {
  mutable ikmghkjhncf : bneeceoibjo list;
}

let default_gekhpfaofka_mutable () : gekhpfaofka_mutable = {
  ikmghkjhncf = [];
}

type adncblilpnb_mutable = {
  mutable nppdmmdjfoe : bneeceoibjo list;
  mutable retcode : int32;
}

let default_adncblilpnb_mutable () : adncblilpnb_mutable = {
  nppdmmdjfoe = [];
  retcode = 0l;
}

type beamljlopld_mutable = {
  mutable hcecpndimnb : int32;
}

let default_beamljlopld_mutable () : beamljlopld_mutable = {
  hcecpndimnb = 0l;
}

type mmdgggchgkm_mutable = {
  mutable retcode : int32;
  mutable hcecpndimnb : int32;
}

let default_mmdgggchgkm_mutable () : mmdgggchgkm_mutable = {
  retcode = 0l;
  hcecpndimnb = 0l;
}

type ljfajdccblm_mutable = {
  mutable hcecpndimnb : int32;
}

let default_ljfajdccblm_mutable () : ljfajdccblm_mutable = {
  hcecpndimnb = 0l;
}

type fheopjpopld_mutable = {
  mutable hcecpndimnb : int32;
  mutable reward : item_list option;
  mutable retcode : int32;
  mutable jdlekhchhpl : item_list option;
}

let default_fheopjpopld_mutable () : fheopjpopld_mutable = {
  hcecpndimnb = 0l;
  reward = None;
  retcode = 0l;
  jdlekhchhpl = None;
}

type lbdcpnmdkio_mutable = {
  mutable mhmiemcbccl : int32 list;
}

let default_lbdcpnmdkio_mutable () : lbdcpnmdkio_mutable = {
  mhmiemcbccl = [];
}

type mhbblcflegm_mutable = {
  mutable hjblaeagbod : item_list list;
  mutable hgfffpjkodl : item_list list;
  mutable jdlekhchhpl : item_list option;
  mutable retcode : int32;
  mutable clkpoonplnp : int32 list;
  mutable reward : item_list option;
}

let default_mhbblcflegm_mutable () : mhbblcflegm_mutable = {
  hjblaeagbod = [];
  hgfffpjkodl = [];
  jdlekhchhpl = None;
  retcode = 0l;
  clkpoonplnp = [];
  reward = None;
}

type nomgloommie_mutable = {
  mutable hfkegmkakah : int32 list;
  mutable gkmmbllhhjc : int32 list;
  mutable acgclmagmjf : int32;
  mutable llfpgndaaem : bneeceoibjo list;
  mutable lglgoiogekc : mmioacmpkma list;
}

let default_nomgloommie_mutable () : nomgloommie_mutable = {
  hfkegmkakah = [];
  gkmmbllhhjc = [];
  acgclmagmjf = 0l;
  llfpgndaaem = [];
  lglgoiogekc = [];
}

type nmieefhdbfn_mutable = {
  mutable dkfmmcbfjca : mmioacmpkma option;
}

let default_nmieefhdbfn_mutable () : nmieefhdbfn_mutable = {
  dkfmmcbfjca = None;
}

type jjeebfmobdo_mutable = {
  mutable retcode : int32;
  mutable dkfmmcbfjca : mmioacmpkma option;
}

let default_jjeebfmobdo_mutable () : jjeebfmobdo_mutable = {
  retcode = 0l;
  dkfmmcbfjca = None;
}

type bpcmgbkmkci_mutable = {
  mutable iffgchlchlm : int32;
}

let default_bpcmgbkmkci_mutable () : bpcmgbkmkci_mutable = {
  iffgchlchlm = 0l;
}

type koepbfdgiap_mutable = {
  mutable retcode : int32;
  mutable iffgchlchlm : int32;
}

let default_koepbfdgiap_mutable () : koepbfdgiap_mutable = {
  retcode = 0l;
  iffgchlchlm = 0l;
}

type gckdmhcokmj_mutable = {
  mutable iffgchlchlm : int32;
}

let default_gckdmhcokmj_mutable () : gckdmhcokmj_mutable = {
  iffgchlchlm = 0l;
}

type hkjajbjddaa_mutable = {
  mutable lpgaoolbbfm : int32;
  mutable reward : item_list option;
  mutable retcode : int32;
  mutable jdlekhchhpl : item_list option;
  mutable iffgchlchlm : int32;
}

let default_hkjajbjddaa_mutable () : hkjajbjddaa_mutable = {
  lpgaoolbbfm = 0l;
  reward = None;
  retcode = 0l;
  jdlekhchhpl = None;
  iffgchlchlm = 0l;
}

type helmlfaekga_mutable = {
  mutable avatar_type : avatar_type;
  mutable avatar_id : int32;
}

let default_helmlfaekga_mutable () : helmlfaekga_mutable = {
  avatar_type = default_avatar_type ();
  avatar_id = 0l;
}

type oimcalddonh_mutable = {
  mutable avatar_list : helmlfaekga list;
  mutable buff_list : int32 list;
}

let default_oimcalddonh_mutable () : oimcalddonh_mutable = {
  avatar_list = [];
  buff_list = [];
}

type agmeeiifjma_mutable = {
  mutable jfpjojfjeck : int32 list;
  mutable gfjeahnelpp : int32 list;
  mutable jpgoledkkcl : int32;
  mutable cmoflobaiod : (int32 * oimcalddonh) list;
  mutable jafiagcefhl : int32 list;
  mutable cmmpeimdkdl : (int32 * int32) list;
  mutable ahbbinilgld : int32 list;
}

let default_agmeeiifjma_mutable () : agmeeiifjma_mutable = {
  jfpjojfjeck = [];
  gfjeahnelpp = [];
  jpgoledkkcl = 0l;
  cmoflobaiod = [];
  jafiagcefhl = [];
  cmmpeimdkdl = [];
  ahbbinilgld = [];
}

type beefgailkel_mutable = {
  mutable jpgoledkkcl : int32;
}

let default_beefgailkel_mutable () : beefgailkel_mutable = {
  jpgoledkkcl = 0l;
}

type kiepldjlmij_mutable = {
  mutable fijoabhcpgf : agmeeiifjma option;
  mutable retcode : int32;
}

let default_kiepldjlmij_mutable () : kiepldjlmij_mutable = {
  fijoabhcpgf = None;
  retcode = 0l;
}

type kondnnncfcl_mutable = {
  mutable fijoabhcpgf : agmeeiifjma option;
}

let default_kondnnncfcl_mutable () : kondnnncfcl_mutable = {
  fijoabhcpgf = None;
}

type pjhhffhpneh_mutable = {
  mutable battle_id : int32;
  mutable jpgoledkkcl : int32;
  mutable buff_list : int32 list;
  mutable avatar_list : helmlfaekga list;
}

let default_pjhhffhpneh_mutable () : pjhhffhpneh_mutable = {
  battle_id = 0l;
  jpgoledkkcl = 0l;
  buff_list = [];
  avatar_list = [];
}

type mofedkjbcai_mutable = {
  mutable retcode : int32;
  mutable ibllilenejp : scene_battle_info option;
  mutable jpgoledkkcl : int32;
  mutable battle_id : int32;
}

let default_mofedkjbcai_mutable () : mofedkjbcai_mutable = {
  retcode = 0l;
  ibllilenejp = None;
  jpgoledkkcl = 0l;
  battle_id = 0l;
}

type nbogodofokj_mutable = {
  mutable jpgoledkkcl : int32;
  mutable ojdjhonlcoc : int32;
  mutable battle_id : int32;
}

let default_nbogodofokj_mutable () : nbogodofokj_mutable = {
  jpgoledkkcl = 0l;
  ojdjhonlcoc = 0l;
  battle_id = 0l;
}

type dbphicgdjga_mutable = {
  mutable jccolmabopj : int32;
  mutable kpiihcgmagg : int32;
  mutable gjmokpigjag : fpofnnofeeh;
}

let default_dbphicgdjga_mutable () : dbphicgdjga_mutable = {
  jccolmabopj = 0l;
  kpiihcgmagg = 0l;
  gjmokpigjag = default_fpofnnofeeh ();
}

type idfkboehdbp_mutable = {
  mutable bdegbfalcni : dbphicgdjga list;
  mutable retcode : int32;
}

let default_idfkboehdbp_mutable () : idfkboehdbp_mutable = {
  bdegbfalcni = [];
  retcode = 0l;
}

type eookgadnnmb_mutable = {
  mutable jgaaeecdfal : fpofnnofeeh;
  mutable igfhcehhhoi : int32;
  mutable id : int32;
  mutable mphcmmfkpog : int32;
}

let default_eookgadnnmb_mutable () : eookgadnnmb_mutable = {
  jgaaeecdfal = default_fpofnnofeeh ();
  igfhcehhhoi = 0l;
  id = 0l;
  mphcmmfkpog = 0l;
}

type kmkibfaecip_mutable = {
  mutable id : int32;
  mutable avatar_list : lmamieaaodh list;
  mutable fndnmbljapc : int32;
  mutable oioglfmcbpe : int32;
}

let default_kmkibfaecip_mutable () : kmkibfaecip_mutable = {
  id = 0l;
  avatar_list = [];
  fndnmbljapc = 0l;
  oioglfmcbpe = 0l;
}

type lkfcopmhkci_mutable = {
  mutable ibllilenejp : scene_battle_info option;
  mutable retcode : int32;
  mutable id : int32;
}

let default_lkfcopmhkci_mutable () : lkfcopmhkci_mutable = {
  ibllilenejp = None;
  retcode = 0l;
  id = 0l;
}

type blpmdeopfmm_mutable = {
  mutable jdjmjenhhhl : string;
  mutable dbgjcbcfaec : int32;
  mutable gmcheopahkc : int32;
  mutable khegeddmhme : int32;
  mutable hdnnjibaggl : int64;
  mutable uid : int32;
  mutable hcgjomkbloh : int32;
  mutable pcmajmegbld : int32;
}

let default_blpmdeopfmm_mutable () : blpmdeopfmm_mutable = {
  jdjmjenhhhl = "";
  dbgjcbcfaec = 0l;
  gmcheopahkc = 0l;
  khegeddmhme = 0l;
  hdnnjibaggl = 0L;
  uid = 0l;
  hcgjomkbloh = 0l;
  pcmajmegbld = 0l;
}

type dioeanbidmp_mutable = {
  mutable kcicanjloba : bool;
  mutable mciakkehiaa : int64;
  mutable secret_key_seed : int64;
  mutable retcode : int32;
  mutable khegeddmhme : int32;
}

let default_dioeanbidmp_mutable () : dioeanbidmp_mutable = {
  kcicanjloba = false;
  mciakkehiaa = 0L;
  secret_key_seed = 0L;
  retcode = 0l;
  khegeddmhme = 0l;
}

type aabddaeaapg_mutable = {
  mutable mkgnjoaekdm : int32;
}

let default_aabddaeaapg_mutable () : aabddaeaapg_mutable = {
  mkgnjoaekdm = 0l;
}

type ikklnkijkho_mutable = {
  mutable kick_type : iafdbbcgofo;
}

let default_ikklnkijkho_mutable () : ikklnkijkho_mutable = {
  kick_type = default_iafdbbcgofo ();
}

type jnpmfcmbadi_mutable = {
  mutable client_time_ms : int64;
}

let default_jnpmfcmbadi_mutable () : jnpmfcmbadi_mutable = {
  client_time_ms = 0L;
}

type ggnmbncnfmg_mutable = {
  mutable server_time_ms : int64;
  mutable client_time_ms : int64;
  mutable retcode : int32;
}

let default_ggnmbncnfmg_mutable () : ggnmbncnfmg_mutable = {
  server_time_ms = 0L;
  client_time_ms = 0L;
  retcode = 0l;
}

type hhdbjheacpc_mutable = {
  mutable nchhhomjbdk : mfoaahgomic option;
}

let default_hhdbjheacpc_mutable () : hhdbjheacpc_mutable = {
  nchhhomjbdk = None;
}

type fight_activity_group_mutable = {
  mutable group_id : int32;
  mutable endless_max_wave : int32;
  mutable passed_max_difficulty_level : int32;
  mutable taken_difficulty_level_reward_list : int32 list;
}

let default_fight_activity_group_mutable () : fight_activity_group_mutable = {
  group_id = 0l;
  endless_max_wave = 0l;
  passed_max_difficulty_level = 0l;
  taken_difficulty_level_reward_list = [];
}

type hicipecahde_mutable = {
  mutable retcode : int32;
  mutable eibgbnaebod : (int32 * int32) list;
  mutable world_level : int32;
  mutable hnhhdaccogm : fight_activity_group list;
  mutable biokakgphop : bool;
}

let default_hicipecahde_mutable () : hicipecahde_mutable = {
  retcode = 0l;
  eibgbnaebod = [];
  world_level = 0l;
  hnhhdaccogm = [];
  biokakgphop = false;
}

type oiacopadblk_mutable = {
  mutable hnhhdaccogm : fight_activity_group list;
  mutable eibgbnaebod : (int32 * int32) list;
}

let default_oiacopadblk_mutable () : oiacopadblk_mutable = {
  hnhhdaccogm = [];
  eibgbnaebod = [];
}

type mooihlnlibk_mutable = {
  mutable avatar_id : int32;
  mutable avatar_type : avatar_type;
}

let default_mooihlnlibk_mutable () : mooihlnlibk_mutable = {
  avatar_id = 0l;
  avatar_type = default_avatar_type ();
}

type liaagefbjci_mutable = {
  mutable group_id : int32;
  mutable neakgefbcdd : mooihlnlibk list;
  mutable avatar_list : int32 list;
  mutable odgoeojelah : int32;
  mutable pdpfcfglgco : int32 list;
}

let default_liaagefbjci_mutable () : liaagefbjci_mutable = {
  group_id = 0l;
  neakgefbcdd = [];
  avatar_list = [];
  odgoeojelah = 0l;
  pdpfcfglgco = [];
}

type mfgbeapdfbh_mutable = {
  mutable group_id : int32;
  mutable retcode : int32;
  mutable ibllilenejp : scene_battle_info option;
  mutable odgoeojelah : int32;
}

let default_mfgbeapdfbh_mutable () : mfgbeapdfbh_mutable = {
  group_id = 0l;
  retcode = 0l;
  ibllilenejp = None;
  odgoeojelah = 0l;
}

type pmgpmgiieok_mutable = {
  mutable odgoeojelah : int32;
  mutable group_id : int32;
}

let default_pmgpmgiieok_mutable () : pmgpmgiieok_mutable = {
  odgoeojelah = 0l;
  group_id = 0l;
}

type effddphipan_mutable = {
  mutable reward : item_list option;
  mutable group_id : int32;
  mutable retcode : int32;
  mutable odgoeojelah : int32;
}

let default_effddphipan_mutable () : effddphipan_mutable = {
  reward = None;
  group_id = 0l;
  retcode = 0l;
  odgoeojelah = 0l;
}

type cllckidkjnp_mutable = {
  mutable moidpjnooeb : int32;
  mutable jccolmabopj : int32;
  mutable dcpoeimegli : int32;
  mutable gjmokpigjag : pakokghoagp;
}

let default_cllckidkjnp_mutable () : cllckidkjnp_mutable = {
  moidpjnooeb = 0l;
  jccolmabopj = 0l;
  dcpoeimegli = 0l;
  gjmokpigjag = default_pakokghoagp ();
}

type cooiplcedfe_mutable = {
  mutable retcode : int32;
  mutable dbgaojmndmc : int32;
  mutable cjbdijhedpo : cllckidkjnp list;
  mutable poiemdhbkoj : int32 list;
  mutable lpgaoolbbfm : int32;
}

let default_cooiplcedfe_mutable () : cooiplcedfe_mutable = {
  retcode = 0l;
  dbgaojmndmc = 0l;
  cjbdijhedpo = [];
  poiemdhbkoj = [];
  lpgaoolbbfm = 0l;
}

type afgllplofkl_mutable = {
  mutable avatar_type : avatar_type;
  mutable id : int32;
}

let default_afgllplofkl_mutable () : afgllplofkl_mutable = {
  avatar_type = default_avatar_type ();
  id = 0l;
}

type pijkiokgmep_mutable = {
  mutable poiemdhbkoj : int32 list;
  mutable id : int32;
  mutable avatar_list : afgllplofkl list;
  mutable fgmdoekgpee : ojikhafakmn;
}

let default_pijkiokgmep_mutable () : pijkiokgmep_mutable = {
  poiemdhbkoj = [];
  id = 0l;
  avatar_list = [];
  fgmdoekgpee = default_ojikhafakmn ();
}

type hpndidajned_mutable = {
  mutable fgmdoekgpee : ojikhafakmn;
  mutable retcode : int32;
  mutable id : int32;
  mutable ibllilenejp : scene_battle_info option;
}

let default_hpndidajned_mutable () : hpndidajned_mutable = {
  fgmdoekgpee = default_ojikhafakmn ();
  retcode = 0l;
  id = 0l;
  ibllilenejp = None;
}

type glhifmjnbka_mutable = {
  mutable lpgaoolbbfm : int32;
  mutable efadknhaeci : int32;
}

let default_glhifmjnbka_mutable () : glhifmjnbka_mutable = {
  lpgaoolbbfm = 0l;
  efadknhaeci = 0l;
}

type ajjjfojpcka_mutable = {
  mutable dginkacilnf : int32;
}

let default_ajjjfojpcka_mutable () : ajjjfojpcka_mutable = {
  dginkacilnf = 0l;
}

type hobfkjhmmhp_mutable = {
  mutable jccolmabopj : int32;
  mutable jahjmcacppe : pakokghoagp;
  mutable rank : pakokghoagp;
  mutable mphcmmfkpog : int32;
  mutable dcpoeimegli : int32;
}

let default_hobfkjhmmhp_mutable () : hobfkjhmmhp_mutable = {
  jccolmabopj = 0l;
  jahjmcacppe = default_pakokghoagp ();
  rank = default_pakokghoagp ();
  mphcmmfkpog = 0l;
  dcpoeimegli = 0l;
}

type egkofpmnofo_mutable = {
  mutable dbgaojmndmc : int32;
}

let default_egkofpmnofo_mutable () : egkofpmnofo_mutable = {
  dbgaojmndmc = 0l;
}

type abmnfjmimho_mutable = {
  mutable rank : int32;
  mutable mdnckipflpb : int32;
  mutable jbfkipajfnk : bool;
  mutable state : dblancjjchp;
  mutable lpgaoolbbfm : int32;
  mutable fdomecikbcg : int32;
  mutable oabkcckodej : int32;
  mutable hp : int32;
}

let default_abmnfjmimho_mutable () : abmnfjmimho_mutable = {
  rank = 0l;
  mdnckipflpb = 0l;
  jbfkipajfnk = false;
  state = default_dblancjjchp ();
  lpgaoolbbfm = 0l;
  fdomecikbcg = 0l;
  oabkcckodej = 0l;
  hp = 0l;
}

type eapbfaifbaf_mutable = {
  mutable lpgaoolbbfm : int32;
  mutable femmkmapjng : int32;
  mutable gfcihemdoga : int32;
  mutable jbehccpnhfh : int32 list;
  mutable jpbipampend : int32;
  mutable gnmmfgoppki : int32;
  mutable ofeiiikacfl : int32;
  mutable ggndffpkohn : int32;
  mutable bnageejckgi : obminlghola option;
  mutable gdkmhgekcen : dblancjjchp;
  mutable anecodblgcb : int32;
}

let default_eapbfaifbaf_mutable () : eapbfaifbaf_mutable = {
  lpgaoolbbfm = 0l;
  femmkmapjng = 0l;
  gfcihemdoga = 0l;
  jbehccpnhfh = [];
  jpbipampend = 0l;
  gnmmfgoppki = 0l;
  ofeiiikacfl = 0l;
  ggndffpkohn = 0l;
  bnageejckgi = None;
  gdkmhgekcen = default_dblancjjchp ();
  anecodblgcb = 0l;
}

type kgmgbcpimab_mutable = {
  mutable hgjiomhlaoh : abmnfjmimho list;
  mutable ioolphicdme : ignpcapkdfc;
  mutable dhkokjlaakb : int32 list;
  mutable djkomhjmehn : int32;
  mutable ajdemhpcfmo : int32;
  mutable lkgpmmckpbg : int64;
  mutable akondfcfgek : eapbfaifbaf option;
}

let default_kgmgbcpimab_mutable () : kgmgbcpimab_mutable = {
  hgjiomhlaoh = [];
  ioolphicdme = default_ignpcapkdfc ();
  dhkokjlaakb = [];
  djkomhjmehn = 0l;
  ajdemhpcfmo = 0l;
  lkgpmmckpbg = 0L;
  akondfcfgek = None;
}

type denoijbaaod_mutable = {
  mutable mebdjjncnfg : int32;
  mutable bmocnnjijdp : int32;
}

let default_denoijbaaod_mutable () : denoijbaaod_mutable = {
  mebdjjncnfg = 0l;
  bmocnnjijdp = 0l;
}

type oponljijhpa_mutable = {
  mutable pdamihhlilg : aipongicanm;
  mutable jejijnmpehb : eapbfaifbaf option;
}

let default_oponljijhpa_mutable () : oponljijhpa_mutable = {
  pdamihhlilg = default_aipongicanm ();
  jejijnmpehb = None;
}

type gmljciklojl_mutable = {
  mutable hckegfdpdml : int32;
}

let default_gmljciklojl_mutable () : gmljciklojl_mutable = {
  hckegfdpdml = 0l;
}

type ljnlgoohfil_mutable = {
  mutable pcmhnpbecpk : egokacjfaen list;
  mutable data : kgmgbcpimab option;
  mutable retcode : int32;
}

let default_ljnlgoohfil_mutable () : ljnlgoohfil_mutable = {
  pcmhnpbecpk = [];
  data = None;
  retcode = 0l;
}

type djdbegggakl_mutable = {
  mutable data : kgmgbcpimab option;
}

let default_djdbegggakl_mutable () : djdbegggakl_mutable = {
  data = None;
}

type iffhpbefklj_mutable = {
  mutable djipmgbjenc : kgmgbcpimab option;
}

let default_iffhpbefklj_mutable () : iffhpbefklj_mutable = {
  djipmgbjenc = None;
}

type egbdfmaknfn_mutable = {
  mutable pajkkaimfck : kgmgbcpimab option;
  mutable bhppkjnffbj : kgmgbcpimab option;
}

let default_egbdfmaknfn_mutable () : egbdfmaknfn_mutable = {
  pajkkaimfck = None;
  bhppkjnffbj = None;
}

type gjlkimboidh_mutable = {
  mutable cieklmgokpd : int32;
  mutable bbfkjghijja : denoijbaaod option;
  mutable gbglgkegimi : oponljijhpa list;
  mutable anajpndkpme : denoijbaaod option;
}

let default_gjlkimboidh_mutable () : gjlkimboidh_mutable = {
  cieklmgokpd = 0l;
  bbfkjghijja = None;
  gbglgkegimi = [];
  anajpndkpme = None;
}

type bcgbgdmfikl_mutable = {
  mutable mnnnjdmpfni : bool;
  mutable retcode : int32;
  mutable pondkmjicai : eapbfaifbaf option;
  mutable cieklmgokpd : int32;
}

let default_bcgbgdmfikl_mutable () : bcgbgdmfikl_mutable = {
  mnnnjdmpfni = false;
  retcode = 0l;
  pondkmjicai = None;
  cieklmgokpd = 0l;
}

type nbmkjlidaci_mutable = {
  mutable state : dblancjjchp;
  mutable hp : int32;
  mutable ajdemhpcfmo : int32;
  mutable oabkcckodej : int32;
  mutable lpgaoolbbfm : int32;
}

let default_nbmkjlidaci_mutable () : nbmkjlidaci_mutable = {
  state = default_dblancjjchp ();
  hp = 0l;
  ajdemhpcfmo = 0l;
  oabkcckodej = 0l;
  lpgaoolbbfm = 0l;
}

type bimejcgcjoo_mutable = {
  mutable choodflmenc : int32;
}

let default_bimejcgcjoo_mutable () : bimejcgcjoo_mutable = {
  choodflmenc = 0l;
}

type hmhegjjneid_mutable = {
  mutable choodflmenc : int32;
  mutable retcode : int32;
}

let default_hmhegjjneid_mutable () : hmhegjjneid_mutable = {
  choodflmenc = 0l;
  retcode = 0l;
}

type baebomlpnfe_mutable = {
  mutable fbncflddjfe : int32;
  mutable choodflmenc : int32;
}

let default_baebomlpnfe_mutable () : baebomlpnfe_mutable = {
  fbncflddjfe = 0l;
  choodflmenc = 0l;
}

type eldpaljlpmj_mutable = {
  mutable data : kgmgbcpimab option;
}

let default_eldpaljlpmj_mutable () : eldpaljlpmj_mutable = {
  data = None;
}

type assist_simple_info_mutable = {
  mutable pos : int32;
  mutable level : int32;
  mutable avatar_id : int32;
  mutable dressed_skin_id : int32;
}

let default_assist_simple_info_mutable () : assist_simple_info_mutable = {
  pos = 0l;
  level = 0l;
  avatar_id = 0l;
  dressed_skin_id = 0l;
}

type jdfpbmlnbjp_mutable = {
  mutable nknakibilel : int32;
  mutable nncdpbdokbj : int32;
  mutable group_id : int32;
  mutable jfekengnnak : int32;
}

let default_jdfpbmlnbjp_mutable () : jdfpbmlnbjp_mutable = {
  nknakibilel = 0l;
  nncdpbdokbj = 0l;
  group_id = 0l;
  jfekengnnak = 0l;
}

type oikoefdidbh_mutable = {
  mutable kdhdjdloanj : int32;
}

let default_oikoefdidbh_mutable () : oikoefdidbh_mutable = {
  kdhdjdloanj = 0l;
}

type alehlddneko_mutable = {
  mutable hdaomndcpma : int32 list;
  mutable kdhdjdloanj : int32;
}

let default_alehlddneko_mutable () : alehlddneko_mutable = {
  hdaomndcpma = [];
  kdhdjdloanj = 0l;
}

type bacbclhpcng_mutable = {
  mutable aiifbempaee : alehlddneko option;
}

let default_bacbclhpcng_mutable () : bacbclhpcng_mutable = {
  aiifbempaee = None;
}

type ljpfhbjfjcm_mutable = {
  mutable kdnemeljjld : oikoefdidbh option;
  mutable lbjomgooifa : bacbclhpcng option;
}

let default_ljpfhbjfjcm_mutable () : ljpfhbjfjcm_mutable = {
  kdnemeljjld = None;
  lbjomgooifa = None;
}

type cbnkemlblen_mutable = {
  mutable gapjajnhglk : okfachfdjei;
  mutable mbomdpgaieo : ljpfhbjfjcm option;
  mutable abefnadegid : jdfpbmlnbjp option;
}

let default_cbnkemlblen_mutable () : cbnkemlblen_mutable = {
  gapjajnhglk = default_okfachfdjei ();
  mbomdpgaieo = None;
  abefnadegid = None;
}

type pgpeepnclnj_mutable = {
  mutable alamlcfpglh : int32;
  mutable cpkikinabfj : string;
  mutable ppdkoalbecc : assist_simple_info list;
  mutable meijfajkmmp : string;
  mutable dbgjcbcfaec : platform_type;
  mutable fkgipkjgjob : int64;
  mutable bmfhibobmhp : int32;
  mutable uid : int32;
  mutable pghdpnfjbla : bool;
  mutable nickname : string;
  mutable helfdhoenhb : pjgopgmffha;
  mutable level : int32;
  mutable dmdcpeiefkg : string;
}

let default_pgpeepnclnj_mutable () : pgpeepnclnj_mutable = {
  alamlcfpglh = 0l;
  cpkikinabfj = "";
  ppdkoalbecc = [];
  meijfajkmmp = "";
  dbgjcbcfaec = default_platform_type ();
  fkgipkjgjob = 0L;
  bmfhibobmhp = 0l;
  uid = 0l;
  pghdpnfjbla = false;
  nickname = "";
  helfdhoenhb = default_pjgopgmffha ();
  level = 0l;
  dmdcpeiefkg = "";
}

type iflncpapggb_mutable = {
  mutable hechfpdiado : int32;
  mutable level : int32;
  mutable exp : int32;
  mutable promotion : int32;
  mutable rank : int32;
}

let default_iflncpapggb_mutable () : iflncpapggb_mutable = {
  hechfpdiado = 0l;
  level = 0l;
  exp = 0l;
  promotion = 0l;
  rank = 0l;
}

type ngdlamibchp_mutable = {
  mutable level : int32;
  mutable sub_affix_list : relic_affix list;
  mutable hechfpdiado : int32;
  mutable fgmdoekgpee : int32;
  mutable exp : int32;
  mutable main_affix_id : int32;
}

let default_ngdlamibchp_mutable () : ngdlamibchp_mutable = {
  level = 0l;
  sub_affix_list = [];
  hechfpdiado = 0l;
  fgmdoekgpee = 0l;
  exp = 0l;
  main_affix_id = 0l;
}

type display_avatar_detail_info_mutable = {
  mutable dressed_skin_id : int32;
  mutable avatar_id : int32;
  mutable equipment : iflncpapggb option;
  mutable pos : int32;
  mutable exp : int32;
  mutable rank : int32;
  mutable skilltree_list : avatar_skill_tree list;
  mutable level : int32;
  mutable promotion : int32;
  mutable relic_list : ngdlamibchp list;
}

let default_display_avatar_detail_info_mutable () : display_avatar_detail_info_mutable = {
  dressed_skin_id = 0l;
  avatar_id = 0l;
  equipment = None;
  pos = 0l;
  exp = 0l;
  rank = 0l;
  skilltree_list = [];
  level = 0l;
  promotion = 0l;
  relic_list = [];
}

type bnfohmhcfeh_mutable = {
  mutable lejlbfifpef : int32;
  mutable japackcehbb : int32;
  mutable apjnodeccnm : int32;
  mutable eedccmgbfah : int32;
  mutable gnnbopjfgma : int32;
}

let default_bnfohmhcfeh_mutable () : bnfohmhcfeh_mutable = {
  lejlbfifpef = 0l;
  japackcehbb = 0l;
  apjnodeccnm = 0l;
  eedccmgbfah = 0l;
  gnnbopjfgma = 0l;
}

type hcpeplljigk_mutable = {
  mutable kcpbmdfjgge : int32;
  mutable jhgeicgbakc : int32;
  mutable pfcjkljpfid : int32;
  mutable befjfnlleio : int32;
  mutable hciobbpgkbe : bnfohmhcfeh option;
  mutable inmbaeohokj : int32;
  mutable fdncldhjmjf : int32;
  mutable kmkabfpafnk : int32;
  mutable kpglihhnkac : int32;
}

let default_hcpeplljigk_mutable () : hcpeplljigk_mutable = {
  kcpbmdfjgge = 0l;
  jhgeicgbakc = 0l;
  pfcjkljpfid = 0l;
  befjfnlleio = 0l;
  hciobbpgkbe = None;
  inmbaeohokj = 0l;
  fdncldhjmjf = 0l;
  kmkabfpafnk = 0l;
  kpglihhnkac = 0l;
}

type diifjpbaoob_mutable = {
  mutable bkpaceckiia : bool;
  mutable jcnincccakl : bool;
  mutable ggodaiohjif : bool;
  mutable hhcgdeocomi : bool;
  mutable kmjdmefgcck : bool;
}

let default_diifjpbaoob_mutable () : diifjpbaoob_mutable = {
  bkpaceckiia = false;
  jcnincccakl = false;
  ggodaiohjif = false;
  hhcgdeocomi = false;
  kmjdmefgcck = false;
}

type mbndajpeago_mutable = {
  mutable cjbdijhedpo : jdfpbmlnbjp list;
  mutable mbomdpgaieo : ljpfhbjfjcm option;
}

let default_mbndajpeago_mutable () : mbndajpeago_mutable = {
  cjbdijhedpo = [];
  mbomdpgaieo = None;
}

type pnmjedikenb_mutable = {
  mutable nickname : string;
  mutable level : int32;
  mutable bmfhibobmhp : int32;
  mutable dbgjcbcfaec : platform_type;
  mutable world_level : int32;
  mutable elipgnpmlip : diifjpbaoob option;
  mutable mobolckmgai : display_avatar_detail_info list;
  mutable meijfajkmmp : string;
  mutable iiengikgngm : int32;
  mutable uid : int32;
  mutable hlbeedlemca : mbndajpeago option;
  mutable cpkikinabfj : string;
  mutable flenmbplfhl : bool;
  mutable pghdpnfjbla : bool;
  mutable gkhnbcojdge : display_avatar_detail_info list;
  mutable kikoianeodj : int32;
  mutable dmdcpeiefkg : string;
  mutable nodnhhligdj : hcpeplljigk option;
}

let default_pnmjedikenb_mutable () : pnmjedikenb_mutable = {
  nickname = "";
  level = 0l;
  bmfhibobmhp = 0l;
  dbgjcbcfaec = default_platform_type ();
  world_level = 0l;
  elipgnpmlip = None;
  mobolckmgai = [];
  meijfajkmmp = "";
  iiengikgngm = 0l;
  uid = 0l;
  hlbeedlemca = None;
  cpkikinabfj = "";
  flenmbplfhl = false;
  pghdpnfjbla = false;
  gkhnbcojdge = [];
  kikoianeodj = 0l;
  dmdcpeiefkg = "";
  nodnhhligdj = None;
}

type kjckllbmhne_mutable = {
  mutable fojelnklcjp : cbnkemlblen option;
  mutable jjgkcejglif : playing_state;
  mutable fbgeifghjde : string;
  mutable fgilieldboi : int64;
  mutable bhfagdddack : bool;
  mutable ndplnghkgbk : pgpeepnclnj option;
}

let default_kjckllbmhne_mutable () : kjckllbmhne_mutable = {
  fojelnklcjp = None;
  jjgkcejglif = default_playing_state ();
  fbgeifghjde = "";
  fgilieldboi = 0L;
  bhfagdddack = false;
  ndplnghkgbk = None;
}

type pemmdkhpdfp_mutable = {
  mutable bnjacmafmid : int64;
  mutable ndplnghkgbk : pgpeepnclnj option;
}

let default_pemmdkhpdfp_mutable () : pemmdkhpdfp_mutable = {
  bnjacmafmid = 0L;
  ndplnghkgbk = None;
}

type pihaeebhppc_mutable = {
  mutable ndplnghkgbk : pgpeepnclnj option;
  mutable lgibggmcnal : bool;
}

let default_pihaeebhppc_mutable () : pihaeebhppc_mutable = {
  ndplnghkgbk = None;
  lgibggmcnal = false;
}

type mejkeeapkfn_mutable = {
  mutable ndplnghkgbk : pgpeepnclnj option;
  mutable hiabljmppan : display_avatar_detail_info option;
}

let default_mejkeeapkfn_mutable () : mejkeeapkfn_mutable = {
  ndplnghkgbk = None;
  hiabljmppan = None;
}

type agnjchncimi_mutable = {
  mutable dmdcpeiefkg : string;
  mutable fbgeifghjde : string;
  mutable bmfhibobmhp : int32;
  mutable foiahmcbchb : int32;
  mutable level : int32;
  mutable dbgjcbcfaec : platform_type;
  mutable nickname : string;
  mutable uid : int32;
}

let default_agnjchncimi_mutable () : agnjchncimi_mutable = {
  dmdcpeiefkg = "";
  fbgeifghjde = "";
  bmfhibobmhp = 0l;
  foiahmcbchb = 0l;
  level = 0l;
  dbgjcbcfaec = default_platform_type ();
  nickname = "";
  uid = 0l;
}

type eijlpffenlk_mutable = {
  mutable knbgpmdmbkc : int32;
  mutable ndplnghkgbk : pgpeepnclnj option;
  mutable fbgeifghjde : string;
  mutable bopehbonhll : int32;
  mutable lpgaoolbbfm : int32;
  mutable ifckabbiilb : int32;
  mutable kbognlnlcle : mdhdfopebgl list;
}

let default_eijlpffenlk_mutable () : eijlpffenlk_mutable = {
  knbgpmdmbkc = 0l;
  ndplnghkgbk = None;
  fbgeifghjde = "";
  bopehbonhll = 0l;
  lpgaoolbbfm = 0l;
  ifckabbiilb = 0l;
  kbognlnlcle = [];
}

type mpdiaaijbhd_mutable = {
  mutable group_id : int32;
  mutable jfekengnnak : int32;
  mutable icoibnhjhec : khjddbffahk option;
  mutable ckbeijmmbjp : imiaeepmcje option;
  mutable idcpcalknen : cinndmfnbij option;
}

let default_mpdiaaijbhd_mutable () : mpdiaaijbhd_mutable = {
  group_id = 0l;
  jfekengnnak = 0l;
  icoibnhjhec = None;
  ckbeijmmbjp = None;
  idcpcalknen = None;
}

type kgljkmgbdnk_mutable = {
  mutable ppfogiaojdp : int32 list;
  mutable bfkeedlccfk : bool;
  mutable hlmejkcafbp : int64;
  mutable bnhepammdhc : int32;
  mutable gehhogbhomj : bool;
  mutable lnaconbgbdk : int32;
  mutable icplhhghkol : int64;
}

let default_kgljkmgbdnk_mutable () : kgljkmgbdnk_mutable = {
  ppfogiaojdp = [];
  bfkeedlccfk = false;
  hlmejkcafbp = 0L;
  bnhepammdhc = 0l;
  gehhogbhomj = false;
  lnaconbgbdk = 0l;
  icplhhghkol = 0L;
}

type mhmgdpddade_mutable = {
  mutable level : int32;
  mutable id : int32;
  mutable avatar_type : avatar_type;
  mutable slot : int32;
}

let default_mhmgdpddade_mutable () : mhmgdpddade_mutable = {
  level = 0l;
  id = 0l;
  avatar_type = default_avatar_type ();
  slot = 0l;
}

type jfbmlneajki_mutable = {
  mutable pkkfndimmio : int32;
  mutable level : int32;
}

let default_jfbmlneajki_mutable () : jfbmlneajki_mutable = {
  pkkfndimmio = 0l;
  level = 0l;
}

type mmkjkmlkpmd_mutable = {
  mutable avatar_list : mhmgdpddade list;
  mutable pcpkkbfpbeb : int32 list;
  mutable buff_list : jfbmlneajki list;
}

let default_mmkjkmlkpmd_mutable () : mmkjkmlkpmd_mutable = {
  avatar_list = [];
  pcpkkbfpbeb = [];
  buff_list = [];
}

type icajkkidheg_mutable = {
  mutable lbbcjjkledl : int32;
  mutable jcjkjhddkcf : int32;
  mutable lpgaoolbbfm : int32;
}

let default_icajkkidheg_mutable () : icajkkidheg_mutable = {
  lbbcjjkledl = 0l;
  jcjkjhddkcf = 0l;
  lpgaoolbbfm = 0l;
}

type dpklcgjckmo_mutable = {
  mutable mahiocfcikf : int32;
  mutable lifplggephc : float;
  mutable hkpeeaonmgo : icajkkidheg list;
}

let default_dpklcgjckmo_mutable () : dpklcgjckmo_mutable = {
  mahiocfcikf = 0l;
  lifplggephc = 0.;
  hkpeeaonmgo = [];
}

type dgolpjpbccp_mutable = {
  mutable mhamoedchne : kgljkmgbdnk option;
  mutable mmnebfbnoni : bool;
  mutable cfeaibpkhec : kgljkmgbdnk option;
  mutable lbilkiobkao : bool;
  mutable nodnhhligdj : mmkjkmlkpmd option;
  mutable ggdaffjnmpa : int32;
  mutable dlmhmmgphkm : item_list option;
  mutable jaedphkccgk : int32;
  mutable lkeeonadhee : int32;
  mutable dhopbododmb : item_list option;
  mutable bcjeehihkca : item_list option;
  mutable lpgaoolbbfm : int32;
  mutable cniiijodkjf : int32;
  mutable eebkfnjjooj : dpklcgjckmo option;
  mutable gahcmamleil : int32;
  mutable ehghgnheijn : int32;
  mutable ljfcnfpdmea : ffjpgmkmopp option;
}

let default_dgolpjpbccp_mutable () : dgolpjpbccp_mutable = {
  mhamoedchne = None;
  mmnebfbnoni = false;
  cfeaibpkhec = None;
  lbilkiobkao = false;
  nodnhhligdj = None;
  ggdaffjnmpa = 0l;
  dlmhmmgphkm = None;
  jaedphkccgk = 0l;
  lkeeonadhee = 0l;
  dhopbododmb = None;
  bcjeehihkca = None;
  lpgaoolbbfm = 0l;
  cniiijodkjf = 0l;
  eebkfnjjooj = None;
  gahcmamleil = 0l;
  ehghgnheijn = 0l;
  ljfcnfpdmea = None;
}

type cdahklgefeg_mutable = {
  mutable lnjapmhfcck : int32;
  mutable mjhepdejndc : dgolpjpbccp option;
}

let default_cdahklgefeg_mutable () : cdahklgefeg_mutable = {
  lnjapmhfcck = 0l;
  mjhepdejndc = None;
}

type jebbgppcabc_mutable = {
  mutable njnkcjmkgkn : bool;
  mutable gmfapmahfme : int32;
  mutable hocpnpbbbeh : int32;
}

let default_jebbgppcabc_mutable () : jebbgppcabc_mutable = {
  njnkcjmkgkn = false;
  gmfapmahfme = 0l;
  hocpnpbbbeh = 0l;
}

type fnpekjdgohi_mutable = {
  mutable fnecpidkhjb : int32;
  mutable njnkcjmkgkn : bool;
  mutable ophdaipbocc : int32;
  mutable dkaodoghgcb : int32;
}

let default_fnpekjdgohi_mutable () : fnpekjdgohi_mutable = {
  fnecpidkhjb = 0l;
  njnkcjmkgkn = false;
  ophdaipbocc = 0l;
  dkaodoghgcb = 0l;
}

type ddpeohmlklk_mutable = {
  mutable dgfahpgkgmf : int32;
  mutable lfleifodebe : blhhnmhcodp option;
  mutable fhpollcfknc : int32;
  mutable ljlinldbbob : int32;
  mutable aeheogaoenf : int32;
}

let default_ddpeohmlklk_mutable () : ddpeohmlklk_mutable = {
  dgfahpgkgmf = 0l;
  lfleifodebe = None;
  fhpollcfknc = 0l;
  ljlinldbbob = 0l;
  aeheogaoenf = 0l;
}

type ebeioekofed_mutable = {
  mutable hdjffnlmlig : int32;
  mutable dlookjklpff : int32;
}

let default_ebeioekofed_mutable () : ebeioekofed_mutable = {
  hdjffnlmlig = 0l;
  dlookjklpff = 0l;
}

type manmbbkbglg_mutable = {
  mutable dbphcockkcj : int32;
  mutable status : kgcifmhjoag;
  mutable mfdelanaicp : int32;
  mutable lkegecjeppg : int32;
}

let default_manmbbkbglg_mutable () : manmbbkbglg_mutable = {
  dbphcockkcj = 0l;
  status = default_kgcifmhjoag ();
  mfdelanaicp = 0l;
  lkegecjeppg = 0l;
}

type gadcmbokpdi_mutable = {
  mutable kemnjbikaod : int32;
  mutable dbjdnolegif : int32;
  mutable bfbahjaloli : manmbbkbglg list;
  mutable kdkdheomlmo : int32;
  mutable status : nioandilghd;
}

let default_gadcmbokpdi_mutable () : gadcmbokpdi_mutable = {
  kemnjbikaod = 0l;
  dbjdnolegif = 0l;
  bfbahjaloli = [];
  kdkdheomlmo = 0l;
  status = default_nioandilghd ();
}

type cabnkomlnjd_mutable = {
  mutable status : dmgmpocpddc;
  mutable fogjohmngpc : gadcmbokpdi list;
  mutable chmmbcgmfho : int32;
  mutable mgdnainpahe : meahibhbfon;
}

let default_cabnkomlnjd_mutable () : cabnkomlnjd_mutable = {
  status = default_dmgmpocpddc ();
  fogjohmngpc = [];
  chmmbcgmfho = 0l;
  mgdnainpahe = default_meahibhbfon ();
}

type gghlaggamjk_mutable = {
  mutable ikddpmdgcaj : int32 list;
}

let default_gghlaggamjk_mutable () : gghlaggamjk_mutable = {
  ikddpmdgcaj = [];
}

type bfdkodpihgf_mutable = {
  mutable iiiohnncjgi : bool;
}

let default_bfdkodpihgf_mutable () : bfdkodpihgf_mutable = {
  iiiohnncjgi = false;
}

type gaijmpghoii_mutable = {
  mutable bgghceflbbi : ebeioekofed option;
  mutable level : cabnkomlnjd option;
  mutable lineup : dmdkacfejli option;
  mutable dbgaojmndmc : cllnjecndkl option;
  mutable hjgoaobfdgi : hhddmdcflml option;
  mutable bcgeihcnbig : gghlaggamjk option;
  mutable bdmoacndcoa : oobhdlegikm option;
  mutable memmgmibhdj : mbokaahegfk option;
  mutable jhjpgbkblag : cgcbkhnbohm option;
  mutable nhollbiknag : bfdkodpihgf option;
}

let default_gaijmpghoii_mutable () : gaijmpghoii_mutable = {
  bgghceflbbi = None;
  level = None;
  lineup = None;
  dbgaojmndmc = None;
  hjgoaobfdgi = None;
  bcgeihcnbig = None;
  bdmoacndcoa = None;
  memmgmibhdj = None;
  jhjpgbkblag = None;
  nhollbiknag = None;
}

type hpeecfakjeg_mutable = {
  mutable bemhlbcocdg : ddpeohmlklk option;
  mutable gblplbejghd : gaijmpghoii option;
}

let default_hpeecfakjeg_mutable () : hpeecfakjeg_mutable = {
  bemhlbcocdg = None;
  gblplbejghd = None;
}

type fpfmjggcnld_mutable = {
  mutable njnkcjmkgkn : bool;
  mutable kfpjcehiika : int32;
  mutable mekbmaknkhf : int32;
  mutable afokcapjpep : int32;
}

let default_fpfmjggcnld_mutable () : fpfmjggcnld_mutable = {
  njnkcjmkgkn = false;
  kfpjcehiika = 0l;
  mekbmaknkhf = 0l;
  afokcapjpep = 0l;
}

type bninelnejfi_mutable = {
  mutable odcloijfnip : jebbgppcabc option;
  mutable ofjdnoboneb : fnpekjdgohi option;
  mutable nnibggkcbdj : lineup_info option;
  mutable niiingfcpol : hpeecfakjeg option;
  mutable dceibjclkbb : fpfmjggcnld option;
}

let default_bninelnejfi_mutable () : bninelnejfi_mutable = {
  odcloijfnip = None;
  ofjdnoboneb = None;
  nnibggkcbdj = None;
  niiingfcpol = None;
  dceibjclkbb = None;
}

type emmlcghkhkc_mutable = {
  mutable agiiieglegk : int32;
  mutable pdbobmjedbc : bninelnejfi option;
}

let default_emmlcghkhkc_mutable () : emmlcghkhkc_mutable = {
  agiiieglegk = 0l;
  pdbobmjedbc = None;
}

type adlmgdkboeo_mutable = {
  mutable mgglchabnnh : int32;
  mutable ocboiocjeko : int32;
  mutable ggdaffjnmpa : int32;
}

let default_adlmgdkboeo_mutable () : adlmgdkboeo_mutable = {
  mgglchabnnh = 0l;
  ocboiocjeko = 0l;
  ggdaffjnmpa = 0l;
}

type aloefgohkle_mutable = {
  mutable ggdaffjnmpa : int32;
  mutable nnckjbegijk : int32;
  mutable lndeejkkcjk : int32;
  mutable dlajcfloffl : int32;
}

let default_aloefgohkle_mutable () : aloefgohkle_mutable = {
  ggdaffjnmpa = 0l;
  nnckjbegijk = 0l;
  lndeejkkcjk = 0l;
  dlajcfloffl = 0l;
}

type ngpbemiajal_mutable = {
  mutable nbjmifjbkmg : cdahklgefeg option;
  mutable fbagcbhggge : emmlcghkhkc option;
  mutable kolfbcfamem : adlmgdkboeo option;
  mutable cbkjlnjjbmg : aloefgohkle option;
}

let default_ngpbemiajal_mutable () : ngpbemiajal_mutable = {
  nbjmifjbkmg = None;
  fbagcbhggge = None;
  kolfbcfamem = None;
  cbkjlnjjbmg = None;
}

type mllfmkokjfk_mutable = {
  mutable ggdaffjnmpa : int32;
}

let default_mllfmkokjfk_mutable () : mllfmkokjfk_mutable = {
  ggdaffjnmpa = 0l;
}

type nioigppbpeh_mutable = {
  mutable ggdaffjnmpa : int32;
  mutable dmacejfjohm : int32;
}

let default_nioigppbpeh_mutable () : nioigppbpeh_mutable = {
  ggdaffjnmpa = 0l;
  dmacejfjohm = 0l;
}

type nikomgcpamg_mutable = {
  mutable dcpoeimegli : int32;
}

let default_nikomgcpamg_mutable () : nikomgcpamg_mutable = {
  dcpoeimegli = 0l;
}

type nddaafenheh_mutable = {
  mutable bmojlopgked : development_type;
  mutable time : int64;
  mutable ceofecgihpd : mllfmkokjfk option;
  mutable jkkhadmdbpn : nikomgcpamg option;
  mutable avatar_id : int32;
  mutable dkgkfeeajpd : int32;
  mutable cpkoeodfpmg : int32;
  mutable lfhojlfbgdi : nioigppbpeh option;
}

let default_nddaafenheh_mutable () : nddaafenheh_mutable = {
  bmojlopgked = default_development_type ();
  time = 0L;
  ceofecgihpd = None;
  jkkhadmdbpn = None;
  avatar_id = 0l;
  dkgkfeeajpd = 0l;
  cpkoeodfpmg = 0l;
  lfhojlfbgdi = None;
}

type fkpeelodgle_mutable = {
  mutable lengogafimb : kjckllbmhne list;
  mutable retcode : int32;
  mutable idfijahanmn : pgpeepnclnj list;
}

let default_fkpeelodgle_mutable () : fkpeelodgle_mutable = {
  lengogafimb = [];
  retcode = 0l;
  idfijahanmn = [];
}

type dnpoaimlole_mutable = {
  mutable uid : int32;
}

let default_dnpoaimlole_mutable () : dnpoaimlole_mutable = {
  uid = 0l;
}

type dghjmjaopjm_mutable = {
  mutable retcode : int32;
  mutable bnjanfgfnjh : pnmjedikenb option;
}

let default_dghjmjaopjm_mutable () : dghjmjaopjm_mutable = {
  retcode = 0l;
  bnjanfgfnjh = None;
}

type ndmajbinolo_mutable = {
  mutable retcode : int32;
  mutable deiipomgdjf : int32 list;
  mutable aodlekmnldh : pemmdkhpdfp list;
}

let default_ndmajbinolo_mutable () : ndmajbinolo_mutable = {
  retcode = 0l;
  deiipomgdjf = [];
  aodlekmnldh = [];
}

type pdongajedee_mutable = {
  mutable gnfpnbgacdf : mfhcehbfeng;
  mutable uid : int32;
}

let default_pdongajedee_mutable () : pdongajedee_mutable = {
  gnfpnbgacdf = default_mfhcehbfeng ();
  uid = 0l;
}

type jhiedmcehho_mutable = {
  mutable uid : int32;
  mutable retcode : int32;
}

let default_jhiedmcehho_mutable () : jhiedmcehho_mutable = {
  uid = 0l;
  retcode = 0l;
}

type clkkkmodmcj_mutable = {
  mutable kfapmddjdec : pemmdkhpdfp option;
}

let default_clkkkmodmcj_mutable () : clkkkmodmcj_mutable = {
  kfapmddjdec = None;
}

type gohfgmmdkpn_mutable = {
  mutable pieecaekfgf : bool;
  mutable uid : int32;
}

let default_gohfgmmdkpn_mutable () : gohfgmmdkpn_mutable = {
  pieecaekfgf = false;
  uid = 0l;
}

type mbnhlhdekjd_mutable = {
  mutable retcode : int32;
  mutable pieecaekfgf : bool;
  mutable imlfgeehobj : kjckllbmhne option;
  mutable uid : int32;
}

let default_mbnhlhdekjd_mutable () : mbnhlhdekjd_mutable = {
  retcode = 0l;
  pieecaekfgf = false;
  imlfgeehobj = None;
  uid = 0l;
}

type gpgbheghmdg_mutable = {
  mutable pieecaekfgf : bool;
  mutable uid : int32;
  mutable imlfgeehobj : kjckllbmhne option;
}

let default_gpgbheghmdg_mutable () : gpgbheghmdg_mutable = {
  pieecaekfgf = false;
  uid = 0l;
  imlfgeehobj = None;
}

type idjkfjeodbh_mutable = {
  mutable uid : int32;
  mutable egidfmlgcjo : int32;
}

let default_idjkfjeodbh_mutable () : idjkfjeodbh_mutable = {
  uid = 0l;
  egidfmlgcjo = 0l;
}

type cahgejgdeoi_mutable = {
  mutable uid : int32;
  mutable retcode : int32;
}

let default_cahgejgdeoi_mutable () : cahgejgdeoi_mutable = {
  uid = 0l;
  retcode = 0l;
}

type faecclcogab_mutable = {
  mutable uid : int32;
}

let default_faecclcogab_mutable () : faecclcogab_mutable = {
  uid = 0l;
}

type hpipfdbgeii_mutable = {
  mutable uid : int32;
}

let default_hpipfdbgeii_mutable () : hpipfdbgeii_mutable = {
  uid = 0l;
}

type ogkjjkbjnfk_mutable = {
  mutable retcode : int32;
  mutable black_info : pgpeepnclnj option;
}

let default_ogkjjkbjnfk_mutable () : ogkjjkbjnfk_mutable = {
  retcode = 0l;
  black_info = None;
}

type golhljkpnga_mutable = {
  mutable uid : int32;
}

let default_golhljkpnga_mutable () : golhljkpnga_mutable = {
  uid = 0l;
}

type dndjfjinahl_mutable = {
  mutable nbaheekiadi : bool;
}

let default_dndjfjinahl_mutable () : dndjfjinahl_mutable = {
  nbaheekiadi = false;
}

type nlcmgpajimj_mutable = {
  mutable giagnhmaocd : pihaeebhppc list;
  mutable retcode : int32;
}

let default_nlcmgpajimj_mutable () : nlcmgpajimj_mutable = {
  giagnhmaocd = [];
  retcode = 0l;
}

type injlohpekga_mutable = {
  mutable fbgeifghjde : string;
  mutable mgdnainpahe : int32;
  mutable uid : int32;
}

let default_injlohpekga_mutable () : injlohpekga_mutable = {
  fbgeifghjde = "";
  mgdnainpahe = 0l;
  uid = 0l;
}

type kgceiojjkba_mutable = {
  mutable retcode : int32;
  mutable uid : int32;
  mutable fbgeifghjde : string;
}

let default_kgceiojjkba_mutable () : kgceiojjkba_mutable = {
  retcode = 0l;
  uid = 0l;
  fbgeifghjde = "";
}

type clcipohohgg_mutable = {
  mutable hpcebekndge : int32;
  mutable hfnnbmdgpld : string;
  mutable uid : int32;
}

let default_clcipohohgg_mutable () : clcipohohgg_mutable = {
  hpcebekndge = 0l;
  hfnnbmdgpld = "";
  uid = 0l;
}

type kabkahihoid_mutable = {
  mutable retcode : int32;
}

let default_kabkahihoid_mutable () : kabkahihoid_mutable = {
  retcode = 0l;
}

type piejofpnlmi_mutable = {
  mutable uid : int32;
}

let default_piejofpnlmi_mutable () : piejofpnlmi_mutable = {
  uid = 0l;
}

type iekkoalegef_mutable = {
  mutable retcode : int32;
  mutable uid : int32;
}

let default_iekkoalegef_mutable () : iekkoalegef_mutable = {
  retcode = 0l;
  uid = 0l;
}

type pdfhmlndkna_mutable = {
  mutable pknbckelhkm : int32 list;
  mutable nbaheekiadi : bool;
}

let default_pdfhmlndkna_mutable () : pdfhmlndkna_mutable = {
  pknbckelhkm = [];
  nbaheekiadi = false;
}

type acfamcmejbi_mutable = {
  mutable aimapkogmab : int32 list;
  mutable retcode : int32;
  mutable bemfclhconk : pgpeepnclnj list;
}

let default_acfamcmejbi_mutable () : acfamcmejbi_mutable = {
  aimapkogmab = [];
  retcode = 0l;
  bemfclhconk = [];
}

type ijbekhlpglj_mutable = {
  mutable nbaheekiadi : bool;
  mutable kboahkmenfc : bool;
}

let default_ijbekhlpglj_mutable () : ijbekhlpglj_mutable = {
  nbaheekiadi = false;
  kboahkmenfc = false;
}

type cdmnbfnpoci_mutable = {
  mutable retcode : int32;
  mutable dhmebnhcebe : mejkeeapkfn list;
}

let default_cdmnbfnpoci_mutable () : cdmnbfnpoci_mutable = {
  retcode = 0l;
  dhmebnhcebe = [];
}

type dghpjblnheh_mutable = {
  mutable avatar_id : int32;
  mutable uid : int32;
}

let default_dghpjblnheh_mutable () : dghpjblnheh_mutable = {
  avatar_id = 0l;
  uid = 0l;
}

type kkjeclpipmd_mutable = {
  mutable uid : int32;
  mutable retcode : int32;
  mutable avatar_id : int32;
}

let default_kkjeclpipmd_mutable () : kkjeclpipmd_mutable = {
  uid = 0l;
  retcode = 0l;
  avatar_id = 0l;
}

type eiogijifkli_mutable = {
  mutable lbmpcolonhb : mejkeeapkfn option;
  mutable retcode : int32;
}

let default_eiogijifkli_mutable () : eiogijifkli_mutable = {
  lbmpcolonhb = None;
  retcode = 0l;
}

type lbdhkabpkhh_mutable = {
  mutable egngmiieand : int32;
  mutable retcode : int32;
  mutable iohhmeeaaoe : int32;
  mutable iolgafdolmj : int32 list;
  mutable bhdidahbfpc : int32;
}

let default_lbdhkabpkhh_mutable () : lbdhkabpkhh_mutable = {
  egngmiieand = 0l;
  retcode = 0l;
  iohhmeeaaoe = 0l;
  iolgafdolmj = [];
  bhdidahbfpc = 0l;
}

type pkafbnnfkbj_mutable = {
  mutable egngmiieand : int32;
}

let default_pkafbnnfkbj_mutable () : pkafbnnfkbj_mutable = {
  egngmiieand = 0l;
}

type eicjcjkdcef_mutable = {
  mutable retcode : int32;
  mutable clhkfmmlaji : agnjchncimi list;
  mutable reward : item_list option;
}

let default_eicjcjkdcef_mutable () : eicjcjkdcef_mutable = {
  retcode = 0l;
  clhkfmmlaji = [];
  reward = None;
}

type inehlccdmab_mutable = {
  mutable lbmpcolonhb : mejkeeapkfn option;
}

let default_inehlccdmab_mutable () : inehlccdmab_mutable = {
  lbmpcolonhb = None;
}

type aifafmlhjbc_mutable = {
  mutable dbgjcbcfaec : platform_type;
  mutable ffhkfkdapln : string list;
}

let default_aifafmlhjbc_mutable () : aifafmlhjbc_mutable = {
  dbgjcbcfaec = default_platform_type ();
  ffhkfkdapln = [];
}

type ognjcfngimi_mutable = {
  mutable giagnhmaocd : pgpeepnclnj list;
  mutable retcode : int32;
}

let default_ognjcfngimi_mutable () : ognjcfngimi_mutable = {
  giagnhmaocd = [];
  retcode = 0l;
}

type fhpfifghcjl_mutable = {
  mutable llcmgmlcjca : bool;
  mutable degafpjnikk : bool;
  mutable fljpnipdjmh : int32 list;
  mutable mnacbpjeche : int32 list;
  mutable retcode : int32;
}

let default_fhpfifghcjl_mutable () : fhpfifghcjl_mutable = {
  llcmgmlcjca = false;
  degafpjnikk = false;
  fljpnipdjmh = [];
  mnacbpjeche = [];
  retcode = 0l;
}

type mmfihgpblcc_mutable = {
  mutable dklbecnllgj : bool;
}

let default_mmfihgpblcc_mutable () : mmfihgpblcc_mutable = {
  dklbecnllgj = false;
}

type ghjmjggjcle_mutable = {
  mutable dklbecnllgj : bool;
  mutable retcode : int32;
}

let default_ghjmjggjcle_mutable () : ghjmjggjcle_mutable = {
  dklbecnllgj = false;
  retcode = 0l;
}

type pjmdialakjb_mutable = {
  mutable uid : int32;
  mutable ijlbnijghcg : bool;
  mutable mgdnainpahe : int32;
}

let default_pjmdialakjb_mutable () : pjmdialakjb_mutable = {
  uid = 0l;
  ijlbnijghcg = false;
  mgdnainpahe = 0l;
}

type ghdjcmejofl_mutable = {
  mutable ijlbnijghcg : bool;
  mutable uid : int32;
  mutable retcode : int32;
}

let default_ghdjcmejofl_mutable () : ghdjcmejofl_mutable = {
  ijlbnijghcg = false;
  uid = 0l;
  retcode = 0l;
}

type eiefajnopee_mutable = {
  mutable kaippbfklgo : int32 list;
  mutable mcochdjinng : int32 list;
  mutable bmgnoinbocb : int32;
  mutable hojailmlleb : assist_avatar_type;
  mutable nbaheekiadi : bool;
}

let default_eiefajnopee_mutable () : eiefajnopee_mutable = {
  kaippbfklgo = [];
  mcochdjinng = [];
  bmgnoinbocb = 0l;
  hojailmlleb = default_assist_avatar_type ();
  nbaheekiadi = false;
}

type mpfhhdoanpo_mutable = {
  mutable dhmebnhcebe : mejkeeapkfn list;
  mutable bmgnoinbocb : int32;
  mutable retcode : int32;
}

let default_mpfhhdoanpo_mutable () : mpfhhdoanpo_mutable = {
  dhmebnhcebe = [];
  bmgnoinbocb = 0l;
  retcode = 0l;
}

type mldhbildkna_mutable = {
  mutable dcpoeimegli : int32;
}

let default_mldhbildkna_mutable () : mldhbildkna_mutable = {
  dcpoeimegli = 0l;
}

type kebdplkjjeb_mutable = {
  mutable retcode : int32;
  mutable cnmpneilgga : bool;
  mutable bdjmhpbiaag : eijlpffenlk list;
}

let default_kebdplkjjeb_mutable () : kebdplkjjeb_mutable = {
  retcode = 0l;
  cnmpneilgga = false;
  bdjmhpbiaag = [];
}

type eadfmjgdmhi_mutable = {
  mutable uid : int32;
  mutable dcpoeimegli : int32;
}

let default_eadfmjgdmhi_mutable () : eadfmjgdmhi_mutable = {
  uid = 0l;
  dcpoeimegli = 0l;
}

type mnaniimlgjh_mutable = {
  mutable iclpomplljg : display_avatar_detail_info list;
  mutable dcpoeimegli : int32;
  mutable uid : int32;
  mutable retcode : int32;
}

let default_mnaniimlgjh_mutable () : mnaniimlgjh_mutable = {
  iclpomplljg = [];
  dcpoeimegli = 0l;
  uid = 0l;
  retcode = 0l;
}

type bldpehfcick_mutable = {
  mutable uid : int32;
}

let default_bldpehfcick_mutable () : bldpehfcick_mutable = {
  uid = 0l;
}

type kdgefjmdoii_mutable = {
  mutable bjehkpdclfe : ngpbemiajal option;
  mutable fdijjcafkcc : mpdiaaijbhd list;
  mutable uid : int32;
  mutable retcode : int32;
}

let default_kdgefjmdoii_mutable () : kdgefjmdoii_mutable = {
  bjehkpdclfe = None;
  fdijjcafkcc = [];
  uid = 0l;
  retcode = 0l;
}

type cclmggmiaan_mutable = {
  mutable uid : int32;
}

let default_cclmggmiaan_mutable () : cclmggmiaan_mutable = {
  uid = 0l;
}

type opdmheamomd_mutable = {
  mutable retcode : int32;
  mutable uid : int32;
  mutable ggcjfgepjjd : nddaafenheh list;
}

let default_opdmheamomd_mutable () : opdmheamomd_mutable = {
  retcode = 0l;
  uid = 0l;
  ggcjfgepjjd = [];
}

type gacha_ceiling_avatar_mutable = {
  mutable repeated_cnt : int32;
  mutable avatar_id : int32;
}

let default_gacha_ceiling_avatar_mutable () : gacha_ceiling_avatar_mutable = {
  repeated_cnt = 0l;
  avatar_id = 0l;
}

type glmolhnjdpa_mutable = {
  mutable avatar_list : gacha_ceiling_avatar list;
  mutable ikfepnpdgdh : bool;
  mutable cehdiclpdmc : int32;
}

let default_glmolhnjdpa_mutable () : glmolhnjdpa_mutable = {
  avatar_list = [];
  ikfepnpdgdh = false;
  cehdiclpdmc = 0l;
}

type kdfnajlkgnm_mutable = {
  mutable iponcaehhgl : int32;
  mutable gmhfmbknian : glmolhnjdpa option;
  mutable ocgpmookjid : int32 list;
  mutable dopfcokpjei : int32;
  mutable begin_time : int64;
  mutable pjlidoghbhb : int32 list;
  mutable ecapcfaefbo : int32;
  mutable diafdnfnbfj : string;
  mutable end_time : int64;
  mutable feigoefidio : string;
}

let default_kdfnajlkgnm_mutable () : kdfnajlkgnm_mutable = {
  iponcaehhgl = 0l;
  gmhfmbknian = None;
  ocgpmookjid = [];
  dopfcokpjei = 0l;
  begin_time = 0L;
  pjlidoghbhb = [];
  ecapcfaefbo = 0l;
  diafdnfnbfj = "";
  end_time = 0L;
  feigoefidio = "";
}

type fkliongbomo_mutable = {
  mutable retcode : int32;
  mutable ohmaodidhnl : int32;
  mutable chmfglghlcf : int32;
  mutable mdnaaembmpd : kdfnajlkgnm list;
  mutable lmbmncbfgpj : int32;
  mutable hgaoeennejc : int32;
}

let default_fkliongbomo_mutable () : fkliongbomo_mutable = {
  retcode = 0l;
  ohmaodidhnl = 0l;
  chmfglghlcf = 0l;
  mdnaaembmpd = [];
  lmbmncbfgpj = 0l;
  hgaoeennejc = 0l;
}

type dfglnfedeph_mutable = {
  mutable oecedagjedd : int32;
  mutable lnillbflgnj : int32;
  mutable ohmaodidhnl : int32;
  mutable dopfcokpjei : int32;
}

let default_dfglnfedeph_mutable () : dfglnfedeph_mutable = {
  oecedagjedd = 0l;
  lnillbflgnj = 0l;
  ohmaodidhnl = 0l;
  dopfcokpjei = 0l;
}

type fggllplkaim_mutable = {
  mutable kollpgccdil : bool;
  mutable oaobpakmgcg : item_list option;
  mutable cgninlppfle : item option;
  mutable fepjfbdhojc : item_list option;
}

let default_fggllplkaim_mutable () : fggllplkaim_mutable = {
  kollpgccdil = false;
  oaobpakmgcg = None;
  cgninlppfle = None;
  fepjfbdhojc = None;
}

type nglmecbodjd_mutable = {
  mutable retcode : int32;
  mutable ialfoddhdkp : int32;
  mutable ecapcfaefbo : int32;
  mutable iponcaehhgl : int32;
  mutable gndidejjmhc : fggllplkaim list;
  mutable oecedagjedd : int32;
  mutable cehdiclpdmc : int32;
  mutable dopfcokpjei : int32;
  mutable hgaoeennejc : int32;
}

let default_nglmecbodjd_mutable () : nglmecbodjd_mutable = {
  retcode = 0l;
  ialfoddhdkp = 0l;
  ecapcfaefbo = 0l;
  iponcaehhgl = 0l;
  gndidejjmhc = [];
  oecedagjedd = 0l;
  cehdiclpdmc = 0l;
  dopfcokpjei = 0l;
  hgaoeennejc = 0l;
}

type eemcgfnfocn_mutable = {
  mutable cfgmbhjglbd : int32;
}

let default_eemcgfnfocn_mutable () : eemcgfnfocn_mutable = {
  cfgmbhjglbd = 0l;
}

type bjndgooecif_mutable = {
  mutable gmhfmbknian : glmolhnjdpa option;
  mutable retcode : int32;
  mutable cfgmbhjglbd : int32;
}

let default_bjndgooecif_mutable () : bjndgooecif_mutable = {
  gmhfmbknian = None;
  retcode = 0l;
  cfgmbhjglbd = 0l;
}

type ecgcblcgmkb_mutable = {
  mutable avatar_id : int32;
  mutable cfgmbhjglbd : int32;
}

let default_ecgcblcgmkb_mutable () : ecgcblcgmkb_mutable = {
  avatar_id = 0l;
  cfgmbhjglbd = 0l;
}

type nnginbbbpfj_mutable = {
  mutable retcode : int32;
  mutable avatar_id : int32;
  mutable gmhfmbknian : glmolhnjdpa option;
  mutable cfgmbhjglbd : int32;
  mutable oaobpakmgcg : item_list option;
}

let default_nnginbbbpfj_mutable () : nnginbbbpfj_mutable = {
  retcode = 0l;
  avatar_id = 0l;
  gmhfmbknian = None;
  cfgmbhjglbd = 0l;
  oaobpakmgcg = None;
}

type okndmaemman_mutable = {
  mutable nhjfhkflonm : bool;
  mutable joeicfcdnem : int32;
}

let default_okndmaemman_mutable () : okndmaemman_mutable = {
  nhjfhkflonm = false;
  joeicfcdnem = 0l;
}

type ghomiilpjlm_mutable = {
  mutable cmmkodhdjga : bool;
  mutable pioeiidnhaa : hijpilajhcm;
  mutable step : mcejjmodajg;
  mutable ogkiomjegel : int32;
  mutable fppllcnicea : bool;
}

let default_ghomiilpjlm_mutable () : ghomiilpjlm_mutable = {
  cmmkodhdjga = false;
  pioeiidnhaa = default_hijpilajhcm ();
  step = default_mcejjmodajg ();
  ogkiomjegel = 0l;
  fppllcnicea = false;
}

type flikgghikfg_mutable = {
  mutable ogkiomjegel : int32;
  mutable iakfjjgoehb : int32;
}

let default_flikgghikfg_mutable () : flikgghikfg_mutable = {
  ogkiomjegel = 0l;
  iakfjjgoehb = 0l;
}

type cbhapnpjnkb_mutable = {
  mutable pbodiibccdh : acmdlmdecmj;
  mutable cpphjpajnol : ghomiilpjlm list;
  mutable dmhfgcnnlnf : flikgghikfg list;
  mutable cakbfkmlddj : okndmaemman list;
  mutable retcode : int32;
}

let default_cbhapnpjnkb_mutable () : cbhapnpjnkb_mutable = {
  pbodiibccdh = default_acmdlmdecmj ();
  cpphjpajnol = [];
  dmhfgcnnlnf = [];
  cakbfkmlddj = [];
  retcode = 0l;
}

type bljekckdglc_mutable = {
  mutable ipkjompgpok : int32;
  mutable ogkiomjegel : int32;
  mutable cphllgeadmf : hijpilajhcm;
}

let default_bljekckdglc_mutable () : bljekckdglc_mutable = {
  ipkjompgpok = 0l;
  ogkiomjegel = 0l;
  cphllgeadmf = default_hijpilajhcm ();
}

type lololekfldd_mutable = {
  mutable bfajfamllah : hijpilajhcm;
  mutable ogkiomjegel : int32;
  mutable retcode : int32;
}

let default_lololekfldd_mutable () : lololekfldd_mutable = {
  bfajfamllah = default_hijpilajhcm ();
  ogkiomjegel = 0l;
  retcode = 0l;
}

type pnomhdddcio_mutable = {
  mutable ipkjompgpok : int32;
  mutable ogkiomjegel : int32;
  mutable pdpfcfglgco : item_list option;
}

let default_pnomhdddcio_mutable () : pnomhdddcio_mutable = {
  ipkjompgpok = 0l;
  ogkiomjegel = 0l;
  pdpfcfglgco = None;
}

type jnhkkljllil_mutable = {
  mutable retcode : int32;
  mutable ogkiomjegel : int32;
}

let default_jnhkkljllil_mutable () : jnhkkljllil_mutable = {
  retcode = 0l;
  ogkiomjegel = 0l;
}

type badomabhanf_mutable = {
  mutable ogkiomjegel : int32;
  mutable joeicfcdnem : int32;
  mutable ipkjompgpok : int32;
}

let default_badomabhanf_mutable () : badomabhanf_mutable = {
  ogkiomjegel = 0l;
  joeicfcdnem = 0l;
  ipkjompgpok = 0l;
}

type lamebfpllpg_mutable = {
  mutable dekonpmjeen : item_list option;
  mutable ogkiomjegel : int32;
  mutable joeicfcdnem : int32;
  mutable retcode : int32;
}

let default_lamebfpllpg_mutable () : lamebfpllpg_mutable = {
  dekonpmjeen = None;
  ogkiomjegel = 0l;
  joeicfcdnem = 0l;
  retcode = 0l;
}

type jdjhfoaokhp_mutable = {
  mutable dmhfgcnnlnf : flikgghikfg list;
  mutable pfocfplopkf : okndmaemman list;
  mutable pbodiibccdh : acmdlmdecmj;
  mutable opedeflpfck : ghomiilpjlm list;
}

let default_jdjhfoaokhp_mutable () : jdjhfoaokhp_mutable = {
  dmhfgcnnlnf = [];
  pfocfplopkf = [];
  pbodiibccdh = default_acmdlmdecmj ();
  opedeflpfck = [];
}

type ccghcafjcpm_mutable = {
  mutable pgccbpjlkmk : flikgghikfg option;
}

let default_ccghcafjcpm_mutable () : ccghcafjcpm_mutable = {
  pgccbpjlkmk = None;
}

type hcachphghki_mutable = {
  mutable retcode : int32;
  mutable pgccbpjlkmk : flikgghikfg option;
}

let default_hcachphghki_mutable () : hcachphghki_mutable = {
  retcode = 0l;
  pgccbpjlkmk = None;
}

type ebligdnnpjk_mutable = {
  mutable hccebdhpdke : int32 list;
  mutable nppeghdfaen : int32;
}

let default_ebligdnnpjk_mutable () : ebligdnnpjk_mutable = {
  hccebdhpdke = [];
  nppeghdfaen = 0l;
}

type aflbhhdjdef_mutable = {
  mutable pamafmppefi : int32;
  mutable dcpoeimegli : int32;
  mutable lpgaoadlgnd : bool;
}

let default_aflbhhdjdef_mutable () : aflbhhdjdef_mutable = {
  pamafmppefi = 0l;
  dcpoeimegli = 0l;
  lpgaoadlgnd = false;
}

type heliobus_challenge_lineup_mutable = {
  mutable group_id : int32;
  mutable avatar_id_list : int32 list;
  mutable skill_id : int32;
}

let default_heliobus_challenge_lineup_mutable () : heliobus_challenge_lineup_mutable = {
  group_id = 0l;
  avatar_id_list = [];
  skill_id = 0l;
}

type mjpmcapibfn_mutable = {
  mutable dgbjoolhhng : mjpmcapibfn list;
  mutable hcpjodhafbn : int32;
  mutable phblfpkjdka : int32;
}

let default_mjpmcapibfn_mutable () : mjpmcapibfn_mutable = {
  dgbjoolhhng = [];
  hcpjodhafbn = 0l;
  phblfpkjdka = 0l;
}

type hncbeeioldh_mutable = {
  mutable emhkjbeckic : int32;
  mutable djjmhikpmjl : int32;
  mutable idegcfnalkn : bool;
  mutable fgfcafjgjln : int32;
  mutable fmnilimjdda : mjpmcapibfn list;
  mutable lbobjldondf : int32;
  mutable nneoodacfgl : int32;
  mutable bdoimbnnlnb : bool;
}

let default_hncbeeioldh_mutable () : hncbeeioldh_mutable = {
  emhkjbeckic = 0l;
  djjmhikpmjl = 0l;
  idegcfnalkn = false;
  fgfcafjgjln = 0l;
  fmnilimjdda = [];
  lbobjldondf = 0l;
  nneoodacfgl = 0l;
  bdoimbnnlnb = false;
}

type hgnjkalcidb_mutable = {
  mutable hhapkchnbea : ebligdnnpjk option;
  mutable retcode : int32;
  mutable djemibiamha : int32;
  mutable ginenhkpkmk : int32;
  mutable level : int32;
  mutable cjbdijhedpo : aflbhhdjdef list;
  mutable jmbmfaglcke : int32;
  mutable giclbghfpjg : heliobus_challenge_lineup list;
  mutable hbnoljogigk : int32;
  mutable nedgdblobgk : hncbeeioldh list;
}

let default_hgnjkalcidb_mutable () : hgnjkalcidb_mutable = {
  hhapkchnbea = None;
  retcode = 0l;
  djemibiamha = 0l;
  ginenhkpkmk = 0l;
  level = 0l;
  cjbdijhedpo = [];
  jmbmfaglcke = 0l;
  giclbghfpjg = [];
  hbnoljogigk = 0l;
  nedgdblobgk = [];
}

type jhdmapjnpoo_mutable = {
  mutable fgfcafjgjln : int32;
}

let default_jhdmapjnpoo_mutable () : jhdmapjnpoo_mutable = {
  fgfcafjgjln = 0l;
}

type ihhcmclehgo_mutable = {
  mutable fgfcafjgjln : int32;
  mutable retcode : int32;
}

let default_ihhcmclehgo_mutable () : ihhcmclehgo_mutable = {
  fgfcafjgjln = 0l;
  retcode = 0l;
}

type ghjfebpdooh_mutable = {
  mutable djjmhikpmjl : int32;
  mutable fgfcafjgjln : int32;
  mutable lbobjldondf : int32;
}

let default_ghjfebpdooh_mutable () : ghjfebpdooh_mutable = {
  djjmhikpmjl = 0l;
  fgfcafjgjln = 0l;
  lbobjldondf = 0l;
}

type fpilmflopgh_mutable = {
  mutable hjcbomofobf : hncbeeioldh option;
  mutable retcode : int32;
}

let default_fpilmflopgh_mutable () : fpilmflopgh_mutable = {
  hjcbomofobf = None;
  retcode = 0l;
}

type gjjhoepllah_mutable = {
  mutable fgfcafjgjln : int32;
}

let default_gjjhoepllah_mutable () : gjjhoepllah_mutable = {
  fgfcafjgjln = 0l;
}

type ifkgomfnmaa_mutable = {
  mutable fgfcafjgjln : int32;
  mutable retcode : int32;
  mutable idegcfnalkn : bool;
}

let default_ifkgomfnmaa_mutable () : ifkgomfnmaa_mutable = {
  fgfcafjgjln = 0l;
  retcode = 0l;
  idegcfnalkn = false;
}

type daignniobkk_mutable = {
  mutable limdkgpmgoe : int32;
  mutable fgfcafjgjln : int32;
  mutable hcpjodhafbn : int32;
}

let default_daignniobkk_mutable () : daignniobkk_mutable = {
  limdkgpmgoe = 0l;
  fgfcafjgjln = 0l;
  hcpjodhafbn = 0l;
}

type mipldfahhdi_mutable = {
  mutable retcode : int32;
  mutable hjcbomofobf : hncbeeioldh option;
}

let default_mipldfahhdi_mutable () : mipldfahhdi_mutable = {
  retcode = 0l;
  hjcbomofobf = None;
}

type kaiacbkbgjo_mutable = {
  mutable hmhmdaggfni : hncbeeioldh list;
}

let default_kaiacbkbgjo_mutable () : kaiacbkbgjo_mutable = {
  hmhmdaggfni = [];
}

type kalbhbfbgbi_mutable = {
  mutable hmhmdaggfni : hncbeeioldh list;
  mutable hbnoljogigk : int32;
  mutable djemibiamha : int32;
  mutable ginenhkpkmk : int32;
}

let default_kalbhbfbgbi_mutable () : kalbhbfbgbi_mutable = {
  hmhmdaggfni = [];
  hbnoljogigk = 0l;
  djemibiamha = 0l;
  ginenhkpkmk = 0l;
}

type eknlaglphdi_mutable = {
  mutable level : int32;
  mutable retcode : int32;
}

let default_eknlaglphdi_mutable () : eknlaglphdi_mutable = {
  level = 0l;
  retcode = 0l;
}

type bfjkhkhilai_mutable = {
  mutable hgnfloilneg : int32;
  mutable nppeghdfaen : int32;
}

let default_bfjkhkhilai_mutable () : bfjkhkhilai_mutable = {
  hgnfloilneg = 0l;
  nppeghdfaen = 0l;
}

type pmlbcokemme_mutable = {
  mutable ohibnloihci : int32;
  mutable avatar_id_list : int32 list;
  mutable hgnfloilneg : int32;
}

let default_pmlbcokemme_mutable () : pmlbcokemme_mutable = {
  ohibnloihci = 0l;
  avatar_id_list = [];
  hgnfloilneg = 0l;
}

type alepdepldll_mutable = {
  mutable ibllilenejp : scene_battle_info option;
  mutable retcode : int32;
  mutable ohibnloihci : int32;
}

let default_alepdepldll_mutable () : alepdepldll_mutable = {
  ibllilenejp = None;
  retcode = 0l;
  ohibnloihci = 0l;
}

type naagikaillg_mutable = {
  mutable hgnfloilneg : int32;
}

let default_naagikaillg_mutable () : naagikaillg_mutable = {
  hgnfloilneg = 0l;
}

type mjfmcmdhnkg_mutable = {
  mutable retcode : int32;
  mutable hgnfloilneg : int32;
}

let default_mjfmcmdhnkg_mutable () : mjfmcmdhnkg_mutable = {
  retcode = 0l;
  hgnfloilneg = 0l;
}

type akbbkfokide_mutable = {
  mutable ocdbilliofd : aflbhhdjdef option;
}

let default_akbbkfokide_mutable () : akbbkfokide_mutable = {
  ocdbilliofd = None;
}

type ipockoabfmh_mutable = {
  mutable lineup : heliobus_challenge_lineup option;
}

let default_ipockoabfmh_mutable () : ipockoabfmh_mutable = {
  lineup = None;
}

type balokbjaphf_mutable = {
  mutable hgnfloilneg : int32;
  mutable ikpjplopmjk : int32;
  mutable bnpfaleifaj : int32;
  mutable chbdfdolhoc : bool;
  mutable prop_entity_id : int32;
  mutable avatar_list : int32 list;
}

let default_balokbjaphf_mutable () : balokbjaphf_mutable = {
  hgnfloilneg = 0l;
  ikpjplopmjk = 0l;
  bnpfaleifaj = 0l;
  chbdfdolhoc = false;
  prop_entity_id = 0l;
  avatar_list = [];
}

type dnlbhaceial_mutable = {
  mutable akkgoefpgdl : scene_info option;
  mutable lineup : lineup_info option;
  mutable world_level : int32;
  mutable ikpjplopmjk : int32;
}

let default_dnlbhaceial_mutable () : dnlbhaceial_mutable = {
  akkgoefpgdl = None;
  lineup = None;
  world_level = 0l;
  ikpjplopmjk = 0l;
}

type lkgnphblpef_mutable = {
  mutable scene : dnlbhaceial option;
  mutable retcode : int32;
}

let default_lkgnphblpef_mutable () : lkgnphblpef_mutable = {
  scene = None;
  retcode = 0l;
}

type mdlbakehplp_mutable = {
  mutable rank : int32;
  mutable promotion : int32;
  mutable exp : int32;
  mutable unique_id : int32;
  mutable level : int32;
  mutable alelfancgei : int32;
  mutable mkmllbdhmbf : bool;
  mutable hechfpdiado : int32;
}

let default_mdlbakehplp_mutable () : mdlbakehplp_mutable = {
  rank = 0l;
  promotion = 0l;
  exp = 0l;
  unique_id = 0l;
  level = 0l;
  alelfancgei = 0l;
  mkmllbdhmbf = false;
  hechfpdiado = 0l;
}

type lhpihhdiplm_mutable = {
  mutable midlnaigncg : bool;
  mutable main_affix_id : int32;
  mutable exp : int32;
  mutable unique_id : int32;
  mutable level : int32;
  mutable hechfpdiado : int32;
  mutable alelfancgei : int32;
  mutable sub_affix_list : relic_affix list;
  mutable mkmllbdhmbf : bool;
}

let default_lhpihhdiplm_mutable () : lhpihhdiplm_mutable = {
  midlnaigncg = false;
  main_affix_id = 0l;
  exp = 0l;
  unique_id = 0l;
  level = 0l;
  hechfpdiado = 0l;
  alelfancgei = 0l;
  sub_affix_list = [];
  mkmllbdhmbf = false;
}

type aoacdcgcmej_mutable = {
  mutable hechfpdiado : int32;
  mutable npcgokkdhdf : int64;
  mutable kagnbjdmamf : int32;
}

let default_aoacdcgcmej_mutable () : aoacdcgcmej_mutable = {
  hechfpdiado = 0l;
  npcgokkdhdf = 0L;
  kagnbjdmamf = 0l;
}

type ipcffjhaijg_mutable = {
  mutable kagnbjdmamf : int32;
  mutable hechfpdiado : int32;
}

let default_ipcffjhaijg_mutable () : ipcffjhaijg_mutable = {
  kagnbjdmamf = 0l;
  hechfpdiado = 0l;
}

type lglodndhijb_mutable = {
  mutable kagnbjdmamf : int32;
  mutable npcgokkdhdf : int64;
  mutable hechfpdiado : int32;
}

let default_lglodndhijb_mutable () : lglodndhijb_mutable = {
  kagnbjdmamf = 0l;
  npcgokkdhdf = 0L;
  hechfpdiado = 0l;
}

type mcapbopbnaj_mutable = {
  mutable ikhicomcdhp : int32 list;
  mutable ibigdplhfkc : aoacdcgcmej list;
  mutable deadfemndnk : ipcffjhaijg list;
  mutable iinhlljekcd : pile_item list;
  mutable epbibaobeoj : lglodndhijb list;
  mutable relic_list : lhpihhdiplm list;
  mutable flnjichokac : lglodndhijb list;
  mutable retcode : int32;
  mutable geidcjnjmma : int32;
  mutable ngegmhahglm : int32 list;
  mutable equipment_list : mdlbakehplp list;
  mutable jlkdhmeecjm : koedfpccpch list;
  mutable egmlhakbkmc : aoacdcgcmej list;
  mutable kjibmefiben : int32 list;
}

let default_mcapbopbnaj_mutable () : mcapbopbnaj_mutable = {
  ikhicomcdhp = [];
  ibigdplhfkc = [];
  deadfemndnk = [];
  iinhlljekcd = [];
  epbibaobeoj = [];
  relic_list = [];
  flnjichokac = [];
  retcode = 0l;
  geidcjnjmma = 0l;
  ngegmhahglm = [];
  equipment_list = [];
  jlkdhmeecjm = [];
  egmlhakbkmc = [];
  kjibmefiben = [];
}

type hfjepdgbohe_mutable = {
  mutable lohpklihemj : item_cost_data option;
  mutable fbieckfjhid : int32;
}

let default_hfjepdgbohe_mutable () : hfjepdgbohe_mutable = {
  lohpklihemj = None;
  fbieckfjhid = 0l;
}

type gdmeoillmgg_mutable = {
  mutable retcode : int32;
}

let default_gdmeoillmgg_mutable () : gdmeoillmgg_mutable = {
  retcode = 0l;
}

type jeobbmnfndi_mutable = {
  mutable jhpabfhpimo : int32 list;
  mutable figgbmnlcdb : bool;
}

let default_jeobbmnfndi_mutable () : jeobbmnfndi_mutable = {
  jhpabfhpimo = [];
  figgbmnlcdb = false;
}

type jhnkccepneb_mutable = {
  mutable retcode : int32;
}

let default_jhnkccepneb_mutable () : jhnkccepneb_mutable = {
  retcode = 0l;
}

type kmkdljlllec_mutable = {
  mutable apbdbeabddj : int32;
  mutable feonppdpkoj : int32;
  mutable nejlfhfmjgb : int32;
  mutable efjhleknapg : bool;
  mutable kohajfmhiio : avatar_type;
  mutable base_avatar_id : int32;
}

let default_kmkdljlllec_mutable () : kmkdljlllec_mutable = {
  apbdbeabddj = 0l;
  feonppdpkoj = 0l;
  nejlfhfmjgb = 0l;
  efjhleknapg = false;
  kohajfmhiio = default_avatar_type ();
  base_avatar_id = 0l;
}

type emhlhjhbmam_mutable = {
  mutable feonppdpkoj : int32;
  mutable ngkaoednndn : item_list option;
  mutable ohpbgbelimn : int32;
  mutable nejlfhfmjgb : int32;
  mutable retcode : int32;
  mutable afmgandnccg : int64;
}

let default_emhlhjhbmam_mutable () : emhlhjhbmam_mutable = {
  feonppdpkoj = 0l;
  ngkaoednndn = None;
  ohpbgbelimn = 0l;
  nejlfhfmjgb = 0l;
  retcode = 0l;
  afmgandnccg = 0L;
}

type ikilhkgmpgo_mutable = {
  mutable lohpklihemj : item_cost_data option;
  mutable fbieckfjhid : int32;
}

let default_ikilhkgmpgo_mutable () : ikilhkgmpgo_mutable = {
  lohpklihemj = None;
  fbieckfjhid = 0l;
}

type ganlnnedpfp_mutable = {
  mutable retcode : int32;
}

let default_ganlnnedpfp_mutable () : ganlnnedpfp_mutable = {
  retcode = 0l;
}

type ijaofbkgbfo_mutable = {
  mutable lohpklihemj : item_cost_data option;
  mutable fbieckfjhid : int32;
}

let default_ijaofbkgbfo_mutable () : ijaofbkgbfo_mutable = {
  lohpklihemj = None;
  fbieckfjhid = 0l;
}

type fhoadbjimao_mutable = {
  mutable retcode : int32;
  mutable return_item_list : pile_item list;
}

let default_fhoadbjimao_mutable () : fhoadbjimao_mutable = {
  retcode = 0l;
  return_item_list = [];
}

type hmlkkldifnp_mutable = {
  mutable gbejhehoojg : item_cost_data option;
  mutable count : int32;
  mutable kcededdikfd : int32;
}

let default_hmlkkldifnp_mutable () : hmlkkldifnp_mutable = {
  gbejhehoojg = None;
  count = 0l;
  kcededdikfd = 0l;
}

type oniajnkdgah_mutable = {
  mutable retcode : int32;
  mutable return_item_list : item_list option;
  mutable count : int32;
  mutable kcededdikfd : int32;
}

let default_oniajnkdgah_mutable () : oniajnkdgah_mutable = {
  retcode = 0l;
  return_item_list = None;
  count = 0l;
  kcededdikfd = 0l;
}

type lejkofpfmeg_mutable = {
  mutable gbejhehoojg : item_cost_data option;
  mutable dacmhmgikdn : int32;
  mutable kcededdikfd : int32;
  mutable count : int32;
  mutable main_affix_id : int32;
}

let default_lejkofpfmeg_mutable () : lejkofpfmeg_mutable = {
  gbejhehoojg = None;
  dacmhmgikdn = 0l;
  kcededdikfd = 0l;
  count = 0l;
  main_affix_id = 0l;
}

type mfacgpoflcm_mutable = {
  mutable return_item_list : item_list option;
  mutable retcode : int32;
  mutable kcededdikfd : int32;
}

let default_mfacgpoflcm_mutable () : mfacgpoflcm_mutable = {
  return_item_list = None;
  retcode = 0l;
  kcededdikfd = 0l;
}

type noinphijimb_mutable = {
  mutable nfjcagcjbib : int32;
  mutable lohpklihemj : item_cost_data option;
}

let default_noinphijimb_mutable () : noinphijimb_mutable = {
  nfjcagcjbib = 0l;
  lohpklihemj = None;
}

type ldobfgmocga_mutable = {
  mutable return_item_list : pile_item list;
  mutable retcode : int32;
}

let default_ldobfgmocga_mutable () : ldobfgmocga_mutable = {
  return_item_list = [];
  retcode = 0l;
}

type aclpgkbjijb_mutable = {
  mutable lkamihdhkbe : bool;
  mutable bkjpbalpell : int32 list;
  mutable figgbmnlcdb : bool;
}

let default_aclpgkbjijb_mutable () : aclpgkbjijb_mutable = {
  lkamihdhkbe = false;
  bkjpbalpell = [];
  figgbmnlcdb = false;
}

type ifcjmpeohmd_mutable = {
  mutable retcode : int32;
}

let default_ifcjmpeohmd_mutable () : ifcjmpeohmd_mutable = {
  retcode = 0l;
}

type pobgcfghpic_mutable = {
  mutable bdfbfehlfgf : bool;
  mutable bkjpbalpell : int32 list;
  mutable lkamihdhkbe : bool;
}

let default_pobgcfghpic_mutable () : pobgcfghpic_mutable = {
  bdfbfehlfgf = false;
  bkjpbalpell = [];
  lkamihdhkbe = false;
}

type klemlcaknap_mutable = {
  mutable retcode : int32;
  mutable bdfbfehlfgf : bool;
}

let default_klemlcaknap_mutable () : klemlcaknap_mutable = {
  retcode = 0l;
  bdfbfehlfgf = false;
}

type pcjhdmjibck_mutable = {
  mutable lohpklihemj : item_cost_data option;
  mutable fkodidbfdfn : bool;
}

let default_pcjhdmjibck_mutable () : pcjhdmjibck_mutable = {
  lohpklihemj = None;
  fkodidbfdfn = false;
}

type lfjfcpdbgkk_mutable = {
  mutable return_item_list : item_list option;
  mutable retcode : int32;
}

let default_lfjfcpdbgkk_mutable () : lfjfcpdbgkk_mutable = {
  return_item_list = None;
  retcode = 0l;
}

type recharge_succ_notify_mutable = {
  mutable item_list : item_list option;
  mutable product_id : string;
  mutable channel_order_no : string;
  mutable month_card_outdate_time : int64;
}

let default_recharge_succ_notify_mutable () : recharge_succ_notify_mutable = {
  item_list = None;
  product_id = "";
  channel_order_no = "";
  month_card_outdate_time = 0L;
}

type cjgmgileblk_mutable = {
  mutable kagnbjdmamf : int32;
}

let default_cjgmgileblk_mutable () : cjgmgileblk_mutable = {
  kagnbjdmamf = 0l;
}

type exchange_hcoin_sc_rsp_mutable = {
  mutable num : int32;
  mutable retcode : int32;
}

let default_exchange_hcoin_sc_rsp_mutable () : exchange_hcoin_sc_rsp_mutable = {
  num = 0l;
  retcode = 0l;
}

type cjijjahdjpa_mutable = {
  mutable dkgkfeeajpd : int32;
}

let default_cjijjahdjpa_mutable () : cjijjahdjpa_mutable = {
  dkgkfeeajpd = 0l;
}

type jkokdmdgidk_mutable = {
  mutable icopfphppdi : int32 list;
}

let default_jkokdmdgidk_mutable () : jkokdmdgidk_mutable = {
  icopfphppdi = [];
}

type aaimdlacgcn_mutable = {
  mutable retcode : int32;
  mutable flnjichokac : lglodndhijb list;
}

let default_aaimdlacgcn_mutable () : aaimdlacgcn_mutable = {
  retcode = 0l;
  flnjichokac = [];
}

type kochkckdbhe_mutable = {
  mutable memkmmilpkd : int32;
  mutable bgecmdbfigi : int32;
}

let default_kochkckdbhe_mutable () : kochkckdbhe_mutable = {
  memkmmilpkd = 0l;
  bgecmdbfigi = 0l;
}

type dbidbcochhl_mutable = {
  mutable nehijgifbke : kochkckdbhe list;
}

let default_dbidbcochhl_mutable () : dbidbcochhl_mutable = {
  nehijgifbke = [];
}

type eackoplgbme_mutable = {
  mutable elnbhiipadp : kochkckdbhe option;
}

let default_eackoplgbme_mutable () : eackoplgbme_mutable = {
  elnbhiipadp = None;
}

type hacbjelpoac_mutable = {
  mutable olfhccbiidg : int32;
  mutable elkbpopdpjg : int32;
  mutable hgjolgkaofj : int32;
}

let default_hacbjelpoac_mutable () : hacbjelpoac_mutable = {
  olfhccbiidg = 0l;
  elkbpopdpjg = 0l;
  hgjolgkaofj = 0l;
}

type mnedfmiemjm_mutable = {
  mutable elkbpopdpjg : int32;
  mutable retcode : int32;
}

let default_mnedfmiemjm_mutable () : mnedfmiemjm_mutable = {
  elkbpopdpjg = 0l;
  retcode = 0l;
}

type ikhfcbbolnd_mutable = {
  mutable gddbahogfki : int32 list;
  mutable retcode : int32;
}

let default_ikhfcbbolnd_mutable () : ikhfcbbolnd_mutable = {
  gddbahogfki = [];
  retcode = 0l;
}

type cnceleggnlo_mutable = {
  mutable hgjolgkaofj : int32;
  mutable bplpnnijlji : bool;
}

let default_cnceleggnlo_mutable () : cnceleggnlo_mutable = {
  hgjolgkaofj = 0l;
  bplpnnijlji = false;
}

type efomgnkkdgd_mutable = {
  mutable retcode : int32;
  mutable hgjolgkaofj : int32;
  mutable bplpnnijlji : bool;
}

let default_efomgnkkdgd_mutable () : efomgnkkdgd_mutable = {
  retcode = 0l;
  hgjolgkaofj = 0l;
  bplpnnijlji = false;
}

type fnbfccfghfn_mutable = {
  mutable hgjolgkaofj : int32;
}

let default_fnbfccfghfn_mutable () : fnbfccfghfn_mutable = {
  hgjolgkaofj = 0l;
}

type lhimlhffkmg_mutable = {
  mutable kjibmefiben : int32 list;
  mutable jlkdhmeecjm : koedfpccpch list;
}

let default_lhimlhffkmg_mutable () : lhimlhffkmg_mutable = {
  kjibmefiben = [];
  jlkdhmeecjm = [];
}

type gkjmimbbdnl_mutable = {
  mutable lcidaenomif : bool;
  mutable dpigkeokfmk : koedfpccpch;
}

let default_gkjmimbbdnl_mutable () : gkjmimbbdnl_mutable = {
  lcidaenomif = false;
  dpigkeokfmk = default_koedfpccpch ();
}

type mjbmdpigdlk_mutable = {
  mutable lcidaenomif : bool;
  mutable retcode : int32;
  mutable dpigkeokfmk : koedfpccpch;
}

let default_mjbmdpigdlk_mutable () : mjbmdpigdlk_mutable = {
  lcidaenomif = false;
  retcode = 0l;
  dpigkeokfmk = default_koedfpccpch ();
}

type kikenjaacap_mutable = {
  mutable gekinokmmci : pile_item list;
  mutable ncfldodhkod : bool;
}

let default_kikenjaacap_mutable () : kikenjaacap_mutable = {
  gekinokmmci = [];
  ncfldodhkod = false;
}

type njfonlgigpk_mutable = {
  mutable kbhcaajjkeh : int32;
  mutable hmofppjjpfn : int32;
  mutable dkgiphjmpih : int32;
}

let default_njfonlgigpk_mutable () : njfonlgigpk_mutable = {
  kbhcaajjkeh = 0l;
  hmofppjjpfn = 0l;
  dkgiphjmpih = 0l;
}

type penkoafkhkl_mutable = {
  mutable ojmhmiobhoi : int32;
  mutable hmofppjjpfn : int32;
}

let default_penkoafkhkl_mutable () : penkoafkhkl_mutable = {
  ojmhmiobhoi = 0l;
  hmofppjjpfn = 0l;
}

type hicihjimcmh_mutable = {
  mutable avatar_id : int32;
}

let default_hicihjimcmh_mutable () : hicihjimcmh_mutable = {
  avatar_id = 0l;
}

type fmeeecoggkf_mutable = {
  mutable hdpcekiljkc : bool;
  mutable retcode : int32;
  mutable avatar_id : int32;
  mutable ohdnajnckog : penkoafkhkl list;
  mutable bomphgjmnib : penkoafkhkl list;
  mutable lmogiabffla : njfonlgigpk list;
  mutable moangckpldg : penkoafkhkl list;
  mutable eekmlegahha : njfonlgigpk list;
  mutable noocbpmnmac : penkoafkhkl list;
}

let default_fmeeecoggkf_mutable () : fmeeecoggkf_mutable = {
  hdpcekiljkc = false;
  retcode = 0l;
  avatar_id = 0l;
  ohdnajnckog = [];
  bomphgjmnib = [];
  lmogiabffla = [];
  moangckpldg = [];
  eekmlegahha = [];
  noocbpmnmac = [];
}

type joegfcinapg_mutable = {
  mutable ncplfkbobdj : int32;
}

let default_joegfcinapg_mutable () : joegfcinapg_mutable = {
  ncplfkbobdj = 0l;
}

type glcehkpmbjo_mutable = {
  mutable hdpcekiljkc : bool;
  mutable ncplfkbobdj : int32;
  mutable retcode : int32;
  mutable avatar_id_list : int32 list;
}

let default_glcehkpmbjo_mutable () : glcehkpmbjo_mutable = {
  hdpcekiljkc = false;
  ncplfkbobdj = 0l;
  retcode = 0l;
  avatar_id_list = [];
}

type relic_filter_plan_icon_mutable = {
  mutable is_avatar_icon : bool;
  mutable icon_id : int32;
}

let default_relic_filter_plan_icon_mutable () : relic_filter_plan_icon_mutable = {
  is_avatar_icon = false;
  icon_id = 0l;
}

type relic_filter_plan_mutable = {
  mutable icon : relic_filter_plan_icon option;
  mutable update_timestamp : int64;
  mutable settings : relic_filter_plan_settings option;
  mutable name : string;
  mutable slot_index : int32;
  mutable is_marked : bool;
}

let default_relic_filter_plan_mutable () : relic_filter_plan_mutable = {
  icon = None;
  update_timestamp = 0L;
  settings = None;
  name = "";
  slot_index = 0l;
  is_marked = false;
}

type get_relic_filter_plan_sc_rsp_mutable = {
  mutable retcode : int32;
  mutable relic_filter_plan_list : relic_filter_plan list;
}

let default_get_relic_filter_plan_sc_rsp_mutable () : get_relic_filter_plan_sc_rsp_mutable = {
  retcode = 0l;
  relic_filter_plan_list = [];
}

type add_relic_filter_plan_cs_req_mutable = {
  mutable icon : relic_filter_plan_icon option;
  mutable is_marked : bool;
  mutable settings : relic_filter_plan_settings option;
  mutable name : string;
}

let default_add_relic_filter_plan_cs_req_mutable () : add_relic_filter_plan_cs_req_mutable = {
  icon = None;
  is_marked = false;
  settings = None;
  name = "";
}

type add_relic_filter_plan_sc_rsp_mutable = {
  mutable plan : relic_filter_plan option;
  mutable retcode : int32;
}

let default_add_relic_filter_plan_sc_rsp_mutable () : add_relic_filter_plan_sc_rsp_mutable = {
  plan = None;
  retcode = 0l;
}

type modify_relic_filter_plan_cs_req_mutable = {
  mutable slot_index : int32;
  mutable name : string;
  mutable icon : relic_filter_plan_icon option;
  mutable settings : relic_filter_plan_settings option;
}

let default_modify_relic_filter_plan_cs_req_mutable () : modify_relic_filter_plan_cs_req_mutable = {
  slot_index = 0l;
  name = "";
  icon = None;
  settings = None;
}

type modify_relic_filter_plan_sc_rsp_mutable = {
  mutable retcode : int32;
  mutable slot_index : int32;
  mutable update_timestamp : int64;
  mutable name : string;
  mutable icon : relic_filter_plan_icon option;
  mutable settings : relic_filter_plan_settings option;
}

let default_modify_relic_filter_plan_sc_rsp_mutable () : modify_relic_filter_plan_sc_rsp_mutable = {
  retcode = 0l;
  slot_index = 0l;
  update_timestamp = 0L;
  name = "";
  icon = None;
  settings = None;
}

type delete_relic_filter_plan_cs_req_mutable = {
  mutable is_batch_op : bool;
  mutable slot_index_list : int32 list;
}

let default_delete_relic_filter_plan_cs_req_mutable () : delete_relic_filter_plan_cs_req_mutable = {
  is_batch_op = false;
  slot_index_list = [];
}

type pnldeoafcne_mutable = {
  mutable retcode : int32;
  mutable npedodmagkl : int32 list;
}

let default_pnldeoafcne_mutable () : pnldeoafcne_mutable = {
  retcode = 0l;
  npedodmagkl = [];
}

type mark_relic_filter_plan_cs_req_mutable = {
  mutable is_batch_op : bool;
  mutable is_mark : bool;
  mutable slot_index_list : int32 list;
}

let default_mark_relic_filter_plan_cs_req_mutable () : mark_relic_filter_plan_cs_req_mutable = {
  is_batch_op = false;
  is_mark = false;
  slot_index_list = [];
}

type mark_relic_filter_plan_sc_rsp_mutable = {
  mutable is_mark : bool;
  mutable slot_index_list : int32 list;
  mutable retcode : int32;
}

let default_mark_relic_filter_plan_sc_rsp_mutable () : mark_relic_filter_plan_sc_rsp_mutable = {
  is_mark = false;
  slot_index_list = [];
  retcode = 0l;
}

type ecjbbepkkmj_mutable = {
  mutable afefamkndoo : int32;
}

let default_ecjbbepkkmj_mutable () : ecjbbepkkmj_mutable = {
  afefamkndoo = 0l;
}

type knfclkceeah_mutable = {
  mutable id : int32;
  mutable group_id : int32;
  mutable efnegejdilo : bool;
}

let default_knfclkceeah_mutable () : knfclkceeah_mutable = {
  id = 0l;
  group_id = 0l;
  efnegejdilo = false;
}

type jehaofaoeok_mutable = {
  mutable jadihfhpmkh : knfclkceeah list;
  mutable hbdienejlfn : int32;
  mutable retcode : int32;
}

let default_jehaofaoeok_mutable () : jehaofaoeok_mutable = {
  jadihfhpmkh = [];
  hbdienejlfn = 0l;
  retcode = 0l;
}

type hphkmadefmi_mutable = {
  mutable dhppkijmkjg : int32;
}

let default_hphkmadefmi_mutable () : hphkmadefmi_mutable = {
  dhppkijmkjg = 0l;
}

type glakeaclkli_mutable = {
  mutable retcode : int32;
  mutable dhppkijmkjg : int32;
  mutable hbdienejlfn : int32;
}

let default_glakeaclkli_mutable () : glakeaclkli_mutable = {
  retcode = 0l;
  dhppkijmkjg = 0l;
  hbdienejlfn = 0l;
}

type egdjkildooa_mutable = {
  mutable lejnihkjibm : int32 list;
}

let default_egdjkildooa_mutable () : egdjkildooa_mutable = {
  lejnihkjibm = [];
}

type hpogjbmmnaa_mutable = {
  mutable jadihfhpmkh : knfclkceeah list;
  mutable retcode : int32;
  mutable bbjgjddfgdi : int32 list;
}

let default_hpogjbmmnaa_mutable () : hpogjbmmnaa_mutable = {
  jadihfhpmkh = [];
  retcode = 0l;
  bbjgjddfgdi = [];
}

type dkbnpdmbhoa_mutable = {
  mutable aohkoelbjjc : int32;
}

let default_dkbnpdmbhoa_mutable () : dkbnpdmbhoa_mutable = {
  aohkoelbjjc = 0l;
}

type gfmjolhdmld_mutable = {
  mutable retcode : int32;
  mutable aohkoelbjjc : int32;
}

let default_gfmjolhdmld_mutable () : gfmjolhdmld_mutable = {
  retcode = 0l;
  aohkoelbjjc = 0l;
}

type gcfbakphcpf_mutable = {
  mutable pkmpoapokhl : int32;
  mutable nmedaaeibfk : int32;
}

let default_gcfbakphcpf_mutable () : gcfbakphcpf_mutable = {
  pkmpoapokhl = 0l;
  nmedaaeibfk = 0l;
}

type knhhjmcbnea_mutable = {
  mutable bdgmfbaffnm : gcfbakphcpf list;
  mutable retcode : int32;
}

let default_knhhjmcbnea_mutable () : knhhjmcbnea_mutable = {
  bdgmfbaffnm = [];
  retcode = 0l;
}

type get_cur_lineup_data_sc_rsp_mutable = {
  mutable lineup : lineup_info option;
  mutable retcode : int32;
}

let default_get_cur_lineup_data_sc_rsp_mutable () : get_cur_lineup_data_sc_rsp_mutable = {
  lineup = None;
  retcode = 0l;
}

type ojallcafkeo_mutable = {
  mutable slot : int32;
  mutable index : int32;
  mutable base_avatar_id : int32;
  mutable is_virtual : bool;
  mutable avatar_type : avatar_type;
  mutable plane_id : int32;
  mutable extra_lineup_type : extra_lineup_type;
}

let default_ojallcafkeo_mutable () : ojallcafkeo_mutable = {
  slot = 0l;
  index = 0l;
  base_avatar_id = 0l;
  is_virtual = false;
  avatar_type = default_avatar_type ();
  plane_id = 0l;
  extra_lineup_type = default_extra_lineup_type ();
}

type ohfahbfdpoj_mutable = {
  mutable retcode : int32;
}

let default_ohfahbfdpoj_mutable () : ohfahbfdpoj_mutable = {
  retcode = 0l;
}

type ffglfjgkkep_mutable = {
  mutable extra_lineup_type : extra_lineup_type;
  mutable avatar_type : avatar_type;
  mutable base_avatar_id : int32;
  mutable index : int32;
  mutable is_virtual : bool;
  mutable plane_id : int32;
}

let default_ffglfjgkkep_mutable () : ffglfjgkkep_mutable = {
  extra_lineup_type = default_extra_lineup_type ();
  avatar_type = default_avatar_type ();
  base_avatar_id = 0l;
  index = 0l;
  is_virtual = false;
  plane_id = 0l;
}

type cjeipadcdjl_mutable = {
  mutable is_virtual : bool;
  mutable aeoafelaneo : bool;
  mutable base_avatar_id : int32;
  mutable retcode : int32;
  mutable plane_id : int32;
}

let default_cjeipadcdjl_mutable () : cjeipadcdjl_mutable = {
  is_virtual = false;
  aeoafelaneo = false;
  base_avatar_id = 0l;
  retcode = 0l;
  plane_id = 0l;
}

type kniinhmfihm_mutable = {
  mutable is_virtual : bool;
  mutable bdkilpahpgb : int32;
  mutable extra_lineup_type : extra_lineup_type;
  mutable index : int32;
  mutable plane_id : int32;
  mutable agkkdgnhcbh : int32;
}

let default_kniinhmfihm_mutable () : kniinhmfihm_mutable = {
  is_virtual = false;
  bdkilpahpgb = 0l;
  extra_lineup_type = default_extra_lineup_type ();
  index = 0l;
  plane_id = 0l;
  agkkdgnhcbh = 0l;
}

type dpjippgdpac_mutable = {
  mutable retcode : int32;
}

let default_dpjippgdpac_mutable () : dpjippgdpac_mutable = {
  retcode = 0l;
}

type sync_lineup_notify_mutable = {
  mutable reason_list : sync_lineup_reason list;
  mutable lineup : lineup_info option;
}

let default_sync_lineup_notify_mutable () : sync_lineup_notify_mutable = {
  reason_list = [];
  lineup = None;
}

type pkokliocjho_mutable = {
  mutable avatar_type : avatar_type;
  mutable hp : int32;
  mutable id : int32;
}

let default_pkokliocjho_mutable () : pkokliocjho_mutable = {
  avatar_type = default_avatar_type ();
  hp = 0l;
  id = 0l;
}

type dfdcahepikp_mutable = {
  mutable opimhcppnbc : pkokliocjho list;
  mutable retcode : int32;
}

let default_dfdcahepikp_mutable () : dfdcahepikp_mutable = {
  opimhcppnbc = [];
  retcode = 0l;
}

type lnheeohdggj_mutable = {
  mutable slot : int32;
}

let default_lnheeohdggj_mutable () : lnheeohdggj_mutable = {
  slot = 0l;
}

type abmheggkjlj_mutable = {
  mutable retcode : int32;
  mutable slot : int32;
}

let default_abmheggkjlj_mutable () : abmheggkjlj_mutable = {
  retcode = 0l;
  slot = 0l;
}

type efpogadjkbf_mutable = {
  mutable index : int32;
}

let default_efpogadjkbf_mutable () : efpogadjkbf_mutable = {
  index = 0l;
}

type alpmagelkdp_mutable = {
  mutable index : int32;
  mutable retcode : int32;
}

let default_alpmagelkdp_mutable () : alpmagelkdp_mutable = {
  index = 0l;
  retcode = 0l;
}

type jmmngdpfccf_mutable = {
  mutable name : string;
  mutable index : int32;
}

let default_jmmngdpfccf_mutable () : jmmngdpfccf_mutable = {
  name = "";
  index = 0l;
}

type empobajddco_mutable = {
  mutable retcode : int32;
  mutable name : string;
  mutable index : int32;
}

let default_empobajddco_mutable () : empobajddco_mutable = {
  retcode = 0l;
  name = "";
  index = 0l;
}

type aclgjhedfaa_mutable = {
  mutable hifmklongnc : int32;
  mutable kbognlnlcle : lineup_info list;
  mutable retcode : int32;
}

let default_aclgjhedfaa_mutable () : aclgjhedfaa_mutable = {
  hifmklongnc = 0l;
  kbognlnlcle = [];
  retcode = 0l;
}

type aocfcjppedm_mutable = {
  mutable plane_id : int32;
}

let default_aocfcjppedm_mutable () : aocfcjppedm_mutable = {
  plane_id = 0l;
}

type hiakofmgdlp_mutable = {
  mutable id : int32;
  mutable avatar_type : avatar_type;
  mutable slot : int32;
}

let default_hiakofmgdlp_mutable () : hiakofmgdlp_mutable = {
  id = 0l;
  avatar_type = default_avatar_type ();
  slot = 0l;
}

type fibefodmgem_mutable = {
  mutable is_virtual : bool;
  mutable ijnpccndcgi : int32;
  mutable plane_id : int32;
  mutable extra_lineup_type : extra_lineup_type;
  mutable kclnaimofdl : int32;
  mutable mpeggadcgge : hiakofmgdlp list;
  mutable index : int32;
}

let default_fibefodmgem_mutable () : fibefodmgem_mutable = {
  is_virtual = false;
  ijnpccndcgi = 0l;
  plane_id = 0l;
  extra_lineup_type = default_extra_lineup_type ();
  kclnaimofdl = 0l;
  mpeggadcgge = [];
  index = 0l;
}

type ahbjhkinbil_mutable = {
  mutable retcode : int32;
}

let default_ahbjhkinbil_mutable () : ahbjhkinbil_mutable = {
  retcode = 0l;
}

type ekmckmcokia_mutable = {
  mutable extra_lineup_type : extra_lineup_type;
}

let default_ekmckmcokia_mutable () : ekmckmcokia_mutable = {
  extra_lineup_type = default_extra_lineup_type ();
}

type lbjfonmlbmj_mutable = {
  mutable iiidiaplofb : lnnkgnfmmll option;
  mutable dfpkdpmefac : gkkpbgmoodd;
}

let default_lbjfonmlbmj_mutable () : lbjfonmlbmj_mutable = {
  iiidiaplofb = None;
  dfpkdpmefac = default_gkkpbgmoodd ();
}

type clpnbpcgldl_mutable = {
  mutable mfdelanaicp : int64;
  mutable retcode : int32;
  mutable dfpkdpmefac : gkkpbgmoodd;
  mutable pcmhnpbecpk : egokacjfaen list;
}

let default_clpnbpcgldl_mutable () : clpnbpcgldl_mutable = {
  mfdelanaicp = 0L;
  retcode = 0l;
  dfpkdpmefac = default_gkkpbgmoodd ();
  pcmhnpbecpk = [];
}

type ofpmcomndcd_mutable = {
  mutable pknbckelhkm : int32 list;
}

let default_ofpmcomndcd_mutable () : ofpmcomndcd_mutable = {
  pknbckelhkm = [];
}

type pafhbihlbca_mutable = {
  mutable retcode : int32;
  mutable pknbckelhkm : int32 list;
}

let default_pafhbihlbca_mutable () : pafhbihlbca_mutable = {
  retcode = 0l;
  pknbckelhkm = [];
}

type gbhfcbmhghk_mutable = {
  mutable mfdelanaicp : int64;
  mutable iiidiaplofb : lnnkgnfmmll option;
}

let default_gbhfcbmhghk_mutable () : gbhfcbmhghk_mutable = {
  mfdelanaicp = 0L;
  iiidiaplofb = None;
}

type kikicpknoeb_mutable = {
  mutable mfdelanaicp : int64;
  mutable retcode : int32;
  mutable pcmhnpbecpk : egokacjfaen list;
  mutable dfpkdpmefac : gkkpbgmoodd;
}

let default_kikicpknoeb_mutable () : kikicpknoeb_mutable = {
  mfdelanaicp = 0L;
  retcode = 0l;
  pcmhnpbecpk = [];
  dfpkdpmefac = default_gkkpbgmoodd ();
}

type gjofkipdifm_mutable = {
  mutable retcode : int32;
}

let default_gjofkipdifm_mutable () : gjofkipdifm_mutable = {
  retcode = 0l;
}

type jaeonekdhmo_mutable = {
  mutable retcode : int32;
  mutable pcmhnpbecpk : egokacjfaen list;
}

let default_jaeonekdhmo_mutable () : jaeonekdhmo_mutable = {
  retcode = 0l;
  pcmhnpbecpk = [];
}

type bnhoegcoljl_mutable = {
  mutable fgmdoekgpee : ejnhbdlcndj;
  mutable hfhghfhomfn : int32;
  mutable iiidiaplofb : lnnkgnfmmll option;
}

let default_bnhoegcoljl_mutable () : bnhoegcoljl_mutable = {
  fgmdoekgpee = default_ejnhbdlcndj ();
  hfhghfhomfn = 0l;
  iiidiaplofb = None;
}

type npnpnbjahki_mutable = {
  mutable retcode : int32;
}

let default_npnpnbjahki_mutable () : npnpnbjahki_mutable = {
  retcode = 0l;
}

type dhhnemhmgma_mutable = {
  mutable uid : int32;
  mutable fgmdoekgpee : ejnhbdlcndj;
  mutable pcmhnpbecpk : egokacjfaen list;
}

let default_dhhnemhmgma_mutable () : dhhnemhmgma_mutable = {
  uid = 0l;
  fgmdoekgpee = default_ejnhbdlcndj ();
  pcmhnpbecpk = [];
}

type lfkkogmpbao_mutable = {
  mutable uid : int32;
}

let default_lfkkogmpbao_mutable () : lfkkogmpbao_mutable = {
  uid = 0l;
}

type npcdkngjimc_mutable = {
  mutable retcode : int32;
}

let default_npcdkngjimc_mutable () : npcdkngjimc_mutable = {
  retcode = 0l;
}

type geddfnpdnao_mutable = {
  mutable ehjdlppngmf : int32;
  mutable dfpkdpmefac : gkkpbgmoodd;
  mutable mfdelanaicp : int32;
}

let default_geddfnpdnao_mutable () : geddfnpdnao_mutable = {
  ehjdlppngmf = 0l;
  dfpkdpmefac = default_gkkpbgmoodd ();
  mfdelanaicp = 0l;
}

type ifanbeggfke_mutable = {
  mutable pcmhnpbecpk : egokacjfaen list;
  mutable jgkindfbegl : int64;
  mutable mfdelanaicp : int64;
  mutable dfpkdpmefac : gkkpbgmoodd;
  mutable retcode : int32;
}

let default_ifanbeggfke_mutable () : ifanbeggfke_mutable = {
  pcmhnpbecpk = [];
  jgkindfbegl = 0L;
  mfdelanaicp = 0L;
  dfpkdpmefac = default_gkkpbgmoodd ();
  retcode = 0l;
}

type hbjjhaendfo_mutable = {
  mutable afiomfffjda : int32;
  mutable enffacoigfn : int32;
}

let default_hbjjhaendfo_mutable () : hbjjhaendfo_mutable = {
  afiomfffjda = 0l;
  enffacoigfn = 0l;
}

type client_mail_mutable = {
  mutable title : string;
  mutable attachment : item_list option;
  mutable id : int32;
  mutable content : string;
  mutable para_list : string list;
  mutable template_id : int32;
  mutable mail_type : boikhbbncba;
  mutable time : int64;
  mutable expire_time : int64;
  mutable is_read : bool;
  mutable sender : string;
}

let default_client_mail_mutable () : client_mail_mutable = {
  title = "";
  attachment = None;
  id = 0l;
  content = "";
  para_list = [];
  template_id = 0l;
  mail_type = default_boikhbbncba ();
  time = 0L;
  expire_time = 0L;
  is_read = false;
  sender = "";
}

type get_mail_sc_rsp_mutable = {
  mutable is_end : bool;
  mutable start : int32;
  mutable notice_mail_list : client_mail list;
  mutable total_num : int32;
  mutable retcode : int32;
  mutable mail_list : client_mail list;
}

let default_get_mail_sc_rsp_mutable () : get_mail_sc_rsp_mutable = {
  is_end = false;
  start = 0l;
  notice_mail_list = [];
  total_num = 0l;
  retcode = 0l;
  mail_list = [];
}

type clmibfaghgk_mutable = {
  mutable id : int32;
}

let default_clmibfaghgk_mutable () : clmibfaghgk_mutable = {
  id = 0l;
}

type ealjpafdbnc_mutable = {
  mutable retcode : int32;
  mutable id : int32;
}

let default_ealjpafdbnc_mutable () : ealjpafdbnc_mutable = {
  retcode = 0l;
  id = 0l;
}

type inhibijgmff_mutable = {
  mutable kflgilkbmpn : int32 list;
}

let default_inhibijgmff_mutable () : inhibijgmff_mutable = {
  kflgilkbmpn = [];
}

type del_mail_sc_rsp_mutable = {
  mutable id_list : int32 list;
  mutable retcode : int32;
}

let default_del_mail_sc_rsp_mutable () : del_mail_sc_rsp_mutable = {
  id_list = [];
  retcode = 0l;
}

type ahgfoojjjkb_mutable = {
  mutable apbdbeabddj : int32;
  mutable ckpljojpmmm : int32 list;
}

let default_ahgfoojjjkb_mutable () : ahgfoojjjkb_mutable = {
  apbdbeabddj = 0l;
  ckpljojpmmm = [];
}

type ejglipokcki_mutable = {
  mutable dkhggieoebb : int32;
  mutable hgjolgkaofj : int32;
}

let default_ejglipokcki_mutable () : ejglipokcki_mutable = {
  dkhggieoebb = 0l;
  hgjolgkaofj = 0l;
}

type take_mail_attachment_sc_rsp_mutable = {
  mutable retcode : int32;
  mutable attachment : item_list option;
  mutable succ_mail_id_list : int32 list;
  mutable fail_mail_list : ejglipokcki list;
}

let default_take_mail_attachment_sc_rsp_mutable () : take_mail_attachment_sc_rsp_mutable = {
  retcode = 0l;
  attachment = None;
  succ_mail_id_list = [];
  fail_mail_list = [];
}

type new_mail_sc_notify_mutable = {
  mutable mail_id_list : int32 list;
}

let default_new_mail_sc_notify_mutable () : new_mail_sc_notify_mutable = {
  mail_id_list = [];
}

type khfdnccflpd_mutable = {
  mutable ohoibnhjifg : int32;
  mutable group_id : int32;
  mutable fpmlllfheph : float;
}

let default_khfdnccflpd_mutable () : khfdnccflpd_mutable = {
  ohoibnhjifg = 0l;
  group_id = 0l;
  fpmlllfheph = 0.;
}

type ocbfmoemnpp_mutable = {
  mutable ohoibnhjifg : int32;
  mutable group_id : int32;
}

let default_ocbfmoemnpp_mutable () : ocbfmoemnpp_mutable = {
  ohoibnhjifg = 0l;
  group_id = 0l;
}

type gnagomfpbhh_mutable = {
  mutable aobmafbkdll : quaternion option;
  mutable hgkfdihpfdm : vector option;
}

let default_gnagomfpbhh_mutable () : gnagomfpbhh_mutable = {
  aobmafbkdll = None;
  hgkfdihpfdm = None;
}

type ihgimimcdpj_mutable = {
  mutable hkohlnhlgnb : int32;
  mutable eolhlhcahff : int32;
}

let default_ihgimimcdpj_mutable () : ihgimimcdpj_mutable = {
  hkohlnhlgnb = 0l;
  eolhlhcahff = 0l;
}

type cioeahefpln_mutable = {
  mutable fmcegofhmgc : int32;
  mutable chmbglidkmm : bool;
  mutable biefgmhpign : khfdnccflpd list;
  mutable bhckkplnonj : ocbfmoemnpp list;
  mutable afdjikffnjd : int32;
  mutable imelchpnpgc : gnagomfpbhh option;
  mutable anecodblgcb : ihgimimcdpj option;
}

let default_cioeahefpln_mutable () : cioeahefpln_mutable = {
  fmcegofhmgc = 0l;
  chmbglidkmm = false;
  biefgmhpign = [];
  bhckkplnonj = [];
  afdjikffnjd = 0l;
  imelchpnpgc = None;
  anecodblgcb = None;
}

type ldobaeloakm_mutable = {
  mutable afdjikffnjd : int32;
  mutable fmcegofhmgc : int32;
  mutable jililehmdkg : motion_info option;
}

let default_ldobaeloakm_mutable () : ldobaeloakm_mutable = {
  afdjikffnjd = 0l;
  fmcegofhmgc = 0l;
  jililehmdkg = None;
}

type malmdonmidf_mutable = {
  mutable anecodblgcb : ihgimimcdpj option;
  mutable retcode : int32;
  mutable fmcegofhmgc : int32;
  mutable micgnniimak : int32;
  mutable afdjikffnjd : int32;
  mutable jililehmdkg : motion_info option;
}

let default_malmdonmidf_mutable () : malmdonmidf_mutable = {
  anecodblgcb = None;
  retcode = 0l;
  fmcegofhmgc = 0l;
  micgnniimak = 0l;
  afdjikffnjd = 0l;
  jililehmdkg = None;
}

type mmdlhgjdmjg_mutable = {
  mutable hiceoeaiape : ocbfmoemnpp option;
}

let default_mmdlhgjdmjg_mutable () : mmdlhgjdmjg_mutable = {
  hiceoeaiape = None;
}

type apcieeocild_mutable = {
  mutable retcode : int32;
  mutable anecodblgcb : ihgimimcdpj option;
  mutable hiceoeaiape : ocbfmoemnpp option;
}

let default_apcieeocild_mutable () : apcieeocild_mutable = {
  retcode = 0l;
  anecodblgcb = None;
  hiceoeaiape = None;
}

type lnfjkiojdib_mutable = {
  mutable hoakecnahpp : khfdnccflpd option;
}

let default_lnfjkiojdib_mutable () : lnfjkiojdib_mutable = {
  hoakecnahpp = None;
}

type ahlcaeifmin_mutable = {
  mutable anecodblgcb : ihgimimcdpj option;
  mutable hoakecnahpp : khfdnccflpd option;
  mutable retcode : int32;
}

let default_ahlcaeifmin_mutable () : ahlcaeifmin_mutable = {
  anecodblgcb = None;
  hoakecnahpp = None;
  retcode = 0l;
}

type bebfhlmmlke_mutable = {
  mutable jililehmdkg : motion_info option;
  mutable group_id : int32;
  mutable imelchpnpgc : gnagomfpbhh option;
  mutable ohoibnhjifg : int32;
}

let default_bebfhlmmlke_mutable () : bebfhlmmlke_mutable = {
  jililehmdkg = None;
  group_id = 0l;
  imelchpnpgc = None;
  ohoibnhjifg = 0l;
}

type ibhoeeiidfk_mutable = {
  mutable retcode : int32;
  mutable jililehmdkg : motion_info option;
  mutable micgnniimak : int32;
}

let default_ibhoeeiidfk_mutable () : ibhoeeiidfk_mutable = {
  retcode = 0l;
  jililehmdkg = None;
  micgnniimak = 0l;
}

type dnccfjilnia_mutable = {
  mutable jililehmdkg : motion_info option;
}

let default_dnccfjilnia_mutable () : dnccfjilnia_mutable = {
  jililehmdkg = None;
}

type nelmkofibag_mutable = {
  mutable micgnniimak : int32;
  mutable retcode : int32;
  mutable jililehmdkg : motion_info option;
}

let default_nelmkofibag_mutable () : nelmkofibag_mutable = {
  micgnniimak = 0l;
  retcode = 0l;
  jililehmdkg = None;
}

type pogkoedgank_mutable = {
  mutable imelchpnpgc : gnagomfpbhh option;
  mutable afdjikffnjd : int32;
  mutable imfipeiffei : bool;
  mutable anecodblgcb : ihgimimcdpj option;
  mutable bhckkplnonj : ocbfmoemnpp list;
  mutable fmcegofhmgc : int32;
  mutable retcode : int32;
  mutable biefgmhpign : khfdnccflpd list;
}

let default_pogkoedgank_mutable () : pogkoedgank_mutable = {
  imelchpnpgc = None;
  afdjikffnjd = 0l;
  imfipeiffei = false;
  anecodblgcb = None;
  bhckkplnonj = [];
  fmcegofhmgc = 0l;
  retcode = 0l;
  biefgmhpign = [];
}

type enilegjbbda_mutable = {
  mutable jililehmdkg : motion_info option;
  mutable imelchpnpgc : gnagomfpbhh option;
}

let default_enilegjbbda_mutable () : enilegjbbda_mutable = {
  jililehmdkg = None;
  imelchpnpgc = None;
}

type bjofngoldef_mutable = {
  mutable retcode : int32;
  mutable micgnniimak : int32;
  mutable jililehmdkg : motion_info option;
}

let default_bjofngoldef_mutable () : bjofngoldef_mutable = {
  retcode = 0l;
  micgnniimak = 0l;
  jililehmdkg = None;
}

type nbdameobjml_mutable = {
  mutable anecodblgcb : ihgimimcdpj option;
}

let default_nbdameobjml_mutable () : nbdameobjml_mutable = {
  anecodblgcb = None;
}

type cohjcefhcmd_mutable = {
  mutable bhckkplnonj : ocbfmoemnpp list;
  mutable anecodblgcb : ihgimimcdpj option;
  mutable imfipeiffei : bool;
  mutable biefgmhpign : khfdnccflpd list;
  mutable fmcegofhmgc : int32;
  mutable afdjikffnjd : int32;
  mutable imelchpnpgc : gnagomfpbhh option;
}

let default_cohjcefhcmd_mutable () : cohjcefhcmd_mutable = {
  bhckkplnonj = [];
  anecodblgcb = None;
  imfipeiffei = false;
  biefgmhpign = [];
  fmcegofhmgc = 0l;
  afdjikffnjd = 0l;
  imelchpnpgc = None;
}

type aigabbmnbpi_mutable = {
  mutable hoakecnahpp : khfdnccflpd option;
}

let default_aigabbmnbpi_mutable () : aigabbmnbpi_mutable = {
  hoakecnahpp = None;
}

type dckpmapfemc_mutable = {
  mutable hoakecnahpp : khfdnccflpd option;
  mutable retcode : int32;
  mutable anecodblgcb : ihgimimcdpj option;
}

let default_dckpmapfemc_mutable () : dckpmapfemc_mutable = {
  hoakecnahpp = None;
  retcode = 0l;
  anecodblgcb = None;
}

type jpjihefieki_mutable = {
  mutable biefgmhpign : khfdnccflpd list;
}

let default_jpjihefieki_mutable () : jpjihefieki_mutable = {
  biefgmhpign = [];
}

type bglacpgnfnh_mutable = {
  mutable dfpkdpmefac : gkkpbgmoodd;
  mutable iiidiaplofb : lnnkgnfmmll option;
}

let default_bglacpgnfnh_mutable () : bglacpgnfnh_mutable = {
  dfpkdpmefac = default_gkkpbgmoodd ();
  iiidiaplofb = None;
}

type hilcokekkin_mutable = {
  mutable retcode : int32;
  mutable iiidiaplofb : lnnkgnfmmll option;
}

let default_hilcokekkin_mutable () : hilcokekkin_mutable = {
  retcode = 0l;
  iiidiaplofb = None;
}

type phindajhpal_mutable = {
  mutable retcode : int32;
}

let default_phindajhpal_mutable () : phindajhpal_mutable = {
  retcode = 0l;
}

type ankmamoalla_mutable = {
  mutable retcode : int32;
  mutable pcmhnpbecpk : egokacjfaen list;
}

let default_ankmamoalla_mutable () : ankmamoalla_mutable = {
  retcode = 0l;
  pcmhnpbecpk = [];
}

type jjkhhndmplc_mutable = {
  mutable retcode : int32;
  mutable mfdelanaicp : int64;
  mutable jgkindfbegl : int64;
  mutable dfpkdpmefac : gkkpbgmoodd;
}

let default_jjkhhndmplc_mutable () : jjkhhndmplc_mutable = {
  retcode = 0l;
  mfdelanaicp = 0L;
  jgkindfbegl = 0L;
  dfpkdpmefac = default_gkkpbgmoodd ();
}

type ngdfidbleeg_mutable = {
  mutable dfmnolgmcag : int32;
  mutable lcmkbhbmdob : int32;
}

let default_ngdfidbleeg_mutable () : ngdfidbleeg_mutable = {
  dfmnolgmcag = 0l;
  lcmkbhbmdob = 0l;
}

type ibilogboici_mutable = {
  mutable kkgeojnphcn : int32;
  mutable count : int32;
  mutable pos : int32;
  mutable eoegloalcho : int32;
}

let default_ibilogboici_mutable () : ibilogboici_mutable = {
  kkgeojnphcn = 0l;
  count = 0l;
  pos = 0l;
  eoegloalcho = 0l;
}

type dfopglpmagj_mutable = {
  mutable bojmeheaade : ngdfidbleeg list;
  mutable pjbahhanmfh : (int32 * int32) list;
  mutable agmoeffpkfe : (int32 * int32) list;
  mutable blnfdkplien : ibilogboici list;
}

let default_dfopglpmagj_mutable () : dfopglpmagj_mutable = {
  bojmeheaade = [];
  pjbahhanmfh = [];
  agmoeffpkfe = [];
  blnfdkplien = [];
}

type ecppcfackjp_mutable = {
  mutable retcode : int32;
  mutable khliailcpno : dfopglpmagj option;
}

let default_ecppcfackjp_mutable () : ecppcfackjp_mutable = {
  retcode = 0l;
  khliailcpno = None;
}

type cpfflpikfcj_mutable = {
  mutable dfmnolgmcag : int32;
  mutable lcmkbhbmdob : int32;
  mutable ebibccdkihb : int32 list;
  mutable eoegloalcho : int32;
  mutable mbmegghhkjl : string;
  mutable agmoeffpkfe : (int32 * int32) list;
  mutable kkgeojnphcn : int32;
}

let default_cpfflpikfcj_mutable () : cpfflpikfcj_mutable = {
  dfmnolgmcag = 0l;
  lcmkbhbmdob = 0l;
  ebibccdkihb = [];
  eoegloalcho = 0l;
  mbmegghhkjl = "";
  agmoeffpkfe = [];
  kkgeojnphcn = 0l;
}

type bcoocleapmc_mutable = {
  mutable retcode : int32;
  mutable lcmkbhbmdob : int32;
  mutable dfmnolgmcag : int32;
}

let default_bcoocleapmc_mutable () : bcoocleapmc_mutable = {
  retcode = 0l;
  lcmkbhbmdob = 0l;
  dfmnolgmcag = 0l;
}

type llldfbeojkh_mutable = {
  mutable khliailcpno : dfopglpmagj option;
}

let default_llldfbeojkh_mutable () : llldfbeojkh_mutable = {
  khliailcpno = None;
}

type ieggdbjkahf_mutable = {
  mutable pos : int32;
  mutable kkgeojnphcn : int32;
}

let default_ieggdbjkahf_mutable () : ieggdbjkahf_mutable = {
  pos = 0l;
  kkgeojnphcn = 0l;
}

type lkddgonhhma_mutable = {
  mutable pos : int32;
  mutable retcode : int32;
  mutable kkgeojnphcn : int32;
}

let default_lkddgonhhma_mutable () : lkddgonhhma_mutable = {
  pos = 0l;
  retcode = 0l;
  kkgeojnphcn = 0l;
}

type ielhgjjhmeg_mutable = {
  mutable ebbgmahfino : int32 list;
}

let default_ielhgjjhmeg_mutable () : ielhgjjhmeg_mutable = {
  ebbgmahfino = [];
}

type jlibphmclik_mutable = {
  mutable oohldgfnabj : int32;
  mutable hgjolgkaofj : int32;
}

let default_jlibphmclik_mutable () : jlibphmclik_mutable = {
  oohldgfnabj = 0l;
  hgjolgkaofj = 0l;
}

type fmnjhfhbjdi_mutable = {
  mutable mcpchaempop : int32 list;
  mutable pdpfcfglgco : jlibphmclik list;
  mutable id : int32;
  mutable status : jnmfgfjpeim;
  mutable hiiadaioiip : int32;
}

let default_fmnjhfhbjdi_mutable () : fmnjhfhbjdi_mutable = {
  mcpchaempop = [];
  pdpfcfglgco = [];
  id = 0l;
  status = default_jnmfgfjpeim ();
  hiiadaioiip = 0l;
}

type adgfohedeog_mutable = {
  mutable cbclgknhnib : int64;
  mutable flnokepmaph : int32;
  mutable id : int32;
  mutable kkadhofegle : fmnjhfhbjdi list;
  mutable status : pbcofiploko;
}

let default_adgfohedeog_mutable () : adgfohedeog_mutable = {
  cbclgknhnib = 0L;
  flnokepmaph = 0l;
  id = 0l;
  kkadhofegle = [];
  status = default_pbcofiploko ();
}

type dapaodjlepf_mutable = {
  mutable gimdcaalgei : adgfohedeog list;
  mutable retcode : int32;
}

let default_dapaodjlepf_mutable () : dapaodjlepf_mutable = {
  gimdcaalgei = [];
  retcode = 0l;
}

type gopahcfeind_mutable = {
  mutable hdnieedkagk : bool;
  mutable pnigjhppmln : int32;
}

let default_gopahcfeind_mutable () : gopahcfeind_mutable = {
  hdnieedkagk = false;
  pnigjhppmln = 0l;
}

type dejjkifldfb_mutable = {
  mutable group_id : int32;
  mutable cbclgknhnib : int64;
  mutable ppfbnlefano : pbcofiploko;
}

let default_dejjkifldfb_mutable () : dejjkifldfb_mutable = {
  group_id = 0l;
  cbclgknhnib = 0L;
  ppfbnlefano = default_pbcofiploko ();
}

type jnicjgmnafm_mutable = {
  mutable lpfpcbhelle : jnmfgfjpeim;
  mutable hgkmoddpamj : int32;
}

let default_jnicjgmnafm_mutable () : jnicjgmnafm_mutable = {
  lpfpcbhelle = default_jnmfgfjpeim ();
  hgkmoddpamj = 0l;
}

type ecofcnjhkli_mutable = {
  mutable retcode : int32;
  mutable bjhgmjdmodb : gopahcfeind list;
}

let default_ecofcnjhkli_mutable () : ecofcnjhkli_mutable = {
  retcode = 0l;
  bjhgmjdmodb = [];
}

type bgehccfmoje_mutable = {
  mutable hgjolgkaofj : int32;
  mutable oohldgfnabj : int32;
}

let default_bgehccfmoje_mutable () : bgehccfmoje_mutable = {
  hgjolgkaofj = 0l;
  oohldgfnabj = 0l;
}

type pahneciakhd_mutable = {
  mutable retcode : int32;
  mutable oohldgfnabj : int32;
  mutable hgjolgkaofj : int32;
}

let default_pahneciakhd_mutable () : pahneciakhd_mutable = {
  retcode = 0l;
  oohldgfnabj = 0l;
  hgjolgkaofj = 0l;
}

type cdnampmbamd_mutable = {
  mutable hgkmoddpamj : int32;
}

let default_cdnampmbamd_mutable () : cdnampmbamd_mutable = {
  hgkmoddpamj = 0l;
}

type admghjdoklf_mutable = {
  mutable hgkmoddpamj : int32;
  mutable reward : item_list option;
  mutable retcode : int32;
}

let default_admghjdoklf_mutable () : admghjdoklf_mutable = {
  hgkmoddpamj = 0l;
  reward = None;
  retcode = 0l;
}

type ibpiaefkdgp_mutable = {
  mutable hgkmoddpamj : int32;
  mutable pdpfcfglgco : jlibphmclik list;
}

let default_ibpiaefkdgp_mutable () : ibpiaefkdgp_mutable = {
  hgkmoddpamj = 0l;
  pdpfcfglgco = [];
}

type hndgmaplmgk_mutable = {
  mutable reward : item_list option;
  mutable pdpfcfglgco : jlibphmclik list;
  mutable hgkmoddpamj : int32;
  mutable retcode : int32;
}

let default_hndgmaplmgk_mutable () : hndgmaplmgk_mutable = {
  reward = None;
  pdpfcfglgco = [];
  hgkmoddpamj = 0l;
  retcode = 0l;
}

type cimoknigome_mutable = {
  mutable kbelpfdopde : int32;
}

let default_cimoknigome_mutable () : cimoknigome_mutable = {
  kbelpfdopde = 0l;
}

type fjmmkcjfnfi_mutable = {
  mutable kbelpfdopde : int32;
  mutable jllfcnnhobk : int32;
}

let default_fjmmkcjfnfi_mutable () : fjmmkcjfnfi_mutable = {
  kbelpfdopde = 0l;
  jllfcnnhobk = 0l;
}

type ddbejjkchmi_mutable = {
  mutable reward : item_list option;
  mutable dcacgeojnnn : fjmmkcjfnfi option;
  mutable retcode : int32;
}

let default_ddbejjkchmi_mutable () : ddbejjkchmi_mutable = {
  reward = None;
  dcacgeojnnn = None;
  retcode = 0l;
}

type jnmjhnkonli_mutable = {
  mutable lkanmknegeh : fjmmkcjfnfi list;
  mutable retcode : int32;
}

let default_jnmjhnkonli_mutable () : jnmjhnkonli_mutable = {
  lkanmknegeh = [];
  retcode = 0l;
}

type gcjmjchkhcj_mutable = {
  mutable retcode : int32;
}

let default_gcjmjchkhcj_mutable () : gcjmjchkhcj_mutable = {
  retcode = 0l;
}

type oglabaalopb_mutable = {
  mutable hjgdifcandc : int32 list;
  mutable empkpmmfmof : int32;
  mutable fgmdoekgpee : int32;
}

let default_oglabaalopb_mutable () : oglabaalopb_mutable = {
  hjgdifcandc = [];
  empkpmmfmof = 0l;
  fgmdoekgpee = 0l;
}

type hbmmebdbdaa_mutable = {
  mutable afknhaijkmd : oglabaalopb list;
}

let default_hbmmebdbdaa_mutable () : hbmmebdbdaa_mutable = {
  afknhaijkmd = [];
}

type dicmfnmipif_mutable = {
  mutable retcode : int32;
}

let default_dicmfnmipif_mutable () : dicmfnmipif_mutable = {
  retcode = 0l;
}

type hgeajlclkpg_mutable = {
  mutable pldifcohmkm : string list;
  mutable fgmdoekgpee : mcfficiioho;
  mutable hccjhiilppi : int32 list;
}

let default_hgeajlclkpg_mutable () : hgeajlclkpg_mutable = {
  pldifcohmkm = [];
  fgmdoekgpee = default_mcfficiioho ();
  hccjhiilppi = [];
}

type onblgihcbeh_mutable = {
  mutable retcode : int32;
}

let default_onblgihcbeh_mutable () : onblgihcbeh_mutable = {
  retcode = 0l;
}

type lfbcmjdgkii_mutable = {
  mutable ipnkbphbnco : string;
}

let default_lfbcmjdgkii_mutable () : lfbcmjdgkii_mutable = {
  ipnkbphbnco = "";
}

type hkbpkcfanoa_mutable = {
  mutable retcode : int32;
}

let default_hkbpkcfanoa_mutable () : hkbpkcfanoa_mutable = {
  retcode = 0l;
}

type lpmaoheeohn_mutable = {
  mutable level : int32;
  mutable cifpalnlidj : int32;
  mutable fgmdoekgpee : gnankafabkp;
  mutable fikedopgmdl : int32;
}

let default_lpmaoheeohn_mutable () : lpmaoheeohn_mutable = {
  level = 0l;
  cifpalnlidj = 0l;
  fgmdoekgpee = default_gnankafabkp ();
  fikedopgmdl = 0l;
}

type pfenlcjgjhb_mutable = {
  mutable retcode : int32;
  mutable pnlfdfhaejh : lpmaoheeohn list;
}

let default_pfenlcjgjhb_mutable () : pfenlcjgjhb_mutable = {
  retcode = 0l;
  pnlfdfhaejh = [];
}

type ogjjlnpokco_mutable = {
  mutable ejoalpnccgc : lpmaoheeohn option;
}

let default_ogjjlnpokco_mutable () : ogjjlnpokco_mutable = {
  ejoalpnccgc = None;
}

type jibjbnbadcp_mutable = {
  mutable ejoalpnccgc : lpmaoheeohn option;
  mutable retcode : int32;
}

let default_jibjbnbadcp_mutable () : jibjbnbadcp_mutable = {
  ejoalpnccgc = None;
  retcode = 0l;
}

type fdiljlmlmhp_mutable = {
  mutable fljmjmfonan : int32;
}

let default_fdiljlmlmhp_mutable () : fdiljlmlmhp_mutable = {
  fljmjmfonan = 0l;
}

type pffiiiednci_mutable = {
  mutable fljmjmfonan : int32;
  mutable retcode : int32;
}

let default_pffiiiednci_mutable () : pffiiiednci_mutable = {
  fljmjmfonan = 0l;
  retcode = 0l;
}

type dpnmfccfjbe_mutable = {
  mutable jkaodlmplme : int32;
  mutable fikedopgmdl : int32;
  mutable jpinjmnfgec : bool;
  mutable level : int32;
}

let default_dpnmfccfjbe_mutable () : dpnmfccfjbe_mutable = {
  jkaodlmplme = 0l;
  fikedopgmdl = 0l;
  jpinjmnfgec = false;
  level = 0l;
}

type impcibghklj_mutable = {
  mutable retcode : int32;
  mutable hbomckbjaif : dpnmfccfjbe list;
}

let default_impcibghklj_mutable () : impcibghklj_mutable = {
  retcode = 0l;
  hbomckbjaif = [];
}

type alhadjbdlmh_mutable = {
  mutable group_id : int32;
  mutable kgmjhehlioi : dpnmfccfjbe option;
  mutable ecgebkmcfcn : int32;
  mutable mbmegghhkjl : int64;
}

let default_alhadjbdlmh_mutable () : alhadjbdlmh_mutable = {
  group_id = 0l;
  kgmjhehlioi = None;
  ecgebkmcfcn = 0l;
  mbmegghhkjl = 0L;
}

type hgnbbdiojbh_mutable = {
  mutable kgmjhehlioi : dpnmfccfjbe option;
  mutable retcode : int32;
}

let default_hgnbbdiojbh_mutable () : hgnbbdiojbh_mutable = {
  kgmjhehlioi = None;
  retcode = 0l;
}

type ffimgfmpcdg_mutable = {
  mutable lnmamccmdpa : gdkighgodkj;
  mutable id : int32;
  mutable cbjpfggchfh : pchdmnlenjo;
}

let default_ffimgfmpcdg_mutable () : ffimgfmpcdg_mutable = {
  lnmamccmdpa = default_gdkighgodkj ();
  id = 0l;
  cbjpfggchfh = default_pchdmnlenjo ();
}

type mgopkflejhe_mutable = {
  mutable retcode : int32;
  mutable haeppfknbnm : ffimgfmpcdg list;
}

let default_mgopkflejhe_mutable () : mgopkflejhe_mutable = {
  retcode = 0l;
  haeppfknbnm = [];
}

type gnicmkcbepl_mutable = {
  mutable data : ffimgfmpcdg option;
}

let default_gnicmkcbepl_mutable () : gnicmkcbepl_mutable = {
  data = None;
}

type bmbfidhchpd_mutable = {
  mutable data : ffimgfmpcdg option;
  mutable retcode : int32;
  mutable haeppfknbnm : ffimgfmpcdg list;
}

let default_bmbfidhchpd_mutable () : bmbfidhchpd_mutable = {
  data = None;
  retcode = 0l;
  haeppfknbnm = [];
}

type ihgeeangifc_mutable = {
  mutable fgmdoekgpee : kefklcglpbb;
  mutable iihookopmmk : int32;
  mutable id : int32;
}

let default_ihgeeangifc_mutable () : ihgeeangifc_mutable = {
  fgmdoekgpee = default_kefklcglpbb ();
  iihookopmmk = 0l;
  id = 0l;
}

type pbnceknojon_mutable = {
  mutable id : int32;
  mutable klmfdjlahkg : jbianonhjfo list;
  mutable status : mission_status;
}

let default_pbnceknojon_mutable () : pbnceknojon_mutable = {
  id = 0l;
  klmfdjlahkg = [];
  status = default_mission_status ();
}

type dlompnobmja_mutable = {
  mutable id : int32;
  mutable klmfdjlahkg : hhmofllojag option;
}

let default_dlompnobmja_mutable () : dlompnobmja_mutable = {
  id = 0l;
  klmfdjlahkg = None;
}

type eeapjcmdjml_mutable = {
  mutable retcode : int32;
  mutable efmknejbpdn : pbnceknojon list;
  mutable nbgdkmbadki : bool;
  mutable kcpgeandlei : int32;
  mutable hjnfpofkanm : mission list;
}

let default_eeapjcmdjml_mutable () : eeapjcmdjml_mutable = {
  retcode = 0l;
  efmknejbpdn = [];
  nbgdkmbadki = false;
  kcpgeandlei = 0l;
  hjnfpofkanm = [];
}

type eaonfecplik_mutable = {
  mutable idlneeekpjl : int32;
}

let default_eaonfecplik_mutable () : eaonfecplik_mutable = {
  idlneeekpjl = 0l;
}

type aicicamofge_mutable = {
  mutable retcode : int32;
  mutable idlneeekpjl : int32;
}

let default_aicicamofge_mutable () : aicicamofge_mutable = {
  retcode = 0l;
  idlneeekpjl = 0l;
}

type ahconmhbloa_mutable = {
  mutable klmfdjlahkg : jbianonhjfo list;
  mutable clkbeandjfm : int32;
  mutable gkanpgfhgpc : string;
}

let default_ahconmhbloa_mutable () : ahconmhbloa_mutable = {
  klmfdjlahkg = [];
  clkbeandjfm = 0l;
  gkanpgfhgpc = "";
}

type kodjldnfgop_mutable = {
  mutable clkbeandjfm : int32;
  mutable retcode : int32;
  mutable gkanpgfhgpc : string;
  mutable klmfdjlahkg : jbianonhjfo list;
}

let default_kodjldnfgop_mutable () : kodjldnfgop_mutable = {
  clkbeandjfm = 0l;
  retcode = 0l;
  gkanpgfhgpc = "";
  klmfdjlahkg = [];
}

type onepplibcki_mutable = {
  mutable reward : item_list option;
  mutable idlneeekpjl : int32;
  mutable clkbeandjfm : int32;
}

let default_onepplibcki_mutable () : onepplibcki_mutable = {
  reward = None;
  idlneeekpjl = 0l;
  clkbeandjfm = 0l;
}

type kocancofkjn_mutable = {
  mutable clkbeandjfm : int32;
  mutable reward : item_list option;
}

let default_kocancofkjn_mutable () : kocancofkjn_mutable = {
  clkbeandjfm = 0l;
  reward = None;
}

type ekamlkohmlm_mutable = {
  mutable pfmlckgckob : string;
}

let default_ekamlkohmlm_mutable () : ekamlkohmlm_mutable = {
  pfmlckgckob = "";
}

type afifpimnnfo_mutable = {
  mutable retcode : int32;
  mutable pfmlckgckob : string;
}

let default_afifpimnnfo_mutable () : afifpimnnfo_mutable = {
  retcode = 0l;
  pfmlckgckob = "";
}

type dbddhlanhnh_mutable = {
  mutable idlneeekpjl : int32;
  mutable nhbjkfibgbk : bool;
}

let default_dbddhlanhnh_mutable () : dbddhlanhnh_mutable = {
  idlneeekpjl = 0l;
  nhbjkfibgbk = false;
}

type egnbldpighd_mutable = {
  mutable emfdkaekpcm : dbddhlanhnh list;
  mutable paefafilbjg : int32;
}

let default_egnbldpighd_mutable () : egnbldpighd_mutable = {
  emfdkaekpcm = [];
  paefafilbjg = 0l;
}

type lpmbfoclibj_mutable = {
  mutable fddhalpeaon : int32 list;
}

let default_lpmbfoclibj_mutable () : lpmbfoclibj_mutable = {
  fddhalpeaon = [];
}

type mdnpngbibbi_mutable = {
  mutable pdpfcfglgco : item_list option;
  mutable clkbeandjfm : int32;
}

let default_mdnpngbibbi_mutable () : mdnpngbibbi_mutable = {
  pdpfcfglgco = None;
  clkbeandjfm = 0l;
}

type pjefcmjonic_mutable = {
  mutable clkbeandjfm : int32;
  mutable retcode : int32;
}

let default_pjefcmjonic_mutable () : pjefcmjonic_mutable = {
  clkbeandjfm = 0l;
  retcode = 0l;
}

type gmbggkdligk_mutable = {
  mutable nhfpcalobcc : int32;
  mutable retcode : int32;
  mutable mkbbddpdmoi : mission list;
}

let default_gmbggkdligk_mutable () : gmbggkdligk_mutable = {
  nhfpcalobcc = 0l;
  retcode = 0l;
  mkbbddpdmoi = [];
}

type mimakllblna_mutable = {
  mutable fajohchbaen : int32;
  mutable reward : item_list option;
}

let default_mimakllblna_mutable () : mimakllblna_mutable = {
  fajohchbaen = 0l;
  reward = None;
}

type kecfpmdiopb_mutable = {
  mutable fajohchbaen : int32;
}

let default_kecfpmdiopb_mutable () : kecfpmdiopb_mutable = {
  fajohchbaen = 0l;
}

type hpgplgcbcbe_mutable = {
  mutable fpgjpmgijom : mission option;
  mutable retcode : int32;
}

let default_hpgplgcbcbe_mutable () : hpgplgcbcbe_mutable = {
  fpgjpmgijom = None;
  retcode = 0l;
}

type get_mission_status_cs_req_mutable = {
  mutable mission_event_id_list : int32 list;
  mutable main_mission_id_list : int32 list;
  mutable sub_mission_id_list : int32 list;
}

let default_get_mission_status_cs_req_mutable () : get_mission_status_cs_req_mutable = {
  mission_event_id_list = [];
  main_mission_id_list = [];
  sub_mission_id_list = [];
}

type get_mission_status_sc_rsp_mutable = {
  mutable mission_event_status_list : mission list;
  mutable finished_main_mission_id_list : int32 list;
  mutable sub_mission_status_list : mission list;
  mutable unfinished_main_mission_id_list : int32 list;
  mutable main_mission_mcv_list : klciikcjohp list;
  mutable retcode : int32;
  mutable disabled_main_mission_id_list : int32 list;
}

let default_get_mission_status_sc_rsp_mutable () : get_mission_status_sc_rsp_mutable = {
  mission_event_status_list = [];
  finished_main_mission_id_list = [];
  sub_mission_status_list = [];
  unfinished_main_mission_id_list = [];
  main_mission_mcv_list = [];
  retcode = 0l;
  disabled_main_mission_id_list = [];
}

type nhkdfjaklfc_mutable = {
  mutable fajohchbaen : int32;
}

let default_nhkdfjaklfc_mutable () : nhkdfjaklfc_mutable = {
  fajohchbaen = 0l;
}

type ccolbngjjka_mutable = {
  mutable fajohchbaen : int32;
  mutable retcode : int32;
}

let default_ccolbngjjka_mutable () : ccolbngjjka_mutable = {
  fajohchbaen = 0l;
  retcode = 0l;
}

type bmolkdbaold_mutable = {
  mutable fajohchbaen : int32;
  mutable progress : int32;
}

let default_bmolkdbaold_mutable () : bmolkdbaold_mutable = {
  fajohchbaen = 0l;
  progress = 0l;
}

type pahbclhfcoi_mutable = {
  mutable retcode : int32;
}

let default_pahbclhfcoi_mutable () : pahbclhfcoi_mutable = {
  retcode = 0l;
}

type hkcpodmepff_mutable = {
  mutable micgnniimak : int32;
  mutable retcode : int32;
  mutable jililehmdkg : motion_info option;
}

let default_hkcpodmepff_mutable () : hkcpodmepff_mutable = {
  micgnniimak = 0l;
  retcode = 0l;
  jililehmdkg = None;
}

type gohnnldpomc_mutable = {
  mutable clkbeandjfm : int32;
}

let default_gohnnldpomc_mutable () : gohnnldpomc_mutable = {
  clkbeandjfm = 0l;
}

type kgdjnmoibdn_mutable = {
  mutable idlneeekpjl : int32;
}

let default_kgdjnmoibdn_mutable () : kgdjnmoibdn_mutable = {
  idlneeekpjl = 0l;
}

type lliikjdjobb_mutable = {
  mutable mission_event_id_list : int32 list;
}

let default_lliikjdjobb_mutable () : lliikjdjobb_mutable = {
  mission_event_id_list = [];
}

type cabdaemkaha_mutable = {
  mutable efmknejbpdn : pbnceknojon list;
  mutable retcode : int32;
}

let default_cabdaemkaha_mutable () : cabdaemkaha_mutable = {
  efmknejbpdn = [];
  retcode = 0l;
}

type nabdijonbia_mutable = {
  mutable sub_mission_id_list : int32 list;
}

let default_nabdijonbia_mutable () : nabdijonbia_mutable = {
  sub_mission_id_list = [];
}

type epchbjbjcck_mutable = {
  mutable kcpgeandlei : int32;
  mutable ngeicmomnee : int32;
  mutable gajbbcihmlg : hkmebfmeeko;
}

let default_epchbjbjcck_mutable () : epchbjbjcck_mutable = {
  kcpgeandlei = 0l;
  ngeicmomnee = 0l;
  gajbbcihmlg = default_hkmebfmeeko ();
}

type khconlgbnkp_mutable = {
  mutable retcode : int32;
  mutable ilgfnknhjea : int32;
  mutable kcpgeandlei : int32;
}

let default_khconlgbnkp_mutable () : khconlgbnkp_mutable = {
  retcode = 0l;
  ilgfnknhjea = 0l;
  kcpgeandlei = 0l;
}

type joepajdgphk_mutable = {
  mutable clnpkcniekd : bool;
  mutable ppjbokfgmjh : int32;
  mutable minoahpjnmh : int32;
  mutable dbgaojmndmc : int32;
  mutable kpjafhgjmne : bool;
  mutable hngcgmnnlej : int32;
}

let default_joepajdgphk_mutable () : joepajdgphk_mutable = {
  clnpkcniekd = false;
  ppjbokfgmjh = 0l;
  minoahpjnmh = 0l;
  dbgaojmndmc = 0l;
  kpjafhgjmne = false;
  hngcgmnnlej = 0l;
}

type mgghehlpfmh_mutable = {
  mutable nahadojjmfc : int32 list;
  mutable ckmejojcafi : nbbdamgnjpn;
}

let default_mgghehlpfmh_mutable () : mgghehlpfmh_mutable = {
  nahadojjmfc = [];
  ckmejojcafi = default_nbbdamgnjpn ();
}

type jhaibieoogh_mutable = {
  mutable ggbdddiffbd : int32;
  mutable progress : int32;
}

let default_jhaibieoogh_mutable () : jhaibieoogh_mutable = {
  ggbdddiffbd = 0l;
  progress = 0l;
}

type ajofeagbhof_mutable = {
  mutable npokjeodakc : int64;
  mutable pedicfiaamc : bool;
  mutable mkideamcloh : bool;
}

let default_ajofeagbhof_mutable () : ajofeagbhof_mutable = {
  npokjeodakc = 0L;
  pedicfiaamc = false;
  mkideamcloh = false;
}

type pohjkgbpdho_mutable = {
  mutable pdmjjhpbogd : ajofeagbhof list;
  mutable phimeblpkfi : int32;
  mutable dhkbkjkdnei : int64;
  mutable ijccfagbnbc : int32;
  mutable pajlebhmocf : jhaibieoogh list;
  mutable fmhcopcakec : bool;
  mutable mphncdpfiaj : int32;
  mutable kopeolbbgel : int64;
  mutable ilcfognhfck : string;
  mutable abmeooeakfk : string;
  mutable bnhepammdhc : int32;
  mutable ijabojodcao : jhaibieoogh list;
  mutable bggigohgmmb : jhaibieoogh list;
  mutable bdcnikjepnp : int32;
  mutable elegbecbahh : jhaibieoogh list;
  mutable klodmjekmjj : string;
  mutable abggoedcbgi : int32;
  mutable cccchhlbkdn : int64;
}

let default_pohjkgbpdho_mutable () : pohjkgbpdho_mutable = {
  pdmjjhpbogd = [];
  phimeblpkfi = 0l;
  dhkbkjkdnei = 0L;
  ijccfagbnbc = 0l;
  pajlebhmocf = [];
  fmhcopcakec = false;
  mphncdpfiaj = 0l;
  kopeolbbgel = 0L;
  ilcfognhfck = "";
  abmeooeakfk = "";
  bnhepammdhc = 0l;
  ijabojodcao = [];
  bggigohgmmb = [];
  bdcnikjepnp = 0l;
  elegbecbahh = [];
  klodmjekmjj = "";
  abggoedcbgi = 0l;
  cccchhlbkdn = 0L;
}

type gioddoihlcn_mutable = {
  mutable pniomdhkgan : pohjkgbpdho list;
}

let default_gioddoihlcn_mutable () : gioddoihlcn_mutable = {
  pniomdhkgan = [];
}

type lidhmbfbhao_mutable = {
  mutable nchpghpfkkb : int32;
  mutable legjggfllkm : int32;
  mutable level : int32;
}

let default_lidhmbfbhao_mutable () : lidhmbfbhao_mutable = {
  nchpghpfkkb = 0l;
  legjggfllkm = 0l;
  level = 0l;
}

type ljmjpodbcae_mutable = {
  mutable khhhjkbcekl : lidhmbfbhao list;
}

let default_ljmjpodbcae_mutable () : ljmjpodbcae_mutable = {
  khhhjkbcekl = [];
}

type bocmnkonppn_mutable = {
  mutable lnjapmhfcck : int32;
  mutable pbonhgdihdk : int32;
  mutable fjaomhojlmn : efjdphpapii;
  mutable molclcecklo : bool;
}

let default_bocmnkonppn_mutable () : bocmnkonppn_mutable = {
  lnjapmhfcck = 0l;
  pbonhgdihdk = 0l;
  fjaomhojlmn = default_efjdphpapii ();
  molclcecklo = false;
}

type oopngmhcnnn_mutable = {
  mutable bfgejigdmfh : int32;
  mutable gedkbbfkdlm : bocmnkonppn option;
  mutable gjbkhmihmif : bocmnkonppn list;
  mutable dhfdgnilgih : int32;
  mutable mbgmhaapdce : bocmnkonppn list;
}

let default_oopngmhcnnn_mutable () : oopngmhcnnn_mutable = {
  bfgejigdmfh = 0l;
  gedkbbfkdlm = None;
  gjbkhmihmif = [];
  dhfdgnilgih = 0l;
  mbgmhaapdce = [];
}

type aihopmoclam_mutable = {
  mutable nghdgacfjep : int32;
  mutable ppdbmfkjpel : int32;
  mutable pkkfndimmio : int32;
}

let default_aihopmoclam_mutable () : aihopmoclam_mutable = {
  nghdgacfjep = 0l;
  ppdbmfkjpel = 0l;
  pkkfndimmio = 0l;
}

type ckffbacigpg_mutable = {
  mutable buff_list : aihopmoclam list;
}

let default_ckffbacigpg_mutable () : ckffbacigpg_mutable = {
  buff_list = [];
}

type defmcecjjbi_mutable = {
  mutable jfpnkcbdief : int32 list;
}

let default_defmcecjjbi_mutable () : defmcecjjbi_mutable = {
  jfpnkcbdief = [];
}

type eonniefdoci_mutable = {
  mutable npholaehbkh : int32;
  mutable okpcgdecjgg : int32;
  mutable johpnmpfnia : bool;
  mutable aekimehjnkj : int32;
  mutable bamhmcfcibo : int32;
  mutable ddjolnlfedi : int32;
  mutable cikefdlgdhi : int32;
  mutable ebmiflnkgel : int32;
  mutable dkppejnhahh : int32;
}

let default_eonniefdoci_mutable () : eonniefdoci_mutable = {
  npholaehbkh = 0l;
  okpcgdecjgg = 0l;
  johpnmpfnia = false;
  aekimehjnkj = 0l;
  bamhmcfcibo = 0l;
  ddjolnlfedi = 0l;
  cikefdlgdhi = 0l;
  ebmiflnkgel = 0l;
  dkppejnhahh = 0l;
}

type kfbeaplbefb_mutable = {
  mutable fdobhgepecn : int32 list;
  mutable imiekbcbdhb : int32 list;
}

let default_kfbeaplbefb_mutable () : kfbeaplbefb_mutable = {
  fdobhgepecn = [];
  imiekbcbdhb = [];
}

type gkklbmppoic_mutable = {
  mutable fhbjogfkibm : int32 list;
  mutable lbecppeobhb : int32;
  mutable ihonjmelbij : int32 list;
  mutable bjcfdgchakl : int32 list;
  mutable nnoncigblll : bool;
}

let default_gkklbmppoic_mutable () : gkklbmppoic_mutable = {
  fhbjogfkibm = [];
  lbecppeobhb = 0l;
  ihonjmelbij = [];
  bjcfdgchakl = [];
  nnoncigblll = false;
}

type pignanpdklj_mutable = {
  mutable gbohojajppb : int32;
  mutable pfkglcgcmcj : int32;
}

let default_pignanpdklj_mutable () : pignanpdklj_mutable = {
  gbohojajppb = 0l;
  pfkglcgcmcj = 0l;
}

type hgbafdfikfj_mutable = {
  mutable hpmckfbmmhp : int32;
  mutable jahclmgmafe : int32;
  mutable agifahnpich : int32 list;
  mutable pgidogdgncj : int32;
  mutable gcbdccnejli : int32;
  mutable aiialahiamp : pignanpdklj list;
}

let default_hgbafdfikfj_mutable () : hgbafdfikfj_mutable = {
  hpmckfbmmhp = 0l;
  jahclmgmafe = 0l;
  agifahnpich = [];
  pgidogdgncj = 0l;
  gcbdccnejli = 0l;
  aiialahiamp = [];
}

type kkcblmehbff_mutable = {
  mutable onjlkkdkdbg : int32;
  mutable bghkmklgngf : bool;
  mutable hkbeefmhlbb : int32;
}

let default_kkcblmehbff_mutable () : kkcblmehbff_mutable = {
  onjlkkdkdbg = 0l;
  bghkmklgngf = false;
  hkbeefmhlbb = 0l;
}

type pcfeibpmokl_mutable = {
  mutable jahpoofngeb : int32;
  mutable nigmipgijon : int32;
  mutable pfbnanpcdjh : int32;
  mutable mapdfgdaddp : gkklbmppoic option;
  mutable ipcpibkdmib : hgbafdfikfj option;
  mutable enagncneopb : kkcblmehbff option;
}

let default_pcfeibpmokl_mutable () : pcfeibpmokl_mutable = {
  jahpoofngeb = 0l;
  nigmipgijon = 0l;
  pfbnanpcdjh = 0l;
  mapdfgdaddp = None;
  ipcpibkdmib = None;
  enagncneopb = None;
}

type niojaoakejp_mutable = {
  mutable mekdpjkdapc : bool;
  mutable dnhmlmodpnb : int32;
}

let default_niojaoakejp_mutable () : niojaoakejp_mutable = {
  mekdpjkdapc = false;
  dnhmlmodpnb = 0l;
}

type jogiagpfdml_mutable = {
  mutable jhobbdnmfkb : pcfeibpmokl list;
  mutable enaildglncl : pcfeibpmokl option;
  mutable dalmjhmldgm : niojaoakejp option;
}

let default_jogiagpfdml_mutable () : jogiagpfdml_mutable = {
  jhobbdnmfkb = [];
  enaildglncl = None;
  dalmjhmldgm = None;
}

type fckifndejlc_mutable = {
  mutable ohibnloihci : int32;
}

let default_fckifndejlc_mutable () : fckifndejlc_mutable = {
  ohibnloihci = 0l;
}

type pockofmndag_mutable = {
  mutable ohibnloihci : int32;
}

let default_pockofmndag_mutable () : pockofmndag_mutable = {
  ohibnloihci = 0l;
}

type flijbnilblk_mutable = {
  mutable ojkjbeilgdc : int32;
  mutable fabndlfdfda : int32;
  mutable cgjnknmgjfo : int32 list;
  mutable ohibnloihci : int32;
}

let default_flijbnilblk_mutable () : flijbnilblk_mutable = {
  ojkjbeilgdc = 0l;
  fabndlfdfda = 0l;
  cgjnknmgjfo = [];
  ohibnloihci = 0l;
}

type hdkjdnogijc_mutable = {
  mutable legjggfllkm : int32;
}

let default_hdkjdnogijc_mutable () : hdkjdnogijc_mutable = {
  legjggfllkm = 0l;
}

type kdajldoonep_mutable = {
  mutable fgohomljegm : int32;
}

let default_kdajldoonep_mutable () : kdajldoonep_mutable = {
  fgohomljegm = 0l;
}

type nfkbeabdapm_mutable = {
  mutable hokpfbhcehj : int32;
}

let default_nfkbeabdapm_mutable () : nfkbeabdapm_mutable = {
  hokpfbhcehj = 0l;
}

type hofaekpedln_mutable = {
  mutable ebdmffdjebm : int32;
  mutable dhcakofmnjp : int32;
}

let default_hofaekpedln_mutable () : hofaekpedln_mutable = {
  ebdmffdjebm = 0l;
  dhcakofmnjp = 0l;
}

type gigdeinndjo_mutable = {
  mutable cgjnknmgjfo : int32 list;
  mutable fabndlfdfda : int32;
  mutable ohibnloihci : int32;
  mutable pinikigmpkm : int32;
  mutable fmehjldopnj : int32;
}

let default_gigdeinndjo_mutable () : gigdeinndjo_mutable = {
  cgjnknmgjfo = [];
  fabndlfdfda = 0l;
  ohibnloihci = 0l;
  pinikigmpkm = 0l;
  fmehjldopnj = 0l;
}

type fmaebngghpd_mutable = {
  mutable nghdgacfjep : int32;
  mutable ofjbcpnedpd : fckifndejlc option;
  mutable cflafjbmepk : pockofmndag option;
  mutable pkjhlljjldp : flijbnilblk option;
  mutable nhgioeaffbe : hdkjdnogijc option;
  mutable eemdaiemepm : kdajldoonep option;
  mutable hfcakgghnim : nfkbeabdapm option;
  mutable jmbhhodnidd : hofaekpedln option;
  mutable agpimeoajoj : gigdeinndjo option;
  mutable jocfgknbpdh : bfinjohikfn option;
}

let default_fmaebngghpd_mutable () : fmaebngghpd_mutable = {
  nghdgacfjep = 0l;
  ofjbcpnedpd = None;
  cflafjbmepk = None;
  pkjhlljjldp = None;
  nhgioeaffbe = None;
  eemdaiemepm = None;
  hfcakgghnim = None;
  jmbhhodnidd = None;
  agpimeoajoj = None;
  jocfgknbpdh = None;
}

type bfinjohikfn_mutable = {
  mutable accbhmpbojc : fmaebngghpd list;
  mutable dojmahgdgcc : int32;
}

let default_bfinjohikfn_mutable () : bfinjohikfn_mutable = {
  accbhmpbojc = [];
  dojmahgdgcc = 0l;
}

type khdobjbgpnh_mutable = {
  mutable ckioboniohf : fmaebngghpd option;
}

let default_khdobjbgpnh_mutable () : khdobjbgpnh_mutable = {
  ckioboniohf = None;
}

type ebbnakjiafk_mutable = {
  mutable imbgbpepfnl : ljmjpodbcae option;
  mutable imelchpnpgc : oopngmhcnnn option;
  mutable nhknhpjdhlh : int32 list;
  mutable elfjfncodan : mgghehlpfmh option;
  mutable pogejanpebj : ckffbacigpg option;
  mutable plolpndhblk : defmcecjjbi option;
  mutable odldbbohhkb : gioddoihlcn option;
  mutable pgbilhdciol : joepajdgphk option;
  mutable pbjhjhdcafb : eonniefdoci option;
  mutable retcode : int32;
  mutable ppkofopmfjc : kfbeaplbefb option;
  mutable chnjjmhncap : jogiagpfdml option;
  mutable ogfdpdidmhn : khdobjbgpnh option;
}

let default_ebbnakjiafk_mutable () : ebbnakjiafk_mutable = {
  imbgbpepfnl = None;
  imelchpnpgc = None;
  nhknhpjdhlh = [];
  elfjfncodan = None;
  pogejanpebj = None;
  plolpndhblk = None;
  odldbbohhkb = None;
  pgbilhdciol = None;
  pbjhjhdcafb = None;
  retcode = 0l;
  ppkofopmfjc = None;
  chnjjmhncap = None;
  ogfdpdidmhn = None;
}

type pmonigcbapn_mutable = {
  mutable plolpndhblk : defmcecjjbi option;
}

let default_pmonigcbapn_mutable () : pmonigcbapn_mutable = {
  plolpndhblk = None;
}

type pkadmfglmpn_mutable = {
  mutable ppkofopmfjc : kfbeaplbefb option;
}

let default_pkadmfglmpn_mutable () : pkadmfglmpn_mutable = {
  ppkofopmfjc = None;
}

type jelebjjfjip_mutable = {
  mutable gjbkhmihmif : bocmnkonppn list;
  mutable mbgmhaapdce : bocmnkonppn list;
}

let default_jelebjjfjip_mutable () : jelebjjfjip_mutable = {
  gjbkhmihmif = [];
  mbgmhaapdce = [];
}

type fgfifjmmjcp_mutable = {
  mutable ckioboniohf : fmaebngghpd option;
}

let default_fgfifjmmjcp_mutable () : fgfifjmmjcp_mutable = {
  ckioboniohf = None;
}

type bpmbhaaklmc_mutable = {
  mutable gedkbbfkdlm : bocmnkonppn option;
}

let default_bpmbhaaklmc_mutable () : bpmbhaaklmc_mutable = {
  gedkbbfkdlm = None;
}

type bnoncaefinb_mutable = {
  mutable lnjppbjacmf : int32;
  mutable retcode : int32;
}

let default_bnoncaefinb_mutable () : bnoncaefinb_mutable = {
  lnjppbjacmf = 0l;
  retcode = 0l;
}

type npiijenphib_mutable = {
  mutable jdfifidndhf : int32;
}

let default_npiijenphib_mutable () : npiijenphib_mutable = {
  jdfifidndhf = 0l;
}

type haobnmicopa_mutable = {
  mutable retcode : int32;
  mutable jdfifidndhf : int32;
}

let default_haobnmicopa_mutable () : haobnmicopa_mutable = {
  retcode = 0l;
  jdfifidndhf = 0l;
}

type mankodpdeed_mutable = {
  mutable opfpijmggal : int32;
  mutable bljdbkkdlgd : int32;
}

let default_mankodpdeed_mutable () : mankodpdeed_mutable = {
  opfpijmggal = 0l;
  bljdbkkdlgd = 0l;
}

type dfmcdagbcmk_mutable = {
  mutable retcode : int32;
  mutable ejogkjoehfb : bocmnkonppn list;
  mutable imelchpnpgc : oopngmhcnnn option;
}

let default_dfmcdagbcmk_mutable () : dfmcdagbcmk_mutable = {
  retcode = 0l;
  ejogkjoehfb = [];
  imelchpnpgc = None;
}

type dhejioligcn_mutable = {
  mutable ojkjbeilgdc : int32;
  mutable ohibnloihci : int32;
}

let default_dhejioligcn_mutable () : dhejioligcn_mutable = {
  ojkjbeilgdc = 0l;
  ohibnloihci = 0l;
}

type fjckjdbjkfd_mutable = {
  mutable ojkjbeilgdc : int32;
  mutable edifglcdjlo : int32;
  mutable ohibnloihci : int32;
}

let default_fjckjdbjkfd_mutable () : fjckjdbjkfd_mutable = {
  ojkjbeilgdc = 0l;
  edifglcdjlo = 0l;
  ohibnloihci = 0l;
}

type ocijbfdkhad_mutable = {
  mutable ckikjffkgfk : fjckjdbjkfd list;
  mutable retcode : int32;
  mutable ojkjbeilgdc : int32;
  mutable ohibnloihci : int32;
  mutable ogfdpdidmhn : fmaebngghpd option;
}

let default_ocijbfdkhad_mutable () : ocijbfdkhad_mutable = {
  ckikjffkgfk = [];
  retcode = 0l;
  ojkjbeilgdc = 0l;
  ohibnloihci = 0l;
  ogfdpdidmhn = None;
}

type boooodbdecg_mutable = {
  mutable ohibnloihci : int32;
}

let default_boooodbdecg_mutable () : boooodbdecg_mutable = {
  ohibnloihci = 0l;
}

type amplplldlmc_mutable = {
  mutable retcode : int32;
  mutable ohibnloihci : int32;
  mutable ogfdpdidmhn : fmaebngghpd option;
}

let default_amplplldlmc_mutable () : amplplldlmc_mutable = {
  retcode = 0l;
  ohibnloihci = 0l;
  ogfdpdidmhn = None;
}

type hfhmkhodonh_mutable = {
  mutable ohibnloihci : int32;
}

let default_hfhmkhodonh_mutable () : hfhmkhodonh_mutable = {
  ohibnloihci = 0l;
}

type moeoggefkjg_mutable = {
  mutable ohibnloihci : int32;
  mutable retcode : int32;
  mutable ogfdpdidmhn : fmaebngghpd option;
}

let default_moeoggefkjg_mutable () : moeoggefkjg_mutable = {
  ohibnloihci = 0l;
  retcode = 0l;
  ogfdpdidmhn = None;
}

type hoohjgiilid_mutable = {
  mutable ohibnloihci : int32;
}

let default_hoohjgiilid_mutable () : hoohjgiilid_mutable = {
  ohibnloihci = 0l;
}

type cbfcpchblif_mutable = {
  mutable ohibnloihci : int32;
  mutable ogfdpdidmhn : fmaebngghpd option;
  mutable retcode : int32;
}

let default_cbfcpchblif_mutable () : cbfcpchblif_mutable = {
  ohibnloihci = 0l;
  ogfdpdidmhn = None;
  retcode = 0l;
}

type gjnfhooabhh_mutable = {
  mutable ififlmjnmdk : int32;
  mutable fgohomljegm : int32;
}

let default_gjnfhooabhh_mutable () : gjnfhooabhh_mutable = {
  ififlmjnmdk = 0l;
  fgohomljegm = 0l;
}

type hfkkejakcdl_mutable = {
  mutable retcode : int32;
  mutable ififlmjnmdk : int32;
  mutable fgohomljegm : int32;
}

let default_hfkkejakcdl_mutable () : hfkkejakcdl_mutable = {
  retcode = 0l;
  ififlmjnmdk = 0l;
  fgohomljegm = 0l;
}

type ckiajdgpeai_mutable = {
  mutable legjggfllkm : int32;
}

let default_ckiajdgpeai_mutable () : ckiajdgpeai_mutable = {
  legjggfllkm = 0l;
}

type bgeincnaijf_mutable = {
  mutable legjggfllkm : int32;
  mutable retcode : int32;
}

let default_bgeincnaijf_mutable () : bgeincnaijf_mutable = {
  legjggfllkm = 0l;
  retcode = 0l;
}

type jdonaaefnia_mutable = {
  mutable nfcojigifbb : int32;
}

let default_jdonaaefnia_mutable () : jdonaaefnia_mutable = {
  nfcojigifbb = 0l;
}

type bkdgohbbalj_mutable = {
  mutable retcode : int32;
  mutable nfcojigifbb : int32;
}

let default_bkdgohbbalj_mutable () : bkdgohbbalj_mutable = {
  retcode = 0l;
  nfcojigifbb = 0l;
}

type pponmcdlhkg_mutable = {
  mutable dcedopcicik : int32;
  mutable dhchppbnfeg : int32;
  mutable hgjolgkaofj : int32;
}

let default_pponmcdlhkg_mutable () : pponmcdlhkg_mutable = {
  dcedopcicik = 0l;
  dhchppbnfeg = 0l;
  hgjolgkaofj = 0l;
}

type jpehgoiagfp_mutable = {
  mutable oicjkpkgila : int32;
  mutable fbmbomknfjo : int32;
}

let default_jpehgoiagfp_mutable () : jpehgoiagfp_mutable = {
  oicjkpkgila = 0l;
  fbmbomknfjo = 0l;
}

type fedimadblfd_mutable = {
  mutable gjcnecgjfde : int32;
  mutable cpjlmihbgcp : int32;
  mutable kfclndkhilm : int32;
  mutable kdckaamonab : int32;
}

let default_fedimadblfd_mutable () : fedimadblfd_mutable = {
  gjcnecgjfde = 0l;
  cpjlmihbgcp = 0l;
  kfclndkhilm = 0l;
  kdckaamonab = 0l;
}

type mhkhjomblhm_mutable = {
  mutable anjbkgdpepn : int32;
}

let default_mhkhjomblhm_mutable () : mhkhjomblhm_mutable = {
  anjbkgdpepn = 0l;
}

type bakgcckjdlk_mutable = {
  mutable hmfokfnpnfk : pponmcdlhkg option;
  mutable bbdbepekdie : pponmcdlhkg option;
  mutable odbjpecmcgc : lidhmbfbhao option;
  mutable kbhchoicmhc : lidhmbfbhao option;
  mutable hjcdfejpjcl : aihopmoclam option;
  mutable emghnkdicbf : aihopmoclam option;
  mutable kkiehkfelck : jpehgoiagfp option;
  mutable pblkdhccmdi : jpehgoiagfp option;
  mutable iohofdgmoka : niojaoakejp option;
  mutable gohgfgbcbfh : fedimadblfd option;
  mutable dlieaipfolf : aihopmoclam option;
  mutable nilkfplpaka : jpehgoiagfp option;
  mutable jjcbfhnhale : mhkhjomblhm option;
}

let default_bakgcckjdlk_mutable () : bakgcckjdlk_mutable = {
  hmfokfnpnfk = None;
  bbdbepekdie = None;
  odbjpecmcgc = None;
  kbhchoicmhc = None;
  hjcdfejpjcl = None;
  emghnkdicbf = None;
  kkiehkfelck = None;
  pblkdhccmdi = None;
  iohofdgmoka = None;
  gohgfgbcbfh = None;
  dlieaipfolf = None;
  nilkfplpaka = None;
  jjcbfhnhale = None;
}

type monopoly_action_result_mutable = {
  mutable click_cell_id : int32;
  mutable trigger_cell_id : int32;
  mutable detail : bakgcckjdlk option;
  mutable source_type : ciaoikeanea;
  mutable effect_type : int32;
  mutable trigger_map_id : int32;
  mutable click_map_id : int32;
}

let default_monopoly_action_result_mutable () : monopoly_action_result_mutable = {
  click_cell_id = 0l;
  trigger_cell_id = 0l;
  detail = None;
  source_type = default_ciaoikeanea ();
  effect_type = 0l;
  trigger_map_id = 0l;
  click_map_id = 0l;
}

type ojifedpgpnj_mutable = {
  mutable fhjpmiigkin : monopoly_action_result list;
}

let default_ojifedpgpnj_mutable () : ojifedpgpnj_mutable = {
  fhjpmiigkin = [];
}

type jlgkjbbjang_mutable = {
  mutable pffecnompke : item_list option;
  mutable pdpfcfglgco : item_list option;
  mutable hfcakgghnim : pcfeibpmokl option;
}

let default_jlgkjbbjang_mutable () : jlgkjbbjang_mutable = {
  pffecnompke = None;
  pdpfcfglgco = None;
  hfcakgghnim = None;
}

type jhbnabecblc_mutable = {
  mutable dalmjhmldgm : niojaoakejp option;
  mutable hfcakgghnim : pcfeibpmokl option;
}

let default_jhbnabecblc_mutable () : jhbnabecblc_mutable = {
  dalmjhmldgm = None;
  hfcakgghnim = None;
}

type poklnoillmi_mutable = {
  mutable jahpoofngeb : int32;
}

let default_poklnoillmi_mutable () : poklnoillmi_mutable = {
  jahpoofngeb = 0l;
}

type monopoly_game_raise_ratio_sc_rsp_mutable = {
  mutable ratio : int32;
  mutable retcode : int32;
}

let default_monopoly_game_raise_ratio_sc_rsp_mutable () : monopoly_game_raise_ratio_sc_rsp_mutable = {
  ratio = 0l;
  retcode = 0l;
}

type cpaehmckljf_mutable = {
  mutable ebajcfkinhn : int64;
  mutable bpbbnbklkdc : bool;
  mutable retcode : int32;
  mutable igepfimgalc : int32;
  mutable pbjhjhdcafb : eonniefdoci option;
}

let default_cpaehmckljf_mutable () : cpaehmckljf_mutable = {
  ebajcfkinhn = 0L;
  bpbbnbklkdc = false;
  retcode = 0l;
  igepfimgalc = 0l;
  pbjhjhdcafb = None;
}

type kgonikbbdak_mutable = {
  mutable kbdmkfogkfj : bool;
}

let default_kgonikbbdak_mutable () : kgonikbbdak_mutable = {
  kbdmkfogkfj = false;
}

type nhohbpmdnbh_mutable = {
  mutable ebajcfkinhn : int64;
  mutable ngpobeifhfc : int32;
  mutable knhfnfblnlk : int32;
  mutable lballjhgmib : int32;
  mutable retcode : int32;
  mutable ifiikolllkn : int32;
  mutable likidkoepla : int32;
}

let default_nhohbpmdnbh_mutable () : nhohbpmdnbh_mutable = {
  ebajcfkinhn = 0L;
  ngpobeifhfc = 0l;
  knhfnfblnlk = 0l;
  lballjhgmib = 0l;
  retcode = 0l;
  ifiikolllkn = 0l;
  likidkoepla = 0l;
}

type imniaamofcn_mutable = {
  mutable hajiidccbmn : int32;
}

let default_imniaamofcn_mutable () : imniaamofcn_mutable = {
  hajiidccbmn = 0l;
}

type dnckobgnihn_mutable = {
  mutable mahiocfcikf : int32;
  mutable retcode : int32;
  mutable nnoncigblll : bool;
  mutable fhbjogfkibm : int32 list;
}

let default_dnckobgnihn_mutable () : dnckobgnihn_mutable = {
  mahiocfcikf = 0l;
  retcode = 0l;
  nnoncigblll = false;
  fhbjogfkibm = [];
}

type monopoly_game_gacha_sc_rsp_mutable = {
  mutable result_list : int32 list;
  mutable retcode : int32;
}

let default_monopoly_game_gacha_sc_rsp_mutable () : monopoly_game_gacha_sc_rsp_mutable = {
  result_list = [];
  retcode = 0l;
}

type dhkfhhmkgdd_mutable = {
  mutable aiialahiamp : pignanpdklj list;
}

let default_dhkfhhmkgdd_mutable () : dhkfhhmkgdd_mutable = {
  aiialahiamp = [];
}

type bpkdaacghcm_mutable = {
  mutable ipcpibkdmib : hgbafdfikfj option;
  mutable retcode : int32;
}

let default_bpkdaacghcm_mutable () : bpkdaacghcm_mutable = {
  ipcpibkdmib = None;
  retcode = 0l;
}

type dhklbllkbal_mutable = {
  mutable jahclmgmafe : int32;
  mutable bhlfhhjhpja : int32;
  mutable goolmcbeakp : int32;
}

let default_dhklbllkbal_mutable () : dhklbllkbal_mutable = {
  jahclmgmafe = 0l;
  bhlfhhjhpja = 0l;
  goolmcbeakp = 0l;
}

type gfcbokjcjlk_mutable = {
  mutable lhcalbfcfjl : dhklbllkbal list;
}

let default_gfcbokjcjlk_mutable () : gfcbokjcjlk_mutable = {
  lhcalbfcfjl = [];
}

type hcejcpnpnbn_mutable = {
  mutable onjlkkdkdbg : int32;
}

let default_hcejcpnpnbn_mutable () : hcejcpnpnbn_mutable = {
  onjlkkdkdbg = 0l;
}

type hinkjiefgpj_mutable = {
  mutable retcode : int32;
  mutable onjlkkdkdbg : int32;
}

let default_hinkjiefgpj_mutable () : hinkjiefgpj_mutable = {
  retcode = 0l;
  onjlkkdkdbg = 0l;
}

type fmhgmbmhkcb_mutable = {
  mutable pjfilkjbojg : int32;
  mutable hkbeefmhlbb : int32;
  mutable pdpfcfglgco : item_list option;
}

let default_fmhgmbmhkcb_mutable () : fmhgmbmhkcb_mutable = {
  pjfilkjbojg = 0l;
  hkbeefmhlbb = 0l;
  pdpfcfglgco = None;
}

type gdmhmadmend_mutable = {
  mutable cgjhaghgclh : fmhgmbmhkcb list;
}

let default_gdmhmadmend_mutable () : gdmhmadmend_mutable = {
  cgjhaghgclh = [];
}

type pidiloglgnn_mutable = {
  mutable retcode : int32;
}

let default_pidiloglgnn_mutable () : pidiloglgnn_mutable = {
  retcode = 0l;
}

type bjpjdlgmoen_mutable = {
  mutable pbjhjhdcafb : eonniefdoci option;
  mutable igepfimgalc : int32;
}

let default_bjpjdlgmoen_mutable () : bjpjdlgmoen_mutable = {
  pbjhjhdcafb = None;
  igepfimgalc = 0l;
}

type hnlpaajffok_mutable = {
  mutable dkppejnhahh : int32;
  mutable lbmgpjobhdp : int32;
  mutable ddjolnlfedi : int32;
  mutable hflkkoinaeo : int32;
  mutable uid : int32;
}

let default_hnlpaajffok_mutable () : hnlpaajffok_mutable = {
  dkppejnhahh = 0l;
  lbmgpjobhdp = 0l;
  ddjolnlfedi = 0l;
  hflkkoinaeo = 0l;
  uid = 0l;
}

type eelooogfiep_mutable = {
  mutable elcdinampjf : hnlpaajffok option;
  mutable retcode : int32;
  mutable nofclllibdd : hnlpaajffok list;
}

let default_eelooogfiep_mutable () : eelooogfiep_mutable = {
  elcdinampjf = None;
  retcode = 0l;
  nofclllibdd = [];
}

type oppjogblncg_mutable = {
  mutable ejpljgbiaic : int32;
}

let default_oppjogblncg_mutable () : oppjogblncg_mutable = {
  ejpljgbiaic = 0l;
}

type kolcimmmjhb_mutable = {
  mutable ejpljgbiaic : int32;
  mutable dekonpmjeen : item_list option;
  mutable retcode : int32;
}

let default_kolcimmmjhb_mutable () : kolcimmmjhb_mutable = {
  ejpljgbiaic = 0l;
  dekonpmjeen = None;
  retcode = 0l;
}

type pfjiapghecn_mutable = {
  mutable nahadojjmfc : int32 list;
  mutable lbmgpjobhdp : int32;
}

let default_pfjiapghecn_mutable () : pfjiapghecn_mutable = {
  nahadojjmfc = [];
  lbmgpjobhdp = 0l;
}

type khpljlniphc_mutable = {
  mutable mjihjbdnbkk : int32;
  mutable cnt : int32;
}

let default_khpljlniphc_mutable () : khpljlniphc_mutable = {
  mjihjbdnbkk = 0l;
  cnt = 0l;
}

type kilboolgkpa_mutable = {
  mutable dkmdjiclemf : khpljlniphc list;
  mutable mkideamcloh : bool;
  mutable dmfpklplbbi : bool;
  mutable retcode : int32;
  mutable ckikjffkgfk : fjckjdbjkfd list;
  mutable dpmofpdmpab : int32;
  mutable lkajhecfpji : int32;
  mutable progress : int32;
}

let default_kilboolgkpa_mutable () : kilboolgkpa_mutable = {
  dkmdjiclemf = [];
  mkideamcloh = false;
  dmfpklplbbi = false;
  retcode = 0l;
  ckikjffkgfk = [];
  dpmofpdmpab = 0l;
  lkajhecfpji = 0l;
  progress = 0l;
}

type plpbgpgeenh_mutable = {
  mutable boijjckjecp : int32;
  mutable edeglgnkjdj : bool;
}

let default_plpbgpgeenh_mutable () : plpbgpgeenh_mutable = {
  boijjckjecp = 0l;
  edeglgnkjdj = false;
}

type gglknfikmjo_mutable = {
  mutable ebdmffdjebm : int32;
  mutable dhcakofmnjp : int32;
  mutable gedkbbfkdlm : bocmnkonppn option;
  mutable retcode : int32;
}

let default_gglknfikmjo_mutable () : gglknfikmjo_mutable = {
  ebdmffdjebm = 0l;
  dhcakofmnjp = 0l;
  gedkbbfkdlm = None;
  retcode = 0l;
}

type social_event_server_cache_mutable = {
  mutable src_uid : int32;
  mutable sub_coin : int32;
  mutable id : int32;
  mutable add_coin : int32;
}

let default_social_event_server_cache_mutable () : social_event_server_cache_mutable = {
  src_uid = 0l;
  sub_coin = 0l;
  id = 0l;
  add_coin = 0l;
}

type fdkgkflnomh_mutable = {
  mutable calpgdnbiaa : social_event_server_cache list;
}

let default_fdkgkflnomh_mutable () : fdkgkflnomh_mutable = {
  calpgdnbiaa = [];
}

type npkeaphgcbp_mutable = {
  mutable calpgdnbiaa : social_event_server_cache list;
  mutable retcode : int32;
}

let default_npkeaphgcbp_mutable () : npkeaphgcbp_mutable = {
  calpgdnbiaa = [];
  retcode = 0l;
}

type kocpagpjklg_mutable = {
  mutable bbphnlfjfia : int32 list;
}

let default_kocpagpjklg_mutable () : kocpagpjklg_mutable = {
  bbphnlfjfia = [];
}

type hgmhhjpoech_mutable = {
  mutable lfbdpogonmk : int32 list;
  mutable retcode : int32;
}

let default_hgmhhjpoech_mutable () : hgmhhjpoech_mutable = {
  lfbdpogonmk = [];
  retcode = 0l;
}

type ofabhekkgji_mutable = {
  mutable bnhepammdhc : int32;
}

let default_ofabhekkgji_mutable () : ofabhekkgji_mutable = {
  bnhepammdhc = 0l;
}

type ppnhdbldehi_mutable = {
  mutable lagojcpbhbb : ajofeagbhof list;
  mutable bnhepammdhc : int32;
  mutable retcode : int32;
}

let default_ppnhdbldehi_mutable () : ppnhdbldehi_mutable = {
  lagojcpbhbb = [];
  bnhepammdhc = 0l;
  retcode = 0l;
}

type ipbhdhlonkl_mutable = {
  mutable ahbalikpnil : int64;
  mutable bnhepammdhc : int32;
}

let default_ipbhdhlonkl_mutable () : ipbhdhlonkl_mutable = {
  ahbalikpnil = 0L;
  bnhepammdhc = 0l;
}

type onhionphhpe_mutable = {
  mutable bnhepammdhc : int32;
  mutable dekonpmjeen : item_list option;
  mutable retcode : int32;
  mutable ahbalikpnil : int32;
}

let default_onhionphhpe_mutable () : onhionphhpe_mutable = {
  bnhepammdhc = 0l;
  dekonpmjeen = None;
  retcode = 0l;
  ahbalikpnil = 0l;
}

type emgndkeoddi_mutable = {
  mutable ahbalikpnil : int64;
  mutable bnhepammdhc : int32;
}

let default_emgndkeoddi_mutable () : emgndkeoddi_mutable = {
  ahbalikpnil = 0L;
  bnhepammdhc = 0l;
}

type kjpbgihpnpk_mutable = {
  mutable bnhepammdhc : int32;
  mutable retcode : int32;
  mutable ahbalikpnil : int64;
}

let default_kjpbgihpnpk_mutable () : kjpbgihpnpk_mutable = {
  bnhepammdhc = 0l;
  retcode = 0l;
  ahbalikpnil = 0L;
}

type deecamaadno_mutable = {
  mutable hflkkoinaeo : int32;
  mutable retcode : int32;
  mutable lkfmpcmabal : int32;
}

let default_deecamaadno_mutable () : deecamaadno_mutable = {
  hflkkoinaeo = 0l;
  retcode = 0l;
  lkfmpcmabal = 0l;
}

type agfjdjchdcf_mutable = {
  mutable retcode : int32;
  mutable odldbbohhkb : gioddoihlcn option;
}

let default_agfjdjchdcf_mutable () : agfjdjchdcf_mutable = {
  retcode = 0l;
  odldbbohhkb = None;
}

type cmiicmpcpce_mutable = {
  mutable lcimodmphno : int32 list;
}

let default_cmiicmpcpce_mutable () : cmiicmpcpce_mutable = {
  lcimodmphno = [];
}

type knefbegaapc_mutable = {
  mutable dekonpmjeen : item_list option;
  mutable lcimodmphno : int32 list;
  mutable retcode : int32;
}

let default_knefbegaapc_mutable () : knefbegaapc_mutable = {
  dekonpmjeen = None;
  lcimodmphno = [];
  retcode = 0l;
}

type dcclgmmfhbc_mutable = {
  mutable retcode : int32;
  mutable dekonpmjeen : item_list option;
}

let default_dcclgmmfhbc_mutable () : dcclgmmfhbc_mutable = {
  retcode = 0l;
  dekonpmjeen = None;
}

type hfgbgjmmnfk_mutable = {
  mutable retcode : int32;
  mutable pbjhjhdcafb : eonniefdoci option;
}

let default_hfgbgjmmnfk_mutable () : hfgbgjmmnfk_mutable = {
  retcode = 0l;
  pbjhjhdcafb = None;
}

type chdcojajjcb_mutable = {
  mutable lnjapmhfcck : int32;
  mutable pbonhgdihdk : int32;
}

let default_chdcojajjcb_mutable () : chdcojajjcb_mutable = {
  lnjapmhfcck = 0l;
  pbonhgdihdk = 0l;
}

type ceghamagdkm_mutable = {
  mutable retcode : int32;
  mutable lnjapmhfcck : int32;
  mutable pbonhgdihdk : int32;
}

let default_ceghamagdkm_mutable () : ceghamagdkm_mutable = {
  retcode = 0l;
  lnjapmhfcck = 0l;
  pbonhgdihdk = 0l;
}

type pjnahfbkmob_mutable = {
  mutable retcode : int32;
}

let default_pjnahfbkmob_mutable () : pjnahfbkmob_mutable = {
  retcode = 0l;
}

type kbdgpkiddla_mutable = {
  mutable retcode : int32;
  mutable pcmhnpbecpk : egokacjfaen list;
  mutable nchhhomjbdk : mfoaahgomic option;
}

let default_kbdgpkiddla_mutable () : kbdgpkiddla_mutable = {
  retcode = 0l;
  pcmhnpbecpk = [];
  nchhhomjbdk = None;
}

type oibemlbhfei_mutable = {
  mutable hckegfdpdml : int32;
}

let default_oibemlbhfei_mutable () : oibemlbhfei_mutable = {
  hckegfdpdml = 0l;
}

type habpbddflme_mutable = {
  mutable jdmpkhbijmn : string;
  mutable cfanklgaeoi : int32;
  mutable jgkindfbegl : int64;
  mutable retcode : int32;
  mutable jdjmjenhhhl : string;
}

let default_habpbddflme_mutable () : habpbddflme_mutable = {
  jdmpkhbijmn = "";
  cfanklgaeoi = 0l;
  jgkindfbegl = 0L;
  retcode = 0l;
  jdjmjenhhhl = "";
}

type bnkgpngjhkp_mutable = {
  mutable jgkindfbegl : int64;
}

let default_bnkgpngjhkp_mutable () : bnkgpngjhkp_mutable = {
  jgkindfbegl = 0L;
}

type bkmgppjcaoa_mutable = {
  mutable retcode : int32;
}

let default_bkmgppjcaoa_mutable () : bkmgppjcaoa_mutable = {
  retcode = 0l;
}

type pdfcmfifanj_mutable = {
  mutable pcmhnpbecpk : egokacjfaen list;
  mutable nchhhomjbdk : mfoaahgomic option;
}

let default_pdfcmfifanj_mutable () : pdfcmfifanj_mutable = {
  pcmhnpbecpk = [];
  nchhhomjbdk = None;
}

type pnegdinkbpo_mutable = {
  mutable nchhhomjbdk : mfoaahgomic option;
}

let default_pnegdinkbpo_mutable () : pnegdinkbpo_mutable = {
  nchhhomjbdk = None;
}

type phnoojigfhp_mutable = {
  mutable mgdnainpahe : donhpbjnknp;
  mutable bnageejckgi : obminlghola option;
  mutable ebeabgeoean : int32;
  mutable bkhhkejcomc : int32;
}

let default_phnoojigfhp_mutable () : phnoojigfhp_mutable = {
  mgdnainpahe = default_donhpbjnknp ();
  bnageejckgi = None;
  ebeabgeoean = 0l;
  bkhhkejcomc = 0l;
}

type cneaelnihbo_mutable = {
  mutable neaokpcagnl : int32;
  mutable id : int32;
}

let default_cneaelnihbo_mutable () : cneaelnihbo_mutable = {
  neaokpcagnl = 0l;
  id = 0l;
}

type pplkceifckf_mutable = {
  mutable okcfllaampl : int32;
  mutable ekieijdbdhm : int32;
  mutable clmeaokeoaf : int32;
  mutable fjlnncjahng : int32;
}

let default_pplkceifckf_mutable () : pplkceifckf_mutable = {
  okcfllaampl = 0l;
  ekieijdbdhm = 0l;
  clmeaokeoaf = 0l;
  fjlnncjahng = 0l;
}

type chokajgcamp_mutable = {
  mutable jphnpjmpmbm : pplkceifckf list;
  mutable retcode : int32;
  mutable dbkfefjmndk : cneaelnihbo list;
}

let default_chokajgcamp_mutable () : chokajgcamp_mutable = {
  jphnpjmpmbm = [];
  retcode = 0l;
  dbkfefjmndk = [];
}

type dkaijciobno_mutable = {
  mutable dbkfefjmndk : cneaelnihbo list;
}

let default_dkaijciobno_mutable () : dkaijciobno_mutable = {
  dbkfefjmndk = [];
}

type hkknlapklmg_mutable = {
  mutable hihamdaadoi : int32;
  mutable efbfdfnaiak : int32;
  mutable ppkgjnfchbg : int32;
  mutable fjlnncjahng : int32;
}

let default_hkknlapklmg_mutable () : hkknlapklmg_mutable = {
  hihamdaadoi = 0l;
  efbfdfnaiak = 0l;
  ppkgjnfchbg = 0l;
  fjlnncjahng = 0l;
}

type hlmmnbaiaen_mutable = {
  mutable retcode : int32;
  mutable jphnpjmpmbm : pplkceifckf list;
  mutable cfjfdcakbpd : hkknlapklmg option;
}

let default_hlmmnbaiaen_mutable () : hlmmnbaiaen_mutable = {
  retcode = 0l;
  jphnpjmpmbm = [];
  cfjfdcakbpd = None;
}

type hfjlillecgk_mutable = {
  mutable icbiaedlngb : hkknlapklmg list;
  mutable jphnpjmpmbm : pplkceifckf list;
  mutable dbkfefjmndk : cneaelnihbo list;
}

let default_hfjlillecgk_mutable () : hfjlillecgk_mutable = {
  icbiaedlngb = [];
  jphnpjmpmbm = [];
  dbkfefjmndk = [];
}

type agacmpmknah_mutable = {
  mutable ehbklolppkd : int32;
  mutable pos : ibmkpfblcop;
}

let default_agacmpmknah_mutable () : agacmpmknah_mutable = {
  ehbklolppkd = 0l;
  pos = default_ibmkpfblcop ();
}

type hekmjicgnok_mutable = {
  mutable hjggnmndjad : int32;
  mutable ckacngonkjj : agacmpmknah list;
  mutable level : int32;
  mutable lnbhmcphfdh : int32;
  mutable fhmfhbjkfad : int32;
  mutable ggdaffjnmpa : int32;
}

let default_hekmjicgnok_mutable () : hekmjicgnok_mutable = {
  hjggnmndjad = 0l;
  ckacngonkjj = [];
  level = 0l;
  lnbhmcphfdh = 0l;
  fhmfhbjkfad = 0l;
  ggdaffjnmpa = 0l;
}

type fipbhpcfnnn_mutable = {
  mutable hdnieedkagk : bool;
  mutable jimincbjkpg : int32;
}

let default_fipbhpcfnnn_mutable () : fipbhpcfnnn_mutable = {
  hdnieedkagk = false;
  jimincbjkpg = 0l;
}

type hmjgeckckmm_mutable = {
  mutable hibkehghjkj : fipbhpcfnnn list;
  mutable polheomfihp : int32;
  mutable llcmhphhafg : int32;
  mutable doeadajcpcd : int32;
  mutable djifmbakafg : int32;
  mutable loacdlcljkl : int32;
}

let default_hmjgeckckmm_mutable () : hmjgeckckmm_mutable = {
  hibkehghjkj = [];
  polheomfihp = 0l;
  llcmhphhafg = 0l;
  doeadajcpcd = 0l;
  djifmbakafg = 0l;
  loacdlcljkl = 0l;
}

type kopbmgbkabe_mutable = {
  mutable amiejgmmbnn : int32;
  mutable ehbklolppkd : int32;
}

let default_kopbmgbkabe_mutable () : kopbmgbkabe_mutable = {
  amiejgmmbnn = 0l;
  ehbklolppkd = 0l;
}

type pabjleadhde_mutable = {
  mutable enponpnkhhd : int32;
  mutable ilbidmacbhl : int32;
  mutable state : khpkejjhene;
  mutable ohibnloihci : int32;
  mutable ipcpammkkdf : int32;
  mutable jmbbphkojmc : int32;
  mutable nhnbiglcmae : int32 list;
}

let default_pabjleadhde_mutable () : pabjleadhde_mutable = {
  enponpnkhhd = 0l;
  ilbidmacbhl = 0l;
  state = default_khpkejjhene ();
  ohibnloihci = 0l;
  ipcpammkkdf = 0l;
  jmbbphkojmc = 0l;
  nhnbiglcmae = [];
}

type lpnaapgcinf_mutable = {
  mutable kahdopkmaaa : int32;
  mutable llhoijjnhbc : pabjleadhde list;
  mutable fghkkkkbohf : int32 list;
}

let default_lpnaapgcinf_mutable () : lpnaapgcinf_mutable = {
  kahdopkmaaa = 0l;
  llhoijjnhbc = [];
  fghkkkkbohf = [];
}

type hhenfenpfmp_mutable = {
  mutable retcode : int32;
  mutable dplempnahkh : lpnaapgcinf option;
  mutable njhmoljoand : int32;
  mutable opbbglfipjf : hekmjicgnok list;
  mutable fddiajpmfki : int32;
  mutable akogjjegako : int32 list;
  mutable lokhhakogkh : int32;
  mutable okejfjflidc : hmjgeckckmm option;
  mutable level : int32;
  mutable ebggiceiaee : int32;
  mutable cdgdabeaeam : int32 list;
  mutable ckacngonkjj : kopbmgbkabe list;
  mutable pkjhlljjldp : int32;
  mutable exp : int32;
}

let default_hhenfenpfmp_mutable () : hhenfenpfmp_mutable = {
  retcode = 0l;
  dplempnahkh = None;
  njhmoljoand = 0l;
  opbbglfipjf = [];
  fddiajpmfki = 0l;
  akogjjegako = [];
  lokhhakogkh = 0l;
  okejfjflidc = None;
  level = 0l;
  ebggiceiaee = 0l;
  cdgdabeaeam = [];
  ckacngonkjj = [];
  pkjhlljjldp = 0l;
  exp = 0l;
}

type dobbjmgakhk_mutable = {
  mutable ehbklolppkd : int32;
}

let default_dobbjmgakhk_mutable () : dobbjmgakhk_mutable = {
  ehbklolppkd = 0l;
}

type nlbjjifeahl_mutable = {
  mutable retcode : int32;
  mutable ehbklolppkd : int32;
}

let default_nlbjjifeahl_mutable () : nlbjjifeahl_mutable = {
  retcode = 0l;
  ehbklolppkd = 0l;
}

type lgcgdbekgen_mutable = {
  mutable amiejgmmbnn : int32;
  mutable pos : ibmkpfblcop;
  mutable ehbklolppkd : int32;
}

let default_lgcgdbekgen_mutable () : lgcgdbekgen_mutable = {
  amiejgmmbnn = 0l;
  pos = default_ibmkpfblcop ();
  ehbklolppkd = 0l;
}

type lkpgdmangog_mutable = {
  mutable retcode : int32;
  mutable ehbklolppkd : int32;
  mutable amiejgmmbnn : int32;
  mutable pos : ibmkpfblcop;
}

let default_lkpgdmangog_mutable () : lkpgdmangog_mutable = {
  retcode = 0l;
  ehbklolppkd = 0l;
  amiejgmmbnn = 0l;
  pos = default_ibmkpfblcop ();
}

type eaglpghjhep_mutable = {
  mutable ehbklolppkd : int32;
}

let default_eaglpghjhep_mutable () : eaglpghjhep_mutable = {
  ehbklolppkd = 0l;
}

type pfdiknclbgh_mutable = {
  mutable retcode : int32;
  mutable ehbklolppkd : int32;
}

let default_pfdiknclbgh_mutable () : pfdiknclbgh_mutable = {
  retcode = 0l;
  ehbklolppkd = 0l;
}

type lclkpncbbhg_mutable = {
  mutable ehbklolppkd : int32;
  mutable cmnihjigino : gdophdklfdg;
}

let default_lclkpncbbhg_mutable () : lclkpncbbhg_mutable = {
  ehbklolppkd = 0l;
  cmnihjigino = default_gdophdklfdg ();
}

type pfacpieijfn_mutable = {
  mutable ldmpandhbcm : int32;
}

let default_pfacpieijfn_mutable () : pfacpieijfn_mutable = {
  ldmpandhbcm = 0l;
}

type jmonjimkcnb_mutable = {
  mutable plpnefmoile : int32;
}

let default_jmonjimkcnb_mutable () : jmonjimkcnb_mutable = {
  plpnefmoile = 0l;
}

type gkbapmfchgp_mutable = {
  mutable retcode : int32;
  mutable negakoplbfk : int32;
}

let default_gkbapmfchgp_mutable () : gkbapmfchgp_mutable = {
  retcode = 0l;
  negakoplbfk = 0l;
}

type ginopghobbg_mutable = {
  mutable ggdaffjnmpa : int32;
  mutable level : int32;
}

let default_ginopghobbg_mutable () : ginopghobbg_mutable = {
  ggdaffjnmpa = 0l;
  level = 0l;
}

type kpafaechgfl_mutable = {
  mutable ggdaffjnmpa : int32;
  mutable retcode : int32;
  mutable level : int32;
}

let default_kpafaechgfl_mutable () : kpafaechgfl_mutable = {
  ggdaffjnmpa = 0l;
  retcode = 0l;
  level = 0l;
}

type njppmfpmemf_mutable = {
  mutable level : int32;
  mutable apimbkdepgd : fkieenabkbi;
  mutable ggdaffjnmpa : int32;
}

let default_njppmfpmemf_mutable () : njppmfpmemf_mutable = {
  level = 0l;
  apimbkdepgd = default_fkieenabkbi ();
  ggdaffjnmpa = 0l;
}

type dkebghbnkee_mutable = {
  mutable apimbkdepgd : fkieenabkbi;
  mutable retcode : int32;
  mutable level : int32;
  mutable ggdaffjnmpa : int32;
}

let default_dkebghbnkee_mutable () : dkebghbnkee_mutable = {
  apimbkdepgd = default_fkieenabkbi ();
  retcode = 0l;
  level = 0l;
  ggdaffjnmpa = 0l;
}

type plbkibglbnd_mutable = {
  mutable level : int32;
  mutable dplempnahkh : lpnaapgcinf option;
  mutable opbbglfipjf : hekmjicgnok list;
  mutable lokhhakogkh : int32;
  mutable akogjjegako : int32 list;
  mutable njhmoljoand : int32;
  mutable ebggiceiaee : int32;
  mutable exp : int32;
  mutable pkjhlljjldp : int32;
  mutable okejfjflidc : hmjgeckckmm option;
  mutable fddiajpmfki : int32;
  mutable cdgdabeaeam : int32 list;
  mutable ckacngonkjj : kopbmgbkabe list;
}

let default_plbkibglbnd_mutable () : plbkibglbnd_mutable = {
  level = 0l;
  dplempnahkh = None;
  opbbglfipjf = [];
  lokhhakogkh = 0l;
  akogjjegako = [];
  njhmoljoand = 0l;
  ebggiceiaee = 0l;
  exp = 0l;
  pkjhlljjldp = 0l;
  okejfjflidc = None;
  fddiajpmfki = 0l;
  cdgdabeaeam = [];
  ckacngonkjj = [];
}

type bbjjglacdne_mutable = {
  mutable jpaolljmggn : pabjleadhde option;
}

let default_bbjjglacdne_mutable () : bbjjglacdne_mutable = {
  jpaolljmggn = None;
}

type ebdhkimflce_mutable = {
  mutable kccleanfoef : int32;
}

let default_ebdhkimflce_mutable () : ebdhkimflce_mutable = {
  kccleanfoef = 0l;
}

type occahnklaim_mutable = {
  mutable jpaolljmggn : lpnaapgcinf option;
  mutable retcode : int32;
}

let default_occahnklaim_mutable () : occahnklaim_mutable = {
  jpaolljmggn = None;
  retcode = 0l;
}

type kekkmfdigne_mutable = {
  mutable ohibnloihci : int32;
  mutable jmbbphkojmc : int32;
}

let default_kekkmfdigne_mutable () : kekkmfdigne_mutable = {
  ohibnloihci = 0l;
  jmbbphkojmc = 0l;
}

type afhajlkjocl_mutable = {
  mutable ohibnloihci : int32;
  mutable jmbbphkojmc : int32;
  mutable retcode : int32;
}

let default_afhajlkjocl_mutable () : afhajlkjocl_mutable = {
  ohibnloihci = 0l;
  jmbbphkojmc = 0l;
  retcode = 0l;
}

type adalbkfkjji_mutable = {
  mutable njhmoljoand : int32;
}

let default_adalbkfkjji_mutable () : adalbkfkjji_mutable = {
  njhmoljoand = 0l;
}

type mbpnljhddip_mutable = {
  mutable oaedchilhgj : int32;
  mutable fpjnhijobaj : int32;
  mutable njhmoljoand : int32;
  mutable ehbklolppkd : int32;
}

let default_mbpnljhddip_mutable () : mbpnljhddip_mutable = {
  oaedchilhgj = 0l;
  fpjnhijobaj = 0l;
  njhmoljoand = 0l;
  ehbklolppkd = 0l;
}

type ilfmakefhbm_mutable = {
  mutable djifmbakafg : int32;
}

let default_ilfmakefhbm_mutable () : ilfmakefhbm_mutable = {
  djifmbakafg = 0l;
}

type djalilghapg_mutable = {
  mutable jimincbjkpg : int32 list;
  mutable djifmbakafg : int32;
  mutable loemopmkinb : bool;
}

let default_djalilghapg_mutable () : djalilghapg_mutable = {
  jimincbjkpg = [];
  djifmbakafg = 0l;
  loemopmkinb = false;
}

type jcpphggjadn_mutable = {
  mutable hgjolgkaofj : int32;
  mutable djifmbakafg : int32;
  mutable olfhccbiidg : int32;
}

let default_jcpphggjadn_mutable () : jcpphggjadn_mutable = {
  hgjolgkaofj = 0l;
  djifmbakafg = 0l;
  olfhccbiidg = 0l;
}

type emegifcfcjn_mutable = {
  mutable hgjolgkaofj : int32;
}

let default_emegifcfcjn_mutable () : emegifcfcjn_mutable = {
  hgjolgkaofj = 0l;
}

type egmpcjhcjbk_mutable = {
  mutable hgjolgkaofj : int32;
  mutable reward : item_list option;
  mutable retcode : int32;
}

let default_egmpcjhcjbk_mutable () : egmpcjhcjbk_mutable = {
  hgjolgkaofj = 0l;
  reward = None;
  retcode = 0l;
}

type epmngcpcbkl_mutable = {
  mutable kheopnihaff : int32;
  mutable cfbjmkdbhai : int32;
  mutable ippjhngkgjo : cmebpgjmefe;
  mutable gbclnihogem : int32;
  mutable glnpnnmnand : int32;
  mutable gjjipefijck : int32 list;
}

let default_epmngcpcbkl_mutable () : epmngcpcbkl_mutable = {
  kheopnihaff = 0l;
  cfbjmkdbhai = 0l;
  ippjhngkgjo = default_cmebpgjmefe ();
  gbclnihogem = 0l;
  glnpnnmnand = 0l;
  gjjipefijck = [];
}

type nckfngfopgm_mutable = {
  mutable mpoedocjenp : int32 list;
}

let default_nckfngfopgm_mutable () : nckfngfopgm_mutable = {
  mpoedocjenp = [];
}

type ookkhpnopmj_mutable = {
  mutable retcode : int32;
  mutable fgdljmbkbam : epmngcpcbkl list;
}

let default_ookkhpnopmj_mutable () : ookkhpnopmj_mutable = {
  retcode = 0l;
  fgdljmbkbam = [];
}

type ojlpkgeolmh_mutable = {
  mutable gbclnihogem : int32;
  mutable idcigdfjabi : int32;
}

let default_ojlpkgeolmh_mutable () : ojlpkgeolmh_mutable = {
  gbclnihogem = 0l;
  idcigdfjabi = 0l;
}

type ifjbadlimjc_mutable = {
  mutable fkamaeepnki : epmngcpcbkl option;
  mutable retcode : int32;
}

let default_ifjbadlimjc_mutable () : ifjbadlimjc_mutable = {
  fkamaeepnki = None;
  retcode = 0l;
}

type lncjkacchpc_mutable = {
  mutable eoejiijmano : int32 list;
  mutable idcigdfjabi : int32;
  mutable gbclnihogem : int32;
}

let default_lncjkacchpc_mutable () : lncjkacchpc_mutable = {
  eoejiijmano = [];
  idcigdfjabi = 0l;
  gbclnihogem = 0l;
}

type oeoiecpgdde_mutable = {
  mutable reward : item_list option;
  mutable fkamaeepnki : epmngcpcbkl option;
  mutable retcode : int32;
}

let default_oeoiecpgdde_mutable () : oeoiecpgdde_mutable = {
  reward = None;
  fkamaeepnki = None;
  retcode = 0l;
}

type hlmjajcepgj_mutable = {
  mutable fkamaeepnki : epmngcpcbkl option;
}

let default_hlmjajcepgj_mutable () : hlmjajcepgj_mutable = {
  fkamaeepnki = None;
}

type maadcgflnec_mutable = {
  mutable idlneeekpjl : int32;
}

let default_maadcgflnec_mutable () : maadcgflnec_mutable = {
  idlneeekpjl = 0l;
}

type nhgjajlgbfb_mutable = {
  mutable retcode : int32;
  mutable idlneeekpjl : int32;
}

let default_nhgjajlgbfb_mutable () : nhgjajlgbfb_mutable = {
  retcode = 0l;
  idlneeekpjl = 0l;
}

type flondkdobfn_mutable = {
  mutable idlneeekpjl : int32;
  mutable fkglfpgdhic : int64;
}

let default_flondkdobfn_mutable () : flondkdobfn_mutable = {
  idlneeekpjl = 0l;
  fkglfpgdhic = 0L;
}

type fcgnnhbbenm_mutable = {
  mutable giipokombda : int32 list;
  mutable retcode : int32;
  mutable pdgeengkjke : int32;
}

let default_fcgnnhbbenm_mutable () : fcgnnhbbenm_mutable = {
  giipokombda = [];
  retcode = 0l;
  pdgeengkjke = 0l;
}

type fmbnjkmnjnh_mutable = {
  mutable dljbepbhekm : int32;
}

let default_fmbnjkmnjnh_mutable () : fmbnjkmnjnh_mutable = {
  dljbepbhekm = 0l;
}

type jbmeobcimpi_mutable = {
  mutable bmcoijcmnnc : int32;
  mutable retcode : int32;
  mutable pdgeengkjke : int32;
}

let default_jbmeobcimpi_mutable () : jbmeobcimpi_mutable = {
  bmcoijcmnnc = 0l;
  retcode = 0l;
  pdgeengkjke = 0l;
}

type lgpllmnldic_mutable = {
  mutable dljbepbhekm : int32;
}

let default_lgpllmnldic_mutable () : lgpllmnldic_mutable = {
  dljbepbhekm = 0l;
}

type gpealbnelpe_mutable = {
  mutable retcode : int32;
  mutable bmcoijcmnnc : int32;
  mutable pdgeengkjke : int32;
}

let default_gpealbnelpe_mutable () : gpealbnelpe_mutable = {
  retcode = 0l;
  bmcoijcmnnc = 0l;
  pdgeengkjke = 0l;
}

type magblgbbnha_mutable = {
  mutable pdgeengkjke : int32;
}

let default_magblgbbnha_mutable () : magblgbbnha_mutable = {
  pdgeengkjke = 0l;
}

type kiapanmhjob_mutable = {
  mutable ilcffmcedan : int32;
  mutable dmplokpnddp : int32 list;
  mutable lamdfhjndpe : int32;
  mutable retcode : int32;
  mutable gbljjpfnjdc : int32 list;
}

let default_kiapanmhjob_mutable () : kiapanmhjob_mutable = {
  ilcffmcedan = 0l;
  dmplokpnddp = [];
  lamdfhjndpe = 0l;
  retcode = 0l;
  gbljjpfnjdc = [];
}

type fiflmmabnkj_mutable = {
  mutable flefoflohfn : int32;
}

let default_fiflmmabnkj_mutable () : fiflmmabnkj_mutable = {
  flefoflohfn = 0l;
}

type jhccgjallic_mutable = {
  mutable retcode : int32;
  mutable iilafoldjig : int32;
  mutable ilcffmcedan : int32;
}

let default_jhccgjallic_mutable () : jhccgjallic_mutable = {
  retcode = 0l;
  iilafoldjig = 0l;
  ilcffmcedan = 0l;
}

type ihonfpmoaon_mutable = {
  mutable flefoflohfn : int32;
}

let default_ihonfpmoaon_mutable () : ihonfpmoaon_mutable = {
  flefoflohfn = 0l;
}

type ncnfiancepd_mutable = {
  mutable lgofedpnbol : int32;
}

let default_ncnfiancepd_mutable () : ncnfiancepd_mutable = {
  lgofedpnbol = 0l;
}

type egcilkjklpd_mutable = {
  mutable lamdfhjndpe : int32;
  mutable adjfaimlabe : int32;
  mutable retcode : int32;
}

let default_egcilkjklpd_mutable () : egcilkjklpd_mutable = {
  lamdfhjndpe = 0l;
  adjfaimlabe = 0l;
  retcode = 0l;
}

type obcjgodlghn_mutable = {
  mutable lgofedpnbol : int32;
}

let default_obcjgodlghn_mutable () : obcjgodlghn_mutable = {
  lgofedpnbol = 0l;
}

type player_login_cs_req_mutable = {
  mutable bajjablkfab : int32;
  mutable bcijkmpjfni : string;
  mutable difcdhddfbp : string;
  mutable lmjolnigkkc : int32;
  mutable blclkkidljh : int32;
  mutable pkgmnimcpdh : string;
  mutable language : language_type;
  mutable dbgjcbcfaec : platform_type;
  mutable cpmikdbdcpg : lbofjhojgph option;
  mutable kjfcoglhkfk : bool;
  mutable pafnmmndegp : string;
  mutable ochimkelcde : string;
  mutable pdidijddcno : int64;
  mutable dmdcpeiefkg : string;
  mutable bhoanekljhm : string;
  mutable meijfajkmmp : string;
  mutable mkkdakgkkhe : string;
  mutable ogilamajgio : string;
  mutable ghaifpffmog : string;
  mutable fecdamigijp : string;
  mutable mddiipbifek : string;
  mutable cpkikinabfj : string;
  mutable hcgjomkbloh : int32;
  mutable mhmockcmeje : string;
  mutable fgahpfhnncl : bool;
  mutable pjieaeapgnl : string;
}

let default_player_login_cs_req_mutable () : player_login_cs_req_mutable = {
  bajjablkfab = 0l;
  bcijkmpjfni = "";
  difcdhddfbp = "";
  lmjolnigkkc = 0l;
  blclkkidljh = 0l;
  pkgmnimcpdh = "";
  language = default_language_type ();
  dbgjcbcfaec = default_platform_type ();
  cpmikdbdcpg = None;
  kjfcoglhkfk = false;
  pafnmmndegp = "";
  ochimkelcde = "";
  pdidijddcno = 0L;
  dmdcpeiefkg = "";
  bhoanekljhm = "";
  meijfajkmmp = "";
  mkkdakgkkhe = "";
  ogilamajgio = "";
  ghaifpffmog = "";
  fecdamigijp = "";
  mddiipbifek = "";
  cpkikinabfj = "";
  hcgjomkbloh = 0l;
  mhmockcmeje = "";
  fgahpfhnncl = false;
  pjieaeapgnl = "";
}

type player_login_sc_rsp_mutable = {
  mutable pdidijddcno : int64;
  mutable meilhlkmgfn : string;
  mutable pnhfbdbkpci : string;
  mutable kcicanjloba : bool;
  mutable dlicepdamib : bool;
  mutable basic_info : player_basic_info option;
  mutable retcode : int32;
  mutable stamina : int32;
  mutable biinmckjhen : int32;
  mutable mciakkehiaa : int64;
}

let default_player_login_sc_rsp_mutable () : player_login_sc_rsp_mutable = {
  pdidijddcno = 0L;
  meilhlkmgfn = "";
  pnhfbdbkpci = "";
  kcicanjloba = false;
  dlicepdamib = false;
  basic_info = None;
  retcode = 0l;
  stamina = 0l;
  biinmckjhen = 0l;
  mciakkehiaa = 0L;
}

type player_get_token_cs_req_mutable = {
  mutable dbgjcbcfaec : int32;
  mutable oiegbkkceda : string;
  mutable blclkkidljh : int32;
  mutable cpdkcijkohd : string;
  mutable lkgbcdgefjf : string;
  mutable gmcheopahkc : int32;
  mutable pcmajmegbld : int32;
  mutable uid : int32;
}

let default_player_get_token_cs_req_mutable () : player_get_token_cs_req_mutable = {
  dbgjcbcfaec = 0l;
  oiegbkkceda = "";
  blclkkidljh = 0l;
  cpdkcijkohd = "";
  lkgbcdgefjf = "";
  gmcheopahkc = 0l;
  pcmajmegbld = 0l;
  uid = 0l;
}

type player_get_token_sc_rsp_mutable = {
  mutable retcode : int32;
  mutable uid : int32;
  mutable secret_key_seed : int64;
  mutable black_info : black_info option;
  mutable msg : string;
}

let default_player_get_token_sc_rsp_mutable () : player_get_token_sc_rsp_mutable = {
  retcode = 0l;
  uid = 0l;
  secret_key_seed = 0L;
  black_info = None;
  msg = "";
}

type inhhlgadneo_mutable = {
  mutable msg : string;
}

let default_inhhlgadneo_mutable () : inhhlgadneo_mutable = {
  msg = "";
}

type player_kick_out_sc_notify_mutable = {
  mutable black_info : black_info option;
  mutable kick_type : kick_type;
}

let default_player_kick_out_sc_notify_mutable () : player_kick_out_sc_notify_mutable = {
  black_info = None;
  kick_type = default_kick_type ();
}

type gm_talk_cs_req_mutable = {
  mutable msg : string;
}

let default_gm_talk_cs_req_mutable () : gm_talk_cs_req_mutable = {
  msg = "";
}

type gm_talk_sc_rsp_mutable = {
  mutable retcode : int32;
  mutable retmsg : string;
}

let default_gm_talk_sc_rsp_mutable () : gm_talk_sc_rsp_mutable = {
  retcode = 0l;
  retmsg = "";
}

type player_setting_info_mutable = {
  mutable jcnincccakl : bool;
  mutable nhknohpdocc : bool;
  mutable hhcgdeocomi : bool;
  mutable ookalmpeleg : bool;
  mutable defkcpiepnb : bool;
  mutable ggodaiohjif : bool;
  mutable kmjdmefgcck : bool;
  mutable dedidajjmcj : bool;
  mutable bkpaceckiia : bool;
}

let default_player_setting_info_mutable () : player_setting_info_mutable = {
  jcnincccakl = false;
  nhknohpdocc = false;
  hhcgdeocomi = false;
  ookalmpeleg = false;
  defkcpiepnb = false;
  ggodaiohjif = false;
  kmjdmefgcck = false;
  dedidajjmcj = false;
  bkpaceckiia = false;
}

type get_basic_info_sc_rsp_mutable = {
  mutable gender : int32;
  mutable cur_day : int32;
  mutable player_setting_info : player_setting_info option;
  mutable next_recover_time : int64;
  mutable is_gender_set : bool;
  mutable gameplay_birthday : int32;
  mutable retcode : int32;
  mutable week_cocoon_finished_count : int32;
  mutable exchange_times : int32;
  mutable last_set_nickname_time : int64;
}

let default_get_basic_info_sc_rsp_mutable () : get_basic_info_sc_rsp_mutable = {
  gender = 0l;
  cur_day = 0l;
  player_setting_info = None;
  next_recover_time = 0L;
  is_gender_set = false;
  gameplay_birthday = 0l;
  retcode = 0l;
  week_cocoon_finished_count = 0l;
  exchange_times = 0l;
  last_set_nickname_time = 0L;
}

type exchange_stamina_sc_rsp_mutable = {
  mutable exchange_times : int32;
  mutable last_recover_time : int64;
  mutable stamina_add : int32;
  mutable retcode : int32;
  mutable item_cost_list : item_cost list;
}

let default_exchange_stamina_sc_rsp_mutable () : exchange_stamina_sc_rsp_mutable = {
  exchange_times = 0l;
  last_recover_time = 0L;
  stamina_add = 0l;
  retcode = 0l;
  item_cost_list = [];
}

type ilhiemhgmbm_mutable = {
  mutable mdipcjnjlpb : string;
  mutable sign_type : int32;
  mutable dhigcieoome : int32;
}

let default_ilhiemhgmbm_mutable () : ilhiemhgmbm_mutable = {
  mdipcjnjlpb = "";
  sign_type = 0l;
  dhigcieoome = 0l;
}

type lkhllhkhkki_mutable = {
  mutable retcode : int32;
  mutable lcdjcjmimmi : string;
  mutable mdipcjnjlpb : string;
  mutable dhigcieoome : int32;
  mutable sign_type : int32;
}

let default_lkhllhkhkki_mutable () : lkhllhkhkki_mutable = {
  retcode = 0l;
  lcdjcjmimmi = "";
  mdipcjnjlpb = "";
  dhigcieoome = 0l;
  sign_type = 0l;
}

type hcibichlmaa_mutable = {
  mutable mlcpkfihkko : int64;
  mutable hhpakondiob : int64;
}

let default_hcibichlmaa_mutable () : hcibichlmaa_mutable = {
  mlcpkfihkko = 0L;
  hhpakondiob = 0L;
}

type anti_addict_sc_notify_mutable = {
  mutable level : string;
  mutable msg : string;
  mutable msg_type : int32;
}

let default_anti_addict_sc_notify_mutable () : anti_addict_sc_notify_mutable = {
  level = "";
  msg = "";
  msg_type = 0l;
}

type set_nickname_cs_req_mutable = {
  mutable is_modify : bool;
  mutable nickname : string;
}

let default_set_nickname_cs_req_mutable () : set_nickname_cs_req_mutable = {
  is_modify = false;
  nickname = "";
}

type set_nickname_sc_rsp_mutable = {
  mutable nlgoggmaeod : int64;
  mutable is_modify : bool;
  mutable retcode : int32;
}

let default_set_nickname_sc_rsp_mutable () : set_nickname_sc_rsp_mutable = {
  nlgoggmaeod = 0L;
  is_modify = false;
  retcode = 0l;
}

type get_level_reward_taken_list_sc_rsp_mutable = {
  mutable retcode : int32;
  mutable taken_level_list : int32 list;
}

let default_get_level_reward_taken_list_sc_rsp_mutable () : get_level_reward_taken_list_sc_rsp_mutable = {
  retcode = 0l;
  taken_level_list = [];
}

type fkemblmibgd_mutable = {
  mutable level : int32;
  mutable idcigdfjabi : int32;
}

let default_fkemblmibgd_mutable () : fkemblmibgd_mutable = {
  level = 0l;
  idcigdfjabi = 0l;
}

type pjfenccabaa_mutable = {
  mutable level : int32;
  mutable reward : item_list option;
  mutable retcode : int32;
}

let default_pjfenccabaa_mutable () : pjfenccabaa_mutable = {
  level = 0l;
  reward = None;
  retcode = 0l;
}

type bdkfldgnelf_mutable = {
  mutable language : language_type;
}

let default_bdkfldgnelf_mutable () : bdkfldgnelf_mutable = {
  language = default_language_type ();
}

type ihcijilblji_mutable = {
  mutable language : language_type;
  mutable retcode : int32;
}

let default_ihcijilblji_mutable () : ihcijilblji_mutable = {
  language = default_language_type ();
  retcode = 0l;
}

type efgokaehlcl_mutable = {
  mutable flnaoghpbna : string;
  mutable khihdnfapob : int32;
  mutable end_time : int64;
  mutable begin_time : int64;
  mutable iliojodbdeb : string;
  mutable ohbhkcgmfek : bool;
  mutable bhmegdiiglh : string;
  mutable manomfgafia : int32;
  mutable pfbnanpcdjh : int32;
}

let default_efgokaehlcl_mutable () : efgokaehlcl_mutable = {
  flnaoghpbna = "";
  khihdnfapob = 0l;
  end_time = 0L;
  begin_time = 0L;
  iliojodbdeb = "";
  ohbhkcgmfek = false;
  bhmegdiiglh = "";
  manomfgafia = 0l;
  pfbnanpcdjh = 0l;
}

type innjajipelm_mutable = {
  mutable alefnglnfdd : efgokaehlcl list;
}

let default_innjajipelm_mutable () : innjajipelm_mutable = {
  alefnglnfdd = [];
}

type cokohpcdnfo_mutable = {
  mutable cmelkdaaapf : bool;
  mutable ophmlpkgkij : bool;
  mutable mmcjggcenpp : string;
  mutable pllenlninnh : string;
  mutable lamjdogmfam : bool;
  mutable bblkofdgpap : string;
  mutable ephafkmpmif : string;
  mutable gmdfmaapebc : string;
  mutable mlcpkfihkko : int64;
  mutable bgpcckkddmb : bool;
  mutable kejpmagdbai : string;
  mutable nkfnaojjlph : string;
  mutable hkdmdpmahem : string;
  mutable onkpibmdmpi : string;
  mutable fbobagpbbha : string;
  mutable mjjbccmcplk : string;
  mutable cfanklgaeoi : int32;
  mutable anegjdlagll : string;
  mutable gepfimnioke : bool;
  mutable lpnoekiaocp : string;
  mutable fgkgddonpkm : string;
  mutable nejihdfafbe : int32;
  mutable hafcipegpin : bool;
  mutable kghpigijmbp : string;
  mutable msg : string;
  mutable molbpmljolo : string;
  mutable didfenikjdg : string;
  mutable kjadmknddjl : bool;
  mutable khclmhjlopk : string list;
  mutable jmaggbeaiib : string;
  mutable okplkdhmohc : string;
  mutable ooeapiaafnb : string;
  mutable jelgnociekj : string;
  mutable hhpakondiob : int64;
  mutable opgmnlinakc : bool;
  mutable begfcjlkmob : bool;
  mutable nnhognglfbd : string;
  mutable retcode : int32;
  mutable kgljfhdhdek : string;
  mutable cjnjnfglick : int32;
  mutable ncdioakalen : string;
  mutable jdmpkhbijmn : string;
  mutable gediongpdha : bool;
  mutable mbdacjejamf : bool;
  mutable ificjdejjdn : string;
  mutable dmdahpindno : string;
  mutable gjaeghbeaio : bool;
  mutable ddohlaegeah : int32;
  mutable bfoekehoejp : string;
  mutable chnmpglhncm : string;
  mutable pggjoogfgfc : string;
  mutable dklchemciai : bool;
  mutable migeegecjcb : string;
  mutable ciinblfopda : string;
  mutable fkenkkhlhhd : bool;
  mutable hjbndbbicdo : string;
  mutable fggmipmoook : string;
  mutable moikmlhoiap : bool;
  mutable imffkkjpojc : string;
}

let default_cokohpcdnfo_mutable () : cokohpcdnfo_mutable = {
  cmelkdaaapf = false;
  ophmlpkgkij = false;
  mmcjggcenpp = "";
  pllenlninnh = "";
  lamjdogmfam = false;
  bblkofdgpap = "";
  ephafkmpmif = "";
  gmdfmaapebc = "";
  mlcpkfihkko = 0L;
  bgpcckkddmb = false;
  kejpmagdbai = "";
  nkfnaojjlph = "";
  hkdmdpmahem = "";
  onkpibmdmpi = "";
  fbobagpbbha = "";
  mjjbccmcplk = "";
  cfanklgaeoi = 0l;
  anegjdlagll = "";
  gepfimnioke = false;
  lpnoekiaocp = "";
  fgkgddonpkm = "";
  nejihdfafbe = 0l;
  hafcipegpin = false;
  kghpigijmbp = "";
  msg = "";
  molbpmljolo = "";
  didfenikjdg = "";
  kjadmknddjl = false;
  khclmhjlopk = [];
  jmaggbeaiib = "";
  okplkdhmohc = "";
  ooeapiaafnb = "";
  jelgnociekj = "";
  hhpakondiob = 0L;
  opgmnlinakc = false;
  begfcjlkmob = false;
  nnhognglfbd = "";
  retcode = 0l;
  kgljfhdhdek = "";
  cjnjnfglick = 0l;
  ncdioakalen = "";
  jdmpkhbijmn = "";
  gediongpdha = false;
  mbdacjejamf = false;
  ificjdejjdn = "";
  dmdahpindno = "";
  gjaeghbeaio = false;
  ddohlaegeah = 0l;
  bfoekehoejp = "";
  chnmpglhncm = "";
  pggjoogfgfc = "";
  dklchemciai = false;
  migeegecjcb = "";
  ciinblfopda = "";
  fkenkkhlhhd = false;
  hjbndbbicdo = "";
  fggmipmoook = "";
  moikmlhoiap = false;
  imffkkjpojc = "";
}

type feofohjeheo_mutable = {
  mutable mmlefkndolf : string;
}

let default_feofohjeheo_mutable () : feofohjeheo_mutable = {
  mmlefkndolf = "";
}

type multi_path_avatar_mutable = {
  mutable alfcdfljlef : avatar_skill_tree list;
  mutable rank : int32;
  mutable cfehgipoikg : int32;
  mutable avatar_id : multi_path_avatar_type;
  mutable equip_relic_list : equip_relic list;
}

let default_multi_path_avatar_mutable () : multi_path_avatar_mutable = {
  alfcdfljlef = [];
  rank = 0l;
  cfehgipoikg = 0l;
  avatar_id = default_multi_path_avatar_type ();
  equip_relic_list = [];
}

type jblpadknjeg_mutable = {
  mutable avatar_id : multi_path_avatar_type;
}

let default_jblpadknjeg_mutable () : jblpadknjeg_mutable = {
  avatar_id = default_multi_path_avatar_type ();
}

type hkoboiogoan_mutable = {
  mutable retcode : int32;
  mutable avatar_id : multi_path_avatar_type;
}

let default_hkoboiogoan_mutable () : hkoboiogoan_mutable = {
  retcode = 0l;
  avatar_id = default_multi_path_avatar_type ();
}

type eeibaolcgme_mutable = {
  mutable avatar_id_list : multi_path_avatar_type list;
}

let default_eeibaolcgme_mutable () : eeibaolcgme_mutable = {
  avatar_id_list = [];
}

type ckfndpojijk_mutable = {
  mutable retcode : int32;
}

let default_ckfndpojijk_mutable () : ckfndpojijk_mutable = {
  retcode = 0l;
}

type get_multi_path_avatar_info_sc_rsp_mutable = {
  mutable retcode : int32;
  mutable epdnicajoli : multi_path_avatar list;
  mutable dbkjfgdlemk : int32 list;
  mutable cur_path_type_map : (int32 * multi_path_avatar_type) list;
}

let default_get_multi_path_avatar_info_sc_rsp_mutable () : get_multi_path_avatar_info_sc_rsp_mutable = {
  retcode = 0l;
  epdnicajoli = [];
  dbkjfgdlemk = [];
  cur_path_type_map = [];
}

type jnfhfddncdh_mutable = {
  mutable avatar_id : multi_path_avatar_type;
}

let default_jnfhfddncdh_mutable () : jnfhfddncdh_mutable = {
  avatar_id = default_multi_path_avatar_type ();
}

type nfkgjkbpiop_mutable = {
  mutable avatar_id : multi_path_avatar_type;
  mutable reward : item_list option;
  mutable retcode : int32;
  mutable dbkjfgdlemk : int32 list;
}

let default_nfkgjkbpiop_mutable () : nfkgjkbpiop_mutable = {
  avatar_id = default_multi_path_avatar_type ();
  reward = None;
  retcode = 0l;
  dbkjfgdlemk = [];
}

type gnommghhgik_mutable = {
  mutable base_avatar_id : int32;
  mutable nbbomjghppd : multi_path_avatar_type;
}

let default_gnommghhgik_mutable () : gnommghhgik_mutable = {
  base_avatar_id = 0l;
  nbbomjghppd = default_multi_path_avatar_type ();
}

type peiohgepkil_mutable = {
  mutable ilpdljcncon : gender;
}

let default_peiohgepkil_mutable () : peiohgepkil_mutable = {
  ilpdljcncon = default_gender ();
}

type oapapodfeaa_mutable = {
  mutable iekbaibeoib : multi_path_avatar list;
  mutable retcode : int32;
  mutable cfncjocmmho : multi_path_avatar_type;
}

let default_oapapodfeaa_mutable () : oapapodfeaa_mutable = {
  iekbaibeoib = [];
  retcode = 0l;
  cfncjocmmho = default_multi_path_avatar_type ();
}

type galkddajoge_mutable = {
  mutable ilpdljcncon : gender;
  mutable nickname : string;
  mutable is_modify : bool;
}

let default_galkddajoge_mutable () : galkddajoge_mutable = {
  ilpdljcncon = default_gender ();
  nickname = "";
  is_modify = false;
}

type aiibjgampbh_mutable = {
  mutable cfncjocmmho : multi_path_avatar_type;
  mutable nlgoggmaeod : int64;
  mutable iekbaibeoib : multi_path_avatar list;
  mutable retcode : int32;
  mutable is_modify : bool;
}

let default_aiibjgampbh_mutable () : aiibjgampbh_mutable = {
  cfncjocmmho = default_multi_path_avatar_type ();
  nlgoggmaeod = 0L;
  iekbaibeoib = [];
  retcode = 0l;
  is_modify = false;
}

type kcnobmpglpa_mutable = {
  mutable npmgknjajho : int32;
  mutable bojlpifgmag : bool;
  mutable kicpdkalbmn : string;
  mutable pacmaejclee : string;
  mutable aahjlfbfjbd : pifanmpbmaj;
  mutable mfcdfkjanna : int32;
}

let default_kcnobmpglpa_mutable () : kcnobmpglpa_mutable = {
  npmgknjajho = 0l;
  bojlpifgmag = false;
  kicpdkalbmn = "";
  pacmaejclee = "";
  aahjlfbfjbd = default_pifanmpbmaj ();
  mfcdfkjanna = 0l;
}

type hejbmlnejlj_mutable = {
  mutable afmgandnccg : int64;
  mutable retcode : int32;
  mutable fkdbgepognd : int32;
  mutable lhpldhjkdkp : int32;
  mutable gmhjjigjffd : kcnobmpglpa list;
}

let default_hejbmlnejlj_mutable () : hejbmlnejlj_mutable = {
  afmgandnccg = 0L;
  retcode = 0l;
  fkdbgepognd = 0l;
  lhpldhjkdkp = 0l;
  gmhjjigjffd = [];
}

type doekpfaafpa_mutable = {
  mutable reward : item_list option;
}

let default_doekpfaafpa_mutable () : doekpfaafpa_mutable = {
  reward = None;
}

type jlgifffnckb_mutable = {
  mutable download_data : client_download_data option;
}

let default_jlgifffnckb_mutable () : jlgifffnckb_mutable = {
  download_data = None;
}

type hlmccoifdmj_mutable = {
  mutable data : client_obj_download_data option;
}

let default_hlmccoifdmj_mutable () : hlmccoifdmj_mutable = {
  data = None;
}

type update_feature_switch_sc_notify_mutable = {
  mutable switch_info_list : feature_switch_info list;
}

let default_update_feature_switch_sc_notify_mutable () : update_feature_switch_sc_notify_mutable = {
  switch_info_list = [];
}

type oiphpmdgaof_mutable = {
  mutable adiialnejmk : int32;
}

let default_oiphpmdgaof_mutable () : oiphpmdgaof_mutable = {
  adiialnejmk = 0l;
}

type anhilnpolho_mutable = {
  mutable hejdlhijgna : int32;
}

let default_anhilnpolho_mutable () : anhilnpolho_mutable = {
  hejdlhijgna = 0l;
}

type fpmdbnalpfg_mutable = {
  mutable retcode : int32;
  mutable hejdlhijgna : int32;
}

let default_fpmdbnalpfg_mutable () : fpmdbnalpfg_mutable = {
  retcode = 0l;
  hejdlhijgna = 0l;
}

type ihifkjipeeh_mutable = {
  mutable eokoalkmebo : int32;
  mutable ipnkbphbnco : string;
}

let default_ihifkjipeeh_mutable () : ihifkjipeeh_mutable = {
  eokoalkmebo = 0l;
  ipnkbphbnco = "";
}

type oeokelkocae_mutable = {
  mutable retcode : int32;
}

let default_oeokelkocae_mutable () : oeokelkocae_mutable = {
  retcode = 0l;
}

type lidenhkbbkf_mutable = {
  mutable retcode : int32;
  mutable bofegpjagop : int32 list;
}

let default_lidenhkbbkf_mutable () : lidenhkbbkf_mutable = {
  retcode = 0l;
  bofegpjagop = [];
}

type player_heart_beat_cs_req_mutable = {
  mutable upload_data : client_upload_data option;
  mutable fhbehdlecea : int32;
  mutable client_time_ms : int64;
}

let default_player_heart_beat_cs_req_mutable () : player_heart_beat_cs_req_mutable = {
  upload_data = None;
  fhbehdlecea = 0l;
  client_time_ms = 0L;
}

type player_heart_beat_sc_rsp_mutable = {
  mutable server_time_ms : int64;
  mutable client_time_ms : int64;
  mutable download_data : client_download_data option;
  mutable retcode : int32;
}

let default_player_heart_beat_sc_rsp_mutable () : player_heart_beat_sc_rsp_mutable = {
  server_time_ms = 0L;
  client_time_ms = 0L;
  download_data = None;
  retcode = 0l;
}

type ikgcpjdmdna_mutable = {
  mutable kghcdbdmdki : feature_switch_type;
}

let default_ikgcpjdmdna_mutable () : ikgcpjdmdna_mutable = {
  kghcdbdmdki = default_feature_switch_type ();
}

type lajmnegeami_mutable = {
  mutable fgmdoekgpee : hchcnfgecjj;
  mutable chlibbgdmco : string;
}

let default_lajmnegeami_mutable () : lajmnegeami_mutable = {
  fgmdoekgpee = default_hchcnfgecjj ();
  chlibbgdmco = "";
}

type kjffbpgnmjf_mutable = {
  mutable monicakdnei : bytes;
}

let default_kjffbpgnmjf_mutable () : kjffbpgnmjf_mutable = {
  monicakdnei = Bytes.create 0;
}

type cfagkddbaib_mutable = {
  mutable pefekdhjbce : lajmnegeami list;
  mutable iaeneafaogo : bytes;
  mutable retcode : int32;
}

let default_cfagkddbaib_mutable () : cfagkddbaib_mutable = {
  pefekdhjbce = [];
  iaeneafaogo = Bytes.create 0;
  retcode = 0l;
}

type cobbfmhbgkd_mutable = {
  mutable retcode : int32;
}

let default_cobbfmhbgkd_mutable () : cobbfmhbgkd_mutable = {
  retcode = 0l;
}

type ifjegahkoic_mutable = {
  mutable ocoogaapion : int64;
  mutable id : int32;
}

let default_ifjegahkoic_mutable () : ifjegahkoic_mutable = {
  ocoogaapion = 0L;
  id = 0l;
}

type ehnknlejadd_mutable = {
  mutable retcode : int32;
  mutable hilakbadccb : ifjegahkoic list;
  mutable nofmnpkaljn : ifjegahkoic list;
}

let default_ehnknlejadd_mutable () : ehnknlejadd_mutable = {
  retcode = 0l;
  hilakbadccb = [];
  nofmnpkaljn = [];
}

type ikiomheofcd_mutable = {
  mutable pdpjiakgpbf : int32;
  mutable gdfbnkagmgi : int32;
  mutable ogkdpgnkfmc : int32;
  mutable nfcojigifbb : int32;
}

let default_ikiomheofcd_mutable () : ikiomheofcd_mutable = {
  pdpjiakgpbf = 0l;
  gdfbnkagmgi = 0l;
  ogkdpgnkfmc = 0l;
  nfcojigifbb = 0l;
}

type ojligkojemk_mutable = {
  mutable gdfbnkagmgi : int32;
  mutable nfcojigifbb : int32;
  mutable ogkdpgnkfmc : int32;
  mutable ibfbefobfbd : ikiomheofcd list;
  mutable uid : int32;
}

let default_ojligkojemk_mutable () : ojligkojemk_mutable = {
  gdfbnkagmgi = 0l;
  nfcojigifbb = 0l;
  ogkdpgnkfmc = 0l;
  ibfbefobfbd = [];
  uid = 0l;
}

type fhhkmlboidi_mutable = {
  mutable kagnbjdmamf : int32;
}

let default_fhhkmlboidi_mutable () : fhhkmlboidi_mutable = {
  kagnbjdmamf = 0l;
}

type reserve_stamina_exchange_sc_rsp_mutable = {
  mutable retcode : int32;
  mutable num : int32;
}

let default_reserve_stamina_exchange_sc_rsp_mutable () : reserve_stamina_exchange_sc_rsp_mutable = {
  retcode = 0l;
  num = 0l;
}

type liaainkncng_mutable = {
  mutable ggndaapphak : int64;
  mutable stamina : int32;
  mutable dlpphgglpbo : int32;
  mutable gbdgbkkjfel : int64;
}

let default_liaainkncng_mutable () : liaainkncng_mutable = {
  ggndaapphak = 0L;
  stamina = 0l;
  dlpphgglpbo = 0l;
  gbdgbkkjfel = 0L;
}

type jlbjgfcddal_mutable = {
  mutable ookalmpeleg : bool;
  mutable defkcpiepnb : bool;
  mutable dedidajjmcj : bool;
  mutable hhcgdeocomi : bool;
  mutable ggodaiohjif : bool;
  mutable jcnincccakl : bool;
  mutable bkpaceckiia : bool;
  mutable kmjdmefgcck : bool;
  mutable nhknohpdocc : bool;
}

let default_jlbjgfcddal_mutable () : jlbjgfcddal_mutable = {
  ookalmpeleg = false;
  defkcpiepnb = false;
  dedidajjmcj = false;
  hhcgdeocomi = false;
  ggodaiohjif = false;
  jcnincccakl = false;
  bkpaceckiia = false;
  kmjdmefgcck = false;
  nhknohpdocc = false;
}

type jkddhpneldk_mutable = {
  mutable mbnknhhaaik : jlbjgfcddal option;
}

let default_jkddhpneldk_mutable () : jkddhpneldk_mutable = {
  mbnknhhaaik = None;
}

type pbjhmijpmgc_mutable = {
  mutable mbnknhhaaik : jlbjgfcddal option;
  mutable retcode : int32;
}

let default_pbjhmijpmgc_mutable () : pbjhmijpmgc_mutable = {
  mbnknhhaaik = None;
  retcode = 0l;
}

type jlabhnlhoad_mutable = {
  mutable upload_data : bytes;
  mutable fhbehdlecea : int32;
}

let default_jlabhnlhoad_mutable () : jlabhnlhoad_mutable = {
  upload_data = Bytes.create 0;
  fhbehdlecea = 0l;
}

type kbjjciagnij_mutable = {
  mutable retcode : int32;
  mutable data : client_obj_download_data option;
}

let default_kbjjciagnij_mutable () : kbjjciagnij_mutable = {
  retcode = 0l;
  data = None;
}

type mebodoaicgh_mutable = {
  mutable nlacdgkpceg : string list;
}

let default_mebodoaicgh_mutable () : mebodoaicgh_mutable = {
  nlacdgkpceg = [];
}

type cnjenhgpijg_mutable = {
  mutable gmjgmcecogm : bool;
  mutable idfijahanmn : mebodoaicgh option;
}

let default_cnjenhgpijg_mutable () : cnjenhgpijg_mutable = {
  gmjgmcecogm = false;
  idfijahanmn = None;
}

type ofgpbmpjfkn_mutable = {
  mutable gmjgmcecogm : bool;
  mutable mkjnmafpgji : mebodoaicgh option;
  mutable hfnmlhlcjbd : mebodoaicgh option;
}

let default_ofgpbmpjfkn_mutable () : ofgpbmpjfkn_mutable = {
  gmjgmcecogm = false;
  mkjnmafpgji = None;
  hfnmlhlcjbd = None;
}

type iakigocmcji_mutable = {
  mutable ipeeimmbfnh : cnjenhgpijg option;
  mutable bblbengbiof : ofgpbmpjfkn option;
}

let default_iakigocmcji_mutable () : iakigocmcji_mutable = {
  ipeeimmbfnh = None;
  bblbengbiof = None;
}

type hhogbpfijkl_mutable = {
  mutable retcode : int32;
}

let default_hhogbpfijkl_mutable () : hhogbpfijkl_mutable = {
  retcode = 0l;
}

type ilmpdolbflp_mutable = {
  mutable id : int32;
}

let default_ilmpdolbflp_mutable () : ilmpdolbflp_mutable = {
  id = 0l;
}

type jioifojmhgg_mutable = {
  mutable pos : int32;
  mutable avatar_id : int32;
}

let default_jioifojmhgg_mutable () : jioifojmhgg_mutable = {
  pos = 0l;
  avatar_id = 0l;
}

type acighdhodol_mutable = {
  mutable ebiebipemmp : bool;
  mutable hoannlkcmoj : jioifojmhgg list;
}

let default_acighdhodol_mutable () : acighdhodol_mutable = {
  ebiebipemmp = false;
  hoannlkcmoj = [];
}

type ejjbfalmlpl_mutable = {
  mutable djjdncbpmfk : ilmpdolbflp list;
  mutable fejkecfmdnc : int32 list;
  mutable cpkikinabfj : string;
  mutable mffdmonhkah : int32;
  mutable ecgmfoohejj : acighdhodol option;
  mutable retcode : int32;
}

let default_ejjbfalmlpl_mutable () : ejjbfalmlpl_mutable = {
  djjdncbpmfk = [];
  fejkecfmdnc = [];
  cpkikinabfj = "";
  mffdmonhkah = 0l;
  ecgmfoohejj = None;
  retcode = 0l;
}

type pnhppeakeme_mutable = {
  mutable id : int32;
}

let default_pnhppeakeme_mutable () : pnhppeakeme_mutable = {
  id = 0l;
}

type djpcljoklmh_mutable = {
  mutable retcode : int32;
  mutable mffdmonhkah : int32;
}

let default_djpcljoklmh_mutable () : djpcljoklmh_mutable = {
  retcode = 0l;
  mffdmonhkah = 0l;
}

type omdgafjddhp_mutable = {
  mutable hoannlkcmoj : jioifojmhgg list;
}

let default_omdgafjddhp_mutable () : omdgafjddhp_mutable = {
  hoannlkcmoj = [];
}

type hlghliokhof_mutable = {
  mutable retcode : int32;
  mutable hoannlkcmoj : jioifojmhgg list;
}

let default_hlghliokhof_mutable () : hlghliokhof_mutable = {
  retcode = 0l;
  hoannlkcmoj = [];
}

type mfeefdlinbd_mutable = {
  mutable ebiebipemmp : bool;
}

let default_mfeefdlinbd_mutable () : mfeefdlinbd_mutable = {
  ebiebipemmp = false;
}

type fegfiolhldb_mutable = {
  mutable ebiebipemmp : bool;
  mutable retcode : int32;
}

let default_fegfiolhldb_mutable () : fegfiolhldb_mutable = {
  ebiebipemmp = false;
  retcode = 0l;
}

type egioindghap_mutable = {
  mutable cpkikinabfj : string;
}

let default_egioindghap_mutable () : egioindghap_mutable = {
  cpkikinabfj = "";
}

type opcelbkmodd_mutable = {
  mutable cpkikinabfj : string;
  mutable retcode : int32;
}

let default_opcelbkmodd_mutable () : opcelbkmodd_mutable = {
  cpkikinabfj = "";
  retcode = 0l;
}

type bfjeegoifjh_mutable = {
  mutable avatar_id : int32;
  mutable avatar_id_list : int32 list;
}

let default_bfjeegoifjh_mutable () : bfjeegoifjh_mutable = {
  avatar_id = 0l;
  avatar_id_list = [];
}

type fbmllcgdeaj_mutable = {
  mutable avatar_id_list : int32 list;
  mutable avatar_id : int32;
  mutable retcode : int32;
}

let default_fbmllcgdeaj_mutable () : fbmllcgdeaj_mutable = {
  avatar_id_list = [];
  avatar_id = 0l;
  retcode = 0l;
}

type jgednnjphao_mutable = {
  mutable chpmfbghopb : int32;
}

let default_jgednnjphao_mutable () : jgednnjphao_mutable = {
  chpmfbghopb = 0l;
}

type cbabjjnejcj_mutable = {
  mutable ijifekbfnha : int32 list;
  mutable ebfcemokigl : int32;
}

let default_cbabjjnejcj_mutable () : cbabjjnejcj_mutable = {
  ijifekbfnha = [];
  ebfcemokigl = 0l;
}

type ofhpmpnmdgi_mutable = {
  mutable ijifekbfnha : int32 list;
  mutable mplohdemggi : item_list list;
  mutable retcode : int32;
  mutable ebfcemokigl : int32;
}

let default_ofhpmpnmdgi_mutable () : ofhpmpnmdgi_mutable = {
  ijifekbfnha = [];
  mplohdemggi = [];
  retcode = 0l;
  ebfcemokigl = 0l;
}

type bblkpnmpogi_mutable = {
  mutable opmjfaoockc : int32;
}

let default_bblkpnmpogi_mutable () : bblkpnmpogi_mutable = {
  opmjfaoockc = 0l;
}

type lcpbfjjpbli_mutable = {
  mutable fdbihcbjfpk : int32;
  mutable okbfdiconjo : int32;
}

let default_lcpbfjjpbli_mutable () : lcpbfjjpbli_mutable = {
  fdbihcbjfpk = 0l;
  okbfdiconjo = 0l;
}

type komjjhcpkcl_mutable = {
  mutable okbfdiconjo : int32;
  mutable fdbihcbjfpk : int32;
  mutable retcode : int32;
  mutable lhkcfidldjf : item_list option;
}

let default_komjjhcpkcl_mutable () : komjjhcpkcl_mutable = {
  okbfdiconjo = 0l;
  fdbihcbjfpk = 0l;
  retcode = 0l;
  lhkcfidldjf = None;
}

type oejfjpbbhnd_mutable = {
  mutable kccleanfoef : int32;
}

let default_oejfjpbbhnd_mutable () : oejfjpbbhnd_mutable = {
  kccleanfoef = 0l;
}

type mehnpknnhfl_mutable = {
  mutable retcode : int32;
}

let default_mehnpknnhfl_mutable () : mehnpknnhfl_mutable = {
  retcode = 0l;
}

type mmbiokjgagb_mutable = {
  mutable kccleanfoef : int32;
}

let default_mmbiokjgagb_mutable () : mmbiokjgagb_mutable = {
  kccleanfoef = 0l;
}

type kkeojconope_mutable = {
  mutable ijifekbfnha : int32 list;
  mutable hecfjbignbo : int32;
  mutable jlpokcllpoi : int32 list;
  mutable nfonlnipina : int64;
  mutable opmjfaoockc : int32;
  mutable status : nnbobagndpf;
  mutable mkideamcloh : bool;
  mutable efooffoifnf : int64;
  mutable nokicjcmako : int32;
}

let default_kkeojconope_mutable () : kkeojconope_mutable = {
  ijifekbfnha = [];
  hecfjbignbo = 0l;
  jlpokcllpoi = [];
  nfonlnipina = 0L;
  opmjfaoockc = 0l;
  status = default_nnbobagndpf ();
  mkideamcloh = false;
  efooffoifnf = 0L;
  nokicjcmako = 0l;
}

type jgpajdafmnb_mutable = {
  mutable retcode : int32;
  mutable fjldoaefpfo : kkeojconope option;
  mutable cbajboeeomd : int32;
}

let default_jgpajdafmnb_mutable () : jgpajdafmnb_mutable = {
  retcode = 0l;
  fjldoaefpfo = None;
  cbajboeeomd = 0l;
}

type eejjcahpekl_mutable = {
  mutable fjldoaefpfo : kkeojconope option;
}

let default_eejjcahpekl_mutable () : eejjcahpekl_mutable = {
  fjldoaefpfo = None;
}

type hcgpfgeaemh_mutable = {
  mutable bbdpimddalm : int32;
}

let default_hcgpfgeaemh_mutable () : hcgpfgeaemh_mutable = {
  bbdpimddalm = 0l;
}

type nnjkpmjkbhg_mutable = {
  mutable retcode : int32;
  mutable bbdpimddalm : int32;
}

let default_nnjkpmjkbhg_mutable () : nnjkpmjkbhg_mutable = {
  retcode = 0l;
  bbdpimddalm = 0l;
}

type coalhafipng_mutable = {
  mutable ddihfbmjacj : fgljkmekiom option;
  mutable licghlgbmla : punk_lord_attacker_status;
  mutable ipobnmhpfee : int32;
  mutable basic_info : aapoalmfpan option;
}

let default_coalhafipng_mutable () : coalhafipng_mutable = {
  ddihfbmjacj = None;
  licghlgbmla = default_punk_lord_attacker_status ();
  ipobnmhpfee = 0l;
  basic_info = None;
}

type glnelhcpcpo_mutable = {
  mutable retcode : int32;
  mutable nnbfbfanojd : coalhafipng list;
}

let default_glnelhcpcpo_mutable () : glnelhcpcpo_mutable = {
  retcode = 0l;
  nnbfbfanojd = [];
}

type icndgmffmhn_mutable = {
  mutable hombibbpmjk : bool;
  mutable monster_id : int32;
  mutable uid : int32;
}

let default_icndgmffmhn_mutable () : icndgmffmhn_mutable = {
  hombibbpmjk = false;
  monster_id = 0l;
  uid = 0l;
}

type mlefcdfhiha_mutable = {
  mutable kkkabkogeii : int64;
  mutable hombibbpmjk : bool;
  mutable retcode : int32;
  mutable bfdolepkbod : int32 list;
  mutable scene : dnlbhaceial option;
  mutable gdlljbeglci : coalhafipng option;
}

let default_mlefcdfhiha_mutable () : mlefcdfhiha_mutable = {
  kkkabkogeii = 0L;
  hombibbpmjk = false;
  retcode = 0l;
  bfdolepkbod = [];
  scene = None;
  gdlljbeglci = None;
}

type mjakmiepdjo_mutable = {
  mutable cpefaednmcc : punk_lord_share_type;
  mutable monster_id : int32;
  mutable uid : int32;
}

let default_mjakmiepdjo_mutable () : mjakmiepdjo_mutable = {
  cpefaednmcc = default_punk_lord_share_type ();
  monster_id = 0l;
  uid = 0l;
}

type jopjgmdmfhh_mutable = {
  mutable uid : int32;
  mutable cpefaednmcc : punk_lord_share_type;
  mutable monster_id : int32;
  mutable retcode : int32;
}

let default_jopjgmdmfhh_mutable () : jopjgmdmfhh_mutable = {
  uid = 0l;
  cpefaednmcc = default_punk_lord_share_type ();
  monster_id = 0l;
  retcode = 0l;
}

type gnhkpibagdn_mutable = {
  mutable retcode : int32;
  mutable gdlljbeglci : coalhafipng option;
}

let default_gnhkpibagdn_mutable () : gnhkpibagdn_mutable = {
  retcode = 0l;
  gdlljbeglci = None;
}

type haliddbdjlp_mutable = {
  mutable level : int32;
  mutable mhegpegfggg : bool;
}

let default_haliddbdjlp_mutable () : haliddbdjlp_mutable = {
  level = 0l;
  mhegpegfggg = false;
}

type lohjjbdekdb_mutable = {
  mutable mhegpegfggg : bool;
  mutable retcode : int32;
  mutable level : int32;
  mutable reward : item_list option;
}

let default_lohjjbdekdb_mutable () : lohjjbdekdb_mutable = {
  mhegpegfggg = false;
  retcode = 0l;
  level = 0l;
  reward = None;
}

type acegholnboi_mutable = {
  mutable mgdnainpahe : punk_lord_monster_info_notify_reason;
  mutable ddihfbmjacj : punk_lord_battle_record option;
  mutable bfdolepkbod : int32 list;
  mutable basic_info : aapoalmfpan option;
}

let default_acegholnboi_mutable () : acegholnboi_mutable = {
  mgdnainpahe = default_punk_lord_monster_info_notify_reason ();
  ddihfbmjacj = None;
  bfdolepkbod = [];
  basic_info = None;
}

type dimdoakchag_mutable = {
  mutable figonclcnhj : int32;
  mutable jcaainbemcb : int32;
  mutable pmpdkbcelef : int32;
  mutable pojkpinipio : int32;
  mutable fijcinagcbc : int32;
  mutable ogelbpicnhe : int64;
  mutable ihkmfjnfjlk : int32 list;
  mutable retcode : int32;
}

let default_dimdoakchag_mutable () : dimdoakchag_mutable = {
  figonclcnhj = 0l;
  jcaainbemcb = 0l;
  pmpdkbcelef = 0l;
  pojkpinipio = 0l;
  fijcinagcbc = 0l;
  ogelbpicnhe = 0L;
  ihkmfjnfjlk = [];
  retcode = 0l;
}

type idfhehkpdhn_mutable = {
  mutable gdlljbeglci : aapoalmfpan option;
}

let default_idfhehkpdhn_mutable () : idfhehkpdhn_mutable = {
  gdlljbeglci = None;
}

type ojdimogobok_mutable = {
  mutable gdlljbeglci : aapoalmfpan option;
  mutable ddihfbmjacj : punk_lord_battle_record option;
  mutable epjmalbjbfl : int32;
  mutable dkjohfibjfb : int32;
  mutable inncjmgfgip : int32;
}

let default_ojdimogobok_mutable () : ojdimogobok_mutable = {
  gdlljbeglci = None;
  ddihfbmjacj = None;
  epjmalbjbfl = 0l;
  dkjohfibjfb = 0l;
  inncjmgfgip = 0l;
}

type iffmlndfbim_mutable = {
  mutable jgghhdjnepo : int32;
  mutable monster_id : int32;
  mutable fgilieldboi : int64;
  mutable world_level : int32;
  mutable kjpdknocoeo : bool;
  mutable pfbnanpcdjh : int32;
}

let default_iffmlndfbim_mutable () : iffmlndfbim_mutable = {
  jgghhdjnepo = 0l;
  monster_id = 0l;
  fgilieldboi = 0L;
  world_level = 0l;
  kjpdknocoeo = false;
  pfbnanpcdjh = 0l;
}

type jfdfegkckae_mutable = {
  mutable retcode : int32;
  mutable ppbaggdodle : hbbaohkdklj list;
  mutable enlhpceoajj : iffmlndfbim list;
}

let default_jfdfegkckae_mutable () : jfdfegkckae_mutable = {
  retcode = 0l;
  ppbaggdodle = [];
  enlhpceoajj = [];
}

type kjnjdnhcdik_mutable = {
  mutable fckknkkgaal : iffmlndfbim option;
}

let default_kjnjdnhcdik_mutable () : kjnjdnhcdik_mutable = {
  fckknkkgaal = None;
}

type dgbpdpgampb_mutable = {
  mutable fjnpddmldld : hbbaohkdklj option;
  mutable ikcpmimknmj : bool;
}

let default_dgbpdpgampb_mutable () : dgbpdpgampb_mutable = {
  fjnpddmldld = None;
  ikcpmimknmj = false;
}

type pgomokjlnia_mutable = {
  mutable retcode : int32;
  mutable ikcpmimknmj : bool;
  mutable lpgaoolbbfm : int32;
  mutable jmeheohdpek : hbbaohkdklj list;
}

let default_pgomokjlnia_mutable () : pgomokjlnia_mutable = {
  retcode = 0l;
  ikcpmimknmj = false;
  lpgaoolbbfm = 0l;
  jmeheohdpek = [];
}

type miohefaegmd_mutable = {
  mutable jcaainbemcb : int32;
  mutable pojkpinipio : int32;
  mutable figonclcnhj : int32;
}

let default_miohefaegmd_mutable () : miohefaegmd_mutable = {
  jcaainbemcb = 0l;
  pojkpinipio = 0l;
  figonclcnhj = 0l;
}

type dhdcjejdhoh_mutable = {
  mutable fjnpddmldld : hbbaohkdklj option;
}

let default_dhdcjejdhoh_mutable () : dhdcjejdhoh_mutable = {
  fjnpddmldld = None;
}

type aimdhjaenjj_mutable = {
  mutable retcode : int32;
  mutable fodcominece : punk_lord_battle_replay list;
  mutable fjnpddmldld : hbbaohkdklj option;
  mutable eolalkfgdal : punk_lord_battle_record list;
}

let default_aimdhjaenjj_mutable () : aimdhjaenjj_mutable = {
  retcode = 0l;
  fodcominece = [];
  fjnpddmldld = None;
  eolalkfgdal = [];
}

type eejpmepikga_mutable = {
  mutable nfonlnipina : int64;
  mutable id : int32;
  mutable status : jjofecmhbon;
  mutable progress : int32;
  mutable pnkhfhpabgb : int32 list;
}

let default_eejpmepikga_mutable () : eejpmepikga_mutable = {
  nfonlnipina = 0L;
  id = 0l;
  status = default_jjofecmhbon ();
  progress = 0l;
  pnkhfhpabgb = [];
}

type lmnopfmjoco_mutable = {
  mutable pnlbagbglfd : eejpmepikga list;
  mutable igcimdmbdfa : int32;
  mutable retcode : int32;
}

let default_lmnopfmjoco_mutable () : lmnopfmjoco_mutable = {
  pnlbagbglfd = [];
  igcimdmbdfa = 0l;
  retcode = 0l;
}

type bboncngkkfh_mutable = {
  mutable chcdpcmpihk : int32 list;
}

let default_bboncngkkfh_mutable () : bboncngkkfh_mutable = {
  chcdpcmpihk = [];
}

type take_quest_reward_sc_rsp_mutable = {
  mutable retcode : int32;
  mutable succ_quest_id_list : int32 list;
  mutable reward : item_list option;
}

let default_take_quest_reward_sc_rsp_mutable () : take_quest_reward_sc_rsp_mutable = {
  retcode = 0l;
  succ_quest_id_list = [];
  reward = None;
}

type gimgmgjgkni_mutable = {
  mutable gjbdmneacbj : int32;
  mutable apbdbeabddj : int32;
}

let default_gimgmgjgkni_mutable () : gimgmgjgkni_mutable = {
  gjbdmneacbj = 0l;
  apbdbeabddj = 0l;
}

type mcekcfpcaap_mutable = {
  mutable reward : item_list option;
  mutable gjbdmneacbj : int32;
  mutable retcode : int32;
}

let default_mcekcfpcaap_mutable () : mcekcfpcaap_mutable = {
  reward = None;
  gjbdmneacbj = 0l;
  retcode = 0l;
}

type kmgpadlinip_mutable = {
  mutable progress : int32;
  mutable kkbjlhilfen : int32;
}

let default_kmgpadlinip_mutable () : kmgpadlinip_mutable = {
  progress = 0l;
  kkbjlhilfen = 0l;
}

type hfdblljhijn_mutable = {
  mutable jjichfkkmjl : kmgpadlinip list;
  mutable retcode : int32;
}

let default_hfdblljhijn_mutable () : hfdblljhijn_mutable = {
  jjichfkkmjl = [];
  retcode = 0l;
}

type pnhijbbmjhk_mutable = {
  mutable kklhgagcopa : kmgpadlinip option;
}

let default_pnhijbbmjhk_mutable () : pnhijbbmjhk_mutable = {
  kklhgagcopa = None;
}

type hckfdajnjec_mutable = {
  mutable prop_id : int32;
  mutable gjbdmneacbj : int32;
  mutable group_id : int32;
}

let default_hckfdajnjec_mutable () : hckfdajnjec_mutable = {
  prop_id = 0l;
  gjbdmneacbj = 0l;
  group_id = 0l;
}

type lpcjcddpmeo_mutable = {
  mutable retcode : int32;
}

let default_lpcjcddpmeo_mutable () : lpcjcddpmeo_mutable = {
  retcode = 0l;
}

type mdgdpmjnbnp_mutable = {
  mutable pnlbagbglfd : int32 list;
}

let default_mdgdpmjnbnp_mutable () : mdgdpmjnbnp_mutable = {
  pnlbagbglfd = [];
}

type lehcpjafdea_mutable = {
  mutable pnlbagbglfd : eejpmepikga list;
  mutable retcode : int32;
}

let default_lehcpjafdea_mutable () : lehcpjafdea_mutable = {
  pnlbagbglfd = [];
  retcode = 0l;
}

type jpfgmcipjmm_mutable = {
  mutable prop_entity_id : int32;
  mutable avatar_list : int32 list;
  mutable ikpjplopmjk : int32;
  mutable chbdfdolhoc : int32;
  mutable world_level : int32;
}

let default_jpfgmcipjmm_mutable () : jpfgmcipjmm_mutable = {
  prop_entity_id = 0l;
  avatar_list = [];
  ikpjplopmjk = 0l;
  chbdfdolhoc = 0l;
  world_level = 0l;
}

type ndjiajphifk_mutable = {
  mutable retcode : int32;
  mutable scene : dnlbhaceial option;
}

let default_ndjiajphifk_mutable () : ndjiajphifk_mutable = {
  retcode = 0l;
  scene = None;
}

type fjhkfgdlibf_mutable = {
  mutable chbdfdolhoc : bool;
  mutable ikpjplopmjk : int32;
}

let default_fjhkfgdlibf_mutable () : fjhkfgdlibf_mutable = {
  chbdfdolhoc = false;
  ikpjplopmjk = 0l;
}

type djabebmofde_mutable = {
  mutable retcode : int32;
}

let default_djabebmofde_mutable () : djabebmofde_mutable = {
  retcode = 0l;
}

type hhikhceehbb_mutable = {
  mutable koinobbmjaa : lgbplphaacb;
  mutable glaokkggino : int32;
  mutable dpepdejdlka : int32;
}

let default_hhikhceehbb_mutable () : hhikhceehbb_mutable = {
  koinobbmjaa = default_lgbplphaacb ();
  glaokkggino = 0l;
  dpepdejdlka = 0l;
}

type knjianifiba_mutable = {
  mutable pdpfcfglgco : item_list option;
  mutable status : phlppgocmfk;
  mutable mpfnjpaeobp : int64;
  mutable world_level : int32;
  mutable hhnnjledapn : hhikhceehbb list;
  mutable ikpjplopmjk : int32;
}

let default_knjianifiba_mutable () : knjianifiba_mutable = {
  pdpfcfglgco = None;
  status = default_phlppgocmfk ();
  mpfnjpaeobp = 0L;
  world_level = 0l;
  hhnnjledapn = [];
  ikpjplopmjk = 0l;
}

type adffgpcjffg_mutable = {
  mutable gakmanenkmh : int32;
  mutable ikpjplopmjk : int32;
}

let default_adffgpcjffg_mutable () : adffgpcjffg_mutable = {
  gakmanenkmh = 0l;
  ikpjplopmjk = 0l;
}

type jcifaehlamo_mutable = {
  mutable goccbdenfle : int32 list;
  mutable world_level : int32;
  mutable ikpjplopmjk : int32;
}

let default_jcifaehlamo_mutable () : jcifaehlamo_mutable = {
  goccbdenfle = [];
  world_level = 0l;
  ikpjplopmjk = 0l;
}

type get_raid_info_sc_rsp_mutable = {
  mutable challenge_taken_reward_id_list : int32 list;
  mutable challenge_raid_list : adffgpcjffg list;
  mutable finished_raid_info_list : jcifaehlamo list;
  mutable retcode : int32;
}

let default_get_raid_info_sc_rsp_mutable () : get_raid_info_sc_rsp_mutable = {
  challenge_taken_reward_id_list = [];
  challenge_raid_list = [];
  finished_raid_info_list = [];
  retcode = 0l;
}

type kohffnboocd_mutable = {
  mutable retcode : int32;
  mutable clbadgogepf : adffgpcjffg list;
  mutable ghchnanjdfb : int32 list;
}

let default_kohffnboocd_mutable () : kohffnboocd_mutable = {
  retcode = 0l;
  clbadgogepf = [];
  ghchnanjdfb = [];
}

type haiedplfomf_mutable = {
  mutable bhcnfehdnfg : int32;
}

let default_haiedplfomf_mutable () : haiedplfomf_mutable = {
  bhcnfehdnfg = 0l;
}

type goobncpndib_mutable = {
  mutable reward : item_list option;
  mutable bhcnfehdnfg : int32;
  mutable retcode : int32;
}

let default_goobncpndib_mutable () : goobncpndib_mutable = {
  reward = None;
  bhcnfehdnfg = 0l;
  retcode = 0l;
}

type eliccgkomcl_mutable = {
  mutable onhjiaijhop : adffgpcjffg option;
}

let default_eliccgkomcl_mutable () : eliccgkomcl_mutable = {
  onhjiaijhop = None;
}

type fjiefeeohjh_mutable = {
  mutable progress : int32;
  mutable kpibjmjbjod : int32;
}

let default_fjiefeeohjh_mutable () : fjiefeeohjh_mutable = {
  progress = 0l;
  kpibjmjbjod = 0l;
}

type gbmeonklkdc_mutable = {
  mutable retcode : int32;
  mutable kpibjmjbjod : int32;
  mutable progress : int32;
}

let default_gbmeonklkdc_mutable () : gbmeonklkdc_mutable = {
  retcode = 0l;
  kpibjmjbjod = 0l;
  progress = 0l;
}

type cgmldddjpfl_mutable = {
  mutable world_level : int32;
  mutable ikpjplopmjk : int32;
}

let default_cgmldddjpfl_mutable () : cgmldddjpfl_mutable = {
  world_level = 0l;
  ikpjplopmjk = 0l;
}

type mldbcfbgieb_mutable = {
  mutable world_level : int32;
  mutable retcode : int32;
  mutable ikpjplopmjk : int32;
  mutable chbdfdolhoc : bool;
  mutable hhnnjledapn : hhikhceehbb list;
}

let default_mldbcfbgieb_mutable () : mldbcfbgieb_mutable = {
  world_level = 0l;
  retcode = 0l;
  ikpjplopmjk = 0l;
  chbdfdolhoc = false;
  hhnnjledapn = [];
}

type hmcbkcliekg_mutable = {
  mutable hhnnjledapn : hhikhceehbb list;
  mutable ikpjplopmjk : int32;
  mutable world_level : int32;
}

let default_hmcbkcliekg_mutable () : hmcbkcliekg_mutable = {
  hhnnjledapn = [];
  ikpjplopmjk = 0l;
  world_level = 0l;
}

type klidemocfdg_mutable = {
  mutable ejkajanlmkl : hmcbkcliekg list;
  mutable retcode : int32;
}

let default_klidemocfdg_mutable () : klidemocfdg_mutable = {
  ejkajanlmkl = [];
  retcode = 0l;
}

type oeajhnfofoc_mutable = {
  mutable ikpjplopmjk : int32;
  mutable world_level : int32;
}

let default_oeajhnfofoc_mutable () : oeajhnfofoc_mutable = {
  ikpjplopmjk = 0l;
  world_level = 0l;
}

type njcahpomndl_mutable = {
  mutable mgdnainpahe : ehhjocaaaba;
  mutable lineup : lineup_info option;
  mutable world_level : int32;
  mutable ikpjplopmjk : int32;
  mutable scene : scene_info option;
}

let default_njcahpomndl_mutable () : njcahpomndl_mutable = {
  mgdnainpahe = default_ehhjocaaaba ();
  lineup = None;
  world_level = 0l;
  ikpjplopmjk = 0l;
  scene = None;
}

type bkaomcmepci_mutable = {
  mutable infplhaigop : int32;
}

let default_bkaomcmepci_mutable () : bkaomcmepci_mutable = {
  infplhaigop = 0l;
}

type fgkfloacjen_mutable = {
  mutable retcode : int32;
  mutable cjbdijhedpo : bkaomcmepci list;
}

let default_fgkfloacjen_mutable () : fgkfloacjen_mutable = {
  retcode = 0l;
  cjbdijhedpo = [];
}

type hjpgejdfpae_mutable = {
  mutable hciobbpgkbe : bkaomcmepci option;
}

let default_hjpgejdfpae_mutable () : hjpgejdfpae_mutable = {
  hciobbpgkbe = None;
}

type bliiedplbfc_mutable = {
  mutable world_level : int32;
  mutable ikpjplopmjk : int32;
  mutable chbdfdolhoc : int32;
  mutable avatar_list : int32 list;
}

let default_bliiedplbfc_mutable () : bliiedplbfc_mutable = {
  world_level = 0l;
  ikpjplopmjk = 0l;
  chbdfdolhoc = 0l;
  avatar_list = [];
}

type efgangejahe_mutable = {
  mutable scene : dnlbhaceial option;
  mutable retcode : int32;
}

let default_efgangejahe_mutable () : efgangejahe_mutable = {
  scene = None;
  retcode = 0l;
}

type pljklolgala_mutable = {
  mutable odjegmnefag : int32 list;
}

let default_pljklolgala_mutable () : pljklolgala_mutable = {
  odjegmnefag = [];
}

type oefagcankoa_mutable = {
  mutable lejmmaeibga : int32;
  mutable fjlnncjahng : int32;
  mutable jhoejhpfmme : (int32 * pljklolgala) list;
}

let default_oefagcankoa_mutable () : oefagcankoa_mutable = {
  lejmmaeibga = 0l;
  fjlnncjahng = 0l;
  jhoejhpfmme = [];
}

type bdpfmlechij_mutable = {
  mutable ldganldgeln : oefagcankoa list;
  mutable retcode : int32;
}

let default_bdpfmlechij_mutable () : bdpfmlechij_mutable = {
  ldganldgeln = [];
  retcode = 0l;
}

type cnaimppnfcb_mutable = {
  mutable lejmmaeibga : int32;
  mutable param_list : int32 list;
  mutable group_id : int32;
  mutable fjlnncjahng : int32;
  mutable kifpepeebco : ljhkjfilggp;
}

let default_cnaimppnfcb_mutable () : cnaimppnfcb_mutable = {
  lejmmaeibga = 0l;
  param_list = [];
  group_id = 0l;
  fjlnncjahng = 0l;
  kifpepeebco = default_ljhkjfilggp ();
}

type cfloccjogdo_mutable = {
  mutable group_id : int32;
  mutable retcode : int32;
  mutable lejmmaeibga : int32;
  mutable fjlnncjahng : int32;
}

let default_cfloccjogdo_mutable () : cfloccjogdo_mutable = {
  group_id = 0l;
  retcode = 0l;
  lejmmaeibga = 0l;
  fjlnncjahng = 0l;
}

type jiddlbiohfe_mutable = {
  mutable fjlnncjahng : int32;
  mutable lejmmaeibga : int32;
  mutable group_id : int32;
}

let default_jiddlbiohfe_mutable () : jiddlbiohfe_mutable = {
  fjlnncjahng = 0l;
  lejmmaeibga = 0l;
  group_id = 0l;
}

type hplgncaacpa_mutable = {
  mutable lejmmaeibga : int32;
  mutable group_id : int32;
  mutable fjlnncjahng : int32;
  mutable lgghoaagahj : pljklolgala option;
  mutable retcode : int32;
}

let default_hplgncaacpa_mutable () : hplgncaacpa_mutable = {
  lejmmaeibga = 0l;
  group_id = 0l;
  fjlnncjahng = 0l;
  lgghoaagahj = None;
  retcode = 0l;
}

type bbiaodgpdie_mutable = {
  mutable dmlnkapjjni : string;
  mutable stage_id : int32;
  mutable oeoikijbcfg : int32;
  mutable blnoeiceljf : replay_type;
  mutable laneigjfepk : string;
  mutable lfnjmcnfhha : int32;
}

let default_bbiaodgpdie_mutable () : bbiaodgpdie_mutable = {
  dmlnkapjjni = "";
  stage_id = 0l;
  oeoikijbcfg = 0l;
  blnoeiceljf = default_replay_type ();
  laneigjfepk = "";
  lfnjmcnfhha = 0l;
}

type kbnonoecgia_mutable = {
  mutable retcode : int32;
  mutable blnoeiceljf : replay_type;
  mutable stage_id : int32;
  mutable oiegbkkceda : string;
  mutable laneigjfepk : string;
}

let default_kbnonoecgia_mutable () : kbnonoecgia_mutable = {
  retcode = 0l;
  blnoeiceljf = default_replay_type ();
  stage_id = 0l;
  oiegbkkceda = "";
  laneigjfepk = "";
}

type mgbehfompfh_mutable = {
  mutable retcode : int32;
  mutable negllhlgeni : nlhgcplikkp list;
}

let default_mgbehfompfh_mutable () : mgbehfompfh_mutable = {
  retcode = 0l;
  negllhlgeni = [];
}

type kkpoiboahff_mutable = {
  mutable id : int32;
}

let default_kkpoiboahff_mutable () : kkpoiboahff_mutable = {
  id = 0l;
}

type apghjcccmob_mutable = {
  mutable retcode : int32;
  mutable ljpbjpagadf : int32 list;
}

let default_apghjcccmob_mutable () : apghjcccmob_mutable = {
  retcode = 0l;
  ljpbjpagadf = [];
}

type dcjhfjbaedn_mutable = {
  mutable retcode : int32;
}

let default_dcjhfjbaedn_mutable () : dcjhfjbaedn_mutable = {
  retcode = 0l;
}

type lffandejddm_mutable = {
  mutable buff_list : jfbmlneajki list;
}

let default_lffandejddm_mutable () : lffandejddm_mutable = {
  buff_list = [];
}

type ifiajgbcpfe_mutable = {
  mutable niiplnimbdh : mbnocjilejg;
  mutable ioijcfnndfi : int32;
  mutable mfdelanaicp : int32;
  mutable bnbhejbnipl : mbnocjilejg;
  mutable dmlfebgjkkb : int32;
}

let default_ifiajgbcpfe_mutable () : ifiajgbcpfe_mutable = {
  niiplnimbdh = default_mbnocjilejg ();
  ioijcfnndfi = 0l;
  mfdelanaicp = 0l;
  bnbhejbnipl = default_mbnocjilejg ();
  dmlfebgjkkb = 0l;
}

type kcoenpcpemg_mutable = {
  mutable lnjapmhfcck : int32;
  mutable gflhplhjaeh : int32;
  mutable ggdaffjnmpa : int32;
  mutable dgigimbnnlb : int32;
  mutable jmmfccfiepc : ifiajgbcpfe list;
}

let default_kcoenpcpemg_mutable () : kcoenpcpemg_mutable = {
  lnjapmhfcck = 0l;
  gflhplhjaeh = 0l;
  ggdaffjnmpa = 0l;
  dgigimbnnlb = 0l;
  jmmfccfiepc = [];
}

type gkhpicdajdl_mutable = {
  mutable lnjapmhfcck : int32;
  mutable ggdaffjnmpa : int32;
  mutable emcojpeknnm : gjdmagoenld;
  mutable ennhncalcjj : bool;
  mutable ediopngagap : int32;
  mutable bejkhpkacji : ofhnfenfeai;
}

let default_gkhpicdajdl_mutable () : gkhpicdajdl_mutable = {
  lnjapmhfcck = 0l;
  ggdaffjnmpa = 0l;
  emcojpeknnm = default_gjdmagoenld ();
  ennhncalcjj = false;
  ediopngagap = 0l;
  bejkhpkacji = default_ofhnfenfeai ();
}

type iacnppnpccc_mutable = {
  mutable jjnpbehjnjb : int32 list;
  mutable fliodcbfcfb : int32;
  mutable cggbcjdjmcm : bool;
  mutable phnnlfhkehl : int32;
  mutable njohallnnnf : int32;
  mutable cbjpfggchfh : hbdomioniba;
  mutable okgomocdmna : int32;
  mutable pagddbhndgi : int32;
  mutable leggojccbin : int32;
  mutable aionnejpeag : item_cost_data option;
  mutable nehaljheool : jfbmlneajki list;
  mutable hdialjfomdi : int32;
  mutable kfnmpcoanof : int32;
}

let default_iacnppnpccc_mutable () : iacnppnpccc_mutable = {
  jjnpbehjnjb = [];
  fliodcbfcfb = 0l;
  cggbcjdjmcm = false;
  phnnlfhkehl = 0l;
  njohallnnnf = 0l;
  cbjpfggchfh = default_hbdomioniba ();
  okgomocdmna = 0l;
  pagddbhndgi = 0l;
  leggojccbin = 0l;
  aionnejpeag = None;
  nehaljheool = [];
  hdialjfomdi = 0l;
  kfnmpcoanof = 0l;
}

type ihjjjmhfaan_mutable = {
  mutable bjijcdggdde : jfbmlneajki list;
  mutable hjcdfejpjcl : jfbmlneajki option;
}

let default_ihjjjmhfaan_mutable () : ihjjjmhfaan_mutable = {
  bjijcdggdde = [];
  hjcdfejpjcl = None;
}

type omfcngipdgf_mutable = {
  mutable eikoihamlka : jfbmlneajki list;
  mutable ckmcdophoho : jfbmlneajki list;
  mutable comnknfemfn : int32;
}

let default_omfcngipdgf_mutable () : omfcngipdgf_mutable = {
  eikoihamlka = [];
  ckmcdophoho = [];
  comnknfemfn = 0l;
}

type jgadagdbegl_mutable = {
  mutable pkkfndimmio : int32;
  mutable lohpklihemj : item_cost_data option;
  mutable knaoedajjai : float;
}

let default_jgadagdbegl_mutable () : jgadagdbegl_mutable = {
  pkkfndimmio = 0l;
  lohpklihemj = None;
  knaoedajjai = 0.;
}

type oeahdnkofon_mutable = {
  mutable lgbagcehkme : jgadagdbegl list;
}

let default_oeahdnkofon_mutable () : oeahdnkofon_mutable = {
  lgbagcehkme = [];
}

type fohcbjkjedg_mutable = {
  mutable afefamkndoo : int32;
  mutable ichkjnfaacl : int32;
  mutable edcaibmdknh : (int32 * int32) list;
  mutable ekieijdbdhm : int32;
  mutable fomcmdmpdcg : int32;
}

let default_fohcbjkjedg_mutable () : fohcbjkjedg_mutable = {
  afefamkndoo = 0l;
  ichkjnfaacl = 0l;
  edcaibmdknh = [];
  ekieijdbdhm = 0l;
  fomcmdmpdcg = 0l;
}

type oekndgfgeji_mutable = {
  mutable lpmiommhiek : int32;
  mutable pcpkkbfpbeb : fohcbjkjedg list;
  mutable aoolkgbeieh : int32;
}

let default_oekndgfgeji_mutable () : oekndgfgeji_mutable = {
  lpmiommhiek = 0l;
  pcpkkbfpbeb = [];
  aoolkgbeieh = 0l;
}

type liidngdpinl_mutable = {
  mutable ohmlalbookj : int32 list;
  mutable pmoenkofnla : oekndgfgeji option;
}

let default_liidngdpinl_mutable () : liidngdpinl_mutable = {
  ohmlalbookj = [];
  pmoenkofnla = None;
}

type bfaggjhfpdi_mutable = {
  mutable ccdkldffekl : int32 list;
}

let default_bfaggjhfpdi_mutable () : bfaggjhfpdi_mutable = {
  ccdkldffekl = [];
}

type enhkgahlnjm_mutable = {
  mutable ofaekfangcn : int32 list;
}

let default_enhkgahlnjm_mutable () : enhkgahlnjm_mutable = {
  ofaekfangcn = [];
}

type ogekjemplng_mutable = {
  mutable amdnjffegfp : int32;
  mutable ekpahpdniff : item_list option;
  mutable oddcohjamko : lffandejddm option;
}

let default_ogekjemplng_mutable () : ogekjemplng_mutable = {
  amdnjffegfp = 0l;
  ekpahpdniff = None;
  oddcohjamko = None;
}

type mhbicckbklh_mutable = {
  mutable joipnmmehbm : item_cost_data option;
  mutable felfdbckgbe : int32 list;
  mutable japlhpdhbci : int32;
  mutable efiaofpjjan : int32;
}

let default_mhbicckbklh_mutable () : mhbicckbklh_mutable = {
  joipnmmehbm = None;
  felfdbckgbe = [];
  japlhpdhbci = 0l;
  efiaofpjjan = 0l;
}

type ikpacpiajlh_mutable = {
  mutable foenmmipefp : int32;
}

let default_ikpacpiajlh_mutable () : ikpacpiajlh_mutable = {
  foenmmipefp = 0l;
}

type keenhmggipf_mutable = {
  mutable gannhbnhjmp : int32;
  mutable okgomocdmna : int32;
  mutable ihlccndmjfi : int32;
  mutable cfffhjomjao : int32;
}

let default_keenhmggipf_mutable () : keenhmggipf_mutable = {
  gannhbnhjmp = 0l;
  okgomocdmna = 0l;
  ihlccndmjfi = 0l;
  cfffhjomjao = 0l;
}

type gdeajeoinom_mutable = {
  mutable okhflbihfhm : int32 list;
  mutable boijkbofiid : mhbicckbklh option;
  mutable dfkpgckchah : int32 list;
  mutable base_avatar_id_list : int32 list;
}

let default_gdeajeoinom_mutable () : gdeajeoinom_mutable = {
  okhflbihfhm = [];
  boijkbofiid = None;
  dfkpgckchah = [];
  base_avatar_id_list = [];
}

type lbcnahcogfm_mutable = {
  mutable pmoenkofnla : oekndgfgeji option;
}

let default_lbcnahcogfm_mutable () : lbcnahcogfm_mutable = {
  pmoenkofnla = None;
}

type ppachbcgdfe_mutable = {
  mutable gcmeendacok : int32 list;
}

let default_ppachbcgdfe_mutable () : ppachbcgdfe_mutable = {
  gcmeendacok = [];
}

type nhnblapbcjc_mutable = {
  mutable efejfkooglh : int32;
  mutable aobifgleena : bool;
  mutable agndiegkeih : int32;
}

let default_nhnblapbcjc_mutable () : nhnblapbcjc_mutable = {
  efejfkooglh = 0l;
  aobifgleena = false;
  agndiegkeih = 0l;
}

type fkmaamoekbp_mutable = {
  mutable nehaljheool : jfbmlneajki list;
}

let default_fkmaamoekbp_mutable () : fkmaamoekbp_mutable = {
  nehaljheool = [];
}

type mnkgimgdlhm_mutable = {
  mutable nnibggkcbdj : gdeajeoinom option;
  mutable pmoenkofnla : lbcnahcogfm option;
  mutable fchbbphcclc : ppachbcgdfe option;
  mutable lfleifodebe : blhhnmhcodp option;
  mutable imelchpnpgc : kcoenpcpemg option;
  mutable blgceifkfbp : bool;
  mutable kjicoehehhk : nhnblapbcjc option;
  mutable status : ofhnfenfeai;
  mutable ocjhnoaacgc : glbffhmcbkd option;
  mutable pogejanpebj : fkmaamoekbp option;
}

let default_mnkgimgdlhm_mutable () : mnkgimgdlhm_mutable = {
  nnibggkcbdj = None;
  pmoenkofnla = None;
  fchbbphcclc = None;
  lfleifodebe = None;
  imelchpnpgc = None;
  blgceifkfbp = false;
  kjicoehehhk = None;
  status = default_ofhnfenfeai ();
  ocjhnoaacgc = None;
  pogejanpebj = None;
}

type hfknoalpegg_mutable = {
  mutable aegcbbajcgf : gkhpicdajdl list;
}

let default_hfknoalpegg_mutable () : hfknoalpegg_mutable = {
  aegcbbajcgf = [];
}

type ilbadbbdfbm_mutable = {
  mutable gahcmamleil : int32;
  mutable cgbmpnplkfj : int32;
}

let default_ilbadbbdfbm_mutable () : ilbadbbdfbm_mutable = {
  gahcmamleil = 0l;
  cgbmpnplkfj = 0l;
}

type kfibbcigege_mutable = {
  mutable efejfkooglh : int32;
  mutable hbjejpcphbf : int32 list;
  mutable aobifgleena : bool;
  mutable gijofajjcak : int32;
}

let default_kfibbcigege_mutable () : kfibbcigege_mutable = {
  efejfkooglh = 0l;
  hbjejpcphbf = [];
  aobifgleena = false;
  gijofajjcak = 0l;
}

type hdpejplkedj_mutable = {
  mutable end_time : int64;
  mutable begin_time : int64;
  mutable ookciddhnhn : int32;
}

let default_hdpejplkedj_mutable () : hdpejplkedj_mutable = {
  end_time = 0L;
  begin_time = 0L;
  ookciddhnhn = 0l;
}

type mlieimmance_mutable = {
  mutable deafkpjjgab : hfknoalpegg option;
  mutable dgohjiekiai : ilbadbbdfbm option;
  mutable kjicoehehhk : kfibbcigege option;
  mutable ejcijjnlahl : kgljkmgbdnk option;
  mutable njokhdgdfcm : hdpejplkedj option;
}

let default_mlieimmance_mutable () : mlieimmance_mutable = {
  deafkpjjgab = None;
  dgohjiekiai = None;
  kjicoehehhk = None;
  ejcijjnlahl = None;
  njokhdgdfcm = None;
}

type jklldafipmj_mutable = {
  mutable gngfcddjjbi : mnkgimgdlhm option;
  mutable fecdamigijp : mlieimmance option;
}

let default_jklldafipmj_mutable () : jklldafipmj_mutable = {
  gngfcddjjbi = None;
  fecdamigijp = None;
}

type flaiejgpbla_mutable = {
  mutable gcflbbikckf : enhkgahlnjm option;
}

let default_flaiejgpbla_mutable () : flaiejgpbla_mutable = {
  gcflbbikckf = None;
}

type glbeljclheb_mutable = {
  mutable efejfkooglh : int32;
  mutable aobifgleena : bool;
  mutable hbjejpcphbf : int32 list;
  mutable agndiegkeih : int32;
  mutable gijofajjcak : int32;
}

let default_glbeljclheb_mutable () : glbeljclheb_mutable = {
  efejfkooglh = 0l;
  aobifgleena = false;
  hbjejpcphbf = [];
  agndiegkeih = 0l;
  gijofajjcak = 0l;
}

type boilblgpbkn_mutable = {
  mutable level : int32;
  mutable nncdpbdokbj : int32;
  mutable exp : int32;
  mutable bajeglndfpe : int32;
}

let default_boilblgpbkn_mutable () : boilblgpbkn_mutable = {
  level = 0l;
  nncdpbdokbj = 0l;
  exp = 0l;
  bajeglndfpe = 0l;
}

type rogue_dialogue_event_param_mutable = {
  mutable is_valid : bool;
  mutable dialogue_event_id : int32;
  mutable int_value : int32;
  mutable ratio : float;
  mutable arg_id : int32;
}

let default_rogue_dialogue_event_param_mutable () : rogue_dialogue_event_param_mutable = {
  is_valid = false;
  dialogue_event_id = 0l;
  int_value = 0l;
  ratio = 0.;
  arg_id = 0l;
}

type hdhjljcibih_mutable = {
  mutable dppfaapfama : int32 list;
  mutable jpiojenbgdi : rogue_dialogue_event_param list;
  mutable ebffkdhgkgl : int32;
  mutable jnboodjdmho : int32;
  mutable game_mode_type : int32;
  mutable hgfnojflbcl : int32;
}

let default_hdhjljcibih_mutable () : hdhjljcibih_mutable = {
  dppfaapfama = [];
  jpiojenbgdi = [];
  ebffkdhgkgl = 0l;
  jnboodjdmho = 0l;
  game_mode_type = 0l;
  hgfnojflbcl = 0l;
}

type gplahfgkjfi_mutable = {
  mutable hkbihdlbllh : npbmfealpda;
  mutable fkkedckadhe : int32 list;
  mutable ekpahpdniff : item_list option;
}

let default_gplahfgkjfi_mutable () : gplahfgkjfi_mutable = {
  hkbihdlbllh = default_npbmfealpda ();
  fkkedckadhe = [];
  ekpahpdniff = None;
}

type elbfiobopib_mutable = {
  mutable retcode : int32;
  mutable kbneaoehnob : jklldafipmj option;
}

let default_elbfiobopib_mutable () : elbfiobopib_mutable = {
  retcode = 0l;
  kbneaoehnob = None;
}

type lpimpachcfm_mutable = {
  mutable idcigdfjabi : int32;
  mutable bajeglndfpe : int32;
  mutable eabjmdoajdk : int32 list;
  mutable ggdaffjnmpa : int32;
  mutable base_avatar_id_list : int32 list;
  mutable okhflbihfhm : int32 list;
}

let default_lpimpachcfm_mutable () : lpimpachcfm_mutable = {
  idcigdfjabi = 0l;
  bajeglndfpe = 0l;
  eabjmdoajdk = [];
  ggdaffjnmpa = 0l;
  base_avatar_id_list = [];
  okhflbihfhm = [];
}

type eijoglklgmn_mutable = {
  mutable scene : scene_info option;
  mutable kbneaoehnob : jklldafipmj option;
  mutable pnbpdbgfffd : cioeahefpln option;
  mutable lineup : lineup_info option;
  mutable retcode : int32;
}

let default_eijoglklgmn_mutable () : eijoglklgmn_mutable = {
  scene = None;
  kbneaoehnob = None;
  pnbpdbgfffd = None;
  lineup = None;
  retcode = 0l;
}

type hkbaifbfaic_mutable = {
  mutable ggdaffjnmpa : int32;
  mutable idcigdfjabi : int32;
}

let default_hkbaifbfaic_mutable () : hkbaifbfaic_mutable = {
  ggdaffjnmpa = 0l;
  idcigdfjabi = 0l;
}

type lekhmhfkdjf_mutable = {
  mutable retcode : int32;
  mutable lineup : lineup_info option;
  mutable pnbpdbgfffd : cioeahefpln option;
  mutable kbneaoehnob : jklldafipmj option;
  mutable scene : scene_info option;
}

let default_lekhmhfkdjf_mutable () : lekhmhfkdjf_mutable = {
  retcode = 0l;
  lineup = None;
  pnbpdbgfffd = None;
  kbneaoehnob = None;
  scene = None;
}

type ckegndkdnno_mutable = {
  mutable scene : scene_info option;
  mutable pnbpdbgfffd : cioeahefpln option;
  mutable lineup : lineup_info option;
  mutable retcode : int32;
  mutable kbneaoehnob : jklldafipmj option;
}

let default_ckegndkdnno_mutable () : ckegndkdnno_mutable = {
  scene = None;
  pnbpdbgfffd = None;
  lineup = None;
  retcode = 0l;
  kbneaoehnob = None;
}

type anlgfnikibd_mutable = {
  mutable mjhepdejndc : dgolpjpbccp option;
}

let default_anlgfnikibd_mutable () : anlgfnikibd_mutable = {
  mjhepdejndc = None;
}

type neffgondoan_mutable = {
  mutable okhflbihfhm : int32 list;
  mutable base_avatar_id_list : int32 list;
  mutable prop_entity_id : int32;
}

let default_neffgondoan_mutable () : neffgondoan_mutable = {
  okhflbihfhm = [];
  base_avatar_id_list = [];
  prop_entity_id = 0l;
}

type moeggpbedmb_mutable = {
  mutable retcode : int32;
  mutable okhflbihfhm : int32 list;
  mutable base_avatar_id_list : int32 list;
}

let default_moeggpbedmb_mutable () : moeggpbedmb_mutable = {
  retcode = 0l;
  okhflbihfhm = [];
  base_avatar_id_list = [];
}

type kgbineghcnh_mutable = {
  mutable base_avatar_id_list : int32 list;
  mutable base_avatar_id : int32;
  mutable idcigdfjabi : int32;
  mutable okhflbihfhm : int32 list;
}

let default_kgbineghcnh_mutable () : kgbineghcnh_mutable = {
  base_avatar_id_list = [];
  base_avatar_id = 0l;
  idcigdfjabi = 0l;
  okhflbihfhm = [];
}

type aaiajmednek_mutable = {
  mutable boijkbofiid : mhbicckbklh option;
  mutable fkhdphhhdff : int32;
  mutable base_avatar_id : int32;
  mutable retcode : int32;
  mutable okhflbihfhm : int32 list;
  mutable base_avatar_id_list : int32 list;
}

let default_aaiajmednek_mutable () : aaiajmednek_mutable = {
  boijkbofiid = None;
  fkhdphhhdff = 0l;
  base_avatar_id = 0l;
  retcode = 0l;
  okhflbihfhm = [];
  base_avatar_id_list = [];
}

type ofjdflhcbno_mutable = {
  mutable boijkbofiid : mhbicckbklh option;
}

let default_ofjdflhcbno_mutable () : ofjdflhcbno_mutable = {
  boijkbofiid = None;
}

type bmnacahlhkf_mutable = {
  mutable jkdkdpoblli : oeahdnkofon option;
  mutable retcode : int32;
}

let default_bmnacahlhkf_mutable () : bmnacahlhkf_mutable = {
  jkdkdpoblli = None;
  retcode = 0l;
}

type ikmcocgkpfb_mutable = {
  mutable paofpgekpfe : int32;
}

let default_ikmcocgkpfb_mutable () : ikmcocgkpfb_mutable = {
  paofpgekpfe = 0l;
}

type hmphcjllhlg_mutable = {
  mutable retcode : int32;
  mutable boeaanepgoc : bool;
  mutable amikofgncbo : jfbmlneajki option;
}

let default_hmphcjllhlg_mutable () : hmphcjllhlg_mutable = {
  retcode = 0l;
  boeaanepgoc = false;
  amikofgncbo = None;
}

type egakdgnfohg_mutable = {
  mutable ggdaffjnmpa : int32;
}

let default_egakdgnfohg_mutable () : egakdgnfohg_mutable = {
  ggdaffjnmpa = 0l;
}

type penkmieihcg_mutable = {
  mutable mjhepdejndc : dgolpjpbccp option;
  mutable kbneaoehnob : jklldafipmj option;
  mutable retcode : int32;
}

let default_penkmieihcg_mutable () : penkmieihcg_mutable = {
  mjhepdejndc = None;
  kbneaoehnob = None;
  retcode = 0l;
}

type lcepafndlhi_mutable = {
  mutable blgceifkfbp : bool;
}

let default_lcepafndlhi_mutable () : lcepafndlhi_mutable = {
  blgceifkfbp = false;
}

type mpebchgcinh_mutable = {
  mutable ejcijjnlahl : kgljkmgbdnk option;
  mutable mjhepdejndc : dgolpjpbccp option;
  mutable lineup : lineup_info option;
  mutable scene : scene_info option;
  mutable amcmdlgpofj : bool;
}

let default_mpebchgcinh_mutable () : mpebchgcinh_mutable = {
  ejcijjnlahl = None;
  mjhepdejndc = None;
  lineup = None;
  scene = None;
  amcmdlgpofj = false;
}

type llnijpmjopo_mutable = {
  mutable ioijcfnndfi : int32;
  mutable mfdelanaicp : int32;
}

let default_llnijpmjopo_mutable () : llnijpmjopo_mutable = {
  ioijcfnndfi = 0l;
  mfdelanaicp = 0l;
}

type jgcndbojpog_mutable = {
  mutable pnbpdbgfffd : cioeahefpln option;
  mutable retcode : int32;
  mutable dgigimbnnlb : int32;
  mutable lineup : lineup_info option;
  mutable scene : scene_info option;
}

let default_jgcndbojpog_mutable () : jgcndbojpog_mutable = {
  pnbpdbgfffd = None;
  retcode = 0l;
  dgigimbnnlb = 0l;
  lineup = None;
  scene = None;
}

type glljcdfnpem_mutable = {
  mutable lnjapmhfcck : int32;
  mutable glbbhlbjecp : ifiajgbcpfe option;
}

let default_glljcdfnpem_mutable () : glljcdfnpem_mutable = {
  lnjapmhfcck = 0l;
  glbbhlbjecp = None;
}

type gchjjpflnkb_mutable = {
  mutable gehbffmbgmi : bool;
  mutable idcigdfjabi : int32;
}

let default_gchjjpflnkb_mutable () : gchjjpflnkb_mutable = {
  gehbffmbgmi = false;
  idcigdfjabi = 0l;
}

type hofgmeoijfj_mutable = {
  mutable retcode : int32;
  mutable reward : item_list option;
  mutable acpoidmpoae : item_list option;
}

let default_hofgmeoijfj_mutable () : hofgmeoijfj_mutable = {
  retcode = 0l;
  reward = None;
  acpoidmpoae = None;
}

type bpmdjhmbdkl_mutable = {
  mutable count : int32;
}

let default_bpmdjhmbdkl_mutable () : bpmdjhmbdkl_mutable = {
  count = 0l;
}

type exchange_rogue_reward_key_sc_rsp_mutable = {
  mutable count : int32;
  mutable retcode : int32;
}

let default_exchange_rogue_reward_key_sc_rsp_mutable () : exchange_rogue_reward_key_sc_rsp_mutable = {
  count = 0l;
  retcode = 0l;
}

type aeioghldhlc_mutable = {
  mutable ggdaffjnmpa : int32;
}

let default_aeioghldhlc_mutable () : aeioghldhlc_mutable = {
  ggdaffjnmpa = 0l;
}

type hodomdmcjol_mutable = {
  mutable dihnhalhcih : item_list option;
  mutable donbbmfeogl : item_list option;
}

let default_hodomdmcjol_mutable () : hodomdmcjol_mutable = {
  dihnhalhcih = None;
  donbbmfeogl = None;
}

type bcbecaaneef_mutable = {
  mutable level : int32;
  mutable bajeglndfpe : int32;
}

let default_bcbecaaneef_mutable () : bcbecaaneef_mutable = {
  level = 0l;
  bajeglndfpe = 0l;
}

type nofljpbanih_mutable = {
  mutable retcode : int32;
  mutable reward : item_list option;
  mutable bajeglndfpe : int32;
  mutable level : int32;
}

let default_nofljpbanih_mutable () : nofljpbanih_mutable = {
  retcode = 0l;
  reward = None;
  bajeglndfpe = 0l;
  level = 0l;
}

type bmplpcnnkec_mutable = {
  mutable level : int32;
  mutable bajeglndfpe : int32;
  mutable reward : item_list option;
}

let default_bmplpcnnkec_mutable () : bmplpcnnkec_mutable = {
  level = 0l;
  bajeglndfpe = 0l;
  reward = None;
}

type ckblkmocjmf_mutable = {
  mutable jpaolljmggn : kgljkmgbdnk option;
  mutable retcode : int32;
}

let default_ckblkmocjmf_mutable () : ckblkmocjmf_mutable = {
  jpaolljmggn = None;
  retcode = 0l;
}

type jgajkhkkeio_mutable = {
  mutable bnhepammdhc : int32;
  mutable dcadeobidnh : int32 list;
}

let default_jgajkhkkeio_mutable () : jgajkhkkeio_mutable = {
  bnhepammdhc = 0l;
  dcadeobidnh = [];
}

type lkofhppadca_mutable = {
  mutable bnhepammdhc : int32;
  mutable ejcijjnlahl : kgljkmgbdnk option;
  mutable reward : item_list option;
  mutable retcode : int32;
}

let default_lkofhppadca_mutable () : lkofhppadca_mutable = {
  bnhepammdhc = 0l;
  ejcijjnlahl = None;
  reward = None;
  retcode = 0l;
}

type lknpoemfdno_mutable = {
  mutable ejcijjnlahl : kgljkmgbdnk option;
  mutable retcode : int32;
}

let default_lknpoemfdno_mutable () : lknpoemfdno_mutable = {
  ejcijjnlahl = None;
  retcode = 0l;
}

type elhiacmnajc_mutable = {
  mutable retcode : int32;
  mutable ihneplfgmdc : boilblgpbkn list;
}

let default_elhiacmnajc_mutable () : elhiacmnajc_mutable = {
  retcode = 0l;
  ihneplfgmdc = [];
}

type hbfjgoicaol_mutable = {
  mutable bajeglndfpe : int32;
}

let default_hbfjgoicaol_mutable () : hbfjgoicaol_mutable = {
  bajeglndfpe = 0l;
}

type jigppbjhmnp_mutable = {
  mutable kjicoehehhk : boilblgpbkn option;
  mutable reward : item_list option;
  mutable retcode : int32;
}

let default_jigppbjhmnp_mutable () : jigppbjhmnp_mutable = {
  kjicoehehhk = None;
  reward = None;
  retcode = 0l;
}

type lbfbelnigfh_mutable = {
  mutable retcode : int32;
  mutable bbanknacajb : lljpmigaffg option;
}

let default_lbfbelnigfh_mutable () : lbfbelnigfh_mutable = {
  retcode = 0l;
  bbanknacajb = None;
}

type baglomejene_mutable = {
  mutable hehehnicpjn : int32;
}

let default_baglomejene_mutable () : baglomejene_mutable = {
  hehehnicpjn = 0l;
}

type kdgaocegfdf_mutable = {
  mutable retcode : int32;
  mutable bbanknacajb : lljpmigaffg option;
}

let default_kdgaocegfdf_mutable () : kdgaocegfdf_mutable = {
  retcode = 0l;
  bbanknacajb = None;
}

type fjijhabofak_mutable = {
  mutable dgohjiekiai : keenhmggipf option;
}

let default_fjijhabofak_mutable () : fjijhabofak_mutable = {
  dgohjiekiai = None;
}

type jnibnndccka_mutable = {
  mutable ddknigaggof : bool;
  mutable status : ofhnfenfeai;
}

let default_jnibnndccka_mutable () : jnibnndccka_mutable = {
  ddknigaggof = false;
  status = default_ofhnfenfeai ();
}

type amnocflooda_mutable = {
  mutable ejcijjnlahl : kgljkmgbdnk option;
}

let default_amnocflooda_mutable () : amnocflooda_mutable = {
  ejcijjnlahl = None;
}

type kmhcdlibnek_mutable = {
  mutable okhflbihfhm : int32 list;
  mutable base_avatar_id_list : int32 list;
}

let default_kmhcdlibnek_mutable () : kmhcdlibnek_mutable = {
  okhflbihfhm = [];
  base_avatar_id_list = [];
}

type oidpdohncaa_mutable = {
  mutable ijmlpfaaino : glbeljclheb option;
}

let default_oidpdohncaa_mutable () : oidpdohncaa_mutable = {
  ijmlpfaaino = None;
}

type ddignhhjpae_mutable = {
  mutable lineup : lineup_info option;
  mutable pnbpdbgfffd : cioeahefpln option;
  mutable scene : scene_info option;
}

let default_ddignhhjpae_mutable () : ddignhhjpae_mutable = {
  lineup = None;
  pnbpdbgfffd = None;
  scene = None;
}

type fhlefpomfno_mutable = {
  mutable base_avatar_id_list : int32 list;
  mutable mfdelanaicp : int32;
}

let default_fhlefpomfno_mutable () : fhlefpomfno_mutable = {
  base_avatar_id_list = [];
  mfdelanaicp = 0l;
}

type kkmphcoinno_mutable = {
  mutable retcode : int32;
  mutable mfdelanaicp : int32;
  mutable hiacklcdijn : ddignhhjpae option;
}

let default_kkmphcoinno_mutable () : kkmphcoinno_mutable = {
  retcode = 0l;
  mfdelanaicp = 0l;
  hiacklcdijn = None;
}

type jfncdjjoiln_mutable = {
  mutable retcode : int32;
  mutable hiacklcdijn : ddignhhjpae option;
}

let default_jfncdjjoiln_mutable () : jfncdjjoiln_mutable = {
  retcode = 0l;
  hiacklcdijn = None;
}

type keejcoilnoh_mutable = {
  mutable retcode : int32;
  mutable hiacklcdijn : ddignhhjpae option;
}

let default_keejcoilnoh_mutable () : keejcoilnoh_mutable = {
  retcode = 0l;
  hiacklcdijn = None;
}

type gjfcgaliifa_mutable = {
  mutable retcode : int32;
  mutable mfdelanaicp : int32;
}

let default_gjfcgaliifa_mutable () : gjfcgaliifa_mutable = {
  retcode = 0l;
  mfdelanaicp = 0l;
}

type ikhcpmbdbll_mutable = {
  mutable eojifjnkhij : int32;
}

let default_ikhcpmbdbll_mutable () : ikhcpmbdbll_mutable = {
  eojifjnkhij = 0l;
}

type hbnambacbfh_mutable = {
  mutable alalgchdbdp : rogue_common_buff_select_info option;
}

let default_hbnambacbfh_mutable () : hbnambacbfh_mutable = {
  alalgchdbdp = None;
}

type bfjilkicklf_mutable = {
  mutable comnknfemfn : int32;
  mutable ckmcdophoho : mnicidbdjfi list;
  mutable eikoihamlka : mnicidbdjfi list;
}

let default_bfjilkicklf_mutable () : bfjilkicklf_mutable = {
  comnknfemfn = 0l;
  ckmcdophoho = [];
  eikoihamlka = [];
}

type fijoihplgfi_mutable = {
  mutable hiddgkclnhg : int32;
}

let default_fijoihplgfi_mutable () : fijoihplgfi_mutable = {
  hiddgkclnhg = 0l;
}

type lhmgpkeoghe_mutable = {
  mutable eojifjnkhij : int32;
}

let default_lhmgpkeoghe_mutable () : lhmgpkeoghe_mutable = {
  eojifjnkhij = 0l;
}

type nbjgogbhokm_mutable = {
  mutable eojifjnkhij : int32;
}

let default_nbjgogbhokm_mutable () : nbjgogbhokm_mutable = {
  eojifjnkhij = 0l;
}

type oagmnkadfbi_mutable = {
  mutable kfancbcgdmp : djpaibjmmoe option;
  mutable jbjpjpilfam : int32;
  mutable dkmcfgheefh : bool;
}

let default_oagmnkadfbi_mutable () : oagmnkadfbi_mutable = {
  kfancbcgdmp = None;
  jbjpjpilfam = 0l;
  dkmcfgheefh = false;
}

type clobgmgklja_mutable = {
  mutable jhjpgbkblag : djpaibjmmoe option;
}

let default_clobgmgklja_mutable () : clobgmgklja_mutable = {
  jhjpgbkblag = None;
}

type nneegnafcfg_mutable = {
  mutable ichkjnfaacl : int32;
}

let default_nneegnafcfg_mutable () : nneegnafcfg_mutable = {
  ichkjnfaacl = 0l;
}

type pefkaoobihi_mutable = {
  mutable jhjpgbkblag : djpaibjmmoe option;
  mutable aheiodcbaae : int32;
}

let default_pefkaoobihi_mutable () : pefkaoobihi_mutable = {
  jhjpgbkblag = None;
  aheiodcbaae = 0l;
}

type bklejdedngm_mutable = {
  mutable jhjpgbkblag : djpaibjmmoe option;
}

let default_bklejdedngm_mutable () : bklejdedngm_mutable = {
  jhjpgbkblag = None;
}

type okdkilkjabn_mutable = {
  mutable jbjpjpilfam : int32;
  mutable kfancbcgdmp : djpaibjmmoe option;
}

let default_okdkilkjabn_mutable () : okdkilkjabn_mutable = {
  jbjpjpilfam = 0l;
  kfancbcgdmp = None;
}

type ifnnhfbomnh_mutable = {
  mutable jhjpgbkblag : djpaibjmmoe option;
}

let default_ifnnhfbomnh_mutable () : ifnnhfbomnh_mutable = {
  jhjpgbkblag = None;
}

type bkoniegkimo_mutable = {
  mutable cobljdcahcb : int32;
}

let default_bkoniegkimo_mutable () : bkoniegkimo_mutable = {
  cobljdcahcb = 0l;
}

type enolgaiddgi_mutable = {
  mutable khhcaendfei : int32;
}

let default_enolgaiddgi_mutable () : enolgaiddgi_mutable = {
  khhcaendfei = 0l;
}

type okaoepbdlkg_mutable = {
  mutable gieginhphpb : int32;
}

let default_okaoepbdlkg_mutable () : okaoepbdlkg_mutable = {
  gieginhphpb = 0l;
}

type bdljnoiiooh_mutable = {
  mutable cdeedkpknfo : int32;
}

let default_bdljnoiiooh_mutable () : bdljnoiiooh_mutable = {
  cdeedkpknfo = 0l;
}

type gndkaolnaic_mutable = {
  mutable cmhkhpemokh : int32;
}

let default_gndkaolnaic_mutable () : gndkaolnaic_mutable = {
  cmhkhpemokh = 0l;
}

type jogglahdihp_mutable = {
  mutable cobljdcahcb : int32;
}

let default_jogglahdihp_mutable () : jogglahdihp_mutable = {
  cobljdcahcb = 0l;
}

type pnhmjikaamk_mutable = {
  mutable cobljdcahcb : int32;
}

let default_pnhmjikaamk_mutable () : pnhmjikaamk_mutable = {
  cobljdcahcb = 0l;
}

type gplpibkcldk_mutable = {
  mutable gngdoajbfea : int32;
}

let default_gplpibkcldk_mutable () : gplpibkcldk_mutable = {
  gngdoajbfea = 0l;
}

type flhognnpcee_mutable = {
  mutable gapjajnhglk : int32;
  mutable kagnbjdmamf : int32;
}

let default_flhognnpcee_mutable () : flhognnpcee_mutable = {
  gapjajnhglk = 0l;
  kagnbjdmamf = 0l;
}

type keijecmckle_mutable = {
  mutable avatar_id : int32;
  mutable avatar_type : avatar_type;
}

let default_keijecmckle_mutable () : keijecmckle_mutable = {
  avatar_id = 0l;
  avatar_type = default_avatar_type ();
}

type fkpilfbkdla_mutable = {
  mutable count : int32;
}

let default_fkpilfbkdla_mutable () : fkpilfbkdla_mutable = {
  count = 0l;
}

type lnkggapbplf_mutable = {
  mutable ichkjnfaacl : int32;
}

let default_lnkggapbplf_mutable () : lnkggapbplf_mutable = {
  ichkjnfaacl = 0l;
}

type rogue_adventure_room_gameplay_wolf_gun_target_mutable = {
  mutable target_none : unit;
  mutable target_coin : fkpilfbkdla option;
  mutable target_miracle : lnkggapbplf option;
  mutable target_ruanmei : unit;
}

let default_rogue_adventure_room_gameplay_wolf_gun_target_mutable () : rogue_adventure_room_gameplay_wolf_gun_target_mutable = {
  target_none = ();
  target_coin = None;
  target_miracle = None;
  target_ruanmei = ();
}

type kghbncadpbj_mutable = {
  mutable pcejljofmag : int32;
  mutable nkpcaindgao : rogue_adventure_room_gameplay_wolf_gun_target list;
}

let default_kghbncadpbj_mutable () : kghbncadpbj_mutable = {
  pcejljofmag = 0l;
  nkpcaindgao = [];
}

type kpaflmlbaig_mutable = {
  mutable ilcgmkpbmgm : kghbncadpbj option;
}

let default_kpaflmlbaig_mutable () : kpaflmlbaig_mutable = {
  ilcgmkpbmgm = None;
}

type jnoilndnkbj_mutable = {
  mutable lpgaoolbbfm : int32;
  mutable mmppaiggmon : kpaflmlbaig option;
  mutable status : int32;
  mutable hgdjmjhnhhp : int32;
  mutable gdkaebolcdi : float;
  mutable addadjcedkh : int32;
}

let default_jnoilndnkbj_mutable () : jnoilndnkbj_mutable = {
  lpgaoolbbfm = 0l;
  mmppaiggmon = None;
  status = 0l;
  hgdjmjhnhhp = 0l;
  gdkaebolcdi = 0.;
  addadjcedkh = 0l;
}

type hpohpkijbaj_mutable = {
  mutable pdhjencainp : jnoilndnkbj option;
}

let default_hpohpkijbaj_mutable () : hpohpkijbaj_mutable = {
  pdhjencainp = None;
}

type lledefmjmdh_mutable = {
  mutable retcode : int32;
  mutable pdhjencainp : jnoilndnkbj option;
}

let default_lledefmjmdh_mutable () : lledefmjmdh_mutable = {
  retcode = 0l;
  pdhjencainp = None;
}

type lihdfgpjagn_mutable = {
  mutable ifalllhbdod : int32;
  mutable eonnofjkjfl : int32 list;
}

let default_lihdfgpjagn_mutable () : lihdfgpjagn_mutable = {
  ifalllhbdod = 0l;
  eonnofjkjfl = [];
}

type kldmdkabcho_mutable = {
  mutable retcode : int32;
  mutable pdhjencainp : jnoilndnkbj option;
}

let default_kldmdkabcho_mutable () : kldmdkabcho_mutable = {
  retcode = 0l;
  pdhjencainp = None;
}

type jcnfdimlfmc_mutable = {
  mutable retcode : int32;
  mutable pdhjencainp : jnoilndnkbj option;
}

let default_jcnfdimlfmc_mutable () : jcnfdimlfmc_mutable = {
  retcode = 0l;
  pdhjencainp = None;
}

type bgaflmnodli_mutable = {
  mutable lpgaoolbbfm : int32;
  mutable foflcmnhakn : int32;
}

let default_bgaflmnodli_mutable () : bgaflmnodli_mutable = {
  lpgaoolbbfm = 0l;
  foflcmnhakn = 0l;
}

type cggnemiplld_mutable = {
  mutable retcode : int32;
  mutable pdhjencainp : jnoilndnkbj option;
}

let default_cggnemiplld_mutable () : cggnemiplld_mutable = {
  retcode = 0l;
  pdhjencainp = None;
}

type knmignnohnj_mutable = {
  mutable lohpklihemj : item_cost_data option;
  mutable ichkjnfaacl : int32;
  mutable gcdniclhoga : item_cost_data option;
  mutable jdaejcpfkil : bool;
  mutable dcejfokjpod : bool;
}

let default_knmignnohnj_mutable () : knmignnohnj_mutable = {
  lohpklihemj = None;
  ichkjnfaacl = 0l;
  gcdniclhoga = None;
  jdaejcpfkil = false;
  dcejfokjpod = false;
}

type pgghnkhkkog_mutable = {
  mutable jdaejcpfkil : bool;
  mutable lohpklihemj : item_cost_data option;
  mutable pkkfndimmio : int32;
  mutable gcdniclhoga : item_cost_data option;
  mutable odfbamohefb : int32;
  mutable dcejfokjpod : bool;
}

let default_pgghnkhkkog_mutable () : pgghnkhkkog_mutable = {
  jdaejcpfkil = false;
  lohpklihemj = None;
  pkkfndimmio = 0l;
  gcdniclhoga = None;
  odfbamohefb = 0l;
  dcejfokjpod = false;
}

type occpiocibei_mutable = {
  mutable pcpkkbfpbeb : knmignnohnj list;
}

let default_occpiocibei_mutable () : occpiocibei_mutable = {
  pcpkkbfpbeb = [];
}

type dbmldhmcphn_mutable = {
  mutable buff_list : pgghnkhkkog list;
}

let default_dbmldhmcphn_mutable () : dbmldhmcphn_mutable = {
  buff_list = [];
}

type fnpcmgicfkk_mutable = {
  mutable aieeiiggfmj : bool;
  mutable idcigdfjabi : int32;
}

let default_fnpcmgicfkk_mutable () : fnpcmgicfkk_mutable = {
  aieeiiggfmj = false;
  idcigdfjabi = 0l;
}

type mkilmbbefoo_mutable = {
  mutable bfkodbfknbl : item_cost_data option;
  mutable pogejanpebj : dbmldhmcphn option;
  mutable retcode : int32;
  mutable npbgklkbgdi : bool;
}

let default_mkilmbbefoo_mutable () : mkilmbbefoo_mutable = {
  bfkodbfknbl = None;
  pogejanpebj = None;
  retcode = 0l;
  npbgklkbgdi = false;
}

type adckamembmd_mutable = {
  mutable aieeiiggfmj : bool;
  mutable idcigdfjabi : int32;
}

let default_adckamembmd_mutable () : adckamembmd_mutable = {
  aieeiiggfmj = false;
  idcigdfjabi = 0l;
}

type nbchjcnhemh_mutable = {
  mutable pmoenkofnla : occpiocibei option;
  mutable retcode : int32;
  mutable npbgklkbgdi : bool;
  mutable bfkodbfknbl : item_cost_data option;
}

let default_nbchjcnhemh_mutable () : nbchjcnhemh_mutable = {
  pmoenkofnla = None;
  retcode = 0l;
  npbgklkbgdi = false;
  bfkodbfknbl = None;
}

type ldiemhcahcb_mutable = {
  mutable idcigdfjabi : int32;
  mutable ichkjnfaacl : int32;
}

let default_ldiemhcahcb_mutable () : ldiemhcahcb_mutable = {
  idcigdfjabi = 0l;
  ichkjnfaacl = 0l;
}

type mdoiknkenbl_mutable = {
  mutable emabnjbclgd : int32 list;
  mutable idcigdfjabi : int32;
}

let default_mdoiknkenbl_mutable () : mdoiknkenbl_mutable = {
  emabnjbclgd = [];
  idcigdfjabi = 0l;
}

type hhmoihmdiao_mutable = {
  mutable pmoenkofnla : occpiocibei option;
  mutable retcode : int32;
}

let default_hhmoihmdiao_mutable () : hhmoihmdiao_mutable = {
  pmoenkofnla = None;
  retcode = 0l;
}

type mcaddfogkcm_mutable = {
  mutable retcode : int32;
  mutable pogejanpebj : dbmldhmcphn option;
}

let default_mcaddfogkcm_mutable () : mcaddfogkcm_mutable = {
  retcode = 0l;
  pogejanpebj = None;
}

type bgblclfikdl_mutable = {
  mutable ichkjnfaacl : int32;
  mutable idcigdfjabi : int32;
}

let default_bgblclfikdl_mutable () : bgblclfikdl_mutable = {
  ichkjnfaacl = 0l;
  idcigdfjabi = 0l;
}

type cenhmaccfkm_mutable = {
  mutable bdmoacndcoa : mnicidbdjfi option;
  mutable retcode : int32;
}

let default_cenhmaccfkm_mutable () : cenhmaccfkm_mutable = {
  bdmoacndcoa = None;
  retcode = 0l;
}

type mhinmgakigi_mutable = {
  mutable pndblfbllmj : int32;
}

let default_mhinmgakigi_mutable () : mhinmgakigi_mutable = {
  pndblfbllmj = 0l;
}

type mghjipocegb_mutable = {
  mutable retcode : int32;
}

let default_mghjipocegb_mutable () : mghjipocegb_mutable = {
  retcode = 0l;
}

type lkleecbabea_mutable = {
  mutable idcigdfjabi : int32;
  mutable paofpgekpfe : int32;
}

let default_lkleecbabea_mutable () : lkleecbabea_mutable = {
  idcigdfjabi = 0l;
  paofpgekpfe = 0l;
}

type cmpglffeblp_mutable = {
  mutable amikofgncbo : mnicidbdjfi option;
  mutable boeaanepgoc : bool;
  mutable retcode : int32;
}

let default_cmpglffeblp_mutable () : cmpglffeblp_mutable = {
  amikofgncbo = None;
  boeaanepgoc = false;
  retcode = 0l;
}

type kjmbiclggjd_mutable = {
  mutable idcigdfjabi : int32;
}

let default_kjmbiclggjd_mutable () : kjmbiclggjd_mutable = {
  idcigdfjabi = 0l;
}

type get_enhance_common_rogue_buff_info_sc_rsp_mutable = {
  mutable enhanced_buff_id_list : int32 list;
  mutable retcode : int32;
}

let default_get_enhance_common_rogue_buff_info_sc_rsp_mutable () : get_enhance_common_rogue_buff_info_sc_rsp_mutable = {
  enhanced_buff_id_list = [];
  retcode = 0l;
}

type jimphabffnp_mutable = {
  mutable mkoeknaflmj : iejadeeklgn option;
}

let default_jimphabffnp_mutable () : jimphabffnp_mutable = {
  mkoeknaflmj = None;
}

type hbdelaiadlb_mutable = {
  mutable mkoeknaflmj : iejadeeklgn option;
}

let default_hbdelaiadlb_mutable () : hbdelaiadlb_mutable = {
  mkoeknaflmj = None;
}

type hcpcpcigmpg_mutable = {
  mutable mkoeknaflmj : iejadeeklgn option;
}

let default_hcpcpcigmpg_mutable () : hcpcpcigmpg_mutable = {
  mkoeknaflmj = None;
}

type lipcpilkehi_mutable = {
  mutable mkoeknaflmj : iejadeeklgn option;
}

let default_lipcpilkehi_mutable () : lipcpilkehi_mutable = {
  mkoeknaflmj = None;
}

type joamhogigdi_mutable = {
  mutable value : pmdmaockcjp option;
}

let default_joamhogigdi_mutable () : joamhogigdi_mutable = {
  value = None;
}

type jcipijmgbbp_mutable = {
  mutable fbiaimddiej : int32;
}

let default_jcipijmgbbp_mutable () : jcipijmgbbp_mutable = {
  fbiaimddiej = 0l;
}

type dcflakjicbi_mutable = {
  mutable fbiaimddiej : int32;
}

let default_dcflakjicbi_mutable () : dcflakjicbi_mutable = {
  fbiaimddiej = 0l;
}

type pkgfjolojec_mutable = {
  mutable dhcakofmnjp : flhognnpcee option;
  mutable pbnahdfdakb : flhognnpcee option;
  mutable hjcdfejpjcl : mnicidbdjfi option;
  mutable emghnkdicbf : mnicidbdjfi option;
  mutable ppnmgedbfel : clobgmgklja option;
  mutable okbkccnfdlb : nneegnafcfg option;
  mutable bbjbennbhgi : pefkaoobihi option;
  mutable kmdciieifgn : bklejdedngm option;
  mutable jppfinpapdi : okdkilkjabn option;
  mutable llaenjaahgl : ifnnhfbomnh option;
  mutable cekcaaddhlm : keijecmckle option;
  mutable bjpgdnebdla : jimphabffnp option;
  mutable hhjdhhjpgkk : hbdelaiadlb option;
  mutable nfbeklebbgc : hcpcpcigmpg option;
  mutable elaolkochpi : lipcpilkehi option;
  mutable gbdphogibae : joamhogigdi option;
  mutable khifepcfdlc : jcipijmgbbp option;
  mutable lpjpaggolke : dcflakjicbi option;
}

let default_pkgfjolojec_mutable () : pkgfjolojec_mutable = {
  dhcakofmnjp = None;
  pbnahdfdakb = None;
  hjcdfejpjcl = None;
  emghnkdicbf = None;
  ppnmgedbfel = None;
  okbkccnfdlb = None;
  bbjbennbhgi = None;
  kmdciieifgn = None;
  jppfinpapdi = None;
  llaenjaahgl = None;
  cekcaaddhlm = None;
  bjpgdnebdla = None;
  hhjdhhjpgkk = None;
  nfbeklebbgc = None;
  elaolkochpi = None;
  gbdphogibae = None;
  khifepcfdlc = None;
  lpjpaggolke = None;
}

type jfaepfgabpp_mutable = {
  mutable gnfpnbgacdf : npkhcnmhkdp;
  mutable mkgoabedjeh : pkgfjolojec option;
}

let default_jfaepfgabpp_mutable () : jfaepfgabpp_mutable = {
  gnfpnbgacdf = default_npkhcnmhkdp ();
  mkgoabedjeh = None;
}

type empneaapcke_mutable = {
  mutable gapjajnhglk : bnlkbheaggj;
  mutable fhpollcfknc : int32;
  mutable jmfablhemno : jfaepfgabpp list;
}

let default_empneaapcke_mutable () : empneaapcke_mutable = {
  gapjajnhglk = default_bnlkbheaggj ();
  fhpollcfknc = 0l;
  jmfablhemno = [];
}

type okkklfebmlg_mutable = {
  mutable cjapbkbgjde : int32;
}

let default_okkklfebmlg_mutable () : okkklfebmlg_mutable = {
  cjapbkbgjde = 0l;
}

type hdcjnnpgeid_mutable = {
  mutable cjapbkbgjde : int32;
}

let default_hdcjnnpgeid_mutable () : hdcjnnpgeid_mutable = {
  cjapbkbgjde = 0l;
}

type jjdgojacafe_mutable = {
  mutable hfdfkfjfdbb : rogue_formula_select_info option;
}

let default_jjdgojacafe_mutable () : jjdgojacafe_mutable = {
  hfdfkfjfdbb = None;
}

type keadkpndpml_mutable = {
  mutable cjapbkbgjde : int32;
}

let default_keadkpndpml_mutable () : keadkpndpml_mutable = {
  cjapbkbgjde = 0l;
}

type jdplmldakec_mutable = {
  mutable ghhnoefibke : int32;
  mutable mmnebfbnoni : bool;
}

let default_jdplmldakec_mutable () : jdplmldakec_mutable = {
  ghhnoefibke = 0l;
  mmnebfbnoni = false;
}

type dimcddnhfgn_mutable = {
  mutable cfjdmlpfdoc : blhhnmhcodp option;
  mutable fhpollcfknc : int32;
}

let default_dimcddnhfgn_mutable () : dimcddnhfgn_mutable = {
  cfjdmlpfdoc = None;
  fhpollcfknc = 0l;
}

type bpcliochekj_mutable = {
  mutable efigohhfcpp : int32;
  mutable mmmkbhidohp : ikhcpmbdbll option;
  mutable pbdgajfecic : fijoihplgfi option;
  mutable pgcjdnfdkni : lhmgpkeoghe option;
  mutable lddnkidmhlh : unit;
  mutable mpomggfehlo : nbjgogbhokm option;
  mutable anbajffabll : bkoniegkimo option;
  mutable ddkfkjpgcaf : enolgaiddgi option;
  mutable kdeiabffjhe : okaoepbdlkg option;
  mutable oecoiehbkof : bdljnoiiooh option;
  mutable pgpeffkechj : gndkaolnaic option;
  mutable mipdhlckcjd : jogglahdihp option;
  mutable giefnjkkopn : pnhmjikaamk option;
  mutable ggoclminbog : gplpibkcldk option;
  mutable nfjgnhjkaoh : okkklfebmlg option;
  mutable badchlhlile : unit;
  mutable filbnenmkhl : hdcjnnpgeid option;
  mutable ficafpbocad : keadkpndpml option;
  mutable ldahfbiambi : jdplmldakec option;
}

let default_bpcliochekj_mutable () : bpcliochekj_mutable = {
  efigohhfcpp = 0l;
  mmmkbhidohp = None;
  pbdgajfecic = None;
  pgcjdnfdkni = None;
  lddnkidmhlh = ();
  mpomggfehlo = None;
  anbajffabll = None;
  ddkfkjpgcaf = None;
  kdeiabffjhe = None;
  oecoiehbkof = None;
  pgpeffkechj = None;
  mipdhlckcjd = None;
  giefnjkkopn = None;
  ggoclminbog = None;
  nfjgnhjkaoh = None;
  badchlhlile = ();
  filbnenmkhl = None;
  ficafpbocad = None;
  ldahfbiambi = None;
}

type afnbfhnonmi_mutable = {
  mutable ocnjbebhbgo : int32;
  mutable efigohhfcpp : int32;
  mutable retcode : int32;
  mutable mjfnbidjnkn : unit;
  mutable jklhkhholdi : unit;
  mutable ademmhhnhml : unit;
  mutable pbjjcmlfeaf : hbnambacbfh option;
  mutable ebbdfigldjb : unit;
  mutable kccfoefijmc : unit;
  mutable kpcmhpobjdg : unit;
  mutable pmhhkoghphd : unit;
  mutable eonpahabipm : unit;
  mutable blkkpofefoe : unit;
  mutable oclinajcnnk : unit;
  mutable didenehjgkl : unit;
  mutable dlfnhmhfhfn : unit;
  mutable baockdmjcof : unit;
  mutable dgohlalpnij : jjdgojacafe option;
  mutable dlpnooadeki : unit;
  mutable nlfdmpbnhgh : unit;
}

let default_afnbfhnonmi_mutable () : afnbfhnonmi_mutable = {
  ocnjbebhbgo = 0l;
  efigohhfcpp = 0l;
  retcode = 0l;
  mjfnbidjnkn = ();
  jklhkhholdi = ();
  ademmhhnhml = ();
  pbjjcmlfeaf = None;
  ebbdfigldjb = ();
  kccfoefijmc = ();
  kpcmhpobjdg = ();
  pmhhkoghphd = ();
  eonpahabipm = ();
  blkkpofefoe = ();
  oclinajcnnk = ();
  didenehjgkl = ();
  dlfnhmhfhfn = ();
  baockdmjcof = ();
  dgohlalpnij = None;
  dlpnooadeki = ();
  nlfdmpbnhgh = ();
}

type flbopemokdm_mutable = {
  mutable paofpgekpfe : int32;
}

let default_flbopemokdm_mutable () : flbopemokdm_mutable = {
  paofpgekpfe = 0l;
}

type pfchkldhojh_mutable = {
  mutable ennhncalcjj : bool;
  mutable bpdfcfjdkbd : int32;
}

let default_pfchkldhojh_mutable () : pfchkldhojh_mutable = {
  ennhncalcjj = false;
  bpdfcfjdkbd = 0l;
}

type cbilelfjaom_mutable = {
  mutable ennhncalcjj : bool;
  mutable ehobobppchc : int32;
}

let default_cbilelfjaom_mutable () : cbilelfjaom_mutable = {
  ennhncalcjj = false;
  ehobobppchc = 0l;
}

type cgolnlcjphm_mutable = {
  mutable jkonpkkialg : int32 list;
  mutable exp : int32;
  mutable level : int32;
  mutable bajeglndfpe : int32;
  mutable cpkmmhenjof : int32 list;
  mutable nncdpbdokbj : int32;
}

let default_cgolnlcjphm_mutable () : cgolnlcjphm_mutable = {
  jkonpkkialg = [];
  exp = 0l;
  level = 0l;
  bajeglndfpe = 0l;
  cpkmmhenjof = [];
  nncdpbdokbj = 0l;
}

type dpfccobpjpo_mutable = {
  mutable pcpkkbfpbeb : pfchkldhojh list;
  mutable buff_list : flbopemokdm list;
  mutable ihneplfgmdc : cgolnlcjphm list;
  mutable llhoijjnhbc : cbilelfjaom list;
}

let default_dpfccobpjpo_mutable () : dpfccobpjpo_mutable = {
  pcpkkbfpbeb = [];
  buff_list = [];
  ihneplfgmdc = [];
  llhoijjnhbc = [];
}

type get_rogue_handbook_data_sc_rsp_mutable = {
  mutable retcode : int32;
  mutable handbook_info : dpfccobpjpo option;
}

let default_get_rogue_handbook_data_sc_rsp_mutable () : get_rogue_handbook_data_sc_rsp_mutable = {
  retcode = 0l;
  handbook_info = None;
}

type mkkhlondele_mutable = {
  mutable gopjpjhhpdl : flbopemokdm list;
  mutable kcidphehmgh : pfchkldhojh list;
  mutable kjcjmogejck : cbilelfjaom list;
}

let default_mkkhlondele_mutable () : mkkhlondele_mutable = {
  gopjpjhhpdl = [];
  kcidphehmgh = [];
  kjcjmogejck = [];
}

type kfifjffgkja_mutable = {
  mutable cfaellfidkf : int32 list;
}

let default_kfifjffgkja_mutable () : kfifjffgkja_mutable = {
  cfaellfidkf = [];
}

type lleckakggaa_mutable = {
  mutable reward : item_list option;
  mutable hkpdigncbac : int32 list;
  mutable retcode : int32;
}

let default_lleckakggaa_mutable () : lleckakggaa_mutable = {
  reward = None;
  hkpdigncbac = [];
  retcode = 0l;
}

type kdnoklalckb_mutable = {
  mutable nnijgeiepnp : int32 list;
}

let default_kdnoklalckb_mutable () : kdnoklalckb_mutable = {
  nnijgeiepnp = [];
}

type khbgcebnmch_mutable = {
  mutable retcode : int32;
  mutable reward : item_list option;
  mutable nacknnppfog : int32 list;
}

let default_khbgcebnmch_mutable () : khbgcebnmch_mutable = {
  retcode = 0l;
  reward = None;
  nacknnppfog = [];
}

type aepjfkbjmpm_mutable = {
  mutable aeheogaoenf : int32;
  mutable hifokbodgbe : cbgphimaond list;
  mutable dgfahpgkgmf : int32;
  mutable fhpollcfknc : int32;
  mutable ljlinldbbob : int32;
}

let default_aepjfkbjmpm_mutable () : aepjfkbjmpm_mutable = {
  aeheogaoenf = 0l;
  hifokbodgbe = [];
  dgfahpgkgmf = 0l;
  fhpollcfknc = 0l;
  ljlinldbbob = 0l;
}

type ihcikgmbhlg_mutable = {
  mutable hmpniejbcbk : int32;
  mutable lhlaejpmpjj : int32;
}

let default_ihcikgmbhlg_mutable () : ihcikgmbhlg_mutable = {
  hmpniejbcbk = 0l;
  lhlaejpmpjj = 0l;
}

type papkfcpnkoe_mutable = {
  mutable iajfipnhdec : ihcikgmbhlg list;
}

let default_papkfcpnkoe_mutable () : papkfcpnkoe_mutable = {
  iajfipnhdec = [];
}

type kmlckpdeahn_mutable = {
  mutable ohilclmamkk : int32;
  mutable einnfebcmlj : int32;
  mutable cfejldhielm : int32;
}

let default_kmlckpdeahn_mutable () : kmlckpdeahn_mutable = {
  ohilclmamkk = 0l;
  einnfebcmlj = 0l;
  cfejldhielm = 0l;
}

type mmkjpfjceck_mutable = {
  mutable ellpcknbemn : oodgnonfgkc list;
}

let default_mmkjpfjceck_mutable () : mmkjpfjceck_mutable = {
  ellpcknbemn = [];
}

type fgebaafiedj_mutable = {
  mutable bdaldfbhcjl : mmkjpfjceck option;
  mutable deafkpjjgab : kmlckpdeahn option;
}

let default_fgebaafiedj_mutable () : fgebaafiedj_mutable = {
  bdaldfbhcjl = None;
  deafkpjjgab = None;
}

type jmdcaknnaad_mutable = {
  mutable cmddpkpeoli : int32;
  mutable retcode : int32;
  mutable fecdamigijp : fgebaafiedj option;
}

let default_jmdcaknnaad_mutable () : jmdcaknnaad_mutable = {
  cmddpkpeoli = 0l;
  retcode = 0l;
  fecdamigijp = None;
}

type hhjmihldoeh_mutable = {
  mutable deafkpjjgab : kmlckpdeahn option;
  mutable bdaldfbhcjl : mmkjpfjceck option;
}

let default_hhjmihldoeh_mutable () : hhjmihldoeh_mutable = {
  deafkpjjgab = None;
  bdaldfbhcjl = None;
}

type hhoonanlchd_mutable = {
  mutable ebffkdhgkgl : int32;
  mutable hgfnojflbcl : int32;
}

let default_hhoonanlchd_mutable () : hhoonanlchd_mutable = {
  ebffkdhgkgl = 0l;
  hgfnojflbcl = 0l;
}

type jhfnbcaknap_mutable = {
  mutable hgpelgifadf : int32;
}

let default_jhfnbcaknap_mutable () : jhfnbcaknap_mutable = {
  hgpelgifadf = 0l;
}

type agicbcnpmbf_mutable = {
  mutable hgpelgifadf : int32;
}

let default_agicbcnpmbf_mutable () : agicbcnpmbf_mutable = {
  hgpelgifadf = 0l;
}

type lmfccgildoh_mutable = {
  mutable bgecmdbfigi : int32;
}

let default_lmfccgildoh_mutable () : lmfccgildoh_mutable = {
  bgecmdbfigi = 0l;
}

type pbalhihkole_mutable = {
  mutable kamplnhefpi : hhoonanlchd option;
  mutable knhahdliapf : jhfnbcaknap option;
  mutable aolafephjfe : agicbcnpmbf option;
  mutable cjfhhfcgdda : lmfccgildoh option;
}

let default_pbalhihkole_mutable () : pbalhihkole_mutable = {
  kamplnhefpi = None;
  knhahdliapf = None;
  aolafephjfe = None;
  cjfhhfcgdda = None;
}

type cdgbdhbjbaf_mutable = {
  mutable aeggdogmiea : float;
  mutable dkaehkamkfi : int32;
}

let default_cdgbdhbjbaf_mutable () : cdgbdhbjbaf_mutable = {
  aeggdogmiea = 0.;
  dkaehkamkfi = 0l;
}

type chbifnppnke_mutable = {
  mutable ghhnoefibke : int32;
}

let default_chbifnppnke_mutable () : chbifnppnke_mutable = {
  ghhnoefibke = 0l;
}

type ilnklkjeikf_mutable = {
  mutable apmgjmappjl : int32;
}

let default_ilnklkjeikf_mutable () : ilnklkjeikf_mutable = {
  apmgjmappjl = 0l;
}

type embkjecncmm_mutable = {
  mutable ikfkmimaeon : chbifnppnke option;
  mutable njfnjkjpnap : ilnklkjeikf option;
}

let default_embkjecncmm_mutable () : embkjecncmm_mutable = {
  ikfkmimaeon = None;
  njfnjkjpnap = None;
}

type kmppenfheel_mutable = {
  mutable ipfkcfhigmk : embkjecncmm list;
  mutable iihookopmmk : cdgbdhbjbaf option;
  mutable hfadhgefiea : int32;
  mutable ojkjbeilgdc : int32;
  mutable jhojoicfldl : bool;
  mutable mecjmchknde : bool;
}

let default_kmppenfheel_mutable () : kmppenfheel_mutable = {
  ipfkcfhigmk = [];
  iihookopmmk = None;
  hfadhgefiea = 0l;
  ojkjbeilgdc = 0l;
  jhojoicfldl = false;
  mecjmchknde = false;
}

type hdmoboniihl_mutable = {
  mutable oeoffmaepgl : pbalhihkole option;
  mutable jnboodjdmho : int32;
  mutable ejjmffbhbgk : kmppenfheel list;
}

let default_hdmoboniihl_mutable () : hdmoboniihl_mutable = {
  oeoffmaepgl = None;
  jnboodjdmho = 0l;
  ejjmffbhbgk = [];
}

type jcmbmhjjdal_mutable = {
  mutable retcode : int32;
  mutable mjomgfdpmnj : hdmoboniihl list;
}

let default_jcmbmhjjdal_mutable () : jcmbmhjjdal_mutable = {
  retcode = 0l;
  mjomgfdpmnj = [];
}

type pgaeehgmbhd_mutable = {
  mutable jnboodjdmho : int32;
  mutable ojkjbeilgdc : int32;
}

let default_pgaeehgmbhd_mutable () : pgaeehgmbhd_mutable = {
  jnboodjdmho = 0l;
  ojkjbeilgdc = 0l;
}

type eakdfjkkkac_mutable = {
  mutable ecohlncenkk : bool;
  mutable jnboodjdmho : int32;
  mutable ojkjbeilgdc : int32;
  mutable retcode : int32;
  mutable fbcfkkknldf : int32 list;
  mutable oplnemnkmhf : hdmoboniihl option;
}

let default_eakdfjkkkac_mutable () : eakdfjkkkac_mutable = {
  ecohlncenkk = false;
  jnboodjdmho = 0l;
  ojkjbeilgdc = 0l;
  retcode = 0l;
  fbcfkkknldf = [];
  oplnemnkmhf = None;
}

type lmfiimlalfm_mutable = {
  mutable jnboodjdmho : int32;
}

let default_lmfiimlalfm_mutable () : lmfiimlalfm_mutable = {
  jnboodjdmho = 0l;
}

type cjhfohgjked_mutable = {
  mutable retcode : int32;
  mutable jnboodjdmho : int32;
}

let default_cjhfohgjked_mutable () : cjhfohgjked_mutable = {
  retcode = 0l;
  jnboodjdmho = 0l;
}

type iglcopligcj_mutable = {
  mutable mjomgfdpmnj : hdmoboniihl list;
}

let default_iglcopligcj_mutable () : iglcopligcj_mutable = {
  mjomgfdpmnj = [];
}

type hoadcaanbha_mutable = {
  mutable oplnemnkmhf : hdmoboniihl option;
  mutable bjfgfbjlffg : kmppenfheel option;
  mutable ojkjbeilgdc : int32;
  mutable jnboodjdmho : int32;
}

let default_hoadcaanbha_mutable () : hoadcaanbha_mutable = {
  oplnemnkmhf = None;
  bjfgfbjlffg = None;
  ojkjbeilgdc = 0l;
  jnboodjdmho = 0l;
}

type domkmpnnebe_mutable = {
  mutable mnhgojliepj : cbgphimaond option;
  mutable ljlinldbbob : int32;
  mutable dgfahpgkgmf : int32;
  mutable fhpollcfknc : int32;
}

let default_domkmpnnebe_mutable () : domkmpnnebe_mutable = {
  mnhgojliepj = None;
  ljlinldbbob = 0l;
  dgfahpgkgmf = 0l;
  fhpollcfknc = 0l;
}

type hodkonakgab_mutable = {
  mutable kigccmchfaa : int32;
  mutable prop_entity_id : int32;
}

let default_hodkonakgab_mutable () : hodkonakgab_mutable = {
  kigccmchfaa = 0l;
  prop_entity_id = 0l;
}

type onlamhijjda_mutable = {
  mutable jjbohkkebeg : int32;
  mutable akemgnajflc : bool;
  mutable fmifpcfleij : int32;
  mutable mhpkpajbnjm : int32;
  mutable lohpklihemj : item_cost_data option;
}

let default_onlamhijjda_mutable () : onlamhijjda_mutable = {
  jjbohkkebeg = 0l;
  akemgnajflc = false;
  fmifpcfleij = 0l;
  mhpkpajbnjm = 0l;
  lohpklihemj = None;
}

type cnbcehippjg_mutable = {
  mutable lohpklihemj : item_cost_data option;
  mutable akemgnajflc : bool;
  mutable mhpkpajbnjm : int32;
  mutable fmifpcfleij : int32;
  mutable jjbohkkebeg : int32;
}

let default_cnbcehippjg_mutable () : cnbcehippjg_mutable = {
  lohpklihemj = None;
  akemgnajflc = false;
  mhpkpajbnjm = 0l;
  fmifpcfleij = 0l;
  jjbohkkebeg = 0l;
}

type fngfihkckfj_mutable = {
  mutable eolhlhcahff : int32;
  mutable pplafiiclpl : (int32 * int32) list;
  mutable hkohlnhlgnb : int32;
}

let default_fngfihkckfj_mutable () : fngfihkckfj_mutable = {
  eolhlhcahff = 0l;
  pplafiiclpl = [];
  hkohlnhlgnb = 0l;
}

type ffhkhemgonh_mutable = {
  mutable lohpklihemj : item_cost_data option;
  mutable gmblbaboegm : (int32 * bool) list;
  mutable jjbohkkebeg : int32;
  mutable mhpkpajbnjm : int32;
}

let default_ffhkhemgonh_mutable () : ffhkhemgonh_mutable = {
  lohpklihemj = None;
  gmblbaboegm = [];
  jjbohkkebeg = 0l;
  mhpkpajbnjm = 0l;
}

type bolhppnehna_mutable = {
  mutable lohpklihemj : item_cost_data option;
  mutable mhpkpajbnjm : int32;
  mutable jjbohkkebeg : int32;
}

let default_bolhppnehna_mutable () : bolhppnehna_mutable = {
  lohpklihemj = None;
  mhpkpajbnjm = 0l;
  jjbohkkebeg = 0l;
}

type mkmfeohmhdl_mutable = {
  mutable ehfmcpnpcmp : onlamhijjda option;
  mutable mcobeibhgia : cnbcehippjg option;
  mutable apjgepbpong : fngfihkckfj option;
  mutable nbfmehkdagj : ffhkhemgonh option;
  mutable ckfggjhfhdb : bolhppnehna option;
}

let default_mkmfeohmhdl_mutable () : mkmfeohmhdl_mutable = {
  ehfmcpnpcmp = None;
  mcobeibhgia = None;
  apjgepbpong = None;
  nbfmehkdagj = None;
  ckfggjhfhdb = None;
}

type dfchmojmkbp_mutable = {
  mutable kigccmchfaa : int32;
  mutable bajihciaend : mkmfeohmhdl option;
  mutable retcode : int32;
}

let default_dfchmojmkbp_mutable () : dfchmojmkbp_mutable = {
  kigccmchfaa = 0l;
  bajihciaend = None;
  retcode = 0l;
}

type epjilmmpkom_mutable = {
  mutable prop_entity_id : int32;
}

let default_epjilmmpkom_mutable () : epjilmmpkom_mutable = {
  prop_entity_id = 0l;
}

type kcnojeijhmd_mutable = {
  mutable lbnndcbnika : (int32 * mkmfeohmhdl) list;
  mutable retcode : int32;
}

let default_kcnojeijhmd_mutable () : kcnojeijhmd_mutable = {
  lbnndcbnika = [];
  retcode = 0l;
}

type mjhcocmpagc_mutable = {
  mutable mcikcapjmdh : int32;
}

let default_mjhcocmpagc_mutable () : mjhcocmpagc_mutable = {
  mcikcapjmdh = 0l;
}

type clcicidmhke_mutable = {
  mutable bpghijegann : int32;
}

let default_clcicidmhke_mutable () : clcicidmhke_mutable = {
  bpghijegann = 0l;
}

type jfcmkbokfof_mutable = {
  mutable nmkjbofhjhb : int32;
}

let default_jfcmkbokfof_mutable () : jfcmkbokfof_mutable = {
  nmkjbofhjhb = 0l;
}

type ffloeagfoia_mutable = {
  mutable aadjgaaabib : int32 list;
}

let default_ffloeagfoia_mutable () : ffloeagfoia_mutable = {
  aadjgaaabib = [];
}

type gpianncldcp_mutable = {
  mutable jjlcgdiofhh : int32;
}

let default_gpianncldcp_mutable () : gpianncldcp_mutable = {
  jjlcgdiofhh = 0l;
}

type ejjgfpamkcg_mutable = {
  mutable ehfmcpnpcmp : mjhcocmpagc option;
  mutable mcobeibhgia : clcicidmhke option;
  mutable apjgepbpong : jfcmkbokfof option;
  mutable nbfmehkdagj : ffloeagfoia option;
  mutable ckfggjhfhdb : gpianncldcp option;
}

let default_ejjgfpamkcg_mutable () : ejjgfpamkcg_mutable = {
  ehfmcpnpcmp = None;
  mcobeibhgia = None;
  apjgepbpong = None;
  nbfmehkdagj = None;
  ckfggjhfhdb = None;
}

type naojdlokppg_mutable = {
  mutable kigccmchfaa : int32;
  mutable prop_entity_id : int32;
  mutable kdnioegmffl : ejjgfpamkcg option;
}

let default_naojdlokppg_mutable () : naojdlokppg_mutable = {
  kigccmchfaa = 0l;
  prop_entity_id = 0l;
  kdnioegmffl = None;
}

type adojimghpml_mutable = {
  mutable bajihciaend : mkmfeohmhdl option;
  mutable kigccmchfaa : int32;
  mutable retcode : int32;
}

let default_adojimghpml_mutable () : adojimghpml_mutable = {
  bajihciaend = None;
  kigccmchfaa = 0l;
  retcode = 0l;
}

type aaacgamfppc_mutable = {
  mutable status : eeaceekbbik;
  mutable nklnaippaoc : int32;
}

let default_aaacgamfppc_mutable () : aaacgamfppc_mutable = {
  status = default_eeaceekbbik ();
  nklnaippaoc = 0l;
}

type aojielnnmfc_mutable = {
  mutable nklnaippaoc : int32;
  mutable nfhmflfhndi : int32;
  mutable status : bpibjehipof;
}

let default_aojielnnmfc_mutable () : aojielnnmfc_mutable = {
  nklnaippaoc = 0l;
  nfhmflfhndi = 0l;
  status = default_bpibjehipof ();
}

type gnccfafgcol_mutable = {
  mutable retcode : int32;
  mutable keadbmibeoa : aaacgamfppc list;
  mutable jkcaikhimpk : aojielnnmfc list;
}

let default_gnccfafgcol_mutable () : gnccfafgcol_mutable = {
  retcode = 0l;
  keadbmibeoa = [];
  jkcaikhimpk = [];
}

type fgeaamlhlac_mutable = {
  mutable fepikjehgke : kogippjmdkb list;
  mutable ohhfpegpijl : int32 list;
  mutable jgadebiegfg : int32 list;
}

let default_fgeaamlhlac_mutable () : fgeaamlhlac_mutable = {
  fepikjehgke = [];
  ohhfpegpijl = [];
  jgadebiegfg = [];
}

type iinoobifcjo_mutable = {
  mutable retcode : int32;
  mutable jkcaikhimpk : aojielnnmfc list;
  mutable keadbmibeoa : aaacgamfppc list;
}

let default_iinoobifcjo_mutable () : iinoobifcjo_mutable = {
  retcode = 0l;
  jkcaikhimpk = [];
  keadbmibeoa = [];
}

type pladdmnljcl_mutable = {
  mutable jhkfhacondf : int32;
  mutable status : odijleidcnd;
}

let default_pladdmnljcl_mutable () : pladdmnljcl_mutable = {
  jhkfhacondf = 0l;
  status = default_odijleidcnd ();
}

type lblameimomf_mutable = {
  mutable jhkfhacondf : int32;
  mutable nfhmflfhndi : int32;
  mutable status : bpibjehipof;
}

let default_lblameimomf_mutable () : lblameimomf_mutable = {
  jhkfhacondf = 0l;
  nfhmflfhndi = 0l;
  status = default_bpibjehipof ();
}

type icdcbngicka_mutable = {
  mutable pkkaednpjma : pladdmnljcl list;
  mutable bogghhbkjbd : lblameimomf list;
  mutable retcode : int32;
}

let default_icdcbngicka_mutable () : icdcbngicka_mutable = {
  pkkaednpjma = [];
  bogghhbkjbd = [];
  retcode = 0l;
}

type ioibkofbebj_mutable = {
  mutable gbelbjgfeen : int32 list;
  mutable bhcemcfcjca : int32 list;
  mutable ioldfakjoep : kogippjmdkb list;
}

let default_ioibkofbebj_mutable () : ioibkofbebj_mutable = {
  gbelbjgfeen = [];
  bhcemcfcjca = [];
  ioldfakjoep = [];
}

type hcgejlljkpj_mutable = {
  mutable retcode : int32;
  mutable pkkaednpjma : pladdmnljcl list;
  mutable bogghhbkjbd : lblameimomf list;
}

let default_hcgejlljkpj_mutable () : hcgejlljkpj_mutable = {
  retcode = 0l;
  pkkaednpjma = [];
  bogghhbkjbd = [];
}

type padjpmdajhc_mutable = {
  mutable prop_entity_id : int32;
}

let default_padjpmdajhc_mutable () : padjpmdajhc_mutable = {
  prop_entity_id = 0l;
}

type odcpjphbfme_mutable = {
  mutable retcode : int32;
  mutable lkfmgoglgch : jhjloaofhnk option;
}

let default_odcpjphbfme_mutable () : odcpjphbfme_mutable = {
  retcode = 0l;
  lkfmgoglgch = None;
}

type agjmneegkdb_mutable = {
  mutable prop_entity_id : int32;
}

let default_agjmneegkdb_mutable () : agjmneegkdb_mutable = {
  prop_entity_id = 0l;
}

type obolbkcklhc_mutable = {
  mutable bekhfcgelap : int32;
  mutable gdpfmoegbki : int32;
  mutable retcode : int32;
  mutable lkfmgoglgch : jhjloaofhnk option;
}

let default_obolbkcklhc_mutable () : obolbkcklhc_mutable = {
  bekhfcgelap = 0l;
  gdpfmoegbki = 0l;
  retcode = 0l;
  lkfmgoglgch = None;
}

type lmmkpeajfka_mutable = {
  mutable okhflbihfhm : int32 list;
  mutable base_avatar_id_list : int32 list;
  mutable gkfjbgdelik : hpphifdfjjj option;
  mutable bgjihjmjbdk : int32;
  mutable ediopngagap : int32;
  mutable fanjaobchcg : eijagapkfad option;
  mutable status : ofhnfenfeai;
  mutable daldfnlnnbo : int32;
  mutable lnjapmhfcck : int32;
}

let default_lmmkpeajfka_mutable () : lmmkpeajfka_mutable = {
  okhflbihfhm = [];
  base_avatar_id_list = [];
  gkfjbgdelik = None;
  bgjihjmjbdk = 0l;
  ediopngagap = 0l;
  fanjaobchcg = None;
  status = default_ofhnfenfeai ();
  daldfnlnnbo = 0l;
  lnjapmhfcck = 0l;
}

type cfeeacjgeec_mutable = {
  mutable moidpjnooeb : int32;
  mutable battle_id : int32;
  mutable mibmejkddhe : int32;
  mutable fblfmeldjgl : int32;
  mutable nkangcfcbfk : int32;
  mutable djocbcjomac : int32;
  mutable chmbglidkmm : bool;
  mutable phpkjaipcmg : int32;
}

let default_cfeeacjgeec_mutable () : cfeeacjgeec_mutable = {
  moidpjnooeb = 0l;
  battle_id = 0l;
  mibmejkddhe = 0l;
  fblfmeldjgl = 0l;
  nkangcfcbfk = 0l;
  djocbcjomac = 0l;
  chmbglidkmm = false;
  phpkjaipcmg = 0l;
}

type nggfgepnifo_mutable = {
  mutable appflheobmi : cfeeacjgeec option;
  mutable ggdaffjnmpa : int32;
  mutable fjlnncjahng : int32;
  mutable minogichkgm : lmmkpeajfka option;
}

let default_nggfgepnifo_mutable () : nggfgepnifo_mutable = {
  appflheobmi = None;
  ggdaffjnmpa = 0l;
  fjlnncjahng = 0l;
  minogichkgm = None;
}

type kcajjjlejgm_mutable = {
  mutable ihkmfjnfjlk : int32 list;
  mutable retcode : int32;
  mutable pokaoienhda : int32;
  mutable data : nggfgepnifo list;
  mutable hehigejeimi : int32;
}

let default_kcajjjlejgm_mutable () : kcajjjlejgm_mutable = {
  ihkmfjnfjlk = [];
  retcode = 0l;
  pokaoienhda = 0l;
  data = [];
  hehigejeimi = 0l;
}

type jkbbigojajj_mutable = {
  mutable avatar_id : int32;
  mutable avatar_type : avatar_type;
}

let default_jkbbigojajj_mutable () : jkbbigojajj_mutable = {
  avatar_id = 0l;
  avatar_type = default_avatar_type ();
}

type kgamnkklmcm_mutable = {
  mutable anllhlcoape : int32;
  mutable avatar_list : jkbbigojajj list;
}

let default_kgamnkklmcm_mutable () : kgamnkklmcm_mutable = {
  anllhlcoape = 0l;
  avatar_list = [];
}

type eifpojnakgh_mutable = {
  mutable retcode : int32;
  mutable appflheobmi : cfeeacjgeec option;
  mutable ibllilenejp : scene_battle_info option;
}

let default_eifpojnakgh_mutable () : eifpojnakgh_mutable = {
  retcode = 0l;
  appflheobmi = None;
  ibllilenejp = None;
}

type ddncjhjjabn_mutable = {
  mutable appflheobmi : cfeeacjgeec option;
}

let default_ddncjhjjabn_mutable () : ddncjhjjabn_mutable = {
  appflheobmi = None;
}

type ffcaeknjnap_mutable = {
  mutable mhegpegfggg : bool;
  mutable level : int32;
}

let default_ffcaeknjnap_mutable () : ffcaeknjnap_mutable = {
  mhegpegfggg = false;
  level = 0l;
}

type hhgioelfegm_mutable = {
  mutable reward : item_list option;
  mutable mhegpegfggg : bool;
  mutable hehigejeimi : int32;
  mutable level : int32;
  mutable ihkmfjnfjlk : int32 list;
  mutable retcode : int32;
}

let default_hhgioelfegm_mutable () : hhgioelfegm_mutable = {
  reward = None;
  mhegpegfggg = false;
  hehigejeimi = 0l;
  level = 0l;
  ihkmfjnfjlk = [];
  retcode = 0l;
}

type ofhcflkjmeh_mutable = {
  mutable ihkmfjnfjlk : int32 list;
  mutable retcode : int32;
  mutable reward : item_list option;
  mutable hehigejeimi : int32;
}

let default_ofhcflkjmeh_mutable () : ofhcflkjmeh_mutable = {
  ihkmfjnfjlk = [];
  retcode = 0l;
  reward = None;
  hehigejeimi = 0l;
}

type njkmbnhkmij_mutable = {
  mutable adnplkibhog : int32;
  mutable mecjmchknde : bool;
  mutable babfnhiakog : int32;
}

let default_njkmbnhkmij_mutable () : njkmbnhkmij_mutable = {
  adnplkibhog = 0l;
  mecjmchknde = false;
  babfnhiakog = 0l;
}

type indhellplmc_mutable = {
  mutable jnkphngenhh : int32 list;
  mutable mecjmchknde : bool;
  mutable adnplkibhog : int32;
  mutable babfnhiakog : int32;
}

let default_indhellplmc_mutable () : indhellplmc_mutable = {
  jnkphngenhh = [];
  mecjmchknde = false;
  adnplkibhog = 0l;
  babfnhiakog = 0l;
}

type cjechcdmobb_mutable = {
  mutable adnplkibhog : int32;
  mutable mecjmchknde : bool;
  mutable jnkphngenhh : int32 list;
}

let default_cjechcdmobb_mutable () : cjechcdmobb_mutable = {
  adnplkibhog = 0l;
  mecjmchknde = false;
  jnkphngenhh = [];
}

type hnklhfgnidh_mutable = {
  mutable adnplkibhog : int32;
  mutable mecjmchknde : bool;
  mutable jlgjdbmhnan : int32;
  mutable ciagcobkhbd : int32 list;
}

let default_hnklhfgnidh_mutable () : hnklhfgnidh_mutable = {
  adnplkibhog = 0l;
  mecjmchknde = false;
  jlgjdbmhnan = 0l;
  ciagcobkhbd = [];
}

type gennbfeoeln_mutable = {
  mutable kccleanfoef : int32;
}

let default_gennbfeoeln_mutable () : gennbfeoeln_mutable = {
  kccleanfoef = 0l;
}

type fbmijaimnlp_mutable = {
  mutable pkfeeankpmd : int32;
}

let default_fbmijaimnlp_mutable () : fbmijaimnlp_mutable = {
  pkfeeankpmd = 0l;
}

type acpeiiblfeb_mutable = {
  mutable nlefnkfdgkp : int32;
}

let default_acpeiiblfeb_mutable () : acpeiiblfeb_mutable = {
  nlefnkfdgkp = 0l;
}

type bbbegcjnbol_mutable = {
  mutable mecjmchknde : bool;
  mutable adnplkibhog : int32;
  mutable pgnccoldebp : int32;
  mutable ciagcobkhbd : int32 list;
}

let default_bbbegcjnbol_mutable () : bbbegcjnbol_mutable = {
  mecjmchknde = false;
  adnplkibhog = 0l;
  pgnccoldebp = 0l;
  ciagcobkhbd = [];
}

type cjakegljcgo_mutable = {
  mutable eefckhjjdaf : int32;
  mutable pjkppmidpao : int32;
  mutable glppfpcjnlp : int32;
}

let default_cjakegljcgo_mutable () : cjakegljcgo_mutable = {
  eefckhjjdaf = 0l;
  pjkppmidpao = 0l;
  glppfpcjnlp = 0l;
}

type nkdamfkkpgf_mutable = {
  mutable paofpgekpfe : int32;
}

let default_nkdamfkkpgf_mutable () : nkdamfkkpgf_mutable = {
  paofpgekpfe = 0l;
}

type ahfklgbbeno_mutable = {
  mutable hgjolgkaofj : int32;
  mutable olfhccbiidg : int32;
}

let default_ahfklgbbeno_mutable () : ahfklgbbeno_mutable = {
  hgjolgkaofj = 0l;
  olfhccbiidg = 0l;
}

type hbjfkganpni_mutable = {
  mutable kagnbjdmamf : int32;
  mutable bomcmajnimh : int32;
  mutable ekcigpdfkjo : int32;
}

let default_hbjfkganpni_mutable () : hbjfkganpni_mutable = {
  kagnbjdmamf = 0l;
  bomcmajnimh = 0l;
  ekcigpdfkjo = 0l;
}

type mjohphbaijk_mutable = {
  mutable mgnnkboblfg : int32;
  mutable kagnbjdmamf : int32;
}

let default_mjohphbaijk_mutable () : mjohphbaijk_mutable = {
  mgnnkboblfg = 0l;
  kagnbjdmamf = 0l;
}

type dcpoejemiok_mutable = {
  mutable kccleanfoef : int32;
}

let default_dcpoejemiok_mutable () : dcpoejemiok_mutable = {
  kccleanfoef = 0l;
}

type dkgaakknhee_mutable = {
  mutable babfnhiakog : int32;
}

let default_dkgaakknhee_mutable () : dkgaakknhee_mutable = {
  babfnhiakog = 0l;
}

type okeejldbgch_mutable = {
  mutable adnplkibhog : int32;
  mutable mecjmchknde : bool;
  mutable jnkphngenhh : int32 list;
}

let default_okeejldbgch_mutable () : okeejldbgch_mutable = {
  adnplkibhog = 0l;
  mecjmchknde = false;
  jnkphngenhh = [];
}

type nfbchiimdie_mutable = {
  mutable paofpgekpfe : int32;
  mutable odfipjnpjop : int32;
}

let default_nfbchiimdie_mutable () : nfbchiimdie_mutable = {
  paofpgekpfe = 0l;
  odfipjnpjop = 0l;
}

type linfpficlpo_mutable = {
  mutable kamoblkgpai : int32;
}

let default_linfpficlpo_mutable () : linfpficlpo_mutable = {
  kamoblkgpai = 0l;
}

type afillcepkji_mutable = {
  mutable count : int32;
}

let default_afillcepkji_mutable () : afillcepkji_mutable = {
  count = 0l;
}

type kmdhgnfkcpi_mutable = {
  mutable lmhocgknkpb : gflokgogjgh option;
}

let default_kmdhgnfkcpi_mutable () : kmdhgnfkcpi_mutable = {
  lmhocgknkpb = None;
}

type hejpimnmkkb_mutable = {
  mutable pbonhgdihdk : int32;
}

let default_hejpimnmkkb_mutable () : hejpimnmkkb_mutable = {
  pbonhgdihdk = 0l;
}

type ikakeaekcgp_mutable = {
  mutable pbonhgdihdk : int32;
  mutable retcode : int32;
  mutable ekpahpdniff : item_list option;
}

let default_ikakeaekcgp_mutable () : ikakeaekcgp_mutable = {
  pbonhgdihdk = 0l;
  retcode = 0l;
  ekpahpdniff = None;
}

type adbdeennljd_mutable = {
  mutable lmhocgknkpb : gflokgogjgh option;
}

let default_adbdeennljd_mutable () : adbdeennljd_mutable = {
  lmhocgknkpb = None;
}

type nkeajljehgg_mutable = {
  mutable ddgkfgjdgeb : int64;
}

let default_nkeajljehgg_mutable () : nkeajljehgg_mutable = {
  ddgkfgjdgeb = 0L;
}

type ogilaeigfdi_mutable = {
  mutable cbjpfggchfh : idlkgpjlfhc;
}

let default_ogilaeigfdi_mutable () : ogilaeigfdi_mutable = {
  cbjpfggchfh = default_idlkgpjlfhc ();
}

type fopiophbiph_mutable = {
  mutable pnbpdbgfffd : cioeahefpln option;
  mutable lineup : lineup_info option;
  mutable scene : scene_info option;
}

let default_fopiophbiph_mutable () : fopiophbiph_mutable = {
  pnbpdbgfffd = None;
  lineup = None;
  scene = None;
}

type bhoeapoifhf_mutable = {
  mutable mnppbggndma : int32;
  mutable oocjacfoofn : int32 list;
  mutable ggdaffjnmpa : int32;
  mutable base_avatar_id_list : int32 list;
}

let default_bhoeapoifhf_mutable () : bhoeapoifhf_mutable = {
  mnppbggndma = 0l;
  oocjacfoofn = [];
  ggdaffjnmpa = 0l;
  base_avatar_id_list = [];
}

type jahlejaahnj_mutable = {
  mutable niiingfcpol : hpeecfakjeg option;
  mutable mnppbggndma : int32;
  mutable hiacklcdijn : fopiophbiph option;
  mutable retcode : int32;
}

let default_jahlejaahnj_mutable () : jahlejaahnj_mutable = {
  niiingfcpol = None;
  mnppbggndma = 0l;
  hiacklcdijn = None;
  retcode = 0l;
}

type piclnnfbhgg_mutable = {
  mutable niiingfcpol : hpeecfakjeg option;
  mutable hiacklcdijn : fopiophbiph option;
  mutable retcode : int32;
}

let default_piclnnfbhgg_mutable () : piclnnfbhgg_mutable = {
  niiingfcpol = None;
  hiacklcdijn = None;
  retcode = 0l;
}

type pajenkffpjd_mutable = {
  mutable hiacklcdijn : fopiophbiph option;
  mutable retcode : int32;
}

let default_pajenkffpjd_mutable () : pajenkffpjd_mutable = {
  hiacklcdijn = None;
  retcode = 0l;
}

type mmigimbighd_mutable = {
  mutable pdbobmjedbc : bninelnejfi option;
  mutable retcode : int32;
  mutable hiacklcdijn : fopiophbiph option;
}

let default_mmigimbighd_mutable () : mmigimbighd_mutable = {
  pdbobmjedbc = None;
  retcode = 0l;
  hiacklcdijn = None;
}

type bjjmdnhejkj_mutable = {
  mutable kemnjbikaod : int32;
  mutable bookldicfae : int32;
}

let default_bjjmdnhejkj_mutable () : bjjmdnhejkj_mutable = {
  kemnjbikaod = 0l;
  bookldicfae = 0l;
}

type pkgkoiljmod_mutable = {
  mutable retcode : int32;
  mutable hiacklcdijn : fopiophbiph option;
}

let default_pkgkoiljmod_mutable () : pkgkoiljmod_mutable = {
  retcode = 0l;
  hiacklcdijn = None;
}

type bbfpjokigjo_mutable = {
  mutable bookldicfae : int32;
  mutable chmmbcgmfho : int32;
}

let default_bbfpjokigjo_mutable () : bbfpjokigjo_mutable = {
  bookldicfae = 0l;
  chmmbcgmfho = 0l;
}

type bnjigcnepgg_mutable = {
  mutable retcode : int32;
  mutable hiacklcdijn : fopiophbiph option;
}

let default_bnjigcnepgg_mutable () : bnjigcnepgg_mutable = {
  retcode = 0l;
  hiacklcdijn = None;
}

type ebgegjpdclg_mutable = {
  mutable chmmbcgmfho : int32;
  mutable status : dmgmpocpddc;
  mutable fogjohmngpc : gadcmbokpdi list;
  mutable mgdnainpahe : meahibhbfon;
}

let default_ebgegjpdclg_mutable () : ebgegjpdclg_mutable = {
  chmmbcgmfho = 0l;
  status = default_dmgmpocpddc ();
  fogjohmngpc = [];
  mgdnainpahe = default_meahibhbfon ();
}

type hfbgpdklehf_mutable = {
  mutable jjoibnmplan : int32 list;
  mutable olpnhmcbmbg : int32;
}

let default_hfbgpdklehf_mutable () : hfbgpdklehf_mutable = {
  jjoibnmplan = [];
  olpnhmcbmbg = 0l;
}

type bkbaamlloid_mutable = {
  mutable exp : int32;
  mutable reward : item_list option;
  mutable opjkekdmnif : int32 list;
  mutable retcode : int32;
}

let default_bkbaamlloid_mutable () : bkbaamlloid_mutable = {
  exp = 0l;
  reward = None;
  opjkekdmnif = [];
  retcode = 0l;
}

type ofeopdagmld_mutable = {
  mutable exp : int32;
}

let default_ofeopdagmld_mutable () : ofeopdagmld_mutable = {
  exp = 0l;
}

type bkgcabadlgh_mutable = {
  mutable ggdaffjnmpa : int32;
  mutable pgonhkcjnme : int32 list;
  mutable lijjmafkdnn : bool;
  mutable dnmhgkbcinm : bool;
  mutable mkideamcloh : bool;
}

let default_bkgcabadlgh_mutable () : bkgcabadlgh_mutable = {
  ggdaffjnmpa = 0l;
  pgonhkcjnme = [];
  lijjmafkdnn = false;
  dnmhgkbcinm = false;
  mkideamcloh = false;
}

type iehdlmeodcb_mutable = {
  mutable end_time : int64;
  mutable deiejhjkjgb : bool;
  mutable fibjjgfhakl : int32;
  mutable mnppbggndma : int32;
}

let default_iehdlmeodcb_mutable () : iehdlmeodcb_mutable = {
  end_time = 0L;
  deiejhjkjgb = false;
  fibjjgfhakl = 0l;
  mnppbggndma = 0l;
}

type alanojoldck_mutable = {
  mutable exp : int32;
  mutable opjkekdmnif : int32 list;
}

let default_alanojoldck_mutable () : alanojoldck_mutable = {
  exp = 0l;
  opjkekdmnif = [];
}

type gbnockoacmj_mutable = {
  mutable bbanknacajb : lljpmigaffg option;
  mutable bcdcpfglloa : int32;
}

let default_gbnockoacmj_mutable () : gbnockoacmj_mutable = {
  bbanknacajb = None;
  bcdcpfglloa = 0l;
}

type imhjlecpgmf_mutable = {
  mutable ikfhibhbodi : int32;
  mutable dnmhgkbcinm : bool;
}

let default_imhjlecpgmf_mutable () : imhjlecpgmf_mutable = {
  ikfhibhbodi = 0l;
  dnmhgkbcinm = false;
}

type ibpjgdimgdh_mutable = {
  mutable olpnhmcbmbg : int32;
  mutable benepmhmkki : int32;
}

let default_ibpjgdimgdh_mutable () : ibpjgdimgdh_mutable = {
  olpnhmcbmbg = 0l;
  benepmhmkki = 0l;
}

type obekcikjcnd_mutable = {
  mutable nnijgeiepnp : int32 list;
  mutable lfongcdalle : int32;
  mutable hmcpmadehgc : int32 list;
  mutable majcffpcdeg : int32 list;
  mutable jgajllhobmi : int32 list;
  mutable pkcflbcbemf : int32 list;
}

let default_obekcikjcnd_mutable () : obekcikjcnd_mutable = {
  nnijgeiepnp = [];
  lfongcdalle = 0l;
  hmcpmadehgc = [];
  majcffpcdeg = [];
  jgajllhobmi = [];
  pkcflbcbemf = [];
}

type ibbhfnhbhin_mutable = {
  mutable buff_list : mnicidbdjfi list;
  mutable dbgaojmndmc : int32;
  mutable pcpkkbfpbeb : djpaibjmmoe list;
}

let default_ibbhfnhbhin_mutable () : ibbhfnhbhin_mutable = {
  buff_list = [];
  dbgaojmndmc = 0l;
  pcpkkbfpbeb = [];
}

type ibgjfmdlgfg_mutable = {
  mutable data : ibbhfnhbhin option;
  mutable name : string;
  mutable njokhdgdfcm : ibpjgdimgdh option;
  mutable end_time : int64;
  mutable afefamkndoo : int32;
  mutable time : int64;
  mutable niiingfcpol : hpeecfakjeg option;
}

let default_ibgjfmdlgfg_mutable () : ibgjfmdlgfg_mutable = {
  data = None;
  name = "";
  njokhdgdfcm = None;
  end_time = 0L;
  afefamkndoo = 0l;
  time = 0L;
  niiingfcpol = None;
}

type omaobpkepbk_mutable = {
  mutable mpjcpjidjno : ibgjfmdlgfg list;
  mutable njokhdgdfcm : ibpjgdimgdh option;
  mutable cmmbjnhniak : gbnockoacmj option;
  mutable mdnhpflhbbi : bkgcabadlgh list;
  mutable fbaabhmhhmf : imhjlecpgmf list;
  mutable eoabdpajekd : alanojoldck option;
  mutable mgancbncadd : obekcikjcnd option;
  mutable eidlebddhfm : iehdlmeodcb option;
}

let default_omaobpkepbk_mutable () : omaobpkepbk_mutable = {
  mpjcpjidjno = [];
  njokhdgdfcm = None;
  cmmbjnhniak = None;
  mdnhpflhbbi = [];
  fbaabhmhhmf = [];
  eoabdpajekd = None;
  mgancbncadd = None;
  eidlebddhfm = None;
}

type pmcafkblcek_mutable = {
  mutable fecdamigijp : omaobpkepbk option;
  mutable niiingfcpol : hpeecfakjeg option;
  mutable retcode : int32;
}

let default_pmcafkblcek_mutable () : pmcafkblcek_mutable = {
  fecdamigijp = None;
  niiingfcpol = None;
  retcode = 0l;
}

type ighcanmlfpk_mutable = {
  mutable mdnhpflhbbi : bkgcabadlgh list;
}

let default_ighcanmlfpk_mutable () : ighcanmlfpk_mutable = {
  mdnhpflhbbi = [];
}

type hfddpfdnbob_mutable = {
  mutable jjfmndbpgkf : ibgjfmdlgfg list;
  mutable retcode : int32;
}

let default_hfddpfdnbob_mutable () : hfddpfdnbob_mutable = {
  jjfmndbpgkf = [];
  retcode = 0l;
}

type falpomddcnm_mutable = {
  mutable afefamkndoo : int32;
}

let default_falpomddcnm_mutable () : falpomddcnm_mutable = {
  afefamkndoo = 0l;
}

type ehlnpdcbmkg_mutable = {
  mutable retcode : int32;
  mutable afefamkndoo : int32;
}

let default_ehlnpdcbmkg_mutable () : ehlnpdcbmkg_mutable = {
  retcode = 0l;
  afefamkndoo = 0l;
}

type khgalbohlmd_mutable = {
  mutable name : string;
  mutable afefamkndoo : int32;
}

let default_khgalbohlmd_mutable () : khgalbohlmd_mutable = {
  name = "";
  afefamkndoo = 0l;
}

type mnejjjainkj_mutable = {
  mutable name : string;
  mutable afefamkndoo : int32;
  mutable retcode : int32;
}

let default_mnejjjainkj_mutable () : mnejjjainkj_mutable = {
  name = "";
  afefamkndoo = 0l;
  retcode = 0l;
}

type opgfcfjckld_mutable = {
  mutable afefamkndoo : int32;
}

let default_opgfcfjckld_mutable () : opgfcfjckld_mutable = {
  afefamkndoo = 0l;
}

type aefpfcoeocm_mutable = {
  mutable retcode : int32;
  mutable cmmbjnhniak : gbnockoacmj option;
}

let default_aefpfcoeocm_mutable () : aefpfcoeocm_mutable = {
  retcode = 0l;
  cmmbjnhniak = None;
}

type hiobbkapppf_mutable = {
  mutable hehehnicpjn : int32;
}

let default_hiobbkapppf_mutable () : hiobbkapppf_mutable = {
  hehehnicpjn = 0l;
}

type apfmcbajpno_mutable = {
  mutable retcode : int32;
  mutable cmmbjnhniak : gbnockoacmj option;
}

let default_apfmcbajpno_mutable () : apfmcbajpno_mutable = {
  retcode = 0l;
  cmmbjnhniak = None;
}

type mninjbbldcn_mutable = {
  mutable cmmbjnhniak : gbnockoacmj option;
  mutable retcode : int32;
}

let default_mninjbbldcn_mutable () : mninjbbldcn_mutable = {
  cmmbjnhniak = None;
  retcode = 0l;
}

type pihijmjijgj_mutable = {
  mutable avatar_list : flffdckajej list;
  mutable kahhjlklcjl : int32;
  mutable cnbholdlobc : int32;
  mutable gehbffmbgmi : bool;
  mutable bnlgcohhahg : int32;
}

let default_pihijmjijgj_mutable () : pihijmjijgj_mutable = {
  avatar_list = [];
  kahhjlklcjl = 0l;
  cnbholdlobc = 0l;
  gehbffmbgmi = false;
  bnlgcohhahg = 0l;
}

type jkcnlobbehh_mutable = {
  mutable hiacklcdijn : fopiophbiph option;
  mutable retcode : int32;
}

let default_jkcnlobbehh_mutable () : jkcnlobbehh_mutable = {
  hiacklcdijn = None;
  retcode = 0l;
}

type hmncjcdmnoc_mutable = {
  mutable hiacklcdijn : fopiophbiph option;
  mutable retcode : int32;
}

let default_hmncjcdmnoc_mutable () : hmncjcdmnoc_mutable = {
  hiacklcdijn = None;
  retcode = 0l;
}

type ipjbipgkkce_mutable = {
  mutable gehbffmbgmi : bool;
}

let default_ipjbipgkkce_mutable () : ipjbipgkkce_mutable = {
  gehbffmbgmi = false;
}

type hgdjnbdojjl_mutable = {
  mutable retcode : int32;
  mutable ibllilenejp : scene_battle_info option;
}

let default_hgdjnbdojjl_mutable () : hgdjnbdojjl_mutable = {
  retcode = 0l;
  ibllilenejp = None;
}

type hjbegoofpdm_mutable = {
  mutable kahhjlklcjl : int32;
  mutable cnbholdlobc : int32;
  mutable retcode : int32;
  mutable bnlgcohhahg : int32;
}

let default_hjbegoofpdm_mutable () : hjbegoofpdm_mutable = {
  kahhjlklcjl = 0l;
  cnbholdlobc = 0l;
  retcode = 0l;
  bnlgcohhahg = 0l;
}

type eombaehnefe_mutable = {
  mutable lebembolhgj : int32 list;
}

let default_eombaehnefe_mutable () : eombaehnefe_mutable = {
  lebembolhgj = [];
}

type hkbpgokjfnj_mutable = {
  mutable lobeaeamlln : int32 list;
  mutable ojdlhnjpibk : llecchannpc;
}

let default_hkbpgokjfnj_mutable () : hkbpgokjfnj_mutable = {
  lobeaeamlln = [];
  ojdlhnjpibk = default_llecchannpc ();
}

type mmlpmelombo_mutable = {
  mutable ggdaffjnmpa : int32;
}

let default_mmlpmelombo_mutable () : mmlpmelombo_mutable = {
  ggdaffjnmpa = 0l;
}

type coenhaabago_mutable = {
  mutable pdbobmjedbc : bninelnejfi option;
  mutable retcode : int32;
}

let default_coenhaabago_mutable () : coenhaabago_mutable = {
  pdbobmjedbc = None;
  retcode = 0l;
}

type dhdgbnfnfai_mutable = {
  mutable afefamkndoo : int32;
  mutable ggdaffjnmpa : int32;
  mutable name : string;
}

let default_dhdgbnfnfai_mutable () : dhdgbnfnfai_mutable = {
  afefamkndoo = 0l;
  ggdaffjnmpa = 0l;
  name = "";
}

type mficaiiiekj_mutable = {
  mutable hiacklcdijn : fopiophbiph option;
  mutable gomhdhcdflh : ibgjfmdlgfg option;
  mutable dcalkgibojm : item_list option;
  mutable retcode : int32;
  mutable akppfhlknnp : item_list option;
}

let default_mficaiiiekj_mutable () : mficaiiiekj_mutable = {
  hiacklcdijn = None;
  gomhdhcdflh = None;
  dcalkgibojm = None;
  retcode = 0l;
  akppfhlknnp = None;
}

type gafkfelneml_mutable = {
  mutable eidlebddhfm : iehdlmeodcb option;
}

let default_gafkfelneml_mutable () : gafkfelneml_mutable = {
  eidlebddhfm = None;
}

type ekjkgipimmb_mutable = {
  mutable dceibjclkbb : fpfmjggcnld option;
  mutable retcode : int32;
  mutable ofjdnoboneb : fnpekjdgohi option;
  mutable odcloijfnip : jebbgppcabc option;
}

let default_ekjkgipimmb_mutable () : ekjkgipimmb_mutable = {
  dceibjclkbb = None;
  retcode = 0l;
  ofjdnoboneb = None;
  odcloijfnip = None;
}

type kminbeklojh_mutable = {
  mutable ddgcjndjeod : int32 list;
  mutable retcode : int32;
  mutable ilinhdeianh : int32 list;
}

let default_kminbeklojh_mutable () : kminbeklojh_mutable = {
  ddgcjndjeod = [];
  retcode = 0l;
  ilinhdeianh = [];
}

type gklnflepfke_mutable = {
  mutable joipnmmehbm : item_cost_data option;
}

let default_gklnflepfke_mutable () : gklnflepfke_mutable = {
  joipnmmehbm = None;
}

type ffhalolphba_mutable = {
  mutable base_avatar_id_list : int32 list;
  mutable idcigdfjabi : int32;
}

let default_ffhalolphba_mutable () : ffhalolphba_mutable = {
  base_avatar_id_list = [];
  idcigdfjabi = 0l;
}

type lcglakkjjmb_mutable = {
  mutable joipnmmehbm : item_cost_data option;
  mutable retcode : int32;
}

let default_lcglakkjjmb_mutable () : lcglakkjjmb_mutable = {
  joipnmmehbm = None;
  retcode = 0l;
}

type pcfhlaallip_mutable = {
  mutable pdbobmjedbc : bninelnejfi option;
  mutable hiacklcdijn : fopiophbiph option;
}

let default_pcfhlaallip_mutable () : pcfhlaallip_mutable = {
  pdbobmjedbc = None;
  hiacklcdijn = None;
}

type hnjnkcakobk_mutable = {
  mutable lglonllbmkc : int32;
}

let default_hnjnkcakobk_mutable () : hnjnkcakobk_mutable = {
  lglonllbmkc = 0l;
}

type ldlepnnkbfd_mutable = {
  mutable retcode : int32;
  mutable ohmaodidhnl : int32;
  mutable ellcjbcjncl : int32 list;
  mutable lglonllbmkc : int32;
}

let default_ldlepnnkbfd_mutable () : ldlepnnkbfd_mutable = {
  retcode = 0l;
  ohmaodidhnl = 0l;
  ellcjbcjncl = [];
  lglonllbmkc = 0l;
}

type agblbeapjdj_mutable = {
  mutable ohmaodidhnl : int32;
  mutable lglonllbmkc : int32;
  mutable bpijdelaecg : int32;
}

let default_agblbeapjdj_mutable () : agblbeapjdj_mutable = {
  ohmaodidhnl = 0l;
  lglonllbmkc = 0l;
  bpijdelaecg = 0l;
}

type gajmbmmlhmo_mutable = {
  mutable jplhmpiafoe : int32;
  mutable reward : item_list option;
  mutable retcode : int32;
  mutable lglonllbmkc : int32;
  mutable ialfoddhdkp : int32;
}

let default_gajmbmmlhmo_mutable () : gajmbmmlhmo_mutable = {
  jplhmpiafoe = 0l;
  reward = None;
  retcode = 0l;
  lglonllbmkc = 0l;
  ialfoddhdkp = 0l;
}

type gppcmgfgfhf_mutable = {
  mutable lglonllbmkc : int32;
}

let default_gppcmgfgfhf_mutable () : gppcmgfgfhf_mutable = {
  lglonllbmkc = 0l;
}

type take_roll_shop_reward_sc_rsp_mutable = {
  mutable roll_shop_id : int32;
  mutable group_type : int32;
  mutable retcode : int32;
  mutable reward : item_list option;
}

let default_take_roll_shop_reward_sc_rsp_mutable () : take_roll_shop_reward_sc_rsp_mutable = {
  roll_shop_id = 0l;
  group_type = 0l;
  retcode = 0l;
  reward = None;
}

type popgipmfhje_mutable = {
  mutable ionhnkbbldj : int32;
  mutable value : int32;
}

let default_popgipmfhje_mutable () : popgipmfhje_mutable = {
  ionhnkbbldj = 0l;
  value = 0l;
}

type pmemfoppjaf_mutable = {
  mutable map_layer : int32;
  mutable jililehmdkg : motion_info option;
  mutable phkkegggmdi : int32;
  mutable ccclmigdjkc : bool;
}

let default_pmemfoppjaf_mutable () : pmemfoppjaf_mutable = {
  map_layer = 0l;
  jililehmdkg = None;
  phkkegggmdi = 0l;
  ccclmigdjkc = false;
}

type mmddmljkjgi_mutable = {
  mutable ihnakchicdm : int64;
  mutable eicocoilool : pmemfoppjaf list;
  mutable entry_id : int32;
}

let default_mmddmljkjgi_mutable () : mmddmljkjgi_mutable = {
  ihnakchicdm = 0L;
  eicocoilool = [];
  entry_id = 0l;
}

type mkkfbnenhff_mutable = {
  mutable retcode : int32;
  mutable eicocoilool : pmemfoppjaf list;
  mutable download_data : client_download_data option;
}

let default_mkkfbnenhff_mutable () : mkkfbnenhff_mutable = {
  retcode = 0l;
  eicocoilool = [];
  download_data = None;
}

type gnmoicglmnh_mutable = {
  mutable phkkegggmdi : int32;
  mutable jililehmdkg : motion_info option;
  mutable entry_id : int32;
  mutable micgnniimak : int32;
}

let default_gnmoicglmnh_mutable () : gnmoicglmnh_mutable = {
  phkkegggmdi = 0l;
  jililehmdkg = None;
  entry_id = 0l;
  micgnniimak = 0l;
}

type kclfefmgigh_mutable = {
  mutable ggodlmaaigd : int32;
}

let default_kclfefmgigh_mutable () : kclfefmgigh_mutable = {
  ggodlmaaigd = 0l;
}

type lfmoildjodb_mutable = {
  mutable prop_entity_id : int32;
  mutable hgneiojdpoa : int32;
}

let default_lfmoildjodb_mutable () : lfmoildjodb_mutable = {
  prop_entity_id = 0l;
  hgneiojdpoa = 0l;
}

type bgbelanblab_mutable = {
  mutable prop_entity_id : int32;
  mutable retcode : int32;
  mutable prop_state : int32;
}

let default_bgbelanblab_mutable () : bgbelanblab_mutable = {
  prop_entity_id = 0l;
  retcode = 0l;
  prop_state = 0l;
}

type kncjhglklbi_mutable = {
  mutable bifppcoboce : int32;
  mutable cgoahpoehno : gmpidmbmegf;
}

let default_kncjhglklbi_mutable () : kncjhglklbi_mutable = {
  bifppcoboce = 0l;
  cgoahpoehno = default_gmpidmbmegf ();
}

type jdffbhnheaf_mutable = {
  mutable value : float;
  mutable pfmlckgckob : string;
}

let default_jdffbhnheaf_mutable () : jdffbhnheaf_mutable = {
  value = 0.;
  pfmlckgckob = "";
}

type bkpjapjejhp_mutable = {
  mutable ggogccbgofo : string;
  mutable jnpbpmkhoam : ifbkebonbne list;
  mutable egofdbhnple : int32;
  mutable gcnngeanccp : int32 list;
  mutable ohainjgiflk : int32 list;
  mutable dynamic_values : jdffbhnheaf list;
  mutable ihapfjkmcee : motion_info option;
  mutable gbhffcbgjoc : int32;
  mutable mkfjacifjmc : int32;
  mutable skill_index : int32;
  mutable kapkegapokf : fnmhaajaaek list;
}

let default_bkpjapjejhp_mutable () : bkpjapjejhp_mutable = {
  ggogccbgofo = "";
  jnpbpmkhoam = [];
  egofdbhnple = 0l;
  gcnngeanccp = [];
  ohainjgiflk = [];
  dynamic_values = [];
  ihapfjkmcee = None;
  gbhffcbgjoc = 0l;
  mkfjacifjmc = 0l;
  skill_index = 0l;
  kapkegapokf = [];
}

type iliogcgpcbf_mutable = {
  mutable bjlbgfejgfa : kncjhglklbi list;
  mutable gbhffcbgjoc : int32;
  mutable retcode : int32;
  mutable ibllilenejp : scene_battle_info option;
}

let default_iliogcgpcbf_mutable () : iliogcgpcbf_mutable = {
  bjlbgfejgfa = [];
  gbhffcbgjoc = 0l;
  retcode = 0l;
  ibllilenejp = None;
}

type njbacjfllbk_mutable = {
  mutable egofdbhnple : int32;
  mutable gbhffcbgjoc : int32;
  mutable skill_index : int32;
}

let default_njbacjfllbk_mutable () : njbacjfllbk_mutable = {
  egofdbhnple = 0l;
  gbhffcbgjoc = 0l;
  skill_index = 0l;
}

type mlpgejdgmcl_mutable = {
  mutable retcode : int32;
  mutable gbhffcbgjoc : int32;
}

let default_mlpgejdgmcl_mutable () : mlpgejdgmcl_mutable = {
  retcode = 0l;
  gbhffcbgjoc = 0l;
}

type hhpdiameemj_mutable = {
  mutable gbhffcbgjoc : int32;
  mutable hcoemhcfomn : int32;
}

let default_hhpdiameemj_mutable () : hhpdiameemj_mutable = {
  gbhffcbgjoc = 0l;
  hcoemhcfomn = 0l;
}

type dmdppmebold_mutable = {
  mutable anhhbjmpmnl : bool;
  mutable ohibnloihci : int32;
  mutable nnpfabenejo : camlhbegnmo;
}

let default_dmdppmebold_mutable () : dmdppmebold_mutable = {
  anhhbjmpmnl = false;
  ohibnloihci = 0l;
  nnpfabenejo = default_camlhbegnmo ();
}

type aiglghmpbfo_mutable = {
  mutable ibllilenejp : scene_battle_info option;
  mutable retcode : int32;
}

let default_aiglghmpbfo_mutable () : aiglghmpbfo_mutable = {
  ibllilenejp = None;
  retcode = 0l;
}

type bblpbdkekmk_mutable = {
  mutable nnpfabenejo : camlhbegnmo;
}

let default_bblpbdkekmk_mutable () : bblpbdkekmk_mutable = {
  nnpfabenejo = default_camlhbegnmo ();
}

type dmhfnlkmmnf_mutable = {
  mutable retcode : int32;
}

let default_dmhfnlkmmnf_mutable () : dmhfnlkmmnf_mutable = {
  retcode = 0l;
}

type get_cur_scene_info_sc_rsp_mutable = {
  mutable retcode : int32;
  mutable scene : scene_info option;
}

let default_get_cur_scene_info_sc_rsp_mutable () : get_cur_scene_info_sc_rsp_mutable = {
  retcode = 0l;
  scene = None;
}

type bgkdcahdijj_mutable = {
  mutable mgdnainpahe : ppleglfgepi;
  mutable kacgpkifjie : ifdkgfigkgn option;
  mutable mklbafcpmpg : int32;
  mutable phkkegggmdi : int32;
}

let default_bgkdcahdijj_mutable () : bgkdcahdijj_mutable = {
  mgdnainpahe = default_ppleglfgepi ();
  kacgpkifjie = None;
  mklbafcpmpg = 0l;
  phkkegggmdi = 0l;
}

type lhbjcbdmgij_mutable = {
  mutable jmkhgpcnlmh : bgkdcahdijj list;
}

let default_lhbjcbdmgij_mutable () : lhbjcbdmgij_mutable = {
  jmkhgpcnlmh = [];
}

type mmkbjdonkbe_mutable = {
  mutable prop_entity_id : int32;
  mutable floor_id : int32;
  mutable plane_id : int32;
}

let default_mmkbjdonkbe_mutable () : mmkbjdonkbe_mutable = {
  prop_entity_id = 0l;
  floor_id = 0l;
  plane_id = 0l;
}

type cblpcneeikp_mutable = {
  mutable retcode : int32;
}

let default_cblpcneeikp_mutable () : cblpcneeikp_mutable = {
  retcode = 0l;
}

type eabcbfbinbf_mutable = {
  mutable dabiabbbnhd : int64;
}

let default_eabcbfbinbf_mutable () : eabcbfbinbf_mutable = {
  dabiabbbnhd = 0L;
}

type ncnclpbndjl_mutable = {
  mutable scene : scene_info option;
  mutable retcode : int32;
}

let default_ncnclpbndjl_mutable () : ncnclpbndjl_mutable = {
  scene = None;
  retcode = 0l;
}

type abdkilpbdii_mutable = {
  mutable hgkmoddpamj : int32;
}

let default_abdkilpbdii_mutable () : abdkilpbdii_mutable = {
  hgkmoddpamj = 0l;
}

type njkicjcjjof_mutable = {
  mutable retcode : int32;
}

let default_njkicjcjjof_mutable () : njkicjcjjof_mutable = {
  retcode = 0l;
}

type jcfdeoiocka_mutable = {
  mutable phkkegggmdi : int32;
}

let default_jcfdeoiocka_mutable () : jcfdeoiocka_mutable = {
  phkkegggmdi = 0l;
}

type jcaihcenlad_mutable = {
  mutable retcode : int32;
}

let default_jcaihcenlad_mutable () : jcaihcenlad_mutable = {
  retcode = 0l;
}

type bfnlhhlpmka_mutable = {
  mutable retcode : int32;
}

let default_bfnlhhlpmka_mutable () : bfnlhhlpmka_mutable = {
  retcode = 0l;
}

type save_points_info_notify_mutable = {
  mutable refresh_time : int64;
  mutable valid_times : int32;
}

let default_save_points_info_notify_mutable () : save_points_info_notify_mutable = {
  refresh_time = 0L;
  valid_times = 0l;
}

type start_cocoon_stage_cs_req_mutable = {
  mutable wave : int32;
  mutable world_level : int32;
  mutable prop_entity_id : int32;
  mutable cocoon_id : int32;
}

let default_start_cocoon_stage_cs_req_mutable () : start_cocoon_stage_cs_req_mutable = {
  wave = 0l;
  world_level = 0l;
  prop_entity_id = 0l;
  cocoon_id = 0l;
}

type start_cocoon_stage_sc_rsp_mutable = {
  mutable cocoon_id : int32;
  mutable prop_entity_id : int32;
  mutable wave : int32;
  mutable retcode : int32;
  mutable battle_info : scene_battle_info option;
}

let default_start_cocoon_stage_sc_rsp_mutable () : start_cocoon_stage_sc_rsp_mutable = {
  cocoon_id = 0l;
  prop_entity_id = 0l;
  wave = 0l;
  retcode = 0l;
  battle_info = None;
}

type hjdhemepacp_mutable = {
  mutable jililehmdkg : motion_info option;
  mutable jkoelhljkhd : bool;
}

let default_hjdhemepacp_mutable () : hjdhemepacp_mutable = {
  jililehmdkg = None;
  jkoelhljkhd = false;
}

type jcijkhcpjji_mutable = {
  mutable retcode : int32;
}

let default_jcijkhcpjji_mutable () : jcijkhcpjji_mutable = {
  retcode = 0l;
}

type claiggdhaao_mutable = {
  mutable mkhhhhahgii : bool;
}

let default_claiggdhaao_mutable () : claiggdhaao_mutable = {
  mkhhhhahgii = false;
}

type icaeiakdfcm_mutable = {
  mutable mkhhhhahgii : bool;
  mutable retcode : int32;
}

let default_icaeiakdfcm_mutable () : icaeiakdfcm_mutable = {
  mkhhhhahgii = false;
  retcode = 0l;
}

type ecfnfimfjgh_mutable = {
  mutable phkkegggmdi : int32;
}

let default_ecfnfimfjgh_mutable () : ecfnfimfjgh_mutable = {
  phkkegggmdi = 0l;
}

type oeiibhdgkcm_mutable = {
  mutable phkkegggmdi : int32;
  mutable retcode : int32;
}

let default_oeiibhdgkcm_mutable () : oeiibhdgkcm_mutable = {
  phkkegggmdi = 0l;
  retcode = 0l;
}

type edhfokfjifm_mutable = {
  mutable phkkegggmdi : int32;
  mutable world_level : int32;
}

let default_edhfokfjifm_mutable () : edhfokfjifm_mutable = {
  phkkegggmdi = 0l;
  world_level = 0l;
}

type kbbjoklpdgf_mutable = {
  mutable phkkegggmdi : int32;
  mutable retcode : int32;
  mutable world_level : int32;
}

let default_kbbjoklpdgf_mutable () : kbbjoklpdgf_mutable = {
  phkkegggmdi = 0l;
  retcode = 0l;
  world_level = 0l;
}

type dglpnoikfee_mutable = {
  mutable nlfonahakgb : int32;
  mutable avatar_id : int32;
}

let default_dglpnoikfee_mutable () : dglpnoikfee_mutable = {
  nlfonahakgb = 0l;
  avatar_id = 0l;
}

type cmkmldlnmhm_mutable = {
  mutable jebneocbboe : bool;
  mutable jbaepeglfid : int32;
  mutable bafopockgkh : dglpnoikfee list;
}

let default_cmkmldlnmhm_mutable () : cmkmldlnmhm_mutable = {
  jebneocbboe = false;
  jbaepeglfid = 0l;
  bafopockgkh = [];
}

type ajkldpekjda_mutable = {
  mutable cbclgknhnib : int64;
  mutable nolemebkcmd : int32;
}

let default_ajkldpekjda_mutable () : ajkldpekjda_mutable = {
  cbclgknhnib = 0L;
  nolemebkcmd = 0l;
}

type dfjoaaggjeh_mutable = {
  mutable retcode : int32;
  mutable klcicncmefe : cmkmldlnmhm option;
  mutable dhpbnongbac : ajkldpekjda option;
}

let default_dfjoaaggjeh_mutable () : dfjoaaggjeh_mutable = {
  retcode = 0l;
  klcicncmefe = None;
  dhpbnongbac = None;
}

type noilflmcfid_mutable = {
  mutable klcicncmefe : cmkmldlnmhm option;
}

let default_noilflmcfid_mutable () : noilflmcfid_mutable = {
  klcicncmefe = None;
}

type opfpniadbbh_mutable = {
  mutable klcicncmefe : cmkmldlnmhm option;
  mutable retcode : int32;
}

let default_opfpniadbbh_mutable () : opfpniadbbh_mutable = {
  klcicncmefe = None;
  retcode = 0l;
}

type fbhlohkcbli_mutable = {
  mutable prop_entity_id : int32;
  mutable floor_id : int32;
  mutable plane_id : int32;
}

let default_fbhlohkcbli_mutable () : fbhlohkcbli_mutable = {
  prop_entity_id = 0l;
  floor_id = 0l;
  plane_id = 0l;
}

type spring_recover_sc_rsp_mutable = {
  mutable retcode : int32;
  mutable heal_pool_info : ajkldpekjda option;
}

let default_spring_recover_sc_rsp_mutable () : spring_recover_sc_rsp_mutable = {
  retcode = 0l;
  heal_pool_info = None;
}

type nefmieonfmh_mutable = {
  mutable dhpbnongbac : ajkldpekjda option;
}

let default_nefmieonfmh_mutable () : nefmieonfmh_mutable = {
  dhpbnongbac = None;
}

type agpcckalmid_mutable = {
  mutable prop_entity_id : int32;
  mutable floor_id : int32;
  mutable plane_id : int32;
  mutable avatar_type : avatar_type;
  mutable id : int32;
  mutable bopcmcgkedd : bool;
}

let default_agpcckalmid_mutable () : agpcckalmid_mutable = {
  prop_entity_id = 0l;
  floor_id = 0l;
  plane_id = 0l;
  avatar_type = default_avatar_type ();
  id = 0l;
  bopcmcgkedd = false;
}

type spring_recover_single_avatar_sc_rsp_mutable = {
  mutable avatar_type : avatar_type;
  mutable hp : int32;
  mutable retcode : int32;
  mutable id : int32;
}

let default_spring_recover_single_avatar_sc_rsp_mutable () : spring_recover_single_avatar_sc_rsp_mutable = {
  avatar_type = default_avatar_type ();
  hp = 0l;
  retcode = 0l;
  id = 0l;
}

type fmeoiomalgi_mutable = {
  mutable plane_id : int32;
  mutable fccnkckpbjn : popgipmfhje option;
  mutable floor_id : int32;
}

let default_fmeoiomalgi_mutable () : fmeoiomalgi_mutable = {
  plane_id = 0l;
  fccnkckpbjn = None;
  floor_id = 0l;
}

type pejpeakhfhj_mutable = {
  mutable entry_id : int32;
  mutable jbdgkicnbfa : string;
  mutable group_id : int32;
}

let default_pejpeakhfhj_mutable () : pejpeakhfhj_mutable = {
  entry_id = 0l;
  jbdgkicnbfa = "";
  group_id = 0l;
}

type onadjaenglm_mutable = {
  mutable entry_id : int32;
  mutable group_id : int32;
  mutable retcode : int32;
}

let default_onadjaenglm_mutable () : onadjaenglm_mutable = {
  entry_id = 0l;
  group_id = 0l;
  retcode = 0l;
}

type mbkpbgbfinl_mutable = {
  mutable stage_id : int32;
}

let default_mbkpbgbfinl_mutable () : mbkpbgbfinl_mutable = {
  stage_id = 0l;
}

type goeginnoefe_mutable = {
  mutable ibllilenejp : scene_battle_info option;
  mutable stage_id : int32;
  mutable retcode : int32;
}

let default_goeginnoefe_mutable () : goeginnoefe_mutable = {
  ibllilenejp = None;
  stage_id = 0l;
  retcode = 0l;
}

type okgogolibcg_mutable = {
  mutable mdnkifallep : pmemfoppjaf option;
  mutable entry_id : int32;
}

let default_okgogolibcg_mutable () : okgogolibcg_mutable = {
  mdnkifallep = None;
  entry_id = 0l;
}

type haikklmpfhp_mutable = {
  mutable retcode : int32;
  mutable micgnniimak : int32;
  mutable mdnkifallep : pmemfoppjaf option;
}

let default_haikklmpfhp_mutable () : haikklmpfhp_mutable = {
  retcode = 0l;
  micgnniimak = 0l;
  mdnkifallep = None;
}

type kfkniojkagj_mutable = {
  mutable nfcojigifbb : int32;
  mutable ijnpccndcgi : int32;
  mutable entry_id : int32;
  mutable klgdfdlhelh : int32;
  mutable eclblfpbjlf : bool;
}

let default_kfkniojkagj_mutable () : kfkniojkagj_mutable = {
  nfcojigifbb = 0l;
  ijnpccndcgi = 0l;
  entry_id = 0l;
  klgdfdlhelh = 0l;
  eclblfpbjlf = false;
}

type pggcmoobcpd_mutable = {
  mutable dngkkklpnjc : bool;
  mutable retcode : int32;
  mutable eclblfpbjlf : bool;
  mutable nfcojigifbb : int32;
  mutable ijnpccndcgi : int32;
}

let default_pggcmoobcpd_mutable () : pggcmoobcpd_mutable = {
  dngkkklpnjc = false;
  retcode = 0l;
  eclblfpbjlf = false;
  nfcojigifbb = 0l;
  ijnpccndcgi = 0l;
}

type bfknfaajlik_mutable = {
  mutable lineup : lineup_info option;
  mutable mgdnainpahe : bddhbpgibjn;
  mutable scene : scene_info option;
}

let default_bfknfaajlik_mutable () : bfknfaajlik_mutable = {
  lineup = None;
  mgdnainpahe = default_bddhbpgibjn ();
  scene = None;
}

type hdacikpcknf_mutable = {
  mutable mknfcmflagf : item_list option;
  mutable donbbmfeogl : item_list option;
  mutable gffofnglfgm : item_list option;
  mutable kkbnigjgnlg : item_list option;
}

let default_hdacikpcknf_mutable () : hdacikpcknf_mutable = {
  mknfcmflagf = None;
  donbbmfeogl = None;
  gffofnglfgm = None;
  kkbnigjgnlg = None;
}

type dngikkglnie_mutable = {
  mutable nfcojigifbb : int32;
  mutable cjkoijlahho : int32;
  mutable edpaljjjgki : bool;
  mutable ojcmolaapaf : int32 list;
}

let default_dngikkglnie_mutable () : dngikkglnie_mutable = {
  nfcojigifbb = 0l;
  cjkoijlahho = 0l;
  edpaljjjgki = false;
  ojcmolaapaf = [];
}

type egafcnjjgni_mutable = {
  mutable pfbnanpcdjh : int32;
  mutable state : int32;
  mutable group_id : int32;
}

let default_egafcnjjgni_mutable () : egafcnjjgni_mutable = {
  pfbnanpcdjh = 0l;
  state = 0l;
  group_id = 0l;
}

type kddobjmfahm_mutable = {
  mutable hllognagalg : bool;
  mutable group_id : int32;
  mutable llgcclalmmi : int64;
  mutable didcplpbndg : int32 list;
}

let default_kddobjmfahm_mutable () : kddobjmfahm_mutable = {
  hllognagalg = false;
  group_id = 0l;
  llgcclalmmi = 0L;
  didcplpbndg = [];
}

type nhofdkfidee_mutable = {
  mutable dpdgioeelfc : poigoofgiac;
  mutable jlbogmgmpmj : int32;
  mutable hmjcmhjjlaf : int32;
}

let default_nhofdkfidee_mutable () : nhofdkfidee_mutable = {
  dpdgioeelfc = default_poigoofgiac ();
  jlbogmgmpmj = 0l;
  hmjcmhjjlaf = 0l;
}

type mdpnliodapd_mutable = {
  mutable aalknkbcjkm : int32;
  mutable ocfjgocmiem : int32;
  mutable fgmdoekgpee : int32;
}

let default_mdpnliodapd_mutable () : mdpnliodapd_mutable = {
  aalknkbcjkm = 0l;
  ocfjgocmiem = 0l;
  fgmdoekgpee = 0l;
}

type kbpkfjbeilj_mutable = {
  mutable cbphphopofk : (string * int32) list;
  mutable fmblfbddmgi : int32 list;
  mutable eaeoionfehm : kddobjmfahm list;
  mutable entry_id : int32;
  mutable ligbjpkffdg : nhofdkfidee list;
  mutable mogndfkhapd : int32 list;
  mutable kpbfldbadan : int32;
  mutable cjkoijlahho : int32;
  mutable retcode : int32;
  mutable bnmdbicanbn : mdpnliodapd list;
  mutable mdkmdbibnae : int32;
  mutable hcllineafkm : egafcnjjgni list;
  mutable nfcojigifbb : int32;
}

let default_kbpkfjbeilj_mutable () : kbpkfjbeilj_mutable = {
  cbphphopofk = [];
  fmblfbddmgi = [];
  eaeoionfehm = [];
  entry_id = 0l;
  ligbjpkffdg = [];
  mogndfkhapd = [];
  kpbfldbadan = 0l;
  cjkoijlahho = 0l;
  retcode = 0l;
  bnmdbicanbn = [];
  mdkmdbibnae = 0l;
  hcllineafkm = [];
  nfcojigifbb = 0l;
}

type anjofnkhlfp_mutable = {
  mutable edpaljjjgki : bool;
  mutable mdfplnoljnf : kbpkfjbeilj list;
  mutable retcode : int32;
}

let default_anjofnkhlfp_mutable () : anjofnkhlfp_mutable = {
  edpaljjjgki = false;
  mdfplnoljnf = [];
  retcode = 0l;
}

type ialhacijhac_mutable = {
  mutable fomcmdmpdcg : int32;
  mutable aopeodgodff : int32;
}

let default_ialhacijhac_mutable () : ialhacijhac_mutable = {
  fomcmdmpdcg = 0l;
  aopeodgodff = 0l;
}

type dmkebfhjljj_mutable = {
  mutable retcode : int32;
}

let default_dmkebfhjljj_mutable () : dmkebfhjljj_mutable = {
  retcode = 0l;
}

type cdcmmopccai_mutable = {
  mutable mgdnainpahe : gonnolnjgnf;
  mutable aopeodgodff : int32;
  mutable hohagdafjih : int32;
}

let default_cdcmmopccai_mutable () : cdcmmopccai_mutable = {
  mgdnainpahe = default_gonnolnjgnf ();
  aopeodgodff = 0l;
  hohagdafjih = 0l;
}

type lipmdimfnak_mutable = {
  mutable aopeodgodff : int32;
  mutable paiihddnnjg : int32;
}

let default_lipmdimfnak_mutable () : lipmdimfnak_mutable = {
  aopeodgodff = 0l;
  paiihddnnjg = 0l;
}

type lneeenlhdnn_mutable = {
  mutable retcode : int32;
}

let default_lneeenlhdnn_mutable () : lneeenlhdnn_mutable = {
  retcode = 0l;
}

type mfljhhpaccd_mutable = {
  mutable fgiifgkokak : (string * int32) list;
}

let default_mfljhhpaccd_mutable () : mfljhhpaccd_mutable = {
  fgiifgkokak = [];
}

type odoaidcdjoj_mutable = {
  mutable ojcmolaapaf : int32 list;
}

let default_odoaidcdjoj_mutable () : odoaidcdjoj_mutable = {
  ojcmolaapaf = [];
}

type impbiacohfd_mutable = {
  mutable retcode : int32;
  mutable fmblfbddmgi : int32 list;
}

let default_impbiacohfd_mutable () : impbiacohfd_mutable = {
  retcode = 0l;
  fmblfbddmgi = [];
}

type gcnpnnobhko_mutable = {
  mutable mjpchdidahj : scene_entity_info option;
  mutable cffpbnfgmmj : int32;
  mutable klmchlokeho : int32;
}

let default_gcnpnnobhko_mutable () : gcnpnnobhko_mutable = {
  mjpchdidahj = None;
  cffpbnfgmmj = 0l;
  klmchlokeho = 0l;
}

type ceafkhfcdif_mutable = {
  mutable ogcjllmfnob : gcnpnnobhko list;
  mutable iehhofifjfo : agjnodchiak;
  mutable state : int32;
  mutable group_id : int32;
}

let default_ceafkhfcdif_mutable () : ceafkhfcdif_mutable = {
  ogcjllmfnob = [];
  iehhofifjfo = default_agjnodchiak ();
  state = 0l;
  group_id = 0l;
}

type iolnbeiolkh_mutable = {
  mutable hgocilongbl : ceafkhfcdif list;
}

let default_iolnbeiolkh_mutable () : iolnbeiolkh_mutable = {
  hgocilongbl = [];
}

type iggijbjppoc_mutable = {
  mutable group_id : int32;
  mutable entry_id : int32;
  mutable nfbjlfcfijo : int32;
  mutable ihhhgodkjep : int32;
}

let default_iggijbjppoc_mutable () : iggijbjppoc_mutable = {
  group_id = 0l;
  entry_id = 0l;
  nfbjlfcfijo = 0l;
  ihhhgodkjep = 0l;
}

type ngkpjjcampj_mutable = {
  mutable podpafooomg : iggijbjppoc option;
}

let default_ngkpjjcampj_mutable () : ngkpjjcampj_mutable = {
  podpafooomg = None;
}

type nohhghgiajp_mutable = {
  mutable podpafooomg : iggijbjppoc option;
  mutable retcode : int32;
}

let default_nohhghgiajp_mutable () : nohhghgiajp_mutable = {
  podpafooomg = None;
  retcode = 0l;
}

type fefkpkpanml_mutable = {
  mutable podpafooomg : iggijbjppoc option;
}

let default_fefkpkpanml_mutable () : fefkpkpanml_mutable = {
  podpafooomg = None;
}

type gfjappjdmnb_mutable = {
  mutable plane_id : int32;
  mutable floor_id : int32;
}

let default_gfjappjdmnb_mutable () : gfjappjdmnb_mutable = {
  plane_id = 0l;
  floor_id = 0l;
}

type ikdmhhahhno_mutable = {
  mutable retcode : int32;
  mutable eljgieonbde : gfjappjdmnb list;
}

let default_ikdmhhahhno_mutable () : ikdmhhahhno_mutable = {
  retcode = 0l;
  eljgieonbde = [];
}

type lfacadlnjod_mutable = {
  mutable eljgieonbde : gfjappjdmnb list;
}

let default_lfacadlnjod_mutable () : lfacadlnjod_mutable = {
  eljgieonbde = [];
}

type ebjolkoihmc_mutable = {
  mutable jjpkngpgmci : string;
  mutable iapjdabceeh : int32;
  mutable cdgihicglml : motion_info option;
  mutable cblnijmlgch : int32 list;
}

let default_ebjolkoihmc_mutable () : ebjolkoihmc_mutable = {
  jjpkngpgmci = "";
  iapjdabceeh = 0l;
  cdgihicglml = None;
  cblnijmlgch = [];
}

type pkhccikoidf_mutable = {
  mutable retcode : int32;
  mutable iapjdabceeh : int32;
  mutable jjpkngpgmci : string;
  mutable gkobfcianlo : bool;
}

let default_pkhccikoidf_mutable () : pkhccikoidf_mutable = {
  retcode = 0l;
  iapjdabceeh = 0l;
  jjpkngpgmci = "";
  gkobfcianlo = false;
}

type gndplhdfmpj_mutable = {
  mutable iapjdabceeh : int32;
  mutable cblnijmlgch : int32 list;
  mutable jjpkngpgmci : string;
}

let default_gndplhdfmpj_mutable () : gndplhdfmpj_mutable = {
  iapjdabceeh = 0l;
  cblnijmlgch = [];
  jjpkngpgmci = "";
}

type dbmebneafkh_mutable = {
  mutable bcbhaghfmhl : int32 list;
}

let default_dbmebneafkh_mutable () : dbmebneafkh_mutable = {
  bcbhaghfmhl = [];
}

type lhphdmehbjk_mutable = {
  mutable retcode : int32;
  mutable bcbhaghfmhl : int32 list;
}

let default_lhphdmehbjk_mutable () : lhphdmehbjk_mutable = {
  retcode = 0l;
  bcbhaghfmhl = [];
}

type aliilpfckfp_mutable = {
  mutable ojcmolaapaf : int32 list;
}

let default_aliilpfckfp_mutable () : aliilpfckfp_mutable = {
  ojcmolaapaf = [];
}

type cbfgfkjfgmk_mutable = {
  mutable cocoon_id : int32;
  mutable wave : int32;
  mutable world_level : int32;
}

let default_cbfgfkjfgmk_mutable () : cbfgfkjfgmk_mutable = {
  cocoon_id = 0l;
  wave = 0l;
  world_level = 0l;
}

type bcdijdennhg_mutable = {
  mutable wave : int32;
  mutable ibllilenejp : scene_battle_info option;
  mutable cocoon_id : int32;
  mutable retcode : int32;
}

let default_bcdijdennhg_mutable () : bcdijdennhg_mutable = {
  wave = 0l;
  ibllilenejp = None;
  cocoon_id = 0l;
  retcode = 0l;
}

type cmipadfnpch_mutable = {
  mutable world_level : int32;
  mutable hflfdkpgbaf : int32;
}

let default_cmipadfnpch_mutable () : cmipadfnpch_mutable = {
  world_level = 0l;
  hflfdkpgbaf = 0l;
}

type pinooogpjcp_mutable = {
  mutable retcode : int32;
  mutable ibllilenejp : scene_battle_info option;
  mutable hflfdkpgbaf : int32;
  mutable world_level : int32;
}

let default_pinooogpjcp_mutable () : pinooogpjcp_mutable = {
  retcode = 0l;
  ibllilenejp = None;
  hflfdkpgbaf = 0l;
  world_level = 0l;
}

type jnmofmlpiga_mutable = {
  mutable klgdfdlhelh : int32;
  mutable entry_id : int32;
}

let default_jnmofmlpiga_mutable () : jnmofmlpiga_mutable = {
  klgdfdlhelh = 0l;
  entry_id = 0l;
}

type jgcbdioneib_mutable = {
  mutable aafghffligc : int32;
  mutable data : bytes;
}

let default_jgcbdioneib_mutable () : jgcbdioneib_mutable = {
  aafghffligc = 0l;
  data = Bytes.create 0;
}

type kiljclofdpc_mutable = {
  mutable cbonjopecdo : jgcbdioneib list;
  mutable retcode : int32;
}

let default_kiljclofdpc_mutable () : kiljclofdpc_mutable = {
  cbonjopecdo = [];
  retcode = 0l;
}

type jmmodkjhodb_mutable = {
  mutable aafghffligc : int32;
}

let default_jmmodkjhodb_mutable () : jmmodkjhodb_mutable = {
  aafghffligc = 0l;
}

type akakmafmdll_mutable = {
  mutable onojjkcgnno : jgcbdioneib option;
  mutable retcode : int32;
}

let default_akakmafmdll_mutable () : akakmafmdll_mutable = {
  onojjkcgnno = None;
  retcode = 0l;
}

type fcakjbgdhpj_mutable = {
  mutable onojjkcgnno : jgcbdioneib option;
}

let default_fcakjbgdhpj_mutable () : fcakjbgdhpj_mutable = {
  onojjkcgnno = None;
}

type cachhkldamk_mutable = {
  mutable aafghffligc : int32;
  mutable retcode : int32;
}

let default_cachhkldamk_mutable () : cachhkldamk_mutable = {
  aafghffligc = 0l;
  retcode = 0l;
}

type goods_mutable = {
  mutable item_id : int32;
  mutable goods_id : int32;
  mutable begin_time : int64;
  mutable end_time : int64;
  mutable buy_times : int32;
}

let default_goods_mutable () : goods_mutable = {
  item_id = 0l;
  goods_id = 0l;
  begin_time = 0L;
  end_time = 0L;
  buy_times = 0l;
}

type shop_mutable = {
  mutable goods_list : goods list;
  mutable end_time : int64;
  mutable city_exp : int32;
  mutable begin_time : int64;
  mutable city_taken_level_reward : int64;
  mutable shop_id : int32;
  mutable city_level : int32;
}

let default_shop_mutable () : shop_mutable = {
  goods_list = [];
  end_time = 0L;
  city_exp = 0l;
  begin_time = 0L;
  city_taken_level_reward = 0L;
  shop_id = 0l;
  city_level = 0l;
}

type eldffdimhfb_mutable = {
  mutable bkiegfkjheo : int32;
}

let default_eldffdimhfb_mutable () : eldffdimhfb_mutable = {
  bkiegfkjheo = 0l;
}

type get_shop_list_sc_rsp_mutable = {
  mutable retcode : int32;
  mutable shop_list : shop list;
  mutable shop_type : int32;
}

let default_get_shop_list_sc_rsp_mutable () : get_shop_list_sc_rsp_mutable = {
  retcode = 0l;
  shop_list = [];
  shop_type = 0l;
}

type hklehcgbkod_mutable = {
  mutable fgohomljegm : int32;
  mutable hgjolgkaofj : int32;
  mutable bfbjhchbplg : int32;
  mutable ififlmjnmdk : int32;
  mutable idcigdfjabi : int32;
}

let default_hklehcgbkod_mutable () : hklehcgbkod_mutable = {
  fgohomljegm = 0l;
  hgjolgkaofj = 0l;
  bfbjhchbplg = 0l;
  ififlmjnmdk = 0l;
  idcigdfjabi = 0l;
}

type buy_goods_sc_rsp_mutable = {
  mutable retcode : int32;
  mutable goods_id : int32;
  mutable goods_buy_times : int32;
  mutable return_item_list : item_list option;
  mutable shop_id : int32;
}

let default_buy_goods_sc_rsp_mutable () : buy_goods_sc_rsp_mutable = {
  retcode = 0l;
  goods_id = 0l;
  goods_buy_times = 0l;
  return_item_list = None;
  shop_id = 0l;
}

type cdhdahieeeb_mutable = {
  mutable level : int32;
  mutable fgohomljegm : int32;
}

let default_cdhdahieeeb_mutable () : cdhdahieeeb_mutable = {
  level = 0l;
  fgohomljegm = 0l;
}

type take_city_shop_reward_sc_rsp_mutable = {
  mutable retcode : int32;
  mutable shop_id : int32;
  mutable reward : item_list option;
  mutable level : int32;
}

let default_take_city_shop_reward_sc_rsp_mutable () : take_city_shop_reward_sc_rsp_mutable = {
  retcode = 0l;
  shop_id = 0l;
  reward = None;
  level = 0l;
}

type city_shop_info_sc_notify_mutable = {
  mutable shop_id : int32;
  mutable exp : int32;
  mutable level : int32;
  mutable taken_level_reward : int64;
}

let default_city_shop_info_sc_notify_mutable () : city_shop_info_sc_notify_mutable = {
  shop_id = 0l;
  exp = 0l;
  level = 0l;
  taken_level_reward = 0L;
}

type cnlooddmfgf_mutable = {
  mutable onppolklhlo : int32;
  mutable pdpfcfglgco : int32 list;
  mutable djjmhikpmjl : int32;
  mutable noeblakanjk : int32 list;
  mutable unique_id : int32;
  mutable mljedmgclmd : bool;
}

let default_cnlooddmfgf_mutable () : cnlooddmfgf_mutable = {
  onppolklhlo = 0l;
  pdpfcfglgco = [];
  djjmhikpmjl = 0l;
  noeblakanjk = [];
  unique_id = 0l;
  mljedmgclmd = false;
}

type dddldidlfaf_mutable = {
  mutable denpgbgmcaa : int32;
  mutable onppolklhlo : int32;
}

let default_dddldidlfaf_mutable () : dddldidlfaf_mutable = {
  denpgbgmcaa = 0l;
  onppolklhlo = 0l;
}

type cegbkojghag_mutable = {
  mutable kajmafehicc : int32 list;
  mutable nbijkgoknob : dddldidlfaf list;
  mutable cnjokhoofkk : cnlooddmfgf list;
  mutable nmmofimpcko : int32 list;
  mutable retcode : int32;
  mutable cmbjdeolkmj : int32 list;
  mutable mhceoilgmca : int32;
  mutable ofofbdcmmgd : int32 list;
  mutable gmddehifoaf : int32 list;
}

let default_cegbkojghag_mutable () : cegbkojghag_mutable = {
  kajmafehicc = [];
  nbijkgoknob = [];
  cnjokhoofkk = [];
  nmmofimpcko = [];
  retcode = 0l;
  cmbjdeolkmj = [];
  mhceoilgmca = 0l;
  ofofbdcmmgd = [];
  gmddehifoaf = [];
}

type ohhockpilao_mutable = {
  mutable kmehfinblhe : int32 list;
  mutable goppphjombl : int32;
}

let default_ohhockpilao_mutable () : ohhockpilao_mutable = {
  kmehfinblhe = [];
  goppphjombl = 0l;
}

type jdpnjbnanji_mutable = {
  mutable pinmacpefgd : bool;
  mutable lcjfgcdbgim : dddldidlfaf list;
  mutable retcode : int32;
  mutable mhndbenogid : cnlooddmfgf option;
}

let default_jdpnjbnanji_mutable () : jdpnjbnanji_mutable = {
  pinmacpefgd = false;
  lcjfgcdbgim = [];
  retcode = 0l;
  mhndbenogid = None;
}

type ccpnhkllkfl_mutable = {
  mutable hgjolgkaofj : int32;
  mutable unique_id : int32;
}

let default_ccpnhkllkfl_mutable () : ccpnhkllkfl_mutable = {
  hgjolgkaofj = 0l;
  unique_id = 0l;
}

type bhheidaoold_mutable = {
  mutable odklnlidcfj : cnlooddmfgf option;
  mutable lcjfgcdbgim : dddldidlfaf list;
  mutable retcode : int32;
  mutable pinmacpefgd : bool;
}

let default_bhheidaoold_mutable () : bhheidaoold_mutable = {
  odklnlidcfj = None;
  lcjfgcdbgim = [];
  retcode = 0l;
  pinmacpefgd = false;
}

type lihfhopeipf_mutable = {
  mutable kcefcohkanf : int32;
  mutable bbdcjpocecg : int32;
  mutable op_type : int32;
}

let default_lihfhopeipf_mutable () : lihfhopeipf_mutable = {
  kcefcohkanf = 0l;
  bbdcjpocecg = 0l;
  op_type = 0l;
}

type naodjnndgkp_mutable = {
  mutable retcode : int32;
  mutable gmddehifoaf : int32 list;
}

let default_naodjnndgkp_mutable () : naodjnndgkp_mutable = {
  retcode = 0l;
  gmddehifoaf = [];
}

type hjkhdlnkajb_mutable = {
  mutable bjgpgojakoo : int32 list;
}

let default_hjkhdlnkajb_mutable () : hjkhdlnkajb_mutable = {
  bjgpgojakoo = [];
}

type gcpdecnpflh_mutable = {
  mutable npfgpoiinha : int32 list;
  mutable retcode : int32;
}

let default_gcpdecnpflh_mutable () : gcpdecnpflh_mutable = {
  npfgpoiinha = [];
  retcode = 0l;
}

type llleahfmcmh_mutable = {
  mutable hfioieaclph : bool;
  mutable pinmacpefgd : bool;
  mutable namngacmioe : cnlooddmfgf list;
}

let default_llleahfmcmh_mutable () : llleahfmcmh_mutable = {
  hfioieaclph = false;
  pinmacpefgd = false;
  namngacmioe = [];
}

type fenjjehochb_mutable = {
  mutable hgjolgkaofj : int32;
}

let default_fenjjehochb_mutable () : fenjjehochb_mutable = {
  hgjolgkaofj = 0l;
}

type opjmmjidgjh_mutable = {
  mutable retcode : int32;
  mutable hgjolgkaofj : int32;
}

let default_opjmmjidgjh_mutable () : opjmmjidgjh_mutable = {
  retcode = 0l;
  hgjolgkaofj = 0l;
}

type ghkhmcebggb_mutable = {
  mutable obdgbookelm : int32;
}

let default_ghkhmcebggb_mutable () : ghkhmcebggb_mutable = {
  obdgbookelm = 0l;
}

type ekbiohgpkbg_mutable = {
  mutable reward : item_list option;
  mutable obdgbookelm : int32;
  mutable retcode : int32;
}

let default_ekbiohgpkbg_mutable () : ekbiohgpkbg_mutable = {
  reward = None;
  obdgbookelm = 0l;
  retcode = 0l;
}

type aneollgbcci_mutable = {
  mutable hnhnaaliflo : int32;
  mutable iidfjhpdkmn : int32;
  mutable cdigdpfegic : int32;
  mutable group_id : int32;
  mutable mkbhpjnpekj : bool;
}

let default_aneollgbcci_mutable () : aneollgbcci_mutable = {
  hnhnaaliflo = 0l;
  iidfjhpdkmn = 0l;
  cdigdpfegic = 0l;
  group_id = 0l;
  mkbhpjnpekj = false;
}

type oeaacljemca_mutable = {
  mutable retcode : int32;
  mutable emfamjcdggh : aneollgbcci list;
}

let default_oeaacljemca_mutable () : oeaacljemca_mutable = {
  retcode = 0l;
  emfamjcdggh = [];
}

type oodgaoipjjn_mutable = {
  mutable avatar_id : int32;
  mutable avatar_type : avatar_type;
}

let default_oodgaoipjjn_mutable () : oodgaoipjjn_mutable = {
  avatar_id = 0l;
  avatar_type = default_avatar_type ();
}

type njdbokodjbe_mutable = {
  mutable avatar_list : oodgaoipjjn list;
  mutable odgoeojelah : int32;
  mutable group_id : int32;
}

let default_njdbokodjbe_mutable () : njdbokodjbe_mutable = {
  avatar_list = [];
  odgoeojelah = 0l;
  group_id = 0l;
}

type fpjdldlikmj_mutable = {
  mutable retcode : int32;
  mutable odgoeojelah : int32;
  mutable group_id : int32;
  mutable ibllilenejp : scene_battle_info option;
}

let default_fpjdldlikmj_mutable () : fpjdldlikmj_mutable = {
  retcode = 0l;
  odgoeojelah = 0l;
  group_id = 0l;
  ibllilenejp = None;
}

type adjidagpfff_mutable = {
  mutable jhkemkimlgi : aneollgbcci option;
  mutable group_id : int32;
}

let default_adjidagpfff_mutable () : adjidagpfff_mutable = {
  jhkemkimlgi = None;
  group_id = 0l;
}

type mpbmbeajjck_mutable = {
  mutable retcode : int32;
  mutable okhflbihfhm : int32 list;
  mutable iiabgecpafd : int32;
  mutable flchlighbkm : int32 list;
}

let default_mpbmbeajjck_mutable () : mpbmbeajjck_mutable = {
  retcode = 0l;
  okhflbihfhm = [];
  iiabgecpafd = 0l;
  flchlighbkm = [];
}

type gnjjdhmcdib_mutable = {
  mutable iiabgecpafd : int32;
  mutable flchlighbkm : int32 list;
  mutable okhflbihfhm : int32 list;
}

let default_gnjjdhmcdib_mutable () : gnjjdhmcdib_mutable = {
  iiabgecpafd = 0l;
  flchlighbkm = [];
  okhflbihfhm = [];
}

type ggglmgmblmb_mutable = {
  mutable iiabgecpafd : int32;
  mutable kkdinpdmodn : int32;
  mutable cfjdmlpfdoc : kndiidhnfel;
}

let default_ggglmgmblmb_mutable () : ggglmgmblmb_mutable = {
  iiabgecpafd = 0l;
  kkdinpdmodn = 0l;
  cfjdmlpfdoc = default_kndiidhnfel ();
}

type impfkfgcigd_mutable = {
  mutable ljbibineljp : int32 list;
  mutable ccnkclcogmc : int32 list;
}

let default_impfkfgcigd_mutable () : impfkfgcigd_mutable = {
  ljbibineljp = [];
  ccnkclcogmc = [];
}

type strong_challenge_avatar_mutable = {
  mutable avatar_type : avatar_type;
  mutable avatar_id : int32;
}

let default_strong_challenge_avatar_mutable () : strong_challenge_avatar_mutable = {
  avatar_type = default_avatar_type ();
  avatar_id = 0l;
}

type iephmhedddd_mutable = {
  mutable avatar_list : strong_challenge_avatar list;
  mutable buff_list : int32 list;
}

let default_iephmhedddd_mutable () : iephmhedddd_mutable = {
  avatar_list = [];
  buff_list = [];
}

type dgmbccdmfio_mutable = {
  mutable gakmanenkmh : int32;
  mutable dcjapmiemfg : int32;
  mutable eijcednnlih : iephmhedddd option;
  mutable stage_id : int32;
  mutable fjlnncjahng : int32;
}

let default_dgmbccdmfio_mutable () : dgmbccdmfio_mutable = {
  gakmanenkmh = 0l;
  dcjapmiemfg = 0l;
  eijcednnlih = None;
  stage_id = 0l;
  fjlnncjahng = 0l;
}

type hokldgknmmd_mutable = {
  mutable beafdhnmifn : (int32 * dgmbccdmfio) list;
}

let default_hokldgknmmd_mutable () : hokldgknmmd_mutable = {
  beafdhnmifn = [];
}

type oggoadohmfl_mutable = {
  mutable pbjndhogpeh : hokldgknmmd option;
  mutable retcode : int32;
}

let default_oggoadohmfl_mutable () : oggoadohmfl_mutable = {
  pbjndhogpeh = None;
  retcode = 0l;
}

type oealnplnfjf_mutable = {
  mutable stage_id : int32;
  mutable avatar_list : strong_challenge_avatar list;
  mutable buff_list : int32 list;
}

let default_oealnplnfjf_mutable () : oealnplnfjf_mutable = {
  stage_id = 0l;
  avatar_list = [];
  buff_list = [];
}

type ecidbkaabdp_mutable = {
  mutable retcode : int32;
  mutable ibllilenejp : scene_battle_info option;
  mutable stage_id : int32;
}

let default_ecidbkaabdp_mutable () : ecidbkaabdp_mutable = {
  retcode = 0l;
  ibllilenejp = None;
  stage_id = 0l;
}

type gaaiadienkl_mutable = {
  mutable kaijilgbjlc : int32;
  mutable lpgaoolbbfm : int32;
  mutable gakmanenkmh : int32;
  mutable stage_id : int32;
  mutable iklhngoamga : int32;
  mutable fcadgcfhlce : int32;
  mutable inncjmgfgip : int32;
  mutable end_status : battle_end_status;
}

let default_gaaiadienkl_mutable () : gaaiadienkl_mutable = {
  kaijilgbjlc = 0l;
  lpgaoolbbfm = 0l;
  gakmanenkmh = 0l;
  stage_id = 0l;
  iklhngoamga = 0l;
  fcadgcfhlce = 0l;
  inncjmgfgip = 0l;
  end_status = default_battle_end_status ();
}

type mnbmoppbcoo_mutable = {
  mutable pamafmppefi : int32;
  mutable odgoeojelah : int32;
  mutable group_id : int32;
}

let default_mnbmoppbcoo_mutable () : mnbmoppbcoo_mutable = {
  pamafmppefi = 0l;
  odgoeojelah = 0l;
  group_id = 0l;
}

type ahghhhilcgm_mutable = {
  mutable jgdennmdfko : mnbmoppbcoo list;
  mutable retcode : int32;
}

let default_ahghhhilcgm_mutable () : ahghhhilcgm_mutable = {
  jgdennmdfko = [];
  retcode = 0l;
}

type ldpldodnfph_mutable = {
  mutable avatar_type : avatar_type;
  mutable avatar_id : int32;
}

let default_ldpldodnfph_mutable () : ldpldodnfph_mutable = {
  avatar_type = default_avatar_type ();
  avatar_id = 0l;
}

type hgbifppeoia_mutable = {
  mutable group_id : int32;
  mutable avatar_list : ldpldodnfph list;
  mutable nknmlnkcpil : ldpldodnfph option;
  mutable odgoeojelah : int32;
}

let default_hgbifppeoia_mutable () : hgbifppeoia_mutable = {
  group_id = 0l;
  avatar_list = [];
  nknmlnkcpil = None;
  odgoeojelah = 0l;
}

type bdpdhkbeikg_mutable = {
  mutable group_id : int32;
  mutable ibllilenejp : scene_battle_info option;
  mutable odgoeojelah : int32;
  mutable retcode : int32;
}

let default_bdpdhkbeikg_mutable () : bdpdhkbeikg_mutable = {
  group_id = 0l;
  ibllilenejp = None;
  odgoeojelah = 0l;
  retcode = 0l;
}

type nmcdhgllhnb_mutable = {
  mutable pamafmppefi : int32;
  mutable odgoeojelah : int32;
  mutable foflcmnhakn : int32;
  mutable group_id : int32;
}

let default_nmcdhgllhnb_mutable () : nmcdhgllhnb_mutable = {
  pamafmppefi = 0l;
  odgoeojelah = 0l;
  foflcmnhakn = 0l;
  group_id = 0l;
}

type nfekediapge_mutable = {
  mutable joeicfcdnem : int32;
}

let default_nfekediapge_mutable () : nfekediapge_mutable = {
  joeicfcdnem = 0l;
}

type mihpphicnih_mutable = {
  mutable hgpelgifadf : int32;
  mutable cmjoambdell : bool;
}

let default_mihpphicnih_mutable () : mihpphicnih_mutable = {
  hgpelgifadf = 0l;
  cmjoambdell = false;
}

type cbgnjfgbgee_mutable = {
  mutable hgpelgifadf : int32;
  mutable pabpdlekjcp : bool;
}

let default_cbgnjfgbgee_mutable () : cbgnjfgbgee_mutable = {
  hgpelgifadf = 0l;
  pabpdlekjcp = false;
}

type blbpcmemjnc_mutable = {
  mutable blmeadkkape : unit;
  mutable iemgakcdajk : unit;
  mutable hckfijnmehb : nfekediapge option;
  mutable idogbgmibhn : unit;
  mutable ahfnfkkihaj : mihpphicnih option;
  mutable jjhgennbaig : unit;
  mutable ldfmdjoicah : unit;
  mutable npmjgigdmag : cbgnjfgbgee option;
}

let default_blbpcmemjnc_mutable () : blbpcmemjnc_mutable = {
  blmeadkkape = ();
  iemgakcdajk = ();
  hckfijnmehb = None;
  idogbgmibhn = ();
  ahfnfkkihaj = None;
  jjhgennbaig = ();
  ldfmdjoicah = ();
  npmjgigdmag = None;
}

type ofkendbkcbl_mutable = {
  mutable megpbceegbg : int32 list;
  mutable ijnpccndcgi : int32;
}

let default_ofkendbkcbl_mutable () : ofkendbkcbl_mutable = {
  megpbceegbg = [];
  ijnpccndcgi = 0l;
}

type ienjhcggjig_mutable = {
  mutable level : int32;
  mutable ocnjbebhbgo : int32;
}

let default_ienjhcggjig_mutable () : ienjhcggjig_mutable = {
  level = 0l;
  ocnjbebhbgo = 0l;
}

type fhmhhefpgin_mutable = {
  mutable nhpllohnnpa : ienjhcggjig list;
}

let default_fhmhhefpgin_mutable () : fhmhhefpgin_mutable = {
  nhpllohnnpa = [];
}

type gmmbihcfkoj_mutable = {
  mutable value : int32;
  mutable cpnkdpcablk : ehamhholmlo;
}

let default_gmmbihcfkoj_mutable () : gmmbihcfkoj_mutable = {
  value = 0l;
  cpnkdpcablk = default_ehamhholmlo ();
}

type cnifagkeclj_mutable = {
  mutable fjeencfpjph : int32;
  mutable gmoccampfnk : int32;
  mutable bndfcikelgn : gmmbihcfkoj list;
}

let default_cnifagkeclj_mutable () : cnifagkeclj_mutable = {
  fjeencfpjph = 0l;
  gmoccampfnk = 0l;
  bndfcikelgn = [];
}

type cggmebdeebe_mutable = {
  mutable begkgjcmjkh : int32;
  mutable hccjhiilppi : int32;
}

let default_cggmebdeebe_mutable () : cggmebdeebe_mutable = {
  begkgjcmjkh = 0l;
  hccjhiilppi = 0l;
}

type dfnhmidnfih_mutable = {
  mutable jijilpikghc : kkigfnbambb;
  mutable kekabacindh : cggmebdeebe list;
  mutable mibpnbjglgc : int32 list;
}

let default_dfnhmidnfih_mutable () : dfnhmidnfih_mutable = {
  jijilpikghc = default_kkigfnbambb ();
  kekabacindh = [];
  mibpnbjglgc = [];
}

type gfkifjlgbji_mutable = {
  mutable bddndfifhog : int32;
}

let default_gfkifjlgbji_mutable () : gfkifjlgbji_mutable = {
  bddndfifhog = 0l;
}

type gkjmkhadbhm_mutable = {
  mutable mamcoaebgbi : int32;
  mutable mldigofchdf : dfnhmidnfih option;
  mutable hoihjilfgna : gfkifjlgbji option;
}

let default_gkjmkhadbhm_mutable () : gkjmkhadbhm_mutable = {
  mamcoaebgbi = 0l;
  mldigofchdf = None;
  hoihjilfgna = None;
}

type anmohklghla_mutable = {
  mutable plpebgdmkbo : int32;
  mutable hjmjbiijegj : int32;
  mutable jcodcgklojn : int32 list;
}

let default_anmohklghla_mutable () : anmohklghla_mutable = {
  plpebgdmkbo = 0l;
  hjmjbiijegj = 0l;
  jcodcgklojn = [];
}

type lekclmamabb_mutable = {
  mutable lfleifodebe : blbpcmemjnc option;
  mutable likjgjnclen : ofkendbkcbl option;
  mutable jfbodfkjcdl : fhmhhefpgin option;
  mutable pbgelhmjcoa : cnifagkeclj option;
  mutable mjldomhofmk : int32 list;
  mutable hbnoljogigk : int32;
  mutable kphnlieefmi : gkjmkhadbhm option;
  mutable hhapkchnbea : anmohklghla option;
}

let default_lekclmamabb_mutable () : lekclmamabb_mutable = {
  lfleifodebe = None;
  likjgjnclen = None;
  jfbodfkjcdl = None;
  pbgelhmjcoa = None;
  mjldomhofmk = [];
  hbnoljogigk = 0l;
  kphnlieefmi = None;
  hhapkchnbea = None;
}

type aeamblofmpi_mutable = {
  mutable cpnkdpcablk : ehamhholmlo;
  mutable dhchppbnfeg : int32;
  mutable dcedopcicik : int32;
}

let default_aeamblofmpi_mutable () : aeamblofmpi_mutable = {
  cpnkdpcablk = default_ehamhholmlo ();
  dhchppbnfeg = 0l;
  dcedopcicik = 0l;
}

type iogbidfkhpm_mutable = {
  mutable dhchppbnfeg : int32;
  mutable dcedopcicik : int32;
}

let default_iogbidfkhpm_mutable () : iogbidfkhpm_mutable = {
  dhchppbnfeg = 0l;
  dcedopcicik = 0l;
}

type bbcapkmgaea_mutable = {
  mutable level : int32;
  mutable ocnjbebhbgo : int32;
  mutable fmpkgkkeelb : int32;
}

let default_bbcapkmgaea_mutable () : bbcapkmgaea_mutable = {
  level = 0l;
  ocnjbebhbgo = 0l;
  fmpkgkkeelb = 0l;
}

type caiajmhebpe_mutable = {
  mutable hbnoljogigk : int32;
  mutable ppgoielepbp : gkjmkhadbhm option;
}

let default_caiajmhebpe_mutable () : caiajmhebpe_mutable = {
  hbnoljogigk = 0l;
  ppgoielepbp = None;
}

type lpdohkmgbfm_mutable = {
  mutable joeicfcdnem : int32;
}

let default_lpdohkmgbfm_mutable () : lpdohkmgbfm_mutable = {
  joeicfcdnem = 0l;
}

type piknebbjogb_mutable = {
  mutable geplglcbnpd : aeamblofmpi option;
  mutable bkkmplogidp : iogbidfkhpm option;
  mutable nljpopadalj : iogbidfkhpm option;
  mutable cfjdpnoebmc : bbcapkmgaea option;
  mutable doipafkjfhh : caiajmhebpe option;
  mutable agmonjkadfn : mihpphicnih option;
  mutable kfgeokefamb : lpdohkmgbfm option;
  mutable adbgcdehnln : int32;
  mutable fjeencfpjph : int32;
  mutable aimpielkcep : cbgnjfgbgee option;
  mutable leimjcdlpkb : unit;
  mutable kdbkiggpfjk : int32;
}

let default_piknebbjogb_mutable () : piknebbjogb_mutable = {
  geplglcbnpd = None;
  bkkmplogidp = None;
  nljpopadalj = None;
  cfjdpnoebmc = None;
  doipafkjfhh = None;
  agmonjkadfn = None;
  kfgeokefamb = None;
  adbgcdehnln = 0l;
  fjeencfpjph = 0l;
  aimpielkcep = None;
  leimjcdlpkb = ();
  kdbkiggpfjk = 0l;
}

type lgkolnobmke_mutable = {
  mutable mkgoabedjeh : piknebbjogb option;
  mutable gnfpnbgacdf : nmabognbiph;
}

let default_lgkolnobmke_mutable () : lgkolnobmke_mutable = {
  mkgoabedjeh = None;
  gnfpnbgacdf = default_nmabognbiph ();
}

type bficmhohfpf_mutable = {
  mutable hgpelgifadf : int32;
  mutable cmjoambdell : bool;
}

let default_bficmhohfpf_mutable () : bficmhohfpf_mutable = {
  hgpelgifadf = 0l;
  cmjoambdell = false;
}

type cghamdopejg_mutable = {
  mutable lhcalbfcfjl : lgkolnobmke list;
}

let default_cghamdopejg_mutable () : cghamdopejg_mutable = {
  lhcalbfcfjl = [];
}

type dgipcmolhdc_mutable = {
  mutable progress : int32;
  mutable id : int32;
}

let default_dgipcmolhdc_mutable () : dgipcmolhdc_mutable = {
  progress = 0l;
  id = 0l;
}

type pncgfdodfbj_mutable = {
  mutable pmlhjpikfne : dgipcmolhdc list;
  mutable hhegkljjdol : int32 list;
}

let default_pncgfdodfbj_mutable () : pncgfdodfbj_mutable = {
  pmlhjpikfne = [];
  hhegkljjdol = [];
}

type oepndhlaocj_mutable = {
  mutable megpbceegbg : int32 list;
  mutable hfgdfjlfhll : bool;
  mutable retcode : int32;
  mutable iffefihhaod : int32;
  mutable hfcakgghnim : lekclmamabb option;
  mutable dbjocgbpkem : int32 list;
  mutable nacefnlkjek : int32 list;
  mutable bdaldfbhcjl : pncgfdodfbj option;
}

let default_oepndhlaocj_mutable () : oepndhlaocj_mutable = {
  megpbceegbg = [];
  hfgdfjlfhll = false;
  retcode = 0l;
  iffefihhaod = 0l;
  hfcakgghnim = None;
  dbjocgbpkem = [];
  nacefnlkjek = [];
  bdaldfbhcjl = None;
}

type gmpaedocmhb_mutable = {
  mutable pmcffigbbca : int32 list;
  mutable gkhjdaocipm : int32 list;
}

let default_gmpaedocmhb_mutable () : gmpaedocmhb_mutable = {
  pmcffigbbca = [];
  gkhjdaocipm = [];
}

type hhmcknhhjkd_mutable = {
  mutable retcode : int32;
  mutable pmcffigbbca : int32 list;
}

let default_hhmcknhhjkd_mutable () : hhmcknhhjkd_mutable = {
  retcode = 0l;
  pmcffigbbca = [];
}

type memoccbcknp_mutable = {
  mutable dfopbnjpmab : kkigfnbambb;
}

let default_memoccbcknp_mutable () : memoccbcknp_mutable = {
  dfopbnjpmab = default_kkigfnbambb ();
}

type biccoplpgcb_mutable = {
  mutable oiolgbomcbb : bool;
  mutable retcode : int32;
}

let default_biccoplpgcb_mutable () : biccoplpgcb_mutable = {
  oiolgbomcbb = false;
  retcode = 0l;
}

type ohfjifnacak_mutable = {
  mutable ojkjbeilgdc : int32;
}

let default_ohfjifnacak_mutable () : ohfjifnacak_mutable = {
  ojkjbeilgdc = 0l;
}

type mbkalfaemic_mutable = {
  mutable retcode : int32;
}

let default_mbkalfaemic_mutable () : mbkalfaemic_mutable = {
  retcode = 0l;
}

type gibceehbdhp_mutable = {
  mutable retcode : int32;
}

let default_gibceehbdhp_mutable () : gibceehbdhp_mutable = {
  retcode = 0l;
}

type igpghakolin_mutable = {
  mutable retcode : int32;
  mutable ibllilenejp : scene_battle_info option;
}

let default_igpghakolin_mutable () : igpghakolin_mutable = {
  retcode = 0l;
  ibllilenejp = None;
}

type fjmhhaahmfk_mutable = {
  mutable hgnfloilneg : int32;
}

let default_fjmhhaahmfk_mutable () : fjmhhaahmfk_mutable = {
  hgnfloilneg = 0l;
}

type plmjgmfnamh_mutable = {
  mutable retcode : int32;
  mutable hgnfloilneg : int32;
}

let default_plmjgmfnamh_mutable () : plmjgmfnamh_mutable = {
  retcode = 0l;
  hgnfloilneg = 0l;
}

type agmlhcjehnp_mutable = {
  mutable ijnpccndcgi : int32;
}

let default_agmlhcjehnp_mutable () : agmlhcjehnp_mutable = {
  ijnpccndcgi = 0l;
}

type nomomdajgjp_mutable = {
  mutable retcode : int32;
  mutable hfcakgghnim : lekclmamabb option;
}

let default_nomomdajgjp_mutable () : nomomdajgjp_mutable = {
  retcode = 0l;
  hfcakgghnim = None;
}

type gchmilhlfik_mutable = {
  mutable hgpelgifadf : int32;
}

let default_gchmilhlfik_mutable () : gchmilhlfik_mutable = {
  hgpelgifadf = 0l;
}

type mhplggpbphh_mutable = {
  mutable retcode : int32;
  mutable hgpelgifadf : int32;
}

let default_mhplggpbphh_mutable () : mhplggpbphh_mutable = {
  retcode = 0l;
  hgpelgifadf = 0l;
}

type eeeiakoijdp_mutable = {
  mutable retcode : int32;
}

let default_eeeiakoijdp_mutable () : eeeiakoijdp_mutable = {
  retcode = 0l;
}

type mfldbdcofoa_mutable = {
  mutable reward : item_list option;
  mutable mgdnainpahe : depohhphajh;
  mutable bfhblojhfbn : int32;
  mutable kmlmaidhiid : int32;
  mutable ijnpccndcgi : int32;
  mutable ppgoielepbp : int32;
  mutable gapieppjlaa : int32 list;
  mutable bdnbfapkglb : int32 list;
}

let default_mfldbdcofoa_mutable () : mfldbdcofoa_mutable = {
  reward = None;
  mgdnainpahe = default_depohhphajh ();
  bfhblojhfbn = 0l;
  kmlmaidhiid = 0l;
  ijnpccndcgi = 0l;
  ppgoielepbp = 0l;
  gapieppjlaa = [];
  bdnbfapkglb = [];
}

type jmhlacoghih_mutable = {
  mutable pmlhjpikfne : dgipcmolhdc list;
  mutable hhegkljjdol : int32 list;
}

let default_jmhlacoghih_mutable () : jmhlacoghih_mutable = {
  pmlhjpikfne = [];
  hhegkljjdol = [];
}

type jmdpmflhhji_mutable = {
  mutable pflbmbdfmoa : int32;
}

let default_jmdpmflhhji_mutable () : jmdpmflhhji_mutable = {
  pflbmbdfmoa = 0l;
}

type caljhhoopfm_mutable = {
  mutable retcode : int32;
  mutable pflbmbdfmoa : int32;
}

let default_caljhhoopfm_mutable () : caljhhoopfm_mutable = {
  retcode = 0l;
  pflbmbdfmoa = 0l;
}

type bdiokbdhahk_mutable = {
  mutable hfcakgghnim : lekclmamabb option;
  mutable retcode : int32;
}

let default_bdiokbdhahk_mutable () : bdiokbdhahk_mutable = {
  hfcakgghnim = None;
  retcode = 0l;
}

type mkfdpmdlmhf_mutable = {
  mutable retcode : int32;
  mutable ibllilenejp : scene_battle_info option;
}

let default_mkfdpmdlmhf_mutable () : mkfdpmdlmhf_mutable = {
  retcode = 0l;
  ibllilenejp = None;
}

type fplmkenpnjj_mutable = {
  mutable egjnanlfing : gmmbihcfkoj list;
  mutable feolddnidjp : int32;
}

let default_fplmkenpnjj_mutable () : fplmkenpnjj_mutable = {
  egjnanlfing = [];
  feolddnidjp = 0l;
}

type bjkiikoohdi_mutable = {
  mutable ijnpccndcgi : int32;
}

let default_bjkiikoohdi_mutable () : bjkiikoohdi_mutable = {
  ijnpccndcgi = 0l;
}

type mkbnigandmh_mutable = {
  mutable retcode : int32;
  mutable hfcakgghnim : lekclmamabb option;
}

let default_mkbnigandmh_mutable () : mkbnigandmh_mutable = {
  retcode = 0l;
  hfcakgghnim = None;
}

type kbeomioccmo_mutable = {
  mutable hgnfloilneg : int32;
}

let default_kbeomioccmo_mutable () : kbeomioccmo_mutable = {
  hgnfloilneg = 0l;
}

type gikfodcelhm_mutable = {
  mutable hgnfloilneg : int32;
  mutable retcode : int32;
}

let default_gikfodcelhm_mutable () : gikfodcelhm_mutable = {
  hgnfloilneg = 0l;
  retcode = 0l;
}

type hmkelhaiieo_mutable = {
  mutable retcode : int32;
}

let default_hmkelhaiieo_mutable () : hmkelhaiieo_mutable = {
  retcode = 0l;
}

type dfilomffafd_mutable = {
  mutable pnoolmohieh : int32;
  mutable stamina : int32;
}

let default_dfilomffafd_mutable () : dfilomffafd_mutable = {
  pnoolmohieh = 0l;
  stamina = 0l;
}

type amdcchadhnj_mutable = {
  mutable djjdncbpmfk : ilmpdolbflp list;
  mutable cpkikinabfj : string;
  mutable kdpdlgbfimd : bool;
}

let default_amdcchadhnj_mutable () : amdcchadhnj_mutable = {
  djjdncbpmfk = [];
  cpkikinabfj = "";
  kdpdlgbfimd = false;
}

type mgigkpibcid_mutable = {
  mutable avatar_list : avatar list;
}

let default_mgigkpibcid_mutable () : mgigkpibcid_mutable = {
  avatar_list = [];
}

type oiofbfhdfci_mutable = {
  mutable goojfjoomdc : dlompnobmja list;
  mutable ipodiiadolh : int32 list;
  mutable ommnpnbabhn : int32 list;
  mutable hjnfpofkanm : mission list;
  mutable mapjkehplbn : ihgeeangifc list;
  mutable dgoigglciko : int32 list;
  mutable limpnlbchpl : int32 list;
}

let default_oiofbfhdfci_mutable () : oiofbfhdfci_mutable = {
  goojfjoomdc = [];
  ipodiiadolh = [];
  ommnpnbabhn = [];
  hjnfpofkanm = [];
  mapjkehplbn = [];
  dgoigglciko = [];
  limpnlbchpl = [];
}

type anfldllfjhp_mutable = {
  mutable nloponhbgod : int32 list;
  mutable mkbbddpdmoi : mission list;
  mutable gogjmmkhilb : int32 list;
}

let default_anfldllfjhp_mutable () : anfldllfjhp_mutable = {
  nloponhbgod = [];
  mkbbddpdmoi = [];
  gogjmmkhilb = [];
}

type cbpblopaocm_mutable = {
  mutable kmfpienacdg : int32 list;
  mutable bcedhodkdna : int32 list;
}

let default_cbpblopaocm_mutable () : cbpblopaocm_mutable = {
  kmfpienacdg = [];
  bcedhodkdna = [];
}

type nfccnkngbke_mutable = {
  mutable cokophbhocf : int32;
  mutable kagnbjdmamf : int32;
}

let default_nfccnkngbke_mutable () : nfccnkngbke_mutable = {
  cokophbhocf = 0l;
  kagnbjdmamf = 0l;
}

type fflpjlakgim_mutable = {
  mutable basic_info : player_basic_info option;
  mutable relic_list : lhpihhdiplm list;
  mutable equipment_list : mdlbakehplp list;
  mutable deadfemndnk : ipcffjhaijg list;
  mutable melkjffjnkb : oiofbfhdfci option;
  mutable flnjichokac : aoacdcgcmej list;
  mutable pnlbagbglfd : eejpmepikga list;
  mutable emfekeedafc : int32 list;
  mutable mjbalomkgdg : int32 list;
  mutable dbnddbjfikl : anfldllfjhp option;
  mutable cbhiiikinol : nfccnkngbke list;
  mutable egbapniokip : mgigkpibcid option;
  mutable mongepojhkd : jnicjgmnafm list;
  mutable mkijkaoaokm : amdcchadhnj option;
  mutable igcimdmbdfa : int32;
  mutable pbppjohlbad : dfilomffafd option;
  mutable pdljebofmep : dejjkifldfb list;
  mutable egmlhakbkmc : aoacdcgcmej list;
  mutable diocdcpkolk : int32 list;
  mutable epdnicajoli : multi_path_avatar list;
  mutable ilcelhlkamj : item_list option;
  mutable gigmmbhcdij : cbpblopaocm option;
}

let default_fflpjlakgim_mutable () : fflpjlakgim_mutable = {
  basic_info = None;
  relic_list = [];
  equipment_list = [];
  deadfemndnk = [];
  melkjffjnkb = None;
  flnjichokac = [];
  pnlbagbglfd = [];
  emfekeedafc = [];
  mjbalomkgdg = [];
  dbnddbjfikl = None;
  cbhiiikinol = [];
  egbapniokip = None;
  mongepojhkd = [];
  mkijkaoaokm = None;
  igcimdmbdfa = 0l;
  pbppjohlbad = None;
  pdljebofmep = [];
  egmlhakbkmc = [];
  diocdcpkolk = [];
  epdnicajoli = [];
  ilcelhlkamj = None;
  gigmmbhcdij = None;
}

type apmclbiejpn_mutable = {
  mutable pnigjhppmln : int32;
}

let default_apmclbiejpn_mutable () : apmclbiejpn_mutable = {
  pnigjhppmln = 0l;
}

type hncebojkknh_mutable = {
  mutable ombidcbhbod : int32 list;
  mutable retcode : int32;
  mutable pnigjhppmln : int32;
}

let default_hncebojkknh_mutable () : hncebojkknh_mutable = {
  ombidcbhbod = [];
  retcode = 0l;
  pnigjhppmln = 0l;
}

type bjbhlbkodjk_mutable = {
  mutable hcjlnnfiogc : int32;
  mutable hhakfcdngok : vector option;
}

let default_bjbhlbkodjk_mutable () : bjbhlbkodjk_mutable = {
  hcjlnnfiogc = 0l;
  hhakfcdngok = None;
}

type jdmnghmikgh_mutable = {
  mutable hcjlnnfiogc : int32;
  mutable reward : item_list option;
  mutable retcode : int32;
}

let default_jdmnghmikgh_mutable () : jdmnghmikgh_mutable = {
  hcjlnnfiogc = 0l;
  reward = None;
  retcode = 0l;
}

type gpjfibhdkhh_mutable = {
  mutable knncoohambc : int32 list;
}

let default_gpjfibhdkhh_mutable () : gpjfibhdkhh_mutable = {
  knncoohambc = [];
}

type caelfpofmmj_mutable = {
  mutable fhhkhmdleno : bool;
  mutable elalbdgiapo : int32;
}

let default_caelfpofmmj_mutable () : caelfpofmmj_mutable = {
  fhhkhmdleno = false;
  elalbdgiapo = 0l;
}

type lgpphodkglk_mutable = {
  mutable lljmpejacne : caelfpofmmj list;
  mutable retcode : int32;
}

let default_lgpphodkglk_mutable () : lgpphodkglk_mutable = {
  lljmpejacne = [];
  retcode = 0l;
}

type ejfomkhdopf_mutable = {
  mutable elalbdgiapo : int32;
}

let default_ejfomkhdopf_mutable () : ejfomkhdopf_mutable = {
  elalbdgiapo = 0l;
}

type clbhecajmon_mutable = {
  mutable elalbdgiapo : int32;
  mutable retcode : int32;
}

let default_clbhecajmon_mutable () : clbhecajmon_mutable = {
  elalbdgiapo = 0l;
  retcode = 0l;
}

type jjkdobellnm_mutable = {
  mutable daeehalilod : int32;
}

let default_jjkdobellnm_mutable () : jjkdobellnm_mutable = {
  daeehalilod = 0l;
}

type bbfjcpghojm_mutable = {
  mutable retcode : int32;
  mutable daeehalilod : int32;
}

let default_bbfjcpghojm_mutable () : bbfjcpghojm_mutable = {
  retcode = 0l;
  daeehalilod = 0l;
}

type afkjnogkidl_mutable = {
  mutable fbekcndnmfe : int32;
  mutable fhhkhmdleno : bool;
}

let default_afkjnogkidl_mutable () : afkjnogkidl_mutable = {
  fbekcndnmfe = 0l;
  fhhkhmdleno = false;
}

type pbcoigienpa_mutable = {
  mutable klbckeejghh : int32 list;
}

let default_pbcoigienpa_mutable () : pbcoigienpa_mutable = {
  klbckeejghh = [];
}

type jgmliannaif_mutable = {
  mutable lljmpejacne : afkjnogkidl list;
  mutable retcode : int32;
}

let default_jgmliannaif_mutable () : jgmliannaif_mutable = {
  lljmpejacne = [];
  retcode = 0l;
}

type ldkphhejnmm_mutable = {
  mutable fbekcndnmfe : int32;
}

let default_ldkphhejnmm_mutable () : ldkphhejnmm_mutable = {
  fbekcndnmfe = 0l;
}

type bbdmebkcoem_mutable = {
  mutable retcode : int32;
  mutable fbekcndnmfe : int32;
  mutable reward : item_list option;
}

let default_bbdmebkcoem_mutable () : bbdmebkcoem_mutable = {
  retcode = 0l;
  fbekcndnmfe = 0l;
  reward = None;
}

type glilglpgodo_mutable = {
  mutable ppoegdhjlke : int32;
  mutable gakmanenkmh : int32;
  mutable lbggbhfhdeg : int32;
}

let default_glilglpgodo_mutable () : glilglpgodo_mutable = {
  ppoegdhjlke = 0l;
  gakmanenkmh = 0l;
  lbggbhfhdeg = 0l;
}

type bjjcffhmopd_mutable = {
  mutable kcgjglleflg : glilglpgodo list;
  mutable retcode : int32;
}

let default_bjjcffhmopd_mutable () : bjjcffhmopd_mutable = {
  kcgjglleflg = [];
  retcode = 0l;
}

type mpbdgeailof_mutable = {
  mutable kcgjglleflg : glilglpgodo list;
}

let default_mpbdgeailof_mutable () : mpbdgeailof_mutable = {
  kcgjglleflg = [];
}

type eojghonebdd_mutable = {
  mutable anjcemifefc : int32;
  mutable hpegmhpcfem : int32;
  mutable mokbbafhbjn : glilglpgodo option;
  mutable mahiocfcikf : int32;
  mutable mphcmmfkpog : int32;
}

let default_eojghonebdd_mutable () : eojghonebdd_mutable = {
  anjcemifefc = 0l;
  hpegmhpcfem = 0l;
  mokbbafhbjn = None;
  mahiocfcikf = 0l;
  mphcmmfkpog = 0l;
}

type poklpkkcaad_mutable = {
  mutable avatar_type : avatar_type;
  mutable avatar_id : int32;
}

let default_poklpkkcaad_mutable () : poklpkkcaad_mutable = {
  avatar_type = default_avatar_type ();
  avatar_id = 0l;
}

type fbjjlepeflm_mutable = {
  mutable ppoegdhjlke : int32;
  mutable buff_list : int32 list;
  mutable avatar_list : poklpkkcaad list;
}

let default_fbjjlepeflm_mutable () : fbjjlepeflm_mutable = {
  ppoegdhjlke = 0l;
  buff_list = [];
  avatar_list = [];
}

type egaindjnekn_mutable = {
  mutable retcode : int32;
  mutable ibllilenejp : scene_battle_info option;
  mutable ppoegdhjlke : int32;
}

let default_egaindjnekn_mutable () : egaindjnekn_mutable = {
  retcode = 0l;
  ibllilenejp = None;
  ppoegdhjlke = 0l;
}

type okgmgbpllhg_mutable = {
  mutable hfhomlnogbc : string;
  mutable aiecnaafflj : int32;
  mutable emamkmopfci : string;
  mutable akjcolodghe : int32;
  mutable doblbefaofp : int32;
}

let default_okgmgbpllhg_mutable () : okgmgbpllhg_mutable = {
  hfhomlnogbc = "";
  aiecnaafflj = 0l;
  emamkmopfci = "";
  akjcolodghe = 0l;
  doblbefaofp = 0l;
}

type dmlpggkagbh_mutable = {
  mutable hfhomlnogbc : string;
  mutable aiecnaafflj : int32;
  mutable akjcolodghe : int32;
}

let default_dmlpggkagbh_mutable () : dmlpggkagbh_mutable = {
  hfhomlnogbc = "";
  aiecnaafflj = 0l;
  akjcolodghe = 0l;
}

type ajcbkjegiin_mutable = {
  mutable akjcolodghe : int32;
  mutable aiecnaafflj : int32;
  mutable retcode : int32;
  mutable hfhomlnogbc : string;
}

let default_ajcbkjegiin_mutable () : ajcbkjegiin_mutable = {
  akjcolodghe = 0l;
  aiecnaafflj = 0l;
  retcode = 0l;
  hfhomlnogbc = "";
}

type cifieflilcg_mutable = {
  mutable hpoppknopda : int32 list;
}

let default_cifieflilcg_mutable () : cifieflilcg_mutable = {
  hpoppknopda = [];
}

type aacbnhhcjcf_mutable = {
  mutable retcode : int32;
  mutable komlgafbhol : okgmgbpllhg list;
}

let default_aacbnhhcjcf_mutable () : aacbnhhcjcf_mutable = {
  retcode = 0l;
  komlgafbhol = [];
}

type mcmibjbpcpc_mutable = {
  mutable komlgafbhol : okgmgbpllhg list;
}

let default_mcmibjbpcpc_mutable () : mcmibjbpcpc_mutable = {
  komlgafbhol = [];
}

type onfphghabkn_mutable = {
  mutable retcode : int32;
  mutable komlgafbhol : okgmgbpllhg list;
}

let default_onfphghabkn_mutable () : onfphghabkn_mutable = {
  retcode = 0l;
  komlgafbhol = [];
}

type dkmgobmngna_mutable = {
  mutable gakmanenkmh : int32;
  mutable stage_id : int32;
}

let default_dkmgobmngna_mutable () : dkmgobmngna_mutable = {
  gakmanenkmh = 0l;
  stage_id = 0l;
}

type caihfoekdkg_mutable = {
  mutable loiacnoghal : dkmgobmngna list;
  mutable retcode : int32;
}

let default_caihfoekdkg_mutable () : caihfoekdkg_mutable = {
  loiacnoghal = [];
  retcode = 0l;
}

type bhbmdjfabkp_mutable = {
  mutable phkkegggmdi : int32;
  mutable cikiifgkobo : bool;
}

let default_bhbmdjfabkp_mutable () : bhbmdjfabkp_mutable = {
  phkkegggmdi = 0l;
  cikiifgkobo = false;
}

type blhbkgmhioi_mutable = {
  mutable llicomkidom : bhbmdjfabkp list;
  mutable stage_id : int32;
  mutable cost_time : int32;
}

let default_blhbkgmhioi_mutable () : blhbkgmhioi_mutable = {
  llicomkidom = [];
  stage_id = 0l;
  cost_time = 0l;
}

type kbmejebjblb_mutable = {
  mutable llicomkidom : bhbmdjfabkp list;
  mutable lpgaoolbbfm : int32;
  mutable retcode : int32;
  mutable stage_id : int32;
}

let default_kbmejebjblb_mutable () : kbmejebjblb_mutable = {
  llicomkidom = [];
  lpgaoolbbfm = 0l;
  retcode = 0l;
  stage_id = 0l;
}

type oejfojfeook_mutable = {
  mutable stage_id : int32;
  mutable nipjabamela : bool;
}

let default_oejfojfeook_mutable () : oejfojfeook_mutable = {
  stage_id = 0l;
  nipjabamela = false;
}

type hlhbilfmihg_mutable = {
  mutable fnpojgdggpm : int32;
  mutable retcode : int32;
}

let default_hlhbilfmihg_mutable () : hlhbilfmihg_mutable = {
  fnpojgdggpm = 0l;
  retcode = 0l;
}

type pifnkahjacn_mutable = {
  mutable stage_id : int32;
}

let default_pifnkahjacn_mutable () : pifnkahjacn_mutable = {
  stage_id = 0l;
}

type ekacihfcebb_mutable = {
  mutable retcode : int32;
}

let default_ekacihfcebb_mutable () : ekacihfcebb_mutable = {
  retcode = 0l;
}

type imehehjilbf_mutable = {
  mutable fhhkhmdleno : bool;
  mutable kjdlimfggmd : int32;
}

let default_imehehjilbf_mutable () : imehehjilbf_mutable = {
  fhhkhmdleno = false;
  kjdlimfggmd = 0l;
}

type jcoigmjglmi_mutable = {
  mutable kjdlimfggmd : int32;
}

let default_jcoigmjglmi_mutable () : jcoigmjglmi_mutable = {
  kjdlimfggmd = 0l;
}

type pbhnlblmpaa_mutable = {
  mutable reward : item_list option;
  mutable kjdlimfggmd : int32;
  mutable retcode : int32;
}

let default_pbhnlblmpaa_mutable () : pbhnlblmpaa_mutable = {
  reward = None;
  kjdlimfggmd = 0l;
  retcode = 0l;
}

type fpkkikjjnjo_mutable = {
  mutable gppailmfnpc : int32 list;
}

let default_fpkkikjjnjo_mutable () : fpkkikjjnjo_mutable = {
  gppailmfnpc = [];
}

type flkndlkfapo_mutable = {
  mutable retcode : int32;
  mutable aaiiofpbclc : imehehjilbf list;
}

let default_flkndlkfapo_mutable () : flkndlkfapo_mutable = {
  retcode = 0l;
  aaiiofpbclc = [];
}

type klnondaeimi_mutable = {
  mutable cjgpnhfjgem : int64;
}

let default_klnondaeimi_mutable () : klnondaeimi_mutable = {
  cjgpnhfjgem = 0L;
}

type gfdkjpbgndm_mutable = {
  mutable fgmdoekgpee : indhbbjiean;
  mutable kjdlimfggmd : int32;
  mutable reward : item_list option;
}

let default_gfdkjpbgndm_mutable () : gfdkjpbgndm_mutable = {
  fgmdoekgpee = default_indhbbjiean ();
  kjdlimfggmd = 0l;
  reward = None;
}

type gmmckeldapa_mutable = {
  mutable mbggfmadnhj : int32 list;
  mutable kjdlimfggmd : int32;
  mutable kkmajbpemnh : bool;
  mutable lmdjgffdebk : int32;
  mutable status : ffppaobdjgo;
}

let default_gmmckeldapa_mutable () : gmmckeldapa_mutable = {
  mbggfmadnhj = [];
  kjdlimfggmd = 0l;
  kkmajbpemnh = false;
  lmdjgffdebk = 0l;
  status = default_ffppaobdjgo ();
}

type ccoihlmpiac_mutable = {
  mutable fgmdoekgpee : heppgbeaopd;
}

let default_ccoihlmpiac_mutable () : ccoihlmpiac_mutable = {
  fgmdoekgpee = default_heppgbeaopd ();
}

type lhjfoefkhmg_mutable = {
  mutable hiinpcllmlh : gmmckeldapa list;
  mutable mfdbddconkm : int32 list;
  mutable retcode : int32;
}

let default_lhjfoefkhmg_mutable () : lhjfoefkhmg_mutable = {
  hiinpcllmlh = [];
  mfdbddconkm = [];
  retcode = 0l;
}

type ajonbhidggp_mutable = {
  mutable kjdlimfggmd : int32;
}

let default_ajonbhidggp_mutable () : ajonbhidggp_mutable = {
  kjdlimfggmd = 0l;
}

type pmhjadjahah_mutable = {
  mutable retcode : int32;
  mutable mbggfmadnhj : int32 list;
  mutable kjdlimfggmd : int32;
}

let default_pmhjadjahah_mutable () : pmhjadjahah_mutable = {
  retcode = 0l;
  mbggfmadnhj = [];
  kjdlimfggmd = 0l;
}

type npkoljalcid_mutable = {
  mutable mfdbddconkm : int32 list;
}

let default_npkoljalcid_mutable () : npkoljalcid_mutable = {
  mfdbddconkm = [];
}

type hdgbdehfdal_mutable = {
  mutable retcode : int32;
}

let default_hdgbdehfdal_mutable () : hdgbdehfdal_mutable = {
  retcode = 0l;
}

type edpcmbkldpp_mutable = {
  mutable ppikfajecgn : int32;
  mutable jhaokflajhi : int32;
  mutable unique_id : int64;
  mutable lefamlnchdb : int32;
  mutable oppiofgaapm : int32;
  mutable hgjolgkaofj : int32;
}

let default_edpcmbkldpp_mutable () : edpcmbkldpp_mutable = {
  ppikfajecgn = 0l;
  jhaokflajhi = 0l;
  unique_id = 0L;
  lefamlnchdb = 0l;
  oppiofgaapm = 0l;
  hgjolgkaofj = 0l;
}

type plhfolkmaji_mutable = {
  mutable ejglndccacp : int32;
  mutable bmojbiafcan : nbdeaohmgpd;
  mutable mmdkdomadkc : nepgcakaimg;
  mutable nanmhcnadkg : edpcmbkldpp list;
  mutable elhpffpejcd : int32;
}

let default_plhfolkmaji_mutable () : plhfolkmaji_mutable = {
  ejglndccacp = 0l;
  bmojbiafcan = default_nbdeaohmgpd ();
  mmdkdomadkc = default_nepgcakaimg ();
  nanmhcnadkg = [];
  elhpffpejcd = 0l;
}

type ebhhobohldg_mutable = {
  mutable iklpaikjkha : (int32 * plhfolkmaji) list;
  mutable retcode : int32;
  mutable dmoappoigef : (int32 * int32) list;
  mutable ogcfmckhlja : int32;
}

let default_ebhhobohldg_mutable () : ebhhobohldg_mutable = {
  iklpaikjkha = [];
  retcode = 0l;
  dmoappoigef = [];
  ogcfmckhlja = 0l;
}

type kehccelcakp_mutable = {
  mutable elhpffpejcd : int32;
}

let default_kehccelcakp_mutable () : kehccelcakp_mutable = {
  elhpffpejcd = 0l;
}

type dlnlcelilmh_mutable = {
  mutable elhpffpejcd : int32;
  mutable ejglndccacp : int32;
}

let default_dlnlcelilmh_mutable () : dlnlcelilmh_mutable = {
  elhpffpejcd = 0l;
  ejglndccacp = 0l;
}

type jkkodmojmcp_mutable = {
  mutable fibbcankfpi : plhfolkmaji option;
  mutable retcode : int32;
  mutable reward : item_list option;
}

let default_jkkodmojmcp_mutable () : jkkodmojmcp_mutable = {
  fibbcankfpi = None;
  retcode = 0l;
  reward = None;
}

type moejhbphboe_mutable = {
  mutable elhpffpejcd : int32;
  mutable oppiofgaapm : int32;
  mutable jhaokflajhi : int32;
  mutable lefamlnchdb : int32;
  mutable hgjolgkaofj : int32;
  mutable ppikfajecgn : int32;
}

let default_moejhbphboe_mutable () : moejhbphboe_mutable = {
  elhpffpejcd = 0l;
  oppiofgaapm = 0l;
  jhaokflajhi = 0l;
  lefamlnchdb = 0l;
  hgjolgkaofj = 0l;
  ppikfajecgn = 0l;
}

type lhogneaekbm_mutable = {
  mutable retcode : int32;
  mutable fibbcankfpi : plhfolkmaji option;
}

let default_lhogneaekbm_mutable () : lhogneaekbm_mutable = {
  retcode = 0l;
  fibbcankfpi = None;
}

type phnejeildid_mutable = {
  mutable hgjolgkaofj : int32;
  mutable unique_id : int64;
  mutable elhpffpejcd : int32;
}

let default_phnejeildid_mutable () : phnejeildid_mutable = {
  hgjolgkaofj = 0l;
  unique_id = 0L;
  elhpffpejcd = 0l;
}

type djoaplnhnnm_mutable = {
  mutable fibbcankfpi : plhfolkmaji option;
  mutable retcode : int32;
}

let default_djoaplnhnnm_mutable () : djoaplnhnnm_mutable = {
  fibbcankfpi = None;
  retcode = 0l;
}

type kjjnbcjpofd_mutable = {
  mutable ppikfajecgn : int32;
  mutable lefamlnchdb : int32;
  mutable jhaokflajhi : int32;
  mutable oppiofgaapm : int32;
  mutable hgjolgkaofj : int32;
  mutable elhpffpejcd : int32;
  mutable unique_id : int64;
}

let default_kjjnbcjpofd_mutable () : kjjnbcjpofd_mutable = {
  ppikfajecgn = 0l;
  lefamlnchdb = 0l;
  jhaokflajhi = 0l;
  oppiofgaapm = 0l;
  hgjolgkaofj = 0l;
  elhpffpejcd = 0l;
  unique_id = 0L;
}

type lbeilmencmg_mutable = {
  mutable retcode : int32;
  mutable fibbcankfpi : plhfolkmaji option;
}

let default_lbeilmencmg_mutable () : lbeilmencmg_mutable = {
  retcode = 0l;
  fibbcankfpi = None;
}

type eildnlloolg_mutable = {
  mutable cokophbhocf : int32;
  mutable kagnbjdmamf : int32;
}

let default_eildnlloolg_mutable () : eildnlloolg_mutable = {
  cokophbhocf = 0l;
  kagnbjdmamf = 0l;
}

type dldkemoempi_mutable = {
  mutable value : int32;
}

let default_dldkemoempi_mutable () : dldkemoempi_mutable = {
  value = 0l;
}

type acemjognmli_mutable = {
  mutable retcode : int32;
}

let default_acemjognmli_mutable () : acemjognmli_mutable = {
  retcode = 0l;
}

type bogbdeohiom_mutable = {
  mutable clehhaedpae : nepgcakaimg;
  mutable elhpffpejcd : int32;
}

let default_bogbdeohiom_mutable () : bogbdeohiom_mutable = {
  clehhaedpae = default_nepgcakaimg ();
  elhpffpejcd = 0l;
}

type oedabbebong_mutable = {
  mutable retcode : int32;
}

let default_oedabbebong_mutable () : oedabbebong_mutable = {
  retcode = 0l;
}

type mdjglknfbcl_mutable = {
  mutable elhpffpejcd : int32;
}

let default_mdjglknfbcl_mutable () : mdjglknfbcl_mutable = {
  elhpffpejcd = 0l;
}

type ngdapheckdd_mutable = {
  mutable fibbcankfpi : plhfolkmaji option;
  mutable retcode : int32;
}

let default_ngdapheckdd_mutable () : ngdapheckdd_mutable = {
  fibbcankfpi = None;
  retcode = 0l;
}

type daonkhoicpl_mutable = {
  mutable oppiofgaapm : int32;
  mutable hgjolgkaofj : int32;
  mutable jhaokflajhi : int32;
  mutable lefamlnchdb : int32;
  mutable ppikfajecgn : int32;
}

let default_daonkhoicpl_mutable () : daonkhoicpl_mutable = {
  oppiofgaapm = 0l;
  hgjolgkaofj = 0l;
  jhaokflajhi = 0l;
  lefamlnchdb = 0l;
  ppikfajecgn = 0l;
}

type agfommpgbeh_mutable = {
  mutable ejkllkececl : daonkhoicpl list;
  mutable elhpffpejcd : int32;
}

let default_agfommpgbeh_mutable () : agfommpgbeh_mutable = {
  ejkllkececl = [];
  elhpffpejcd = 0l;
}

type idechpiaipb_mutable = {
  mutable fibbcankfpi : plhfolkmaji option;
  mutable retcode : int32;
}

let default_idechpiaipb_mutable () : idechpiaipb_mutable = {
  fibbcankfpi = None;
  retcode = 0l;
}

type treasure_dungeon_record_data_mutable = {
  mutable type_ : domnbbdobkg;
  mutable param_2 : int32;
  mutable target_grid_id : int32;
  mutable param_1 : int32;
  mutable source_grid_id : int32;
}

let default_treasure_dungeon_record_data_mutable () : treasure_dungeon_record_data_mutable = {
  type_ = default_domnbbdobkg ();
  param_2 = 0l;
  target_grid_id = 0l;
  param_1 = 0l;
  source_grid_id = 0l;
}

type adihimnhjmc_mutable = {
  mutable pkkfndimmio : int32;
  mutable kkjoplahmam : int32;
}

let default_adihimnhjmc_mutable () : adihimnhjmc_mutable = {
  pkkfndimmio = 0l;
  kkjoplahmam = 0l;
}

type nhomjjpmlml_mutable = {
  mutable avatar_id : int32;
  mutable avatar_type : int32;
  mutable hp : int32;
  mutable elolchjhcpa : int32;
  mutable sp : sp_progress option;
}

let default_nhomjjpmlml_mutable () : nhomjjpmlml_mutable = {
  avatar_id = 0l;
  avatar_type = 0l;
  hp = 0l;
  elolchjhcpa = 0l;
  sp = None;
}

type fmkkknpkhka_mutable = {
  mutable avatar_id : int32;
  mutable avatar_type : int32;
}

let default_fmkkknpkhka_mutable () : fmkkknpkhka_mutable = {
  avatar_id = 0l;
  avatar_type = 0l;
}

type olekkhgdbno_mutable = {
  mutable olfhccbiidg : int32;
  mutable hgjolgkaofj : int32;
}

let default_olekkhgdbno_mutable () : olekkhgdbno_mutable = {
  olfhccbiidg = 0l;
  hgjolgkaofj = 0l;
}

type kckckdlbgah_mutable = {
  mutable mgokheahgno : int32;
  mutable pkkfndimmio : int32;
  mutable odfbamohefb : int32;
  mutable hfofggdjldk : int32;
  mutable mdplfmdjfji : int32;
}

let default_kckckdlbgah_mutable () : kckckdlbgah_mutable = {
  mgokheahgno = 0l;
  pkkfndimmio = 0l;
  odfbamohefb = 0l;
  hfofggdjldk = 0l;
  mdplfmdjfji = 0l;
}

type eihmdnhfbhi_mutable = {
  mutable mdplfmdjfji : int32;
  mutable jllomgfnoad : bool;
  mutable kjhdclobejc : bool;
  mutable kjbihcphcco : bool;
  mutable buff_list : kckckdlbgah list;
  mutable pghfklcblcf : int32;
  mutable eeilehahchh : bool;
  mutable emdckdplfno : int32;
}

let default_eihmdnhfbhi_mutable () : eihmdnhfbhi_mutable = {
  mdplfmdjfji = 0l;
  jllomgfnoad = false;
  kjhdclobejc = false;
  kjbihcphcco = false;
  buff_list = [];
  pghfklcblcf = 0l;
  eeilehahchh = false;
  emdckdplfno = 0l;
}

type gfkhhobedjc_mutable = {
  mutable fdhmddjckbm : int32;
  mutable ccgokknidmp : int32;
  mutable ihojbibbmjk : int32;
  mutable buff_list : adihimnhjmc list;
  mutable acnhklfedmn : treasure_dungeon_record_data list;
  mutable lnjapmhfcck : int32;
  mutable avatar_list : nhomjjpmlml list;
  mutable dodenbklklh : bool;
  mutable gepegecgkgd : int32;
  mutable bdajebnoflc : fmkkknpkhka list;
  mutable dckcbphknmm : int32;
  mutable kcinaojggca : nhomjjpmlml list;
  mutable gabmdafmbia : int32;
  mutable koonaacohgh : bool;
  mutable olpededenmb : bool;
  mutable pdpfcfglgco : olekkhgdbno list;
  mutable ibbomefncba : int32;
  mutable nnfelodhecl : eihmdnhfbhi list;
}

let default_gfkhhobedjc_mutable () : gfkhhobedjc_mutable = {
  fdhmddjckbm = 0l;
  ccgokknidmp = 0l;
  ihojbibbmjk = 0l;
  buff_list = [];
  acnhklfedmn = [];
  lnjapmhfcck = 0l;
  avatar_list = [];
  dodenbklklh = false;
  gepegecgkgd = 0l;
  bdajebnoflc = [];
  dckcbphknmm = 0l;
  kcinaojggca = [];
  gabmdafmbia = 0l;
  koonaacohgh = false;
  olpededenmb = false;
  pdpfcfglgco = [];
  ibbomefncba = 0l;
  nnfelodhecl = [];
}

type nkjmbndffmp_mutable = {
  mutable fimenpabjlk : gfkhhobedjc option;
}

let default_nkjmbndffmp_mutable () : nkjmbndffmp_mutable = {
  fimenpabjlk = None;
}

type cdaklgjjdag_mutable = {
  mutable ihojbibbmjk : int32;
  mutable dckcbphknmm : int32;
  mutable dfggjlmnblk : int32;
  mutable llbhkchlhfl : int32;
  mutable mmnebfbnoni : bool;
  mutable apconhladef : (int32 * int32) list;
  mutable iacdjpcmgem : (int32 * int32) list;
}

let default_cdaklgjjdag_mutable () : cdaklgjjdag_mutable = {
  ihojbibbmjk = 0l;
  dckcbphknmm = 0l;
  dfggjlmnblk = 0l;
  llbhkchlhfl = 0l;
  mmnebfbnoni = false;
  apconhladef = [];
  iacdjpcmgem = [];
}

type bcgidhjgbeh_mutable = {
  mutable ihojbibbmjk : int32;
  mutable dckcbphknmm : int32;
  mutable fdhmddjckbm : int32;
  mutable jfbghenfbmh : bool;
  mutable ccgokknidmp : int32;
  mutable nhbjkfibgbk : bool;
  mutable fknlibdaomf : int32;
}

let default_bcgidhjgbeh_mutable () : bcgidhjgbeh_mutable = {
  ihojbibbmjk = 0l;
  dckcbphknmm = 0l;
  fdhmddjckbm = 0l;
  jfbghenfbmh = false;
  ccgokknidmp = 0l;
  nhbjkfibgbk = false;
  fknlibdaomf = 0l;
}

type ceaeicabldl_mutable = {
  mutable lflniekplaj : bcgidhjgbeh list;
  mutable retcode : int32;
}

let default_ceaeicabldl_mutable () : ceaeicabldl_mutable = {
  lflniekplaj = [];
  retcode = 0l;
}

type bohmllfkgdb_mutable = {
  mutable avatar_id : int32;
  mutable avatar_type : avatar_type;
}

let default_bohmllfkgdb_mutable () : bohmllfkgdb_mutable = {
  avatar_id = 0l;
  avatar_type = default_avatar_type ();
}

type egfcfmidplk_mutable = {
  mutable dckcbphknmm : int32;
  mutable avatar_list : bohmllfkgdb list;
}

let default_egfcfmidplk_mutable () : egfcfmidplk_mutable = {
  dckcbphknmm = 0l;
  avatar_list = [];
}

type oaiphfkhfhf_mutable = {
  mutable fimenpabjlk : gfkhhobedjc option;
  mutable retcode : int32;
}

let default_oaiphfkhfhf_mutable () : oaiphfkhfhf_mutable = {
  fimenpabjlk = None;
  retcode = 0l;
}

type kdffhgdidnj_mutable = {
  mutable dckcbphknmm : int32;
  mutable mdplfmdjfji : int32;
}

let default_kdffhgdidnj_mutable () : kdffhgdidnj_mutable = {
  dckcbphknmm = 0l;
  mdplfmdjfji = 0l;
}

type jjaapmnnpkb_mutable = {
  mutable retcode : int32;
  mutable fimenpabjlk : gfkhhobedjc option;
}

let default_jjaapmnnpkb_mutable () : jjaapmnnpkb_mutable = {
  retcode = 0l;
  fimenpabjlk = None;
}

type nbdnjolnelg_mutable = {
  mutable dckcbphknmm : int32;
  mutable mdplfmdjfji : int32;
  mutable iihookopmmk : int32;
}

let default_nbdnjolnelg_mutable () : nbdnjolnelg_mutable = {
  dckcbphknmm = 0l;
  mdplfmdjfji = 0l;
  iihookopmmk = 0l;
}

type ndimhdecnpi_mutable = {
  mutable fimenpabjlk : gfkhhobedjc option;
  mutable retcode : int32;
}

let default_ndimhdecnpi_mutable () : ndimhdecnpi_mutable = {
  fimenpabjlk = None;
  retcode = 0l;
}

type licdjbkkfal_mutable = {
  mutable hgjolgkaofj : int32;
  mutable mdplfmdjfji : int32;
  mutable dckcbphknmm : int32;
}

let default_licdjbkkfal_mutable () : licdjbkkfal_mutable = {
  hgjolgkaofj = 0l;
  mdplfmdjfji = 0l;
  dckcbphknmm = 0l;
}

type piogcpmnabf_mutable = {
  mutable fimenpabjlk : gfkhhobedjc option;
  mutable retcode : int32;
}

let default_piogcpmnabf_mutable () : piogcpmnabf_mutable = {
  fimenpabjlk = None;
  retcode = 0l;
}

type nkadmflinkc_mutable = {
  mutable avatar_list : bohmllfkgdb list;
  mutable dckcbphknmm : int32;
  mutable mdplfmdjfji : int32;
}

let default_nkadmflinkc_mutable () : nkadmflinkc_mutable = {
  avatar_list = [];
  dckcbphknmm = 0l;
  mdplfmdjfji = 0l;
}

type elleinlllod_mutable = {
  mutable ibllilenejp : scene_battle_info option;
  mutable retcode : int32;
}

let default_elleinlllod_mutable () : elleinlllod_mutable = {
  ibllilenejp = None;
  retcode = 0l;
}

type mmgpeoifnbp_mutable = {
  mutable dckcbphknmm : int32;
  mutable piofaglkghg : bool;
}

let default_mmgpeoifnbp_mutable () : mmgpeoifnbp_mutable = {
  dckcbphknmm = 0l;
  piofaglkghg = false;
}

type lacfgpmpdpj_mutable = {
  mutable retcode : int32;
}

let default_lacfgpmpdpj_mutable () : lacfgpmpdpj_mutable = {
  retcode = 0l;
}

type tutorial_mutable = {
  mutable id : int32;
  mutable status : jmfbfepgebc;
}

let default_tutorial_mutable () : tutorial_mutable = {
  id = 0l;
  status = default_jmfbfepgebc ();
}

type tutorial_guide_mutable = {
  mutable id : int32;
  mutable status : jmfbfepgebc;
}

let default_tutorial_guide_mutable () : tutorial_guide_mutable = {
  id = 0l;
  status = default_jmfbfepgebc ();
}

type get_tutorial_sc_rsp_mutable = {
  mutable tutorial_list : tutorial list;
  mutable retcode : int32;
}

let default_get_tutorial_sc_rsp_mutable () : get_tutorial_sc_rsp_mutable = {
  tutorial_list = [];
  retcode = 0l;
}

type get_tutorial_guide_sc_rsp_mutable = {
  mutable tutorial_guide_list : tutorial_guide list;
  mutable retcode : int32;
}

let default_get_tutorial_guide_sc_rsp_mutable () : get_tutorial_guide_sc_rsp_mutable = {
  tutorial_guide_list = [];
  retcode = 0l;
}

type oplbnbefnjj_mutable = {
  mutable bjmhgbbfpmn : int32;
}

let default_oplbnbefnjj_mutable () : oplbnbefnjj_mutable = {
  bjmhgbbfpmn = 0l;
}

type unlock_tutorial_sc_rsp_mutable = {
  mutable retcode : int32;
  mutable tutorial : tutorial option;
}

let default_unlock_tutorial_sc_rsp_mutable () : unlock_tutorial_sc_rsp_mutable = {
  retcode = 0l;
  tutorial = None;
}

type mgnmibjadbe_mutable = {
  mutable group_id : int32;
}

let default_mgnmibjadbe_mutable () : mgnmibjadbe_mutable = {
  group_id = 0l;
}

type unlock_tutorial_guide_sc_rsp_mutable = {
  mutable tutorial_guide : tutorial_guide option;
  mutable retcode : int32;
}

let default_unlock_tutorial_guide_sc_rsp_mutable () : unlock_tutorial_guide_sc_rsp_mutable = {
  tutorial_guide = None;
  retcode = 0l;
}

type obkljeiahea_mutable = {
  mutable bjmhgbbfpmn : int32;
}

let default_obkljeiahea_mutable () : obkljeiahea_mutable = {
  bjmhgbbfpmn = 0l;
}

type finish_tutorial_sc_rsp_mutable = {
  mutable tutorial : tutorial option;
  mutable retcode : int32;
}

let default_finish_tutorial_sc_rsp_mutable () : finish_tutorial_sc_rsp_mutable = {
  tutorial = None;
  retcode = 0l;
}

type nlgambkaaie_mutable = {
  mutable group_id : int32;
}

let default_nlgambkaaie_mutable () : nlgambkaaie_mutable = {
  group_id = 0l;
}

type finish_tutorial_guide_sc_rsp_mutable = {
  mutable retcode : int32;
  mutable tutorial_guide : tutorial_guide option;
  mutable reward : item_list option;
}

let default_finish_tutorial_guide_sc_rsp_mutable () : finish_tutorial_guide_sc_rsp_mutable = {
  retcode = 0l;
  tutorial_guide = None;
  reward = None;
}

type nlbpclnhcjn_mutable = {
  mutable id : int32;
  mutable kollpgccdil : bool;
  mutable kojolodooni : int32;
}

let default_nlbpclnhcjn_mutable () : nlbpclnhcjn_mutable = {
  id = 0l;
  kollpgccdil = false;
  kojolodooni = 0l;
}

type jpkjdnbmhnl_mutable = {
  mutable kollpgccdil : bool;
  mutable efoafoabnon : int32;
  mutable id : int32;
  mutable ghchnanjdfb : int32 list;
}

let default_jpkjdnbmhnl_mutable () : jpkjdnbmhnl_mutable = {
  kollpgccdil = false;
  efoafoabnon = 0l;
  id = 0l;
  ghchnanjdfb = [];
}

type eehicbnnfej_mutable = {
  mutable eiiaaffjcda : nlbpclnhcjn list;
  mutable eeghmjloiap : jpkjdnbmhnl option;
}

let default_eehicbnnfej_mutable () : eehicbnnfej_mutable = {
  eiiaaffjcda = [];
  eeghmjloiap = None;
}

type eogickanbpl_mutable = {
  mutable mhhndeiccmp : int32;
}

let default_eogickanbpl_mutable () : eogickanbpl_mutable = {
  mhhndeiccmp = 0l;
}

type cbjjhcohoko_mutable = {
  mutable mcdcffpnpal : eehicbnnfej option;
  mutable retcode : int32;
  mutable impkmnjoncg : int32;
}

let default_cbjjhcohoko_mutable () : cbjjhcohoko_mutable = {
  mcdcffpnpal = None;
  retcode = 0l;
  impkmnjoncg = 0l;
}

type infclppcfii_mutable = {
  mutable cielfhbbkif : int32;
}

let default_infclppcfii_mutable () : infclppcfii_mutable = {
  cielfhbbkif = 0l;
}

type ocfjiflmdmf_mutable = {
  mutable retcode : int32;
  mutable impkmnjoncg : int32;
}

let default_ocfjiflmdmf_mutable () : ocfjiflmdmf_mutable = {
  retcode = 0l;
  impkmnjoncg = 0l;
}

type cookpofdkal_mutable = {
  mutable impkmnjoncg : int32;
  mutable eadjabjkdmd : jpkjdnbmhnl list;
  mutable retcode : int32;
}

let default_cookpofdkal_mutable () : cookpofdkal_mutable = {
  impkmnjoncg = 0l;
  eadjabjkdmd = [];
  retcode = 0l;
}

type inkhgacfojg_mutable = {
  mutable cielfhbbkif : int32;
  mutable mhhndeiccmp : int32;
}

let default_inkhgacfojg_mutable () : inkhgacfojg_mutable = {
  cielfhbbkif = 0l;
  mhhndeiccmp = 0l;
}

type ljffpoepbog_mutable = {
  mutable mhhndeiccmp : int32;
  mutable llonjcmgcfh : int32;
}

let default_ljffpoepbog_mutable () : ljffpoepbog_mutable = {
  mhhndeiccmp = 0l;
  llonjcmgcfh = 0l;
}

type bfbaccbmiem_mutable = {
  mutable retcode : int32;
  mutable mhhndeiccmp : int32;
  mutable llonjcmgcfh : int32;
}

let default_bfbaccbmiem_mutable () : bfbaccbmiem_mutable = {
  retcode = 0l;
  mhhndeiccmp = 0l;
  llonjcmgcfh = 0l;
}

type bldfddbpnba_mutable = {
  mutable bhjdpndboha : vector list;
  mutable jililehmdkg : motion_info option;
  mutable bojongdmfck : bool;
  mutable flamaakibdo : int32;
}

let default_bldfddbpnba_mutable () : bldfddbpnba_mutable = {
  bhjdpndboha = [];
  jililehmdkg = None;
  bojongdmfck = false;
  flamaakibdo = 0l;
}

type megkociblgl_mutable = {
  mutable flamaakibdo : int32;
  mutable id : int32;
  mutable bojongdmfck : bool;
  mutable bhjdpndboha : vector list;
  mutable mbmegghhkjl : string;
  mutable icebhafphej : bldfddbpnba option;
}

let default_megkociblgl_mutable () : megkociblgl_mutable = {
  flamaakibdo = 0l;
  id = 0l;
  bojongdmfck = false;
  bhjdpndboha = [];
  mbmegghhkjl = "";
  icebhafphej = None;
}

type cffmmlmbakg_mutable = {
  mutable podpafooomg : iggijbjppoc option;
  mutable jililehmdkg : motion_info option;
  mutable nipjabamela : bool;
  mutable id : int32;
}

let default_cffmmlmbakg_mutable () : cffmmlmbakg_mutable = {
  podpafooomg = None;
  jililehmdkg = None;
  nipjabamela = false;
  id = 0l;
}

type ocabdlfgddo_mutable = {
  mutable retcode : int32;
  mutable dkefdkdleip : megkociblgl option;
}

let default_ocabdlfgddo_mutable () : ocabdlfgddo_mutable = {
  retcode = 0l;
  dkefdkdleip = None;
}

type bbejpgcgoeg_mutable = {
  mutable id : int32;
  mutable jililehmdkg : motion_info option;
}

let default_bbejpgcgoeg_mutable () : bbejpgcgoeg_mutable = {
  id = 0l;
  jililehmdkg = None;
}

type knnddnnphdo_mutable = {
  mutable dkefdkdleip : megkociblgl option;
  mutable retcode : int32;
}

let default_knnddnnphdo_mutable () : knnddnnphdo_mutable = {
  dkefdkdleip = None;
  retcode = 0l;
}

type dlemcdhgehe_mutable = {
  mutable id : int32;
}

let default_dlemcdhgehe_mutable () : dlemcdhgehe_mutable = {
  id = 0l;
}

type fhodkhmblge_mutable = {
  mutable retcode : int32;
  mutable dkefdkdleip : megkociblgl option;
}

let default_fhodkhmblge_mutable () : fhodkhmblge_mutable = {
  retcode = 0l;
  dkefdkdleip = None;
}

type hkfphajhobo_mutable = {
  mutable id : int32;
}

let default_hkfphajhobo_mutable () : hkfphajhobo_mutable = {
  id = 0l;
}

type obmalglckij_mutable = {
  mutable retcode : int32;
  mutable dkefdkdleip : megkociblgl option;
}

let default_obmalglckij_mutable () : obmalglckij_mutable = {
  retcode = 0l;
  dkefdkdleip = None;
}

type bhhgnciilln_mutable = {
  mutable id : int32;
}

let default_bhhgnciilln_mutable () : bhhgnciilln_mutable = {
  id = 0l;
}

type nccafebhggn_mutable = {
  mutable retcode : int32;
  mutable dkefdkdleip : megkociblgl option;
}

let default_nccafebhggn_mutable () : nccafebhggn_mutable = {
  retcode = 0l;
  dkefdkdleip = None;
}

type nphghnpilgh_mutable = {
  mutable dkefdkdleip : megkociblgl option;
}

let default_nphghnpilgh_mutable () : nphghnpilgh_mutable = {
  dkefdkdleip = None;
}

type bmnpakcohnb_mutable = {
  mutable fdlfjmagnod : vector option;
  mutable ohainjgiflk : int32 list;
}

let default_bmnpakcohnb_mutable () : bmnpakcohnb_mutable = {
  fdlfjmagnod = None;
  ohainjgiflk = [];
}

type klekfnbkhle_mutable = {
  mutable retcode : int32;
  mutable dkefdkdleip : megkociblgl option;
}

let default_klekfnbkhle_mutable () : klekfnbkhle_mutable = {
  retcode = 0l;
  dkefdkdleip = None;
}

type mkoahlhfigf_mutable = {
  mutable fdlfjmagnod : vector option;
}

let default_mkoahlhfigf_mutable () : mkoahlhfigf_mutable = {
  fdlfjmagnod = None;
}

type fghhgocefoj_mutable = {
  mutable retcode : int32;
  mutable dkefdkdleip : megkociblgl option;
}

let default_fghhgocefoj_mutable () : fghhgocefoj_mutable = {
  retcode = 0l;
  dkefdkdleip = None;
}

type fmckljimojc_mutable = {
  mutable pfbnanpcdjh : int32;
  mutable group_id : int32;
}

let default_fmckljimojc_mutable () : fmckljimojc_mutable = {
  pfbnanpcdjh = 0l;
  group_id = 0l;
}

type dcpbeknpeij_mutable = {
  mutable retcode : int32;
}

let default_dcpbeknpeij_mutable () : dcpbeknpeij_mutable = {
  retcode = 0l;
}

type mgeahpkhpao_mutable = {
  mutable ohainjgiflk : int32 list;
}

let default_mgeahpkhpao_mutable () : mgeahpkhpao_mutable = {
  ohainjgiflk = [];
}

type mjchmfgimgb_mutable = {
  mutable retcode : int32;
}

let default_mjchmfgimgb_mutable () : mjchmfgimgb_mutable = {
  retcode = 0l;
}

type packet_head_mutable = {
  mutable packet_id : int32;
  mutable sign_type : int32;
  mutable sign : int32;
  mutable user_id : int32;
  mutable src_addr : int32;
  mutable dst_addr : int32;
  mutable dispatch_type : int32;
  mutable server_type : int32;
  mutable dispatch_key : int32;
  mutable user_session_id : int32;
  mutable id : int32;
  mutable coroutine_id : int32;
  mutable hop_cnt : int32;
}

let default_packet_head_mutable () : packet_head_mutable = {
  packet_id = 0l;
  sign_type = 0l;
  sign = 0l;
  user_id = 0l;
  src_addr = 0l;
  dst_addr = 0l;
  dispatch_type = 0l;
  server_type = 0l;
  dispatch_key = 0l;
  user_session_id = 0l;
  id = 0l;
  coroutine_id = 0l;
  hop_cnt = 0l;
}

[@@@ocaml.warning "-27-30-39"]

(** {2 Protobuf Encoding} *)

let rec encode_pb_avatar_slot_type (v:avatar_slot_type) encoder =
  match v with
  | Avatar_slot_1 -> Pbrt.Encoder.int_as_varint (0) encoder
  | Avatar_slot_2 -> Pbrt.Encoder.int_as_varint 1 encoder
  | Avatar_slot_3 -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_item_type (v:item_type) encoder =
  match v with
  | Item_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Item_avatar_card -> Pbrt.Encoder.int_as_varint 1 encoder
  | Item_equipment -> Pbrt.Encoder.int_as_varint 2 encoder
  | Item_material -> Pbrt.Encoder.int_as_varint 3 encoder
  | Item_avatar_exp -> Pbrt.Encoder.int_as_varint 4 encoder
  | Item_relic -> Pbrt.Encoder.int_as_varint 5 encoder

let rec encode_pb_virtual_item (v:virtual_item) encoder =
  match v with
  | Virtual_item_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Virtual_item_hcoin -> Pbrt.Encoder.int_as_varint 1 encoder
  | Virtual_item_scoin -> Pbrt.Encoder.int_as_varint 2 encoder
  | Virtual_item_mcoin -> Pbrt.Encoder.int_as_varint 3 encoder
  | Virtual_item_stamina -> Pbrt.Encoder.int_as_varint 11 encoder
  | Virtual_item_reserve_stamina -> Pbrt.Encoder.int_as_varint 12 encoder
  | Virtual_item_avatar_exp -> Pbrt.Encoder.int_as_varint 21 encoder
  | Virtual_item_exp -> Pbrt.Encoder.int_as_varint 22 encoder
  | Virtual_item_daily_active_point -> Pbrt.Encoder.int_as_varint 23 encoder
  | Virtual_item_mp_max -> Pbrt.Encoder.int_as_varint 24 encoder
  | Virtual_item_player_return_point -> Pbrt.Encoder.int_as_varint 25 encoder
  | Virtual_item_battle_college_point -> Pbrt.Encoder.int_as_varint 26 encoder
  | Virtual_item_rogue_coin -> Pbrt.Encoder.int_as_varint 31 encoder
  | Virtual_item_rogue_talent_coin -> Pbrt.Encoder.int_as_varint 32 encoder
  | Virtual_item_rogue_reward_key -> Pbrt.Encoder.int_as_varint 33 encoder
  | Virtual_item_achievement_exp -> Pbrt.Encoder.int_as_varint 41 encoder
  | Virtual_item_bp_exp -> Pbrt.Encoder.int_as_varint 51 encoder
  | Virtual_item_bp_real_exp -> Pbrt.Encoder.int_as_varint 52 encoder
  | Virtual_item_museum_funds -> Pbrt.Encoder.int_as_varint 53 encoder
  | Virtual_item_warrior_exp -> Pbrt.Encoder.int_as_varint 190 encoder
  | Virtual_item_rogue_exp -> Pbrt.Encoder.int_as_varint 191 encoder
  | Virtual_item_mage_exp -> Pbrt.Encoder.int_as_varint 192 encoder
  | Virtual_item_shaman_exp -> Pbrt.Encoder.int_as_varint 193 encoder
  | Virtual_item_warlock_exp -> Pbrt.Encoder.int_as_varint 194 encoder
  | Virtual_item_knight_exp -> Pbrt.Encoder.int_as_varint 195 encoder
  | Virtual_item_priest_exp -> Pbrt.Encoder.int_as_varint 196 encoder
  | Virtual_item_punk_lord_point -> Pbrt.Encoder.int_as_varint 100000 encoder
  | Virtual_item_gameplay_counter_monster_sneak_vision -> Pbrt.Encoder.int_as_varint 280001 encoder
  | Virtual_item_gameplay_counter_wolf_bro_bullet -> Pbrt.Encoder.int_as_varint 280002 encoder
  | Virtual_item_alley_funds -> Pbrt.Encoder.int_as_varint 281001 encoder
  | Virtual_item_rogue_puman_coupon -> Pbrt.Encoder.int_as_varint 281012 encoder
  | Virtual_item_month_card -> Pbrt.Encoder.int_as_varint 300101 encoder
  | Virtual_item_bp_normal -> Pbrt.Encoder.int_as_varint 300102 encoder
  | Virtual_item_bp_deluxe -> Pbrt.Encoder.int_as_varint 300103 encoder
  | Virtual_item_bp_upgrade -> Pbrt.Encoder.int_as_varint 300104 encoder
  | Virtual_item_heliobus_fans -> Pbrt.Encoder.int_as_varint 281002 encoder
  | Virtual_item_space_zoo_hybrid_item -> Pbrt.Encoder.int_as_varint 281003 encoder
  | Virtual_item_space_zoo_exp_point -> Pbrt.Encoder.int_as_varint 281004 encoder
  | Virtual_item_rogue_nous_talent_coin -> Pbrt.Encoder.int_as_varint 281013 encoder
  | Virtual_item_evolve_build_coin -> Pbrt.Encoder.int_as_varint 281019 encoder
  | Virtual_item_drink_maker_tip -> Pbrt.Encoder.int_as_varint 281005 encoder
  | Virtual_item_monopoly_dice -> Pbrt.Encoder.int_as_varint 281014 encoder
  | Virtual_item_monopoly_coin -> Pbrt.Encoder.int_as_varint 281015 encoder
  | Virtual_item_monopoly_cheatdice -> Pbrt.Encoder.int_as_varint 281016 encoder
  | Virtual_item_monopoly_reroll -> Pbrt.Encoder.int_as_varint 281017 encoder
  | Virtual_item_rogue_tourn_permanent_talent_coin -> Pbrt.Encoder.int_as_varint 281018 encoder
  | Virtual_item_rogue_tourn_exp -> Pbrt.Encoder.int_as_varint 281022 encoder
  | Virtual_item_matchthree_coin -> Pbrt.Encoder.int_as_varint 281024 encoder
  | Virtual_item_sword_training_skill_point -> Pbrt.Encoder.int_as_varint 281023 encoder
  | Virtual_item_fight_fest_coin -> Pbrt.Encoder.int_as_varint 281025 encoder

let rec encode_pb_gameplay_counter_type (v:gameplay_counter_type) encoder =
  match v with
  | Gameplay_counter_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Gameplay_counter_monster_sneak_vision -> Pbrt.Encoder.int_as_varint 280001 encoder

let rec encode_pb_black_limit_level (v:black_limit_level) encoder =
  match v with
  | Black_limit_level_all -> Pbrt.Encoder.int_as_varint (0) encoder

let rec encode_pb_area_type (v:area_type) encoder =
  match v with
  | Area_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Area_cn -> Pbrt.Encoder.int_as_varint 1 encoder
  | Area_jp -> Pbrt.Encoder.int_as_varint 2 encoder
  | Area_asia -> Pbrt.Encoder.int_as_varint 3 encoder
  | Area_west -> Pbrt.Encoder.int_as_varint 4 encoder
  | Area_kr -> Pbrt.Encoder.int_as_varint 5 encoder
  | Area_overseas -> Pbrt.Encoder.int_as_varint 6 encoder

let rec encode_pb_entity_type (v:entity_type) encoder =
  match v with
  | Entity_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Entity_avatar -> Pbrt.Encoder.int_as_varint 1 encoder
  | Entity_monster -> Pbrt.Encoder.int_as_varint 2 encoder
  | Entity_npc -> Pbrt.Encoder.int_as_varint 3 encoder
  | Entity_prop -> Pbrt.Encoder.int_as_varint 4 encoder
  | Entity_trigger -> Pbrt.Encoder.int_as_varint 5 encoder
  | Entity_env -> Pbrt.Encoder.int_as_varint 6 encoder
  | Entity_summon_unit -> Pbrt.Encoder.int_as_varint 7 encoder

let rec encode_pb_language_type (v:language_type) encoder =
  match v with
  | Language_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Language_sc -> Pbrt.Encoder.int_as_varint 1 encoder
  | Language_tc -> Pbrt.Encoder.int_as_varint 2 encoder
  | Language_en -> Pbrt.Encoder.int_as_varint 3 encoder
  | Language_kr -> Pbrt.Encoder.int_as_varint 4 encoder
  | Language_jp -> Pbrt.Encoder.int_as_varint 5 encoder
  | Language_fr -> Pbrt.Encoder.int_as_varint 6 encoder
  | Language_de -> Pbrt.Encoder.int_as_varint 7 encoder
  | Language_es -> Pbrt.Encoder.int_as_varint 8 encoder
  | Language_pt -> Pbrt.Encoder.int_as_varint 9 encoder
  | Language_ru -> Pbrt.Encoder.int_as_varint 10 encoder
  | Language_th -> Pbrt.Encoder.int_as_varint 11 encoder
  | Language_vi -> Pbrt.Encoder.int_as_varint 12 encoder
  | Language_id -> Pbrt.Encoder.int_as_varint 13 encoder

let rec encode_pb_platform_type (v:platform_type) encoder =
  match v with
  | Editor -> Pbrt.Encoder.int_as_varint (0) encoder
  | Ios -> Pbrt.Encoder.int_as_varint 1 encoder
  | Android -> Pbrt.Encoder.int_as_varint 2 encoder
  | Pc -> Pbrt.Encoder.int_as_varint 3 encoder
  | Web -> Pbrt.Encoder.int_as_varint 4 encoder
  | Wap -> Pbrt.Encoder.int_as_varint 5 encoder
  | Ps4 -> Pbrt.Encoder.int_as_varint 6 encoder
  | Nintendo -> Pbrt.Encoder.int_as_varint 7 encoder
  | Cloud_android -> Pbrt.Encoder.int_as_varint 8 encoder
  | Cloud_pc -> Pbrt.Encoder.int_as_varint 9 encoder
  | Cloud_ios -> Pbrt.Encoder.int_as_varint 10 encoder
  | Ps5 -> Pbrt.Encoder.int_as_varint 11 encoder
  | Mac -> Pbrt.Encoder.int_as_varint 12 encoder
  | Cloud_mac -> Pbrt.Encoder.int_as_varint 13 encoder
  | Cloud_web_android -> Pbrt.Encoder.int_as_varint 20 encoder
  | Cloud_web_ios -> Pbrt.Encoder.int_as_varint 21 encoder
  | Cloud_web_pc -> Pbrt.Encoder.int_as_varint 22 encoder
  | Cloud_web_mac -> Pbrt.Encoder.int_as_varint 23 encoder
  | Cloud_web_touch -> Pbrt.Encoder.int_as_varint 24 encoder
  | Cloud_web_keyboard -> Pbrt.Encoder.int_as_varint 25 encoder

let rec encode_pb_relogin_type (v:relogin_type) encoder =
  match v with
  | No_kick -> Pbrt.Encoder.int_as_varint (0) encoder
  | Force_kick -> Pbrt.Encoder.int_as_varint 1 encoder
  | Idle_kick -> Pbrt.Encoder.int_as_varint 2 encoder
  | Silence -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_avatar_type (v:avatar_type) encoder =
  match v with
  | Avatar_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Avatar_trial_type -> Pbrt.Encoder.int_as_varint 1 encoder
  | Avatar_limit_type -> Pbrt.Encoder.int_as_varint 2 encoder
  | Avatar_formal_type -> Pbrt.Encoder.int_as_varint 3 encoder
  | Avatar_assist_type -> Pbrt.Encoder.int_as_varint 4 encoder
  | Avatar_aether_divide_type -> Pbrt.Encoder.int_as_varint 5 encoder
  | Avatar_upgrade_available_type -> Pbrt.Encoder.int_as_varint 6 encoder

let rec encode_pb_multi_path_avatar_type (v:multi_path_avatar_type) encoder =
  match v with
  | Multi_path_avatar_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Mar_7th_knight_type -> Pbrt.Encoder.int_as_varint 1001 encoder
  | Mar_7th_rogue_type -> Pbrt.Encoder.int_as_varint 1224 encoder
  | Boy_warrior_type -> Pbrt.Encoder.int_as_varint 8001 encoder
  | Girl_warrior_type -> Pbrt.Encoder.int_as_varint 8002 encoder
  | Boy_knight_type -> Pbrt.Encoder.int_as_varint 8003 encoder
  | Girl_knight_type -> Pbrt.Encoder.int_as_varint 8004 encoder
  | Boy_shaman_type -> Pbrt.Encoder.int_as_varint 8005 encoder
  | Girl_shaman_type -> Pbrt.Encoder.int_as_varint 8006 encoder

let rec encode_pb_gender (v:gender) encoder =
  match v with
  | Gender_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Gender_man -> Pbrt.Encoder.int_as_varint 1 encoder
  | Gender_woman -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_dhlmiciamka (v:dhlmiciamka) encoder =
  match v with
  | Product_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Product_normal -> Pbrt.Encoder.int_as_varint 1 encoder
  | Product_limit -> Pbrt.Encoder.int_as_varint 2 encoder
  | Product_limit_no_pay -> Pbrt.Encoder.int_as_varint 3 encoder
  | Product_no_process_order -> Pbrt.Encoder.int_as_varint 4 encoder

let rec encode_pb_pifanmpbmaj (v:pifanmpbmaj) encoder =
  match v with
  | Product_gift_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Product_gift_coin -> Pbrt.Encoder.int_as_varint 1 encoder
  | Product_gift_month_card -> Pbrt.Encoder.int_as_varint 2 encoder
  | Product_gift_bp_68 -> Pbrt.Encoder.int_as_varint 3 encoder
  | Product_gift_bp_128 -> Pbrt.Encoder.int_as_varint 4 encoder
  | Product_gift_bp68_upgrade_128 -> Pbrt.Encoder.int_as_varint 5 encoder
  | Product_gift_point_card -> Pbrt.Encoder.int_as_varint 6 encoder
  | Product_gift_ps_pre_order_1 -> Pbrt.Encoder.int_as_varint 7 encoder
  | Product_gift_ps_pre_order_2 -> Pbrt.Encoder.int_as_varint 8 encoder
  | Product_gift_google_points_100 -> Pbrt.Encoder.int_as_varint 9 encoder
  | Product_gift_google_points_150 -> Pbrt.Encoder.int_as_varint 10 encoder
  | Product_gift_ps_point_card_030 -> Pbrt.Encoder.int_as_varint 11 encoder
  | Product_gift_ps_point_card_050 -> Pbrt.Encoder.int_as_varint 12 encoder
  | Product_gift_ps_point_card_100 -> Pbrt.Encoder.int_as_varint 13 encoder

let rec encode_pb_feature_switch_type (v:feature_switch_type) encoder =
  match v with
  | Feature_switch_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Feature_switch_shop -> Pbrt.Encoder.int_as_varint 1 encoder
  | Feature_switch_lineup_name -> Pbrt.Encoder.int_as_varint 2 encoder
  | Feature_switch_recharge_shop -> Pbrt.Encoder.int_as_varint 3 encoder
  | Feature_switch_nickname -> Pbrt.Encoder.int_as_varint 4 encoder
  | Feature_switch_signature -> Pbrt.Encoder.int_as_varint 5 encoder
  | Feature_switch_battlepass -> Pbrt.Encoder.int_as_varint 6 encoder
  | Feature_switch_punk_lord -> Pbrt.Encoder.int_as_varint 7 encoder
  | Feature_switch_monthcard_daily -> Pbrt.Encoder.int_as_varint 8 encoder
  | Feature_switch_picture_share -> Pbrt.Encoder.int_as_varint 9 encoder
  | Feature_switch_rogue -> Pbrt.Encoder.int_as_varint 10 encoder
  | Feature_switch_challenge -> Pbrt.Encoder.int_as_varint 11 encoder
  | Feature_switch_cocoon -> Pbrt.Encoder.int_as_varint 12 encoder
  | Feature_switch_raid -> Pbrt.Encoder.int_as_varint 13 encoder
  | Feature_switch_maze_plane_event -> Pbrt.Encoder.int_as_varint 14 encoder
  | Feature_switch_activity_panel -> Pbrt.Encoder.int_as_varint 15 encoder
  | Feature_switch_mailbox -> Pbrt.Encoder.int_as_varint 16 encoder
  | Feature_switch_quest -> Pbrt.Encoder.int_as_varint 17 encoder
  | Feature_switch_gacha -> Pbrt.Encoder.int_as_varint 18 encoder
  | Feature_switch_chat -> Pbrt.Encoder.int_as_varint 19 encoder
  | Feature_switch_modify_friend_alias -> Pbrt.Encoder.int_as_varint 20 encoder
  | Feature_switch_use_item -> Pbrt.Encoder.int_as_varint 21 encoder
  | Feature_switch_activity_schedule -> Pbrt.Encoder.int_as_varint 22 encoder
  | Feature_switch_farm_element -> Pbrt.Encoder.int_as_varint 23 encoder
  | Feature_switch_achievement_level -> Pbrt.Encoder.int_as_varint 24 encoder
  | Feature_switch_daily_active_level -> Pbrt.Encoder.int_as_varint 25 encoder
  | Feature_switch_player_return -> Pbrt.Encoder.int_as_varint 26 encoder
  | Feature_switch_first_set_nickname -> Pbrt.Encoder.int_as_varint 27 encoder
  | Feature_switch_main_mission_reward -> Pbrt.Encoder.int_as_varint 28 encoder
  | Feature_switch_sub_mission_reward -> Pbrt.Encoder.int_as_varint 29 encoder
  | Feature_switch_pam_mission -> Pbrt.Encoder.int_as_varint 30 encoder
  | Feature_switch_daily_mission -> Pbrt.Encoder.int_as_varint 31 encoder
  | Feature_switch_destroy_item -> Pbrt.Encoder.int_as_varint 32 encoder
  | Feature_switch_consume_item_turn -> Pbrt.Encoder.int_as_varint 33 encoder
  | Feature_switch_rogue_modifier -> Pbrt.Encoder.int_as_varint 34 encoder
  | Feature_switch_chess_rogue -> Pbrt.Encoder.int_as_varint 35 encoder
  | Feature_switch_chess_rogue_board -> Pbrt.Encoder.int_as_varint 36 encoder
  | Feature_switch_roll_shop -> Pbrt.Encoder.int_as_varint 37 encoder
  | Feature_switch_h5_return -> Pbrt.Encoder.int_as_varint 38 encoder
  | Feature_switch_offering -> Pbrt.Encoder.int_as_varint 39 encoder
  | Feature_switch_server_red_point -> Pbrt.Encoder.int_as_varint 40 encoder
  | Feature_switch_monopoly_option_ratio -> Pbrt.Encoder.int_as_varint 41 encoder
  | Feature_switch_monopoly_get_raffle_ticket -> Pbrt.Encoder.int_as_varint 42 encoder
  | Feature_switch_monopoly_take_raffle_reward -> Pbrt.Encoder.int_as_varint 43 encoder
  | Feature_switch_challenge_recommend_lineup -> Pbrt.Encoder.int_as_varint 44 encoder
  | Feature_switch_psn_member_ship_check -> Pbrt.Encoder.int_as_varint 45 encoder
  | Feature_switch_player_board_development -> Pbrt.Encoder.int_as_varint 46 encoder
  | Feature_switch_pvp -> Pbrt.Encoder.int_as_varint 47 encoder
  | Feature_switch_rogue_mode -> Pbrt.Encoder.int_as_varint 48 encoder
  | Feature_switch_rogue_tourn_ugc -> Pbrt.Encoder.int_as_varint 49 encoder
  | Feature_switch_relic_filter_plan_name -> Pbrt.Encoder.int_as_varint 50 encoder
  | Feature_switch_maze_item_use_buff_drop -> Pbrt.Encoder.int_as_varint 51 encoder
  | Feature_switch_red_dot -> Pbrt.Encoder.int_as_varint 52 encoder

let rec encode_pb_hchcnfgecjj (v:hchcnfgecjj) encoder =
  match v with
  | Secret_key_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Secret_key_server_check -> Pbrt.Encoder.int_as_varint 1 encoder
  | Secret_key_video -> Pbrt.Encoder.int_as_varint 2 encoder
  | Secret_key_battle_time -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_replay_type (v:replay_type) encoder =
  match v with
  | Replay_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Replay_type_punk_lord -> Pbrt.Encoder.int_as_varint 1 encoder

let rec encode_pb_punk_lord_share_type (v:punk_lord_share_type) encoder =
  match v with
  | Punk_lord_share_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Punk_lord_share_type_friend -> Pbrt.Encoder.int_as_varint 1 encoder
  | Punk_lord_share_type_all -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_punk_lord_attacker_status (v:punk_lord_attacker_status) encoder =
  match v with
  | Punk_lord_attacker_status_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Punk_lord_attacker_status_attacked -> Pbrt.Encoder.int_as_varint 1 encoder
  | Punk_lord_attacker_status_attacking -> Pbrt.Encoder.int_as_varint 2 encoder
  | Punk_lord_attacker_status_attacked_and_attacking -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_punk_lord_monster_info_notify_reason (v:punk_lord_monster_info_notify_reason) encoder =
  match v with
  | Punk_lord_monster_info_notify_reason_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Punk_lord_monster_info_notify_reason_enter_raid -> Pbrt.Encoder.int_as_varint 1 encoder
  | Punk_lord_monster_info_notify_reason_battle_end -> Pbrt.Encoder.int_as_varint 2 encoder
  | Punk_lord_monster_info_notify_reason_leave_raid -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_chat_type (v:chat_type) encoder =
  match v with
  | Chat_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Chat_type_private -> Pbrt.Encoder.int_as_varint 1 encoder
  | Chat_type_group -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_msg_type (v:msg_type) encoder =
  match v with
  | Msg_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Msg_type_custom_text -> Pbrt.Encoder.int_as_varint 1 encoder
  | Msg_type_emoji -> Pbrt.Encoder.int_as_varint 2 encoder
  | Msg_type_invite -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_shield_type (v:shield_type) encoder =
  match v with
  | Shield_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Shield_type_replace -> Pbrt.Encoder.int_as_varint 1 encoder
  | Shield_type_shied -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_func_unlock_id (v:func_unlock_id) encoder =
  match v with
  | Func_unlock_id_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Func_unlock_id_relic -> Pbrt.Encoder.int_as_varint 403 encoder
  | Func_unlock_id_relic_num -> Pbrt.Encoder.int_as_varint 404 encoder
  | Func_unlock_id_equipment -> Pbrt.Encoder.int_as_varint 401 encoder
  | Func_unlock_id_skilltree -> Pbrt.Encoder.int_as_varint 402 encoder
  | Func_unlock_id_gacha -> Pbrt.Encoder.int_as_varint 2300 encoder
  | Func_unlock_id_expedition -> Pbrt.Encoder.int_as_varint 3100 encoder
  | Func_unlock_id_compose -> Pbrt.Encoder.int_as_varint 4100 encoder
  | Func_unlock_id_fightactivity -> Pbrt.Encoder.int_as_varint 3700 encoder

let rec encode_pb_assist_avatar_type (v:assist_avatar_type) encoder =
  match v with
  | Assist_avatar_unknow -> Pbrt.Encoder.int_as_varint (0) encoder
  | Assist_avatar_level -> Pbrt.Encoder.int_as_varint 1 encoder
  | Assist_avatar_rank -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_development_type (v:development_type) encoder =
  match v with
  | Development_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Development_rogue_cosmos -> Pbrt.Encoder.int_as_varint 1 encoder
  | Development_rogue_chess -> Pbrt.Encoder.int_as_varint 2 encoder
  | Development_rogue_chess_nous -> Pbrt.Encoder.int_as_varint 3 encoder
  | Development_memory_challenge -> Pbrt.Encoder.int_as_varint 4 encoder
  | Development_story_challenge -> Pbrt.Encoder.int_as_varint 5 encoder
  | Development_unlock_avatar -> Pbrt.Encoder.int_as_varint 6 encoder
  | Development_unlock_equipment -> Pbrt.Encoder.int_as_varint 7 encoder
  | Development_activity_start -> Pbrt.Encoder.int_as_varint 8 encoder
  | Development_activity_end -> Pbrt.Encoder.int_as_varint 9 encoder
  | Development_boss_challenge -> Pbrt.Encoder.int_as_varint 10 encoder
  | Development_rogue_tourn -> Pbrt.Encoder.int_as_varint 11 encoder
  | Development_rogue_tourn_week -> Pbrt.Encoder.int_as_varint 12 encoder

let rec encode_pb_playing_state (v:playing_state) encoder =
  match v with
  | Playing_state_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Playing_rogue_cosmos -> Pbrt.Encoder.int_as_varint 1 encoder
  | Playing_rogue_chess -> Pbrt.Encoder.int_as_varint 2 encoder
  | Playing_rogue_chess_nous -> Pbrt.Encoder.int_as_varint 3 encoder
  | Playing_challenge_memory -> Pbrt.Encoder.int_as_varint 4 encoder
  | Playing_challenge_story -> Pbrt.Encoder.int_as_varint 5 encoder
  | Playing_challenge_boss -> Pbrt.Encoder.int_as_varint 6 encoder
  | Playing_rogue_tourn -> Pbrt.Encoder.int_as_varint 7 encoder

let rec encode_pb_apkcjpohccj (v:apkcjpohccj) encoder =
  match v with
  | Match_room_character_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Match_room_character_leader -> Pbrt.Encoder.int_as_varint 1 encoder
  | Match_room_character_member -> Pbrt.Encoder.int_as_varint 2 encoder
  | Match_room_character_watcher -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_match_room_character_status (v:match_room_character_status) encoder =
  match v with
  | Match_room_character_status_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Match_room_character_status_idle -> Pbrt.Encoder.int_as_varint 1 encoder
  | Match_room_character_status_operating -> Pbrt.Encoder.int_as_varint 2 encoder
  | Match_room_character_status_ready -> Pbrt.Encoder.int_as_varint 3 encoder
  | Match_room_character_status_fighting -> Pbrt.Encoder.int_as_varint 4 encoder
  | Match_room_character_status_watching -> Pbrt.Encoder.int_as_varint 5 encoder

let rec encode_pb_player_basic_info (v:player_basic_info) encoder = 
  Pbrt.Encoder.string v.nickname encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.exp encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.stamina encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mcoin encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hcoin encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.scoin encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.world_level encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_sp_progress (v:sp_progress) encoder = 
  Pbrt.Encoder.int32_as_varint v.sp_cur encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.sp_need encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_black_info (v:black_info) encoder = 
  Pbrt.Encoder.int64_as_varint v.begin_time encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.end_time encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.limit_level encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ban_type encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lmamieaaodh (v:lmamieaaodh) encoder = 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_version_count (v:version_count) encoder = 
  Pbrt.Encoder.int32_as_varint v.version encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.count encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_client_download_data (v:client_download_data) encoder = 
  Pbrt.Encoder.int32_as_varint v.version encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.time encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.bytes v.data encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_client_obj_download_data (v:client_obj_download_data) encoder = 
  Pbrt.Encoder.bytes v.obj encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  begin match v.hdhpoaagdem with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_client_download_data x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_client_upload_data (v:client_upload_data) encoder = 
  Pbrt.Encoder.string v.tag encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.value encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_feature_switch_param (v:feature_switch_param) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.param_list encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_feature_switch_info (v:feature_switch_info) encoder = 
  encode_pb_feature_switch_type v.type_ encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_feature_switch_param x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.switch_list encoder;
  Pbrt.Encoder.bool v.is_all_closed encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lbofjhojgph (v:lbofjhojgph) encoder = 
  Pbrt.Encoder.string v.hpifcabfbpa encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.ipljneeomdp encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.apmgpgghokn encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.iobdkibfiaj encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.jblmmlkkdkn encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.hmmclkjhige encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.fkojgdfhpep encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_nlhgcplikkp (v:nlhgcplikkp) encoder = 
  Pbrt.Encoder.int64_as_varint v.pjlagobkdmo encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  encode_pb_replay_type v.blnoeiceljf encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.nickname encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.bmfhibobmhp encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.aedhlhjgfpg encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int64_as_varint v.fgilieldboi encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lfnjmcnfhha encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.oeoikijbcfg encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_punk_lord_battle_avatar (v:punk_lord_battle_avatar) encoder = 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.avatar_level encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_punk_lord_battle_record (v:punk_lord_battle_record) encoder = 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.damage_hp encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.is_final_hit encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.over_kill_damage_hp encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.battle_replay_key encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_punk_lord_battle_avatar x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.avatar_list encoder;
  Pbrt.Encoder.int32_as_varint v.assist_score encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.damage_score encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.final_hit_score encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fgljkmekiom (v:fgljkmekiom) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_punk_lord_battle_record x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.eolalkfgdal encoder;
  ()

let rec encode_pb_hbbaohkdklj (v:hbbaohkdklj) encoder = 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.monster_id encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_aapoalmfpan (v:aapoalmfpan) encoder = 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.monster_id encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pfbnanpcdjh encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.world_level encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.fgilieldboi encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.left_hp encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lgkegiimjka encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  encode_pb_punk_lord_share_type v.cpefaednmcc encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.kjpdknocoeo encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_punk_lord_battle_replay (v:punk_lord_battle_replay) encoder = 
  Pbrt.Encoder.string v.battle_replay_key encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  begin match v.replay_info with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_nlhgcplikkp x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_naondbibjjo (v:naondbibjjo) encoder = 
  Pbrt.Encoder.int64_as_varint v.pomlpdggdfc encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dfpkdpmefac encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hngamdhjhld encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kicjpjalbbh (v:kicjpjalbbh) encoder = 
  begin match v.mjjmhnkknlb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_naondbibjjo x encoder;
    Pbrt.Encoder.key 101 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_lbjifmkiiec (v:lbjifmkiiec) encoder = 
  Pbrt.Encoder.string v.name encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.ldcmdeljigi encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.hggbkfedhoe encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.gohgfmolkmk encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.clmljolpmen encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.msg encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_chhhgfihhcp (v:chhhgfihhcp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.msg encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.ajkbajlebhn encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_lbjifmkiiec x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ) v.ognpknahdef encoder;
  Pbrt.Encoder.string v.odbdlipeoog encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_relic_filter_plan_settings (v:relic_filter_plan_settings) encoder = 
  Pbrt.Encoder.int32_as_varint v.rarity_bitset encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.relic_set_list encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.body_main_property_list encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.foot_main_property_list encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.sphere_main_property_list encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.rope_main_property_list encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.is_include_filter_sub_property encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.sub_property_num encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.sub_property_list encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_bmobaidmcnj (v:bmobaidmcnj) encoder =
  match v with
  | Battle_check_strategy_identical -> Pbrt.Encoder.int_as_varint (0) encoder
  | Battle_check_strategy_server -> Pbrt.Encoder.int_as_varint 1 encoder
  | Battle_check_strategy_client -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_akminadfpee (v:akminadfpee) encoder =
  match v with
  | Battle_check_result_succ -> Pbrt.Encoder.int_as_varint (0) encoder
  | Battle_check_result_fail -> Pbrt.Encoder.int_as_varint 1 encoder
  | Battle_check_result_pass -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_abiljflakgk (v:abiljflakgk) encoder =
  match v with
  | Battle_module_maze -> Pbrt.Encoder.int_as_varint (0) encoder
  | Battle_module_challenge -> Pbrt.Encoder.int_as_varint 1 encoder
  | Battle_module_cocoon -> Pbrt.Encoder.int_as_varint 2 encoder
  | Battle_module_rogue -> Pbrt.Encoder.int_as_varint 3 encoder
  | Battle_module_challenge_activity -> Pbrt.Encoder.int_as_varint 4 encoder
  | Battle_module_trial_level -> Pbrt.Encoder.int_as_varint 5 encoder
  | Battle_module_aether_divide -> Pbrt.Encoder.int_as_varint 6 encoder

let rec encode_pb_gkaagdjgcjj (v:gkaagdjgcjj) encoder =
  match v with
  | Aetherdivide_spirit_lineup_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Aetherdivide_spirit_lineup_normal -> Pbrt.Encoder.int_as_varint 1 encoder
  | Aetherdivide_spirit_lineup_trial -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_hlclpfefepb (v:hlclpfefepb) encoder =
  match v with
  | Battle_target_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Battle_target_type_score -> Pbrt.Encoder.int_as_varint 1 encoder
  | Battle_target_type_achievement -> Pbrt.Encoder.int_as_varint 2 encoder
  | Battle_target_type_raid -> Pbrt.Encoder.int_as_varint 3 encoder
  | Battle_target_type_challenge_score -> Pbrt.Encoder.int_as_varint 4 encoder
  | Battle_target_type_common -> Pbrt.Encoder.int_as_varint 5 encoder
  | Battle_target_type_client_achievement -> Pbrt.Encoder.int_as_varint 6 encoder

let rec encode_pb_ldhimmjaieb (v:ldhimmjaieb) encoder =
  match v with
  | Unknown -> Pbrt.Encoder.int_as_varint (0) encoder
  | Killed_by_others -> Pbrt.Encoder.int_as_varint 1 encoder
  | Killed_by_self -> Pbrt.Encoder.int_as_varint 2 encoder
  | Escape -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_dbghoandoje (v:dbghoandoje) encoder =
  match v with
  | Tag_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Tag_hide_npc_monster -> Pbrt.Encoder.int_as_varint 1 encoder

let rec encode_pb_cmhfgepjlfl (v:cmhfgepjlfl) encoder =
  match v with
  | Normal_create -> Pbrt.Encoder.int_as_varint (0) encoder
  | Form_change -> Pbrt.Encoder.int_as_varint 1 encoder

let rec encode_pb_ikiinnobojc (v:ikiinnobojc) encoder =
  match v with
  | Battle_end_reason_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Battle_end_reason_all_die -> Pbrt.Encoder.int_as_varint 1 encoder
  | Battle_end_reason_turn_limit -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_lbbkaebelpp (v:lbbkaebelpp) encoder =
  match v with
  | Battle_statictic_event_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Battle_statictic_event_treasure_dungeon_add_explore -> Pbrt.Encoder.int_as_varint 1 encoder
  | Battle_statictic_event_treasure_dungeon_open_grid -> Pbrt.Encoder.int_as_varint 2 encoder
  | Battle_statictic_event_treasure_dungeon_pickup_item -> Pbrt.Encoder.int_as_varint 3 encoder
  | Battle_statictic_event_treasure_dungeon_use_buff -> Pbrt.Encoder.int_as_varint 4 encoder
  | Battle_statictic_event_television_activity_update_maze_buff_layer -> Pbrt.Encoder.int_as_varint 5 encoder

let rec encode_pb_battle_end_status (v:battle_end_status) encoder =
  match v with
  | Battle_end_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Battle_end_win -> Pbrt.Encoder.int_as_varint 1 encoder
  | Battle_end_lose -> Pbrt.Encoder.int_as_varint 2 encoder
  | Battle_end_quit -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_battle_op (v:battle_op) encoder = 
  Pbrt.Encoder.int32_as_varint v.turn_counter encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.state encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.action_entity_id encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.target_entity_id encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.op_type encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.skill_index encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.operation_counter encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.pmepgjijdmc encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_battle_equipment (v:battle_equipment) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.promotion encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.rank encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_relic_affix (v:relic_affix) encoder = 
  Pbrt.Encoder.int32_as_varint v.affix_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cnt encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.step encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_battle_relic (v:battle_relic) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.main_affix_id encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_relic_affix x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ) v.sub_affix_list encoder;
  Pbrt.Encoder.int32_as_varint v.unique_id encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.peehdpfeeoo encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fgmdoekgpee encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ckcmdjnelkb encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_avatar_skill_tree (v:avatar_skill_tree) encoder = 
  Pbrt.Encoder.int32_as_varint v.point_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gnompbkahnm (v:gnompbkahnm) encoder = 
  Pbrt.Encoder.bool v.cghmoccghlb encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.kafibpbdljp encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.hfhlhamjfpm encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.findipnanjj encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_battle_avatar (v:battle_avatar) encoder = 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.rank encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.index encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_avatar_skill_tree x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.skilltree_list encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_battle_equipment x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.equipment_list encoder;
  Pbrt.Encoder.int32_as_varint v.hp encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.promotion encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_battle_relic x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.relic_list encoder;
  Pbrt.Encoder.int32_as_varint v.world_level encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.apkmboagcmi encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  begin match v.mpoioekkgli with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gnompbkahnm x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.sp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_sp_progress x encoder;
    Pbrt.Encoder.key 16 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.iojopnilicf encoder;
  Pbrt.Encoder.key 17 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cjbomedfedo (v:cjbomedfedo) encoder = 
  Pbrt.Encoder.int32_as_varint v.ednldnkdhim encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gcljbgjckpi encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gmimbapadel encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fndpkoiaoco (v:fndpkoiaoco) encoder = 
  Pbrt.Encoder.int32_as_varint v.monster_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.femmkmapjng encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.max_hp encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_battle_monster_wave (v:battle_monster_wave) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_fndpkoiaoco x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.monster_list encoder;
  begin match v.djicbhlfoga with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cjbomedfedo x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.jmdhdbhgjhj encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.comggjmfjao encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_battle_buff (v:battle_buff) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.owner_index encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.wave_flag encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.target_index_list encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  let encode_key = Pbrt.Encoder.string in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.float_as_bits32 x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Bytes), (v, Pbrt.Bits32) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.dynamic_values encoder;
  ()

let rec encode_pb_cojkoonnbee (v:cojkoonnbee) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dpepdejdlka encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.obeicoahpbg encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ieimejdokoc (v:ieimejdokoc) encoder = 
  Pbrt.Encoder.int32_as_varint v.iheiaoggmoc encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nimklecdanj (v:nimklecdanj) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dpepdejdlka encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pajllggkegp (v:pajllggkegp) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.progress encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_battle_target (v:battle_target) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.progress encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.total_progress encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_eecgcenalep (v:eecgcenalep) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_battle_target x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.nkpcaindgao encoder;
  ()

let rec encode_pb_jjnjilkjjaf (v:jjnjilkjjaf) encoder = 
  Pbrt.Encoder.int32_as_varint v.licjmbbbbpo encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.akneacgkoia encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_oojccnomfia (v:oojccnomfia) encoder = 
  Pbrt.Encoder.int32_as_varint v.onjeogniggp encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.kjbihcphcco encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  begin match v.kncldmlpjec with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jjnjilkjjaf x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_joiiobnkcbh (v:joiiobnkcbh) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.mgemlbmpcgb encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_fgbiollmcpi (v:fgbiollmcpi) encoder = 
  Pbrt.Encoder.int32_as_varint v.pkeohpicjkc encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_evolve_build_gear_damage_info (v:evolve_build_gear_damage_info) encoder = 
  Pbrt.Encoder.int32_as_varint v.gear_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.float_as_bits64 v.damage encoder;
  Pbrt.Encoder.key 2 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.hp_damage encoder;
  Pbrt.Encoder.key 3 Pbrt.Bits64 encoder; 
  ()

let rec encode_pb_hjfmcnckmgd (v:hjfmcnckmgd) encoder = 
  Pbrt.Encoder.int32_as_varint v.wave encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lpgaoolbbfm encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ndkkogolmal encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jjnjilkjjaf x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ) v.mmegdkinbcn encoder;
  Pbrt.Encoder.float_as_bits32 v.nkgnnpndkfj encoder;
  Pbrt.Encoder.key 5 Pbrt.Bits32 encoder; 
  ()

let rec encode_pb_ghilljbihfa (v:ghilljbihfa) encoder = 
  Pbrt.Encoder.int32_as_varint v.jnpdoibnicc encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_hjfmcnckmgd x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.pcnkojjcfie encoder;
  ()

let rec encode_pb_evolve_build_battle_info (v:evolve_build_battle_info) encoder = 
  Pbrt.Encoder.int32_as_varint v.cur_level_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cur_period encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cur_coin encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_oojccnomfia x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ) v.weapon_slot_list encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_oojccnomfia x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.accessory_slot_list encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ban_gear_list encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  begin match v.collection with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_joiiobnkcbh x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.allowed_gear_list encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.cur_exp encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cur_reroll encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cur_treasure_miss_cnt encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.period_id_list encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.cur_gear_lost_cnt encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cur_wave encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.is_unlock_gear_reroll encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.is_unlock_gear_ban encoder;
  Pbrt.Encoder.key 16 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_fgbiollmcpi x encoder;
    Pbrt.Encoder.key 17 Pbrt.Bytes encoder; 
  ) v.card_list encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_evolve_build_gear_damage_info x encoder;
    Pbrt.Encoder.key 18 Pbrt.Bytes encoder; 
  ) v.gear_damage_list encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.stat_params encoder;
  Pbrt.Encoder.key 19 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.is_giveup encoder;
  Pbrt.Encoder.key 20 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cur_unused_round_cnt encoder;
  Pbrt.Encoder.key 21 Pbrt.Varint encoder; 
  begin match v.stat_log_info with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ghilljbihfa x encoder;
    Pbrt.Encoder.key 22 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.period_first_random_seed encoder;
  Pbrt.Encoder.key 23 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cbipmgkdbmj (v:cbipmgkdbmj) encoder = 
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.int32_as_varint x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.nbippcmhdij encoder;
  Pbrt.Encoder.int32_as_varint v.bfhblojhfbn encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.eccooggmmkm encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ogoballkjcg encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cddnfpbchdb (v:cddnfpbchdb) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_battle_avatar x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.avatar_list encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_battle_monster_wave x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.monster_wave_list encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_battle_buff x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.buff_list encoder;
  Pbrt.Encoder.int32_as_varint v.world_level encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.nested encode_pb_eecgcenalep x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Bytes) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.pkilellljap encoder;
  begin match v.mgacgfelfph with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ieimejdokoc x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_battle_avatar x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.lphaolobnol encoder;
  begin match v.bcilaimkepo with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_evolve_build_battle_info x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.obneanlbpjf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cbipmgkdbmj x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_dohhfaklimj (v:dohhfaklimj) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.index encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.promotion encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.pbcjjbpdaco encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  encode_pb_gkaagdjgcjj v.iaknlgphklb encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  begin match v.sp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_sp_progress x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_gepemalmpkc (v:gepemalmpkc) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_dohhfaklimj x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.avatar_list encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_battle_monster_wave x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.monster_wave_list encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_battle_buff x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.buff_list encoder;
  ()

let rec encode_pb_aeeaaeghbcf (v:aeeaaeghbcf) encoder = 
  Pbrt.Encoder.int32_as_varint v.jmfgaemkdao encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int64_as_varint x encoder;
    ) lst encoder;
  ) v.glgkbnnobem encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_lhbjccjikld (v:lhbjccjikld) encoder = 
  Pbrt.Encoder.string v.llgkepoegkh encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.count encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_faekpkgkkfn (v:faekpkgkkfn) encoder = 
  Pbrt.Encoder.int32_as_varint v.turn_counter encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nnkhhlofopd encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.amchcneihno encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_aeeaaeghbcf x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ) v.fgopniajipd encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_lhbjccjikld x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.opjffhdcimd encoder;
  Pbrt.Encoder.int32_as_varint v.eejampcafkf encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pclbkphkhcb (v:pclbkphkhcb) encoder = 
  Pbrt.Encoder.bool v.fajcbknihho encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ajepkmhogca encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.jmlmhajmmgm encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.cimlpamboae encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.occpagnninm encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.kohhcdnlhkk encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgbiemklalm encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mjobkecmmdg (v:mjobkecmmdg) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.emabnjbclgd encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.gmgpibhkomg encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.fcdfcganbdh encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.opejjkdakho encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_jengakjkbap (v:jengakjkbap) encoder = 
  Pbrt.Encoder.int32_as_varint v.mdkaibfcgkm encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.iognnoaljjj encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_abjdkbhcagj (v:abjdkbhcagj) encoder = 
  Pbrt.Encoder.bool v.mbmlkfbaebi encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  let encode_key = Pbrt.Encoder.string in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.nested encode_pb_jengakjkbap x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Bytes), (v, Pbrt.Bytes) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.foelnpbpkef encoder;
  Pbrt.Encoder.bytes v.jgabaooklbg encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_ncokmoifijp (v:ncokmoifijp) encoder = 
  Pbrt.Encoder.int32_as_varint v.ddeebkcfmih encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.value encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_nlpkjmbokmg (v:nlpkjmbokmg) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_faekpkgkkfn x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.mpkfbobkglo encoder;
  Pbrt.Encoder.string v.ikbigpbobak encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.clhgagmlpgk encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ncokmoifijp x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ) v.bgcniallbni encoder;
  Pbrt.Encoder.int32_as_varint v.plane_id encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.floor_id encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.epeofnhnbob encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.faonpmhplea encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  begin match v.nljgmpkelkd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_abjdkbhcagj x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_chcjbneicfa (v:chcjbneicfa) encoder = 
  begin match v.sp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_sp_progress x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_llnhnhhlcip (v:llnhnhhlcip) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgnfloilneg encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.float_as_bits64 v.nkgnnpndkfj encoder;
  Pbrt.Encoder.key 2 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.nkpcaindgao encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  Pbrt.Encoder.float_as_bits64 v.ohfcbnkchlo encoder;
  Pbrt.Encoder.key 4 Pbrt.Bits64 encoder; 
  ()

let rec encode_pb_pldmljcickk (v:pldmljcickk) encoder = 
  Pbrt.Encoder.int32_as_varint v.ghhnoefibke encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.status with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_chcjbneicfa x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_llnhnhhlcip x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.hhapkchnbea encoder;
  ()

let rec encode_pb_pdfijnjfeof (v:pdfijnjfeof) encoder = 
  Pbrt.Encoder.int32_as_varint v.version encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.logic_random_seed encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  begin match v.lineup with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cddnfpbchdb x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_battle_op x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.ooadhaglibc encoder;
  Pbrt.Encoder.bytes v.nnhllnhjjnh encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.inpimhmcgli encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.iceodjdgjco encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.gnkmjinkoif encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  encode_pb_bmobaidmcnj v.kjbecldpidj encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  encode_pb_abiljflakgk v.momcmjflaod encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pldmljcickk x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.apkpbammnhm encoder;
  Pbrt.Encoder.int32_as_varint v.cmhngcflcab encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  begin match v.lillnioocan with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pclbkphkhcb x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.bytes v.paojieohhab encoder;
  Pbrt.Encoder.key 16 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.pafnmmndegp encoder;
  Pbrt.Encoder.key 17 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.empiofaicfc encoder;
  Pbrt.Encoder.key 18 Pbrt.Varint encoder; 
  begin match v.dfmnmhpbbfa with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gepemalmpkc x encoder;
    Pbrt.Encoder.key 19 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.pofphcbemla with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_nlpkjmbokmg x encoder;
    Pbrt.Encoder.key 100 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_avatar_property (v:avatar_property) encoder = 
  Pbrt.Encoder.float_as_bits64 v.max_hp encoder;
  Pbrt.Encoder.key 1 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.attack encoder;
  Pbrt.Encoder.key 2 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.defence encoder;
  Pbrt.Encoder.key 3 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.speed encoder;
  Pbrt.Encoder.key 4 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.left_hp encoder;
  Pbrt.Encoder.key 5 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.left_sp encoder;
  Pbrt.Encoder.key 6 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.max_sp encoder;
  Pbrt.Encoder.key 7 Pbrt.Bits64 encoder; 
  ()

let rec encode_pb_nahchkhjomp (v:nahchkhjomp) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.rank encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.promotion encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_apkldjghfcp (v:apkldjghfcp) encoder = 
  Pbrt.Encoder.string v.palefhlckln encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.float_as_bits64 v.ohfcbnkchlo encoder;
  Pbrt.Encoder.key 2 Pbrt.Bits64 encoder; 
  ()

let rec encode_pb_mjenmjiahll (v:mjenmjiahll) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgnfloilneg encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.aglbkdknioh encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.kafehefomai encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dkecbneeecd encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.okoebgnppii encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ipacnpiogji encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cmhakdimelf encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.edmjmnfgmad encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.okffdjngjed encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nnpiljhejfe (v:nnpiljhejfe) encoder = 
  Pbrt.Encoder.string v.gnfpnbgacdf encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.pomclecifom encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hgghpnnojej (v:hgghpnnojej) encoder = 
  Pbrt.Encoder.string v.efjpeijemee encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.count encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.float_as_bits64 v.fcadgcfhlce encoder;
  Pbrt.Encoder.key 3 Pbrt.Bits64 encoder; 
  ()

let rec encode_pb_hjddflabbdf (v:hjddflabbdf) encoder = 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fdmeklimpgp encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.eahmcbeennh encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.omokjhmjako encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  begin match v.nichanllgkh with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_avatar_property x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_avatar_skill_tree x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.cfohkkgalch encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_nahchkhjomp x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.klafgbakeoo encoder;
  Pbrt.Encoder.int32_as_varint v.eldappkkaoc encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.float_as_bits64 v.fcadgcfhlce encoder;
  Pbrt.Encoder.key 10 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.glnamalcdfc encoder;
  Pbrt.Encoder.key 11 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.pdimoicpocf encoder;
  Pbrt.Encoder.key 12 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.oihhodldilm encoder;
  Pbrt.Encoder.key 13 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.dfgadbjbiob encoder;
  Pbrt.Encoder.key 14 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nmedaaeibfk encoder;
  Pbrt.Encoder.key 16 Pbrt.Varint encoder; 
  Pbrt.Encoder.float_as_bits64 v.jnchgklgnlf encoder;
  Pbrt.Encoder.key 17 Pbrt.Bits64 encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_apkldjghfcp x encoder;
    Pbrt.Encoder.key 18 Pbrt.Bytes encoder; 
  ) v.hgmplmmdcad encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_apkldjghfcp x encoder;
    Pbrt.Encoder.key 19 Pbrt.Bytes encoder; 
  ) v.kmkbogbaeno encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_apkldjghfcp x encoder;
    Pbrt.Encoder.key 20 Pbrt.Bytes encoder; 
  ) v.dcfbmhagghh encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mjenmjiahll x encoder;
    Pbrt.Encoder.key 21 Pbrt.Bytes encoder; 
  ) v.cohhcjjmfil encoder;
  Pbrt.Encoder.float_as_bits64 v.fckomicbfmc encoder;
  Pbrt.Encoder.key 22 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.int32_as_varint v.okpkiancelf encoder;
  Pbrt.Encoder.key 23 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_nnpiljhejfe x encoder;
    Pbrt.Encoder.key 24 Pbrt.Bytes encoder; 
  ) v.khlmmickphp encoder;
  Pbrt.Encoder.int32_as_varint v.kimilnnnflf encoder;
  Pbrt.Encoder.key 25 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ndlnbbpfffl encoder;
  Pbrt.Encoder.key 26 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.aeddfdkbpep encoder;
  Pbrt.Encoder.key 27 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.omhlpnoflne encoder;
  Pbrt.Encoder.key 28 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.njlpaaookdl encoder;
  Pbrt.Encoder.key 29 Pbrt.Varint encoder; 
  Pbrt.Encoder.float_as_bits64 v.ojeocegbkdi encoder;
  Pbrt.Encoder.key 30 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.lnikhkhpcge encoder;
  Pbrt.Encoder.key 31 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.emmikoejmph encoder;
  Pbrt.Encoder.key 32 Pbrt.Bits64 encoder; 
  begin match v.jdmdemjpcia with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_avatar_property x encoder;
    Pbrt.Encoder.key 33 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_battle_relic x encoder;
    Pbrt.Encoder.key 34 Pbrt.Bytes encoder; 
  ) v.baeigohghnm encoder;
  Pbrt.Encoder.int32_as_varint v.apkmboagcmi encoder;
  Pbrt.Encoder.key 35 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_apkldjghfcp x encoder;
    Pbrt.Encoder.key 36 Pbrt.Bytes encoder; 
  ) v.pnnbhmgbbaf encoder;
  Pbrt.Encoder.float_as_bits64 v.ifogdklojaj encoder;
  Pbrt.Encoder.key 37 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.fpokhaemoli encoder;
  Pbrt.Encoder.key 38 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.gdljjodkiip encoder;
  Pbrt.Encoder.key 39 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.mldjfbabhek encoder;
  Pbrt.Encoder.key 40 Pbrt.Bits64 encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_hgghpnnojej x encoder;
    Pbrt.Encoder.key 41 Pbrt.Bytes encoder; 
  ) v.jacedoenhfa encoder;
  Pbrt.Encoder.int32_as_varint v.faomiaggpaa encoder;
  Pbrt.Encoder.key 42 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fadjmlcifbf encoder;
  Pbrt.Encoder.key 43 Pbrt.Varint encoder; 
  ()

let rec encode_pb_khcifglangg (v:khcifglangg) encoder = 
  Pbrt.Encoder.float_as_bits64 v.max_hp encoder;
  Pbrt.Encoder.key 1 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.attack encoder;
  Pbrt.Encoder.key 2 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.defence encoder;
  Pbrt.Encoder.key 3 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.nbjopehdkfh encoder;
  Pbrt.Encoder.key 4 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.speed encoder;
  Pbrt.Encoder.key 5 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.left_hp encoder;
  Pbrt.Encoder.key 6 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.honehbbhond encoder;
  Pbrt.Encoder.key 7 Pbrt.Bits64 encoder; 
  ()

let rec encode_pb_kdofgnnbigl (v:kdofgnnbigl) encoder = 
  Pbrt.Encoder.int32_as_varint v.eijiiekodce encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.float_as_bits64 v.nccjkbdbimf encoder;
  Pbrt.Encoder.key 2 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.int32_as_varint v.jbmkkgchkgf encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.omhlpnoflne encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_adcnfghedmc (v:adcnfghedmc) encoder = 
  Pbrt.Encoder.int32_as_varint v.phkkegggmdi encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.monster_id encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nookgaachhh encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gdjhhjhgoga encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  begin match v.mffjijlmahi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_khcifglangg x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.eldappkkaoc encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.float_as_bits64 v.fcadgcfhlce encoder;
  Pbrt.Encoder.key 7 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.glnamalcdfc encoder;
  Pbrt.Encoder.key 8 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.pdimoicpocf encoder;
  Pbrt.Encoder.key 9 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.kmbdiheeddp encoder;
  Pbrt.Encoder.key 10 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.oihhodldilm encoder;
  Pbrt.Encoder.key 11 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.battle_id encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dgecmhijdlf encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_apkldjghfcp x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.hgmplmmdcad encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mjenmjiahll x encoder;
    Pbrt.Encoder.key 16 Pbrt.Bytes encoder; 
  ) v.cohhcjjmfil encoder;
  Pbrt.Encoder.int32_as_varint v.nmedaaeibfk encoder;
  Pbrt.Encoder.key 17 Pbrt.Varint encoder; 
  Pbrt.Encoder.float_as_bits64 v.odlhlhjjaep encoder;
  Pbrt.Encoder.key 18 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.fckomicbfmc encoder;
  Pbrt.Encoder.key 19 Pbrt.Bits64 encoder; 
  encode_pb_ldhimmjaieb v.oebalcpdekb encoder;
  Pbrt.Encoder.key 20 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.wave encoder;
  Pbrt.Encoder.key 21 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kkmpoanfdel encoder;
  Pbrt.Encoder.key 22 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.djemibiamha encoder;
  Pbrt.Encoder.key 23 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pcglhakdjej encoder;
  Pbrt.Encoder.key 24 Pbrt.Varint encoder; 
  encode_pb_dbghoandoje v.emejkljonad encoder;
  Pbrt.Encoder.key 25 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_llnhnhhlcip x encoder;
    Pbrt.Encoder.key 26 Pbrt.Bytes encoder; 
  ) v.hhapkchnbea encoder;
  Pbrt.Encoder.int32_as_varint v.dpmoonnbhaf encoder;
  Pbrt.Encoder.key 27 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_kdofgnnbigl x encoder;
    Pbrt.Encoder.key 28 Pbrt.Bytes encoder; 
  ) v.egngccehkaj encoder;
  Pbrt.Encoder.int32_as_varint v.eopdilcmffl encoder;
  Pbrt.Encoder.key 29 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.anahoapange encoder;
  Pbrt.Encoder.key 30 Pbrt.Varint encoder; 
  encode_pb_cmhfgepjlfl v.leffngnjgkg encoder;
  Pbrt.Encoder.key 31 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cfgemgamfma (v:cfgemgamfma) encoder = 
  Pbrt.Encoder.int32_as_varint v.jcjkjhddkcf encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lpgaoolbbfm encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dllfnlcjiaa (v:dllfnlcjiaa) encoder = 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ilcjbmhadch encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.gnfpnbgacdf encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.float_as_bits64 v.ohfcbnkchlo encoder;
  Pbrt.Encoder.key 4 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.fgecaendmjj encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.nhfpnkffjgf encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.float_as_bits64 v.hadlfdifcal encoder;
  Pbrt.Encoder.key 7 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.int32_as_varint v.caomnkckhhk encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.wave encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_eceobeagdad (v:eceobeagdad) encoder = 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gnhadjpljbo encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dbbhaaodpgl (v:dbbhaaodpgl) encoder = 
  Pbrt.Encoder.int32_as_varint v.eijiiekodce encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.monster_id encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_eceobeagdad x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.ngcppmnflba encoder;
  Pbrt.Encoder.int32_as_varint v.nkgnnpndkfj encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hllmbjmbieh (v:hllmbjmbieh) encoder = 
  encode_pb_lbbkaebelpp v.fgmdoekgpee encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.iigaapiiddb encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.iihookopmmk encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lmnnafiaafp (v:lmnnafiaafp) encoder = 
  Pbrt.Encoder.string v.djemibiamha encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.float_as_bits32 v.mjlbfjkonhd encoder;
  Pbrt.Encoder.key 2 Pbrt.Bits32 encoder; 
  Pbrt.Encoder.float_as_bits32 v.amabfdlohmk encoder;
  Pbrt.Encoder.key 3 Pbrt.Bits32 encoder; 
  Pbrt.Encoder.int32_as_varint v.iedlbcpkgon encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hdccniamncp encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lbbhinoknng encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ndembhkchba encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bkihfdilonh encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ajcndmbmimb encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.cmdpbhlgmeo encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_jnegdknfdfj (v:jnegdknfdfj) encoder = 
  Pbrt.Encoder.int32_as_varint v.enihajmdhhp encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kccnlbdlima encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pjhcepapfoo encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lohcjdhdnlp encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kgfmdacaapm encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.khnnhomamnn encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.mbknfpcaghc encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_lmnnafiaafp x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.ifphmbnpcec encoder;
  ()

let rec encode_pb_gfhlelkfecd (v:gfhlelkfecd) encoder = 
  Pbrt.Encoder.int32_as_varint v.wave encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.float_as_bits64 v.pfggnfbgjef encoder;
  Pbrt.Encoder.key 2 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.njmdeogblko encoder;
  Pbrt.Encoder.key 3 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.int32_as_varint v.dbooppgpefo encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ekfilfopihm encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fkdalpnlnpp (v:fkdalpnlnpp) encoder = 
  Pbrt.Encoder.string v.pfmlckgckob encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.float_as_bits64 v.value encoder;
  Pbrt.Encoder.key 2 Pbrt.Bits64 encoder; 
  ()

let rec encode_pb_ogchmgibmee (v:ogchmgibmee) encoder = 
  Pbrt.Encoder.int32_as_varint v.monster_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dbopmmcclja encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dbooppgpefo encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ekfilfopihm encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_iehmgigdfgi (v:iehmgigdfgi) encoder = 
  Pbrt.Encoder.int32_as_varint v.mmeaphlkfnh encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.float_as_bits64 v.lpgejjgcjfi encoder;
  Pbrt.Encoder.key 2 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.ialkcegdpoj encoder;
  Pbrt.Encoder.key 3 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.int32_as_varint v.wave encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dbopmmcclja encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.float_as_bits64 v.ncmmbhpfmpp encoder;
  Pbrt.Encoder.key 6 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.mkdomgoogbd encoder;
  Pbrt.Encoder.key 7 Pbrt.Bits64 encoder; 
  ()

let rec encode_pb_ijbeafbgipi (v:ijbeafbgipi) encoder = 
  Pbrt.Encoder.int32_as_varint v.pgonjaacafm encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kkhjioepbpb encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.float_as_bits64 v.dcgodnihhph encoder;
  Pbrt.Encoder.key 3 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.int32_as_varint v.wave encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dbopmmcclja encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ilomdgdoidb (v:ilomdgdoidb) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ogchmgibmee x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.afcpodfhplf encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_iehmgigdfgi x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.llpagigkmdd encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ijbeafbgipi x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.hfojdfpnied encoder;
  ()

let rec encode_pb_mpconokhbfi (v:mpconokhbfi) encoder = 
  begin match v.oadeikogppf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ilomdgdoidb x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_njfhjpmofkj (v:njfhjpmofkj) encoder = 
  encode_pb_gkaagdjgcjj v.fgmdoekgpee encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  begin match v.sp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_sp_progress x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_mofdljpgdjc (v:mofdljpgdjc) encoder = 
  Pbrt.Encoder.int32_as_varint v.lhbdodgndmj encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ealjhgebino encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_battle_statistics (v:battle_statistics) encoder = 
  Pbrt.Encoder.int32_as_varint v.total_battle_turns encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.total_auto_turns encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.avatar_id_list encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.ultra_cnt encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.float_as_bits64 v.total_delay_cumulate encoder;
  Pbrt.Encoder.key 5 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.float_as_bits64 v.cost_time encoder;
  Pbrt.Encoder.key 6 Pbrt.Bits64 encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_hjddflabbdf x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.avatar_battle_list encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_adcnfghedmc x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.monster_battle_list encoder;
  Pbrt.Encoder.int32_as_varint v.round_cnt encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cocoon_dead_wave encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.avatar_battle_turns encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.monster_battle_turns encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  let encode_key = Pbrt.Encoder.string in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.float_as_bits32 x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Bytes), (v, Pbrt.Bits32) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.custom_values encoder;
  Pbrt.Encoder.int32_as_varint v.challenge_score encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pldmljcickk x encoder;
    Pbrt.Encoder.key 16 Pbrt.Bytes encoder; 
  ) v.battle_challenge_list encoder;
  encode_pb_ikiinnobojc v.gflgglklflo encoder;
  Pbrt.Encoder.key 19 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_dllfnlcjiaa x encoder;
    Pbrt.Encoder.key 21 Pbrt.Bytes encoder; 
  ) v.kafhlccjdpe encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.bkbifgcidje encoder;
  Pbrt.Encoder.key 22 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_dbbhaaodpgl x encoder;
    Pbrt.Encoder.key 23 Pbrt.Bytes encoder; 
  ) v.cbdokccplbl encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_hllmbjmbieh x encoder;
    Pbrt.Encoder.key 26 Pbrt.Bytes encoder; 
  ) v.eojhikielja encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_njfhjpmofkj x encoder;
    Pbrt.Encoder.key 27 Pbrt.Bytes encoder; 
  ) v.gfiihegmnbc encoder;
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.nested encode_pb_eecgcenalep x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Bytes) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 28 Pbrt.Bytes encoder; 
  ) v.pkilellljap encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mofdljpgdjc x encoder;
    Pbrt.Encoder.key 29 Pbrt.Bytes encoder; 
  ) v.lepkomadmba encoder;
  begin match v.bcilaimkepo with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_evolve_build_battle_info x encoder;
    Pbrt.Encoder.key 30 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.eebjfpdkkla with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jnegdknfdfj x encoder;
    Pbrt.Encoder.key 31 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.bool v.ckopikjmnno encoder;
  Pbrt.Encoder.key 32 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_gfhlelkfecd x encoder;
    Pbrt.Encoder.key 33 Pbrt.Bytes encoder; 
  ) v.pcnkojjcfie encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_fkdalpnlnpp x encoder;
    Pbrt.Encoder.key 34 Pbrt.Bytes encoder; 
  ) v.gccpcejdpgf encoder;
  Pbrt.Encoder.int32_as_varint v.bfjbhggehfp encoder;
  Pbrt.Encoder.key 35 Pbrt.Varint encoder; 
  begin match v.fmloeohebom with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mpconokhbfi x encoder;
    Pbrt.Encoder.key 37 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_egfppaehfmb (v:egfppaehfmb) encoder = 
  Pbrt.Encoder.int32_as_varint v.fooekjjlepi encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.exp encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_inaakoibpao (v:inaakoibpao) encoder = 
  encode_pb_akminadfpee v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  encode_pb_battle_end_status v.end_status encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  begin match v.ppkofopmfjc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_battle_statistics x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.bytes v.paojieohhab encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  let encode_key = Pbrt.Encoder.string in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.int32_as_varint x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Bytes), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.dcgkdkmible encoder;
  Pbrt.Encoder.int32_as_varint v.oocaibocjln encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.liidlgebipm encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gkkpbgmoodd (v:gkkpbgmoodd) encoder =
  match v with
  | Fight_game_mode_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Fight_game_mode_match3 -> Pbrt.Encoder.int_as_varint 1 encoder

let rec encode_pb_iafdbbcgofo (v:iafdbbcgofo) encoder =
  match v with
  | Fight_kickout_unknown -> Pbrt.Encoder.int_as_varint (0) encoder
  | Fight_kickout_black -> Pbrt.Encoder.int_as_varint 1 encoder
  | Fight_kickout_by_gm -> Pbrt.Encoder.int_as_varint 2 encoder
  | Fight_kickout_timeout -> Pbrt.Encoder.int_as_varint 3 encoder
  | Fight_kickout_session_reset -> Pbrt.Encoder.int_as_varint 4 encoder

let rec encode_pb_eaejedljpgh (v:eaejedljpgh) encoder =
  match v with
  | Lobby_character_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Lobby_character_leader -> Pbrt.Encoder.int_as_varint 1 encoder
  | Lobby_character_member -> Pbrt.Encoder.int_as_varint 2 encoder
  | Lobby_character_watcher -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_gienaojphnb (v:gienaojphnb) encoder =
  match v with
  | Lobby_character_status_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Lobby_character_status_idle -> Pbrt.Encoder.int_as_varint 1 encoder
  | Lobby_character_status_operating -> Pbrt.Encoder.int_as_varint 2 encoder
  | Lobby_character_status_ready -> Pbrt.Encoder.int_as_varint 3 encoder
  | Lobby_character_status_fighting -> Pbrt.Encoder.int_as_varint 4 encoder
  | Lobby_character_status_watching -> Pbrt.Encoder.int_as_varint 5 encoder
  | Lobby_character_status_matching -> Pbrt.Encoder.int_as_varint 6 encoder

let rec encode_pb_ejnhbdlcndj (v:ejnhbdlcndj) encoder =
  match v with
  | Lobby_modify_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Lobby_modify_type_idle -> Pbrt.Encoder.int_as_varint 1 encoder
  | Lobby_modify_type_ready -> Pbrt.Encoder.int_as_varint 2 encoder
  | Lobby_modify_type_operating -> Pbrt.Encoder.int_as_varint 3 encoder
  | Lobby_modify_type_cancel_match -> Pbrt.Encoder.int_as_varint 4 encoder
  | Lobby_modify_type_match -> Pbrt.Encoder.int_as_varint 5 encoder
  | Lobby_modify_type_quit_lobby -> Pbrt.Encoder.int_as_varint 6 encoder
  | Lobby_modify_type_kick_out -> Pbrt.Encoder.int_as_varint 7 encoder
  | Lobby_modify_type_time_out -> Pbrt.Encoder.int_as_varint 8 encoder
  | Lobby_modify_type_join_lobby -> Pbrt.Encoder.int_as_varint 9 encoder
  | Lobby_modify_type_lobby_dismiss -> Pbrt.Encoder.int_as_varint 10 encoder
  | Lobby_modify_type_match_time_out -> Pbrt.Encoder.int_as_varint 11 encoder
  | Lobby_modify_type_fight_start -> Pbrt.Encoder.int_as_varint 12 encoder
  | Lobby_modify_type_logout -> Pbrt.Encoder.int_as_varint 13 encoder
  | Lobby_modify_type_fight_end -> Pbrt.Encoder.int_as_varint 14 encoder
  | Lobby_modify_type_fight_room_destroy_in_init -> Pbrt.Encoder.int_as_varint 15 encoder

let rec encode_pb_gfopbkkefeo (v:gfopbkkefeo) encoder =
  match v with
  | Fight_room_destroy_reason_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Fight_room_destroy_reason_svr_stop -> Pbrt.Encoder.int_as_varint 1 encoder
  | Fight_room_destroy_reason_game_end -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_donhpbjnknp (v:donhpbjnknp) encoder =
  match v with
  | Match3_finish_reason_default -> Pbrt.Encoder.int_as_varint (0) encoder
  | Match3_finish_reason_leave -> Pbrt.Encoder.int_as_varint 1 encoder
  | Match3_finish_reason_die -> Pbrt.Encoder.int_as_varint 2 encoder
  | Match3_finish_reason_gameend -> Pbrt.Encoder.int_as_varint 3 encoder
  | Match3_finish_reason_kickout -> Pbrt.Encoder.int_as_varint 4 encoder

let rec encode_pb_nkbjfdkkbid (v:nkbjfdkkbid) encoder =
  match v with
  | Match_unit_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Match_unit_type_normal -> Pbrt.Encoder.int_as_varint 1 encoder
  | Match_unit_type_robot -> Pbrt.Encoder.int_as_varint 2 encoder
  | Match_unit_type_gm -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_dilkchlpoba (v:dilkchlpoba) encoder = 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.nickname encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.nnlodfdobia encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  encode_pb_platform_type v.dbgjcbcfaec encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.meijfajkmmp encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.mjalbnjgfmj encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int64_as_varint v.version encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jhpgipfhpjm (v:jhpgipfhpjm) encoder = 
  encode_pb_eaejedljpgh v.ipfplgihdbj encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  encode_pb_gienaojphnb v.status encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ijbclkbblen (v:ijbclkbblen) encoder = 
  Pbrt.Encoder.int32_as_varint v.kkgeojnphcn encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.icpnclpicnm encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ileodajnnlf encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.eehicmneonc encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lnnkgnfmmll (v:lnnkgnfmmll) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.string x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.mjkmfnjeddo encoder;
  Pbrt.Encoder.bool v.oommfhnmaci encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  begin match v.kpjaichmnce with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ijbclkbblen x encoder;
    Pbrt.Encoder.key 1001 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_egokacjfaen (v:egokacjfaen) encoder = 
  begin match v.basic_info with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dilkchlpoba x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.lhhkllkkgki with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jhpgipfhpjm x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.akfdaaaiich with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lnnkgnfmmll x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_obminlghola (v:obminlghola) encoder = 
  Pbrt.Encoder.int32_as_varint v.gkhlagcmbep encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.chhlgofkode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ohendokilbg encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kdldpilbjih encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.doppanjiahe encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lgbmfnociof encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pbcfilehadp encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mfkojkldhlg encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ofolhglfdbe encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ohhndhfpidi encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mfoaahgomic (v:mfoaahgomic) encoder = 
  Pbrt.Encoder.int64_as_varint v.ejphmffiidi encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  encode_pb_gkkpbgmoodd v.cicgmfacfbc encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mbbjjfnjnde (v:mbbjjfnjnde) encoder = 
  Pbrt.Encoder.int64_as_varint v.id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  encode_pb_gkkpbgmoodd v.kcffnljmjdj encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_egokacjfaen x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.fjifpjhfgdd encoder;
  encode_pb_nkbjfdkkbid v.fgmdoekgpee encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.pomlpdggdfc encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.kiofoicccjm encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mnpddkgcfcd encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dmmifgboihc (v:dmmifgboihc) encoder =
  match v with
  | Ret_succ -> Pbrt.Encoder.int_as_varint (0) encoder
  | Ret_fail -> Pbrt.Encoder.int_as_varint 1 encoder
  | Ret_server_internal_error -> Pbrt.Encoder.int_as_varint 2 encoder
  | Ret_timeout -> Pbrt.Encoder.int_as_varint 3 encoder
  | Ret_repeated_req -> Pbrt.Encoder.int_as_varint 4 encoder
  | Ret_req_para_invalid -> Pbrt.Encoder.int_as_varint 5 encoder
  | Ret_player_data_error -> Pbrt.Encoder.int_as_varint 6 encoder
  | Ret_player_client_paused -> Pbrt.Encoder.int_as_varint 7 encoder
  | Ret_func_check_failed -> Pbrt.Encoder.int_as_varint 8 encoder
  | Ret_feature_switch_closed -> Pbrt.Encoder.int_as_varint 9 encoder
  | Ret_freq_over_limit -> Pbrt.Encoder.int_as_varint 10 encoder
  | Ret_system_busy -> Pbrt.Encoder.int_as_varint 11 encoder
  | Ret_player_not_online -> Pbrt.Encoder.int_as_varint 12 encoder
  | Ret_repeate_login -> Pbrt.Encoder.int_as_varint 1000 encoder
  | Ret_retry_login -> Pbrt.Encoder.int_as_varint 1001 encoder
  | Ret_wait_login -> Pbrt.Encoder.int_as_varint 1002 encoder
  | Ret_not_in_white_list -> Pbrt.Encoder.int_as_varint 1003 encoder
  | Ret_in_black_list -> Pbrt.Encoder.int_as_varint 1004 encoder
  | Ret_account_verify_error -> Pbrt.Encoder.int_as_varint 1005 encoder
  | Ret_account_para_error -> Pbrt.Encoder.int_as_varint 1006 encoder
  | Ret_anti_addict_login -> Pbrt.Encoder.int_as_varint 1007 encoder
  | Ret_check_sum_error -> Pbrt.Encoder.int_as_varint 1008 encoder
  | Ret_reach_max_player_num -> Pbrt.Encoder.int_as_varint 1009 encoder
  | Ret_already_registered -> Pbrt.Encoder.int_as_varint 1010 encoder
  | Ret_gender_error -> Pbrt.Encoder.int_as_varint 1011 encoder
  | Set_nickname_ret_callback_processing -> Pbrt.Encoder.int_as_varint 1012 encoder
  | Ret_in_gm_bind_access -> Pbrt.Encoder.int_as_varint 1013 encoder
  | Ret_quest_reward_already_taken -> Pbrt.Encoder.int_as_varint 1100 encoder
  | Ret_quest_not_accept -> Pbrt.Encoder.int_as_varint 1101 encoder
  | Ret_quest_not_finish -> Pbrt.Encoder.int_as_varint 1102 encoder
  | Ret_quest_status_error -> Pbrt.Encoder.int_as_varint 1103 encoder
  | Ret_achievement_level_not_reach -> Pbrt.Encoder.int_as_varint 1104 encoder
  | Ret_achievement_level_already_taken -> Pbrt.Encoder.int_as_varint 1105 encoder
  | Ret_avatar_not_exist -> Pbrt.Encoder.int_as_varint 1200 encoder
  | Ret_avatar_res_exp_not_enough -> Pbrt.Encoder.int_as_varint 1201 encoder
  | Ret_avatar_exp_reach_promotion_limit -> Pbrt.Encoder.int_as_varint 1202 encoder
  | Ret_avatar_reach_max_promotion -> Pbrt.Encoder.int_as_varint 1203 encoder
  | Ret_skilltree_config_not_exist -> Pbrt.Encoder.int_as_varint 1204 encoder
  | Ret_skilltree_already_unlock -> Pbrt.Encoder.int_as_varint 1205 encoder
  | Ret_skilltree_pre_locked -> Pbrt.Encoder.int_as_varint 1206 encoder
  | Ret_skilltree_level_not_meet -> Pbrt.Encoder.int_as_varint 1207 encoder
  | Ret_skilltree_rank_not_meet -> Pbrt.Encoder.int_as_varint 1208 encoder
  | Ret_avatar_dress_no_equipment -> Pbrt.Encoder.int_as_varint 1209 encoder
  | Ret_avatar_exp_item_not_exist -> Pbrt.Encoder.int_as_varint 1210 encoder
  | Ret_skilltree_point_locked -> Pbrt.Encoder.int_as_varint 1211 encoder
  | Ret_skilltree_point_level_upgrade_not_match -> Pbrt.Encoder.int_as_varint 1212 encoder
  | Ret_skilltree_point_level_reach_max -> Pbrt.Encoder.int_as_varint 1213 encoder
  | Ret_world_level_not_meet -> Pbrt.Encoder.int_as_varint 1214 encoder
  | Ret_player_level_not_meet -> Pbrt.Encoder.int_as_varint 1215 encoder
  | Ret_avatar_rank_not_match -> Pbrt.Encoder.int_as_varint 1216 encoder
  | Ret_avatar_rank_reach_max -> Pbrt.Encoder.int_as_varint 1217 encoder
  | Ret_hero_basic_type_not_match -> Pbrt.Encoder.int_as_varint 1218 encoder
  | Ret_avatar_promotion_not_meet -> Pbrt.Encoder.int_as_varint 1219 encoder
  | Ret_promotion_reward_config_not_exist -> Pbrt.Encoder.int_as_varint 1220 encoder
  | Ret_promotion_reward_already_taken -> Pbrt.Encoder.int_as_varint 1221 encoder
  | Ret_avatar_skin_item_not_exist -> Pbrt.Encoder.int_as_varint 1222 encoder
  | Ret_avatar_skin_already_dressed -> Pbrt.Encoder.int_as_varint 1223 encoder
  | Ret_avatar_not_dress_skin -> Pbrt.Encoder.int_as_varint 1224 encoder
  | Ret_avatar_skin_not_match_avatar -> Pbrt.Encoder.int_as_varint 1225 encoder
  | Ret_item_not_exist -> Pbrt.Encoder.int_as_varint 1300 encoder
  | Ret_item_cost_not_enough -> Pbrt.Encoder.int_as_varint 1301 encoder
  | Ret_item_cost_too_much -> Pbrt.Encoder.int_as_varint 1302 encoder
  | Ret_item_no_cost -> Pbrt.Encoder.int_as_varint 1303 encoder
  | Ret_item_not_enough -> Pbrt.Encoder.int_as_varint 1304 encoder
  | Ret_item_invalid -> Pbrt.Encoder.int_as_varint 1305 encoder
  | Ret_item_config_not_exist -> Pbrt.Encoder.int_as_varint 1306 encoder
  | Ret_scoin_not_enough -> Pbrt.Encoder.int_as_varint 1307 encoder
  | Ret_item_reward_exceed_limit -> Pbrt.Encoder.int_as_varint 1308 encoder
  | Ret_item_invalid_use -> Pbrt.Encoder.int_as_varint 1309 encoder
  | Ret_item_use_config_not_exist -> Pbrt.Encoder.int_as_varint 1310 encoder
  | Ret_reward_config_not_exist -> Pbrt.Encoder.int_as_varint 1311 encoder
  | Ret_item_exceed_limit -> Pbrt.Encoder.int_as_varint 1312 encoder
  | Ret_item_count_invalid -> Pbrt.Encoder.int_as_varint 1313 encoder
  | Ret_item_use_target_type_invalid -> Pbrt.Encoder.int_as_varint 1314 encoder
  | Ret_item_use_satiety_full -> Pbrt.Encoder.int_as_varint 1315 encoder
  | Ret_item_compose_not_exist -> Pbrt.Encoder.int_as_varint 1316 encoder
  | Ret_relic_compose_not_exist -> Pbrt.Encoder.int_as_varint 1317 encoder
  | Ret_item_can_not_sell -> Pbrt.Encoder.int_as_varint 1318 encoder
  | Ret_item_sell_excedd_limit -> Pbrt.Encoder.int_as_varint 1319 encoder
  | Ret_item_not_in_cost_list -> Pbrt.Encoder.int_as_varint 1320 encoder
  | Ret_item_special_cost_not_enough -> Pbrt.Encoder.int_as_varint 1321 encoder
  | Ret_item_special_cost_too_much -> Pbrt.Encoder.int_as_varint 1322 encoder
  | Ret_item_formula_not_exist -> Pbrt.Encoder.int_as_varint 1323 encoder
  | Ret_item_auto_gift_optional_not_exist -> Pbrt.Encoder.int_as_varint 1324 encoder
  | Ret_relic_compose_relic_invalid -> Pbrt.Encoder.int_as_varint 1325 encoder
  | Ret_relic_compose_main_affix_id_invalid -> Pbrt.Encoder.int_as_varint 1326 encoder
  | Ret_relic_compose_wrong_formula_type -> Pbrt.Encoder.int_as_varint 1327 encoder
  | Ret_relic_compose_relic_not_exist -> Pbrt.Encoder.int_as_varint 1328 encoder
  | Ret_relic_compose_black_gold_count_invalid -> Pbrt.Encoder.int_as_varint 1329 encoder
  | Ret_relic_compose_black_gold_not_need -> Pbrt.Encoder.int_as_varint 1330 encoder
  | Ret_month_card_cannot_use -> Pbrt.Encoder.int_as_varint 1331 encoder
  | Ret_item_reward_exceed_disappear -> Pbrt.Encoder.int_as_varint 1332 encoder
  | Ret_item_need_recycle -> Pbrt.Encoder.int_as_varint 1333 encoder
  | Ret_item_compose_exceed_limit -> Pbrt.Encoder.int_as_varint 1334 encoder
  | Ret_item_can_not_destroy -> Pbrt.Encoder.int_as_varint 1335 encoder
  | Ret_item_already_mark -> Pbrt.Encoder.int_as_varint 1336 encoder
  | Ret_item_mark_exceed_limit -> Pbrt.Encoder.int_as_varint 1337 encoder
  | Ret_item_not_mark -> Pbrt.Encoder.int_as_varint 1338 encoder
  | Ret_iten_turn_food_not_set -> Pbrt.Encoder.int_as_varint 1339 encoder
  | Ret_item_turn_food_already_set -> Pbrt.Encoder.int_as_varint 1340 encoder
  | Ret_item_turn_food_consume_type_error -> Pbrt.Encoder.int_as_varint 1341 encoder
  | Ret_item_turn_food_switch_already_open -> Pbrt.Encoder.int_as_varint 1342 encoder
  | Ret_item_turn_food_switch_already_close -> Pbrt.Encoder.int_as_varint 1343 encoder
  | Ret_hcoin_exchange_too_much -> Pbrt.Encoder.int_as_varint 1344 encoder
  | Ret_item_turn_food_scene_type_error -> Pbrt.Encoder.int_as_varint 1345 encoder
  | Ret_equipment_already_dressed -> Pbrt.Encoder.int_as_varint 1350 encoder
  | Ret_equipment_not_exist -> Pbrt.Encoder.int_as_varint 1351 encoder
  | Ret_equipment_reach_level_limit -> Pbrt.Encoder.int_as_varint 1352 encoder
  | Ret_equipment_consume_self -> Pbrt.Encoder.int_as_varint 1353 encoder
  | Ret_equipment_already_locked -> Pbrt.Encoder.int_as_varint 1354 encoder
  | Ret_equipment_already_unlocked -> Pbrt.Encoder.int_as_varint 1355 encoder
  | Ret_equipment_locked -> Pbrt.Encoder.int_as_varint 1356 encoder
  | Ret_equipment_select_num_over_limit -> Pbrt.Encoder.int_as_varint 1357 encoder
  | Ret_equipment_rank_up_must_consume_same_tid -> Pbrt.Encoder.int_as_varint 1358 encoder
  | Ret_equipment_promotion_reach_max -> Pbrt.Encoder.int_as_varint 1359 encoder
  | Ret_equipment_rank_up_reach_max -> Pbrt.Encoder.int_as_varint 1360 encoder
  | Ret_equipment_level_reach_max -> Pbrt.Encoder.int_as_varint 1361 encoder
  | Ret_equipment_exceed_limit -> Pbrt.Encoder.int_as_varint 1362 encoder
  | Ret_relic_not_exist -> Pbrt.Encoder.int_as_varint 1363 encoder
  | Ret_relic_reach_level_limit -> Pbrt.Encoder.int_as_varint 1364 encoder
  | Ret_relic_consume_self -> Pbrt.Encoder.int_as_varint 1365 encoder
  | Ret_relic_already_dressed -> Pbrt.Encoder.int_as_varint 1366 encoder
  | Ret_relic_locked -> Pbrt.Encoder.int_as_varint 1367 encoder
  | Ret_relic_already_locked -> Pbrt.Encoder.int_as_varint 1368 encoder
  | Ret_relic_already_unlocked -> Pbrt.Encoder.int_as_varint 1369 encoder
  | Ret_relic_level_is_not_zero -> Pbrt.Encoder.int_as_varint 1370 encoder
  | Ret_unique_id_repeated -> Pbrt.Encoder.int_as_varint 1371 encoder
  | Ret_equipment_level_not_meet -> Pbrt.Encoder.int_as_varint 1372 encoder
  | Ret_equipment_item_not_in_cost_list -> Pbrt.Encoder.int_as_varint 1373 encoder
  | Ret_equipment_level_greater_than_one -> Pbrt.Encoder.int_as_varint 1374 encoder
  | Ret_equipment_already_ranked -> Pbrt.Encoder.int_as_varint 1375 encoder
  | Ret_relic_exceed_limit -> Pbrt.Encoder.int_as_varint 1376 encoder
  | Ret_relic_already_discarded -> Pbrt.Encoder.int_as_varint 1377 encoder
  | Ret_relic_already_undiscarded -> Pbrt.Encoder.int_as_varint 1378 encoder
  | Ret_equipment_batch_lock_too_fast -> Pbrt.Encoder.int_as_varint 1379 encoder
  | Ret_relic_filter_plan_slot_empty -> Pbrt.Encoder.int_as_varint 1380 encoder
  | Ret_relic_filter_plan_num_exceed_limit -> Pbrt.Encoder.int_as_varint 1381 encoder
  | Ret_relic_filter_plan_name_utf8_error -> Pbrt.Encoder.int_as_varint 1382 encoder
  | Ret_relic_filter_plan_name_format_error -> Pbrt.Encoder.int_as_varint 1383 encoder
  | Ret_relic_filter_plan_no_change -> Pbrt.Encoder.int_as_varint 1384 encoder
  | Ret_lineup_invalid_index -> Pbrt.Encoder.int_as_varint 1400 encoder
  | Ret_lineup_invalid_member_pos -> Pbrt.Encoder.int_as_varint 1401 encoder
  | Ret_lineup_swap_not_exist -> Pbrt.Encoder.int_as_varint 1402 encoder
  | Ret_lineup_avatar_already_in -> Pbrt.Encoder.int_as_varint 1403 encoder
  | Ret_lineup_create_avatar_error -> Pbrt.Encoder.int_as_varint 1404 encoder
  | Ret_lineup_avatar_init_error -> Pbrt.Encoder.int_as_varint 1405 encoder
  | Ret_lineup_not_exist -> Pbrt.Encoder.int_as_varint 1406 encoder
  | Ret_lineup_only_one_member -> Pbrt.Encoder.int_as_varint 1407 encoder
  | Ret_lineup_same_leader_slot -> Pbrt.Encoder.int_as_varint 1408 encoder
  | Ret_lineup_no_leader_select -> Pbrt.Encoder.int_as_varint 1409 encoder
  | Ret_lineup_swap_same_slot -> Pbrt.Encoder.int_as_varint 1410 encoder
  | Ret_lineup_avatar_not_exist -> Pbrt.Encoder.int_as_varint 1411 encoder
  | Ret_lineup_trial_avatar_can_not_quit -> Pbrt.Encoder.int_as_varint 1412 encoder
  | Ret_lineup_virtual_lineup_plane_not_match -> Pbrt.Encoder.int_as_varint 1413 encoder
  | Ret_lineup_not_valid_leader -> Pbrt.Encoder.int_as_varint 1414 encoder
  | Ret_lineup_same_index -> Pbrt.Encoder.int_as_varint 1415 encoder
  | Ret_lineup_is_empty -> Pbrt.Encoder.int_as_varint 1416 encoder
  | Ret_lineup_name_format_error -> Pbrt.Encoder.int_as_varint 1417 encoder
  | Ret_lineup_type_not_match -> Pbrt.Encoder.int_as_varint 1418 encoder
  | Ret_lineup_replace_all_failed -> Pbrt.Encoder.int_as_varint 1419 encoder
  | Ret_lineup_not_allow_edit -> Pbrt.Encoder.int_as_varint 1420 encoder
  | Ret_lineup_avatar_is_alive -> Pbrt.Encoder.int_as_varint 1421 encoder
  | Ret_lineup_assist_has_only_member -> Pbrt.Encoder.int_as_varint 1422 encoder
  | Ret_lineup_assist_cannot_switch -> Pbrt.Encoder.int_as_varint 1423 encoder
  | Ret_lineup_avatar_type_invalid -> Pbrt.Encoder.int_as_varint 1424 encoder
  | Ret_lineup_name_utf8_error -> Pbrt.Encoder.int_as_varint 1425 encoder
  | Ret_lineup_leader_lock -> Pbrt.Encoder.int_as_varint 1426 encoder
  | Ret_lineup_story_line_not_match -> Pbrt.Encoder.int_as_varint 1427 encoder
  | Ret_lineup_avatar_lock -> Pbrt.Encoder.int_as_varint 1428 encoder
  | Ret_lineup_avatar_invalid -> Pbrt.Encoder.int_as_varint 1429 encoder
  | Ret_lineup_avatar_already_init -> Pbrt.Encoder.int_as_varint 1430 encoder
  | Ret_lineup_limited -> Pbrt.Encoder.int_as_varint 1431 encoder
  | Ret_mail_not_exist -> Pbrt.Encoder.int_as_varint 1700 encoder
  | Ret_mail_range_invalid -> Pbrt.Encoder.int_as_varint 1701 encoder
  | Ret_mail_mail_id_invalid -> Pbrt.Encoder.int_as_varint 1702 encoder
  | Ret_mail_no_mail_take_attachment -> Pbrt.Encoder.int_as_varint 1703 encoder
  | Ret_mail_no_mail_to_del -> Pbrt.Encoder.int_as_varint 1704 encoder
  | Ret_mail_type_invalid -> Pbrt.Encoder.int_as_varint 1705 encoder
  | Ret_mail_para_invalid -> Pbrt.Encoder.int_as_varint 1706 encoder
  | Ret_mail_attachement_invalid -> Pbrt.Encoder.int_as_varint 1707 encoder
  | Ret_mail_ticket_invalid -> Pbrt.Encoder.int_as_varint 1708 encoder
  | Ret_mail_ticket_repeated -> Pbrt.Encoder.int_as_varint 1709 encoder
  | Ret_stage_settle_error -> Pbrt.Encoder.int_as_varint 1800 encoder
  | Ret_stage_config_not_exist -> Pbrt.Encoder.int_as_varint 1801 encoder
  | Ret_stage_not_found -> Pbrt.Encoder.int_as_varint 1802 encoder
  | Ret_stage_cocoon_prop_not_valid -> Pbrt.Encoder.int_as_varint 1804 encoder
  | Ret_stage_cocoon_wave_not_valid -> Pbrt.Encoder.int_as_varint 1805 encoder
  | Ret_stage_prop_id_not_equal -> Pbrt.Encoder.int_as_varint 1806 encoder
  | Ret_stage_cocoon_wave_over -> Pbrt.Encoder.int_as_varint 1807 encoder
  | Ret_stage_week_cocoon_over_cnt -> Pbrt.Encoder.int_as_varint 1808 encoder
  | Ret_stage_cocoon_not_open -> Pbrt.Encoder.int_as_varint 1809 encoder
  | Ret_stage_trial_not_open -> Pbrt.Encoder.int_as_varint 1810 encoder
  | Ret_stage_farm_not_open -> Pbrt.Encoder.int_as_varint 1811 encoder
  | Ret_stage_farm_type_error -> Pbrt.Encoder.int_as_varint 1812 encoder
  | Ret_chapter_lock -> Pbrt.Encoder.int_as_varint 1900 encoder
  | Ret_chapter_challenge_num_not_enough -> Pbrt.Encoder.int_as_varint 1901 encoder
  | Ret_chapter_reward_id_not_exist -> Pbrt.Encoder.int_as_varint 1902 encoder
  | Ret_chapter_reward_already_taken -> Pbrt.Encoder.int_as_varint 1903 encoder
  | Ret_battle_stage_not_match -> Pbrt.Encoder.int_as_varint 2000 encoder
  | Ret_in_battle_now -> Pbrt.Encoder.int_as_varint 2001 encoder
  | Ret_battle_cheat -> Pbrt.Encoder.int_as_varint 2002 encoder
  | Ret_battle_fail -> Pbrt.Encoder.int_as_varint 2003 encoder
  | Ret_battle_no_lineup -> Pbrt.Encoder.int_as_varint 2004 encoder
  | Ret_battle_lineup_empty -> Pbrt.Encoder.int_as_varint 2005 encoder
  | Ret_battle_version_not_match -> Pbrt.Encoder.int_as_varint 2006 encoder
  | Ret_battle_quit_by_server -> Pbrt.Encoder.int_as_varint 2007 encoder
  | Ret_in_battle_check -> Pbrt.Encoder.int_as_varint 2008 encoder
  | Ret_battle_check_need_retry -> Pbrt.Encoder.int_as_varint 2009 encoder
  | Ret_battle_cost_time_check_fail -> Pbrt.Encoder.int_as_varint 2010 encoder
  | Ret_lack_exchange_stamina_times -> Pbrt.Encoder.int_as_varint 2100 encoder
  | Ret_lack_stamina -> Pbrt.Encoder.int_as_varint 2101 encoder
  | Ret_stamina_full -> Pbrt.Encoder.int_as_varint 2102 encoder
  | Ret_authkey_sign_type_error -> Pbrt.Encoder.int_as_varint 2103 encoder
  | Ret_authkey_sign_ver_error -> Pbrt.Encoder.int_as_varint 2104 encoder
  | Ret_nickname_format_error -> Pbrt.Encoder.int_as_varint 2105 encoder
  | Ret_sensitive_words -> Pbrt.Encoder.int_as_varint 2106 encoder
  | Ret_level_reward_has_taken -> Pbrt.Encoder.int_as_varint 2107 encoder
  | Ret_level_reward_level_error -> Pbrt.Encoder.int_as_varint 2108 encoder
  | Ret_language_invalid -> Pbrt.Encoder.int_as_varint 2109 encoder
  | Ret_nickname_in_cd -> Pbrt.Encoder.int_as_varint 2110 encoder
  | Ret_gameplay_birthday_invalid -> Pbrt.Encoder.int_as_varint 2111 encoder
  | Ret_gameplay_birthday_already_set -> Pbrt.Encoder.int_as_varint 2112 encoder
  | Ret_nickname_utf8_error -> Pbrt.Encoder.int_as_varint 2113 encoder
  | Ret_nickname_digit_limit_error -> Pbrt.Encoder.int_as_varint 2114 encoder
  | Ret_sensitive_words_platform_error -> Pbrt.Encoder.int_as_varint 2115 encoder
  | Ret_player_setting_type_invalid -> Pbrt.Encoder.int_as_varint 2116 encoder
  | Ret_maze_lack_ticket -> Pbrt.Encoder.int_as_varint 2201 encoder
  | Ret_maze_not_unlock -> Pbrt.Encoder.int_as_varint 2202 encoder
  | Ret_maze_no_ability -> Pbrt.Encoder.int_as_varint 2204 encoder
  | Ret_maze_no_plane -> Pbrt.Encoder.int_as_varint 2205 encoder
  | Ret_maze_map_not_exist -> Pbrt.Encoder.int_as_varint 2207 encoder
  | Ret_maze_mp_not_enough -> Pbrt.Encoder.int_as_varint 2213 encoder
  | Ret_spring_not_enable -> Pbrt.Encoder.int_as_varint 2214 encoder
  | Ret_spring_too_far -> Pbrt.Encoder.int_as_varint 2216 encoder
  | Ret_not_in_maze -> Pbrt.Encoder.int_as_varint 2218 encoder
  | Ret_maze_time_of_day_type_error -> Pbrt.Encoder.int_as_varint 2223 encoder
  | Ret_scene_transfer_locked_by_task -> Pbrt.Encoder.int_as_varint 2224 encoder
  | Ret_plot_not_unlock -> Pbrt.Encoder.int_as_varint 2300 encoder
  | Ret_mission_not_exist -> Pbrt.Encoder.int_as_varint 2400 encoder
  | Ret_mission_already_done -> Pbrt.Encoder.int_as_varint 2401 encoder
  | Ret_daily_task_not_finish -> Pbrt.Encoder.int_as_varint 2402 encoder
  | Ret_daily_task_reward_has_taken -> Pbrt.Encoder.int_as_varint 2403 encoder
  | Ret_mission_not_finish -> Pbrt.Encoder.int_as_varint 2404 encoder
  | Ret_mission_not_doing -> Pbrt.Encoder.int_as_varint 2405 encoder
  | Ret_mission_finish_way_not_match -> Pbrt.Encoder.int_as_varint 2406 encoder
  | Ret_mission_scene_not_match -> Pbrt.Encoder.int_as_varint 2407 encoder
  | Ret_mission_custom_value_not_valid -> Pbrt.Encoder.int_as_varint 2408 encoder
  | Ret_mission_sub_mission_not_match -> Pbrt.Encoder.int_as_varint 2409 encoder
  | Ret_adventure_map_not_exist -> Pbrt.Encoder.int_as_varint 2500 encoder
  | Ret_scene_entity_not_exist -> Pbrt.Encoder.int_as_varint 2600 encoder
  | Ret_not_in_scene -> Pbrt.Encoder.int_as_varint 2601 encoder
  | Ret_scene_monster_not_exist -> Pbrt.Encoder.int_as_varint 2602 encoder
  | Ret_interact_config_not_exist -> Pbrt.Encoder.int_as_varint 2603 encoder
  | Ret_unsupported_prop_state -> Pbrt.Encoder.int_as_varint 2604 encoder
  | Ret_scene_entry_id_not_match -> Pbrt.Encoder.int_as_varint 2605 encoder
  | Ret_scene_entity_move_check_failed -> Pbrt.Encoder.int_as_varint 2606 encoder
  | Ret_assist_monster_count_limit -> Pbrt.Encoder.int_as_varint 2607 encoder
  | Ret_scene_use_skill_fail -> Pbrt.Encoder.int_as_varint 2608 encoder
  | Ret_prop_is_hidden -> Pbrt.Encoder.int_as_varint 2609 encoder
  | Ret_loading_succ_already -> Pbrt.Encoder.int_as_varint 2610 encoder
  | Ret_scene_entity_type_invalid -> Pbrt.Encoder.int_as_varint 2611 encoder
  | Ret_interact_type_invalid -> Pbrt.Encoder.int_as_varint 2612 encoder
  | Ret_interact_not_in_region -> Pbrt.Encoder.int_as_varint 2613 encoder
  | Ret_interact_sub_type_invalid -> Pbrt.Encoder.int_as_varint 2614 encoder
  | Ret_not_leader_entity -> Pbrt.Encoder.int_as_varint 2615 encoder
  | Ret_monster_is_not_farm_element -> Pbrt.Encoder.int_as_varint 2616 encoder
  | Ret_monster_config_not_exist -> Pbrt.Encoder.int_as_varint 2617 encoder
  | Ret_avatar_hp_already_full -> Pbrt.Encoder.int_as_varint 2618 encoder
  | Ret_cur_interact_entity_not_match -> Pbrt.Encoder.int_as_varint 2619 encoder
  | Ret_plane_type_not_allow -> Pbrt.Encoder.int_as_varint 2620 encoder
  | Ret_group_not_exist -> Pbrt.Encoder.int_as_varint 2621 encoder
  | Ret_group_save_data_in_cd -> Pbrt.Encoder.int_as_varint 2622 encoder
  | Ret_group_save_lengh_reach_max -> Pbrt.Encoder.int_as_varint 2623 encoder
  | Ret_recent_element_not_exist -> Pbrt.Encoder.int_as_varint 2624 encoder
  | Ret_recent_element_stage_not_match -> Pbrt.Encoder.int_as_varint 2625 encoder
  | Ret_scene_position_version_not_match -> Pbrt.Encoder.int_as_varint 2626 encoder
  | Ret_gameplay_counter_not_exist -> Pbrt.Encoder.int_as_varint 2627 encoder
  | Ret_gameplay_counter_not_enough -> Pbrt.Encoder.int_as_varint 2628 encoder
  | Ret_group_state_not_match -> Pbrt.Encoder.int_as_varint 2629 encoder
  | Ret_scene_entity_pos_not_match -> Pbrt.Encoder.int_as_varint 2630 encoder
  | Ret_group_state_custom_save_data_off -> Pbrt.Encoder.int_as_varint 2631 encoder
  | Ret_scene_not_match -> Pbrt.Encoder.int_as_varint 2632 encoder
  | Ret_buy_times_limit -> Pbrt.Encoder.int_as_varint 2700 encoder
  | Ret_buy_limit_type -> Pbrt.Encoder.int_as_varint 2701 encoder
  | Ret_shop_not_open -> Pbrt.Encoder.int_as_varint 2702 encoder
  | Ret_goods_not_open -> Pbrt.Encoder.int_as_varint 2703 encoder
  | Ret_city_level_reward_taken -> Pbrt.Encoder.int_as_varint 2704 encoder
  | Ret_city_level_not_meet -> Pbrt.Encoder.int_as_varint 2705 encoder
  | Ret_single_buy_limit -> Pbrt.Encoder.int_as_varint 2706 encoder
  | Ret_tutorial_not_unlock -> Pbrt.Encoder.int_as_varint 2751 encoder
  | Ret_tutorial_unlock_already -> Pbrt.Encoder.int_as_varint 2752 encoder
  | Ret_tutorial_finish_already -> Pbrt.Encoder.int_as_varint 2753 encoder
  | Ret_tutorial_pre_not_unlock -> Pbrt.Encoder.int_as_varint 2754 encoder
  | Ret_tutorial_player_level_not_match -> Pbrt.Encoder.int_as_varint 2755 encoder
  | Ret_tutorial_tutorial_not_found -> Pbrt.Encoder.int_as_varint 2756 encoder
  | Ret_challenge_not_exist -> Pbrt.Encoder.int_as_varint 2801 encoder
  | Ret_challenge_not_unlock -> Pbrt.Encoder.int_as_varint 2802 encoder
  | Ret_challenge_already -> Pbrt.Encoder.int_as_varint 2803 encoder
  | Ret_challenge_lineup_edit_forbidden -> Pbrt.Encoder.int_as_varint 2804 encoder
  | Ret_challenge_lineup_empty -> Pbrt.Encoder.int_as_varint 2805 encoder
  | Ret_challenge_not_doing -> Pbrt.Encoder.int_as_varint 2806 encoder
  | Ret_challenge_not_finish -> Pbrt.Encoder.int_as_varint 2807 encoder
  | Ret_challenge_target_not_finish -> Pbrt.Encoder.int_as_varint 2808 encoder
  | Ret_challenge_target_reward_taken -> Pbrt.Encoder.int_as_varint 2809 encoder
  | Ret_challenge_time_not_valid -> Pbrt.Encoder.int_as_varint 2810 encoder
  | Ret_challenge_stars_count_not_meet -> Pbrt.Encoder.int_as_varint 2811 encoder
  | Ret_challenge_stars_reward_taken -> Pbrt.Encoder.int_as_varint 2812 encoder
  | Ret_challenge_stars_not_exist -> Pbrt.Encoder.int_as_varint 2813 encoder
  | Ret_challenge_cur_scene_not_entry_floor -> Pbrt.Encoder.int_as_varint 2814 encoder
  | Ret_challenge_no_team_archive -> Pbrt.Encoder.int_as_varint 2815 encoder
  | Ret_challenge_lineup_avatar_type_invalid -> Pbrt.Encoder.int_as_varint 2816 encoder
  | Ret_challenge_lineup_recommend_in_cd -> Pbrt.Encoder.int_as_varint 2817 encoder
  | Ret_basic_type_already -> Pbrt.Encoder.int_as_varint 2850 encoder
  | Ret_no_basic_type -> Pbrt.Encoder.int_as_varint 2851 encoder
  | Ret_not_choose_basic_type -> Pbrt.Encoder.int_as_varint 2852 encoder
  | Ret_not_func_close -> Pbrt.Encoder.int_as_varint 2853 encoder
  | Ret_not_choose_gender -> Pbrt.Encoder.int_as_varint 2854 encoder
  | Ret_not_req_unlock_basic_type -> Pbrt.Encoder.int_as_varint 2855 encoder
  | Ret_avatar_path_locked -> Pbrt.Encoder.int_as_varint 2856 encoder
  | Ret_rogue_status_not_match -> Pbrt.Encoder.int_as_varint 2901 encoder
  | Ret_rogue_select_buff_not_exist -> Pbrt.Encoder.int_as_varint 2902 encoder
  | Ret_rogue_coin_not_enough -> Pbrt.Encoder.int_as_varint 2903 encoder
  | Ret_rogue_stamina_not_enough -> Pbrt.Encoder.int_as_varint 2904 encoder
  | Ret_rogue_appraisal_count_not_enough -> Pbrt.Encoder.int_as_varint 2905 encoder
  | Ret_rogue_prop_already_used -> Pbrt.Encoder.int_as_varint 2906 encoder
  | Ret_rogue_record_already_saved -> Pbrt.Encoder.int_as_varint 2907 encoder
  | Ret_rogue_roll_buff_max_count -> Pbrt.Encoder.int_as_varint 2908 encoder
  | Ret_rogue_pick_avatar_invalid -> Pbrt.Encoder.int_as_varint 2909 encoder
  | Ret_rogue_quest_expire -> Pbrt.Encoder.int_as_varint 2910 encoder
  | Ret_rogue_quest_reward_already -> Pbrt.Encoder.int_as_varint 2911 encoder
  | Ret_rogue_revive_count_not_enough -> Pbrt.Encoder.int_as_varint 2912 encoder
  | Ret_rogue_area_invalid -> Pbrt.Encoder.int_as_varint 2913 encoder
  | Ret_rogue_score_reward_pool_invalid -> Pbrt.Encoder.int_as_varint 2914 encoder
  | Ret_rogue_score_reward_row_invalid -> Pbrt.Encoder.int_as_varint 2915 encoder
  | Ret_rogue_aeon_level_not_meet -> Pbrt.Encoder.int_as_varint 2916 encoder
  | Ret_rogue_aeon_level_reward_already_taken -> Pbrt.Encoder.int_as_varint 2917 encoder
  | Ret_rogue_aeon_config_not_exist -> Pbrt.Encoder.int_as_varint 2918 encoder
  | Ret_rogue_trial_avatar_invalid -> Pbrt.Encoder.int_as_varint 2919 encoder
  | Ret_rogue_handbook_reward_already_taken -> Pbrt.Encoder.int_as_varint 2920 encoder
  | Ret_rogue_room_type_not_match -> Pbrt.Encoder.int_as_varint 2921 encoder
  | Ret_rogue_shop_good_not_found -> Pbrt.Encoder.int_as_varint 2922 encoder
  | Ret_rogue_shop_good_already_bought -> Pbrt.Encoder.int_as_varint 2923 encoder
  | Ret_rogue_shop_good_already_own -> Pbrt.Encoder.int_as_varint 2924 encoder
  | Ret_rogue_shop_miracle_not_exist -> Pbrt.Encoder.int_as_varint 2925 encoder
  | Ret_rogue_shop_not_exist -> Pbrt.Encoder.int_as_varint 2926 encoder
  | Ret_rogue_shop_cannot_refresh -> Pbrt.Encoder.int_as_varint 2927 encoder
  | Ret_rogue_select_buff_certain_mismatch -> Pbrt.Encoder.int_as_varint 2928 encoder
  | Ret_mission_event_config_not_exist -> Pbrt.Encoder.int_as_varint 2951 encoder
  | Ret_mission_event_not_client -> Pbrt.Encoder.int_as_varint 2952 encoder
  | Ret_mission_event_finished -> Pbrt.Encoder.int_as_varint 2953 encoder
  | Ret_mission_event_doing -> Pbrt.Encoder.int_as_varint 2954 encoder
  | Ret_has_challenge_mission_event -> Pbrt.Encoder.int_as_varint 2955 encoder
  | Ret_not_challenge_mission_event -> Pbrt.Encoder.int_as_varint 2956 encoder
  | Ret_gacha_id_not_exist -> Pbrt.Encoder.int_as_varint 3001 encoder
  | Ret_gacha_num_invalid -> Pbrt.Encoder.int_as_varint 3002 encoder
  | Ret_gacha_first_gacha_must_one -> Pbrt.Encoder.int_as_varint 3003 encoder
  | Ret_gacha_req_duplicated -> Pbrt.Encoder.int_as_varint 3004 encoder
  | Ret_gacha_not_in_schedule -> Pbrt.Encoder.int_as_varint 3005 encoder
  | Ret_gacha_newbie_close -> Pbrt.Encoder.int_as_varint 3006 encoder
  | Ret_gacha_today_limited -> Pbrt.Encoder.int_as_varint 3007 encoder
  | Ret_gacha_not_support -> Pbrt.Encoder.int_as_varint 3008 encoder
  | Ret_gacha_ceiling_not_enough -> Pbrt.Encoder.int_as_varint 3009 encoder
  | Ret_gacha_ceiling_close -> Pbrt.Encoder.int_as_varint 3010 encoder
  | Ret_not_in_raid -> Pbrt.Encoder.int_as_varint 3101 encoder
  | Ret_raid_doing -> Pbrt.Encoder.int_as_varint 3102 encoder
  | Ret_not_prop -> Pbrt.Encoder.int_as_varint 3103 encoder
  | Ret_raid_id_not_match -> Pbrt.Encoder.int_as_varint 3104 encoder
  | Ret_raid_restart_not_match -> Pbrt.Encoder.int_as_varint 3105 encoder
  | Ret_raid_limit -> Pbrt.Encoder.int_as_varint 3106 encoder
  | Ret_raid_avatar_list_empty -> Pbrt.Encoder.int_as_varint 3107 encoder
  | Ret_raid_avatar_not_exist -> Pbrt.Encoder.int_as_varint 3108 encoder
  | Ret_challenge_raid_reward_already -> Pbrt.Encoder.int_as_varint 3109 encoder
  | Ret_challenge_raid_score_not_reach -> Pbrt.Encoder.int_as_varint 3110 encoder
  | Ret_challenge_raid_not_open -> Pbrt.Encoder.int_as_varint 3111 encoder
  | Ret_raid_finished -> Pbrt.Encoder.int_as_varint 3112 encoder
  | Ret_raid_world_level_not_lock -> Pbrt.Encoder.int_as_varint 3113 encoder
  | Ret_raid_cannot_use_assist -> Pbrt.Encoder.int_as_varint 3114 encoder
  | Ret_raid_avatar_not_match -> Pbrt.Encoder.int_as_varint 3115 encoder
  | Ret_raid_can_not_save -> Pbrt.Encoder.int_as_varint 3116 encoder
  | Ret_raid_no_save -> Pbrt.Encoder.int_as_varint 3117 encoder
  | Ret_activity_raid_not_open -> Pbrt.Encoder.int_as_varint 3118 encoder
  | Ret_raid_avatar_captain_not_exist -> Pbrt.Encoder.int_as_varint 3119 encoder
  | Ret_raid_story_line_not_match -> Pbrt.Encoder.int_as_varint 3120 encoder
  | Ret_talk_event_already_taken -> Pbrt.Encoder.int_as_varint 3151 encoder
  | Ret_npc_already_meet -> Pbrt.Encoder.int_as_varint 3152 encoder
  | Ret_npc_not_in_config -> Pbrt.Encoder.int_as_varint 3153 encoder
  | Ret_dialogue_group_dismatch -> Pbrt.Encoder.int_as_varint 3154 encoder
  | Ret_dialogue_event_invalid -> Pbrt.Encoder.int_as_varint 3155 encoder
  | Ret_talk_event_take_proto_not_match -> Pbrt.Encoder.int_as_varint 3156 encoder
  | Ret_talk_event_not_valid -> Pbrt.Encoder.int_as_varint 3157 encoder
  | Ret_expedition_config_not_exist -> Pbrt.Encoder.int_as_varint 3201 encoder
  | Ret_expedition_reward_config_not_exist -> Pbrt.Encoder.int_as_varint 3202 encoder
  | Ret_expedition_not_unlocked -> Pbrt.Encoder.int_as_varint 3203 encoder
  | Ret_expedition_already_accepted -> Pbrt.Encoder.int_as_varint 3204 encoder
  | Ret_expedition_repeated_avatar -> Pbrt.Encoder.int_as_varint 3205 encoder
  | Ret_avatar_already_dispatched -> Pbrt.Encoder.int_as_varint 3206 encoder
  | Ret_expedition_not_accepted -> Pbrt.Encoder.int_as_varint 3207 encoder
  | Ret_expedition_not_finish -> Pbrt.Encoder.int_as_varint 3208 encoder
  | Ret_expedition_already_finish -> Pbrt.Encoder.int_as_varint 3209 encoder
  | Ret_expedition_team_count_limit -> Pbrt.Encoder.int_as_varint 3210 encoder
  | Ret_expedition_avatar_num_not_match -> Pbrt.Encoder.int_as_varint 3211 encoder
  | Ret_expedition_not_open -> Pbrt.Encoder.int_as_varint 3212 encoder
  | Ret_expedition_friend_avatar_not_valid -> Pbrt.Encoder.int_as_varint 3213 encoder
  | Ret_expedition_not_published -> Pbrt.Encoder.int_as_varint 3214 encoder
  | Ret_login_activity_has_taken -> Pbrt.Encoder.int_as_varint 3301 encoder
  | Ret_login_activity_days_lack -> Pbrt.Encoder.int_as_varint 3302 encoder
  | Ret_trial_activity_reward_already_take -> Pbrt.Encoder.int_as_varint 3303 encoder
  | Ret_trial_activity_stage_not_finish -> Pbrt.Encoder.int_as_varint 3304 encoder
  | Ret_monster_research_activity_has_taken -> Pbrt.Encoder.int_as_varint 3305 encoder
  | Ret_monster_research_activity_material_not_submitted -> Pbrt.Encoder.int_as_varint 3306 encoder
  | Ret_monster_research_activity_material_already_submitted -> Pbrt.Encoder.int_as_varint 3307 encoder
  | Ret_fantastic_story_activity_story_error -> Pbrt.Encoder.int_as_varint 3308 encoder
  | Ret_fantastic_story_activity_story_not_open -> Pbrt.Encoder.int_as_varint 3309 encoder
  | Ret_fantastic_story_activity_battle_error -> Pbrt.Encoder.int_as_varint 3310 encoder
  | Ret_fantastic_story_activity_battle_not_open -> Pbrt.Encoder.int_as_varint 3311 encoder
  | Ret_fantastic_story_activity_battle_avatar_error -> Pbrt.Encoder.int_as_varint 3312 encoder
  | Ret_fantastic_story_activity_battle_buff_error -> Pbrt.Encoder.int_as_varint 3313 encoder
  | Ret_fantastic_story_activity_pre_battle_score_not_enough -> Pbrt.Encoder.int_as_varint 3314 encoder
  | Ret_trial_activity_already_in_trial_activity -> Pbrt.Encoder.int_as_varint 3315 encoder
  | Ret_common_activity_not_open -> Pbrt.Encoder.int_as_varint 3316 encoder
  | Ret_message_config_not_exist -> Pbrt.Encoder.int_as_varint 3501 encoder
  | Ret_message_section_not_take -> Pbrt.Encoder.int_as_varint 3502 encoder
  | Ret_message_group_not_take -> Pbrt.Encoder.int_as_varint 3503 encoder
  | Ret_message_section_id_not_match -> Pbrt.Encoder.int_as_varint 3504 encoder
  | Ret_message_section_can_not_finish -> Pbrt.Encoder.int_as_varint 3505 encoder
  | Ret_message_item_can_not_finish -> Pbrt.Encoder.int_as_varint 3506 encoder
  | Ret_message_item_raid_can_not_finish -> Pbrt.Encoder.int_as_varint 3507 encoder
  | Ret_friend_already_is_friend -> Pbrt.Encoder.int_as_varint 3601 encoder
  | Ret_friend_is_not_friend -> Pbrt.Encoder.int_as_varint 3602 encoder
  | Ret_friend_apply_expire -> Pbrt.Encoder.int_as_varint 3603 encoder
  | Ret_friend_in_blacklist -> Pbrt.Encoder.int_as_varint 3604 encoder
  | Ret_friend_not_in_blacklist -> Pbrt.Encoder.int_as_varint 3605 encoder
  | Ret_friend_number_limit -> Pbrt.Encoder.int_as_varint 3606 encoder
  | Ret_friend_blacklist_number_limit -> Pbrt.Encoder.int_as_varint 3607 encoder
  | Ret_friend_daily_apply_limit -> Pbrt.Encoder.int_as_varint 3608 encoder
  | Ret_friend_in_handle_limit -> Pbrt.Encoder.int_as_varint 3609 encoder
  | Ret_friend_apply_in_cd -> Pbrt.Encoder.int_as_varint 3610 encoder
  | Ret_friend_remark_name_format_error -> Pbrt.Encoder.int_as_varint 3611 encoder
  | Ret_friend_player_not_found -> Pbrt.Encoder.int_as_varint 3612 encoder
  | Ret_friend_in_target_blacklist -> Pbrt.Encoder.int_as_varint 3613 encoder
  | Ret_friend_target_number_limit -> Pbrt.Encoder.int_as_varint 3614 encoder
  | Ret_assist_query_too_fast -> Pbrt.Encoder.int_as_varint 3615 encoder
  | Ret_assist_not_exist -> Pbrt.Encoder.int_as_varint 3616 encoder
  | Ret_assist_used_already -> Pbrt.Encoder.int_as_varint 3617 encoder
  | Ret_friend_report_reason_format_error -> Pbrt.Encoder.int_as_varint 3618 encoder
  | Ret_friend_report_sensitive_words -> Pbrt.Encoder.int_as_varint 3619 encoder
  | Ret_assist_used_times_over -> Pbrt.Encoder.int_as_varint 3620 encoder
  | Ret_assist_quit_already -> Pbrt.Encoder.int_as_varint 3621 encoder
  | Ret_assist_avatar_in_lineup -> Pbrt.Encoder.int_as_varint 3622 encoder
  | Ret_assist_no_reward -> Pbrt.Encoder.int_as_varint 3623 encoder
  | Ret_friend_search_num_limit -> Pbrt.Encoder.int_as_varint 3624 encoder
  | Ret_friend_search_in_cd -> Pbrt.Encoder.int_as_varint 3625 encoder
  | Ret_friend_remark_name_utf8_error -> Pbrt.Encoder.int_as_varint 3626 encoder
  | Ret_friend_report_reason_utf8_error -> Pbrt.Encoder.int_as_varint 3627 encoder
  | Ret_assist_set_already -> Pbrt.Encoder.int_as_varint 3628 encoder
  | Ret_friend_target_forbid_other_apply -> Pbrt.Encoder.int_as_varint 3629 encoder
  | Ret_friend_marked_cnt_max -> Pbrt.Encoder.int_as_varint 3630 encoder
  | Ret_friend_marked_already -> Pbrt.Encoder.int_as_varint 3631 encoder
  | Ret_friend_not_marked -> Pbrt.Encoder.int_as_varint 3632 encoder
  | Ret_friend_challenge_lineup_recommend_in_cd -> Pbrt.Encoder.int_as_varint 3633 encoder
  | Ret_view_player_card_in_cd -> Pbrt.Encoder.int_as_varint 3634 encoder
  | Ret_view_player_battle_record_in_cd -> Pbrt.Encoder.int_as_varint 3635 encoder
  | Ret_player_board_head_icon_not_exist -> Pbrt.Encoder.int_as_varint 3701 encoder
  | Ret_player_board_head_icon_locked -> Pbrt.Encoder.int_as_varint 3702 encoder
  | Ret_player_board_head_icon_already_unlocked -> Pbrt.Encoder.int_as_varint 3703 encoder
  | Ret_player_board_display_avatar_not_exist -> Pbrt.Encoder.int_as_varint 3704 encoder
  | Ret_player_board_display_avatar_exceed_limit -> Pbrt.Encoder.int_as_varint 3705 encoder
  | Ret_player_board_display_repeated_avatar -> Pbrt.Encoder.int_as_varint 3706 encoder
  | Ret_player_board_display_avatar_same_pos -> Pbrt.Encoder.int_as_varint 3707 encoder
  | Ret_player_board_display_avatar_locked -> Pbrt.Encoder.int_as_varint 3708 encoder
  | Ret_signature_length_exceed_limit -> Pbrt.Encoder.int_as_varint 3709 encoder
  | Ret_signature_sensitive_words -> Pbrt.Encoder.int_as_varint 3710 encoder
  | Ret_player_board_assist_avatar_not_exist -> Pbrt.Encoder.int_as_varint 3712 encoder
  | Ret_player_board_assist_avatar_locked -> Pbrt.Encoder.int_as_varint 3713 encoder
  | Ret_signature_utf8_error -> Pbrt.Encoder.int_as_varint 3714 encoder
  | Ret_player_board_assist_avatar_cnt_error -> Pbrt.Encoder.int_as_varint 3715 encoder
  | Ret_battle_pass_tier_not_valid -> Pbrt.Encoder.int_as_varint 3801 encoder
  | Ret_battle_pass_level_not_meet -> Pbrt.Encoder.int_as_varint 3802 encoder
  | Ret_battle_pass_reward_take_already -> Pbrt.Encoder.int_as_varint 3803 encoder
  | Ret_battle_pass_not_premium -> Pbrt.Encoder.int_as_varint 3804 encoder
  | Ret_battle_pass_not_doing -> Pbrt.Encoder.int_as_varint 3805 encoder
  | Ret_battle_pass_level_invalid -> Pbrt.Encoder.int_as_varint 3806 encoder
  | Ret_battle_pass_not_unlock -> Pbrt.Encoder.int_as_varint 3807 encoder
  | Ret_battle_pass_no_reward -> Pbrt.Encoder.int_as_varint 3808 encoder
  | Ret_battle_pass_quest_not_valid -> Pbrt.Encoder.int_as_varint 3809 encoder
  | Ret_battle_pass_not_choose_optional -> Pbrt.Encoder.int_as_varint 3810 encoder
  | Ret_battle_pass_not_take_reward -> Pbrt.Encoder.int_as_varint 3811 encoder
  | Ret_battle_pass_optional_not_valid -> Pbrt.Encoder.int_as_varint 3812 encoder
  | Ret_battle_pass_buy_already -> Pbrt.Encoder.int_as_varint 3813 encoder
  | Ret_battle_pass_near_end -> Pbrt.Encoder.int_as_varint 3814 encoder
  | Ret_music_locked -> Pbrt.Encoder.int_as_varint 3901 encoder
  | Ret_music_not_exist -> Pbrt.Encoder.int_as_varint 3902 encoder
  | Ret_music_unlock_failed -> Pbrt.Encoder.int_as_varint 3903 encoder
  | Ret_punk_lord_lack_summon_times -> Pbrt.Encoder.int_as_varint 4001 encoder
  | Ret_punk_lord_attacking_monster_limit -> Pbrt.Encoder.int_as_varint 4002 encoder
  | Ret_punk_lord_monster_not_exist -> Pbrt.Encoder.int_as_varint 4003 encoder
  | Ret_punk_lord_monster_already_shared -> Pbrt.Encoder.int_as_varint 4004 encoder
  | Ret_punk_lord_monster_expired -> Pbrt.Encoder.int_as_varint 4005 encoder
  | Ret_punk_lord_self_monster_attack_limit -> Pbrt.Encoder.int_as_varint 4006 encoder
  | Ret_punk_lord_lack_support_times -> Pbrt.Encoder.int_as_varint 4007 encoder
  | Ret_punk_lord_monster_already_killed -> Pbrt.Encoder.int_as_varint 4008 encoder
  | Ret_punk_lord_monster_attacker_limit -> Pbrt.Encoder.int_as_varint 4009 encoder
  | Ret_punk_lord_world_levle_not_valid -> Pbrt.Encoder.int_as_varint 4010 encoder
  | Ret_punk_lord_reward_levle_not_exist -> Pbrt.Encoder.int_as_varint 4011 encoder
  | Ret_punk_lord_point_not_meet -> Pbrt.Encoder.int_as_varint 4012 encoder
  | Ret_punk_lord_in_attacking -> Pbrt.Encoder.int_as_varint 4013 encoder
  | Ret_punk_lord_operation_in_cd -> Pbrt.Encoder.int_as_varint 4014 encoder
  | Ret_punk_lord_reward_already_taken -> Pbrt.Encoder.int_as_varint 4015 encoder
  | Ret_punk_lord_over_bonus_reward_limit -> Pbrt.Encoder.int_as_varint 4016 encoder
  | Ret_punk_lord_not_in_schedule -> Pbrt.Encoder.int_as_varint 4017 encoder
  | Ret_punk_lord_monster_not_attacked -> Pbrt.Encoder.int_as_varint 4018 encoder
  | Ret_punk_lord_monster_not_killed -> Pbrt.Encoder.int_as_varint 4019 encoder
  | Ret_punk_lord_monster_killed_score_already_take -> Pbrt.Encoder.int_as_varint 4020 encoder
  | Ret_punk_lord_reward_levle_already_take -> Pbrt.Encoder.int_as_varint 4021 encoder
  | Ret_daily_active_level_invalid -> Pbrt.Encoder.int_as_varint 4101 encoder
  | Ret_daily_active_level_reward_already_taken -> Pbrt.Encoder.int_as_varint 4102 encoder
  | Ret_daily_active_level_ap_not_enough -> Pbrt.Encoder.int_as_varint 4103 encoder
  | Ret_daily_meet_pam -> Pbrt.Encoder.int_as_varint 4201 encoder
  | Ret_replay_id_not_match -> Pbrt.Encoder.int_as_varint 4251 encoder
  | Ret_replay_req_not_valid -> Pbrt.Encoder.int_as_varint 4252 encoder
  | Ret_fight_activity_difficulty_level_not_passed -> Pbrt.Encoder.int_as_varint 4301 encoder
  | Ret_fight_activity_difficulty_level_reward_already_take -> Pbrt.Encoder.int_as_varint 4302 encoder
  | Ret_fight_activity_stage_not_open -> Pbrt.Encoder.int_as_varint 4303 encoder
  | Ret_fight_activity_level_not_unlock -> Pbrt.Encoder.int_as_varint 4304 encoder
  | Ret_train_visitor_visitor_not_exist -> Pbrt.Encoder.int_as_varint 4351 encoder
  | Ret_train_visitor_behavior_not_exist -> Pbrt.Encoder.int_as_varint 4352 encoder
  | Ret_train_visitor_behavior_finished -> Pbrt.Encoder.int_as_varint 4353 encoder
  | Ret_train_visitor_all_behavior_reward_taken -> Pbrt.Encoder.int_as_varint 4354 encoder
  | Ret_train_visitor_get_on_mission_not_finish -> Pbrt.Encoder.int_as_varint 4355 encoder
  | Ret_train_visitor_not_get_off -> Pbrt.Encoder.int_as_varint 4356 encoder
  | Ret_text_join_unknow_is_override -> Pbrt.Encoder.int_as_varint 4401 encoder
  | Ret_text_join_id_not_exist -> Pbrt.Encoder.int_as_varint 4402 encoder
  | Ret_text_join_can_not_override -> Pbrt.Encoder.int_as_varint 4403 encoder
  | Ret_text_join_item_id_error -> Pbrt.Encoder.int_as_varint 4404 encoder
  | Ret_text_join_sensitive_check_error -> Pbrt.Encoder.int_as_varint 4405 encoder
  | Ret_text_join_must_override -> Pbrt.Encoder.int_as_varint 4406 encoder
  | Ret_text_join_text_empty -> Pbrt.Encoder.int_as_varint 4407 encoder
  | Ret_text_join_text_format_error -> Pbrt.Encoder.int_as_varint 4408 encoder
  | Ret_text_join_text_utf8_error -> Pbrt.Encoder.int_as_varint 4409 encoder
  | Ret_text_join_batch_req_id_repeat -> Pbrt.Encoder.int_as_varint 4410 encoder
  | Ret_text_join_type_not_support_batch_req -> Pbrt.Encoder.int_as_varint 4411 encoder
  | Ret_text_join_avatar_id_not_exist -> Pbrt.Encoder.int_as_varint 4412 encoder
  | Ret_text_join_unknow_type -> Pbrt.Encoder.int_as_varint 4413 encoder
  | Ret_pam_mission_mission_id_error -> Pbrt.Encoder.int_as_varint 4451 encoder
  | Ret_pam_mission_mission_expire -> Pbrt.Encoder.int_as_varint 4452 encoder
  | Ret_chat_type_not_exist -> Pbrt.Encoder.int_as_varint 4501 encoder
  | Ret_msg_type_not_exist -> Pbrt.Encoder.int_as_varint 4502 encoder
  | Ret_chat_no_target_uid -> Pbrt.Encoder.int_as_varint 4503 encoder
  | Ret_chat_msg_empty -> Pbrt.Encoder.int_as_varint 4504 encoder
  | Ret_chat_msg_exceed_limit -> Pbrt.Encoder.int_as_varint 4505 encoder
  | Ret_chat_msg_sensitive_check_error -> Pbrt.Encoder.int_as_varint 4506 encoder
  | Ret_chat_msg_utf8_error -> Pbrt.Encoder.int_as_varint 4507 encoder
  | Ret_chat_forbid_switch_open -> Pbrt.Encoder.int_as_varint 4508 encoder
  | Ret_chat_forbid -> Pbrt.Encoder.int_as_varint 4509 encoder
  | Ret_chat_msg_include_special_str -> Pbrt.Encoder.int_as_varint 4510 encoder
  | Ret_chat_msg_emoji_not_exist -> Pbrt.Encoder.int_as_varint 4511 encoder
  | Ret_chat_msg_emoji_gender_not_match -> Pbrt.Encoder.int_as_varint 4512 encoder
  | Ret_chat_msg_emoji_not_marked -> Pbrt.Encoder.int_as_varint 4513 encoder
  | Ret_chat_msg_emoji_already_marked -> Pbrt.Encoder.int_as_varint 4514 encoder
  | Ret_chat_msg_emoji_marked_max_limit -> Pbrt.Encoder.int_as_varint 4515 encoder
  | Ret_boxing_club_challenge_not_open -> Pbrt.Encoder.int_as_varint 4601 encoder
  | Ret_museum_not_open -> Pbrt.Encoder.int_as_varint 4651 encoder
  | Ret_museum_turn_cnt_not_match -> Pbrt.Encoder.int_as_varint 4652 encoder
  | Ret_museum_phase_not_reach -> Pbrt.Encoder.int_as_varint 4653 encoder
  | Ret_museum_unknow_stuff -> Pbrt.Encoder.int_as_varint 4654 encoder
  | Ret_museum_unknow_area -> Pbrt.Encoder.int_as_varint 4655 encoder
  | Ret_museum_unknow_pos -> Pbrt.Encoder.int_as_varint 4656 encoder
  | Ret_museum_stuff_already_in_area -> Pbrt.Encoder.int_as_varint 4657 encoder
  | Ret_museum_stuff_not_in_area -> Pbrt.Encoder.int_as_varint 4658 encoder
  | Ret_museum_get_npc_repeat -> Pbrt.Encoder.int_as_varint 4659 encoder
  | Ret_museum_get_npc_unlock -> Pbrt.Encoder.int_as_varint 4660 encoder
  | Ret_museum_get_npc_not_enough -> Pbrt.Encoder.int_as_varint 4661 encoder
  | Ret_museum_change_stuff_area_error -> Pbrt.Encoder.int_as_varint 4662 encoder
  | Ret_museum_not_init -> Pbrt.Encoder.int_as_varint 4663 encoder
  | Ret_museum_event_error -> Pbrt.Encoder.int_as_varint 4664 encoder
  | Ret_museum_unknow_choose_event_id -> Pbrt.Encoder.int_as_varint 4665 encoder
  | Ret_museum_event_order_not_match -> Pbrt.Encoder.int_as_varint 4666 encoder
  | Ret_museum_event_phase_not_unlock -> Pbrt.Encoder.int_as_varint 4667 encoder
  | Ret_museum_event_mission_not_found -> Pbrt.Encoder.int_as_varint 4668 encoder
  | Ret_museum_area_level_up_already -> Pbrt.Encoder.int_as_varint 4669 encoder
  | Ret_museum_stuff_already_used -> Pbrt.Encoder.int_as_varint 4670 encoder
  | Ret_museum_event_round_not_unlock -> Pbrt.Encoder.int_as_varint 4671 encoder
  | Ret_museum_stuff_in_area -> Pbrt.Encoder.int_as_varint 4672 encoder
  | Ret_museum_stuff_dispatch -> Pbrt.Encoder.int_as_varint 4673 encoder
  | Ret_museum_is_end -> Pbrt.Encoder.int_as_varint 4674 encoder
  | Ret_museum_stuff_leaving -> Pbrt.Encoder.int_as_varint 4675 encoder
  | Ret_museum_event_mission_not_finish -> Pbrt.Encoder.int_as_varint 4678 encoder
  | Ret_museum_collect_reward_not_exist -> Pbrt.Encoder.int_as_varint 4679 encoder
  | Ret_museum_collect_reward_already_taken -> Pbrt.Encoder.int_as_varint 4680 encoder
  | Ret_museum_accept_mission_max_limit -> Pbrt.Encoder.int_as_varint 4681 encoder
  | Ret_rogue_challenge_not_open -> Pbrt.Encoder.int_as_varint 4701 encoder
  | Ret_rogue_challenge_assis_refresh_limit -> Pbrt.Encoder.int_as_varint 4702 encoder
  | Ret_alley_not_init -> Pbrt.Encoder.int_as_varint 4721 encoder
  | Ret_alley_not_open -> Pbrt.Encoder.int_as_varint 4722 encoder
  | Ret_alley_map_not_exist -> Pbrt.Encoder.int_as_varint 4724 encoder
  | Ret_alley_empty_pos_list -> Pbrt.Encoder.int_as_varint 4725 encoder
  | Ret_alley_line_pos_invalid -> Pbrt.Encoder.int_as_varint 4726 encoder
  | Ret_alley_shop_not_unlock -> Pbrt.Encoder.int_as_varint 4727 encoder
  | Ret_alley_depot_full -> Pbrt.Encoder.int_as_varint 4728 encoder
  | Ret_alley_shop_not_include -> Pbrt.Encoder.int_as_varint 4729 encoder
  | Ret_alley_event_not_unlock -> Pbrt.Encoder.int_as_varint 4730 encoder
  | Ret_alley_event_not_refresh -> Pbrt.Encoder.int_as_varint 4731 encoder
  | Ret_alley_event_state_doing -> Pbrt.Encoder.int_as_varint 4732 encoder
  | Ret_alley_event_state_finish -> Pbrt.Encoder.int_as_varint 4733 encoder
  | Ret_alley_event_error -> Pbrt.Encoder.int_as_varint 4734 encoder
  | Ret_alley_reward_level_error -> Pbrt.Encoder.int_as_varint 4735 encoder
  | Ret_alley_reward_prestige_not_enough -> Pbrt.Encoder.int_as_varint 4736 encoder
  | Ret_alley_ship_empty -> Pbrt.Encoder.int_as_varint 4737 encoder
  | Ret_alley_ship_id_dismatch -> Pbrt.Encoder.int_as_varint 4738 encoder
  | Ret_alley_ship_not_exist -> Pbrt.Encoder.int_as_varint 4739 encoder
  | Ret_alley_ship_not_unlock -> Pbrt.Encoder.int_as_varint 4740 encoder
  | Ret_alley_goods_not_exist -> Pbrt.Encoder.int_as_varint 4741 encoder
  | Ret_alley_goods_not_unlock -> Pbrt.Encoder.int_as_varint 4742 encoder
  | Ret_alley_profit_not_positive -> Pbrt.Encoder.int_as_varint 4743 encoder
  | Ret_alley_special_order_dismatch -> Pbrt.Encoder.int_as_varint 4744 encoder
  | Ret_alley_order_goods_over_limit -> Pbrt.Encoder.int_as_varint 4745 encoder
  | Ret_alley_special_order_condition_not_meet -> Pbrt.Encoder.int_as_varint 4746 encoder
  | Ret_alley_depot_size_over_limit -> Pbrt.Encoder.int_as_varint 4747 encoder
  | Ret_alley_goods_not_enough -> Pbrt.Encoder.int_as_varint 4748 encoder
  | Ret_alley_order_index_invalid -> Pbrt.Encoder.int_as_varint 4749 encoder
  | Ret_alley_reward_already_take -> Pbrt.Encoder.int_as_varint 4750 encoder
  | Ret_alley_reward_not_exist -> Pbrt.Encoder.int_as_varint 4751 encoder
  | Ret_alley_main_mission_not_doing -> Pbrt.Encoder.int_as_varint 4752 encoder
  | Ret_alley_critical_event_not_finish -> Pbrt.Encoder.int_as_varint 4753 encoder
  | Ret_alley_shop_goods_not_valid -> Pbrt.Encoder.int_as_varint 4754 encoder
  | Ret_alley_slash_not_open -> Pbrt.Encoder.int_as_varint 4755 encoder
  | Ret_alley_placing_anchor_invalid -> Pbrt.Encoder.int_as_varint 4756 encoder
  | Ret_alley_placing_goods_index_invalid -> Pbrt.Encoder.int_as_varint 4757 encoder
  | Ret_alley_save_map_too_quick -> Pbrt.Encoder.int_as_varint 4758 encoder
  | Ret_alley_map_not_link -> Pbrt.Encoder.int_as_varint 4759 encoder
  | Ret_alley_funds_not_lower_base -> Pbrt.Encoder.int_as_varint 4760 encoder
  | Ret_alley_event_not_finish -> Pbrt.Encoder.int_as_varint 4761 encoder
  | Ret_alley_normal_order_not_meet -> Pbrt.Encoder.int_as_varint 4762 encoder
  | Ret_player_return_not_open -> Pbrt.Encoder.int_as_varint 4801 encoder
  | Ret_player_return_is_signed -> Pbrt.Encoder.int_as_varint 4802 encoder
  | Ret_player_return_point_not_enough -> Pbrt.Encoder.int_as_varint 4803 encoder
  | Ret_player_return_condition_invalid -> Pbrt.Encoder.int_as_varint 4804 encoder
  | Ret_player_return_has_signed -> Pbrt.Encoder.int_as_varint 4805 encoder
  | Ret_player_return_reward_taken -> Pbrt.Encoder.int_as_varint 4806 encoder
  | Ret_aether_divide_no_lineup -> Pbrt.Encoder.int_as_varint 4851 encoder
  | Ret_aether_divide_lineup_invalid -> Pbrt.Encoder.int_as_varint 4852 encoder
  | Ret_chat_bubble_id_error -> Pbrt.Encoder.int_as_varint 4901 encoder
  | Ret_chat_bubble_id_not_unlock -> Pbrt.Encoder.int_as_varint 4902 encoder
  | Ret_phone_theme_id_error -> Pbrt.Encoder.int_as_varint 4903 encoder
  | Ret_phone_theme_id_not_unlock -> Pbrt.Encoder.int_as_varint 4904 encoder
  | Ret_chat_bubble_select_is_current -> Pbrt.Encoder.int_as_varint 4905 encoder
  | Ret_phone_theme_select_is_current -> Pbrt.Encoder.int_as_varint 4906 encoder
  | Ret_chess_rogue_config_not_found -> Pbrt.Encoder.int_as_varint 4951 encoder
  | Ret_chess_rogue_config_invalid -> Pbrt.Encoder.int_as_varint 4952 encoder
  | Ret_chess_rogue_no_valid_room -> Pbrt.Encoder.int_as_varint 4963 encoder
  | Ret_chess_rogue_no_cell_info -> Pbrt.Encoder.int_as_varint 4964 encoder
  | Ret_chess_rogue_cell_not_finish -> Pbrt.Encoder.int_as_varint 4965 encoder
  | Ret_chess_rogue_cell_is_locked -> Pbrt.Encoder.int_as_varint 4966 encoder
  | Ret_chess_rogue_schedule_not_match -> Pbrt.Encoder.int_as_varint 4967 encoder
  | Ret_chess_rogue_status_fail -> Pbrt.Encoder.int_as_varint 4968 encoder
  | Ret_chess_rogue_area_not_exist -> Pbrt.Encoder.int_as_varint 4969 encoder
  | Ret_chess_rogue_lineup_fail -> Pbrt.Encoder.int_as_varint 4970 encoder
  | Ret_chess_rogue_aeon_fail -> Pbrt.Encoder.int_as_varint 4980 encoder
  | Ret_chess_rogue_enter_cell_fail -> Pbrt.Encoder.int_as_varint 4981 encoder
  | Ret_chess_rogue_roll_dice_fail -> Pbrt.Encoder.int_as_varint 4982 encoder
  | Ret_chess_rogue_dice_status_fail -> Pbrt.Encoder.int_as_varint 4983 encoder
  | Ret_chess_rogue_dice_cnt_not_full -> Pbrt.Encoder.int_as_varint 4984 encoder
  | Ret_chess_rogue_unlock -> Pbrt.Encoder.int_as_varint 4985 encoder
  | Ret_chess_rogue_pick_avatar_fail -> Pbrt.Encoder.int_as_varint 4986 encoder
  | Ret_chess_rogue_avatar_invalid -> Pbrt.Encoder.int_as_varint 4987 encoder
  | Ret_chess_rogue_cell_can_not_select -> Pbrt.Encoder.int_as_varint 4988 encoder
  | Ret_chess_rogue_dice_confirmed -> Pbrt.Encoder.int_as_varint 4989 encoder
  | Ret_chess_rogue_nous_dice_not_match -> Pbrt.Encoder.int_as_varint 4990 encoder
  | Ret_chess_rogue_nous_dice_rarity_fail -> Pbrt.Encoder.int_as_varint 4991 encoder
  | Ret_chess_rogue_nous_dice_surface_duplicate -> Pbrt.Encoder.int_as_varint 4992 encoder
  | Ret_chess_rogue_not_in_rogue -> Pbrt.Encoder.int_as_varint 4993 encoder
  | Ret_chess_rogue_nous_dice_branch_limit -> Pbrt.Encoder.int_as_varint 4994 encoder
  | Ret_heliobus_not_open -> Pbrt.Encoder.int_as_varint 5101 encoder
  | Ret_heliobus_sns_post_not_unlock -> Pbrt.Encoder.int_as_varint 5102 encoder
  | Ret_heliobus_sns_already_read -> Pbrt.Encoder.int_as_varint 5103 encoder
  | Ret_heliobus_sns_already_liked -> Pbrt.Encoder.int_as_varint 5104 encoder
  | Ret_heliobus_sns_already_commented -> Pbrt.Encoder.int_as_varint 5105 encoder
  | Ret_heliobus_sns_in_mission -> Pbrt.Encoder.int_as_varint 5106 encoder
  | Ret_heliobus_sns_already_posted -> Pbrt.Encoder.int_as_varint 5107 encoder
  | Ret_heliobus_sns_not_doing_mission -> Pbrt.Encoder.int_as_varint 5108 encoder
  | Ret_heliobus_reward_level_max -> Pbrt.Encoder.int_as_varint 5109 encoder
  | Ret_heliobus_income_not_enough -> Pbrt.Encoder.int_as_varint 5110 encoder
  | Ret_heliobus_sns_comment_not_unlock -> Pbrt.Encoder.int_as_varint 5111 encoder
  | Ret_heliobus_challenge_not_unlock -> Pbrt.Encoder.int_as_varint 5112 encoder
  | Ret_heliobus_challenge_id_error -> Pbrt.Encoder.int_as_varint 5113 encoder
  | Ret_heliobus_skill_not_unlock -> Pbrt.Encoder.int_as_varint 5114 encoder
  | Ret_heliobus_accept_post_mission_fail -> Pbrt.Encoder.int_as_varint 5115 encoder
  | Ret_heliobus_skill_not_selected -> Pbrt.Encoder.int_as_varint 5116 encoder
  | Ret_heliobus_plane_type_invalid -> Pbrt.Encoder.int_as_varint 5117 encoder
  | Ret_reddot_param_invalid -> Pbrt.Encoder.int_as_varint 5151 encoder
  | Ret_reddot_activity_not_open -> Pbrt.Encoder.int_as_varint 5152 encoder
  | Ret_rogue_endless_activity_config_error -> Pbrt.Encoder.int_as_varint 5201 encoder
  | Ret_rogue_endless_activity_not_open -> Pbrt.Encoder.int_as_varint 5202 encoder
  | Ret_rogue_endless_activity_over_bonus_reward_limit -> Pbrt.Encoder.int_as_varint 5203 encoder
  | Ret_rogue_endless_activity_score_not_meet -> Pbrt.Encoder.int_as_varint 5204 encoder
  | Ret_rogue_endless_activity_reward_levle_already_take -> Pbrt.Encoder.int_as_varint 5205 encoder
  | Ret_heart_dial_script_not_found -> Pbrt.Encoder.int_as_varint 5251 encoder
  | Ret_heart_dial_script_emotion_the_same -> Pbrt.Encoder.int_as_varint 5252 encoder
  | Ret_heart_dial_script_step_not_normal -> Pbrt.Encoder.int_as_varint 5253 encoder
  | Ret_heart_dial_script_condition_not_match -> Pbrt.Encoder.int_as_varint 5254 encoder
  | Ret_heart_dial_script_submit_item_num_not_match -> Pbrt.Encoder.int_as_varint 5255 encoder
  | Ret_heart_dial_script_submit_item_id_not_match -> Pbrt.Encoder.int_as_varint 5256 encoder
  | Ret_heart_dial_dialogue_not_found -> Pbrt.Encoder.int_as_varint 5257 encoder
  | Ret_heart_dial_dialogue_already_performed -> Pbrt.Encoder.int_as_varint 5258 encoder
  | Ret_heart_dial_npc_not_found -> Pbrt.Encoder.int_as_varint 5259 encoder
  | Ret_heart_dial_trace_config_not_found -> Pbrt.Encoder.int_as_varint 5260 encoder
  | Ret_heart_dial_floor_trace_exist -> Pbrt.Encoder.int_as_varint 5261 encoder
  | Ret_heart_dial_trace_floor_not_match -> Pbrt.Encoder.int_as_varint 5262 encoder
  | Ret_travel_brochure_config_error -> Pbrt.Encoder.int_as_varint 5301 encoder
  | Ret_travel_brochure_param_invalid -> Pbrt.Encoder.int_as_varint 5302 encoder
  | Ret_travel_brochure_locked -> Pbrt.Encoder.int_as_varint 5303 encoder
  | Ret_travel_brochure_cannot_operate -> Pbrt.Encoder.int_as_varint 5304 encoder
  | Ret_travel_brochure_world_id_not_match -> Pbrt.Encoder.int_as_varint 5305 encoder
  | Ret_travel_brochure_has_no_world_book -> Pbrt.Encoder.int_as_varint 5306 encoder
  | Ret_travel_brochure_page_full -> Pbrt.Encoder.int_as_varint 5307 encoder
  | Ret_map_rotation_not_in_region -> Pbrt.Encoder.int_as_varint 5351 encoder
  | Ret_map_rotation_rotater_already_deployed -> Pbrt.Encoder.int_as_varint 5352 encoder
  | Ret_map_rotation_energy_not_enough -> Pbrt.Encoder.int_as_varint 5353 encoder
  | Ret_map_rotation_entity_not_on_cur_pose -> Pbrt.Encoder.int_as_varint 5354 encoder
  | Ret_map_rotation_rotater_not_deployed -> Pbrt.Encoder.int_as_varint 5355 encoder
  | Ret_map_rotation_pose_rotater_mismatch -> Pbrt.Encoder.int_as_varint 5356 encoder
  | Ret_map_rotation_rotater_not_removable -> Pbrt.Encoder.int_as_varint 5357 encoder
  | Ret_map_rotation_rotater_disposable -> Pbrt.Encoder.int_as_varint 5358 encoder
  | Ret_space_zoo_activity_cat_not_found -> Pbrt.Encoder.int_as_varint 5401 encoder
  | Ret_space_zoo_activity_cat_param_invalid -> Pbrt.Encoder.int_as_varint 5402 encoder
  | Ret_space_zoo_activity_cat_item_not_enough -> Pbrt.Encoder.int_as_varint 5403 encoder
  | Ret_space_zoo_activity_cat_bag_full -> Pbrt.Encoder.int_as_varint 5404 encoder
  | Ret_space_zoo_activity_cat_not_to_mutate -> Pbrt.Encoder.int_as_varint 5405 encoder
  | Ret_space_zoo_activity_cat_state_error -> Pbrt.Encoder.int_as_varint 5406 encoder
  | Ret_space_zoo_activity_cat_cattery_locked -> Pbrt.Encoder.int_as_varint 5407 encoder
  | Ret_space_zoo_activity_cat_out_now -> Pbrt.Encoder.int_as_varint 5408 encoder
  | Ret_space_zoo_activity_cat_config_not_found -> Pbrt.Encoder.int_as_varint 5409 encoder
  | Ret_space_zoo_activity_cat_feature_not_found -> Pbrt.Encoder.int_as_varint 5410 encoder
  | Ret_space_zoo_activity_cat_add_cat_error -> Pbrt.Encoder.int_as_varint 5411 encoder
  | Ret_space_zoo_activity_cat_money_not_enough -> Pbrt.Encoder.int_as_varint 5412 encoder
  | Ret_space_zoo_activity_cat_cond_not_match -> Pbrt.Encoder.int_as_varint 5413 encoder
  | Ret_strong_challenge_activity_stage_cfg_miss -> Pbrt.Encoder.int_as_varint 5501 encoder
  | Ret_strong_challenge_activity_stage_not_open -> Pbrt.Encoder.int_as_varint 5502 encoder
  | Ret_strong_challenge_activity_buff_error -> Pbrt.Encoder.int_as_varint 5503 encoder
  | Ret_roll_shop_not_found -> Pbrt.Encoder.int_as_varint 5551 encoder
  | Ret_roll_shop_group_empty -> Pbrt.Encoder.int_as_varint 5552 encoder
  | Ret_roll_shop_empty -> Pbrt.Encoder.int_as_varint 5553 encoder
  | Ret_roll_shop_gacha_req_duplicated -> Pbrt.Encoder.int_as_varint 5554 encoder
  | Ret_roll_shop_random_error -> Pbrt.Encoder.int_as_varint 5555 encoder
  | Ret_roll_shop_group_type_not_found -> Pbrt.Encoder.int_as_varint 5556 encoder
  | Ret_roll_shop_has_stored_reward_already -> Pbrt.Encoder.int_as_varint 5557 encoder
  | Ret_roll_shop_no_stored_reward -> Pbrt.Encoder.int_as_varint 5558 encoder
  | Ret_roll_shop_not_in_valid_scene -> Pbrt.Encoder.int_as_varint 5559 encoder
  | Ret_roll_shop_invalid_roll_shop_type -> Pbrt.Encoder.int_as_varint 5560 encoder
  | Ret_activity_raid_collection_prev_not_finish -> Pbrt.Encoder.int_as_varint 5601 encoder
  | Ret_activity_raid_collection_group_enter_next_unavailable -> Pbrt.Encoder.int_as_varint 5602 encoder
  | Ret_activity_raid_collection_is_last -> Pbrt.Encoder.int_as_varint 5603 encoder
  | Ret_activity_raid_collection_is_not_next -> Pbrt.Encoder.int_as_varint 5604 encoder
  | Ret_offering_not_unlock -> Pbrt.Encoder.int_as_varint 5651 encoder
  | Ret_offering_level_not_unlock -> Pbrt.Encoder.int_as_varint 5652 encoder
  | Ret_offering_reach_max_level -> Pbrt.Encoder.int_as_varint 5653 encoder
  | Ret_offering_item_not_enough -> Pbrt.Encoder.int_as_varint 5654 encoder
  | Ret_offering_longtail_not_open -> Pbrt.Encoder.int_as_varint 5655 encoder
  | Ret_offering_reward_condition -> Pbrt.Encoder.int_as_varint 5656 encoder
  | Ret_drink_maker_chat_invalid -> Pbrt.Encoder.int_as_varint 5701 encoder
  | Ret_drink_maker_param_invalid -> Pbrt.Encoder.int_as_varint 5702 encoder
  | Ret_drink_maker_param_not_unlock -> Pbrt.Encoder.int_as_varint 5703 encoder
  | Ret_drink_maker_config_not_found -> Pbrt.Encoder.int_as_varint 5704 encoder
  | Ret_drink_maker_not_last_chat -> Pbrt.Encoder.int_as_varint 5705 encoder
  | Ret_drink_maker_day_and_free_phase_not_open -> Pbrt.Encoder.int_as_varint 5706 encoder
  | Ret_monopoly_not_open -> Pbrt.Encoder.int_as_varint 5751 encoder
  | Ret_monopoly_config_error -> Pbrt.Encoder.int_as_varint 5752 encoder
  | Ret_monopoly_dice_not_enough -> Pbrt.Encoder.int_as_varint 5753 encoder
  | Ret_monopoly_cur_cell_not_finish -> Pbrt.Encoder.int_as_varint 5754 encoder
  | Ret_monopoly_coin_not_enough -> Pbrt.Encoder.int_as_varint 5755 encoder
  | Ret_monopoly_cell_wait_pending -> Pbrt.Encoder.int_as_varint 5756 encoder
  | Ret_monopoly_cell_state_error -> Pbrt.Encoder.int_as_varint 5757 encoder
  | Ret_monopoly_cell_content_error -> Pbrt.Encoder.int_as_varint 5758 encoder
  | Ret_monopoly_item_not_enough -> Pbrt.Encoder.int_as_varint 5759 encoder
  | Ret_monopoly_cell_content_cannot_giveup -> Pbrt.Encoder.int_as_varint 5760 encoder
  | Ret_monopoly_asset_level_invalid -> Pbrt.Encoder.int_as_varint 5761 encoder
  | Ret_monopoly_turn_not_finish -> Pbrt.Encoder.int_as_varint 5762 encoder
  | Ret_monopoly_guide_not_finish -> Pbrt.Encoder.int_as_varint 5763 encoder
  | Ret_monopoly_raffle_reward_reissued -> Pbrt.Encoder.int_as_varint 5764 encoder
  | Ret_monopoly_no_game_active -> Pbrt.Encoder.int_as_varint 5771 encoder
  | Ret_monopoly_game_ratio_not_increasable -> Pbrt.Encoder.int_as_varint 5772 encoder
  | Ret_monopoly_game_ratio_max -> Pbrt.Encoder.int_as_varint 5773 encoder
  | Ret_monopoly_game_target_ratio_invalid -> Pbrt.Encoder.int_as_varint 5774 encoder
  | Ret_monopoly_game_bingo_flip_pos_invalid -> Pbrt.Encoder.int_as_varint 5775 encoder
  | Ret_monopoly_game_guess_already_choose -> Pbrt.Encoder.int_as_varint 5776 encoder
  | Ret_monopoly_game_guess_choose_invalid -> Pbrt.Encoder.int_as_varint 5777 encoder
  | Ret_monopoly_game_guess_information_already_bought -> Pbrt.Encoder.int_as_varint 5778 encoder
  | Ret_monopoly_game_raise_ratio_not_unlock -> Pbrt.Encoder.int_as_varint 5779 encoder
  | Ret_monopoly_friend_not_synced -> Pbrt.Encoder.int_as_varint 5785 encoder
  | Ret_monopoly_get_friend_ranking_list_in_cd -> Pbrt.Encoder.int_as_varint 5786 encoder
  | Ret_monopoly_like_target_not_friend -> Pbrt.Encoder.int_as_varint 5787 encoder
  | Ret_monopoly_daily_already_liked -> Pbrt.Encoder.int_as_varint 5788 encoder
  | Ret_monopoly_social_event_status_not_match -> Pbrt.Encoder.int_as_varint 5789 encoder
  | Ret_monopoly_social_event_server_cache_not_exist -> Pbrt.Encoder.int_as_varint 5790 encoder
  | Ret_monopoly_activity_id_not_match -> Pbrt.Encoder.int_as_varint 5791 encoder
  | Ret_monopoly_raffle_pool_not_exist -> Pbrt.Encoder.int_as_varint 5792 encoder
  | Ret_monopoly_raffle_pool_time_not_match -> Pbrt.Encoder.int_as_varint 5793 encoder
  | Ret_monopoly_raffle_pool_phase_not_meet -> Pbrt.Encoder.int_as_varint 5794 encoder
  | Ret_monopoly_raffle_pool_show_time_not_meet -> Pbrt.Encoder.int_as_varint 5795 encoder
  | Ret_monopoly_raffle_ticket_not_found -> Pbrt.Encoder.int_as_varint 5796 encoder
  | Ret_monopoly_raffle_ticket_time_not_meet -> Pbrt.Encoder.int_as_varint 5797 encoder
  | Ret_monopoly_raffle_ticket_reward_already_taken -> Pbrt.Encoder.int_as_varint 5798 encoder
  | Ret_monopoly_raffle_pool_not_in_raffle_time -> Pbrt.Encoder.int_as_varint 5799 encoder
  | Ret_monopoly_mbti_report_reward_already_taken -> Pbrt.Encoder.int_as_varint 5800 encoder
  | Ret_evolve_build_level_gaming -> Pbrt.Encoder.int_as_varint 5801 encoder
  | Ret_eveolve_build_level_ban_random -> Pbrt.Encoder.int_as_varint 5802 encoder
  | Ret_evolve_build_first_reward_already_taken -> Pbrt.Encoder.int_as_varint 5803 encoder
  | Ret_evolve_build_level_unfinish -> Pbrt.Encoder.int_as_varint 5804 encoder
  | Ret_evolve_build_shop_ability_max_level -> Pbrt.Encoder.int_as_varint 5805 encoder
  | Ret_evolve_build_shop_ability_min_level -> Pbrt.Encoder.int_as_varint 5806 encoder
  | Ret_evolve_build_shop_ability_not_get -> Pbrt.Encoder.int_as_varint 5807 encoder
  | Ret_evolve_build_level_lock -> Pbrt.Encoder.int_as_varint 5808 encoder
  | Ret_evolve_build_exp_not_enough -> Pbrt.Encoder.int_as_varint 5809 encoder
  | Ret_evolve_build_shop_ability_level_error -> Pbrt.Encoder.int_as_varint 5810 encoder
  | Ret_evolve_build_activity_not_open -> Pbrt.Encoder.int_as_varint 5811 encoder
  | Ret_evolve_build_shop_ability_empty -> Pbrt.Encoder.int_as_varint 5812 encoder
  | Ret_evolve_build_level_not_start -> Pbrt.Encoder.int_as_varint 5813 encoder
  | Ret_evolve_build_shop_lock -> Pbrt.Encoder.int_as_varint 5814 encoder
  | Ret_evolve_build_reward_lock -> Pbrt.Encoder.int_as_varint 5815 encoder
  | Ret_evolve_build_reward_level_max -> Pbrt.Encoder.int_as_varint 5816 encoder
  | Ret_evolve_build_reward_already_all_taken -> Pbrt.Encoder.int_as_varint 5717 encoder
  | Ret_clock_park_config_error -> Pbrt.Encoder.int_as_varint 5851 encoder
  | Ret_clock_park_effect_error -> Pbrt.Encoder.int_as_varint 5852 encoder
  | Ret_clock_park_script_already_unlock -> Pbrt.Encoder.int_as_varint 5853 encoder
  | Ret_clock_park_script_unlock_condition_not_meet -> Pbrt.Encoder.int_as_varint 5854 encoder
  | Ret_clock_park_talent_already_unlock -> Pbrt.Encoder.int_as_varint 5855 encoder
  | Ret_clock_park_script_locked -> Pbrt.Encoder.int_as_varint 5856 encoder
  | Ret_clock_park_has_ongoing_script -> Pbrt.Encoder.int_as_varint 5857 encoder
  | Ret_clock_park_no_ongoing_script -> Pbrt.Encoder.int_as_varint 5858 encoder
  | Ret_clock_park_dice_placement_error -> Pbrt.Encoder.int_as_varint 5859 encoder
  | Ret_clock_park_mismatch_status -> Pbrt.Encoder.int_as_varint 5860 encoder
  | Ret_clock_park_no_buff -> Pbrt.Encoder.int_as_varint 5861 encoder
  | Ret_clock_park_slot_machine_gacha_req_duplicated -> Pbrt.Encoder.int_as_varint 5862 encoder
  | Ret_clock_park_slot_machine_cost_not_enough -> Pbrt.Encoder.int_as_varint 5863 encoder
  | Ret_clock_park_slot_machine_gacha_cnt_exceed_limit -> Pbrt.Encoder.int_as_varint 5864 encoder
  | Ret_clock_park_not_open -> Pbrt.Encoder.int_as_varint 5865 encoder
  | Ret_tourn_rogue_status_mismatch -> Pbrt.Encoder.int_as_varint 5901 encoder
  | Ret_match_already_in_match -> Pbrt.Encoder.int_as_varint 6201 encoder
  | Ret_match_not_in_match -> Pbrt.Encoder.int_as_varint 6202 encoder
  | Ret_match_play_not_open -> Pbrt.Encoder.int_as_varint 6203 encoder
  | Ret_cross_state_error -> Pbrt.Encoder.int_as_varint 6204 encoder
  | Ret_match_version_not_equal -> Pbrt.Encoder.int_as_varint 6205 encoder
  | Ret_match_player_not_in_lobby_room -> Pbrt.Encoder.int_as_varint 6206 encoder
  | Ret_lobby_state_not_match -> Pbrt.Encoder.int_as_varint 6207 encoder
  | Ret_lobby_room_not_exist -> Pbrt.Encoder.int_as_varint 6208 encoder
  | Ret_lobby_room_palyer_full -> Pbrt.Encoder.int_as_varint 6209 encoder
  | Ret_lobby_room_palyer_not_ready -> Pbrt.Encoder.int_as_varint 6210 encoder
  | Ret_lobby_room_palyer_fighting -> Pbrt.Encoder.int_as_varint 6211 encoder
  | Ret_fight_room_not_exist -> Pbrt.Encoder.int_as_varint 6250 encoder
  | Ret_fight_match3_player_state_err -> Pbrt.Encoder.int_as_varint 6251 encoder
  | Ret_fight_match3_room_state_err -> Pbrt.Encoder.int_as_varint 6252 encoder
  | Ret_sword_training_no_active_game -> Pbrt.Encoder.int_as_varint 6301 encoder
  | Ret_sword_training_no_pending_action_match -> Pbrt.Encoder.int_as_varint 6302 encoder
  | Ret_sword_training_partner_ability_invalid -> Pbrt.Encoder.int_as_varint 6303 encoder
  | Ret_sword_training_skill_already_learned -> Pbrt.Encoder.int_as_varint 6304 encoder
  | Ret_sword_training_condition_not_meet -> Pbrt.Encoder.int_as_varint 6305 encoder
  | Ret_sword_training_parent_skill_not_learned -> Pbrt.Encoder.int_as_varint 6306 encoder
  | Ret_sword_training_skill_type_not_unlock -> Pbrt.Encoder.int_as_varint 6307 encoder
  | Ret_sword_training_game_already_exist -> Pbrt.Encoder.int_as_varint 6308 encoder
  | Ret_sword_training_ending_hint_not_match -> Pbrt.Encoder.int_as_varint 6309 encoder
  | Ret_sword_training_storyline_config_not_found -> Pbrt.Encoder.int_as_varint 6310 encoder
  | Ret_sword_training_story_config_not_found -> Pbrt.Encoder.int_as_varint 6311 encoder
  | Ret_sword_training_unlock_not_finish -> Pbrt.Encoder.int_as_varint 6312 encoder
  | Ret_sword_training_option_mismatch -> Pbrt.Encoder.int_as_varint 6313 encoder
  | Ret_sword_training_restore_without_exam_failed -> Pbrt.Encoder.int_as_varint 6314 encoder
  | Ret_sword_training_no_restore_game_available -> Pbrt.Encoder.int_as_varint 6315 encoder
  | Ret_sword_training_ending_story_not_match -> Pbrt.Encoder.int_as_varint 6316 encoder
  | Ret_sword_training_ending_not_finish -> Pbrt.Encoder.int_as_varint 6317 encoder
  | Ret_sword_training_ending_reward_taken -> Pbrt.Encoder.int_as_varint 6318 encoder
  | Ret_sword_training_combat_rank_not_change -> Pbrt.Encoder.int_as_varint 6319 encoder
  | Ret_sword_training_direct_battle_disable -> Pbrt.Encoder.int_as_varint 6320 encoder
  | Ret_fight_fest_phase_not_match -> Pbrt.Encoder.int_as_varint 6351 encoder
  | Ret_fight_fest_score_race_already_finish -> Pbrt.Encoder.int_as_varint 6352 encoder
  | Ret_fight_fest_challenge_locked -> Pbrt.Encoder.int_as_varint 6353 encoder
  | Ret_fight_fest_coach_skill_locked -> Pbrt.Encoder.int_as_varint 6354 encoder
  | Ret_fight_fest_coach_skill_equip_type_existed -> Pbrt.Encoder.int_as_varint 6355 encoder
  | Ret_fight_fest_score_race_mission_doind -> Pbrt.Encoder.int_as_varint 6356 encoder
  | Ret_fight_fest_coach_skill_no_equip -> Pbrt.Encoder.int_as_varint 6357 encoder
  | Ret_pet_not_exist -> Pbrt.Encoder.int_as_varint 6401 encoder
  | Ret_pet_already_summoned -> Pbrt.Encoder.int_as_varint 6402 encoder
  | Ret_pet_not_summoned -> Pbrt.Encoder.int_as_varint 6403 encoder

let rec encode_pb_jlfnblcmlfg (v:jlfnblcmlfg) encoder =
  match v with
  | Cmd_activity_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_get_trial_activity_data_cs_req -> Pbrt.Encoder.int_as_varint 2653 encoder
  | Cmd_get_login_activity_sc_rsp -> Pbrt.Encoder.int_as_varint 2606 encoder
  | Cmd_start_trial_activity_cs_req -> Pbrt.Encoder.int_as_varint 2603 encoder
  | Cmd_get_trial_activity_data_sc_rsp -> Pbrt.Encoder.int_as_varint 2658 encoder
  | Cmd_enter_trial_activity_stage_cs_req -> Pbrt.Encoder.int_as_varint 2659 encoder
  | Cmd_submit_monster_research_activity_material_cs_req -> Pbrt.Encoder.int_as_varint 2625 encoder
  | Cmd_enter_trial_activity_stage_sc_rsp -> Pbrt.Encoder.int_as_varint 2607 encoder
  | Cmd_get_monster_research_activity_data_sc_rsp -> Pbrt.Encoder.int_as_varint 2698 encoder
  | Cmd_take_monster_research_activity_reward_cs_req -> Pbrt.Encoder.int_as_varint 2617 encoder
  | Cmd_start_trial_activity_sc_rsp -> Pbrt.Encoder.int_as_varint 2626 encoder
  | Cmd_take_login_activity_reward_cs_req -> Pbrt.Encoder.int_as_varint 2611 encoder
  | Cmd_take_monster_research_activity_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 2692 encoder
  | Cmd_trial_activity_data_change_sc_notify -> Pbrt.Encoder.int_as_varint 2647 encoder
  | Cmd_get_activity_schedule_config_cs_req -> Pbrt.Encoder.int_as_varint 2656 encoder
  | Cmd_get_monster_research_activity_data_cs_req -> Pbrt.Encoder.int_as_varint 2697 encoder
  | Cmd_take_trial_activity_reward_cs_req -> Pbrt.Encoder.int_as_varint 2641 encoder
  | Cmd_leave_trial_activity_cs_req -> Pbrt.Encoder.int_as_varint 2613 encoder
  | Cmd_take_login_activity_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 2643 encoder
  | Cmd_leave_trial_activity_sc_rsp -> Pbrt.Encoder.int_as_varint 2614 encoder
  | Cmd_cur_trial_activity_sc_notify -> Pbrt.Encoder.int_as_varint 2622 encoder
  | Cmd_get_login_activity_cs_req -> Pbrt.Encoder.int_as_varint 2668 encoder
  | Cmd_submit_monster_research_activity_material_sc_rsp -> Pbrt.Encoder.int_as_varint 2624 encoder
  | Cmd_take_trial_activity_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 2631 encoder
  | Cmd_get_activity_schedule_config_sc_rsp -> Pbrt.Encoder.int_as_varint 2693 encoder

let rec encode_pb_ijngjmooekn (v:ijngjmooekn) encoder =
  match v with
  | Trial_activity_status_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Trial_activity_status_finish -> Pbrt.Encoder.int_as_varint 1 encoder

let rec encode_pb_diiejhpccka (v:diiejhpccka) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ahbndelkkga encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.mjeboiagemn encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_goghbjmckpf (v:goghbjmckpf) encoder = 
()

let rec encode_pb_iehdhmbibej (v:iehdhmbibej) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_diiejhpccka x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.pilpgdhcfpj encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_okdbmkchdkn (v:okdbmkchdkn) encoder = 
  Pbrt.Encoder.int32_as_varint v.ldifpkekjem encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_item (v:item) encoder = 
  Pbrt.Encoder.int32_as_varint v.promotion encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.num encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.unique_id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.main_affix_id encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.rank encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.item_id encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_item_list (v:item_list) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_item x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.item_list encoder;
  ()

let rec encode_pb_fgmgmpemfoa (v:fgmgmpemfoa) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ldifpkekjem encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lijpgeadohh (v:lijpgeadohh) encoder = 
  Pbrt.Encoder.int64_as_varint v.end_time encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fjlnncjahng encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pafpcpmikin encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.begin_time encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_echeijpcegj (v:echeijpcegj) encoder = 
()

let rec encode_pb_gflgabppabo (v:gflgabppabo) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_lijpgeadohh x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.aodbfcdoebg encoder;
  ()

let rec encode_pb_hdkfnmappch (v:hdkfnmappch) encoder = 
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.nnbeodpchid encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ncnchnfkgaa (v:ncnchnfkgaa) encoder = 
()

let rec encode_pb_ancjfimhcdb (v:ancjfimhcdb) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_hdkfnmappch x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.nkjbcpmopcj encoder;
  Pbrt.Encoder.int32_as_varint v.npibcfnnihn encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bjmmamcffan (v:bjmmamcffan) encoder = 
  begin match v.oiflpfmkkjd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hdkfnmappch x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ddjfjiknjjb (v:ddjfjiknjjb) encoder = 
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_scene_monster_info (v:scene_monster_info) encoder = 
  Pbrt.Encoder.int32_as_varint v.max_hp encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.monster_id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.femmkmapjng encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_aekldeeeepn (v:aekldeeeepn) encoder = 
  Pbrt.Encoder.int32_as_varint v.gmimbapadel encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ednldnkdhim encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gcljbgjckpi encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_scene_monster_wave (v:scene_monster_wave) encoder = 
  Pbrt.Encoder.int32_as_varint v.jmdhdbhgjhj encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_scene_monster_info x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ) v.monster_list encoder;
  Pbrt.Encoder.int32_as_varint v.comggjmfjao encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.epeemgikihd encoder;
  begin match v.djicbhlfoga with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_aekldeeeepn x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_scene_battle_info (v:scene_battle_info) encoder = 
  begin match v.mgacgfelfph with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ieimejdokoc x encoder;
    Pbrt.Encoder.key 1315 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pldmljcickk x encoder;
    Pbrt.Encoder.key 321 Pbrt.Bytes encoder; 
  ) v.apkpbammnhm encoder;
  begin match v.bcilaimkepo with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_evolve_build_battle_info x encoder;
    Pbrt.Encoder.key 471 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_scene_monster_wave x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.monster_wave_list encoder;
  Pbrt.Encoder.int32_as_varint v.world_level encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_battle_buff x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.buff_list encoder;
  Pbrt.Encoder.bool v.nlhcbhebgog encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_battle_avatar x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.battle_avatar_list encoder;
  Pbrt.Encoder.int32_as_varint v.logic_random_seed encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.nested encode_pb_eecgcenalep x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Bytes) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 892 Pbrt.Bytes encoder; 
  ) v.pkilellljap encoder;
  Pbrt.Encoder.int32_as_varint v.cmhngcflcab encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.empiofaicfc encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  begin match v.obneanlbpjf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cbipmgkdbmj x encoder;
    Pbrt.Encoder.key 1394 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.battle_id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_foolfaejeco (v:foolfaejeco) encoder = 
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cmjfplfkocb (v:cmjfplfkocb) encoder = 
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ibojkphiodl (v:ibojkphiodl) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hliiigamfan (v:hliiigamfan) encoder = 
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_iepggioobee (v:iepggioobee) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hgpjnoeklme (v:hgpjnoeklme) encoder = 
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jpnfdalcpca (v:jpnfdalcpca) encoder = 
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_eogebgjmnbe (v:eogebgjmnbe) encoder = 
  encode_pb_ijngjmooekn v.status encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.npibcfnnihn encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_eeakpgmghbd (v:eeakpgmghbd) encoder = 
  Pbrt.Encoder.bool v.ejihdbnphdl encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fpnbgdmjmon encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fjlnncjahng encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.mkideamcloh encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jnbinnnmhnh (v:jnbinnnmhnh) encoder = 
  Pbrt.Encoder.int64_as_varint v.end_time encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.begin_time encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fpnbgdmjmon encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gfhncokdkpc (v:gfhncokdkpc) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.gpngkbfnpjn encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_jbondjmecmi (v:jbondjmecmi) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jnbinnnmhnh x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.licjdggocfp encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_eeakpgmghbd x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.hopdkjbimil encoder;
  ()

let rec encode_pb_bhjnpjibfoj (v:bhjnpjibfoj) encoder = 
  Pbrt.Encoder.int32_as_varint v.fpnbgdmjmon encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ojldjlaldbe (v:ojldjlaldbe) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fpnbgdmjmon encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hmckncmeneo (v:hmckncmeneo) encoder = 
  Pbrt.Encoder.int32_as_varint v.fpnbgdmjmon encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kgnehcjidmd (v:kgnehcjidmd) encoder = 
  Pbrt.Encoder.int32_as_varint v.fpnbgdmjmon encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hoakpoemoog (v:hoakpoemoog) encoder =
  match v with
  | Cmd_adventure_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_enter_adventure_sc_rsp -> Pbrt.Encoder.int_as_varint 1306 encoder
  | Cmd_get_farm_stage_gacha_info_cs_req -> Pbrt.Encoder.int_as_varint 1311 encoder
  | Cmd_enter_adventure_cs_req -> Pbrt.Encoder.int_as_varint 1368 encoder
  | Cmd_get_farm_stage_gacha_info_sc_rsp -> Pbrt.Encoder.int_as_varint 1343 encoder

let rec encode_pb_jiidgcpimha (v:jiidgcpimha) encoder = 
  Pbrt.Encoder.int32_as_varint v.lnjapmhfcck encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_vector (v:vector) encoder = 
  Pbrt.Encoder.int32_as_zigzag v.x encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_zigzag v.y encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_zigzag v.z encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_motion_info (v:motion_info) encoder = 
  begin match v.pos with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_vector x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.rot with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_vector x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_scene_actor_info (v:scene_actor_info) encoder = 
  Pbrt.Encoder.int32_as_varint v.base_avatar_id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.map_layer encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mnofjfljede (v:mnofjfljede) encoder = 
  Pbrt.Encoder.int32_as_varint v.dbimnobaloc encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ingkkpmdgfj (v:ingkkpmdgfj) encoder = 
  begin match v.kbneaoehnob with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mnofjfljede x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_scene_npc_monster_info (v:scene_npc_monster_info) encoder = 
  Pbrt.Encoder.bool v.mcfppkobjog encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.monster_id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.eanllcnpded encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.world_level encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  begin match v.extra_info with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ingkkpmdgfj x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_onmgodgfdgm (v:onmgodgfdgm) encoder = 
  Pbrt.Encoder.int32_as_varint v.hfadhgefiea encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cckegompfdi encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nlegnknbkba (v:nlegnknbkba) encoder = 
  Pbrt.Encoder.bool v.modhkobfmbp encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.int32_as_varint x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.lpflcicnioa encoder;
  Pbrt.Encoder.int32_as_varint v.kiakkdiecme encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jnboodjdmho encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.idoffgnngem encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.phddanoooji encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgfnojflbcl encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ebffkdhgkgl encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_onmgodgfdgm x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.jpiojenbgdi encoder;
  ()

let rec encode_pb_pjgielghnom (v:pjgielghnom) encoder = 
  Pbrt.Encoder.int32_as_varint v.aahebgiklma encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.fhhkhmdleno encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kjdlimfggmd encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mnamhpiefmk (v:mnamhpiefmk) encoder = 
()

let rec encode_pb_bgpancmpnpi (v:bgpancmpnpi) encoder = 
  begin match v.kbneaoehnob with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_nlegnknbkba x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.ocjkecmoefo with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pjgielghnom x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_scene_npc_info (v:scene_npc_info) encoder = 
  begin match v.extra_info with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bgpancmpnpi x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.pnigjhppmln encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pjinigkhjph (v:pjinigkhjph) encoder = 
  Pbrt.Encoder.int32_as_varint v.hdnlmbacmoa encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.edjpollefac encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ioijcfnndfi encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mfdelanaicp encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_prop_aeon_info (v:prop_aeon_info) encoder = 
  Pbrt.Encoder.int32_as_varint v.add_exp encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dialogue_group_id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.aeon_id encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_beegbgebbjo (v:beegbgebbjo) encoder = 
  Pbrt.Encoder.bool v.hkfihaoadih encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.dolgkgdnlaj encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bhfaniclgjb (v:bhfaniclgjb) encoder = 
  Pbrt.Encoder.int32_as_varint v.dbkpbjfflcd encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.epdhlkapdfj encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lkegecjeppg encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_heikogemang (v:heikogemang) encoder = 
  Pbrt.Encoder.int32_as_varint v.kigccmchfaa encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.jhojoicfldl encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hkjfnijdkgm (v:hkjfnijdkgm) encoder = 
  Pbrt.Encoder.int32_as_varint v.icfomghpdgm encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_heikogemang x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.hcgkppdkglf encoder;
  ()

let rec encode_pb_lhbgigopabg (v:lhbgigopabg) encoder = 
  Pbrt.Encoder.int32_as_varint v.ichkjnfaacl encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pgjpfemjihd (v:pgjpfemjihd) encoder = 
  Pbrt.Encoder.int32_as_varint v.nmkibknpbeo encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.dcigbkdfmdl encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  begin match v.ikliliccdnf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lhbgigopabg x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_jigjfaecdcc (v:jigjfaecdcc) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pgjpfemjihd x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.jdhboponecj encoder;
  Pbrt.Encoder.bool v.fkbfnoipncl encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pile_item (v:pile_item) encoder = 
  Pbrt.Encoder.int32_as_varint v.item_num encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.item_id encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_item_cost (v:item_cost) encoder = 
  begin match v.pile_item with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pile_item x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.equipment_unique_id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.relic_unique_id encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_item_cost_data (v:item_cost_data) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_item_cost x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.pdpfcfglgco encoder;
  ()

let rec encode_pb_jhjloaofhnk (v:jhjloaofhnk) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jigjfaecdcc x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.eaeoionfehm encoder;
  Pbrt.Encoder.bool v.gehffpalkkn encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pbcojmehnbg encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ndghkoinlfe encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fomcmdmpdcg encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jnhkcpccoep encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  begin match v.nggficbaiof with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_agohmeiodfe (v:agohmeiodfe) encoder = 
  begin match v.lkfmgoglgch with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jhjloaofhnk x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.fkcfoljohjg encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mnijbelpndn (v:mnijbelpndn) encoder = 
  Pbrt.Encoder.int32_as_varint v.jpaadimdaga encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_prop_extra_info (v:prop_extra_info) encoder = 
  begin match v.rogue_info with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pjinigkhjph x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.aeon_info with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_prop_aeon_info x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.chess_rogue_info with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_beegbgebbjo x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.rogue_tourn_door_info with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bhfaniclgjb x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.rogue_tourn_workbench_info with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hkjfnijdkgm x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.rogue_gamble_machine_info with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_agohmeiodfe x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.rogue_curse_chest_info with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mnijbelpndn x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_scene_prop_info (v:scene_prop_info) encoder = 
  Pbrt.Encoder.int32_as_varint v.life_time_ms encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.prop_state encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.string x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.gafflhlblde encoder;
  begin match v.extra_info with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_prop_extra_info x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.prop_id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.create_time_ms encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_scene_summon_unit_info (v:scene_summon_unit_info) encoder = 
  Pbrt.Encoder.int32_as_varint v.kggengibiaj encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dpapibilmkb encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.string x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.gafflhlblde encoder;
  Pbrt.Encoder.int32_as_varint v.life_time_ms encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.create_time_ms encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ilngleemfcf encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_scene_entity_info_entity (v:scene_entity_info_entity) encoder = 
  begin match v with
  | Actor x ->
    Pbrt.Encoder.nested encode_pb_scene_actor_info x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | Npc_monster x ->
    Pbrt.Encoder.nested encode_pb_scene_npc_monster_info x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | Npc x ->
    Pbrt.Encoder.nested encode_pb_scene_npc_info x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | Prop x ->
    Pbrt.Encoder.nested encode_pb_scene_prop_info x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | Summon_unit x ->
    Pbrt.Encoder.nested encode_pb_scene_summon_unit_info x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  end

and encode_pb_scene_entity_info (v:scene_entity_info) encoder = 
  begin match v.motion with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_motion_info x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.entity_id encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.inst_id encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  begin match v.entity with
  | Actor x ->
    Pbrt.Encoder.nested encode_pb_scene_actor_info x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | Npc_monster x ->
    Pbrt.Encoder.nested encode_pb_scene_npc_monster_info x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | Npc x ->
    Pbrt.Encoder.nested encode_pb_scene_npc_info x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | Prop x ->
    Pbrt.Encoder.nested encode_pb_scene_prop_info x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | Summon_unit x ->
    Pbrt.Encoder.nested encode_pb_scene_summon_unit_info x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  end;
  ()

let rec encode_pb_client_group_info (v:client_group_info) encoder = 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.state encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.is_default encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ifdkgfigkgn (v:ifdkgfigkgn) encoder = 
  Pbrt.Encoder.int32_as_varint v.jpbnobgjmin encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.ocalibhncaf encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  let encode_key = Pbrt.Encoder.string in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.float_as_bits32 x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Bytes), (v, Pbrt.Bits32) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.dynamic_values encoder;
  Pbrt.Encoder.int32_as_varint v.pkkfndimmio encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.float_as_bits32 v.cjndnhdlhbb encoder;
  Pbrt.Encoder.key 15 Pbrt.Bits32 encoder; 
  Pbrt.Encoder.int32_as_varint v.base_avatar_id encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.count encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nllcojppklj (v:nllcojppklj) encoder = 
  Pbrt.Encoder.string v.jbdgkicnbfa encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_scene_group_info (v:scene_group_info) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_scene_entity_info x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.entity_list encoder;
  Pbrt.Encoder.int32_as_varint v.state encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jbianonhjfo (v:jbianonhjfo) encoder = 
  Pbrt.Encoder.int32_as_varint v.ogcfmckhlja encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.index encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hhmofllojag (v:hhmofllojag) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jbianonhjfo x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.klmfdjlahkg encoder;
  ()

let rec encode_pb_klciikcjohp (v:klciikcjohp) encoder = 
  Pbrt.Encoder.int32_as_varint v.idlneeekpjl encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.klmfdjlahkg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hhmofllojag x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_mission_status (v:mission_status) encoder =
  match v with
  | Mission_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Mission_doing -> Pbrt.Encoder.int_as_varint 1 encoder
  | Mission_finish -> Pbrt.Encoder.int_as_varint 2 encoder
  | Mission_prepared -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_mission (v:mission) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.progress encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  encode_pb_mission_status v.status encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jipkadfnhnh (v:jipkadfnhnh) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_klciikcjohp x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.ddipnlkacip encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ammgadcegag encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mission x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.hiokihlcnfc encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.dabclennonn encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.dgoigglciko encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_hgiedelfofm (v:hgiedelfofm) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ifdkgfigkgn x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.buff_list encoder;
  Pbrt.Encoder.int32_as_varint v.phkkegggmdi encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ggichccblmd (v:ggichccblmd) encoder = 
  Pbrt.Encoder.int32_as_varint v.hohagdafjih encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lnpijkcjdbp encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_scene_info (v:scene_info) encoder = 
  Pbrt.Encoder.int32_as_varint v.jdefjhmigii encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.plane_id encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mdkmdbibnae encoder;
  Pbrt.Encoder.key 81 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.game_mode_type encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_scene_entity_info x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.entity_list encoder;
  Pbrt.Encoder.int32_as_varint v.entry_id encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nfcojigifbb encoder;
  Pbrt.Encoder.key 599 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kihpigcjcgi encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.micgnniimak encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_client_group_info x encoder;
    Pbrt.Encoder.key 1577 Pbrt.Bytes encoder; 
  ) v.client_group_list encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.adbakkbjagb encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ifdkgfigkgn x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.ihnmjpmfplm encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_nllcojppklj x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.ahehcckjamg encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.mogndfkhapd encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.floor_id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  let encode_key = Pbrt.Encoder.string in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.int32_as_varint x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Bytes), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 1458 Pbrt.Bytes encoder; 
  ) v.cbphphopofk encoder;
  Pbrt.Encoder.int32_as_varint v.ijnpccndcgi encoder;
  Pbrt.Encoder.key 1226 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_scene_group_info x encoder;
    Pbrt.Encoder.key 1909 Pbrt.Bytes encoder; 
  ) v.scene_group_list encoder;
  begin match v.cnjcegmeaap with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jipkadfnhnh x encoder;
    Pbrt.Encoder.key 1816 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_hgiedelfofm x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ) v.nmmlfdlmcoa encoder;
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.nested encode_pb_ggichccblmd x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Bytes) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.kdkoogfccbb encoder;
  ()

let rec encode_pb_klfnolgpgbe (v:klfnolgpgbe) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  begin match v.scene with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_info x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_iicgnbgleen (v:iicgnbgleen) encoder = 
  Pbrt.Encoder.int32_as_varint v.dopfcokpjei encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.end_time encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.begin_time encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mpcilhkfijn (v:mpcilhkfijn) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.cdahnimckpe encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_lbfhaemjbdb (v:lbfhaemjbdb) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_iicgnbgleen x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.ejncilpcmjo encoder;
  ()

let rec encode_pb_mjcglmbmflj (v:mjcglmbmflj) encoder =
  match v with
  | Cmd_aether_divide_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_enter_aether_divide_scene_cs_req -> Pbrt.Encoder.int_as_varint 4868 encoder
  | Cmd_aether_divide_refresh_endless_sc_rsp -> Pbrt.Encoder.int_as_varint 4876 encoder
  | Cmd_aether_divide_take_challenge_reward_cs_req -> Pbrt.Encoder.int_as_varint 4845 encoder
  | Cmd_start_aether_divide_scene_battle_cs_req -> Pbrt.Encoder.int_as_varint 4856 encoder
  | Cmd_get_aether_divide_info_sc_rsp -> Pbrt.Encoder.int_as_varint 4854 encoder
  | Cmd_aether_divide_lineup_sc_notify -> Pbrt.Encoder.int_as_varint 4823 encoder
  | Cmd_get_aether_divide_challenge_info_sc_rsp -> Pbrt.Encoder.int_as_varint 4808 encoder
  | Cmd_get_aether_divide_challenge_info_cs_req -> Pbrt.Encoder.int_as_varint 4888 encoder
  | Cmd_switch_aether_divide_line_up_slot_sc_rsp -> Pbrt.Encoder.int_as_varint 4824 encoder
  | Cmd_aether_divide_spirit_exp_up_sc_rsp -> Pbrt.Encoder.int_as_varint 4828 encoder
  | Cmd_set_aether_divide_line_up_sc_rsp -> Pbrt.Encoder.int_as_varint 4848 encoder
  | Cmd_get_aether_divide_info_cs_req -> Pbrt.Encoder.int_as_varint 4899 encoder
  | Cmd_start_aether_divide_stage_battle_sc_rsp -> Pbrt.Encoder.int_as_varint 4892 encoder
  | Cmd_clear_aether_divide_passive_skill_sc_rsp -> Pbrt.Encoder.int_as_varint 4898 encoder
  | Cmd_start_aether_divide_challenge_battle_sc_rsp -> Pbrt.Encoder.int_as_varint 4829 encoder
  | Cmd_start_aether_divide_challenge_battle_cs_req -> Pbrt.Encoder.int_as_varint 4839 encoder
  | Cmd_aether_divide_skill_item_sc_notify -> Pbrt.Encoder.int_as_varint 4816 encoder
  | Cmd_aether_divide_tainer_info_sc_notify -> Pbrt.Encoder.int_as_varint 4832 encoder
  | Cmd_start_aether_divide_scene_battle_sc_rsp -> Pbrt.Encoder.int_as_varint 4893 encoder
  | Cmd_switch_aether_divide_line_up_slot_cs_req -> Pbrt.Encoder.int_as_varint 4825 encoder
  | Cmd_equip_aether_divide_passive_skill_cs_req -> Pbrt.Encoder.int_as_varint 4882 encoder
  | Cmd_aether_divide_finish_challenge_sc_notify -> Pbrt.Encoder.int_as_varint 4881 encoder
  | Cmd_aether_divide_refresh_endless_cs_req -> Pbrt.Encoder.int_as_varint 4878 encoder
  | Cmd_clear_aether_divide_passive_skill_cs_req -> Pbrt.Encoder.int_as_varint 4897 encoder
  | Cmd_leave_aether_divide_scene_cs_req -> Pbrt.Encoder.int_as_varint 4811 encoder
  | Cmd_enter_aether_divide_scene_sc_rsp -> Pbrt.Encoder.int_as_varint 4806 encoder
  | Cmd_set_aether_divide_line_up_cs_req -> Pbrt.Encoder.int_as_varint 4865 encoder
  | Cmd_aether_divide_take_challenge_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 4866 encoder
  | Cmd_aether_divide_refresh_endless_sc_notify -> Pbrt.Encoder.int_as_varint 4849 encoder
  | Cmd_equip_aether_divide_passive_skill_sc_rsp -> Pbrt.Encoder.int_as_varint 4834 encoder
  | Cmd_aether_divide_spirit_info_sc_notify -> Pbrt.Encoder.int_as_varint 4809 encoder
  | Cmd_aether_divide_spirit_exp_up_cs_req -> Pbrt.Encoder.int_as_varint 4890 encoder
  | Cmd_start_aether_divide_stage_battle_cs_req -> Pbrt.Encoder.int_as_varint 4817 encoder
  | Cmd_leave_aether_divide_scene_sc_rsp -> Pbrt.Encoder.int_as_varint 4843 encoder

let rec encode_pb_jgighfcglnn (v:jgighfcglnn) encoder = 
  Pbrt.Encoder.int32_as_varint v.jnmpconhdgp encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dngkkjooice (v:dngkkjooice) encoder = 
  Pbrt.Encoder.int32_as_varint v.jnmpconhdgp encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gdgedjogkjp (v:gdgedjogkjp) encoder = 
()

let rec encode_pb_lnobihjhmec (v:lnobihjhmec) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fnmhaajaaek (v:fnmhaajaaek) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.bcbhaghfmhl encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_lhnkeioipjg (v:lhnkeioipjg) encoder = 
  Pbrt.Encoder.int32_as_varint v.skill_index encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ohainjgiflk encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_fnmhaajaaek x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.kapkegapokf encoder;
  Pbrt.Encoder.int32_as_varint v.gbhffcbgjoc encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.egofdbhnple encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dlibcbeoehg (v:dlibcbeoehg) encoder = 
  Pbrt.Encoder.int32_as_varint v.logic_random_seed encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.nlhcbhebgog encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_battle_buff x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.buff_list encoder;
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.battle_id encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_dohhfaklimj x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.battle_avatar_list encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_scene_monster_wave x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.monster_wave_list encoder;
  ()

let rec encode_pb_hpedbbbiedb (v:hpedbbbiedb) encoder = 
  Pbrt.Encoder.int32_as_varint v.gbhffcbgjoc encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dlibcbeoehg x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_plhgdnknphm (v:plhgdnknphm) encoder = 
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cagbdbjkknd encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gjlahapdbog (v:gjlahapdbog) encoder = 
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dlibcbeoehg x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_daclbmikbfi (v:daclbmikbfi) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.slot encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_panjkdddido (v:panjkdddido) encoder = 
  Pbrt.Encoder.int32_as_varint v.exp encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.promotion encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.sp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_sp_progress x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.jfckjahhbcp encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bkjidpkfapk encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_daclbmikbfi x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.pbcjjbpdaco encoder;
  ()

let rec encode_pb_djeclbkkegk (v:djeclbkkegk) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.doilhmkhjkj encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.slot encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ahhnbnjlmgc (v:ahhnbnjlmgc) encoder = 
  Pbrt.Encoder.int32_as_varint v.kagnbjdmamf encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lcmieeegeoh encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dojnnbdinke (v:dojnnbdinke) encoder = 
()

let rec encode_pb_cnbmpdajjkh (v:cnbmpdajjkh) encoder = 
  Pbrt.Encoder.int32_as_varint v.nllaboenkeb encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pomjmhpaije encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_panjkdddido x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.habbaannlmg encoder;
  Pbrt.Encoder.int32_as_varint v.fcbhnhpkbck encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_djeclbkkegk x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.kbognlnlcle encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.igbnihgbkkc encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ahhnbnjlmgc x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.djmeejmcdfm encoder;
  Pbrt.Encoder.int32_as_varint v.djmfidjhakm encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gjipjkneplj (v:gjipjkneplj) encoder = 
  begin match v.lineup with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_djeclbkkegk x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_nkcmnkoblgi (v:nkcmnkoblgi) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  begin match v.lineup with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_djeclbkkegk x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_kknohjjfloa (v:kknohjjfloa) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jfckjahhbcp encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.slot encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_emfbdoapndp (v:emfbdoapndp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  begin match v.nlpkicoldah with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ahhnbnjlmgc x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.ifflhdajmfl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_panjkdddido x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_blikhfgpooe (v:blikhfgpooe) encoder = 
  Pbrt.Encoder.int32_as_varint v.jfckjahhbcp encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.slot encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dhocaolkmof (v:dhocaolkmof) encoder = 
  begin match v.nlpkicoldah with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ahhnbnjlmgc x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.ifflhdajmfl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_panjkdddido x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mjamedhohel (v:mjamedhohel) encoder = 
  Pbrt.Encoder.int32_as_varint v.deimfkdnmfd encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jfckjahhbcp encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.igbnihgbkkc encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cmbpnklhbjm (v:cmbpnklhbjm) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.igbnihgbkkc encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  begin match v.ifflhdajmfl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_panjkdddido x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_nonalgbapfh (v:nonalgbapfh) encoder = 
  Pbrt.Encoder.int32_as_varint v.cagbdbjkknd encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fjenopmgncf (v:fjenopmgncf) encoder = 
  Pbrt.Encoder.int32_as_varint v.cagbdbjkknd encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cllelklhkol (v:cllelklhkol) encoder = 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_eapddobkofp (v:eapddobkofp) encoder = 
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dlibcbeoehg x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kdelimjibne (v:kdelimjibne) encoder = 
  begin match v.lineup with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_djeclbkkegk x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_imhegmolifk (v:imhegmolifk) encoder = 
  begin match v.ifflhdajmfl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_panjkdddido x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_panjkdddido x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.klcbbgahmon encoder;
  Pbrt.Encoder.int32_as_varint v.igbnihgbkkc encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_iepaafhgkkh (v:iepaafhgkkh) encoder = 
()

let rec encode_pb_comcfkpmacm (v:comcfkpmacm) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.bapkilajgne encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.gjonbpebope encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.caaogbkeibf encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_oafokgigjif (v:oafokgigjif) encoder = 
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ekpogeffanm (v:ekpogeffanm) encoder = 
  Pbrt.Encoder.int32_as_varint v.fcbhnhpkbck encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dliphlmaege (v:dliphlmaege) encoder = 
  Pbrt.Encoder.int32_as_varint v.kagnbjdmamf encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nimfecemimn (v:nimfecemimn) encoder = 
()

let rec encode_pb_pdelhifcdfi (v:pdelhifcdfi) encoder = 
  Pbrt.Encoder.int32_as_varint v.nllaboenkeb encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_eachgfoknhm (v:eachgfoknhm) encoder = 
  Pbrt.Encoder.int32_as_varint v.nllaboenkeb encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ciimogjledo (v:ciimogjledo) encoder = 
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dknombpgohe (v:dknombpgohe) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jnfhlppocgg (v:jnfhlppocgg) encoder =
  match v with
  | Cmd_alley_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_alley_ship_used_count_sc_notify -> Pbrt.Encoder.int_as_varint 4723 encoder
  | Cmd_alley_guaranteed_funds_cs_req -> Pbrt.Encoder.int_as_varint 4778 encoder
  | Cmd_take_prestige_reward_cs_req -> Pbrt.Encoder.int_as_varint 4799 encoder
  | Cmd_refresh_alley_order_cs_req -> Pbrt.Encoder.int_as_varint 4797 encoder
  | Cmd_alley_event_effect_notify -> Pbrt.Encoder.int_as_varint 4733 encoder
  | Cmd_logistics_game_cs_req -> Pbrt.Encoder.int_as_varint 4711 encoder
  | Cmd_alley_placing_game_sc_rsp -> Pbrt.Encoder.int_as_varint 4748 encoder
  | Cmd_alley_event_change_notify -> Pbrt.Encoder.int_as_varint 4751 encoder
  | Cmd_get_save_logistics_map_cs_req -> Pbrt.Encoder.int_as_varint 4716 encoder
  | Cmd_logistics_detonate_star_skiff_cs_req -> Pbrt.Encoder.int_as_varint 4766 encoder
  | Cmd_alley_funds_sc_notify -> Pbrt.Encoder.int_as_varint 4790 encoder
  | Cmd_prestige_level_up_cs_req -> Pbrt.Encoder.int_as_varint 4717 encoder
  | Cmd_logistics_detonate_star_skiff_sc_rsp -> Pbrt.Encoder.int_as_varint 4746 encoder
  | Cmd_alley_take_event_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 4745 encoder
  | Cmd_alley_guaranteed_funds_sc_rsp -> Pbrt.Encoder.int_as_varint 4776 encoder
  | Cmd_alley_ship_unlock_sc_notify -> Pbrt.Encoder.int_as_varint 4709 encoder
  | Cmd_alley_take_event_reward_cs_req -> Pbrt.Encoder.int_as_varint 4749 encoder
  | Cmd_take_prestige_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 4754 encoder
  | Cmd_logistics_game_sc_rsp -> Pbrt.Encoder.int_as_varint 4743 encoder
  | Cmd_start_alley_event_cs_req -> Pbrt.Encoder.int_as_varint 4739 encoder
  | Cmd_logistics_info_sc_notify -> Pbrt.Encoder.int_as_varint 4781 encoder
  | Cmd_alley_shipment_event_effects_sc_notify -> Pbrt.Encoder.int_as_varint 4732 encoder
  | Cmd_logistics_score_reward_sync_info_sc_notify -> Pbrt.Encoder.int_as_varint 4712 encoder
  | Cmd_alley_order_changed_sc_notify -> Pbrt.Encoder.int_as_varint 4725 encoder
  | Cmd_activity_raid_placing_game_cs_req -> Pbrt.Encoder.int_as_varint 4730 encoder
  | Cmd_start_alley_event_sc_rsp -> Pbrt.Encoder.int_as_varint 4729 encoder
  | Cmd_prestige_level_up_sc_rsp -> Pbrt.Encoder.int_as_varint 4792 encoder
  | Cmd_alley_shop_level_sc_notify -> Pbrt.Encoder.int_as_varint 4728 encoder
  | Cmd_get_alley_info_cs_req -> Pbrt.Encoder.int_as_varint 4768 encoder
  | Cmd_get_save_logistics_map_sc_rsp -> Pbrt.Encoder.int_as_varint 4784 encoder
  | Cmd_refresh_alley_order_sc_rsp -> Pbrt.Encoder.int_as_varint 4798 encoder
  | Cmd_get_alley_info_sc_rsp -> Pbrt.Encoder.int_as_varint 4706 encoder
  | Cmd_save_logistics_sc_rsp -> Pbrt.Encoder.int_as_varint 4708 encoder
  | Cmd_alley_placing_game_cs_req -> Pbrt.Encoder.int_as_varint 4765 encoder
  | Cmd_save_logistics_cs_req -> Pbrt.Encoder.int_as_varint 4788 encoder
  | Cmd_activity_raid_placing_game_sc_rsp -> Pbrt.Encoder.int_as_varint 4795 encoder

let rec encode_pb_ohpeonhnbci (v:ohpeonhnbci) encoder =
  match v with
  | Left -> Pbrt.Encoder.int_as_varint (0) encoder
  | Right -> Pbrt.Encoder.int_as_varint 1 encoder
  | Up -> Pbrt.Encoder.int_as_varint 2 encoder
  | Down -> Pbrt.Encoder.int_as_varint 3 encoder
  | Left_up -> Pbrt.Encoder.int_as_varint 4 encoder
  | Left_down -> Pbrt.Encoder.int_as_varint 5 encoder
  | Right_up -> Pbrt.Encoder.int_as_varint 6 encoder
  | Right_down -> Pbrt.Encoder.int_as_varint 7 encoder

let rec encode_pb_aklfmicjnmj (v:aklfmicjnmj) encoder =
  match v with
  | Alley_event_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Alley_main_event -> Pbrt.Encoder.int_as_varint 1 encoder
  | Alley_critical_event -> Pbrt.Encoder.int_as_varint 2 encoder
  | Alley_daily_event -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_hadkcbmomck (v:hadkcbmomck) encoder =
  match v with
  | Alley_state_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Alley_event_doing -> Pbrt.Encoder.int_as_varint 1 encoder
  | Alley_event_finish -> Pbrt.Encoder.int_as_varint 2 encoder
  | Alley_event_rewarded -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_loapiplimjn (v:loapiplimjn) encoder = 
()

let rec encode_pb_ohjhhhgpcgg (v:ohjhhhgpcgg) encoder = 
  Pbrt.Encoder.int32_as_varint v.fkbknefjpko encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lnjapmhfcck encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hejgfgdhldh (v:hejgfgdhldh) encoder = 
  Pbrt.Encoder.int32_as_varint v.fgohomljegm encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_logistics_score (v:logistics_score) encoder = 
  Pbrt.Encoder.int32_as_varint v.cur_score encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.unlock_level encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.last_level encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.last_max_score encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.map_id encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.max_score encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hgapkkdbooj (v:hgapkkdbooj) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ofoaoamacnm encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.cjologpmmfj encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.mlfjgaifmhg encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.oeeplaejecp encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.gonbjnkpphb encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.fgohomljegm encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dfejfmhieaj encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kcjbohglbkg (v:kcjbohglbkg) encoder = 
  Pbrt.Encoder.int32_as_varint v.cost_time encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lnjapmhfcck encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_hgapkkdbooj x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.cniofkimkih encoder;
  ()

let rec encode_pb_icfmgfdlfbf (v:icfmgfdlfbf) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_logistics_score x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.pkmpinidbem encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ohjhhhgpcgg x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.kgphnjjjfjh encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_kcjbohglbkg x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.jfmgicmieni encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.mnbhmefmgck encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_dooingjidio (v:dooingjidio) encoder = 
  encode_pb_hadkcbmomck v.state encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lfofmmafena encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hladmhdfejp (v:hladmhdfejp) encoder = 
  Pbrt.Encoder.int32_as_varint v.cafjmafcfoe encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.akcnolgdkfn encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.hklljapbdgp encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.opnlgkllekk encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.jgcckagocaa encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.aofhdgapibo encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_mdagbigodjh (v:mdagbigodjh) encoder = 
  Pbrt.Encoder.int32_as_varint v.idliicjndbe encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.int32_as_varint x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.ifcilmngdbd encoder;
  Pbrt.Encoder.int32_as_varint v.fggaonkbpcf encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_beljfmihinc (v:beljfmihinc) encoder = 
  Pbrt.Encoder.int32_as_varint v.nndnjlaloij encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ikifmbckbhe encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  begin match v.fkpnjjecflg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_icfmgfdlfbf x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_dooingjidio x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.llhoijjnhbc encoder;
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.int32_as_varint x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.ndjkkklopgp encoder;
  begin match v.hifdompfogo with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hladmhdfejp x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.njhmoljoand encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.doglnbjjbnn encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  begin match v.iaagjjojjng with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mdagbigodjh x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.hjigclklgic encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fadlnhgpedm (v:fadlnhgpedm) encoder = 
  Pbrt.Encoder.int32_as_varint v.idmndadbjbj encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ihiffnbnoma encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dgpnljgebli (v:dgpnljgebli) encoder = 
  Pbrt.Encoder.int32_as_varint v.ififlmjnmdk encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_fadlnhgpedm x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.glhlojgnlbf encoder;
  ()

let rec encode_pb_alley_placing_ship (v:alley_placing_ship) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_dgpnljgebli x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.goods_list encoder;
  Pbrt.Encoder.int32_as_varint v.ship_id encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jhjeidcchdm (v:jhjeidcchdm) encoder = 
  Pbrt.Encoder.int32_as_varint v.melnmeleaof encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  begin match v.doobkcfngij with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_alley_placing_ship x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.aehccpbhofa encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.einjppkhadm encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jojofajfiaa encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ifgaoheijdh encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mknfiokmpkc encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cost_time encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pcdbbpgcjnd encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pikdnogokln (v:pikdnogokln) encoder = 
  Pbrt.Encoder.int32_as_varint v.jfonlmmohcn encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jljeangppkc encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pamdbajlfcl encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dcoihiogahc encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.joeakofeomk encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.obegnholjba encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ocmgldjcfji (v:ocmgldjcfji) encoder = 
  begin match v.doobkcfngij with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_alley_placing_ship x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.ninapcangoo encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.melnmeleaof encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ebpbcjefmgm (v:ebpbcjefmgm) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ninapcangoo encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.melnmeleaof encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gomcgdopbbp (v:gomcgdopbbp) encoder = 
  begin match v.aehfkplienl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hladmhdfejp x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_cchhoggfaan (v:cchhoggfaan) encoder = 
  Pbrt.Encoder.int32_as_varint v.locobbjbeoj encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cblobpbbioh (v:cblobpbbioh) encoder = 
  Pbrt.Encoder.bool v.gfiadoibado encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_kcjbohglbkg x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.ffabaoopmam encoder;
  ()

let rec encode_pb_jinedikcnpg (v:jinedikcnpg) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_logistics_score x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.pkmpinidbem encoder;
  ()

let rec encode_pb_icegdbgdilo (v:icegdbgdilo) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_logistics_score x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.pkmpinidbem encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.gfiadoibado encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jpdpdkgmoem (v:jpdpdkgmoem) encoder = 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jemgejfhlea (v:jemgejfhlea) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hemiegnodli (v:hemiegnodli) encoder = 
  Pbrt.Encoder.int32_as_varint v.liabblpojlg encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.aeajedehfdj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dooingjidio x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hbclchmkfof (v:hbclchmkfof) encoder = 
  Pbrt.Encoder.int32_as_varint v.gnmibkehipe encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fipfnjdahae (v:fipfnjdahae) encoder = 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_neiehjicaab (v:neiehjicaab) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jiokkgmgdhi (v:jiokkgmgdhi) encoder = 
()

let rec encode_pb_cdgmddbhlhm (v:cdgmddbhlhm) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_agbibfofjhe (v:agbibfofjhe) encoder = 
  Pbrt.Encoder.int32_as_varint v.njhmoljoand encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_aiacifopgjh (v:aiacifopgjh) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_kcjbohglbkg x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.ffabaoopmam encoder;
  ()

let rec encode_pb_ofpielcbnie (v:ofpielcbnie) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_kcjbohglbkg x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.ffabaoopmam encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fleomlhekmb (v:fleomlhekmb) encoder = 
  begin match v.fkpnjjecflg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_icfmgfdlfbf x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_didlmcoobee (v:didlmcoobee) encoder = 
  begin match v.mfgpjihdebb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mdagbigodjh x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_kojkhmpimdb (v:kojkhmpimdb) encoder = 
()

let rec encode_pb_nalpogbfcld (v:nalpogbfcld) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_kcjbohglbkg x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.jfmgicmieni encoder;
  ()

let rec encode_pb_bnllbbflcmp (v:bnllbbflcmp) encoder = 
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.int32_as_varint x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.ndjkkklopgp encoder;
  ()

let rec encode_pb_gecmagkkaih (v:gecmagkkaih) encoder = 
()

let rec encode_pb_eienjkdigbh (v:eienjkdigbh) encoder = 
  Pbrt.Encoder.int32_as_varint v.pfjnehlmhpn encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_iohkbhphefg (v:iohkbhphefg) encoder = 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_haoeobccick (v:haoeobccick) encoder = 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_inoillgmnli (v:inoillgmnli) encoder = 
()

let rec encode_pb_ihjgeegflgi (v:ihjgeegflgi) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kjniddfcogb (v:kjniddfcogb) encoder =
  match v with
  | Cmd_archive_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_get_archive_data_sc_rsp -> Pbrt.Encoder.int_as_varint 2306 encoder
  | Cmd_get_updated_archive_data_sc_rsp -> Pbrt.Encoder.int_as_varint 2343 encoder
  | Cmd_get_archive_data_cs_req -> Pbrt.Encoder.int_as_varint 2368 encoder
  | Cmd_get_updated_archive_data_cs_req -> Pbrt.Encoder.int_as_varint 2311 encoder

let rec encode_pb_ahegmfopalb (v:ahegmfopalb) encoder = 
  Pbrt.Encoder.int32_as_varint v.peehdpfeeoo encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fgmdoekgpee encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_djckakhhhng (v:djckakhhhng) encoder = 
  Pbrt.Encoder.int32_as_varint v.monster_id encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kagnbjdmamf encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gjjmikgadbo (v:gjjmikgadbo) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ahegmfopalb x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.relic_list encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_djckakhhhng x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.gbgamckgokf encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.fidmcoeiklh encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.kbmoknknjod encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.apfenmjpknc encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_monllamhagk (v:monllamhagk) encoder = 
()

let rec encode_pb_palefbfkmmf (v:palefbfkmmf) encoder = 
  begin match v.dbmehhgkijj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gjjmikgadbo x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bhpjpmkfmkk (v:bhpjpmkfmkk) encoder = 
()

let rec encode_pb_llchdbdljil (v:llchdbdljil) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  begin match v.dbmehhgkijj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gjjmikgadbo x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ddigbcomjip (v:ddigbcomjip) encoder =
  match v with
  | Cmd_avatar_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_take_off_equipment_cs_req -> Pbrt.Encoder.int_as_varint 399 encoder
  | Cmd_dress_relic_avatar_cs_req -> Pbrt.Encoder.int_as_varint 334 encoder
  | Cmd_avatar_exp_up_sc_rsp -> Pbrt.Encoder.int_as_varint 343 encoder
  | Cmd_take_off_equipment_sc_rsp -> Pbrt.Encoder.int_as_varint 354 encoder
  | Cmd_add_avatar_sc_notify -> Pbrt.Encoder.int_as_varint 365 encoder
  | Cmd_mark_avatar_sc_rsp -> Pbrt.Encoder.int_as_varint 381 encoder
  | Cmd_avatar_exp_up_cs_req -> Pbrt.Encoder.int_as_varint 311 encoder
  | Cmd_rank_up_avatar_sc_rsp -> Pbrt.Encoder.int_as_varint 382 encoder
  | Cmd_promote_avatar_cs_req -> Pbrt.Encoder.int_as_varint 339 encoder
  | Cmd_dress_avatar_sc_rsp -> Pbrt.Encoder.int_as_varint 333 encoder
  | Cmd_unlock_skilltree_sc_rsp -> Pbrt.Encoder.int_as_varint 393 encoder
  | Cmd_dress_avatar_skin_sc_rsp -> Pbrt.Encoder.int_as_varint 390 encoder
  | Cmd_promote_avatar_sc_rsp -> Pbrt.Encoder.int_as_varint 329 encoder
  | Cmd_take_off_relic_sc_rsp -> Pbrt.Encoder.int_as_varint 325 encoder
  | Cmd_rank_up_avatar_cs_req -> Pbrt.Encoder.int_as_varint 348 encoder
  | Cmd_dress_relic_avatar_sc_rsp -> Pbrt.Encoder.int_as_varint 397 encoder
  | Cmd_take_off_avatar_skin_cs_req -> Pbrt.Encoder.int_as_varint 328 encoder
  | Cmd_dress_avatar_skin_cs_req -> Pbrt.Encoder.int_as_varint 392 encoder
  | Cmd_take_off_relic_cs_req -> Pbrt.Encoder.int_as_varint 398 encoder
  | Cmd_mark_avatar_cs_req -> Pbrt.Encoder.int_as_varint 308 encoder
  | Cmd_take_promotion_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 317 encoder
  | Cmd_take_off_avatar_skin_sc_rsp -> Pbrt.Encoder.int_as_varint 309 encoder
  | Cmd_get_avatar_data_sc_rsp -> Pbrt.Encoder.int_as_varint 306 encoder
  | Cmd_take_promotion_reward_cs_req -> Pbrt.Encoder.int_as_varint 324 encoder
  | Cmd_get_avatar_data_cs_req -> Pbrt.Encoder.int_as_varint 368 encoder
  | Cmd_unlock_avatar_skin_sc_notify -> Pbrt.Encoder.int_as_varint 388 encoder
  | Cmd_dress_avatar_cs_req -> Pbrt.Encoder.int_as_varint 351 encoder
  | Cmd_unlock_skilltree_cs_req -> Pbrt.Encoder.int_as_varint 356 encoder

let rec encode_pb_add_avatar_src (v:add_avatar_src) encoder =
  match v with
  | Add_avatar_src_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Add_avatar_src_gacha -> Pbrt.Encoder.int_as_varint 1 encoder
  | Add_avatar_src_rogue -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_get_avatar_data_cs_req (v:get_avatar_data_cs_req) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.base_avatar_id_list encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.is_get_all encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_equip_relic (v:equip_relic) encoder = 
  Pbrt.Encoder.int32_as_varint v.nfjcagcjbib encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fgmdoekgpee encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_avatar (v:avatar) encoder = 
  Pbrt.Encoder.int32_as_varint v.base_avatar_id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fbieckfjhid encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_equip_relic x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.equip_relic_list encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_avatar_skill_tree x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.skilltree_list encoder;
  Pbrt.Encoder.int64_as_varint v.first_met_timestamp encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.rank encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nknepgafjhl encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.bhfagdddack encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.exp encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.promotion encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.lgefgjgpbcj encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_get_avatar_data_sc_rsp (v:get_avatar_data_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.cibnempfije encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.is_all encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_avatar x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.avatar_list encoder;
  ()

let rec encode_pb_aecnomadcjh (v:aecnomadcjh) encoder = 
  begin match v.item_cost with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.base_avatar_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lpnomfffpdc (v:lpnomfffpdc) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pile_item x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.return_item_list encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kpbljmklimk (v:kpbljmklimk) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_item_cost x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.pdpfcfglgco encoder;
  Pbrt.Encoder.int32_as_varint v.point_id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lokkkoegcel (v:lokkkoegcel) encoder = 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.point_id encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pgallhinmcg (v:pgallhinmcg) encoder = 
  Pbrt.Encoder.int32_as_varint v.base_avatar_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_item_cost x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.pdpfcfglgco encoder;
  ()

let rec encode_pb_kiegpcndglm (v:kiegpcndglm) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cbakagckfoj (v:cbakagckfoj) encoder = 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fbieckfjhid encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ijcahocdgaf (v:ijcahocdgaf) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_adgdhlnhjbo (v:adgdhlnhjbo) encoder = 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mpifpmeobhn (v:mpifpmeobhn) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_add_avatar_sc_notify (v:add_avatar_sc_notify) encoder = 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.bool v.kollpgccdil encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.base_avatar_id encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  encode_pb_add_avatar_src v.src encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_encpolfcbdh (v:encpolfcbdh) encoder = 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.rank encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  begin match v.lohpklihemj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_lalbonaknbj (v:lalbonaknbj) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lihdafanjjb (v:lihdafanjjb) encoder = 
  Pbrt.Encoder.int32_as_varint v.glibnobaaec encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nfjcagcjbib encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nnmdebbkhno (v:nnmdebbkhno) encoder = 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_lihdafanjjb x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.param_list encoder;
  ()

let rec encode_pb_kangfjjbiof (v:kangfjjbiof) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_loekhbimbge (v:loekhbimbge) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.meifmmgjlpe encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_piacfnkpnfl (v:piacfnkpnfl) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lhfgooafpmn (v:lhfgooafpmn) encoder = 
  Pbrt.Encoder.int32_as_varint v.promotion encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.base_avatar_id encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ilpkijpmbem (v:ilpkijpmbem) encoder = 
  begin match v.dekonpmjeen with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hipenifkepd (v:hipenifkepd) encoder = 
  Pbrt.Encoder.int32_as_varint v.ikebgemjjdh encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pncgiifooab (v:pncgiifooab) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_agbmkannnln (v:agbmkannnln) encoder = 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_iekgcdbdjcb (v:iekgcdbdjcb) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jkgenbbckgd (v:jkgenbbckgd) encoder = 
  Pbrt.Encoder.int32_as_varint v.ikebgemjjdh encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cefjkkokjgm (v:cefjkkokjgm) encoder = 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.bhfagdddack encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jpfokchobkj (v:jpfokchobkj) encoder = 
  Pbrt.Encoder.bool v.bhfagdddack encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cakkaeefjpf (v:cakkaeefjpf) encoder =
  match v with
  | Cmd_battle_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_sync_client_res_version_cs_req -> Pbrt.Encoder.int_as_varint 139 encoder
  | Cmd_get_cur_battle_info_sc_rsp -> Pbrt.Encoder.int_as_varint 193 encoder
  | Cmd_re_battle_after_battle_lose_cs_notify -> Pbrt.Encoder.int_as_varint 165 encoder
  | Cmd_server_simulate_battle_finish_sc_notify -> Pbrt.Encoder.int_as_varint 154 encoder
  | Cmd_quit_battle_sc_rsp -> Pbrt.Encoder.int_as_varint 143 encoder
  | Cmd_quit_battle_cs_req -> Pbrt.Encoder.int_as_varint 111 encoder
  | Cmd_get_cur_battle_info_cs_req -> Pbrt.Encoder.int_as_varint 156 encoder
  | Cmd_pvebattle_result_cs_req -> Pbrt.Encoder.int_as_varint 168 encoder
  | Cmd_battle_log_report_sc_rsp -> Pbrt.Encoder.int_as_varint 199 encoder
  | Cmd_quit_battle_sc_notify -> Pbrt.Encoder.int_as_varint 151 encoder
  | Cmd_rebattle_by_client_cs_notify -> Pbrt.Encoder.int_as_varint 148 encoder
  | Cmd_battle_log_report_cs_req -> Pbrt.Encoder.int_as_varint 133 encoder
  | Cmd_sync_client_res_version_sc_rsp -> Pbrt.Encoder.int_as_varint 129 encoder
  | Cmd_pvebattle_result_sc_rsp -> Pbrt.Encoder.int_as_varint 106 encoder

let rec encode_pb_pve_battle_result_cs_req (v:pve_battle_result_cs_req) encoder = 
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  encode_pb_battle_end_status v.end_status encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.battle_id encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pve_battle_result_sc_rsp (v:pve_battle_result_sc_rsp) encoder = 
  Pbrt.Encoder.bool v.oomdpegblgd encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_battle_avatar x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.battle_avatar_list encoder;
  Pbrt.Encoder.int32_as_varint v.oocaibocjln encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.pgocjkihbbe encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.battle_id encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.glplpadhfpd encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  begin match v.mlnnahkhdjm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.eahkgakocfi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.cbilddggofb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 73 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.acpoidmpoae with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.gndhohdfcaj encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.afpcepepdbn encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  encode_pb_battle_end_status v.end_status encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_camlhbegnmo (v:camlhbegnmo) encoder =
  match v with
  | Rebattle_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rebattle_type_rebattle_midway -> Pbrt.Encoder.int_as_varint 1 encoder
  | Rebattle_type_rebattle_lose -> Pbrt.Encoder.int_as_varint 2 encoder
  | Rebattle_type_rebattle_midway_lineup -> Pbrt.Encoder.int_as_varint 3 encoder
  | Rebattle_type_rebattle_lose_lineup -> Pbrt.Encoder.int_as_varint 4 encoder
  | Rebattle_type_quit_midway -> Pbrt.Encoder.int_as_varint 5 encoder
  | Rebattle_type_quit_lose -> Pbrt.Encoder.int_as_varint 6 encoder

let rec encode_pb_ijgbbedmofi (v:ijgbbedmofi) encoder = 
  begin match v.ppkofopmfjc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_battle_statistics x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  encode_pb_camlhbegnmo v.nnpfabenejo encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cobbpkkomfl (v:cobbpkkomfl) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dkkpikecajo (v:dkkpikecajo) encoder = 
()

let rec encode_pb_hbflmfphidd (v:hbflmfphidd) encoder = 
  begin match v.ipnlaoiegjo with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dlibcbeoehg x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.nlkgekahldd encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  encode_pb_battle_end_status v.hcnfeokapob encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mcakjakjjom (v:mcakjakjjom) encoder = 
  Pbrt.Encoder.int32_as_varint v.hcgjomkbloh encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kkabhpeeggp (v:kkabhpeeggp) encoder = 
  Pbrt.Encoder.int32_as_varint v.hcgjomkbloh encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fjkiphnkgdp (v:fjkiphnkgdp) encoder = 
()

let rec encode_pb_ldnjbhdlmmg (v:ldnjbhdlmmg) encoder = 
()

let rec encode_pb_pnnpfbnehhf (v:pnnpfbnehhf) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.inhkilleipi encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fjhmgepebdo (v:fjhmgepebdo) encoder = 
()

let rec encode_pb_jomaaeonbkl (v:jomaaeonbkl) encoder = 
  Pbrt.Encoder.bool v.anhhbjmpmnl encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mgckhgkoldc (v:mgckhgkoldc) encoder = 
  begin match v.ppkofopmfjc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_battle_statistics x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  encode_pb_camlhbegnmo v.nnpfabenejo encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dbbjgclmmjp (v:dbbjgclmmjp) encoder =
  match v with
  | Cmd_battle_college_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_get_battle_college_data_sc_rsp -> Pbrt.Encoder.int_as_varint 5706 encoder
  | Cmd_get_battle_college_data_cs_req -> Pbrt.Encoder.int_as_varint 5768 encoder
  | Cmd_start_battle_college_sc_rsp -> Pbrt.Encoder.int_as_varint 5756 encoder
  | Cmd_battle_college_data_change_sc_notify -> Pbrt.Encoder.int_as_varint 5711 encoder
  | Cmd_start_battle_college_cs_req -> Pbrt.Encoder.int_as_varint 5743 encoder

let rec encode_pb_fapaimaejep (v:fapaimaejep) encoder = 
()

let rec encode_pb_bdboegaepjc (v:bdboegaepjc) encoder = 
  Pbrt.Encoder.int32_as_varint v.opmjfaoockc encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.njicdmlcfel encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_peakflfemij (v:peakflfemij) encoder = 
  Pbrt.Encoder.int32_as_varint v.opmjfaoockc encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.njicdmlcfel encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_piohfiefgli (v:piohfiefgli) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gilcdginico (v:gilcdginico) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fahljamiphk (v:fahljamiphk) encoder =
  match v with
  | Cmd_battle_pass_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_take_all_reward_cs_req -> Pbrt.Encoder.int_as_varint 3029 encoder
  | Cmd_battle_pass_info_notify -> Pbrt.Encoder.int_as_varint 3068 encoder
  | Cmd_take_all_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 3051 encoder
  | Cmd_take_bp_reward_cs_req -> Pbrt.Encoder.int_as_varint 3043 encoder
  | Cmd_buy_bp_level_sc_rsp -> Pbrt.Encoder.int_as_varint 3039 encoder
  | Cmd_buy_bp_level_cs_req -> Pbrt.Encoder.int_as_varint 3093 encoder
  | Cmd_take_bp_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 3056 encoder

let rec encode_pb_lhcilpbmhdj (v:lhcilpbmhdj) encoder =
  match v with
  | Bp_tier_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Bp_tier_type_free -> Pbrt.Encoder.int_as_varint 1 encoder
  | Bp_tier_type_premium_1 -> Pbrt.Encoder.int_as_varint 2 encoder
  | Bp_tier_type_premium_2 -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_bbfkmccgbef (v:bbfkmccgbef) encoder =
  match v with
  | Bp_rewarad_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Bp_rewarad_type_free -> Pbrt.Encoder.int_as_varint 1 encoder
  | Bp_rewarad_type_premium_1 -> Pbrt.Encoder.int_as_varint 2 encoder
  | Bp_rewarad_type_premium_2 -> Pbrt.Encoder.int_as_varint 3 encoder
  | Bp_rewarad_type_premium_optional -> Pbrt.Encoder.int_as_varint 4 encoder

let rec encode_pb_glllkpaohkp (v:glllkpaohkp) encoder = 
  Pbrt.Encoder.int64_as_varint v.hfimlipbgjj encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.odfppnaaaha encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.doelnfpchgj encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.ofkndpopolb encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.ifhjejgkkii encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.bflofpnhhbe encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.negckedpalm encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.exp encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.mlcjknjonla encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  encode_pb_lhcilpbmhdj v.hjaacgfhkeh encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.eigfdpnbaib encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ikphhdkihnl encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_igfohhehkfi (v:igfohhehkfi) encoder = 
  encode_pb_bbfkmccgbef v.fgmdoekgpee encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.apbdbeabddj encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fgglkpbaipp (v:fgglkpbaipp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_jakmhbhfbom (v:jakmhbhfbom) encoder = 
  Pbrt.Encoder.int32_as_varint v.dnafdalifpp encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ojleilicgce (v:ojleilicgce) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_optional_reward (v:optional_reward) encoder = 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.optional_reward_id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_djpcigjcohb (v:djpcigjcohb) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_optional_reward x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.eeoepeflnib encoder;
  ()

let rec encode_pb_bnndbijgjig (v:bnndbijgjig) encoder = 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mhghefbeklg (v:mhghefbeklg) encoder =
  match v with
  | Cmd_boxing_club_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_boxing_club_reward_sc_notify -> Pbrt.Encoder.int_as_varint 4251 encoder
  | Cmd_choose_boxing_club_resonance_sc_rsp -> Pbrt.Encoder.int_as_varint 4254 encoder
  | Cmd_choose_boxing_club_stage_optional_buff_cs_req -> Pbrt.Encoder.int_as_varint 4282 encoder
  | Cmd_get_boxing_club_info_sc_rsp -> Pbrt.Encoder.int_as_varint 4206 encoder
  | Cmd_set_boxing_club_resonance_lineup_sc_rsp -> Pbrt.Encoder.int_as_varint 4248 encoder
  | Cmd_give_up_boxing_club_challenge_sc_rsp -> Pbrt.Encoder.int_as_varint 4229 encoder
  | Cmd_get_boxing_club_info_cs_req -> Pbrt.Encoder.int_as_varint 4268 encoder
  | Cmd_match_boxing_club_opponent_cs_req -> Pbrt.Encoder.int_as_varint 4211 encoder
  | Cmd_start_boxing_club_battle_sc_rsp -> Pbrt.Encoder.int_as_varint 4293 encoder
  | Cmd_choose_boxing_club_stage_optional_buff_sc_rsp -> Pbrt.Encoder.int_as_varint 4234 encoder
  | Cmd_choose_boxing_club_resonance_cs_req -> Pbrt.Encoder.int_as_varint 4299 encoder
  | Cmd_boxing_club_challenge_update_sc_notify -> Pbrt.Encoder.int_as_varint 4233 encoder
  | Cmd_match_boxing_club_opponent_sc_rsp -> Pbrt.Encoder.int_as_varint 4243 encoder
  | Cmd_start_boxing_club_battle_cs_req -> Pbrt.Encoder.int_as_varint 4256 encoder
  | Cmd_give_up_boxing_club_challenge_cs_req -> Pbrt.Encoder.int_as_varint 4239 encoder
  | Cmd_set_boxing_club_resonance_lineup_cs_req -> Pbrt.Encoder.int_as_varint 4265 encoder

let rec encode_pb_kjdaenekphc (v:kjdaenekphc) encoder = 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ddlbgkgfefc (v:ddlbgkgfefc) encoder = 
  Pbrt.Encoder.int32_as_varint v.gelihlenpmn encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_kjdaenekphc x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.lcpkdabedpe encoder;
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ngibpgbbhbb encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dejlogoemeb encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.avatar_list encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.aanccmiilfi encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.jhcijabbjdd encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.pokejdagclb encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hdonjgpeieg encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kogajoogclp (v:kogajoogclp) encoder = 
()

let rec encode_pb_mppfhakefln (v:mppfhakefln) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ddlbgkgfefc x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.cjbdijhedpo encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mlhocmdjnel (v:mlhocmdjnel) encoder = 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bjngkchibgi (v:bjngkchibgi) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.avatar_list encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mlhocmdjnel x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.lcpkdabedpe encoder;
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_flaecklplkf (v:flaecklplkf) encoder = 
  begin match v.ocdbilliofd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ddlbgkgfefc x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_aliciecaofg (v:aliciecaofg) encoder = 
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hdonjgpeieg encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lmonebbpblj (v:lmonebbpblj) encoder = 
  begin match v.ocdbilliofd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ddlbgkgfefc x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_geebeknbjna (v:geebeknbjna) encoder = 
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mlhocmdjnel x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.lcpkdabedpe encoder;
  ()

let rec encode_pb_ekdglijkhoo (v:ekdglijkhoo) encoder = 
  begin match v.ocdbilliofd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ddlbgkgfefc x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_flchghojicb (v:flchghojicb) encoder = 
  Pbrt.Encoder.int32_as_varint v.hehoaaidbbn encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fookkgeekfb (v:fookkgeekfb) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.ocdbilliofd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ddlbgkgfefc x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_abdgefcecmn (v:abdgefcecmn) encoder = 
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_impmdpaofpk (v:impmdpaofpk) encoder = 
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_beldnodphni (v:beldnodphni) encoder = 
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.piofaglkghg encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ahbkhblnhib (v:ahbkhblnhib) encoder = 
  begin match v.ocdbilliofd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ddlbgkgfefc x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fklbhjaoomk (v:fklbhjaoomk) encoder = 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.bool v.mmnebfbnoni encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dejlogoemeb encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bcklddogipb (v:bcklddogipb) encoder = 
  begin match v.ocdbilliofd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ddlbgkgfefc x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_jhhclhiagji (v:jhhclhiagji) encoder =
  match v with
  | Cmd_challenge_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_challenge_lineup_notify -> Pbrt.Encoder.int_as_varint 1754 encoder
  | Cmd_get_cur_challenge_cs_req -> Pbrt.Encoder.int_as_varint 1733 encoder
  | Cmd_get_challenge_group_statistics_sc_rsp -> Pbrt.Encoder.int_as_varint 1798 encoder
  | Cmd_start_challenge_sc_rsp -> Pbrt.Encoder.int_as_varint 1743 encoder
  | Cmd_challenge_settle_notify -> Pbrt.Encoder.int_as_varint 1739 encoder
  | Cmd_start_partial_challenge_cs_req -> Pbrt.Encoder.int_as_varint 1725 encoder
  | Cmd_start_challenge_cs_req -> Pbrt.Encoder.int_as_varint 1711 encoder
  | Cmd_get_challenge_sc_rsp -> Pbrt.Encoder.int_as_varint 1706 encoder
  | Cmd_get_challenge_recommend_lineup_list_cs_req -> Pbrt.Encoder.int_as_varint 1708 encoder
  | Cmd_get_cur_challenge_sc_rsp -> Pbrt.Encoder.int_as_varint 1799 encoder
  | Cmd_restart_challenge_phase_sc_rsp -> Pbrt.Encoder.int_as_varint 1790 encoder
  | Cmd_get_challenge_group_statistics_cs_req -> Pbrt.Encoder.int_as_varint 1797 encoder
  | Cmd_enter_challenge_next_phase_cs_req -> Pbrt.Encoder.int_as_varint 1728 encoder
  | Cmd_take_challenge_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 1734 encoder
  | Cmd_restart_challenge_phase_cs_req -> Pbrt.Encoder.int_as_varint 1792 encoder
  | Cmd_challenge_boss_phase_settle_notify -> Pbrt.Encoder.int_as_varint 1788 encoder
  | Cmd_enter_challenge_next_phase_sc_rsp -> Pbrt.Encoder.int_as_varint 1709 encoder
  | Cmd_take_challenge_reward_cs_req -> Pbrt.Encoder.int_as_varint 1782 encoder
  | Cmd_leave_challenge_sc_rsp -> Pbrt.Encoder.int_as_varint 1793 encoder
  | Cmd_get_challenge_cs_req -> Pbrt.Encoder.int_as_varint 1768 encoder
  | Cmd_leave_challenge_cs_req -> Pbrt.Encoder.int_as_varint 1756 encoder
  | Cmd_get_challenge_recommend_lineup_list_sc_rsp -> Pbrt.Encoder.int_as_varint 1781 encoder
  | Cmd_start_partial_challenge_sc_rsp -> Pbrt.Encoder.int_as_varint 1724 encoder

let rec encode_pb_lhnmnaphkdg (v:lhnmnaphkdg) encoder =
  match v with
  | Challenge_unknown -> Pbrt.Encoder.int_as_varint (0) encoder
  | Challenge_doing -> Pbrt.Encoder.int_as_varint 1 encoder
  | Challenge_finish -> Pbrt.Encoder.int_as_varint 2 encoder
  | Challenge_failed -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_bfkejoedman (v:bfkejoedman) encoder = 
  Pbrt.Encoder.int32_as_varint v.pkkfndimmio encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gakmanenkmh encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.mmnebfbnoni encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.lkipegajnfo encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gohiddnlhbd (v:gohiddnlhbd) encoder = 
  Pbrt.Encoder.int32_as_varint v.hechfpdiado encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.rank encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.unique_id encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.promotion encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jkbkidbcjnc (v:jkbkidbcjnc) encoder = 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_relic_affix x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.sub_affix_list encoder;
  Pbrt.Encoder.int32_as_varint v.unique_id encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.main_affix_id encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hechfpdiado encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ncjlkljhjcf (v:ncjlkljhjcf) encoder = 
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.nested encode_pb_jkbkidbcjnc x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Bytes) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.mcabmcmjjeh encoder;
  ()

let rec encode_pb_pofampodbff (v:pofampodbff) encoder = 
  begin match v.ifpgckbegmc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bfkejoedman x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.nested encode_pb_gohiddnlhbd x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Bytes) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.pkadbaodmol encoder;
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.nested encode_pb_ncjlkljhjcf x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Bytes) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.nidhakjenjj encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.fkieaedpfgi encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  begin match v.clmoamecein with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bfkejoedman x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.bool v.docbgbkpbgk encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.bddkedmgijc encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_odmpfgdalba (v:odmpfgdalba) encoder = 
  begin match v.mbknfpcaghc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pofampodbff x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_aelfdiclnkj (v:aelfdiclnkj) encoder = 
  Pbrt.Encoder.int32_as_varint v.oohfncljbab encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pamafmppefi encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.acjjpgnpdii encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lpgaoolbbfm encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgmihaljjfa encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  begin match v.akfdaaaiich with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_odmpfgdalba x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.nnbeodpchid encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gbobcmidndl (v:gbobcmidndl) encoder = 
  Pbrt.Encoder.int64_as_varint v.bcoonaoafoo encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dmdfdiamoak (v:dmdfdiamoak) encoder = 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jplhmpiafoe encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kmkeciemdah (v:kmkeciemdah) encoder = 
()

let rec encode_pb_oafififjgec (v:oafififjgec) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fgoeihnocab encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_dmdfdiamoak x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.kembjappmba encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_aelfdiclnkj x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.cjbdijhedpo encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_gbobcmidndl x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.bpmldkchbeg encoder;
  ()

let rec encode_pb_ohfljdcpecn (v:ohfljdcpecn) encoder = 
  Pbrt.Encoder.int32_as_varint v.ifckabbiilb encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bopehbonhll encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_oaflmpicpnm (v:oaflmpicpnm) encoder = 
  Pbrt.Encoder.int32_as_varint v.ifckabbiilb encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bopehbonhll encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bhoiohjgali (v:bhoiohjgali) encoder = 
  begin match v.ekglbfofkkd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ohfljdcpecn x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.mbknfpcaghc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_oaflmpicpnm x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_fmeoceelold (v:fmeoceelold) encoder = 
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.bddkedmgijc encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.fkieaedpfgi encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  begin match v.akfdaaaiich with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bhoiohjgali x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_dpefjfdabmm (v:dpefjfdabmm) encoder = 
  Pbrt.Encoder.int32_as_varint v.emkljnkkgmg encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.monster_id encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_extra_lineup_type (v:extra_lineup_type) encoder =
  match v with
  | Lineup_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Lineup_challenge -> Pbrt.Encoder.int_as_varint 1 encoder
  | Lineup_rogue -> Pbrt.Encoder.int_as_varint 2 encoder
  | Lineup_challenge_2 -> Pbrt.Encoder.int_as_varint 3 encoder
  | Lineup_challenge_3 -> Pbrt.Encoder.int_as_varint 4 encoder
  | Lineup_rogue_challenge -> Pbrt.Encoder.int_as_varint 5 encoder
  | Lineup_stage_trial -> Pbrt.Encoder.int_as_varint 6 encoder
  | Lineup_rogue_trial -> Pbrt.Encoder.int_as_varint 7 encoder
  | Lineup_activity -> Pbrt.Encoder.int_as_varint 8 encoder
  | Lineup_boxing_club -> Pbrt.Encoder.int_as_varint 9 encoder
  | Lineup_treasure_dungeon -> Pbrt.Encoder.int_as_varint 11 encoder
  | Lineup_chess_rogue -> Pbrt.Encoder.int_as_varint 12 encoder
  | Lineup_heliobus -> Pbrt.Encoder.int_as_varint 13 encoder
  | Lineup_tourn_rogue -> Pbrt.Encoder.int_as_varint 14 encoder
  | Lineup_relic_rogue -> Pbrt.Encoder.int_as_varint 15 encoder
  | Lineup_arcade_rogue -> Pbrt.Encoder.int_as_varint 16 encoder

let rec encode_pb_pmipieeojnc (v:pmipieeojnc) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.buff_list encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_lcmlopfaobm (v:lcmlopfaobm) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.buff_list encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.jjnilbbbmac encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bjfmbfoaelh (v:bjfmbfoaelh) encoder = 
  begin match v.hnekacjplga with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pmipieeojnc x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.bhfcjdajfke with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lcmlopfaobm x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_acdfcngdkhe (v:acdfcngdkhe) encoder = 
  Pbrt.Encoder.int32_as_varint v.oohfncljbab encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_dpefjfdabmm x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.gbgamckgokf encoder;
  Pbrt.Encoder.int32_as_varint v.lpgaoolbbfm encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  encode_pb_extra_lineup_type v.extra_lineup_type encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  begin match v.akfdaaaiich with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bjfmbfoaelh x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.lfjefbdikln encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fphjhbmlogm encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  encode_pb_lhnmnaphkdg v.status encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lineup_avatar (v:lineup_avatar) encoder = 
  Pbrt.Encoder.int32_as_varint v.hp encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.satiety encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.slot encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.sp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_sp_progress x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lineup_info (v:lineup_info) encoder = 
  Pbrt.Encoder.bool v.njfmkhpamdl encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_lineup_avatar x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.avatar_list encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.lofekgfcmlc encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.ijnpccndcgi encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.index encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.is_virtual encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hcoemhcfomn encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.name encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  encode_pb_extra_lineup_type v.extra_lineup_type encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.plane_id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.nlkmjkfhebm encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.kclnaimofdl encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.dfkpgckchah encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.oppienknmfb encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_maobdckbobc (v:maobdckbobc) encoder = 
  begin match v.ggjjigjjodm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_acdfcngdkhe x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_lineup_info x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.kbognlnlcle encoder;
  begin match v.scene with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_info x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.akfdaaaiich with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_odmpfgdalba x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hacocboddac (v:hacocboddac) encoder = 
  Pbrt.Encoder.int32_as_varint v.pkkfndimmio encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.ffobdiljlbp encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jjeeompliao (v:jjeeompliao) encoder = 
  begin match v.lineup with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lineup_info x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.scene with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_info x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  begin match v.ggjjigjjodm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_acdfcngdkhe x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_pfiiknkcjmf (v:pfiiknkcjmf) encoder = 
()

let rec encode_pb_hiajnnddmdd (v:hiajnnddmdd) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ldlkkfajcdc (v:ldlkkfajcdc) encoder = 
  Pbrt.Encoder.int32_as_varint v.fgoeihnocab encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.oohfncljbab encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.pamafmppefi encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.mmnebfbnoni encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.mlafjaohnmf encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.oadpmnmpcjl encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.nfkimondhio with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dmdfdiamoak x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_iblcoiiaigc (v:iblcoiiaigc) encoder = 
()

let rec encode_pb_coiegofghdn (v:coiegofghdn) encoder = 
  begin match v.ggjjigjjodm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_acdfcngdkhe x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_lineup_info x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ) v.kbognlnlcle encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lnagiibkhlh (v:lnagiibkhlh) encoder = 
  encode_pb_extra_lineup_type v.extra_lineup_type encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hibdmpkciin (v:hibdmpkciin) encoder = 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pahjkfkgbop (v:pahjkfkgbop) encoder = 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.dhlffjdmbig encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lpjbamecahp (v:lpjbamecahp) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pahjkfkgbop x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.bodjegpjphj encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ehbjmdabinj (v:ehbjmdabinj) encoder = 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.index encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mdhdfopebgl (v:mdhdfopebgl) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ehbjmdabinj x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.avatar_list encoder;
  ()

let rec encode_pb_npmodmpagii (v:npmodmpagii) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mdhdfopebgl x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.kbognlnlcle encoder;
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lfjefbdikln encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.knbgpmdmbkc encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_khjddbffahk (v:khjddbffahk) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgmihaljjfa encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  begin match v.pijailpolmf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_npmodmpagii x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_nhecleammpi (v:nhecleammpi) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mdhdfopebgl x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.kbognlnlcle encoder;
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.knbgpmdmbkc encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lpgaoolbbfm encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ifckabbiilb encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bopehbonhll encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_imiaeepmcje (v:imiaeepmcje) encoder = 
  begin match v.pijailpolmf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_nhecleammpi x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.hgmihaljjfa encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_adfmfjbomfm (v:adfmfjbomfm) encoder = 
  Pbrt.Encoder.int32_as_varint v.knbgpmdmbkc encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mdhdfopebgl x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.kbognlnlcle encoder;
  Pbrt.Encoder.int32_as_varint v.bopehbonhll encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lpgaoolbbfm encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ifckabbiilb encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cinndmfnbij (v:cinndmfnbij) encoder = 
  begin match v.pijailpolmf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_adfmfjbomfm x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.hgmihaljjfa encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mjpadlbjdhm (v:mjpadlbjdhm) encoder = 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jilinnlgcoe (v:jilinnlgcoe) encoder = 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  begin match v.icoibnhjhec with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_khjddbffahk x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.ckbeijmmbjp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_imiaeepmcje x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.idcpcalknen with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cinndmfnbij x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_agacnfgjjhm (v:agacnfgjjhm) encoder = 
()

let rec encode_pb_gcpmkpfgiid (v:gcpmkpfgiid) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  begin match v.scene with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_info x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_akiopjcikpi (v:akiopjcikpi) encoder = 
()

let rec encode_pb_oabnlkaifkd (v:oabnlkaifkd) encoder = 
  begin match v.scene with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_info x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dodphlphodk (v:dodphlphodk) encoder = 
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.oohfncljbab encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.oadpmnmpcjl encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.pbiaoddhipc encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_battle_target x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.eifkjpfgipi encoder;
  Pbrt.Encoder.int32_as_varint v.djemibiamha encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.mmnebfbnoni encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.bjihmliecnf encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pamafmppefi encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.oilhgpfbeel encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_oojihblbeip (v:oojihblbeip) encoder = 
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gcobllmhael (v:gcobllmhael) encoder = 
  Pbrt.Encoder.int32_as_varint v.pmdhhigakcp encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kmfboahjjhd encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.bddkedmgijc encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.fkieaedpfgi encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_mfkcgfoomed (v:mfkcgfoomed) encoder = 
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_gcobllmhael x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.bdjmhpbiaag encoder;
  ()

let rec encode_pb_bikadnacapb (v:bikadnacapb) encoder =
  match v with
  | Cmd_chat_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_get_chat_friend_history_sc_rsp -> Pbrt.Encoder.int_as_varint 3929 encoder
  | Cmd_get_chat_friend_history_cs_req -> Pbrt.Encoder.int_as_varint 3939 encoder
  | Cmd_send_msg_sc_rsp -> Pbrt.Encoder.int_as_varint 3906 encoder
  | Cmd_get_chat_emoji_list_cs_req -> Pbrt.Encoder.int_as_varint 3951 encoder
  | Cmd_send_msg_cs_req -> Pbrt.Encoder.int_as_varint 3968 encoder
  | Cmd_private_msg_offline_users_sc_notify -> Pbrt.Encoder.int_as_varint 3943 encoder
  | Cmd_get_login_chat_info_sc_rsp -> Pbrt.Encoder.int_as_varint 3934 encoder
  | Cmd_revc_msg_sc_notify -> Pbrt.Encoder.int_as_varint 3911 encoder
  | Cmd_get_chat_emoji_list_sc_rsp -> Pbrt.Encoder.int_as_varint 3933 encoder
  | Cmd_batch_mark_chat_emoji_cs_req -> Pbrt.Encoder.int_as_varint 3965 encoder
  | Cmd_mark_chat_emoji_cs_req -> Pbrt.Encoder.int_as_varint 3999 encoder
  | Cmd_mark_chat_emoji_sc_rsp -> Pbrt.Encoder.int_as_varint 3954 encoder
  | Cmd_get_login_chat_info_cs_req -> Pbrt.Encoder.int_as_varint 3982 encoder
  | Cmd_get_private_chat_history_sc_rsp -> Pbrt.Encoder.int_as_varint 3993 encoder
  | Cmd_get_private_chat_history_cs_req -> Pbrt.Encoder.int_as_varint 3956 encoder
  | Cmd_batch_mark_chat_emoji_sc_rsp -> Pbrt.Encoder.int_as_varint 3948 encoder

let rec encode_pb_ekllejeelfk (v:ekllejeelfk) encoder = 
  encode_pb_chat_type v.lfpcmaihpbj encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  encode_pb_msg_type v.aelpgmailcn encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.fblgpmnmbcc encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  begin match v.gpcnecedgof with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kicjpjalbbh x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.string v.jpacbjioomm encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.ampfhonjmcd encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nhcndpbdgef (v:nhcndpbdgef) encoder = 
  Pbrt.Encoder.int64_as_varint v.end_time encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fdolecgmpnp (v:fdolecgmpnp) encoder = 
  Pbrt.Encoder.int32_as_varint v.ehjdlppngmf encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  begin match v.gpcnecedgof with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kicjpjalbbh x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.string v.ekomgpknmnn encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int64_as_varint v.fgilieldboi encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ampfhonjmcd encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  encode_pb_msg_type v.aelpgmailcn encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ohiiebnlkpb (v:ohiiebnlkpb) encoder = 
  Pbrt.Encoder.int32_as_varint v.nlhlnacaplk encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.jpacbjioomm encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.ampfhonjmcd encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  encode_pb_msg_type v.aelpgmailcn encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jlddmekleop encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  begin match v.gpcnecedgof with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kicjpjalbbh x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  encode_pb_chat_type v.lfpcmaihpbj encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mbghgfnkini (v:mbghgfnkini) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.dbdnooapmlm encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_njgnkanbknc (v:njgnkanbknc) encoder = 
  Pbrt.Encoder.int32_as_varint v.hbnlpjhkkcj encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bmgnoinbocb encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_okbaaoadhco (v:okbaaoadhco) encoder = 
  Pbrt.Encoder.int32_as_varint v.hbnlpjhkkcj encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bmgnoinbocb encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_fdolecgmpnp x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.pbnkofcamlc encoder;
  ()

let rec encode_pb_iogcdknhcgm (v:iogcdknhcgm) encoder = 
  Pbrt.Encoder.int32_as_varint v.hbnlpjhkkcj encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.bgmailkkaki encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kinamnleoon (v:kinamnleoon) encoder = 
()

let rec encode_pb_ghdebmkbflc (v:ghdebmkbflc) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_iogcdknhcgm x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.cbkidlkcjcc encoder;
  ()

let rec encode_pb_pfkfollpamf (v:pfkfollpamf) encoder = 
()

let rec encode_pb_modcpiakhbc (v:modcpiakhbc) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.heeeklmagdp encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_baoekbknfkb (v:baoekbknfkb) encoder = 
  Pbrt.Encoder.bool v.mkbgjbobhal encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ampfhonjmcd encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gbjplhlkclc (v:gbjplhlkclc) encoder = 
  Pbrt.Encoder.bool v.mkbgjbobhal encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ampfhonjmcd encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bafalbdiboe (v:bafalbdiboe) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.iilhhecoogb encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_hghnaejjjgj (v:hghnaejjjgj) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.iilhhecoogb encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lghifpmgaic (v:lghifpmgaic) encoder = 
()

let rec encode_pb_mdmbaangnpa (v:mdmbaangnpa) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.dbdnooapmlm encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_lchfohebiak (v:lchfohebiak) encoder =
  match v with
  | Cmd_chess_rogue_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_chess_rogue_pick_avatar_cs_req -> Pbrt.Encoder.int_as_varint 5446 encoder
  | Cmd_enhance_chess_rogue_buff_cs_req -> Pbrt.Encoder.int_as_varint 5458 encoder
  | Cmd_get_chess_rogue_buff_enhance_info_sc_rsp -> Pbrt.Encoder.int_as_varint 5476 encoder
  | Cmd_chess_rogue_nous_get_rogue_talent_info_sc_rsp -> Pbrt.Encoder.int_as_varint 5482 encoder
  | Cmd_select_chess_rogue_nous_sub_story_cs_req -> Pbrt.Encoder.int_as_varint 5427 encoder
  | Cmd_finish_chess_rogue_sub_story_sc_rsp -> Pbrt.Encoder.int_as_varint 5491 encoder
  | Cmd_get_chess_rogue_buff_enhance_info_cs_req -> Pbrt.Encoder.int_as_varint 5555 encoder
  | Cmd_chess_rogue_quit_sc_rsp -> Pbrt.Encoder.int_as_varint 5444 encoder
  | Cmd_chess_rogue_select_bp_sc_rsp -> Pbrt.Encoder.int_as_varint 5566 encoder
  | Cmd_chess_rogue_quest_finish_notify -> Pbrt.Encoder.int_as_varint 5460 encoder
  | Cmd_chess_rogue_start_cs_req -> Pbrt.Encoder.int_as_varint 5514 encoder
  | Cmd_chess_rogue_roll_dice_cs_req -> Pbrt.Encoder.int_as_varint 5529 encoder
  | Cmd_chess_rogue_enter_sc_rsp -> Pbrt.Encoder.int_as_varint 5421 encoder
  | Cmd_chess_rogue_cheat_roll_sc_rsp -> Pbrt.Encoder.int_as_varint 5499 encoder
  | Cmd_chess_rogue_re_roll_dice_cs_req -> Pbrt.Encoder.int_as_varint 5474 encoder
  | Cmd_chess_rogue_skip_teaching_level_sc_rsp -> Pbrt.Encoder.int_as_varint 5531 encoder
  | Cmd_chess_rogue_layer_account_info_notify -> Pbrt.Encoder.int_as_varint 5591 encoder
  | Cmd_chess_rogue_revive_avatar_sc_rsp -> Pbrt.Encoder.int_as_varint 5481 encoder
  | Cmd_chess_rogue_update_dice_passive_accumulate_value_sc_notify -> Pbrt.Encoder.int_as_varint 5463 encoder
  | Cmd_chess_rogue_update_unlock_level_sc_notify -> Pbrt.Encoder.int_as_varint 5430 encoder
  | Cmd_get_chess_rogue_story_info_sc_rsp -> Pbrt.Encoder.int_as_varint 5462 encoder
  | Cmd_chess_rogue_move_cell_notify -> Pbrt.Encoder.int_as_varint 5419 encoder
  | Cmd_chess_rogue_leave_sc_rsp -> Pbrt.Encoder.int_as_varint 5447 encoder
  | Cmd_finish_chess_rogue_sub_story_cs_req -> Pbrt.Encoder.int_as_varint 5418 encoder
  | Cmd_chess_rogue_query_bp_cs_req -> Pbrt.Encoder.int_as_varint 5401 encoder
  | Cmd_chess_rogue_confirm_roll_cs_req -> Pbrt.Encoder.int_as_varint 5523 encoder
  | Cmd_chess_rogue_nous_enable_rogue_talent_sc_rsp -> Pbrt.Encoder.int_as_varint 5576 encoder
  | Cmd_get_chess_rogue_nous_story_info_sc_rsp -> Pbrt.Encoder.int_as_varint 5557 encoder
  | Cmd_chess_rogue_give_up_sc_rsp -> Pbrt.Encoder.int_as_varint 5456 encoder
  | Cmd_chess_rogue_update_revive_info_sc_notify -> Pbrt.Encoder.int_as_varint 5434 encoder
  | Cmd_chess_rogue_select_cell_cs_req -> Pbrt.Encoder.int_as_varint 5549 encoder
  | Cmd_chess_rogue_update_allowed_select_cell_sc_notify -> Pbrt.Encoder.int_as_varint 5426 encoder
  | Cmd_chess_rogue_update_board_sc_notify -> Pbrt.Encoder.int_as_varint 5518 encoder
  | Cmd_chess_rogue_nous_edit_dice_sc_rsp -> Pbrt.Encoder.int_as_varint 5565 encoder
  | Cmd_get_chess_rogue_nous_story_info_cs_req -> Pbrt.Encoder.int_as_varint 5501 encoder
  | Cmd_get_chess_rogue_story_aeon_talk_info_sc_rsp -> Pbrt.Encoder.int_as_varint 5544 encoder
  | Cmd_chess_rogue_confirm_roll_sc_rsp -> Pbrt.Encoder.int_as_varint 5596 encoder
  | Cmd_finish_chess_rogue_nous_sub_story_sc_rsp -> Pbrt.Encoder.int_as_varint 5577 encoder
  | Cmd_enhance_chess_rogue_buff_sc_rsp -> Pbrt.Encoder.int_as_varint 5552 encoder
  | Cmd_select_chess_rogue_nous_sub_story_sc_rsp -> Pbrt.Encoder.int_as_varint 5521 encoder
  | Cmd_chess_rogue_query_bp_sc_rsp -> Pbrt.Encoder.int_as_varint 5588 encoder
  | Cmd_chess_rogue_re_roll_dice_sc_rsp -> Pbrt.Encoder.int_as_varint 5586 encoder
  | Cmd_chess_rogue_revive_avatar_cs_req -> Pbrt.Encoder.int_as_varint 5569 encoder
  | Cmd_get_chess_rogue_story_aeon_talk_info_cs_req -> Pbrt.Encoder.int_as_varint 5417 encoder
  | Cmd_chess_rogue_go_ahead_cs_req -> Pbrt.Encoder.int_as_varint 5405 encoder
  | Cmd_chess_rogue_update_level_base_info_sc_notify -> Pbrt.Encoder.int_as_varint 5431 encoder
  | Cmd_chess_rogue_query_cs_req -> Pbrt.Encoder.int_as_varint 5493 encoder
  | Cmd_chess_rogue_enter_cell_sc_rsp -> Pbrt.Encoder.int_as_varint 5433 encoder
  | Cmd_enter_chess_rogue_aeon_room_sc_rsp -> Pbrt.Encoder.int_as_varint 5589 encoder
  | Cmd_sync_chess_rogue_nous_main_story_sc_notify -> Pbrt.Encoder.int_as_varint 5455 encoder
  | Cmd_chess_rogue_go_ahead_sc_rsp -> Pbrt.Encoder.int_as_varint 5556 encoder
  | Cmd_chess_rogue_enter_next_layer_sc_rsp -> Pbrt.Encoder.int_as_varint 5492 encoder
  | Cmd_chess_rogue_changey_aeon_dimension_notify -> Pbrt.Encoder.int_as_varint 5425 encoder
  | Cmd_chess_rogue_start_sc_rsp -> Pbrt.Encoder.int_as_varint 5600 encoder
  | Cmd_chess_rogue_leave_cs_req -> Pbrt.Encoder.int_as_varint 5445 encoder
  | Cmd_finish_chess_rogue_nous_sub_story_cs_req -> Pbrt.Encoder.int_as_varint 5409 encoder
  | Cmd_chess_rogue_give_up_roll_sc_rsp -> Pbrt.Encoder.int_as_varint 5489 encoder
  | Cmd_chess_rogue_update_aeon_modifier_value_sc_notify -> Pbrt.Encoder.int_as_varint 5542 encoder
  | Cmd_chess_rogue_nous_edit_dice_cs_req -> Pbrt.Encoder.int_as_varint 5459 encoder
  | Cmd_chess_rogue_pick_avatar_sc_rsp -> Pbrt.Encoder.int_as_varint 5450 encoder
  | Cmd_chess_rogue_nous_dice_update_notify -> Pbrt.Encoder.int_as_varint 5508 encoder
  | Cmd_chess_rogue_select_cell_sc_rsp -> Pbrt.Encoder.int_as_varint 5532 encoder
  | Cmd_chess_rogue_cheat_roll_cs_req -> Pbrt.Encoder.int_as_varint 5408 encoder
  | Cmd_get_chess_rogue_story_info_cs_req -> Pbrt.Encoder.int_as_varint 5497 encoder
  | Cmd_sync_chess_rogue_main_story_finish_sc_notify -> Pbrt.Encoder.int_as_varint 5480 encoder
  | Cmd_chess_rogue_give_up_cs_req -> Pbrt.Encoder.int_as_varint 5585 encoder
  | Cmd_chess_rogue_quit_cs_req -> Pbrt.Encoder.int_as_varint 5506 encoder
  | Cmd_chess_rogue_select_bp_cs_req -> Pbrt.Encoder.int_as_varint 5486 encoder
  | Cmd_enter_chess_rogue_aeon_room_cs_req -> Pbrt.Encoder.int_as_varint 5520 encoder
  | Cmd_chess_rogue_enter_cs_req -> Pbrt.Encoder.int_as_varint 5567 encoder
  | Cmd_chess_rogue_update_dice_info_sc_notify -> Pbrt.Encoder.int_as_varint 5461 encoder
  | Cmd_chess_rogue_query_aeon_dimensions_sc_rsp -> Pbrt.Encoder.int_as_varint 5536 encoder
  | Cmd_chess_rogue_roll_dice_sc_rsp -> Pbrt.Encoder.int_as_varint 5539 encoder
  | Cmd_sync_chess_rogue_nous_sub_story_sc_notify -> Pbrt.Encoder.int_as_varint 5484 encoder
  | Cmd_chess_rogue_query_sc_rsp -> Pbrt.Encoder.int_as_varint 5507 encoder
  | Cmd_chess_rogue_query_aeon_dimensions_cs_req -> Pbrt.Encoder.int_as_varint 5413 encoder
  | Cmd_chess_rogue_update_action_point_sc_notify -> Pbrt.Encoder.int_as_varint 5487 encoder
  | Cmd_chess_rogue_enter_next_layer_cs_req -> Pbrt.Encoder.int_as_varint 5568 encoder
  | Cmd_select_chess_rogue_sub_story_sc_rsp -> Pbrt.Encoder.int_as_varint 5587 encoder
  | Cmd_chess_rogue_give_up_roll_cs_req -> Pbrt.Encoder.int_as_varint 5545 encoder
  | Cmd_sync_chess_rogue_nous_value_sc_notify -> Pbrt.Encoder.int_as_varint 5451 encoder
  | Cmd_chess_rogue_nous_enable_rogue_talent_cs_req -> Pbrt.Encoder.int_as_varint 5571 encoder
  | Cmd_chess_rogue_nous_get_rogue_talent_info_cs_req -> Pbrt.Encoder.int_as_varint 5592 encoder
  | Cmd_chess_rogue_finish_cur_room_notify -> Pbrt.Encoder.int_as_varint 5467 encoder
  | Cmd_select_chess_rogue_sub_story_cs_req -> Pbrt.Encoder.int_as_varint 5406 encoder
  | Cmd_chess_rogue_skip_teaching_level_cs_req -> Pbrt.Encoder.int_as_varint 5477 encoder
  | Cmd_chess_rogue_update_money_info_sc_notify -> Pbrt.Encoder.int_as_varint 5442 encoder
  | Cmd_chess_rogue_nous_dice_surface_unlock_notify -> Pbrt.Encoder.int_as_varint 5453 encoder
  | Cmd_chess_rogue_cell_update_notify -> Pbrt.Encoder.int_as_varint 5498 encoder
  | Cmd_chess_rogue_enter_cell_cs_req -> Pbrt.Encoder.int_as_varint 5490 encoder

let rec encode_pb_ffcjbkjenjp (v:ffcjbkjenjp) encoder =
  match v with
  | Chess_rogue_dice_idle -> Pbrt.Encoder.int_as_varint (0) encoder
  | Chess_rogue_dice_rolled -> Pbrt.Encoder.int_as_varint 1 encoder
  | Chess_rogue_dice_confirmed -> Pbrt.Encoder.int_as_varint 2 encoder
  | Chess_rogue_dice_giveup -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_omlpnkhdeog (v:omlpnkhdeog) encoder =
  match v with
  | Chess_rogue_dice_fixed -> Pbrt.Encoder.int_as_varint (0) encoder
  | Chess_rogue_dice_editable -> Pbrt.Encoder.int_as_varint 1 encoder

let rec encode_pb_mknnebnfbej (v:mknnebnfbej) encoder =
  match v with
  | Idle -> Pbrt.Encoder.int_as_varint (0) encoder
  | Selected -> Pbrt.Encoder.int_as_varint 1 encoder
  | Processing -> Pbrt.Encoder.int_as_varint 2 encoder
  | Finish -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_idpjmbnedeg (v:idpjmbnedeg) encoder =
  match v with
  | Chess_rogue_cell_special_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Chess_rogue_cell_special_type_locked -> Pbrt.Encoder.int_as_varint 1 encoder
  | Chess_rogue_cell_special_type_replicate -> Pbrt.Encoder.int_as_varint 2 encoder
  | Chess_rogue_cell_special_type_protected -> Pbrt.Encoder.int_as_varint 3 encoder
  | Chess_rogue_cell_special_type_seed -> Pbrt.Encoder.int_as_varint 4 encoder
  | Chess_rogue_cell_special_type_stamp -> Pbrt.Encoder.int_as_varint 5 encoder

let rec encode_pb_kebkmnaehol (v:kebkmnaehol) encoder =
  match v with
  | Chess_rogue_level_idle -> Pbrt.Encoder.int_as_varint (0) encoder
  | Chess_rogue_level_processing -> Pbrt.Encoder.int_as_varint 1 encoder
  | Chess_rogue_level_pending -> Pbrt.Encoder.int_as_varint 2 encoder
  | Chess_rogue_level_finish -> Pbrt.Encoder.int_as_varint 3 encoder
  | Chess_rogue_level_failed -> Pbrt.Encoder.int_as_varint 4 encoder
  | Chess_rogue_level_force_finish -> Pbrt.Encoder.int_as_varint 5 encoder

let rec encode_pb_pkkjdbmkgck (v:pkkjdbmkgck) encoder =
  match v with
  | Chess_rogue_account_by_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Chess_rogue_account_by_normal_finish -> Pbrt.Encoder.int_as_varint 1 encoder
  | Chess_rogue_account_by_normal_quit -> Pbrt.Encoder.int_as_varint 2 encoder
  | Chess_rogue_account_by_dialog -> Pbrt.Encoder.int_as_varint 3 encoder
  | Chess_rogue_account_by_failed -> Pbrt.Encoder.int_as_varint 4 encoder
  | Chess_rogue_account_by_custom_op -> Pbrt.Encoder.int_as_varint 5 encoder

let rec encode_pb_eclempbnebp (v:eclempbnebp) encoder =
  match v with
  | Chess_rogue_buff_source_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Chess_rogue_buff_source_type_select -> Pbrt.Encoder.int_as_varint 1 encoder
  | Chess_rogue_buff_source_type_enhance -> Pbrt.Encoder.int_as_varint 2 encoder
  | Chess_rogue_buff_source_type_miracle -> Pbrt.Encoder.int_as_varint 3 encoder
  | Chess_rogue_buff_source_type_dialogue -> Pbrt.Encoder.int_as_varint 4 encoder
  | Chess_rogue_buff_source_type_bonus -> Pbrt.Encoder.int_as_varint 5 encoder
  | Chess_rogue_buff_source_type_shop -> Pbrt.Encoder.int_as_varint 6 encoder
  | Chess_rogue_buff_source_type_dice -> Pbrt.Encoder.int_as_varint 7 encoder
  | Chess_rogue_buff_source_type_aeon -> Pbrt.Encoder.int_as_varint 8 encoder
  | Chess_rogue_buff_source_type_maze_skill -> Pbrt.Encoder.int_as_varint 9 encoder
  | Chess_rogue_buff_source_type_level_mechanism -> Pbrt.Encoder.int_as_varint 10 encoder

let rec encode_pb_lemalifjabi (v:lemalifjabi) encoder =
  match v with
  | Chess_rogue_miracle_source_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Chess_rogue_miracle_source_type_select -> Pbrt.Encoder.int_as_varint 1 encoder
  | Chess_rogue_miracle_source_type_dialogue -> Pbrt.Encoder.int_as_varint 2 encoder
  | Chess_rogue_miracle_source_type_bonus -> Pbrt.Encoder.int_as_varint 3 encoder
  | Chess_rogue_miracle_source_type_use -> Pbrt.Encoder.int_as_varint 4 encoder
  | Chess_rogue_miracle_source_type_reset -> Pbrt.Encoder.int_as_varint 5 encoder
  | Chess_rogue_miracle_source_type_replace -> Pbrt.Encoder.int_as_varint 6 encoder
  | Chess_rogue_miracle_source_type_trade -> Pbrt.Encoder.int_as_varint 7 encoder
  | Chess_rogue_miracle_source_type_get -> Pbrt.Encoder.int_as_varint 8 encoder
  | Chess_rogue_miracle_source_type_shop -> Pbrt.Encoder.int_as_varint 9 encoder
  | Chess_rogue_miracle_source_type_maze_skill -> Pbrt.Encoder.int_as_varint 10 encoder
  | Chess_rogue_miracle_source_type_level_mechanism -> Pbrt.Encoder.int_as_varint 11 encoder

let rec encode_pb_mmfnjjmglfd (v:mmfnjjmglfd) encoder =
  match v with
  | Chess_rogue_update_level_status_by_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Chess_rogue_update_level_status_by_dialog -> Pbrt.Encoder.int_as_varint 1 encoder

let rec encode_pb_alapdfpdlno (v:alapdfpdlno) encoder =
  match v with
  | Chess_rogue_cell_update_reason_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Chess_rogue_cell_update_reason_modifier -> Pbrt.Encoder.int_as_varint 1 encoder

let rec encode_pb_hgnglmloloa (v:hgnglmloloa) encoder =
  match v with
  | Chess_rogue_aeon_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Chess_rogue_aeon_type_knight -> Pbrt.Encoder.int_as_varint 1 encoder
  | Chess_rogue_aeon_type_memory -> Pbrt.Encoder.int_as_varint 2 encoder
  | Chess_rogue_aeon_type_warlock -> Pbrt.Encoder.int_as_varint 3 encoder
  | Chess_rogue_aeon_type_priest -> Pbrt.Encoder.int_as_varint 4 encoder
  | Chess_rogue_aeon_type_rogue -> Pbrt.Encoder.int_as_varint 5 encoder
  | Chess_rogue_aeon_type_warrior -> Pbrt.Encoder.int_as_varint 6 encoder
  | Chess_rogue_aeon_type_happy -> Pbrt.Encoder.int_as_varint 7 encoder
  | Chess_rogue_aeon_type_breed -> Pbrt.Encoder.int_as_varint 8 encoder

let rec encode_pb_homhlopfphc (v:homhlopfphc) encoder =
  match v with
  | Chess_rogue_dice_source_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Chess_rogue_dice_source_type_normal -> Pbrt.Encoder.int_as_varint 1 encoder
  | Chess_rogue_dice_source_type_repeat -> Pbrt.Encoder.int_as_varint 2 encoder
  | Chess_rogue_dice_source_type_cheat -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_emeefgmahof (v:emeefgmahof) encoder =
  match v with
  | Chess_rogue_nous_main_story_status_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Chess_rogue_nous_main_story_status_unlock -> Pbrt.Encoder.int_as_varint 1 encoder
  | Chess_rogue_nous_main_story_status_finish -> Pbrt.Encoder.int_as_varint 2 encoder
  | Chess_rogue_nous_main_story_status_can_trigger -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_cieanjnnbbg (v:cieanjnnbbg) encoder =
  match v with
  | None -> Pbrt.Encoder.int_as_varint (0) encoder
  | Phase_one -> Pbrt.Encoder.int_as_varint 1 encoder
  | Phase_two -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_micfnaphmnb (v:micfnaphmnb) encoder = 
  begin match v.joipnmmehbm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hefgcbjdeem (v:hefgcbjdeem) encoder = 
  begin match v.scene with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_info x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.lineup with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lineup_info x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_memfcodlioa (v:memfcodlioa) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.glkbddbdebh encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_nidknnfjgmp (v:nidknnfjgmp) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_memfcodlioa x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.mojaejmnmge encoder;
  ()

let rec encode_pb_idlkgpjlfhc (v:idlkgpjlfhc) encoder =
  match v with
  | Rogue_modifier_source_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_modifier_source_dice_roll -> Pbrt.Encoder.int_as_varint 1 encoder
  | Rogue_modifier_source_aeon -> Pbrt.Encoder.int_as_varint 2 encoder
  | Rogue_modifier_source_board_event -> Pbrt.Encoder.int_as_varint 3 encoder
  | Rogue_modifier_source_dialog_event -> Pbrt.Encoder.int_as_varint 4 encoder
  | Rogue_modifier_source_miracle -> Pbrt.Encoder.int_as_varint 5 encoder
  | Rogue_modifier_source_cell_mark -> Pbrt.Encoder.int_as_varint 6 encoder
  | Rogue_modifier_source_aeon_talent -> Pbrt.Encoder.int_as_varint 7 encoder
  | Rogue_modifier_source_boss_decay -> Pbrt.Encoder.int_as_varint 8 encoder
  | Rogue_modifier_source_dice_branch -> Pbrt.Encoder.int_as_varint 9 encoder

let rec encode_pb_oeafacbejbl (v:oeafacbejbl) encoder =
  match v with
  | Rogue_modifier_content_definite -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_modifier_content_random -> Pbrt.Encoder.int_as_varint 1 encoder

let rec encode_pb_mehpamalhjm (v:mehpamalhjm) encoder = 
  Pbrt.Encoder.int32_as_varint v.gmdlifibdfc encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  encode_pb_oeafacbejbl v.gahohjkfkek encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pelegneejne encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fbpkclgkmha (v:fbpkclgkmha) encoder = 
  Pbrt.Encoder.bool v.mecjmchknde encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ppahjhccgea encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.adnplkibhog encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gflokgogjgh (v:gflokgogjgh) encoder = 
  encode_pb_idlkgpjlfhc v.cbjpfggchfh encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.golcnjkeoic with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mehpamalhjm x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int64_as_varint v.ddgkfgjdgeb encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.hhckdkhoecn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fbpkclgkmha x encoder;
    Pbrt.Encoder.key 913 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bakpidleifi (v:bakpidleifi) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_gflokgogjgh x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.depmnmgkeag encoder;
  ()

let rec encode_pb_gbfffjngdfj (v:gbfffjngdfj) encoder = 
  Pbrt.Encoder.int32_as_varint v.fnhpplpmjcn encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dcipfijnhoi encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dcbalomaani (v:dcbalomaani) encoder = 
  Pbrt.Encoder.int32_as_varint v.ddkgbmlkdkk encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lhigmcoilgo encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nddbnbipbon encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_gbfffjngdfj x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.pdfpgbmampk encoder;
  ()

let rec encode_pb_jhogcidfaoc (v:jhogcidfaoc) encoder = 
  Pbrt.Encoder.int32_as_varint v.aneolijdglc encoder;
  Pbrt.Encoder.key 1139 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.kbiicjjlpnd encoder;
  Pbrt.Encoder.key 984 Pbrt.Varint encoder; 
  begin match v.djaocncjcoa with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gflokgogjgh x encoder;
    Pbrt.Encoder.key 1645 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.iojokhhnnaf encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  begin match v.pmngenljclp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bakpidleifi x encoder;
    Pbrt.Encoder.key 481 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.cbplaahapne encoder;
  Pbrt.Encoder.key 1804 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.haccokolmcb encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pefeejkjmko encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lgjapibjhec encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.dicpimdppco with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dcbalomaani x encoder;
    Pbrt.Encoder.key 1631 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.bool v.jheghpmkabh encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ddgbdajebji encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bbcjfajjbof encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jinmpgfgcbc encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  encode_pb_omlpnkhdeog v.lkbimfkbocp encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  encode_pb_ffcjbkjenjp v.gllfonoipoc encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ddfbfpoeima encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mgdjkjeikif (v:mgdjkjeikif) encoder = 
  Pbrt.Encoder.int32_as_varint v.aoecepofobe encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jgialipdago (v:jgialipdago) encoder = 
  begin match v.emmkiajfeeh with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jhogcidfaoc x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ffcidfndcij encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gapcdcdlhao (v:gapcdcdlhao) encoder = 
  Pbrt.Encoder.int32_as_varint v.pbonhgdihdk encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_njnoikdeemg (v:njnoikdeemg) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pbonhgdihdk encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_aljedjonndl (v:aljedjonndl) encoder = 
  Pbrt.Encoder.int32_as_varint v.monster_id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mepjekicoob encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pifejklcgii (v:pifejklcgii) encoder = 
  Pbrt.Encoder.int32_as_varint v.kjigdihdnaj encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.mecjmchknde encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_aljedjonndl x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.jlpgaheinlb encoder;
  ()

let rec encode_pb_ppdhjomdhpg (v:ppdhjomdhpg) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.nehaljheool encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.kdmnfdglfij encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_dfompdgfppa (v:dfompdgfppa) encoder = 
  begin match v.jpblhpkdnff with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pifejklcgii x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.fhkibjkjnjf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ppdhjomdhpg x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_kkjhocdnhpk (v:kkjhocdnhpk) encoder = 
  begin match v.jpblhpkdnff with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pifejklcgii x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.fhkibjkjnjf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ppdhjomdhpg x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.ogicojhhcnf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dfompdgfppa x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_fffkbmhfeed (v:fffkbmhfeed) encoder = 
  Pbrt.Encoder.int32_as_varint v.mfdelanaicp encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.khdgocghkea encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.mmpflgiclpa encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fipmfocjcgm encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  begin match v.akfdaaaiich with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kkjhocdnhpk x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  encode_pb_idpjmbnedeg v.mkpjijjipfe encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pgnccoldebp encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  encode_pb_mknnebnfbej v.gmchjnfpjdm encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.ddlinaajdoh encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.dnmhgkbcinm encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.opooflefkol encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fdkhifelmcd (v:fdkhifelmcd) encoder = 
  Pbrt.Encoder.int32_as_varint v.gfphfakjiip encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_fffkbmhfeed x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.hdkkdjobple encoder;
  Pbrt.Encoder.int32_as_varint v.kjfpfijkmic encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pbegapcffcg encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kgphiiiehfj encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dogofabhmnk (v:dogofabhmnk) encoder = 
  Pbrt.Encoder.int32_as_varint v.mfdelanaicp encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pbonhgdihdk encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kkcpdacdmkm (v:kkcpdacdmkm) encoder = 
  begin match v.jjfopmclfgp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bakpidleifi x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.odbonchifmm encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_iegahkdghjc (v:iegahkdghjc) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_dogofabhmnk x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.acdpcbenidp encoder;
  Pbrt.Encoder.int32_as_varint v.ffkkpmlkkcc encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  encode_pb_mknnebnfbej v.bgdnnmcklaf encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  begin match v.pondjadjphm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kkcpdacdmkm x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.jhbiihbamfp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fdkhifelmcd x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.jaeaoepglog encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.lahdpgmdloa encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_bincokigfgm (v:bincokigfgm) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jpjmfomlibc encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  begin match v.onlcphdmmpm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_iegahkdghjc x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.glkcbfpeijb encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.palokcoicgp encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mknhgcengfk encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.meoekcpafch encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.kdkdheomlmo encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.pcpganjlmml encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_gnhfgpglbae (v:gnhfgpglbae) encoder = 
  Pbrt.Encoder.int32_as_varint v.bajeglndfpe encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.opmjfaoockc encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lafgnipaikl (v:lafgnipaikl) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_gnhfgpglbae x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.emoohedjinn encoder;
  ()

let rec encode_pb_lhakogbpaen (v:lhakogbpaen) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.hbjejpcphbf encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.agndiegkeih encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  begin match v.pncgddoigad with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lafgnipaikl x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.onlljjegjdc encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  begin match v.jjfopmclfgp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bakpidleifi x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_eapcpnbdbbg (v:eapcpnbdbbg) encoder = 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mfionjgelel encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ccohodejlfe (v:ccohodejlfe) encoder = 
  begin match v.boijkbofiid with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_micfnaphmnb x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_eapcpnbdbbg x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.njmnddboopd encoder;
  ()

let rec encode_pb_cndojeanndh (v:cndojeanndh) encoder = 
  Pbrt.Encoder.int32_as_varint v.dajmkddckgh encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.hholaeabopa encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ghmkcfhnejp encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.jbjjpnlonkm encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jkggceplagl (v:jkggceplagl) encoder = 
  Pbrt.Encoder.int32_as_varint v.ljbbdccelmh encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ahdfkbajdlh (v:ahdfkbajdlh) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ikddpmdgcaj encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_hbdomioniba (v:hbdomioniba) encoder =
  match v with
  | Rogue_common_buff_select_source_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_common_buff_select_source_type_dice_roll -> Pbrt.Encoder.int_as_varint 1 encoder
  | Rogue_common_buff_select_source_type_aeon -> Pbrt.Encoder.int_as_varint 2 encoder
  | Rogue_common_buff_select_source_type_board_event -> Pbrt.Encoder.int_as_varint 3 encoder
  | Rogue_common_buff_select_source_type_level_mechanism -> Pbrt.Encoder.int_as_varint 4 encoder

let rec encode_pb_mnicidbdjfi (v:mnicidbdjfi) encoder = 
  Pbrt.Encoder.int32_as_varint v.pkkfndimmio encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kehnfboaaig encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_rogue_common_buff_select_info (v:rogue_common_buff_select_info) encoder = 
  begin match v.roll_buff_cost_data with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  encode_pb_hbdomioniba v.source_type encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.handbook_unlock_buff_id_list encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.certain_select_buff_id encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mnicidbdjfi x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.select_buff_list encoder;
  Pbrt.Encoder.int32_as_varint v.source_hint_id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.roll_buff_max_count encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.roll_buff_free_count encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.first_buff_type_list encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.can_roll encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.roll_buff_count encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.source_total_count encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.source_cur_count encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jgloggkpeip (v:jgloggkpeip) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mnicidbdjfi x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.ckmcdophoho encoder;
  Pbrt.Encoder.int32_as_varint v.comnknfemfn encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mmgfijkgejd (v:mmgfijkgejd) encoder = 
  Pbrt.Encoder.int32_as_varint v.comnknfemfn encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mnicidbdjfi x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.ongocpjbeem encoder;
  ()

let rec encode_pb_lhjijndbjll (v:lhjijndbjll) encoder = 
  Pbrt.Encoder.int32_as_varint v.comnknfemfn encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mnicidbdjfi x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.jcmhmpmbhko encoder;
  ()

let rec encode_pb_ldklmcljplk (v:ldklmcljplk) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.bhpcnblomnh encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.comnknfemfn encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ohmlalbookj encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_blplkibhiok (v:blplkibhiok) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ccdkldffekl encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_gbhdggdnlon (v:gbhdggdnlon) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.hfmibieahhl encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.comnknfemfn encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bbdkccjfpbe (v:bbdkccjfpbe) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.mkllbpebdjd encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.comnknfemfn encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mgpnfkhlcpi (v:mgpnfkhlcpi) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.jpjjnfckpld encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.comnknfemfn encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ojnhhgmefgn (v:ojnhhgmefgn) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.bogobbncjbf encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.comnknfemfn encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ddbdnlhnole (v:ddbdnlhnole) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.oeeeagkklng encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.comnknfemfn encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jlaoekngjoc (v:jlaoekngjoc) encoder = 
  Pbrt.Encoder.int32_as_varint v.comnknfemfn encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.oeeeagkklng encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_lnedlmmamac (v:lnedlmmamac) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ofaekfangcn encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_rogue_formula_select_info (v:rogue_formula_select_info) encoder = 
  begin match v.roll_formula_cost_data with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.handbook_unlock_formula_id_list encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.hint_id encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.select_formula_id_list encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.roll_formula_count encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.can_roll encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.roll_formula_max_count encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.roll_formula_free_count encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dooghjmkiea (v:dooghjmkiea) encoder = 
  Pbrt.Encoder.int32_as_varint v.comnknfemfn encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.nmjpafphfam encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_pgpcmncmpin (v:pgpcmncmpin) encoder = 
  begin match v.hfdfkfjfdbb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_rogue_formula_select_info x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_eecmgimpdba (v:eecmgimpdba) encoder = 
  begin match v.alalgchdbdp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_rogue_common_buff_select_info x encoder;
    Pbrt.Encoder.key 1903 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.khfkakikamk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jgloggkpeip x encoder;
    Pbrt.Encoder.key 207 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.oigahiohcch with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mmgfijkgejd x encoder;
    Pbrt.Encoder.key 1070 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.okjbmkmmcej with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lhjijndbjll x encoder;
    Pbrt.Encoder.key 455 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.fndnbjlkdon with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ldklmcljplk x encoder;
    Pbrt.Encoder.key 338 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.hnokaicpikf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_blplkibhiok x encoder;
    Pbrt.Encoder.key 1035 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.hcjcjnogaia with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gbhdggdnlon x encoder;
    Pbrt.Encoder.key 939 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.lejeajjleoh with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bbdkccjfpbe x encoder;
    Pbrt.Encoder.key 899 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.gkjfkoimngd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mgpnfkhlcpi x encoder;
    Pbrt.Encoder.key 1548 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.agdfeodfcid with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ojnhhgmefgn x encoder;
    Pbrt.Encoder.key 147 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.khjkncfhbgm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ddbdnlhnole x encoder;
    Pbrt.Encoder.key 513 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.kckdiphlhfm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jlaoekngjoc x encoder;
    Pbrt.Encoder.key 353 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.gcflbbikckf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lnedlmmamac x encoder;
    Pbrt.Encoder.key 1601 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.hfdfkfjfdbb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_rogue_formula_select_info x encoder;
    Pbrt.Encoder.key 1335 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.jkgbadmlbcf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dooghjmkiea x encoder;
    Pbrt.Encoder.key 114 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.bmphbiefmbf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pgpcmncmpin x encoder;
    Pbrt.Encoder.key 1752 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_blhhnmhcodp (v:blhhnmhcodp) encoder = 
  Pbrt.Encoder.int32_as_varint v.ocnjbebhbgo encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  begin match v.mkgoabedjeh with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_eecmgimpdba x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_dkmldddplbi (v:dkmldddplbi) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.fdfgpknlkag encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.pdklekppbkf encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.gjdghpkgkga encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.hholaeabopa encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.jgiplhnepil encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.jokigggoefl encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.khbgofeemkc encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.nfdcfmgbflc encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_eijagapkfad (v:eijagapkfad) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mnicidbdjfi x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.buff_list encoder;
  ()

let rec encode_pb_oobhdlegikm (v:oobhdlegikm) encoder = 
  begin match v.fanjaobchcg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_eijagapkfad x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_djpaibjmmoe (v:djpaibjmmoe) encoder = 
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.int32_as_varint x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.edcaibmdknh encoder;
  Pbrt.Encoder.int32_as_varint v.ichkjnfaacl encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fomcmdmpdcg encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ekieijdbdhm encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hpphifdfjjj (v:hpphifdfjjj) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_djpaibjmmoe x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.pcpkkbfpbeb encoder;
  ()

let rec encode_pb_cgcbkhnbohm (v:cgcbkhnbohm) encoder = 
  begin match v.gkfjbgdelik with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hpphifdfjjj x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_cllnjecndkl (v:cllnjecndkl) encoder = 
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.int32_as_varint x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.phfgnlopnbm encoder;
  ()

let rec encode_pb_fpilmpnpiel (v:fpilmpnpiel) encoder = 
  Pbrt.Encoder.int32_as_varint v.agndiegkeih encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.jjfopmclfgp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bakpidleifi x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.onlljjegjdc encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_eamfankbgkd (v:eamfankbgkd) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ikddpmdgcaj encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_jlgejhomcin (v:jlgejhomcin) encoder = 
  Pbrt.Encoder.int32_as_varint v.pfmlckgckob encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fdjjjhbladf encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_iejadeeklgn (v:iejadeeklgn) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jlgejhomcin x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.hhcboafecgp encoder;
  Pbrt.Encoder.bool v.jfacjfdkeio encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bgecmdbfigi encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pmdmaockcjp (v:pmdmaockcjp) encoder = 
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.int32_as_varint x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.amiiemieofe encoder;
  ()

let rec encode_pb_hhddmdcflml (v:hhddmdcflml) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_iejadeeklgn x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.joogimckeph encoder;
  begin match v.haggkfjeckg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pmdmaockcjp x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_mbokaahegfk (v:mbokaahegfk) encoder = 
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.bool x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.diclgegabnh encoder;
  ()

let rec encode_pb_dmdkacfejli (v:dmdkacfejli) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.avatar_id_list encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  begin match v.joipnmmehbm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_cbgphimaond (v:cbgphimaond) encoder = 
  begin match v.pogejanpebj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_oobhdlegikm x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.pmoenkofnla with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cgcbkhnbohm x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.oachfpajdbo with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cllnjecndkl x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.kjicoehehhk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fpilmpnpiel x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.gjbcapfdgka with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_eamfankbgkd x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.kiomcdghhlo with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hhddmdcflml x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.aggmbfmaepl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mbokaahegfk x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.nnibggkcbdj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dmdkacfejli x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_pdoifoocoll (v:pdoifoocoll) encoder = 
  Pbrt.Encoder.int32_as_varint v.mdnnnihndjk encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_glbffhmcbkd (v:glbffhmcbkd) encoder = 
  Pbrt.Encoder.int32_as_varint v.ljfkbkphogc encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.echifpahiec encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.njfgdmkikpb encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ipoaoopkgla encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jcldbblbapn (v:jcldbblbapn) encoder = 
  begin match v.ehkdpkipimp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jkggceplagl x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.lfleifodebe with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_blhhnmhcodp x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.ekglbfofkkd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cndojeanndh x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.nnibggkcbdj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ccohodejlfe x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.finbdgjedjo with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dkmldddplbi x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.fhpollcfknc encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_cbgphimaond x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.hifokbodgbe encoder;
  begin match v.lickecpakcj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bincokigfgm x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.gjbcapfdgka with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ahdfkbajdlh x encoder;
    Pbrt.Encoder.key 958 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.pmoenkofnla with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cgcbkhnbohm x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.pogejanpebj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_oobhdlegikm x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.dgohjiekiai with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pdoifoocoll x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.kjicoehehhk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lhakogbpaen x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.ocjhnoaacgc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_glbffhmcbkd x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.emmkiajfeeh with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jhogcidfaoc x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_jjablbdmgfj (v:jjablbdmgfj) encoder = 
  encode_pb_cieanjnnbbg v.fbgcbokaopf encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.pefldkdahmf encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_dcbalomaani x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.kcmmhoijgbh encoder;
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.bool x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.dgpfcmkpkii encoder;
  ()

let rec encode_pb_dbecpakjhjj (v:dbecpakjhjj) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.bimildojagm encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_rogue_unlock_progress (v:rogue_unlock_progress) encoder = 
  Pbrt.Encoder.int32_as_varint v.unlock_id encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.progress encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.finish encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_oimmmlnoicd (v:oimmmlnoicd) encoder =
  match v with
  | Rogue_talent_status_lock -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_talent_status_unlock -> Pbrt.Encoder.int_as_varint 1 encoder
  | Rogue_talent_status_enable -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_johbdbffgje (v:johbdbffgje) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_rogue_unlock_progress x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.happnefcgoc encoder;
  Pbrt.Encoder.int32_as_varint v.hehehnicpjn encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  encode_pb_oimmmlnoicd v.status encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lljpmigaffg (v:lljpmigaffg) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_johbdbffgje x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.kdfddhcicoa encoder;
  ()

let rec encode_pb_mpjedkpbkbi (v:mpjedkpbkbi) encoder = 
  Pbrt.Encoder.int32_as_varint v.mdnnnihndjk encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  begin match v.fnbokobiimm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lljpmigaffg x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_keljbjcgfja (v:keljbjcgfja) encoder = 
  begin match v.nbbglnjencp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jjablbdmgfj x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.dgohjiekiai with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pdoifoocoll x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.gjbcapfdgka with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dbecpakjhjj x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.pcpganjlmml encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.meoekcpafch encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  begin match v.pncgddoigad with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lafgnipaikl x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.bbanknacajb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mpjedkpbkbi x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ffadoeiaejd (v:ffadoeiaejd) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_cbgphimaond x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.hifokbodgbe encoder;
  Pbrt.Encoder.int32_as_varint v.fhpollcfknc encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mlgkofmempm (v:mlgkofmempm) encoder = 
  begin match v.nbbglnjencp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jjablbdmgfj x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.pncgddoigad with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lafgnipaikl x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.meoekcpafch encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  begin match v.bbanknacajb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mpjedkpbkbi x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.pcpganjlmml encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  begin match v.gjbcapfdgka with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dbecpakjhjj x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_kgcppamgheh (v:kgcppamgheh) encoder = 
  Pbrt.Encoder.int32_as_varint v.kahhjlklcjl encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fpjdkccalmk encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.hdnieedkagk encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.akigkkfhhei encoder;
  Pbrt.Encoder.key 901 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kbofiolbnan encoder;
  Pbrt.Encoder.key 1227 Pbrt.Varint encoder; 
  begin match v.pogejanpebj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_eijagapkfad x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.fhpollcfknc encoder;
  Pbrt.Encoder.key 1436 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bjhddalojnh encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cblhpijhdge encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lpgaoolbbfm encoder;
  Pbrt.Encoder.key 679 Pbrt.Varint encoder; 
  begin match v.finbdgjedjo with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dkmldddplbi x encoder;
    Pbrt.Encoder.key 1090 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.ccfbdacgomf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.cgcgiimcaaa with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lineup_info x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  encode_pb_pkkjdbmkgck v.emkjkjbnelj encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.fealelmejhl encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.ilfkfbfheea encoder;
  Pbrt.Encoder.key 1118 Pbrt.Varint encoder; 
  begin match v.pmoenkofnla with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hpphifdfjjj x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.khbgofeemkc encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fpgaklkbimb encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lepofdcgpgo (v:lepofdcgpgo) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_fffkbmhfeed x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.hdkkdjobple encoder;
  Pbrt.Encoder.int32_as_varint v.moegphddhbf encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nmkclmlbhgc (v:nmkclmlbhgc) encoder = 
  Pbrt.Encoder.int32_as_varint v.khbgofeemkc encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ibcbbnibjai encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ichpoajgklm (v:ichpoajgklm) encoder = 
  Pbrt.Encoder.int32_as_varint v.dajmkddckgh encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ppahlalicma encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cdhoocpacib (v:cdhoocpacib) encoder = 
()

let rec encode_pb_gmakianogec (v:gmakianogec) encoder = 
  begin match v.mmppaiggmon with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_keljbjcgfja x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.jpaolljmggn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jcldbblbapn x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.fecdamigijp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mlgkofmempm x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  begin match v.iegpchobmgo with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kgcppamgheh x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.gngfcddjjbi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ffadoeiaejd x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_fjkdmgaifpn (v:fjkdmgaifpn) encoder = 
  Pbrt.Encoder.int32_as_varint v.mnnlebgmeee encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pbonhgdihdk encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_goablpdaaph (v:goablpdaaph) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  begin match v.jpaolljmggn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jcldbblbapn x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.akfdaaaiich with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hefgcbjdeem x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.gngfcddjjbi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ffadoeiaejd x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.pbonhgdihdk encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_obhcibfiedf (v:obhcibfiedf) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lhhphednkmj (v:lhhphednkmj) encoder = 
  begin match v.akfdaaaiich with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hefgcbjdeem x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.gngfcddjjbi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ffadoeiaejd x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.jpaolljmggn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jcldbblbapn x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ijocfggamla (v:ijocfggamla) encoder = 
()

let rec encode_pb_klajnbalbkc (v:klajnbalbkc) encoder = 
  begin match v.kjicoehehhk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lhakogbpaen x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.fecdamigijp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mlgkofmempm x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.mmppaiggmon with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_keljbjcgfja x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.akfdaaaiich with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hefgcbjdeem x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jmohaodeehg (v:jmohaodeehg) encoder = 
()

let rec encode_pb_hfcohkmgeml (v:hfcohkmgeml) encoder = 
  begin match v.iegpchobmgo with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kgcppamgheh x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.kjicoehehhk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lhakogbpaen x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  begin match v.mmppaiggmon with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_keljbjcgfja x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.fecdamigijp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mlgkofmempm x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.akfdaaaiich with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hefgcbjdeem x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ckheiddckpi (v:ckheiddckpi) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.eabjmdoajdk encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.bajeglndfpe encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.base_avatar_id_list encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.ddkgbmlkdkk encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.okhflbihfhm encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.oocjacfoofn encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pljckbilfkd (v:pljckbilfkd) encoder = 
  begin match v.jpaolljmggn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jcldbblbapn x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.akfdaaaiich with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hefgcbjdeem x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  begin match v.scene with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_info x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.lineup with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lineup_info x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.nimbhcolfld with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lepofdcgpgo x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.gngfcddjjbi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ffadoeiaejd x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_pinamnlfehm (v:pinamnlfehm) encoder = 
()

let rec encode_pb_ancdaaalmie (v:ancdaaalmie) encoder = 
  begin match v.jpaolljmggn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lafgnipaikl x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gjpomjhoidj (v:gjpomjhoidj) encoder = 
  begin match v.jpaolljmggn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gnhfgpglbae x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ekocemphhkp (v:ekocemphhkp) encoder = 
  Pbrt.Encoder.int32_as_varint v.mnnlebgmeee encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pbonhgdihdk encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cfmifanddad (v:cfmifanddad) encoder = 
  begin match v.pdpfcfglgco with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_rogue_sync_context_board_event (v:rogue_sync_context_board_event) encoder = 
  Pbrt.Encoder.int32_as_varint v.modifier_effect_type encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.board_event_id encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kiadjegoijf (v:kiadjegoijf) encoder = 
  begin match v.bpiefglcbmf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cfmifanddad x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.gejnmghhlln with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_rogue_sync_context_board_event x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_dpfekedneha (v:dpfekedneha) encoder = 
  Pbrt.Encoder.int32_as_varint v.mnnlebgmeee encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pbonhgdihdk encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.pnchhcaekef with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kiadjegoijf x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hbigniokkbd (v:hbigniokkbd) encoder = 
()

let rec encode_pb_ehnicpcloei (v:ehnicpcloei) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  begin match v.jpaolljmggn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_nidknnfjgmp x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_jffoofblfgc (v:jffoofblfgc) encoder = 
  Pbrt.Encoder.int32_as_varint v.idllpehphcb encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_efhfafjmnid (v:efhfafjmnid) encoder = 
  Pbrt.Encoder.int32_as_varint v.idllpehphcb encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  begin match v.lddenbcdjcm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_memfcodlioa x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hfemgjanplj (v:hfemgjanplj) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.fealelmejhl encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  begin match v.lickecpakcj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bincokigfgm x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.kahhjlklcjl encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  begin match v.iegpchobmgo with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kgcppamgheh x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.kdkdheomlmo encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ikkaedikpbe (v:ikkaedikpbe) encoder = 
()

let rec encode_pb_mbbeondnfcn (v:mbbeondnfcn) encoder = 
  Pbrt.Encoder.int32_as_varint v.pkkfndimmio encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  begin match v.lohpklihemj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ddjfkekakdb (v:ddjfkekakdb) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mbbeondnfcn x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.lgbagcehkme encoder;
  ()

let rec encode_pb_blpodikpfic (v:blpodikpfic) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  begin match v.jkdkdpoblli with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ddjfkekakdb x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bjgiingohfc (v:bjgiingohfc) encoder = 
  Pbrt.Encoder.int32_as_varint v.paofpgekpfe encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nidoadddcnf (v:nidoadddcnf) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.boeaanepgoc encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  begin match v.amikofgncbo with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mnicidbdjfi x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.jkdkdpoblli with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ddjfkekakdb x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_lkonjahngcd (v:lkonjahngcd) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.base_avatar_id_list encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.prop_entity_id encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pabnmaidjgp (v:pabnmaidjgp) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.base_avatar_id_list encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  begin match v.nnibggkcbdj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ccohodejlfe x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_dieombfmkal (v:dieombfmkal) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.base_avatar_id_list encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.idcigdfjabi encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_epkaofjiehg (v:epkaofjiehg) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  begin match v.boijkbofiid with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_micfnaphmnb x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.base_avatar_id_list encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_pihfnpbmhpi (v:pihfnpbmhpi) encoder = 
  begin match v.boijkbofiid with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_micfnaphmnb x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_molameggbnh (v:molameggbnh) encoder = 
  begin match v.ocjhnoaacgc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_glbffhmcbkd x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hookmgahiji (v:hookmgahiji) encoder = 
  begin match v.emmkiajfeeh with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jhogcidfaoc x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_pcbionfiecl (v:pcbionfiecl) encoder = 
  encode_pb_mmfnjjmglfd v.mgdnainpahe encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  encode_pb_kebkmnaehol v.mknhgcengfk encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pkbldbjahoj (v:pkbldbjahoj) encoder = 
  Pbrt.Encoder.int32_as_varint v.miheclofkjj encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.lahdpgmdloa encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_nkgplpehibh (v:nkgplpehibh) encoder = 
  begin match v.fkomandpfne with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fdkhifelmcd x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_aengjlbaelj (v:aengjlbaelj) encoder = 
  Pbrt.Encoder.int32_as_varint v.bajeglndfpe encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.onlljjegjdc encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ikehgclkdnj (v:ikehgclkdnj) encoder = 
  Pbrt.Encoder.int32_as_varint v.gcgeikpacmj encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_flofloehlha (v:flofloehlha) encoder = 
()

let rec encode_pb_chess_rogue_skip_teaching_level_sc_rsp (v:chess_rogue_skip_teaching_level_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  begin match v.skip_reward_list with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_iegdfbolnpn (v:iegdfbolnpn) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.pcpganjlmml encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_kpfdplfbohc (v:kpfdplfbohc) encoder = 
  Pbrt.Encoder.int32_as_varint v.prop_entity_id encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fagoefkbbcl (v:fagoefkbbcl) encoder = 
  begin match v.gngfcddjjbi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ffadoeiaejd x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.kbneaoehnob with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jcldbblbapn x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.akfdaaaiich with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hefgcbjdeem x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.nimbhcolfld with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lepofdcgpgo x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ebkgloopkbg (v:ebkgloopkbg) encoder = 
  Pbrt.Encoder.int32_as_varint v.aoecepofobe encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_onmlnleopmo (v:onmlnleopmo) encoder = 
  begin match v.emmkiajfeeh with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jhogcidfaoc x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_chhnekmendf (v:chhnekmendf) encoder = 
  Pbrt.Encoder.int32_as_varint v.aoecepofobe encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fdieigbnhnc (v:fdieigbnhnc) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.emmkiajfeeh with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jhogcidfaoc x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_leklclkagec (v:leklclkagec) encoder = 
  Pbrt.Encoder.int32_as_varint v.aoecepofobe encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fnhpplpmjcn encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_djopeekdjlo (v:djopeekdjlo) encoder = 
  begin match v.emmkiajfeeh with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jhogcidfaoc x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.iphdoglidch encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fnhpplpmjcn encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_almpmbojjki (v:almpmbojjki) encoder = 
()

let rec encode_pb_ghkdffbobdn (v:ghkdffbobdn) encoder = 
  begin match v.ehdpkgafikp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.emmkiajfeeh with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jhogcidfaoc x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lgdnbmieblp (v:lgdnbmieblp) encoder = 
()

let rec encode_pb_pgolkgmjajg (v:pgolkgmjajg) encoder = 
  begin match v.jpaolljmggn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jcldbblbapn x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.gngfcddjjbi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ffadoeiaejd x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.iegpchobmgo with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kgcppamgheh x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.akfdaaaiich with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hefgcbjdeem x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  begin match v.lickecpakcj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bincokigfgm x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.kjicoehehhk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lhakogbpaen x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.fecdamigijp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mlgkofmempm x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.mmppaiggmon with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_keljbjcgfja x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_iiaonghgoeo (v:iiaonghgoeo) encoder = 
  begin match v.lickecpakcj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bincokigfgm x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bmpogaffecc (v:bmpogaffecc) encoder = 
  Pbrt.Encoder.int32_as_varint v.jdhhhgeinmj encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mooblpaanag encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  begin match v.jhbiihbamfp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fdkhifelmcd x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_fmmcjlgdhoc (v:fmmcjlgdhoc) encoder = 
  encode_pb_idlkgpjlfhc v.hmkjakicjka encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  encode_pb_alapdfpdlno v.mgdnainpahe encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.miheclofkjj encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_fffkbmhfeed x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.hdkkdjobple encoder;
  ()

let rec encode_pb_ibibbeddebh (v:ibibbeddebh) encoder = 
  Pbrt.Encoder.int32_as_varint v.gjbdmneacbj encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fmjcephcaka encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ndlofgjnkee (v:ndlofgjnkee) encoder = 
()

let rec encode_pb_ehndihmpnan (v:ehndihmpnan) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_nmkclmlbhgc x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.ilfngpkdijj encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ichpoajgklm x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.eimobfbmipk encoder;
  ()

let rec encode_pb_ajpjjijdnbp (v:ajpjjijdnbp) encoder = 
  Pbrt.Encoder.int32_as_varint v.nbgahcjbbao encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cckegompfdi encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pdklekppbkf encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dajmkddckgh encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_npdkkfojanm (v:npdkkfojanm) encoder = 
  Pbrt.Encoder.int32_as_varint v.pdklekppbkf encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nbgahcjbbao encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cckegompfdi encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dajmkddckgh encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_icleefeiefg (v:icleefeiefg) encoder = 
  Pbrt.Encoder.int32_as_varint v.nbgahcjbbao encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pdklekppbkf encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dajmkddckgh encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nkhambafchc (v:nkhambafchc) encoder = 
  Pbrt.Encoder.int32_as_varint v.nbgahcjbbao encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.khbgofeemkc encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dajmkddckgh encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pdklekppbkf encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kagcmpmikjb (v:kagcmpmikjb) encoder = 
  Pbrt.Encoder.int32_as_varint v.palokcoicgp encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mggndkkjmla (v:mggndkkjmla) encoder = 
()

let rec encode_pb_ajkfhpgmhda (v:ajkfhpgmhda) encoder = 
  begin match v.akfdaaaiich with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hefgcbjdeem x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_elcidaalfbo (v:elcidaalfbo) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgfnojflbcl encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ddofecncbfo (v:ddofecncbfo) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.int32_as_varint x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.lpflcicnioa encoder;
  Pbrt.Encoder.int32_as_varint v.hgfnojflbcl encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_eanjmiidoga (v:eanjmiidoga) encoder = 
  Pbrt.Encoder.int32_as_varint v.ibcbbnibjai encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.khbgofeemkc encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_coemajoahgi (v:coemajoahgi) encoder = 
  begin match v.ehkdpkipimp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jkggceplagl x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_dhlldhikfpo (v:dhlldhikfpo) encoder = 
  Pbrt.Encoder.int32_as_varint v.khbgofeemkc encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  encode_pb_emeefgmahof v.status encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_aegpheebldn (v:aegpheebldn) encoder = 
  Pbrt.Encoder.int32_as_varint v.pdklekppbkf encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fjbpionpapm (v:fjbpionpapm) encoder = 
()

let rec encode_pb_ldckdflfhpa (v:ldckdflfhpa) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_aegpheebldn x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.eimobfbmipk encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_dhlldhikfpo x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.ilfngpkdijj encoder;
  ()

let rec encode_pb_ifnibapmpae (v:ifnibapmpae) encoder = 
  Pbrt.Encoder.int32_as_varint v.pdklekppbkf encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cckegompfdi encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nbgahcjbbao encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fgbhelkjiab (v:fgbhelkjiab) encoder = 
  Pbrt.Encoder.int32_as_varint v.cckegompfdi encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pdklekppbkf encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nbgahcjbbao encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dpglhbhphjh (v:dpglhbhphjh) encoder = 
  Pbrt.Encoder.int32_as_varint v.nbgahcjbbao encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pdklekppbkf encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fenoahlblkf (v:fenoahlblkf) encoder = 
  Pbrt.Encoder.int32_as_varint v.pdklekppbkf encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nbgahcjbbao encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dnfopjcoagg (v:dnfopjcoagg) encoder = 
  Pbrt.Encoder.int32_as_varint v.pdklekppbkf encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_faflfkhkkik (v:faflfkhkkik) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_dhlldhikfpo x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.ilfngpkdijj encoder;
  ()

let rec encode_pb_lndljfdkjag (v:lndljfdkjag) encoder = 
  begin match v.nbbglnjencp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dcbalomaani x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ndghlaenmgh (v:ndghlaenmgh) encoder = 
  begin match v.nbbglnjencp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dcbalomaani x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ldpnmbfakgo (v:ldpnmbfakgo) encoder = 
  begin match v.najieibfdnb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jjablbdmgfj x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_depkckidjjj (v:depkckidjjj) encoder = 
  Pbrt.Encoder.int32_as_varint v.jcjnhohkpan encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nokgciolbop (v:nokgciolbop) encoder = 
()

let rec encode_pb_aebddiinfcf (v:aebddiinfcf) encoder = 
  begin match v.bbanknacajb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lljpmigaffg x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mdnnnihndjk encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hlgbnfinpel (v:hlgbnfinpel) encoder = 
  Pbrt.Encoder.int32_as_varint v.hehehnicpjn encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gliplffjdbn (v:gliplffjdbn) encoder = 
  Pbrt.Encoder.int32_as_varint v.mdnnnihndjk encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  begin match v.bbanknacajb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lljpmigaffg x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_pheokcclifc (v:pheokcclifc) encoder =
  match v with
  | Cmd_clock_park_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_clock_park_handle_wait_operation_sc_rsp -> Pbrt.Encoder.int_as_varint 7245 encoder
  | Cmd_clock_park_quit_script_cs_req -> Pbrt.Encoder.int_as_varint 7206 encoder
  | Cmd_clock_park_quit_script_sc_rsp -> Pbrt.Encoder.int_as_varint 7212 encoder
  | Cmd_clock_park_start_script_cs_req -> Pbrt.Encoder.int_as_varint 7223 encoder
  | Cmd_clock_park_get_ongoing_script_info_cs_req -> Pbrt.Encoder.int_as_varint 7234 encoder
  | Cmd_clock_park_get_info_sc_rsp -> Pbrt.Encoder.int_as_varint 7224 encoder
  | Cmd_clock_park_unlock_talent_sc_rsp -> Pbrt.Encoder.int_as_varint 7208 encoder
  | Cmd_clock_park_finish_script_sc_notify -> Pbrt.Encoder.int_as_varint 7225 encoder
  | Cmd_clock_park_battle_end_sc_notify -> Pbrt.Encoder.int_as_varint 7248 encoder
  | Cmd_clock_park_get_info_cs_req -> Pbrt.Encoder.int_as_varint 7207 encoder
  | Cmd_clock_park_use_buff_sc_rsp -> Pbrt.Encoder.int_as_varint 7235 encoder
  | Cmd_clock_park_handle_wait_operation_cs_req -> Pbrt.Encoder.int_as_varint 7236 encoder
  | Cmd_clock_park_start_script_sc_rsp -> Pbrt.Encoder.int_as_varint 7204 encoder
  | Cmd_clock_park_get_ongoing_script_info_sc_rsp -> Pbrt.Encoder.int_as_varint 7220 encoder
  | Cmd_clock_park_unlock_talent_cs_req -> Pbrt.Encoder.int_as_varint 7211 encoder
  | Cmd_clock_park_use_buff_cs_req -> Pbrt.Encoder.int_as_varint 7203 encoder

let rec encode_pb_jfenpgffadc (v:jfenpgffadc) encoder =
  match v with
  | Clock_park_play_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Clock_park_play_normal_death -> Pbrt.Encoder.int_as_varint 1 encoder
  | Clock_park_play_normal_pass -> Pbrt.Encoder.int_as_varint 2 encoder
  | Clock_park_play_finish_script -> Pbrt.Encoder.int_as_varint 5 encoder

let rec encode_pb_jpcjpojlbff (v:jpcjpojlbff) encoder = 
()

let rec encode_pb_lflcalafnbo (v:lflcalafnbo) encoder = 
  Pbrt.Encoder.int32_as_varint v.ogkiomjegel encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.kadnckpogfc encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_fafhmldeiem (v:fafhmldeiem) encoder = 
  Pbrt.Encoder.int32_as_varint v.progress encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gegdnnbdlhe encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gndjgaoeccp encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_lflcalafnbo x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.bekholgcbpf encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.kdfdefeppnh encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_lalaekmflhg (v:lalaekmflhg) encoder = 
  Pbrt.Encoder.int32_as_varint v.hehehnicpjn encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_efoabakdjig (v:efoabakdjig) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hehehnicpjn encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jpaeciapkbc (v:jpaeciapkbc) encoder = 
  Pbrt.Encoder.int32_as_varint v.ogkiomjegel encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.panfmkbdjnp encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_ocencfaabof (v:ocencfaabof) encoder = 
  Pbrt.Encoder.int32_as_varint v.ogkiomjegel encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dlfokjajmmp (v:dlfokjajmmp) encoder = 
()

let rec encode_pb_pkbmbpagojn (v:pkbmbpagojn) encoder = 
()

let rec encode_pb_cokgknggkaa (v:cokgknggkaa) encoder = 
  Pbrt.Encoder.int32_as_varint v.jmfddoomihg encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pkeohpicjkc encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ihchbmafcen encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_kpemelkknjb (v:kpemelkknjb) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ihchbmafcen encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_cokgknggkaa x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.phklikjmgkn encoder;
  ()

let rec encode_pb_lpcmempnhjk (v:lpcmempnhjk) encoder = 
  begin match v.gbbbdblomio with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kpemelkknjb x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_golmjbpcaga (v:golmjbpcaga) encoder = 
  begin match v.gbbbdblomio with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kpemelkknjb x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_jjoghfefnmh (v:jjoghfefnmh) encoder = 
  begin match v.gbbbdblomio with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kpemelkknjb x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_mefjdljoeaf (v:mefjdljoeaf) encoder = 
  begin match v.gbbbdblomio with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kpemelkknjb x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.ohmaodidhnl encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pgbbcblgkkh encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hmiiahhlhco (v:hmiiahhlhco) encoder = 
  begin match v.gbbbdblomio with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kpemelkknjb x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_pjbmmmepaci (v:pjbmmmepaci) encoder = 
  Pbrt.Encoder.bool v.fbmbjgbkokp encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_godnbimdidi (v:godnbimdidi) encoder = 
  Pbrt.Encoder.int32_as_varint v.edpdfcplkpa encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  begin match v.bkfakhgfilo with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lpcmempnhjk x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.pepfpijodhi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_golmjbpcaga x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.bfbjbaghama with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jjoghfefnmh x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.emmenkcdomi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mefjdljoeaf x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.mdimhompfcm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hmiiahhlhco x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.jghficgepaa with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pjbmmmepaci x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.bool v.klkhknehfbg encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_blmojdpmnjf (v:blmojdpmnjf) encoder = 
  Pbrt.Encoder.int32_as_varint v.gaganbkanln encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fciejeohcja encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pbndpcofgla encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lladomjnlko (v:lladomjnlko) encoder = 
  Pbrt.Encoder.int32_as_varint v.pkkfndimmio encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ijpcadfeknn encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.unique_id encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_logafbjdpkc (v:logafbjdpkc) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_lladomjnlko x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.buff_list encoder;
  ()

let rec encode_pb_bpmoddlbhga (v:bpmoddlbhga) encoder = 
  begin match v.jlgjdhoibma with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_godnbimdidi x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.pogejanpebj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_logafbjdpkc x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.bpnhlfahnkm encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.elnofkbfhea encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.cdaemdonfaj encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mhhndeiccmp encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.pmgcchiledo encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.ogkiomjegel encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  begin match v.hnloeinfmcg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_blmojdpmnjf x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.boibnciibil encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cpkngiamnli encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hjnapobgchd (v:hjnapobgchd) encoder = 
()

let rec encode_pb_giapdiikfmk (v:giapdiikfmk) encoder = 
  begin match v.gbbbdblomio with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kpemelkknjb x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_jlghaphnkch (v:jlghaphnkch) encoder = 
  Pbrt.Encoder.int32_as_varint v.mkdneojkaal encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.mmnebfbnoni encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_miepedklkmi (v:miepedklkmi) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.avatar_id_list encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_dnbdlbcjbgg (v:dnbdlbcjbgg) encoder = 
  Pbrt.Encoder.int32_as_varint v.ohmaodidhnl encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.gpanoppmekp encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mpfbakaodom (v:mpfbakaodom) encoder = 
  Pbrt.Encoder.int32_as_varint v.mkdneojkaal encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.mmnebfbnoni encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_aifdfhgdmdk (v:aifdfhgdmdk) encoder = 
()

let rec encode_pb_kcgbmdfclno (v:kcgbmdfclno) encoder = 
  Pbrt.Encoder.int32_as_varint v.ogkiomjegel encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.edpdfcplkpa encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  begin match v.eoecodhkjah with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_giapdiikfmk x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.gdgfpnoeajd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jlghaphnkch x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.emhomnipcon with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_miepedklkmi x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.lgkmmlmpdom with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dnbdlbcjbgg x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.hnhkbenjmmb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mpfbakaodom x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.cdaemdonfaj encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_aaklaachmin (v:aaklaachmin) encoder = 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.bool v.acjjpgnpdii encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ogkiomjegel encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.progress encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mhhndeiccmp encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.jihjhonolea encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cpkngiamnli encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gpgmjingckf (v:gpgmjingckf) encoder = 
  Pbrt.Encoder.int32_as_varint v.edpdfcplkpa encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jecdljepbci encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  encode_pb_jfenpgffadc v.nhbkmmbehka encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fndhpfbmefj encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_edhecinachi (v:edhecinachi) encoder = 
  Pbrt.Encoder.bool v.ejkepfpphed encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ogkiomjegel encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kklhdojledj (v:kklhdojledj) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_odojpidlebk (v:odojpidlebk) encoder = 
  Pbrt.Encoder.int32_as_varint v.edpdfcplkpa encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ebipbjdklnc (v:ebipbjdklnc) encoder = 
  Pbrt.Encoder.int32_as_varint v.ogkiomjegel encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.edpdfcplkpa encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.unique_id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lhpnedjanoe (v:lhpnedjanoe) encoder = 
  Pbrt.Encoder.int32_as_varint v.edpdfcplkpa encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ogkiomjegel encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  begin match v.pogejanpebj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_logafbjdpkc x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.gbbbdblomio with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kpemelkknjb x encoder;
    Pbrt.Encoder.key 1363 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.hnloeinfmcg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_blmojdpmnjf x encoder;
    Pbrt.Encoder.key 602 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_opdhfiokgml (v:opdhfiokgml) encoder = 
  begin match v.mjhepdejndc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_aaklaachmin x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_jnmfgfjpeim (v:jnmfgfjpeim) encoder =
  match v with
  | Message_section_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Message_section_doing -> Pbrt.Encoder.int_as_varint 1 encoder
  | Message_section_finish -> Pbrt.Encoder.int_as_varint 2 encoder
  | Message_section_frozen -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_pbcofiploko (v:pbcofiploko) encoder =
  match v with
  | Message_group_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Message_group_doing -> Pbrt.Encoder.int_as_varint 1 encoder
  | Message_group_finish -> Pbrt.Encoder.int_as_varint 2 encoder
  | Message_group_frozen -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_okfachfdjei (v:okfachfdjei) encoder =
  match v with
  | Battle_record_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Battle_record_challenge -> Pbrt.Encoder.int_as_varint 1 encoder
  | Battle_record_rogue -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_jnmjmkmbnof (v:jnmjmkmbnof) encoder = 
  Pbrt.Encoder.int32_as_varint v.olfhccbiidg encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_golpjolbjjh (v:golpjolbjjh) encoder = 
  Pbrt.Encoder.int32_as_varint v.exp encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hechfpdiado encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.rank encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.promotion encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bmmefhpfkof (v:bmmefhpfkof) encoder = 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.main_affix_id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_relic_affix x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.sub_affix_list encoder;
  Pbrt.Encoder.int32_as_varint v.exp encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hechfpdiado encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_echcjdnihko (v:echcjdnihko) encoder = 
  begin match v.lpkpmmpdaho with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jnmjmkmbnof x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.kfnielbllhi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_golpjolbjjh x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.bkpajknnngf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bmmefhpfkof x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ffjpgmkmopp (v:ffjpgmkmopp) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_echcjdnihko x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ) v.pdpfcfglgco encoder;
  ()

let rec encode_pb_quaternion (v:quaternion) encoder = 
  Pbrt.Encoder.float_as_bits32 v.x encoder;
  Pbrt.Encoder.key 10 Pbrt.Bits32 encoder; 
  Pbrt.Encoder.float_as_bits32 v.w encoder;
  Pbrt.Encoder.key 11 Pbrt.Bits32 encoder; 
  Pbrt.Encoder.float_as_bits32 v.z encoder;
  Pbrt.Encoder.key 13 Pbrt.Bits32 encoder; 
  Pbrt.Encoder.float_as_bits32 v.y encoder;
  Pbrt.Encoder.key 15 Pbrt.Bits32 encoder; 
  ()

let rec encode_pb_flffdckajej (v:flffdckajej) encoder = 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.apkmboagcmi encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dahcfllbegc (v:dahcfllbegc) encoder =
  match v with
  | Content_package_status_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Content_package_status_init -> Pbrt.Encoder.int_as_varint 1 encoder
  | Content_package_status_doing -> Pbrt.Encoder.int_as_varint 2 encoder
  | Content_package_status_finished -> Pbrt.Encoder.int_as_varint 3 encoder
  | Content_package_status_release -> Pbrt.Encoder.int_as_varint 4 encoder

let rec encode_pb_canhmpmfmgl (v:canhmpmfmgl) encoder =
  match v with
  | Cmd_content_package_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_content_package_get_data_sc_rsp -> Pbrt.Encoder.int_as_varint 7524 encoder
  | Cmd_content_package_unlock_cs_req -> Pbrt.Encoder.int_as_varint 7517 encoder
  | Cmd_content_package_get_data_cs_req -> Pbrt.Encoder.int_as_varint 7507 encoder
  | Cmd_content_package_transfer_sc_notify -> Pbrt.Encoder.int_as_varint 7508 encoder
  | Cmd_content_package_unlock_sc_rsp -> Pbrt.Encoder.int_as_varint 7511 encoder
  | Cmd_content_package_sync_data_sc_notify -> Pbrt.Encoder.int_as_varint 7515 encoder

let rec encode_pb_eljjmdjcfip (v:eljjmdjcfip) encoder = 
()

let rec encode_pb_dolnimnfefl (v:dolnimnfefl) encoder = 
  encode_pb_dahcfllbegc v.status encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nfcojigifbb encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nokiblegoej (v:nokiblegoej) encoder = 
  Pbrt.Encoder.int32_as_varint v.emgkdgbhaff encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_dolnimnfefl x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.haeppfknbnm encoder;
  ()

let rec encode_pb_klpphbabnkg (v:klpphbabnkg) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  begin match v.data with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_nokiblegoej x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bdlnbolokbg (v:bdlnbolokbg) encoder = 
  begin match v.data with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_nokiblegoej x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_phndakdnjde (v:phndakdnjde) encoder = 
  Pbrt.Encoder.int32_as_varint v.nfcojigifbb encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pllgamkcmjg (v:pllgamkcmjg) encoder = 
  Pbrt.Encoder.int32_as_varint v.nfcojigifbb encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_foihggokfbb (v:foihggokfbb) encoder = 
()

let rec encode_pb_hfdplehgcbo (v:hfdplehgcbo) encoder =
  match v with
  | Cmd_daily_active_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_take_ap_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 3306 encoder
  | Cmd_take_all_ap_reward_cs_req -> Pbrt.Encoder.int_as_varint 3393 encoder
  | Cmd_daily_active_info_notify -> Pbrt.Encoder.int_as_varint 3356 encoder
  | Cmd_take_all_ap_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 3339 encoder
  | Cmd_take_ap_reward_cs_req -> Pbrt.Encoder.int_as_varint 3368 encoder
  | Cmd_get_daily_active_info_sc_rsp -> Pbrt.Encoder.int_as_varint 3343 encoder
  | Cmd_get_daily_active_info_cs_req -> Pbrt.Encoder.int_as_varint 3311 encoder

let rec encode_pb_icfpaflkela (v:icfpaflkela) encoder = 
  Pbrt.Encoder.bool v.cabgicnohpe encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.world_level encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lbchikhgjeh encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lgdgghnmhfn (v:lgdgghnmhfn) encoder = 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_iicbhcbpphj (v:iicbhcbpphj) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ngdihfikbgh (v:ngdihfikbgh) encoder = 
()

let rec encode_pb_jbjfkaalpjj (v:jbjfkaalpjj) encoder = 
  Pbrt.Encoder.int32_as_varint v.lbchikhgjeh encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_icfpaflkela x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.gkicdejmadl encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.jojnmdhhbgn encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_gcgpdfjjnln (v:gcgpdfjjnln) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_icfpaflkela x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.gkicdejmadl encoder;
  Pbrt.Encoder.int32_as_varint v.lbchikhgjeh encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.jojnmdhhbgn encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_pmnjdlbffep (v:pmnjdlbffep) encoder = 
()

let rec encode_pb_iobaelpjman (v:iobaelpjman) encoder = 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.eoejiijmano encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lgdmdpinecg (v:lgdmdpinecg) encoder =
  match v with
  | Cmd_drink_maker_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_make_mission_drink_sc_rsp -> Pbrt.Encoder.int_as_varint 6987 encoder
  | Cmd_make_mission_drink_cs_req -> Pbrt.Encoder.int_as_varint 6996 encoder
  | Cmd_drink_maker_day_end_sc_notify -> Pbrt.Encoder.int_as_varint 6988 encoder
  | Cmd_make_drink_cs_req -> Pbrt.Encoder.int_as_varint 6992 encoder
  | Cmd_get_drink_maker_data_cs_req -> Pbrt.Encoder.int_as_varint 6999 encoder
  | Cmd_end_drink_maker_sequence_sc_rsp -> Pbrt.Encoder.int_as_varint 6982 encoder
  | Cmd_make_drink_sc_rsp -> Pbrt.Encoder.int_as_varint 7000 encoder
  | Cmd_drink_maker_challenge_cs_req -> Pbrt.Encoder.int_as_varint 6993 encoder
  | Cmd_drink_maker_update_tips_notify -> Pbrt.Encoder.int_as_varint 6981 encoder
  | Cmd_get_drink_maker_data_sc_rsp -> Pbrt.Encoder.int_as_varint 6983 encoder
  | Cmd_end_drink_maker_sequence_cs_req -> Pbrt.Encoder.int_as_varint 6984 encoder
  | Cmd_drink_maker_challenge_sc_rsp -> Pbrt.Encoder.int_as_varint 6990 encoder

let rec encode_pb_drink_maker_guest (v:drink_maker_guest) encoder = 
  Pbrt.Encoder.int32_as_varint v.faith encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.unlocked_favor_tag_list encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.guest_id encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jiohpedmpgh (v:jiohpedmpgh) encoder = 
  Pbrt.Encoder.int32_as_varint v.oppccjnkkol encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fjaipfboaco encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dfolakpjbng encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.imfflnefonh encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.dlboofmcbci encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cbojkhimobg (v:cbojkhimobg) encoder = 
  Pbrt.Encoder.int32_as_varint v.pjnlecpgpjn encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.boeaanepgoc encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bicijfapjfd (v:bicijfapjfd) encoder = 
()

let rec encode_pb_kkgmfclponb (v:kkgmfclponb) encoder = 
  Pbrt.Encoder.int32_as_varint v.fkekjbialhi encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.exp encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  begin match v.lcbphjfming with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jiohpedmpgh x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.opekgfgamcn encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.kjgjcgihamm encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.lpdoanmocje encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_drink_maker_guest x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.jlcgnooajli encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.apnalmnfjed encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pgogcdpljoc (v:pgogcdpljoc) encoder = 
  Pbrt.Encoder.int32_as_varint v.lpdoanmocje encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  begin match v.okdlpmffmpd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jiohpedmpgh x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_make_drink_sc_rsp (v:make_drink_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.next_chat_id encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.is_succ encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bppikoolpik (v:bppikoolpik) encoder = 
()

let rec encode_pb_end_drink_maker_sequence_sc_rsp (v:end_drink_maker_sequence_sc_rsp) encoder = 
  begin match v.guest with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_drink_maker_guest x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.next_sequence_id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_cbojkhimobg x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.request_list encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.exp encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.tips encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_oglifdlpdgh (v:oglifdlpdgh) encoder = 
  Pbrt.Encoder.bool v.chbdfdolhoc encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.okdlpmffmpd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jiohpedmpgh x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.pjnlecpgpjn encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_make_mission_drink_sc_rsp (v:make_mission_drink_sc_rsp) encoder = 
  begin match v.custom_drink with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jiohpedmpgh x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.is_succ encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.is_save encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mfflmglefbc (v:mfflmglefbc) encoder = 
  Pbrt.Encoder.int32_as_varint v.bfcfeikpjin encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cckofijijcb (v:cckofijijcb) encoder = 
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  begin match v.okdlpmffmpd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jiohpedmpgh x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_cedfilghpcm (v:cedfilghpcm) encoder = 
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.boeaanepgoc encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ploaocedhcc (v:ploaocedhcc) encoder = 
  Pbrt.Encoder.int32_as_varint v.apnalmnfjed encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_glhjehobkjb (v:glhjehobkjb) encoder =
  match v with
  | Cmd_evolve_build_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_evolve_build_shop_ability_up_sc_rsp -> Pbrt.Encoder.int_as_varint 7148 encoder
  | Cmd_evolve_build_shop_ability_up_cs_req -> Pbrt.Encoder.int_as_varint 7105 encoder
  | Cmd_evolve_build_coin_notify -> Pbrt.Encoder.int_as_varint 7127 encoder
  | Cmd_evolve_build_leave_sc_rsp -> Pbrt.Encoder.int_as_varint 7120 encoder
  | Cmd_evolve_build_start_stage_cs_req -> Pbrt.Encoder.int_as_varint 7111 encoder
  | Cmd_evolve_build_unlock_info_notify -> Pbrt.Encoder.int_as_varint 7149 encoder
  | Cmd_evolve_build_start_level_sc_rsp -> Pbrt.Encoder.int_as_varint 7117 encoder
  | Cmd_evolve_build_re_random_stage_cs_req -> Pbrt.Encoder.int_as_varint 7145 encoder
  | Cmd_evolve_build_shop_ability_reset_cs_req -> Pbrt.Encoder.int_as_varint 7133 encoder
  | Cmd_evolve_build_leave_cs_req -> Pbrt.Encoder.int_as_varint 7134 encoder
  | Cmd_evolve_build_take_exp_reward_cs_req -> Pbrt.Encoder.int_as_varint 7135 encoder
  | Cmd_evolve_build_query_info_cs_req -> Pbrt.Encoder.int_as_varint 7107 encoder
  | Cmd_evolve_build_re_random_stage_sc_rsp -> Pbrt.Encoder.int_as_varint 7106 encoder
  | Cmd_evolve_build_take_exp_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 7125 encoder
  | Cmd_evolve_build_shop_ability_down_sc_rsp -> Pbrt.Encoder.int_as_varint 7103 encoder
  | Cmd_evolve_build_start_level_cs_req -> Pbrt.Encoder.int_as_varint 7115 encoder
  | Cmd_evolve_build_finish_sc_notify -> Pbrt.Encoder.int_as_varint 7136 encoder
  | Cmd_evolve_build_start_stage_sc_rsp -> Pbrt.Encoder.int_as_varint 7108 encoder
  | Cmd_evolve_build_giveup_cs_req -> Pbrt.Encoder.int_as_varint 7123 encoder
  | Cmd_evolve_build_query_info_sc_rsp -> Pbrt.Encoder.int_as_varint 7124 encoder
  | Cmd_evolve_build_giveup_sc_rsp -> Pbrt.Encoder.int_as_varint 7104 encoder
  | Cmd_evolve_build_shop_ability_down_cs_req -> Pbrt.Encoder.int_as_varint 7121 encoder
  | Cmd_evolve_build_shop_ability_reset_sc_rsp -> Pbrt.Encoder.int_as_varint 7143 encoder

let rec encode_pb_lldgfmckmof (v:lldgfmckmof) encoder =
  match v with
  | Evolve_period_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Evolve_period_first -> Pbrt.Encoder.int_as_varint 1 encoder
  | Evolve_period_second -> Pbrt.Encoder.int_as_varint 2 encoder
  | Evolve_period_third -> Pbrt.Encoder.int_as_varint 3 encoder
  | Evolve_period_extra -> Pbrt.Encoder.int_as_varint 4 encoder

let rec encode_pb_alcgocanpjh (v:alcgocanpjh) encoder =
  match v with
  | Evolve_battle_result_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Evolve_battle_result_win -> Pbrt.Encoder.int_as_varint 1 encoder
  | Evolve_battle_result_all_avatar_dead -> Pbrt.Encoder.int_as_varint 2 encoder
  | Evolve_battle_result_no_dead_line -> Pbrt.Encoder.int_as_varint 3 encoder
  | Evolve_battle_result_quit -> Pbrt.Encoder.int_as_varint 4 encoder

let rec encode_pb_evolve_build_avatar (v:evolve_build_avatar) encoder = 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.float_as_bits64 v.damage encoder;
  Pbrt.Encoder.key 2 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_evolve_build_level_info (v:evolve_build_level_info) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_battle_target x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.battle_target_list encoder;
  Pbrt.Encoder.int32_as_varint v.round_cnt encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.period_id_list encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_evolve_build_avatar x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ) v.avatar_list encoder;
  Pbrt.Encoder.int32_as_varint v.cur_game_exp encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.battle_info with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_evolve_build_battle_info x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_iommdlefkle (v:iommdlefkle) encoder = 
  Pbrt.Encoder.int32_as_varint v.lcmkbhbmdob encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mmkkliclehe encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gakmanenkmh encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hggmojlcdff (v:hggmojlcdff) encoder = 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.emgbcbhhnnh encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ndablbkbief (v:ndablbkbief) encoder = 
  Pbrt.Encoder.int32_as_varint v.lcmkbhbmdob encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.lilifielcec encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.ekfjbcahhnf encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.kcafipgelge encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_ealaijgkglo (v:ealaijgkglo) encoder = 
  Pbrt.Encoder.int32_as_varint v.dbgaojmndmc encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ndablbkbief x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.lcpjnpofamc encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_iommdlefkle x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.nhfefdfeeee encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.lpfgjabpheh encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_hggmojlcdff x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.cnlcfhiilig encoder;
  Pbrt.Encoder.bool v.nmnkfefpnbi encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.looknnadffi encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lhhpfphakkf encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.exp encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.egkfpbokkfb encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_hbgncknlmck (v:hbgncknlmck) encoder = 
()

let rec encode_pb_pmoicnodokk (v:pmoicnodokk) encoder = 
  begin match v.lickecpakcj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_evolve_build_level_info x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  begin match v.gngfcddjjbi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ealaijgkglo x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ilbbkldbfpf (v:ilbbkldbfpf) encoder = 
  begin match v.pmhjcfngckn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jjnjilkjjaf x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_evolve_build_avatar x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.avatar_list encoder;
  Pbrt.Encoder.int32_as_varint v.lcmkbhbmdob encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gageijjpjpi (v:gageijjpjpi) encoder = 
  begin match v.lickecpakcj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_evolve_build_level_info x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  begin match v.cfehgidmfln with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_lmjpbnbkjmj (v:lmjpbnbkjmj) encoder = 
  Pbrt.Encoder.int32_as_varint v.lcmkbhbmdob encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kljhelgcfkg (v:kljhelgcfkg) encoder = 
  begin match v.cfehgidmfln with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.lickecpakcj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_evolve_build_level_info x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hedeldocgmj (v:hedeldocgmj) encoder = 
()

let rec encode_pb_fddgkmbaojb (v:fddgkmbaojb) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.lickecpakcj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_evolve_build_level_info x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_diglamopjaj (v:diglamopjaj) encoder = 
()

let rec encode_pb_nfjggilinle (v:nfjggilinle) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.lickecpakcj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_evolve_build_level_info x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_evolve_build_finish_sc_notify (v:evolve_build_finish_sc_notify) encoder = 
  encode_pb_alcgocanpjh v.battle_result_type encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.coin encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  begin match v.level_info with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_evolve_build_level_info x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.level_id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.score encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.wave encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cur_period_type encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.exp encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.is_lose encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_khkgdappaba (v:khkgdappaba) encoder = 
  Pbrt.Encoder.int32_as_varint v.lcmkbhbmdob encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ajejhajoaed (v:ajejhajoaed) encoder = 
  begin match v.dofaojjibho with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ndablbkbief x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ibmcoganhdo (v:ibmcoganhdo) encoder = 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.emgbcbhhnnh encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ncimlbjjfma (v:ncimlbjjfma) encoder = 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.emgbcbhhnnh encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ljeglglledc (v:ljeglglledc) encoder = 
  Pbrt.Encoder.int32_as_varint v.emgbcbhhnnh encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pijcaekfcmm (v:pijcaekfcmm) encoder = 
  Pbrt.Encoder.int32_as_varint v.emgbcbhhnnh encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ghaikcokfdm (v:ghaikcokfdm) encoder = 
()

let rec encode_pb_okijlmlkdej (v:okijlmlkdej) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.lhhpfphakkf encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pklkahjeako (v:pklkahjeako) encoder = 
()

let rec encode_pb_hemcijemcam (v:hemcijemcam) encoder = 
  Pbrt.Encoder.int32_as_varint v.dbgaojmndmc encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_hggmojlcdff x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.cnlcfhiilig encoder;
  ()

let rec encode_pb_nikfgadelbi (v:nikfgadelbi) encoder = 
  Pbrt.Encoder.int32_as_varint v.dbgaojmndmc encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_glkeieeanpc (v:glkeieeanpc) encoder = 
  Pbrt.Encoder.bool v.looknnadffi encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.nmnkfefpnbi encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gldaljmhppg (v:gldaljmhppg) encoder =
  match v with
  | Cmd_expedition_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_take_expedition_reward_cs_req -> Pbrt.Encoder.int_as_varint 2539 encoder
  | Cmd_take_activity_expedition_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 2582 encoder
  | Cmd_cancel_activity_expedition_cs_req -> Pbrt.Encoder.int_as_varint 2554 encoder
  | Cmd_accept_multiple_expedition_cs_req -> Pbrt.Encoder.int_as_varint 2534 encoder
  | Cmd_take_multiple_expedition_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 2525 encoder
  | Cmd_accept_activity_expedition_cs_req -> Pbrt.Encoder.int_as_varint 2533 encoder
  | Cmd_get_expedition_data_sc_rsp -> Pbrt.Encoder.int_as_varint 2506 encoder
  | Cmd_cancel_expedition_cs_req -> Pbrt.Encoder.int_as_varint 2556 encoder
  | Cmd_accept_expedition_cs_req -> Pbrt.Encoder.int_as_varint 2511 encoder
  | Cmd_accept_expedition_sc_rsp -> Pbrt.Encoder.int_as_varint 2543 encoder
  | Cmd_cancel_activity_expedition_sc_rsp -> Pbrt.Encoder.int_as_varint 2565 encoder
  | Cmd_take_activity_expedition_reward_cs_req -> Pbrt.Encoder.int_as_varint 2548 encoder
  | Cmd_accept_activity_expedition_sc_rsp -> Pbrt.Encoder.int_as_varint 2599 encoder
  | Cmd_get_expedition_data_cs_req -> Pbrt.Encoder.int_as_varint 2568 encoder
  | Cmd_expedition_data_change_sc_notify -> Pbrt.Encoder.int_as_varint 2551 encoder
  | Cmd_accept_multiple_expedition_sc_rsp -> Pbrt.Encoder.int_as_varint 2597 encoder
  | Cmd_take_multiple_expedition_reward_cs_req -> Pbrt.Encoder.int_as_varint 2598 encoder
  | Cmd_cancel_expedition_sc_rsp -> Pbrt.Encoder.int_as_varint 2593 encoder
  | Cmd_take_expedition_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 2529 encoder

let rec encode_pb_bneeceoibjo (v:bneeceoibjo) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pklpfcaegpk encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.avatar_id_list encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int64_as_varint v.hclhbmghdfi encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mmioacmpkma (v:mmioacmpkma) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.avatar_id_list encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int64_as_varint v.hclhbmghdfi encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.accgikfcocn encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.boijjckjecp encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bakgnipojdh encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cfdgkgjflln (v:cfdgkgjflln) encoder = 
()

let rec encode_pb_ceiomlofmmi (v:ceiomlofmmi) encoder = 
  Pbrt.Encoder.int32_as_varint v.acgclmagmjf encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mmioacmpkma x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.lglgoiogekc encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_bneeceoibjo x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.llfpgndaaem encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.gkmmbllhhjc encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.dhdakbhkcoe encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.hfkegmkakah encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_akkgnnilafl (v:akkgnnilafl) encoder = 
  begin match v.ochjpiphefm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bneeceoibjo x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_flccbmnmhfj (v:flccbmnmhfj) encoder = 
  begin match v.ochjpiphefm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bneeceoibjo x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gekhpfaofka (v:gekhpfaofka) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_bneeceoibjo x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.ikmghkjhncf encoder;
  ()

let rec encode_pb_adncblilpnb (v:adncblilpnb) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_bneeceoibjo x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.nppdmmdjfoe encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_beamljlopld (v:beamljlopld) encoder = 
  Pbrt.Encoder.int32_as_varint v.hcecpndimnb encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mmdgggchgkm (v:mmdgggchgkm) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hcecpndimnb encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ljfajdccblm (v:ljfajdccblm) encoder = 
  Pbrt.Encoder.int32_as_varint v.hcecpndimnb encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fheopjpopld (v:fheopjpopld) encoder = 
  Pbrt.Encoder.int32_as_varint v.hcecpndimnb encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.jdlekhchhpl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_lbdcpnmdkio (v:lbdcpnmdkio) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.mhmiemcbccl encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_mhbblcflegm (v:mhbblcflegm) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.hjblaeagbod encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.hgfffpjkodl encoder;
  begin match v.jdlekhchhpl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.clkpoonplnp encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_nomgloommie (v:nomgloommie) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.hfkegmkakah encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.gkmmbllhhjc encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.acgclmagmjf encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_bneeceoibjo x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.llfpgndaaem encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mmioacmpkma x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.lglgoiogekc encoder;
  ()

let rec encode_pb_nmieefhdbfn (v:nmieefhdbfn) encoder = 
  begin match v.dkfmmcbfjca with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mmioacmpkma x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_jjeebfmobdo (v:jjeebfmobdo) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.dkfmmcbfjca with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mmioacmpkma x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bpcmgbkmkci (v:bpcmgbkmkci) encoder = 
  Pbrt.Encoder.int32_as_varint v.iffgchlchlm encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_koepbfdgiap (v:koepbfdgiap) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.iffgchlchlm encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gckdmhcokmj (v:gckdmhcokmj) encoder = 
  Pbrt.Encoder.int32_as_varint v.iffgchlchlm encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hkjajbjddaa (v:hkjajbjddaa) encoder = 
  Pbrt.Encoder.int32_as_varint v.lpgaoolbbfm encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  begin match v.jdlekhchhpl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.iffgchlchlm encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ddncbdinpeg (v:ddncbdinpeg) encoder =
  match v with
  | Cmd_fantastic_story_activity_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_enter_fantastic_story_activity_stage_cs_req -> Pbrt.Encoder.int_as_varint 4943 encoder
  | Cmd_fantastic_story_activity_battle_end_sc_notify -> Pbrt.Encoder.int_as_varint 4993 encoder
  | Cmd_get_fantastic_story_activity_data_cs_req -> Pbrt.Encoder.int_as_varint 4968 encoder
  | Cmd_enter_fantastic_story_activity_stage_sc_rsp -> Pbrt.Encoder.int_as_varint 4956 encoder
  | Cmd_get_fantastic_story_activity_data_sc_rsp -> Pbrt.Encoder.int_as_varint 4906 encoder
  | Cmd_finish_chapter_sc_notify -> Pbrt.Encoder.int_as_varint 4911 encoder

let rec encode_pb_helmlfaekga (v:helmlfaekga) encoder = 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_oimcalddonh (v:oimcalddonh) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_helmlfaekga x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.avatar_list encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.buff_list encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_agmeeiifjma (v:agmeeiifjma) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.jfpjojfjeck encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.gfjeahnelpp encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.jpgoledkkcl encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.nested encode_pb_oimcalddonh x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Bytes) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.cmoflobaiod encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.jafiagcefhl encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.int32_as_varint x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.cmmpeimdkdl encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ahbbinilgld encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_beefgailkel (v:beefgailkel) encoder = 
  Pbrt.Encoder.int32_as_varint v.jpgoledkkcl encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kiepldjlmij (v:kiepldjlmij) encoder = 
  begin match v.fijoabhcpgf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_agmeeiifjma x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kondnnncfcl (v:kondnnncfcl) encoder = 
  begin match v.fijoabhcpgf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_agmeeiifjma x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_pjhhffhpneh (v:pjhhffhpneh) encoder = 
  Pbrt.Encoder.int32_as_varint v.battle_id encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jpgoledkkcl encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.buff_list encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_helmlfaekga x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.avatar_list encoder;
  ()

let rec encode_pb_mofedkjbcai (v:mofedkjbcai) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.jpgoledkkcl encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.battle_id encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nbogodofokj (v:nbogodofokj) encoder = 
  Pbrt.Encoder.int32_as_varint v.jpgoledkkcl encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ojdjhonlcoc encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.battle_id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_adllodgmipe (v:adllodgmipe) encoder =
  match v with
  | Cmd_fever_time_activity_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_get_fever_time_activity_data_cs_req -> Pbrt.Encoder.int_as_varint 7160 encoder
  | Cmd_enter_fever_time_activity_stage_sc_rsp -> Pbrt.Encoder.int_as_varint 7154 encoder
  | Cmd_get_fever_time_activity_data_sc_rsp -> Pbrt.Encoder.int_as_varint 7152 encoder
  | Cmd_enter_fever_time_activity_stage_cs_req -> Pbrt.Encoder.int_as_varint 7151 encoder
  | Cmd_fever_time_activity_battle_end_sc_notify -> Pbrt.Encoder.int_as_varint 7159 encoder

let rec encode_pb_fpofnnofeeh (v:fpofnnofeeh) encoder =
  match v with
  | Fever_time_battle_rank_c -> Pbrt.Encoder.int_as_varint (0) encoder
  | Fever_time_battle_rank_b -> Pbrt.Encoder.int_as_varint 1 encoder
  | Fever_time_battle_rank_a -> Pbrt.Encoder.int_as_varint 2 encoder
  | Fever_time_battle_rank_s -> Pbrt.Encoder.int_as_varint 3 encoder
  | Fever_time_battle_rank_ss -> Pbrt.Encoder.int_as_varint 4 encoder

let rec encode_pb_dbphicgdjga (v:dbphicgdjga) encoder = 
  Pbrt.Encoder.int32_as_varint v.jccolmabopj encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kpiihcgmagg encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  encode_pb_fpofnnofeeh v.gjmokpigjag encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_acfkhehkkja (v:acfkhehkkja) encoder = 
()

let rec encode_pb_idfkboehdbp (v:idfkboehdbp) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_dbphicgdjga x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.bdegbfalcni encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_eookgadnnmb (v:eookgadnnmb) encoder = 
  encode_pb_fpofnnofeeh v.jgaaeecdfal encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.igfhcehhhoi encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mphcmmfkpog encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kmkibfaecip (v:kmkibfaecip) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_lmamieaaodh x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.avatar_list encoder;
  Pbrt.Encoder.int32_as_varint v.fndnmbljapc encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.oioglfmcbpe encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lkfcopmhkci (v:lkfcopmhkci) encoder = 
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_madlanogbob (v:madlanogbob) encoder =
  match v with
  | Cmd_fight_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_fight_heart_beat_sc_rsp -> Pbrt.Encoder.int_as_varint 30093 encoder
  | Cmd_fight_session_stop_sc_notify -> Pbrt.Encoder.int_as_varint 30039 encoder
  | Cmd_fight_enter_cs_req -> Pbrt.Encoder.int_as_varint 30068 encoder
  | Cmd_fight_heart_beat_cs_req -> Pbrt.Encoder.int_as_varint 30056 encoder
  | Cmd_fight_kick_out_sc_notify -> Pbrt.Encoder.int_as_varint 30043 encoder
  | Cmd_fight_enter_sc_rsp -> Pbrt.Encoder.int_as_varint 30006 encoder
  | Cmd_fight_leave_sc_notify -> Pbrt.Encoder.int_as_varint 30011 encoder

let rec encode_pb_blpmdeopfmm (v:blpmdeopfmm) encoder = 
  Pbrt.Encoder.string v.jdjmjenhhhl encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.dbgjcbcfaec encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gmcheopahkc encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.khegeddmhme encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.hdnnjibaggl encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hcgjomkbloh encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pcmajmegbld encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dioeanbidmp (v:dioeanbidmp) encoder = 
  Pbrt.Encoder.bool v.kcicanjloba encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.mciakkehiaa encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.secret_key_seed encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.khegeddmhme encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_aabddaeaapg (v:aabddaeaapg) encoder = 
  Pbrt.Encoder.int32_as_varint v.mkgnjoaekdm encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ikklnkijkho (v:ikklnkijkho) encoder = 
  encode_pb_iafdbbcgofo v.kick_type encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jnpmfcmbadi (v:jnpmfcmbadi) encoder = 
  Pbrt.Encoder.int64_as_varint v.client_time_ms encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ggnmbncnfmg (v:ggnmbncnfmg) encoder = 
  Pbrt.Encoder.int64_as_varint v.server_time_ms encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.client_time_ms encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hhdbjheacpc (v:hhdbjheacpc) encoder = 
  begin match v.nchhhomjbdk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mfoaahgomic x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_jeiklnahdgi (v:jeiklnahdgi) encoder =
  match v with
  | Cmd_fight_activity_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_enter_fight_activity_stage_cs_req -> Pbrt.Encoder.int_as_varint 3643 encoder
  | Cmd_take_fight_activity_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 3639 encoder
  | Cmd_get_fight_activity_data_sc_rsp -> Pbrt.Encoder.int_as_varint 3606 encoder
  | Cmd_get_fight_activity_data_cs_req -> Pbrt.Encoder.int_as_varint 3668 encoder
  | Cmd_fight_activity_data_change_sc_notify -> Pbrt.Encoder.int_as_varint 3611 encoder
  | Cmd_enter_fight_activity_stage_sc_rsp -> Pbrt.Encoder.int_as_varint 3656 encoder
  | Cmd_take_fight_activity_reward_cs_req -> Pbrt.Encoder.int_as_varint 3693 encoder

let rec encode_pb_fight_activity_group (v:fight_activity_group) encoder = 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.endless_max_wave encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.passed_max_difficulty_level encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.taken_difficulty_level_reward_list encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_fdehcoinapm (v:fdehcoinapm) encoder = 
()

let rec encode_pb_hicipecahde (v:hicipecahde) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.int32_as_varint x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.eibgbnaebod encoder;
  Pbrt.Encoder.int32_as_varint v.world_level encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_fight_activity_group x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.hnhhdaccogm encoder;
  Pbrt.Encoder.bool v.biokakgphop encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_oiacopadblk (v:oiacopadblk) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_fight_activity_group x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.hnhhdaccogm encoder;
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.int32_as_varint x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.eibgbnaebod encoder;
  ()

let rec encode_pb_mooihlnlibk (v:mooihlnlibk) encoder = 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_liaagefbjci (v:liaagefbjci) encoder = 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mooihlnlibk x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.neakgefbcdd encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.avatar_list encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.odgoeojelah encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.pdpfcfglgco encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_mfgbeapdfbh (v:mfgbeapdfbh) encoder = 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.odgoeojelah encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pmgpmgiieok (v:pmgpmgiieok) encoder = 
  Pbrt.Encoder.int32_as_varint v.odgoeojelah encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_effddphipan (v:effddphipan) encoder = 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.odgoeojelah encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mhopfddhfom (v:mhopfddhfom) encoder =
  match v with
  | Cmd_fight_fest_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_get_fight_fest_data_sc_rsp -> Pbrt.Encoder.int_as_varint 7274 encoder
  | Cmd_fight_fest_update_coin_notify -> Pbrt.Encoder.int_as_varint 7254 encoder
  | Cmd_fight_fest_score_update_notify -> Pbrt.Encoder.int_as_varint 7261 encoder
  | Cmd_start_fight_fest_sc_rsp -> Pbrt.Encoder.int_as_varint 7267 encoder
  | Cmd_get_fight_fest_data_cs_req -> Pbrt.Encoder.int_as_varint 7257 encoder
  | Cmd_fight_fest_update_challenge_record_notify -> Pbrt.Encoder.int_as_varint 7273 encoder
  | Cmd_start_fight_fest_cs_req -> Pbrt.Encoder.int_as_varint 7265 encoder
  | Cmd_fight_fest_unlock_skill_notify -> Pbrt.Encoder.int_as_varint 7258 encoder

let rec encode_pb_pakokghoagp (v:pakokghoagp) encoder =
  match v with
  | Fight_fest_battle_rank_c -> Pbrt.Encoder.int_as_varint (0) encoder
  | Fight_fest_battle_rank_b -> Pbrt.Encoder.int_as_varint 1 encoder
  | Fight_fest_battle_rank_a -> Pbrt.Encoder.int_as_varint 2 encoder
  | Fight_fest_battle_rank_s -> Pbrt.Encoder.int_as_varint 3 encoder
  | Fight_fest_battle_rank_ss -> Pbrt.Encoder.int_as_varint 4 encoder

let rec encode_pb_ojikhafakmn (v:ojikhafakmn) encoder =
  match v with
  | Fight_fest_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Fight_fest_type_main -> Pbrt.Encoder.int_as_varint 1 encoder
  | Fight_fest_type_score -> Pbrt.Encoder.int_as_varint 2 encoder
  | Fight_fest_type_challenge -> Pbrt.Encoder.int_as_varint 3 encoder
  | Fight_fest_type_teach -> Pbrt.Encoder.int_as_varint 4 encoder

let rec encode_pb_cllckidkjnp (v:cllckidkjnp) encoder = 
  Pbrt.Encoder.int32_as_varint v.moidpjnooeb encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jccolmabopj encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  encode_pb_pakokghoagp v.gjmokpigjag encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_clhaiohidij (v:clhaiohidij) encoder = 
()

let rec encode_pb_cooiplcedfe (v:cooiplcedfe) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dbgaojmndmc encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_cllckidkjnp x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.cjbdijhedpo encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.poiemdhbkoj encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.lpgaoolbbfm encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_afgllplofkl (v:afgllplofkl) encoder = 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pijkiokgmep (v:pijkiokgmep) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.poiemdhbkoj encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_afgllplofkl x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.avatar_list encoder;
  encode_pb_ojikhafakmn v.fgmdoekgpee encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hpndidajned (v:hpndidajned) encoder = 
  encode_pb_ojikhafakmn v.fgmdoekgpee encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_glhifmjnbka (v:glhifmjnbka) encoder = 
  Pbrt.Encoder.int32_as_varint v.lpgaoolbbfm encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.efadknhaeci encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ajjjfojpcka (v:ajjjfojpcka) encoder = 
  Pbrt.Encoder.int32_as_varint v.dginkacilnf encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hobfkjhmmhp (v:hobfkjhmmhp) encoder = 
  Pbrt.Encoder.int32_as_varint v.jccolmabopj encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  encode_pb_pakokghoagp v.jahjmcacppe encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  encode_pb_pakokghoagp v.rank encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mphcmmfkpog encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_egkofpmnofo (v:egkofpmnofo) encoder = 
  Pbrt.Encoder.int32_as_varint v.dbgaojmndmc encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_oicjjpbhahi (v:oicjjpbhahi) encoder =
  match v with
  | Cmd_fight_mathc3_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_fight_match3_force_update_notify -> Pbrt.Encoder.int_as_varint 30154 encoder
  | Cmd_fight_match3_swap_cs_req -> Pbrt.Encoder.int_as_varint 30193 encoder
  | Cmd_fight_match3_start_count_down_sc_notify -> Pbrt.Encoder.int_as_varint 30111 encoder
  | Cmd_fight_match3_chat_sc_notify -> Pbrt.Encoder.int_as_varint 30199 encoder
  | Cmd_fight_match3_data_cs_req -> Pbrt.Encoder.int_as_varint 30168 encoder
  | Cmd_fight_match3_chat_cs_req -> Pbrt.Encoder.int_as_varint 30151 encoder
  | Cmd_fight_match3_turn_start_sc_notify -> Pbrt.Encoder.int_as_varint 30143 encoder
  | Cmd_fight_match3_swap_sc_rsp -> Pbrt.Encoder.int_as_varint 30139 encoder
  | Cmd_fight_match3_data_sc_rsp -> Pbrt.Encoder.int_as_varint 30106 encoder
  | Cmd_fight_match3_opponent_data_sc_notify -> Pbrt.Encoder.int_as_varint 30129 encoder
  | Cmd_fight_match3_turn_end_sc_notify -> Pbrt.Encoder.int_as_varint 30156 encoder
  | Cmd_fight_match3_chat_sc_rsp -> Pbrt.Encoder.int_as_varint 30133 encoder

let rec encode_pb_ignpcapkdfc (v:ignpcapkdfc) encoder =
  match v with
  | Match3_state_idle -> Pbrt.Encoder.int_as_varint (0) encoder
  | Match3_state_start -> Pbrt.Encoder.int_as_varint 1 encoder
  | Match3_state_match -> Pbrt.Encoder.int_as_varint 2 encoder
  | Match3_state_game -> Pbrt.Encoder.int_as_varint 3 encoder
  | Match3_state_halftime -> Pbrt.Encoder.int_as_varint 4 encoder
  | Match3_state_over -> Pbrt.Encoder.int_as_varint 5 encoder

let rec encode_pb_dblancjjchp (v:dblancjjchp) encoder =
  match v with
  | Match3_player_state_alive -> Pbrt.Encoder.int_as_varint (0) encoder
  | Match3_player_state_dying -> Pbrt.Encoder.int_as_varint 1 encoder
  | Match3_player_state_dead -> Pbrt.Encoder.int_as_varint 2 encoder
  | Match3_player_state_leave -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_aipongicanm (v:aipongicanm) encoder =
  match v with
  | Event_begin -> Pbrt.Encoder.int_as_varint (0) encoder
  | Event_break -> Pbrt.Encoder.int_as_varint 1 encoder
  | Event_fall -> Pbrt.Encoder.int_as_varint 2 encoder
  | Event_refresh -> Pbrt.Encoder.int_as_varint 3 encoder
  | Event_bird_skill -> Pbrt.Encoder.int_as_varint 4 encoder
  | Event_env -> Pbrt.Encoder.int_as_varint 5 encoder
  | Event_shuffle -> Pbrt.Encoder.int_as_varint 6 encoder
  | Event_settle_tag -> Pbrt.Encoder.int_as_varint 7 encoder

let rec encode_pb_abmnfjmimho (v:abmnfjmimho) encoder = 
  Pbrt.Encoder.int32_as_varint v.rank encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mdnckipflpb encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.jbfkipajfnk encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  encode_pb_dblancjjchp v.state encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lpgaoolbbfm encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fdomecikbcg encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.oabkcckodej encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hp encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_eapbfaifbaf (v:eapbfaifbaf) encoder = 
  Pbrt.Encoder.int32_as_varint v.lpgaoolbbfm encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.femmkmapjng encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gfcihemdoga encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.jbehccpnhfh encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.jpbipampend encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gnmmfgoppki encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ofeiiikacfl encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ggndffpkohn encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.bnageejckgi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_obminlghola x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  encode_pb_dblancjjchp v.gdkmhgekcen encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.anecodblgcb encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kgmgbcpimab (v:kgmgbcpimab) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_abmnfjmimho x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.hgjiomhlaoh encoder;
  encode_pb_ignpcapkdfc v.ioolphicdme encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.dhkokjlaakb encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.djkomhjmehn encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ajdemhpcfmo encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.lkgpmmckpbg encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  begin match v.akondfcfgek with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_eapbfaifbaf x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_denoijbaaod (v:denoijbaaod) encoder = 
  Pbrt.Encoder.int32_as_varint v.mebdjjncnfg encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bmocnnjijdp encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_oponljijhpa (v:oponljijhpa) encoder = 
  encode_pb_aipongicanm v.pdamihhlilg encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  begin match v.jejijnmpehb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_eapbfaifbaf x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_gmljciklojl (v:gmljciklojl) encoder = 
  Pbrt.Encoder.int32_as_varint v.hckegfdpdml encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ljnlgoohfil (v:ljnlgoohfil) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_egokacjfaen x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.pcmhnpbecpk encoder;
  begin match v.data with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kgmgbcpimab x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_djdbegggakl (v:djdbegggakl) encoder = 
  begin match v.data with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kgmgbcpimab x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_iffhpbefklj (v:iffhpbefklj) encoder = 
  begin match v.djipmgbjenc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kgmgbcpimab x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_egbdfmaknfn (v:egbdfmaknfn) encoder = 
  begin match v.pajkkaimfck with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kgmgbcpimab x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.bhppkjnffbj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kgmgbcpimab x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_gjlkimboidh (v:gjlkimboidh) encoder = 
  Pbrt.Encoder.int32_as_varint v.cieklmgokpd encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  begin match v.bbfkjghijja with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_denoijbaaod x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_oponljijhpa x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.gbglgkegimi encoder;
  begin match v.anajpndkpme with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_denoijbaaod x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bcgbgdmfikl (v:bcgbgdmfikl) encoder = 
  Pbrt.Encoder.bool v.mnnnjdmpfni encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  begin match v.pondkmjicai with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_eapbfaifbaf x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.cieklmgokpd encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nbmkjlidaci (v:nbmkjlidaci) encoder = 
  encode_pb_dblancjjchp v.state encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hp encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ajdemhpcfmo encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.oabkcckodej encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lpgaoolbbfm encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bimejcgcjoo (v:bimejcgcjoo) encoder = 
  Pbrt.Encoder.int32_as_varint v.choodflmenc encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hmhegjjneid (v:hmhegjjneid) encoder = 
  Pbrt.Encoder.int32_as_varint v.choodflmenc encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_baebomlpnfe (v:baebomlpnfe) encoder = 
  Pbrt.Encoder.int32_as_varint v.fbncflddjfe encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.choodflmenc encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_eldpaljlpmj (v:eldpaljlpmj) encoder = 
  begin match v.data with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kgmgbcpimab x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_kpjdlplhkhp (v:kpjdlplhkhp) encoder =
  match v with
  | Cmd_friend_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_apply_friend_cs_req -> Pbrt.Encoder.int_as_varint 2939 encoder
  | Cmd_get_friend_login_info_cs_req -> Pbrt.Encoder.int_as_varint 2969 encoder
  | Cmd_get_player_detail_info_sc_rsp -> Pbrt.Encoder.int_as_varint 2943 encoder
  | Cmd_search_player_cs_req -> Pbrt.Encoder.int_as_varint 2908 encoder
  | Cmd_get_cur_assist_sc_rsp -> Pbrt.Encoder.int_as_varint 2976 encoder
  | Cmd_sync_delete_friend_sc_notify -> Pbrt.Encoder.int_as_varint 2982 encoder
  | Cmd_delete_blacklist_cs_req -> Pbrt.Encoder.int_as_varint 2909 encoder
  | Cmd_get_friend_battle_record_detail_cs_req -> Pbrt.Encoder.int_as_varint 2941 encoder
  | Cmd_get_platform_player_info_cs_req -> Pbrt.Encoder.int_as_varint 2995 encoder
  | Cmd_get_friend_login_info_sc_rsp -> Pbrt.Encoder.int_as_varint 2967 encoder
  | Cmd_new_assist_history_notify -> Pbrt.Encoder.int_as_varint 2966 encoder
  | Cmd_set_friend_remark_name_cs_req -> Pbrt.Encoder.int_as_varint 2917 encoder
  | Cmd_delete_friend_cs_req -> Pbrt.Encoder.int_as_varint 2965 encoder
  | Cmd_get_platform_player_info_sc_rsp -> Pbrt.Encoder.int_as_varint 2989 encoder
  | Cmd_search_player_sc_rsp -> Pbrt.Encoder.int_as_varint 2981 encoder
  | Cmd_set_assist_sc_rsp -> Pbrt.Encoder.int_as_varint 2923 encoder
  | Cmd_get_friend_apply_list_info_sc_rsp -> Pbrt.Encoder.int_as_varint 2993 encoder
  | Cmd_take_assist_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 2912 encoder
  | Cmd_set_assist_cs_req -> Pbrt.Encoder.int_as_varint 2984 encoder
  | Cmd_get_assist_history_cs_req -> Pbrt.Encoder.int_as_varint 2949 encoder
  | Cmd_set_friend_remark_name_sc_rsp -> Pbrt.Encoder.int_as_varint 2992 encoder
  | Cmd_get_assist_history_sc_rsp -> Pbrt.Encoder.int_as_varint 2945 encoder
  | Cmd_delete_friend_sc_rsp -> Pbrt.Encoder.int_as_varint 2948 encoder
  | Cmd_get_assist_list_sc_rsp -> Pbrt.Encoder.int_as_varint 2916 encoder
  | Cmd_cur_assist_changed_notify -> Pbrt.Encoder.int_as_varint 2930 encoder
  | Cmd_take_assist_reward_cs_req -> Pbrt.Encoder.int_as_varint 2946 encoder
  | Cmd_get_friend_list_info_sc_rsp -> Pbrt.Encoder.int_as_varint 2906 encoder
  | Cmd_get_friend_list_info_cs_req -> Pbrt.Encoder.int_as_varint 2968 encoder
  | Cmd_get_friend_assist_list_sc_rsp -> Pbrt.Encoder.int_as_varint 2953 encoder
  | Cmd_get_friend_development_info_cs_req -> Pbrt.Encoder.int_as_varint 2903 encoder
  | Cmd_sync_handle_friend_sc_notify -> Pbrt.Encoder.int_as_varint 2954 encoder
  | Cmd_get_friend_apply_list_info_cs_req -> Pbrt.Encoder.int_as_varint 2956 encoder
  | Cmd_get_friend_assist_list_cs_req -> Pbrt.Encoder.int_as_varint 3000 encoder
  | Cmd_get_friend_challenge_lineup_cs_req -> Pbrt.Encoder.int_as_varint 2958 encoder
  | Cmd_handle_friend_cs_req -> Pbrt.Encoder.int_as_varint 2933 encoder
  | Cmd_apply_friend_sc_rsp -> Pbrt.Encoder.int_as_varint 2929 encoder
  | Cmd_set_friend_mark_cs_req -> Pbrt.Encoder.int_as_varint 2940 encoder
  | Cmd_get_friend_challenge_detail_cs_req -> Pbrt.Encoder.int_as_varint 2959 encoder
  | Cmd_get_assist_list_cs_req -> Pbrt.Encoder.int_as_varint 2932 encoder
  | Cmd_sync_apply_friend_sc_notify -> Pbrt.Encoder.int_as_varint 2951 encoder
  | Cmd_get_friend_development_info_sc_rsp -> Pbrt.Encoder.int_as_varint 2926 encoder
  | Cmd_handle_friend_sc_rsp -> Pbrt.Encoder.int_as_varint 2999 encoder
  | Cmd_get_friend_challenge_detail_sc_rsp -> Pbrt.Encoder.int_as_varint 2907 encoder
  | Cmd_get_player_detail_info_cs_req -> Pbrt.Encoder.int_as_varint 2911 encoder
  | Cmd_sync_add_blacklist_sc_notify -> Pbrt.Encoder.int_as_varint 2998 encoder
  | Cmd_report_player_sc_rsp -> Pbrt.Encoder.int_as_varint 2928 encoder
  | Cmd_add_blacklist_cs_req -> Pbrt.Encoder.int_as_varint 2934 encoder
  | Cmd_get_cur_assist_cs_req -> Pbrt.Encoder.int_as_varint 2978 encoder
  | Cmd_get_friend_challenge_lineup_sc_rsp -> Pbrt.Encoder.int_as_varint 2947 encoder
  | Cmd_get_friend_battle_record_detail_sc_rsp -> Pbrt.Encoder.int_as_varint 2931 encoder
  | Cmd_delete_blacklist_sc_rsp -> Pbrt.Encoder.int_as_varint 2988 encoder
  | Cmd_get_friend_recommend_list_info_sc_rsp -> Pbrt.Encoder.int_as_varint 2924 encoder
  | Cmd_add_blacklist_sc_rsp -> Pbrt.Encoder.int_as_varint 2997 encoder
  | Cmd_set_forbid_other_apply_friend_cs_req -> Pbrt.Encoder.int_as_varint 2915 encoder
  | Cmd_get_friend_recommend_list_info_cs_req -> Pbrt.Encoder.int_as_varint 2925 encoder
  | Cmd_set_forbid_other_apply_friend_sc_rsp -> Pbrt.Encoder.int_as_varint 2975 encoder
  | Cmd_set_friend_mark_sc_rsp -> Pbrt.Encoder.int_as_varint 2985 encoder
  | Cmd_report_player_cs_req -> Pbrt.Encoder.int_as_varint 2990 encoder

let rec encode_pb_pjgopgmffha (v:pjgopgmffha) encoder =
  match v with
  | Friend_online_status_offline -> Pbrt.Encoder.int_as_varint (0) encoder
  | Friend_online_status_online -> Pbrt.Encoder.int_as_varint 1 encoder

let rec encode_pb_mfhcehbfeng (v:mfhcehbfeng) encoder =
  match v with
  | Friend_apply_source_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Friend_apply_source_search -> Pbrt.Encoder.int_as_varint 1 encoder
  | Friend_apply_source_recommend -> Pbrt.Encoder.int_as_varint 2 encoder
  | Friend_apply_source_assist -> Pbrt.Encoder.int_as_varint 3 encoder
  | Friend_apply_source_recommend_assist -> Pbrt.Encoder.int_as_varint 4 encoder
  | Friend_apply_source_psn_friend -> Pbrt.Encoder.int_as_varint 5 encoder
  | Friend_apply_source_assist_reward -> Pbrt.Encoder.int_as_varint 6 encoder

let rec encode_pb_assist_simple_info (v:assist_simple_info) encoder = 
  Pbrt.Encoder.int32_as_varint v.pos encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dressed_skin_id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jdfpbmlnbjp (v:jdfpbmlnbjp) encoder = 
  Pbrt.Encoder.int32_as_varint v.nknakibilel encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nncdpbdokbj encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jfekengnnak encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_oikoefdidbh (v:oikoefdidbh) encoder = 
  Pbrt.Encoder.int32_as_varint v.kdhdjdloanj encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_alehlddneko (v:alehlddneko) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.hdaomndcpma encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.kdhdjdloanj encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bacbclhpcng (v:bacbclhpcng) encoder = 
  begin match v.aiifbempaee with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_alehlddneko x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ljpfhbjfjcm (v:ljpfhbjfjcm) encoder = 
  begin match v.kdnemeljjld with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_oikoefdidbh x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.lbjomgooifa with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bacbclhpcng x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_cbnkemlblen (v:cbnkemlblen) encoder = 
  encode_pb_okfachfdjei v.gapjajnhglk encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  begin match v.mbomdpgaieo with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ljpfhbjfjcm x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.abefnadegid with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jdfpbmlnbjp x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_pgpeepnclnj (v:pgpeepnclnj) encoder = 
  Pbrt.Encoder.int32_as_varint v.alamlcfpglh encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.cpkikinabfj encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_assist_simple_info x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.ppdkoalbecc encoder;
  Pbrt.Encoder.string v.meijfajkmmp encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  encode_pb_platform_type v.dbgjcbcfaec encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.fkgipkjgjob encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bmfhibobmhp encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.pghdpnfjbla encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.nickname encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  encode_pb_pjgopgmffha v.helfdhoenhb encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.dmdcpeiefkg encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_iflncpapggb (v:iflncpapggb) encoder = 
  Pbrt.Encoder.int32_as_varint v.hechfpdiado encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.exp encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.promotion encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.rank encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ngdlamibchp (v:ngdlamibchp) encoder = 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_relic_affix x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.sub_affix_list encoder;
  Pbrt.Encoder.int32_as_varint v.hechfpdiado encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fgmdoekgpee encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.exp encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.main_affix_id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_display_avatar_detail_info (v:display_avatar_detail_info) encoder = 
  Pbrt.Encoder.int32_as_varint v.dressed_skin_id encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.equipment with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_iflncpapggb x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.pos encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.exp encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.rank encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_avatar_skill_tree x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.skilltree_list encoder;
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.promotion encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ngdlamibchp x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.relic_list encoder;
  ()

let rec encode_pb_bnfohmhcfeh (v:bnfohmhcfeh) encoder = 
  Pbrt.Encoder.int32_as_varint v.lejlbfifpef encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.japackcehbb encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.apjnodeccnm encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.eedccmgbfah encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gnnbopjfgma encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hcpeplljigk (v:hcpeplljigk) encoder = 
  Pbrt.Encoder.int32_as_varint v.kcpbmdfjgge encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jhgeicgbakc encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pfcjkljpfid encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.befjfnlleio encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  begin match v.hciobbpgkbe with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bnfohmhcfeh x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.inmbaeohokj encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fdncldhjmjf encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kmkabfpafnk encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kpglihhnkac encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_diifjpbaoob (v:diifjpbaoob) encoder = 
  Pbrt.Encoder.bool v.bkpaceckiia encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.jcnincccakl encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.ggodaiohjif encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.hhcgdeocomi encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.kmjdmefgcck encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mbndajpeago (v:mbndajpeago) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jdfpbmlnbjp x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.cjbdijhedpo encoder;
  begin match v.mbomdpgaieo with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ljpfhbjfjcm x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_pnmjedikenb (v:pnmjedikenb) encoder = 
  Pbrt.Encoder.string v.nickname encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bmfhibobmhp encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  encode_pb_platform_type v.dbgjcbcfaec encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.world_level encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  begin match v.elipgnpmlip with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_diifjpbaoob x encoder;
    Pbrt.Encoder.key 1743 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_display_avatar_detail_info x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.mobolckmgai encoder;
  Pbrt.Encoder.string v.meijfajkmmp encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.iiengikgngm encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  begin match v.hlbeedlemca with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mbndajpeago x encoder;
    Pbrt.Encoder.key 1297 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.string v.cpkikinabfj encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.flenmbplfhl encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.pghdpnfjbla encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_display_avatar_detail_info x encoder;
    Pbrt.Encoder.key 1700 Pbrt.Bytes encoder; 
  ) v.gkhnbcojdge encoder;
  Pbrt.Encoder.int32_as_varint v.kikoianeodj encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.dmdcpeiefkg encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  begin match v.nodnhhligdj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hcpeplljigk x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_kjckllbmhne (v:kjckllbmhne) encoder = 
  begin match v.fojelnklcjp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cbnkemlblen x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  encode_pb_playing_state v.jjgkcejglif encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.fbgeifghjde encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int64_as_varint v.fgilieldboi encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.bhfagdddack encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  begin match v.ndplnghkgbk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pgpeepnclnj x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_pemmdkhpdfp (v:pemmdkhpdfp) encoder = 
  Pbrt.Encoder.int64_as_varint v.bnjacmafmid encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  begin match v.ndplnghkgbk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pgpeepnclnj x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_pihaeebhppc (v:pihaeebhppc) encoder = 
  begin match v.ndplnghkgbk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pgpeepnclnj x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.bool v.lgibggmcnal encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mejkeeapkfn (v:mejkeeapkfn) encoder = 
  begin match v.ndplnghkgbk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pgpeepnclnj x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.hiabljmppan with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_display_avatar_detail_info x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_agnjchncimi (v:agnjchncimi) encoder = 
  Pbrt.Encoder.string v.dmdcpeiefkg encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.fbgeifghjde encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.bmfhibobmhp encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.foiahmcbchb encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  encode_pb_platform_type v.dbgjcbcfaec encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.nickname encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_eijlpffenlk (v:eijlpffenlk) encoder = 
  Pbrt.Encoder.int32_as_varint v.knbgpmdmbkc encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  begin match v.ndplnghkgbk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pgpeepnclnj x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.string v.fbgeifghjde encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.bopehbonhll encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lpgaoolbbfm encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ifckabbiilb encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mdhdfopebgl x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.kbognlnlcle encoder;
  ()

let rec encode_pb_mpdiaaijbhd (v:mpdiaaijbhd) encoder = 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jfekengnnak encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  begin match v.icoibnhjhec with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_khjddbffahk x encoder;
    Pbrt.Encoder.key 795 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.ckbeijmmbjp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_imiaeepmcje x encoder;
    Pbrt.Encoder.key 802 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.idcpcalknen with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cinndmfnbij x encoder;
    Pbrt.Encoder.key 266 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_kgljkmgbdnk (v:kgljkmgbdnk) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ppfogiaojdp encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.bfkeedlccfk encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.hlmejkcafbp encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bnhepammdhc encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.gehhogbhomj encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lnaconbgbdk encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.icplhhghkol encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mhmgdpddade (v:mhmgdpddade) encoder = 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.slot encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jfbmlneajki (v:jfbmlneajki) encoder = 
  Pbrt.Encoder.int32_as_varint v.pkkfndimmio encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mmkjkmlkpmd (v:mmkjkmlkpmd) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mhmgdpddade x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.avatar_list encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.pcpkkbfpbeb encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jfbmlneajki x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.buff_list encoder;
  ()

let rec encode_pb_icajkkidheg (v:icajkkidheg) encoder = 
  Pbrt.Encoder.int32_as_varint v.lbbcjjkledl encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jcjkjhddkcf encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lpgaoolbbfm encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dpklcgjckmo (v:dpklcgjckmo) encoder = 
  Pbrt.Encoder.int32_as_varint v.mahiocfcikf encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.float_as_bits32 v.lifplggephc encoder;
  Pbrt.Encoder.key 6 Pbrt.Bits32 encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_icajkkidheg x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.hkpeeaonmgo encoder;
  ()

let rec encode_pb_dgolpjpbccp (v:dgolpjpbccp) encoder = 
  begin match v.mhamoedchne with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kgljkmgbdnk x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.bool v.mmnebfbnoni encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  begin match v.cfeaibpkhec with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kgljkmgbdnk x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.bool v.lbilkiobkao encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  begin match v.nodnhhligdj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mmkjkmlkpmd x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.ggdaffjnmpa encoder;
  Pbrt.Encoder.key 859 Pbrt.Varint encoder; 
  begin match v.dlmhmmgphkm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.jaedphkccgk encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lkeeonadhee encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  begin match v.dhopbododmb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.bcjeehihkca with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.lpgaoolbbfm encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cniiijodkjf encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  begin match v.eebkfnjjooj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dpklcgjckmo x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.gahcmamleil encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ehghgnheijn encoder;
  Pbrt.Encoder.key 508 Pbrt.Varint encoder; 
  begin match v.ljfcnfpdmea with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ffjpgmkmopp x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_cdahklgefeg (v:cdahklgefeg) encoder = 
  Pbrt.Encoder.int32_as_varint v.lnjapmhfcck encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  begin match v.mjhepdejndc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dgolpjpbccp x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_jebbgppcabc (v:jebbgppcabc) encoder = 
  Pbrt.Encoder.bool v.njnkcjmkgkn encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gmfapmahfme encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hocpnpbbbeh encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fnpekjdgohi (v:fnpekjdgohi) encoder = 
  Pbrt.Encoder.int32_as_varint v.fnecpidkhjb encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.njnkcjmkgkn encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ophdaipbocc encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dkaodoghgcb encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ddpeohmlklk (v:ddpeohmlklk) encoder = 
  Pbrt.Encoder.int32_as_varint v.dgfahpgkgmf encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  begin match v.lfleifodebe with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_blhhnmhcodp x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.fhpollcfknc encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ljlinldbbob encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.aeheogaoenf encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ebeioekofed (v:ebeioekofed) encoder = 
  Pbrt.Encoder.int32_as_varint v.hdjffnlmlig encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dlookjklpff encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dmgmpocpddc (v:dmgmpocpddc) encoder =
  match v with
  | Rogue_tourn_level_status_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_tourn_level_status_processing -> Pbrt.Encoder.int_as_varint 1 encoder
  | Rogue_tourn_level_status_finished -> Pbrt.Encoder.int_as_varint 2 encoder
  | Rogue_tourn_level_status_settled -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_kgcifmhjoag (v:kgcifmhjoag) encoder =
  match v with
  | Rogue_tourn_room_status_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_tourn_room_status_inited -> Pbrt.Encoder.int_as_varint 1 encoder
  | Rogue_tourn_room_status_processing -> Pbrt.Encoder.int_as_varint 2 encoder
  | Rogue_tourn_room_status_finish -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_manmbbkbglg (v:manmbbkbglg) encoder = 
  Pbrt.Encoder.int32_as_varint v.dbphcockkcj encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  encode_pb_kgcifmhjoag v.status encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mfdelanaicp encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lkegecjeppg encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nioandilghd (v:nioandilghd) encoder =
  match v with
  | Rogue_tourn_layer_status_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_tourn_layer_status_processing -> Pbrt.Encoder.int_as_varint 1 encoder
  | Rogue_tourn_layer_status_finish -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_gadcmbokpdi (v:gadcmbokpdi) encoder = 
  Pbrt.Encoder.int32_as_varint v.kemnjbikaod encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dbjdnolegif encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_manmbbkbglg x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.bfbahjaloli encoder;
  Pbrt.Encoder.int32_as_varint v.kdkdheomlmo encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  encode_pb_nioandilghd v.status encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_meahibhbfon (v:meahibhbfon) encoder =
  match v with
  | Rogue_tourn_settle_reason_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_tourn_settle_reason_win -> Pbrt.Encoder.int_as_varint 1 encoder
  | Rogue_tourn_settle_reason_fail -> Pbrt.Encoder.int_as_varint 2 encoder
  | Rogue_tourn_settle_reason_interrupt -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_cabnkomlnjd (v:cabnkomlnjd) encoder = 
  encode_pb_dmgmpocpddc v.status encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_gadcmbokpdi x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.fogjohmngpc encoder;
  Pbrt.Encoder.int32_as_varint v.chmmbcgmfho encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  encode_pb_meahibhbfon v.mgdnainpahe encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gghlaggamjk (v:gghlaggamjk) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ikddpmdgcaj encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_bfdkodpihgf (v:bfdkodpihgf) encoder = 
  Pbrt.Encoder.bool v.iiiohnncjgi encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gaijmpghoii (v:gaijmpghoii) encoder = 
  begin match v.bgghceflbbi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ebeioekofed x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.level with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cabnkomlnjd x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.lineup with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dmdkacfejli x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.dbgaojmndmc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cllnjecndkl x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.hjgoaobfdgi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hhddmdcflml x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.bcgeihcnbig with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gghlaggamjk x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.bdmoacndcoa with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_oobhdlegikm x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.memmgmibhdj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mbokaahegfk x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.jhjpgbkblag with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cgcbkhnbohm x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.nhollbiknag with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bfdkodpihgf x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hpeecfakjeg (v:hpeecfakjeg) encoder = 
  begin match v.bemhlbcocdg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ddpeohmlklk x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.gblplbejghd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gaijmpghoii x encoder;
    Pbrt.Encoder.key 998 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_fpfmjggcnld (v:fpfmjggcnld) encoder = 
  Pbrt.Encoder.bool v.njnkcjmkgkn encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kfpjcehiika encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mekbmaknkhf encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.afokcapjpep encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bninelnejfi (v:bninelnejfi) encoder = 
  begin match v.odcloijfnip with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jebbgppcabc x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.ofjdnoboneb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fnpekjdgohi x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.nnibggkcbdj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lineup_info x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.niiingfcpol with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hpeecfakjeg x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.dceibjclkbb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fpfmjggcnld x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_emmlcghkhkc (v:emmlcghkhkc) encoder = 
  Pbrt.Encoder.int32_as_varint v.agiiieglegk encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  begin match v.pdbobmjedbc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bninelnejfi x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_adlmgdkboeo (v:adlmgdkboeo) encoder = 
  Pbrt.Encoder.int32_as_varint v.mgglchabnnh encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ocboiocjeko encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ggdaffjnmpa encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_aloefgohkle (v:aloefgohkle) encoder = 
  Pbrt.Encoder.int32_as_varint v.ggdaffjnmpa encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nnckjbegijk encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lndeejkkcjk encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dlajcfloffl encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ngpbemiajal (v:ngpbemiajal) encoder = 
  begin match v.nbjmifjbkmg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cdahklgefeg x encoder;
    Pbrt.Encoder.key 1301 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.fbagcbhggge with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_emmlcghkhkc x encoder;
    Pbrt.Encoder.key 1602 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.kolfbcfamem with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_adlmgdkboeo x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.cbkjlnjjbmg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_aloefgohkle x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_mllfmkokjfk (v:mllfmkokjfk) encoder = 
  Pbrt.Encoder.int32_as_varint v.ggdaffjnmpa encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nioigppbpeh (v:nioigppbpeh) encoder = 
  Pbrt.Encoder.int32_as_varint v.ggdaffjnmpa encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dmacejfjohm encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nikomgcpamg (v:nikomgcpamg) encoder = 
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nddaafenheh (v:nddaafenheh) encoder = 
  encode_pb_development_type v.bmojlopgked encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.time encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  begin match v.ceofecgihpd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mllfmkokjfk x encoder;
    Pbrt.Encoder.key 1319 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.jkkhadmdbpn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_nikomgcpamg x encoder;
    Pbrt.Encoder.key 120 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 710 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dkgkfeeajpd encoder;
  Pbrt.Encoder.key 149 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cpkoeodfpmg encoder;
  Pbrt.Encoder.key 1496 Pbrt.Varint encoder; 
  begin match v.lfhojlfbgdi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_nioigppbpeh x encoder;
    Pbrt.Encoder.key 1267 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_nnpcbhahcmk (v:nnpcbhahcmk) encoder = 
()

let rec encode_pb_fkpeelodgle (v:fkpeelodgle) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_kjckllbmhne x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.lengogafimb encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pgpeepnclnj x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.idfijahanmn encoder;
  ()

let rec encode_pb_dnpoaimlole (v:dnpoaimlole) encoder = 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dghjmjaopjm (v:dghjmjaopjm) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  begin match v.bnjanfgfnjh with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pnmjedikenb x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_doifbfcpogl (v:doifbfcpogl) encoder = 
()

let rec encode_pb_ndmajbinolo (v:ndmajbinolo) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.deiipomgdjf encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pemmdkhpdfp x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.aodlekmnldh encoder;
  ()

let rec encode_pb_pdongajedee (v:pdongajedee) encoder = 
  encode_pb_mfhcehbfeng v.gnfpnbgacdf encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jhiedmcehho (v:jhiedmcehho) encoder = 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_clkkkmodmcj (v:clkkkmodmcj) encoder = 
  begin match v.kfapmddjdec with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pemmdkhpdfp x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_gohfgmmdkpn (v:gohfgmmdkpn) encoder = 
  Pbrt.Encoder.bool v.pieecaekfgf encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mbnhlhdekjd (v:mbnhlhdekjd) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.pieecaekfgf encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  begin match v.imlfgeehobj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kjckllbmhne x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gpgbheghmdg (v:gpgbheghmdg) encoder = 
  Pbrt.Encoder.bool v.pieecaekfgf encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  begin match v.imlfgeehobj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kjckllbmhne x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_idjkfjeodbh (v:idjkfjeodbh) encoder = 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.egidfmlgcjo encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cahgejgdeoi (v:cahgejgdeoi) encoder = 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_faecclcogab (v:faecclcogab) encoder = 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hpipfdbgeii (v:hpipfdbgeii) encoder = 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ogkjjkbjnfk (v:ogkjjkbjnfk) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.black_info with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pgpeepnclnj x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_golhljkpnga (v:golhljkpnga) encoder = 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dndjfjinahl (v:dndjfjinahl) encoder = 
  Pbrt.Encoder.bool v.nbaheekiadi encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nlcmgpajimj (v:nlcmgpajimj) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pihaeebhppc x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.giagnhmaocd encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_injlohpekga (v:injlohpekga) encoder = 
  Pbrt.Encoder.string v.fbgeifghjde encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.mgdnainpahe encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kgceiojjkba (v:kgceiojjkba) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.fbgeifghjde encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_clcipohohgg (v:clcipohohgg) encoder = 
  Pbrt.Encoder.int32_as_varint v.hpcebekndge encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.hfnnbmdgpld encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kabkahihoid (v:kabkahihoid) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_piejofpnlmi (v:piejofpnlmi) encoder = 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_iekkoalegef (v:iekkoalegef) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pdfhmlndkna (v:pdfhmlndkna) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.pknbckelhkm encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.nbaheekiadi encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_acfamcmejbi (v:acfamcmejbi) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.aimapkogmab encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pgpeepnclnj x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.bemfclhconk encoder;
  ()

let rec encode_pb_ijbekhlpglj (v:ijbekhlpglj) encoder = 
  Pbrt.Encoder.bool v.nbaheekiadi encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.kboahkmenfc encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cdmnbfnpoci (v:cdmnbfnpoci) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mejkeeapkfn x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.dhmebnhcebe encoder;
  ()

let rec encode_pb_dghpjblnheh (v:dghpjblnheh) encoder = 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kkjeclpipmd (v:kkjeclpipmd) encoder = 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ijcmhjpfbfk (v:ijcmhjpfbfk) encoder = 
()

let rec encode_pb_eiogijifkli (v:eiogijifkli) encoder = 
  begin match v.lbmpcolonhb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mejkeeapkfn x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dgnhfokcmpc (v:dgnhfokcmpc) encoder = 
()

let rec encode_pb_lbdhkabpkhh (v:lbdhkabpkhh) encoder = 
  Pbrt.Encoder.int32_as_varint v.egngmiieand encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.iohhmeeaaoe encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.iolgafdolmj encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.bhdidahbfpc encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pkafbnnfkbj (v:pkafbnnfkbj) encoder = 
  Pbrt.Encoder.int32_as_varint v.egngmiieand encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nihmjkiclpe (v:nihmjkiclpe) encoder = 
()

let rec encode_pb_eicjcjkdcef (v:eicjcjkdcef) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_agnjchncimi x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.clhkfmmlaji encoder;
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_inehlccdmab (v:inehlccdmab) encoder = 
  begin match v.lbmpcolonhb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mejkeeapkfn x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_aifafmlhjbc (v:aifafmlhjbc) encoder = 
  encode_pb_platform_type v.dbgjcbcfaec encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.string x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ) v.ffhkfkdapln encoder;
  ()

let rec encode_pb_ognjcfngimi (v:ognjcfngimi) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pgpeepnclnj x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.giagnhmaocd encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mpmgmiipgml (v:mpmgmiipgml) encoder = 
()

let rec encode_pb_fhpfifghcjl (v:fhpfifghcjl) encoder = 
  Pbrt.Encoder.bool v.llcmgmlcjca encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.degafpjnikk encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.fljpnipdjmh encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.mnacbpjeche encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mmfihgpblcc (v:mmfihgpblcc) encoder = 
  Pbrt.Encoder.bool v.dklbecnllgj encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ghjmjggjcle (v:ghjmjggjcle) encoder = 
  Pbrt.Encoder.bool v.dklbecnllgj encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pjmdialakjb (v:pjmdialakjb) encoder = 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.ijlbnijghcg encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mgdnainpahe encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ghdjcmejofl (v:ghdjcmejofl) encoder = 
  Pbrt.Encoder.bool v.ijlbnijghcg encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_eiefajnopee (v:eiefajnopee) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.kaippbfklgo encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.mcochdjinng encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.bmgnoinbocb encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  encode_pb_assist_avatar_type v.hojailmlleb encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.nbaheekiadi encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mpfhhdoanpo (v:mpfhhdoanpo) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mejkeeapkfn x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.dhmebnhcebe encoder;
  Pbrt.Encoder.int32_as_varint v.bmgnoinbocb encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mldhbildkna (v:mldhbildkna) encoder = 
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kebdplkjjeb (v:kebdplkjjeb) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.cnmpneilgga encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_eijlpffenlk x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.bdjmhpbiaag encoder;
  ()

let rec encode_pb_eadfmjgdmhi (v:eadfmjgdmhi) encoder = 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mnaniimlgjh (v:mnaniimlgjh) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_display_avatar_detail_info x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.iclpomplljg encoder;
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bldpehfcick (v:bldpehfcick) encoder = 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kdgefjmdoii (v:kdgefjmdoii) encoder = 
  begin match v.bjehkpdclfe with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ngpbemiajal x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mpdiaaijbhd x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.fdijjcafkcc encoder;
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cclmggmiaan (v:cclmggmiaan) encoder = 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_opdmheamomd (v:opdmheamomd) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_nddaafenheh x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.ggcjfgepjjd encoder;
  ()

let rec encode_pb_ajpcolgfmpe (v:ajpcolgfmpe) encoder =
  match v with
  | Cmd_gacha_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_exchange_gacha_ceiling_cs_req -> Pbrt.Encoder.int_as_varint 1939 encoder
  | Cmd_get_gacha_info_cs_req -> Pbrt.Encoder.int_as_varint 1968 encoder
  | Cmd_get_gacha_ceiling_sc_rsp -> Pbrt.Encoder.int_as_varint 1993 encoder
  | Cmd_do_gacha_sc_rsp -> Pbrt.Encoder.int_as_varint 1943 encoder
  | Cmd_do_gacha_cs_req -> Pbrt.Encoder.int_as_varint 1911 encoder
  | Cmd_get_gacha_info_sc_rsp -> Pbrt.Encoder.int_as_varint 1906 encoder
  | Cmd_exchange_gacha_ceiling_sc_rsp -> Pbrt.Encoder.int_as_varint 1929 encoder
  | Cmd_get_gacha_ceiling_cs_req -> Pbrt.Encoder.int_as_varint 1956 encoder

let rec encode_pb_ckjpkncomob (v:ckjpkncomob) encoder = 
()

let rec encode_pb_gacha_ceiling_avatar (v:gacha_ceiling_avatar) encoder = 
  Pbrt.Encoder.int32_as_varint v.repeated_cnt encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_glmolhnjdpa (v:glmolhnjdpa) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_gacha_ceiling_avatar x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.avatar_list encoder;
  Pbrt.Encoder.bool v.ikfepnpdgdh encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cehdiclpdmc encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kdfnajlkgnm (v:kdfnajlkgnm) encoder = 
  Pbrt.Encoder.int32_as_varint v.iponcaehhgl encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  begin match v.gmhfmbknian with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_glmolhnjdpa x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ocgpmookjid encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.dopfcokpjei encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.begin_time encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.pjlidoghbhb encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.ecapcfaefbo encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.diafdnfnbfj encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int64_as_varint v.end_time encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.feigoefidio encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_fkliongbomo (v:fkliongbomo) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ohmaodidhnl encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.chmfglghlcf encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_kdfnajlkgnm x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.mdnaaembmpd encoder;
  Pbrt.Encoder.int32_as_varint v.lmbmncbfgpj encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgaoeennejc encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dfglnfedeph (v:dfglnfedeph) encoder = 
  Pbrt.Encoder.int32_as_varint v.oecedagjedd encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lnillbflgnj encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ohmaodidhnl encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dopfcokpjei encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fggllplkaim (v:fggllplkaim) encoder = 
  Pbrt.Encoder.bool v.kollpgccdil encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  begin match v.oaobpakmgcg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.cgninlppfle with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.fepjfbdhojc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_nglmecbodjd (v:nglmecbodjd) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ialfoddhdkp encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ecapcfaefbo encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.iponcaehhgl encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_fggllplkaim x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.gndidejjmhc encoder;
  Pbrt.Encoder.int32_as_varint v.oecedagjedd encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cehdiclpdmc encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dopfcokpjei encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgaoeennejc encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_eemcgfnfocn (v:eemcgfnfocn) encoder = 
  Pbrt.Encoder.int32_as_varint v.cfgmbhjglbd encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bjndgooecif (v:bjndgooecif) encoder = 
  begin match v.gmhfmbknian with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_glmolhnjdpa x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cfgmbhjglbd encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ecgcblcgmkb (v:ecgcblcgmkb) encoder = 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cfgmbhjglbd encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nnginbbbpfj (v:nnginbbbpfj) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.gmhfmbknian with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_glmolhnjdpa x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.cfgmbhjglbd encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  begin match v.oaobpakmgcg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_njiblanlkod (v:njiblanlkod) encoder =
  match v with
  | Cmd_heartdial_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_heart_dial_script_change_sc_notify -> Pbrt.Encoder.int_as_varint 6351 encoder
  | Cmd_change_script_emotion_sc_rsp -> Pbrt.Encoder.int_as_varint 6343 encoder
  | Cmd_heart_dial_trace_script_sc_rsp -> Pbrt.Encoder.int_as_varint 6399 encoder
  | Cmd_get_heart_dial_info_cs_req -> Pbrt.Encoder.int_as_varint 6368 encoder
  | Cmd_get_heart_dial_info_sc_rsp -> Pbrt.Encoder.int_as_varint 6306 encoder
  | Cmd_heart_dial_trace_script_cs_req -> Pbrt.Encoder.int_as_varint 6333 encoder
  | Cmd_change_script_emotion_cs_req -> Pbrt.Encoder.int_as_varint 6311 encoder
  | Cmd_finish_emotion_dialogue_performance_cs_req -> Pbrt.Encoder.int_as_varint 6339 encoder
  | Cmd_submit_emotion_item_cs_req -> Pbrt.Encoder.int_as_varint 6356 encoder
  | Cmd_submit_emotion_item_sc_rsp -> Pbrt.Encoder.int_as_varint 6393 encoder
  | Cmd_finish_emotion_dialogue_performance_sc_rsp -> Pbrt.Encoder.int_as_varint 6329 encoder

let rec encode_pb_hijpilajhcm (v:hijpilajhcm) encoder =
  match v with
  | Heart_dial_emotion_type_peace -> Pbrt.Encoder.int_as_varint (0) encoder
  | Heart_dial_emotion_type_anger -> Pbrt.Encoder.int_as_varint 1 encoder
  | Heart_dial_emotion_type_happy -> Pbrt.Encoder.int_as_varint 2 encoder
  | Heart_dial_emotion_type_sad -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_mcejjmodajg (v:mcejjmodajg) encoder =
  match v with
  | Heart_dial_step_type_missing -> Pbrt.Encoder.int_as_varint (0) encoder
  | Heart_dial_step_type_full -> Pbrt.Encoder.int_as_varint 1 encoder
  | Heart_dial_step_type_lock -> Pbrt.Encoder.int_as_varint 2 encoder
  | Heart_dial_step_type_unlock -> Pbrt.Encoder.int_as_varint 3 encoder
  | Heart_dial_step_type_normal -> Pbrt.Encoder.int_as_varint 4 encoder
  | Heart_dial_step_type_control -> Pbrt.Encoder.int_as_varint 5 encoder

let rec encode_pb_acmdlmdecmj (v:acmdlmdecmj) encoder =
  match v with
  | Heart_dial_unlock_status_lock -> Pbrt.Encoder.int_as_varint (0) encoder
  | Heart_dial_unlock_status_unlock_single -> Pbrt.Encoder.int_as_varint 1 encoder
  | Heart_dial_unlock_status_unlock_all -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_okndmaemman (v:okndmaemman) encoder = 
  Pbrt.Encoder.bool v.nhjfhkflonm encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.joeicfcdnem encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ghomiilpjlm (v:ghomiilpjlm) encoder = 
  Pbrt.Encoder.bool v.cmmkodhdjga encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  encode_pb_hijpilajhcm v.pioeiidnhaa encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  encode_pb_mcejjmodajg v.step encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ogkiomjegel encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.fppllcnicea encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_flikgghikfg (v:flikgghikfg) encoder = 
  Pbrt.Encoder.int32_as_varint v.ogkiomjegel encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.iakfjjgoehb encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_aofkaaiifbh (v:aofkaaiifbh) encoder = 
()

let rec encode_pb_cbhapnpjnkb (v:cbhapnpjnkb) encoder = 
  encode_pb_acmdlmdecmj v.pbodiibccdh encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ghomiilpjlm x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.cpphjpajnol encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_flikgghikfg x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ) v.dmhfgcnnlnf encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_okndmaemman x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.cakbfkmlddj encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bljekckdglc (v:bljekckdglc) encoder = 
  Pbrt.Encoder.int32_as_varint v.ipkjompgpok encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ogkiomjegel encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  encode_pb_hijpilajhcm v.cphllgeadmf encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lololekfldd (v:lololekfldd) encoder = 
  encode_pb_hijpilajhcm v.bfajfamllah encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ogkiomjegel encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pnomhdddcio (v:pnomhdddcio) encoder = 
  Pbrt.Encoder.int32_as_varint v.ipkjompgpok encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ogkiomjegel encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  begin match v.pdpfcfglgco with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_jnhkkljllil (v:jnhkkljllil) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ogkiomjegel encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_badomabhanf (v:badomabhanf) encoder = 
  Pbrt.Encoder.int32_as_varint v.ogkiomjegel encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.joeicfcdnem encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ipkjompgpok encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lamebfpllpg (v:lamebfpllpg) encoder = 
  begin match v.dekonpmjeen with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.ogkiomjegel encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.joeicfcdnem encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jdjhfoaokhp (v:jdjhfoaokhp) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_flikgghikfg x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.dmhfgcnnlnf encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_okndmaemman x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.pfocfplopkf encoder;
  encode_pb_acmdlmdecmj v.pbodiibccdh encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ghomiilpjlm x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.opedeflpfck encoder;
  ()

let rec encode_pb_ccghcafjcpm (v:ccghcafjcpm) encoder = 
  begin match v.pgccbpjlkmk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_flikgghikfg x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hcachphghki (v:hcachphghki) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  begin match v.pgccbpjlkmk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_flikgghikfg x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_gkjkmkfnhfp (v:gkjkmkfnhfp) encoder =
  match v with
  | Cmd_heliobus_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_heliobus_enter_battle_cs_req -> Pbrt.Encoder.int_as_varint 5824 encoder
  | Cmd_heliobus_start_raid_cs_req -> Pbrt.Encoder.int_as_varint 5892 encoder
  | Cmd_heliobus_enter_battle_sc_rsp -> Pbrt.Encoder.int_as_varint 5817 encoder
  | Cmd_heliobus_sns_comment_sc_rsp -> Pbrt.Encoder.int_as_varint 5833 encoder
  | Cmd_heliobus_info_changed_sc_notify -> Pbrt.Encoder.int_as_varint 5854 encoder
  | Cmd_heliobus_sns_like_sc_rsp -> Pbrt.Encoder.int_as_varint 5829 encoder
  | Cmd_heliobus_unlock_skill_sc_notify -> Pbrt.Encoder.int_as_varint 5882 encoder
  | Cmd_heliobus_sns_post_cs_req -> Pbrt.Encoder.int_as_varint 5856 encoder
  | Cmd_heliobus_activity_data_sc_rsp -> Pbrt.Encoder.int_as_varint 5806 encoder
  | Cmd_heliobus_upgrade_level_cs_req -> Pbrt.Encoder.int_as_varint 5865 encoder
  | Cmd_heliobus_sns_like_cs_req -> Pbrt.Encoder.int_as_varint 5839 encoder
  | Cmd_heliobus_activity_data_cs_req -> Pbrt.Encoder.int_as_varint 5868 encoder
  | Cmd_heliobus_sns_read_cs_req -> Pbrt.Encoder.int_as_varint 5811 encoder
  | Cmd_heliobus_sns_update_sc_notify -> Pbrt.Encoder.int_as_varint 5899 encoder
  | Cmd_heliobus_sns_read_sc_rsp -> Pbrt.Encoder.int_as_varint 5843 encoder
  | Cmd_heliobus_sns_post_sc_rsp -> Pbrt.Encoder.int_as_varint 5893 encoder
  | Cmd_heliobus_upgrade_level_sc_rsp -> Pbrt.Encoder.int_as_varint 5848 encoder
  | Cmd_heliobus_sns_comment_cs_req -> Pbrt.Encoder.int_as_varint 5851 encoder
  | Cmd_heliobus_select_skill_cs_req -> Pbrt.Encoder.int_as_varint 5834 encoder
  | Cmd_heliobus_lineup_update_sc_notify -> Pbrt.Encoder.int_as_varint 5809 encoder
  | Cmd_heliobus_challenge_update_sc_notify -> Pbrt.Encoder.int_as_varint 5828 encoder
  | Cmd_heliobus_start_raid_sc_rsp -> Pbrt.Encoder.int_as_varint 5890 encoder
  | Cmd_heliobus_select_skill_sc_rsp -> Pbrt.Encoder.int_as_varint 5897 encoder

let rec encode_pb_ebligdnnpjk (v:ebligdnnpjk) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.hccebdhpdke encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.nppeghdfaen encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_aflbhhdjdef (v:aflbhhdjdef) encoder = 
  Pbrt.Encoder.int32_as_varint v.pamafmppefi encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dcpoeimegli encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.lpgaoadlgnd encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_heliobus_challenge_lineup (v:heliobus_challenge_lineup) encoder = 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.avatar_id_list encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.skill_id encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kgfpidkdljb (v:kgfpidkdljb) encoder = 
()

let rec encode_pb_mjpmcapibfn (v:mjpmcapibfn) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mjpmcapibfn x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.dgbjoolhhng encoder;
  Pbrt.Encoder.int32_as_varint v.hcpjodhafbn encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.phblfpkjdka encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hncbeeioldh (v:hncbeeioldh) encoder = 
  Pbrt.Encoder.int32_as_varint v.emhkjbeckic encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.djjmhikpmjl encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.idegcfnalkn encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fgfcafjgjln encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mjpmcapibfn x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.fmnilimjdda encoder;
  Pbrt.Encoder.int32_as_varint v.lbobjldondf encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nneoodacfgl encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.bdoimbnnlnb encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hgnjkalcidb (v:hgnjkalcidb) encoder = 
  begin match v.hhapkchnbea with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ebligdnnpjk x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.djemibiamha encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ginenhkpkmk encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_aflbhhdjdef x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.cjbdijhedpo encoder;
  Pbrt.Encoder.int32_as_varint v.jmbmfaglcke encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_heliobus_challenge_lineup x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.giclbghfpjg encoder;
  Pbrt.Encoder.int32_as_varint v.hbnoljogigk encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_hncbeeioldh x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.nedgdblobgk encoder;
  ()

let rec encode_pb_jhdmapjnpoo (v:jhdmapjnpoo) encoder = 
  Pbrt.Encoder.int32_as_varint v.fgfcafjgjln encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ihhcmclehgo (v:ihhcmclehgo) encoder = 
  Pbrt.Encoder.int32_as_varint v.fgfcafjgjln encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ghjfebpdooh (v:ghjfebpdooh) encoder = 
  Pbrt.Encoder.int32_as_varint v.djjmhikpmjl encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fgfcafjgjln encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lbobjldondf encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fpilmflopgh (v:fpilmflopgh) encoder = 
  begin match v.hjcbomofobf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hncbeeioldh x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gjjhoepllah (v:gjjhoepllah) encoder = 
  Pbrt.Encoder.int32_as_varint v.fgfcafjgjln encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ifkgomfnmaa (v:ifkgomfnmaa) encoder = 
  Pbrt.Encoder.int32_as_varint v.fgfcafjgjln encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.idegcfnalkn encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_daignniobkk (v:daignniobkk) encoder = 
  Pbrt.Encoder.int32_as_varint v.limdkgpmgoe encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fgfcafjgjln encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hcpjodhafbn encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mipldfahhdi (v:mipldfahhdi) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  begin match v.hjcbomofobf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hncbeeioldh x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_kaiacbkbgjo (v:kaiacbkbgjo) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_hncbeeioldh x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.hmhmdaggfni encoder;
  ()

let rec encode_pb_kalbhbfbgbi (v:kalbhbfbgbi) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_hncbeeioldh x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.hmhmdaggfni encoder;
  Pbrt.Encoder.int32_as_varint v.hbnoljogigk encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.djemibiamha encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ginenhkpkmk encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jddfhajhdph (v:jddfhajhdph) encoder = 
()

let rec encode_pb_eknlaglphdi (v:eknlaglphdi) encoder = 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bfjkhkhilai (v:bfjkhkhilai) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgnfloilneg encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nppeghdfaen encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pmlbcokemme (v:pmlbcokemme) encoder = 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.avatar_id_list encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.hgnfloilneg encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_alepdepldll (v:alepdepldll) encoder = 
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_naagikaillg (v:naagikaillg) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgnfloilneg encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mjfmcmdhnkg (v:mjfmcmdhnkg) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgnfloilneg encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_akbbkfokide (v:akbbkfokide) encoder = 
  begin match v.ocdbilliofd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_aflbhhdjdef x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ipockoabfmh (v:ipockoabfmh) encoder = 
  begin match v.lineup with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_heliobus_challenge_lineup x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_balokbjaphf (v:balokbjaphf) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgnfloilneg encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ikpjplopmjk encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bnpfaleifaj encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.chbdfdolhoc encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.prop_entity_id encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.avatar_list encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_dnlbhaceial (v:dnlbhaceial) encoder = 
  begin match v.akkgoefpgdl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_info x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.lineup with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lineup_info x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.world_level encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ikpjplopmjk encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lkgnphblpef (v:lkgnphblpef) encoder = 
  begin match v.scene with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dnlbhaceial x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dobigncaofo (v:dobigncaofo) encoder =
  match v with
  | Cmd_item_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_mark_item_cs_req -> Pbrt.Encoder.int_as_varint 549 encoder
  | Cmd_lock_equipment_sc_rsp -> Pbrt.Encoder.int_as_varint 593 encoder
  | Cmd_compose_selected_relic_sc_rsp -> Pbrt.Encoder.int_as_varint 509 encoder
  | Cmd_cancel_mark_item_notify -> Pbrt.Encoder.int_as_varint 566 encoder
  | Cmd_sync_turn_food_notify -> Pbrt.Encoder.int_as_varint 546 encoder
  | Cmd_compose_limit_num_complete_notify -> Pbrt.Encoder.int_as_varint 532 encoder
  | Cmd_delete_relic_filter_plan_cs_req -> Pbrt.Encoder.int_as_varint 507 encoder
  | Cmd_set_turn_food_switch_cs_req -> Pbrt.Encoder.int_as_varint 512 encoder
  | Cmd_recharge_succ_notify -> Pbrt.Encoder.int_as_varint 517 encoder
  | Cmd_lock_equipment_cs_req -> Pbrt.Encoder.int_as_varint 556 encoder
  | Cmd_compose_item_cs_req -> Pbrt.Encoder.int_as_varint 565 encoder
  | Cmd_use_item_sc_rsp -> Pbrt.Encoder.int_as_varint 529 encoder
  | Cmd_add_relic_filter_plan_sc_rsp -> Pbrt.Encoder.int_as_varint 558 encoder
  | Cmd_get_mark_item_list_sc_rsp -> Pbrt.Encoder.int_as_varint 576 encoder
  | Cmd_relic_recommend_cs_req -> Pbrt.Encoder.int_as_varint 567 encoder
  | Cmd_get_bag_sc_rsp -> Pbrt.Encoder.int_as_varint 506 encoder
  | Cmd_promote_equipment_cs_req -> Pbrt.Encoder.int_as_varint 511 encoder
  | Cmd_destroy_item_sc_rsp -> Pbrt.Encoder.int_as_varint 523 encoder
  | Cmd_rank_up_equipment_sc_rsp -> Pbrt.Encoder.int_as_varint 533 encoder
  | Cmd_use_item_cs_req -> Pbrt.Encoder.int_as_varint 539 encoder
  | Cmd_general_virtual_item_data_notify -> Pbrt.Encoder.int_as_varint 595 encoder
  | Cmd_set_turn_food_switch_sc_rsp -> Pbrt.Encoder.int_as_varint 530 encoder
  | Cmd_add_equipment_sc_notify -> Pbrt.Encoder.int_as_varint 588 encoder
  | Cmd_discard_relic_sc_rsp -> Pbrt.Encoder.int_as_varint 569 encoder
  | Cmd_delete_relic_filter_plan_sc_rsp -> Pbrt.Encoder.int_as_varint 541 encoder
  | Cmd_relic_recommend_sc_rsp -> Pbrt.Encoder.int_as_varint 515 encoder
  | Cmd_compose_limit_num_update_notify -> Pbrt.Encoder.int_as_varint 516 encoder
  | Cmd_modify_relic_filter_plan_cs_req -> Pbrt.Encoder.int_as_varint 547 encoder
  | Cmd_destroy_item_cs_req -> Pbrt.Encoder.int_as_varint 584 encoder
  | Cmd_exp_up_equipment_sc_rsp -> Pbrt.Encoder.int_as_varint 554 encoder
  | Cmd_relic_avatar_recommend_sc_rsp -> Pbrt.Encoder.int_as_varint 540 encoder
  | Cmd_compose_selected_relic_cs_req -> Pbrt.Encoder.int_as_varint 528 encoder
  | Cmd_add_relic_filter_plan_cs_req -> Pbrt.Encoder.int_as_varint 553 encoder
  | Cmd_lock_relic_cs_req -> Pbrt.Encoder.int_as_varint 597 encoder
  | Cmd_exchange_hcoin_sc_rsp -> Pbrt.Encoder.int_as_varint 590 encoder
  | Cmd_sell_item_sc_rsp -> Pbrt.Encoder.int_as_varint 524 encoder
  | Cmd_sell_item_cs_req -> Pbrt.Encoder.int_as_varint 525 encoder
  | Cmd_modify_relic_filter_plan_sc_rsp -> Pbrt.Encoder.int_as_varint 559 encoder
  | Cmd_get_bag_cs_req -> Pbrt.Encoder.int_as_varint 568 encoder
  | Cmd_exp_up_relic_sc_rsp -> Pbrt.Encoder.int_as_varint 534 encoder
  | Cmd_mark_relic_filter_plan_cs_req -> Pbrt.Encoder.int_as_varint 531 encoder
  | Cmd_relic_avatar_recommend_cs_req -> Pbrt.Encoder.int_as_varint 575 encoder
  | Cmd_exchange_hcoin_cs_req -> Pbrt.Encoder.int_as_varint 592 encoder
  | Cmd_get_mark_item_list_cs_req -> Pbrt.Encoder.int_as_varint 578 encoder
  | Cmd_promote_equipment_sc_rsp -> Pbrt.Encoder.int_as_varint 543 encoder
  | Cmd_exp_up_equipment_cs_req -> Pbrt.Encoder.int_as_varint 599 encoder
  | Cmd_get_recyle_time_cs_req -> Pbrt.Encoder.int_as_varint 508 encoder
  | Cmd_discard_relic_cs_req -> Pbrt.Encoder.int_as_varint 589 encoder
  | Cmd_compose_item_sc_rsp -> Pbrt.Encoder.int_as_varint 548 encoder
  | Cmd_mark_item_sc_rsp -> Pbrt.Encoder.int_as_varint 545 encoder
  | Cmd_lock_relic_sc_rsp -> Pbrt.Encoder.int_as_varint 598 encoder
  | Cmd_mark_relic_filter_plan_sc_rsp -> Pbrt.Encoder.int_as_varint 503 encoder
  | Cmd_relic_filter_plan_clear_name_sc_notify -> Pbrt.Encoder.int_as_varint 526 encoder
  | Cmd_rank_up_equipment_cs_req -> Pbrt.Encoder.int_as_varint 551 encoder
  | Cmd_get_relic_filter_plan_cs_req -> Pbrt.Encoder.int_as_varint 585 encoder
  | Cmd_exp_up_relic_cs_req -> Pbrt.Encoder.int_as_varint 582 encoder
  | Cmd_get_recyle_time_sc_rsp -> Pbrt.Encoder.int_as_varint 581 encoder
  | Cmd_get_relic_filter_plan_sc_rsp -> Pbrt.Encoder.int_as_varint 600 encoder

let rec encode_pb_koedfpccpch (v:koedfpccpch) encoder =
  match v with
  | Turn_food_switch_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Turn_food_switch_attack -> Pbrt.Encoder.int_as_varint 1 encoder
  | Turn_food_switch_define -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_flkcekmkejm (v:flkcekmkejm) encoder = 
()

let rec encode_pb_mdlbakehplp (v:mdlbakehplp) encoder = 
  Pbrt.Encoder.int32_as_varint v.rank encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.promotion encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.exp encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.unique_id encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.alelfancgei encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.mkmllbdhmbf encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hechfpdiado encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lhpihhdiplm (v:lhpihhdiplm) encoder = 
  Pbrt.Encoder.bool v.midlnaigncg encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.main_affix_id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.exp encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.unique_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hechfpdiado encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.alelfancgei encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_relic_affix x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.sub_affix_list encoder;
  Pbrt.Encoder.bool v.mkmllbdhmbf encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_aoacdcgcmej (v:aoacdcgcmej) encoder = 
  Pbrt.Encoder.int32_as_varint v.hechfpdiado encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.npcgokkdhdf encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kagnbjdmamf encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ipcffjhaijg (v:ipcffjhaijg) encoder = 
  Pbrt.Encoder.int32_as_varint v.kagnbjdmamf encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hechfpdiado encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lglodndhijb (v:lglodndhijb) encoder = 
  Pbrt.Encoder.int32_as_varint v.kagnbjdmamf encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.npcgokkdhdf encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hechfpdiado encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mcapbopbnaj (v:mcapbopbnaj) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ikhicomcdhp encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_aoacdcgcmej x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.ibigdplhfkc encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ipcffjhaijg x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ) v.deadfemndnk encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pile_item x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.iinhlljekcd encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_lglodndhijb x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.epbibaobeoj encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_lhpihhdiplm x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.relic_list encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_lglodndhijb x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.flnjichokac encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.geidcjnjmma encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ngegmhahglm encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mdlbakehplp x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.equipment_list encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    encode_pb_koedfpccpch x encoder;
    Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ) v.jlkdhmeecjm encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_aoacdcgcmej x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.egmlhakbkmc encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.kjibmefiben encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_hfjepdgbohe (v:hfjepdgbohe) encoder = 
  begin match v.lohpklihemj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.fbieckfjhid encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gdmeoillmgg (v:gdmeoillmgg) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jeobbmnfndi (v:jeobbmnfndi) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.jhpabfhpimo encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.figgbmnlcdb encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jhnkccepneb (v:jhnkccepneb) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kmkdljlllec (v:kmkdljlllec) encoder = 
  Pbrt.Encoder.int32_as_varint v.apbdbeabddj encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.feonppdpkoj encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nejlfhfmjgb encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.efjhleknapg encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  encode_pb_avatar_type v.kohajfmhiio encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.base_avatar_id encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_emhlhjhbmam (v:emhlhjhbmam) encoder = 
  Pbrt.Encoder.int32_as_varint v.feonppdpkoj encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  begin match v.ngkaoednndn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.ohpbgbelimn encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nejlfhfmjgb encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.afmgandnccg encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ikilhkgmpgo (v:ikilhkgmpgo) encoder = 
  begin match v.lohpklihemj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.fbieckfjhid encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ganlnnedpfp (v:ganlnnedpfp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ijaofbkgbfo (v:ijaofbkgbfo) encoder = 
  begin match v.lohpklihemj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.fbieckfjhid encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fhoadbjimao (v:fhoadbjimao) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pile_item x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.return_item_list encoder;
  ()

let rec encode_pb_hmlkkldifnp (v:hmlkkldifnp) encoder = 
  begin match v.gbejhehoojg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.count encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kcededdikfd encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_oniajnkdgah (v:oniajnkdgah) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  begin match v.return_item_list with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.count encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kcededdikfd encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lejkofpfmeg (v:lejkofpfmeg) encoder = 
  begin match v.gbejhehoojg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.dacmhmgikdn encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kcededdikfd encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.count encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.main_affix_id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mfacgpoflcm (v:mfacgpoflcm) encoder = 
  begin match v.return_item_list with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kcededdikfd encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_noinphijimb (v:noinphijimb) encoder = 
  Pbrt.Encoder.int32_as_varint v.nfjcagcjbib encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  begin match v.lohpklihemj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ldobfgmocga (v:ldobfgmocga) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pile_item x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.return_item_list encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_aclpgkbjijb (v:aclpgkbjijb) encoder = 
  Pbrt.Encoder.bool v.lkamihdhkbe encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.bkjpbalpell encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.figgbmnlcdb encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ifcjmpeohmd (v:ifcjmpeohmd) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pobgcfghpic (v:pobgcfghpic) encoder = 
  Pbrt.Encoder.bool v.bdfbfehlfgf encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.bkjpbalpell encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.lkamihdhkbe encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_klemlcaknap (v:klemlcaknap) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.bdfbfehlfgf encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pcjhdmjibck (v:pcjhdmjibck) encoder = 
  begin match v.lohpklihemj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.bool v.fkodidbfdfn encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lfjfcpdbgkk (v:lfjfcpdbgkk) encoder = 
  begin match v.return_item_list with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_recharge_succ_notify (v:recharge_succ_notify) encoder = 
  begin match v.item_list with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.string v.product_id encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.channel_order_no encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int64_as_varint v.month_card_outdate_time encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cjgmgileblk (v:cjgmgileblk) encoder = 
  Pbrt.Encoder.int32_as_varint v.kagnbjdmamf encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_exchange_hcoin_sc_rsp (v:exchange_hcoin_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.num encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cjijjahdjpa (v:cjijjahdjpa) encoder = 
  Pbrt.Encoder.int32_as_varint v.dkgkfeeajpd encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jkokdmdgidk (v:jkokdmdgidk) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.icopfphppdi encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_aaimdlacgcn (v:aaimdlacgcn) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_lglodndhijb x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.flnjichokac encoder;
  ()

let rec encode_pb_kochkckdbhe (v:kochkckdbhe) encoder = 
  Pbrt.Encoder.int32_as_varint v.memkmmilpkd encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bgecmdbfigi encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dbidbcochhl (v:dbidbcochhl) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_kochkckdbhe x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.nehijgifbke encoder;
  ()

let rec encode_pb_eackoplgbme (v:eackoplgbme) encoder = 
  begin match v.elnbhiipadp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kochkckdbhe x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hacbjelpoac (v:hacbjelpoac) encoder = 
  Pbrt.Encoder.int32_as_varint v.olfhccbiidg encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.elkbpopdpjg encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mnedfmiemjm (v:mnedfmiemjm) encoder = 
  Pbrt.Encoder.int32_as_varint v.elkbpopdpjg encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_oocjhkkkoog (v:oocjhkkkoog) encoder = 
()

let rec encode_pb_ikhfcbbolnd (v:ikhfcbbolnd) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.gddbahogfki encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cnceleggnlo (v:cnceleggnlo) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.bplpnnijlji encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_efomgnkkdgd (v:efomgnkkdgd) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.bplpnnijlji encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fnbfccfghfn (v:fnbfccfghfn) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lhimlhffkmg (v:lhimlhffkmg) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.kjibmefiben encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    encode_pb_koedfpccpch x encoder;
    Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ) v.jlkdhmeecjm encoder;
  ()

let rec encode_pb_gkjmimbbdnl (v:gkjmimbbdnl) encoder = 
  Pbrt.Encoder.bool v.lcidaenomif encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  encode_pb_koedfpccpch v.dpigkeokfmk encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mjbmdpigdlk (v:mjbmdpigdlk) encoder = 
  Pbrt.Encoder.bool v.lcidaenomif encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  encode_pb_koedfpccpch v.dpigkeokfmk encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kikenjaacap (v:kikenjaacap) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pile_item x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.gekinokmmci encoder;
  Pbrt.Encoder.bool v.ncfldodhkod encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_njfonlgigpk (v:njfonlgigpk) encoder = 
  Pbrt.Encoder.int32_as_varint v.kbhcaajjkeh encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hmofppjjpfn encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dkgiphjmpih encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_penkoafkhkl (v:penkoafkhkl) encoder = 
  Pbrt.Encoder.int32_as_varint v.ojmhmiobhoi encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hmofppjjpfn encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hicihjimcmh (v:hicihjimcmh) encoder = 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fmeeecoggkf (v:fmeeecoggkf) encoder = 
  Pbrt.Encoder.bool v.hdpcekiljkc encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_penkoafkhkl x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.ohdnajnckog encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_penkoafkhkl x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.bomphgjmnib encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_njfonlgigpk x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.lmogiabffla encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_penkoafkhkl x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.moangckpldg encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_njfonlgigpk x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.eekmlegahha encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_penkoafkhkl x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.noocbpmnmac encoder;
  ()

let rec encode_pb_joegfcinapg (v:joegfcinapg) encoder = 
  Pbrt.Encoder.int32_as_varint v.ncplfkbobdj encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_glcehkpmbjo (v:glcehkpmbjo) encoder = 
  Pbrt.Encoder.bool v.hdpcekiljkc encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ncplfkbobdj encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.avatar_id_list encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_relic_filter_plan_icon (v:relic_filter_plan_icon) encoder = 
  Pbrt.Encoder.bool v.is_avatar_icon encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.icon_id encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_relic_filter_plan (v:relic_filter_plan) encoder = 
  begin match v.icon with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_relic_filter_plan_icon x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int64_as_varint v.update_timestamp encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  begin match v.settings with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_relic_filter_plan_settings x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.string v.name encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.slot_index encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.is_marked encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fihcjogacni (v:fihcjogacni) encoder = 
()

let rec encode_pb_get_relic_filter_plan_sc_rsp (v:get_relic_filter_plan_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_relic_filter_plan x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.relic_filter_plan_list encoder;
  ()

let rec encode_pb_add_relic_filter_plan_cs_req (v:add_relic_filter_plan_cs_req) encoder = 
  begin match v.icon with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_relic_filter_plan_icon x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.bool v.is_marked encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  begin match v.settings with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_relic_filter_plan_settings x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.string v.name encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_add_relic_filter_plan_sc_rsp (v:add_relic_filter_plan_sc_rsp) encoder = 
  begin match v.plan with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_relic_filter_plan x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_modify_relic_filter_plan_cs_req (v:modify_relic_filter_plan_cs_req) encoder = 
  Pbrt.Encoder.int32_as_varint v.slot_index encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.name encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  begin match v.icon with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_relic_filter_plan_icon x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.settings with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_relic_filter_plan_settings x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_modify_relic_filter_plan_sc_rsp (v:modify_relic_filter_plan_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.slot_index encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.update_timestamp encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.name encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  begin match v.icon with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_relic_filter_plan_icon x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.settings with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_relic_filter_plan_settings x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_delete_relic_filter_plan_cs_req (v:delete_relic_filter_plan_cs_req) encoder = 
  Pbrt.Encoder.bool v.is_batch_op encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.slot_index_list encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_pnldeoafcne (v:pnldeoafcne) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.npedodmagkl encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_mark_relic_filter_plan_cs_req (v:mark_relic_filter_plan_cs_req) encoder = 
  Pbrt.Encoder.bool v.is_batch_op encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.is_mark encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.slot_index_list encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_mark_relic_filter_plan_sc_rsp (v:mark_relic_filter_plan_sc_rsp) encoder = 
  Pbrt.Encoder.bool v.is_mark encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.slot_index_list encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ecjbbepkkmj (v:ecjbbepkkmj) encoder = 
  Pbrt.Encoder.int32_as_varint v.afefamkndoo encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dkfoeihhpkf (v:dkfoeihhpkf) encoder =
  match v with
  | Cmd_jukebox_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_play_back_ground_music_cs_req -> Pbrt.Encoder.int_as_varint 3111 encoder
  | Cmd_trial_back_ground_music_cs_req -> Pbrt.Encoder.int_as_varint 3139 encoder
  | Cmd_get_jukebox_data_sc_rsp -> Pbrt.Encoder.int_as_varint 3106 encoder
  | Cmd_unlock_back_ground_music_sc_rsp -> Pbrt.Encoder.int_as_varint 3193 encoder
  | Cmd_trial_back_ground_music_sc_rsp -> Pbrt.Encoder.int_as_varint 3129 encoder
  | Cmd_play_back_ground_music_sc_rsp -> Pbrt.Encoder.int_as_varint 3143 encoder
  | Cmd_get_jukebox_data_cs_req -> Pbrt.Encoder.int_as_varint 3168 encoder
  | Cmd_unlock_back_ground_music_cs_req -> Pbrt.Encoder.int_as_varint 3156 encoder

let rec encode_pb_knfclkceeah (v:knfclkceeah) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.efnegejdilo encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cookpmfnbpj (v:cookpmfnbpj) encoder = 
()

let rec encode_pb_jehaofaoeok (v:jehaofaoeok) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_knfclkceeah x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.jadihfhpmkh encoder;
  Pbrt.Encoder.int32_as_varint v.hbdienejlfn encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hphkmadefmi (v:hphkmadefmi) encoder = 
  Pbrt.Encoder.int32_as_varint v.dhppkijmkjg encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_glakeaclkli (v:glakeaclkli) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dhppkijmkjg encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hbdienejlfn encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_egdjkildooa (v:egdjkildooa) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.lejnihkjibm encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_hpogjbmmnaa (v:hpogjbmmnaa) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_knfclkceeah x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.jadihfhpmkh encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.bbjgjddfgdi encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_dkbnpdmbhoa (v:dkbnpdmbhoa) encoder = 
  Pbrt.Encoder.int32_as_varint v.aohkoelbjjc encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gfmjolhdmld (v:gfmjolhdmld) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.aohkoelbjjc encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ajnedhhocjk (v:ajnedhhocjk) encoder =
  match v with
  | Cmd_lineup_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_set_lineup_name_cs_req -> Pbrt.Encoder.int_as_varint 798 encoder
  | Cmd_quit_lineup_sc_rsp -> Pbrt.Encoder.int_as_varint 729 encoder
  | Cmd_get_cur_lineup_data_sc_rsp -> Pbrt.Encoder.int_as_varint 743 encoder
  | Cmd_get_all_lineup_data_cs_req -> Pbrt.Encoder.int_as_varint 724 encoder
  | Cmd_set_lineup_name_sc_rsp -> Pbrt.Encoder.int_as_varint 725 encoder
  | Cmd_join_lineup_sc_rsp -> Pbrt.Encoder.int_as_varint 793 encoder
  | Cmd_change_lineup_leader_sc_rsp -> Pbrt.Encoder.int_as_varint 782 encoder
  | Cmd_switch_lineup_index_cs_req -> Pbrt.Encoder.int_as_varint 734 encoder
  | Cmd_swap_lineup_cs_req -> Pbrt.Encoder.int_as_varint 751 encoder
  | Cmd_swap_lineup_sc_rsp -> Pbrt.Encoder.int_as_varint 733 encoder
  | Cmd_replace_lineup_sc_rsp -> Pbrt.Encoder.int_as_varint 728 encoder
  | Cmd_get_all_lineup_data_sc_rsp -> Pbrt.Encoder.int_as_varint 717 encoder
  | Cmd_get_lineup_avatar_data_cs_req -> Pbrt.Encoder.int_as_varint 754 encoder
  | Cmd_get_stage_lineup_sc_rsp -> Pbrt.Encoder.int_as_varint 706 encoder
  | Cmd_get_lineup_avatar_data_sc_rsp -> Pbrt.Encoder.int_as_varint 765 encoder
  | Cmd_join_lineup_cs_req -> Pbrt.Encoder.int_as_varint 756 encoder
  | Cmd_get_stage_lineup_cs_req -> Pbrt.Encoder.int_as_varint 768 encoder
  | Cmd_replace_lineup_cs_req -> Pbrt.Encoder.int_as_varint 790 encoder
  | Cmd_sync_lineup_notify -> Pbrt.Encoder.int_as_varint 799 encoder
  | Cmd_get_cur_lineup_data_cs_req -> Pbrt.Encoder.int_as_varint 711 encoder
  | Cmd_switch_lineup_index_sc_rsp -> Pbrt.Encoder.int_as_varint 797 encoder
  | Cmd_extra_lineup_destroy_notify -> Pbrt.Encoder.int_as_varint 709 encoder
  | Cmd_change_lineup_leader_cs_req -> Pbrt.Encoder.int_as_varint 748 encoder
  | Cmd_quit_lineup_cs_req -> Pbrt.Encoder.int_as_varint 739 encoder
  | Cmd_virtual_lineup_destroy_notify -> Pbrt.Encoder.int_as_varint 792 encoder

let rec encode_pb_lineup_type (v:lineup_type) encoder =
  match v with
  | Lineup_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Lineup_type_preset -> Pbrt.Encoder.int_as_varint 1 encoder
  | Lineup_type_virtual -> Pbrt.Encoder.int_as_varint 2 encoder
  | Lineup_type_extra -> Pbrt.Encoder.int_as_varint 3 encoder
  | Lineup_type_story_line -> Pbrt.Encoder.int_as_varint 4 encoder

let rec encode_pb_sync_lineup_reason (v:sync_lineup_reason) encoder =
  match v with
  | Sync_reason_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Sync_reason_mp_add -> Pbrt.Encoder.int_as_varint 1 encoder
  | Sync_reason_mp_add_prop_hit -> Pbrt.Encoder.int_as_varint 2 encoder
  | Sync_reason_hp_add -> Pbrt.Encoder.int_as_varint 3 encoder
  | Sync_reason_hp_add_prop_hit -> Pbrt.Encoder.int_as_varint 4 encoder

let rec encode_pb_lbmibllpikl (v:lbmibllpikl) encoder = 
()

let rec encode_pb_gcfbakphcpf (v:gcfbakphcpf) encoder = 
  Pbrt.Encoder.int32_as_varint v.pkmpoapokhl encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nmedaaeibfk encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_knhhjmcbnea (v:knhhjmcbnea) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_gcfbakphcpf x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.bdgmfbaffnm encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_get_cur_lineup_data_cs_req (v:get_cur_lineup_data_cs_req) encoder = 
()

let rec encode_pb_get_cur_lineup_data_sc_rsp (v:get_cur_lineup_data_sc_rsp) encoder = 
  begin match v.lineup with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lineup_info x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ojallcafkeo (v:ojallcafkeo) encoder = 
  Pbrt.Encoder.int32_as_varint v.slot encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.index encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.base_avatar_id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.is_virtual encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.plane_id encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  encode_pb_extra_lineup_type v.extra_lineup_type encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ohfahbfdpoj (v:ohfahbfdpoj) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ffglfjgkkep (v:ffglfjgkkep) encoder = 
  encode_pb_extra_lineup_type v.extra_lineup_type encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.base_avatar_id encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.index encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.is_virtual encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.plane_id encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cjeipadcdjl (v:cjeipadcdjl) encoder = 
  Pbrt.Encoder.bool v.is_virtual encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.aeoafelaneo encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.base_avatar_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.plane_id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kniinhmfihm (v:kniinhmfihm) encoder = 
  Pbrt.Encoder.bool v.is_virtual encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bdkilpahpgb encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  encode_pb_extra_lineup_type v.extra_lineup_type encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.index encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.plane_id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.agkkdgnhcbh encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dpjippgdpac (v:dpjippgdpac) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_sync_lineup_notify (v:sync_lineup_notify) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    encode_pb_sync_lineup_reason x encoder;
    Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ) v.reason_list encoder;
  begin match v.lineup with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lineup_info x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bcmbjlmlbnc (v:bcmbjlmlbnc) encoder = 
()

let rec encode_pb_pkokliocjho (v:pkokliocjho) encoder = 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hp encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dfdcahepikp (v:dfdcahepikp) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pkokliocjho x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.opimhcppnbc encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lnheeohdggj (v:lnheeohdggj) encoder = 
  Pbrt.Encoder.int32_as_varint v.slot encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_abmheggkjlj (v:abmheggkjlj) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.slot encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_efpogadjkbf (v:efpogadjkbf) encoder = 
  Pbrt.Encoder.int32_as_varint v.index encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_alpmagelkdp (v:alpmagelkdp) encoder = 
  Pbrt.Encoder.int32_as_varint v.index encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jmmngdpfccf (v:jmmngdpfccf) encoder = 
  Pbrt.Encoder.string v.name encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.index encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_empobajddco (v:empobajddco) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.name encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.index encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jablakijdea (v:jablakijdea) encoder = 
()

let rec encode_pb_aclgjhedfaa (v:aclgjhedfaa) encoder = 
  Pbrt.Encoder.int32_as_varint v.hifmklongnc encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_lineup_info x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.kbognlnlcle encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_aocfcjppedm (v:aocfcjppedm) encoder = 
  Pbrt.Encoder.int32_as_varint v.plane_id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hiakofmgdlp (v:hiakofmgdlp) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.slot encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fibefodmgem (v:fibefodmgem) encoder = 
  Pbrt.Encoder.bool v.is_virtual encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ijnpccndcgi encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.plane_id encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  encode_pb_extra_lineup_type v.extra_lineup_type encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kclnaimofdl encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_hiakofmgdlp x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.mpeggadcgge encoder;
  Pbrt.Encoder.int32_as_varint v.index encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ahbjhkinbil (v:ahbjhkinbil) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ekmckmcokia (v:ekmckmcokia) encoder = 
  encode_pb_extra_lineup_type v.extra_lineup_type encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_idooiaenifb (v:idooiaenifb) encoder =
  match v with
  | Cmd_lobby_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_lobby_quit_cs_req -> Pbrt.Encoder.int_as_varint 7362 encoder
  | Cmd_lobby_invite_sc_rsp -> Pbrt.Encoder.int_as_varint 7356 encoder
  | Cmd_lobby_begin_cs_req -> Pbrt.Encoder.int_as_varint 7361 encoder
  | Cmd_lobby_join_sc_rsp -> Pbrt.Encoder.int_as_varint 7367 encoder
  | Cmd_lobby_join_cs_req -> Pbrt.Encoder.int_as_varint 7365 encoder
  | Cmd_lobby_modify_player_info_sc_rsp -> Pbrt.Encoder.int_as_varint 7354 encoder
  | Cmd_lobby_kick_out_cs_req -> Pbrt.Encoder.int_as_varint 7384 encoder
  | Cmd_lobby_get_info_sc_rsp -> Pbrt.Encoder.int_as_varint 7371 encoder
  | Cmd_lobby_kick_out_sc_rsp -> Pbrt.Encoder.int_as_varint 7370 encoder
  | Cmd_lobby_get_info_cs_req -> Pbrt.Encoder.int_as_varint 7398 encoder
  | Cmd_lobby_begin_sc_rsp -> Pbrt.Encoder.int_as_varint 7358 encoder
  | Cmd_lobby_create_sc_rsp -> Pbrt.Encoder.int_as_varint 7374 encoder
  | Cmd_lobby_create_cs_req -> Pbrt.Encoder.int_as_varint 7357 encoder
  | Cmd_lobby_sync_info_sc_notify -> Pbrt.Encoder.int_as_varint 7386 encoder
  | Cmd_lobby_invite_cs_req -> Pbrt.Encoder.int_as_varint 7395 encoder
  | Cmd_lobby_modify_player_info_cs_req -> Pbrt.Encoder.int_as_varint 7373 encoder
  | Cmd_lobby_quit_sc_rsp -> Pbrt.Encoder.int_as_varint 7389 encoder
  | Cmd_lobby_invite_sc_notify -> Pbrt.Encoder.int_as_varint 7355 encoder

let rec encode_pb_lbjfonmlbmj (v:lbjfonmlbmj) encoder = 
  begin match v.iiidiaplofb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lnnkgnfmmll x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  encode_pb_gkkpbgmoodd v.dfpkdpmefac encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_clpnbpcgldl (v:clpnbpcgldl) encoder = 
  Pbrt.Encoder.int64_as_varint v.mfdelanaicp encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  encode_pb_gkkpbgmoodd v.dfpkdpmefac encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_egokacjfaen x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.pcmhnpbecpk encoder;
  ()

let rec encode_pb_ofpmcomndcd (v:ofpmcomndcd) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.pknbckelhkm encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_pafhbihlbca (v:pafhbihlbca) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.pknbckelhkm encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_gbhfcbmhghk (v:gbhfcbmhghk) encoder = 
  Pbrt.Encoder.int64_as_varint v.mfdelanaicp encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  begin match v.iiidiaplofb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lnnkgnfmmll x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_kikicpknoeb (v:kikicpknoeb) encoder = 
  Pbrt.Encoder.int64_as_varint v.mfdelanaicp encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_egokacjfaen x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.pcmhnpbecpk encoder;
  encode_pb_gkkpbgmoodd v.dfpkdpmefac encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nlhggbldnba (v:nlhggbldnba) encoder = 
()

let rec encode_pb_gjofkipdifm (v:gjofkipdifm) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_haffbknmhfm (v:haffbknmhfm) encoder = 
()

let rec encode_pb_jaeonekdhmo (v:jaeonekdhmo) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_egokacjfaen x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.pcmhnpbecpk encoder;
  ()

let rec encode_pb_bnhoegcoljl (v:bnhoegcoljl) encoder = 
  encode_pb_ejnhbdlcndj v.fgmdoekgpee encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hfhghfhomfn encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  begin match v.iiidiaplofb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lnnkgnfmmll x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_npnpnbjahki (v:npnpnbjahki) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dhhnemhmgma (v:dhhnemhmgma) encoder = 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  encode_pb_ejnhbdlcndj v.fgmdoekgpee encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_egokacjfaen x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ) v.pcmhnpbecpk encoder;
  ()

let rec encode_pb_lfkkogmpbao (v:lfkkogmpbao) encoder = 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_npcdkngjimc (v:npcdkngjimc) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_geddfnpdnao (v:geddfnpdnao) encoder = 
  Pbrt.Encoder.int32_as_varint v.ehjdlppngmf encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  encode_pb_gkkpbgmoodd v.dfpkdpmefac encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mfdelanaicp encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hhbnnogdkpi (v:hhbnnogdkpi) encoder = 
()

let rec encode_pb_ifanbeggfke (v:ifanbeggfke) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_egokacjfaen x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.pcmhnpbecpk encoder;
  Pbrt.Encoder.int64_as_varint v.jgkindfbegl encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.mfdelanaicp encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  encode_pb_gkkpbgmoodd v.dfpkdpmefac encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_keacmibmbaf (v:keacmibmbaf) encoder =
  match v with
  | Cmd_mail_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_get_mail_sc_rsp -> Pbrt.Encoder.int_as_varint 806 encoder
  | Cmd_mark_read_mail_cs_req -> Pbrt.Encoder.int_as_varint 811 encoder
  | Cmd_get_mail_cs_req -> Pbrt.Encoder.int_as_varint 868 encoder
  | Cmd_mark_read_mail_sc_rsp -> Pbrt.Encoder.int_as_varint 843 encoder
  | Cmd_new_mail_sc_notify -> Pbrt.Encoder.int_as_varint 851 encoder
  | Cmd_del_mail_sc_rsp -> Pbrt.Encoder.int_as_varint 893 encoder
  | Cmd_take_mail_attachment_sc_rsp -> Pbrt.Encoder.int_as_varint 829 encoder
  | Cmd_del_mail_cs_req -> Pbrt.Encoder.int_as_varint 856 encoder
  | Cmd_take_mail_attachment_cs_req -> Pbrt.Encoder.int_as_varint 839 encoder

let rec encode_pb_boikhbbncba (v:boikhbbncba) encoder =
  match v with
  | Mail_type_normal -> Pbrt.Encoder.int_as_varint (0) encoder
  | Mail_type_star -> Pbrt.Encoder.int_as_varint 1 encoder

let rec encode_pb_hbjjhaendfo (v:hbjjhaendfo) encoder = 
  Pbrt.Encoder.int32_as_varint v.afiomfffjda encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.enffacoigfn encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_client_mail (v:client_mail) encoder = 
  Pbrt.Encoder.string v.title encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  begin match v.attachment with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.content encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.string x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.para_list encoder;
  Pbrt.Encoder.int32_as_varint v.template_id encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  encode_pb_boikhbbncba v.mail_type encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.time encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.expire_time encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.is_read encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.sender encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_get_mail_sc_rsp (v:get_mail_sc_rsp) encoder = 
  Pbrt.Encoder.bool v.is_end encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.start encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_client_mail x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ) v.notice_mail_list encoder;
  Pbrt.Encoder.int32_as_varint v.total_num encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_client_mail x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.mail_list encoder;
  ()

let rec encode_pb_clmibfaghgk (v:clmibfaghgk) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ealjpafdbnc (v:ealjpafdbnc) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_inhibijgmff (v:inhibijgmff) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.kflgilkbmpn encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_del_mail_sc_rsp (v:del_mail_sc_rsp) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.id_list encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ahgfoojjjkb (v:ahgfoojjjkb) encoder = 
  Pbrt.Encoder.int32_as_varint v.apbdbeabddj encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ckpljojpmmm encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_ejglipokcki (v:ejglipokcki) encoder = 
  Pbrt.Encoder.int32_as_varint v.dkhggieoebb encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_take_mail_attachment_sc_rsp (v:take_mail_attachment_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  begin match v.attachment with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.succ_mail_id_list encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ejglipokcki x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.fail_mail_list encoder;
  ()

let rec encode_pb_new_mail_sc_notify (v:new_mail_sc_notify) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.mail_id_list encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_jhbepgcaplh (v:jhbepgcaplh) encoder =
  match v with
  | Cmd_map_rotation_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_reset_map_rotation_region_cs_req -> Pbrt.Encoder.int_as_varint 6865 encoder
  | Cmd_update_rotater_sc_notify -> Pbrt.Encoder.int_as_varint 6824 encoder
  | Cmd_deploy_rotater_sc_rsp -> Pbrt.Encoder.int_as_varint 6893 encoder
  | Cmd_rotate_map_cs_req -> Pbrt.Encoder.int_as_varint 6839 encoder
  | Cmd_interact_charger_sc_rsp -> Pbrt.Encoder.int_as_varint 6843 encoder
  | Cmd_get_map_rotation_data_cs_req -> Pbrt.Encoder.int_as_varint 6899 encoder
  | Cmd_interact_charger_cs_req -> Pbrt.Encoder.int_as_varint 6811 encoder
  | Cmd_update_map_rotation_data_sc_notify -> Pbrt.Encoder.int_as_varint 6897 encoder
  | Cmd_leave_map_rotation_region_sc_rsp -> Pbrt.Encoder.int_as_varint 6833 encoder
  | Cmd_update_energy_sc_notify -> Pbrt.Encoder.int_as_varint 6834 encoder
  | Cmd_leave_map_rotation_region_sc_notify -> Pbrt.Encoder.int_as_varint 6882 encoder
  | Cmd_enter_map_rotation_region_sc_rsp -> Pbrt.Encoder.int_as_varint 6806 encoder
  | Cmd_get_map_rotation_data_sc_rsp -> Pbrt.Encoder.int_as_varint 6854 encoder
  | Cmd_leave_map_rotation_region_cs_req -> Pbrt.Encoder.int_as_varint 6851 encoder
  | Cmd_reset_map_rotation_region_sc_rsp -> Pbrt.Encoder.int_as_varint 6848 encoder
  | Cmd_rotate_map_sc_rsp -> Pbrt.Encoder.int_as_varint 6829 encoder
  | Cmd_deploy_rotater_cs_req -> Pbrt.Encoder.int_as_varint 6856 encoder
  | Cmd_remove_rotater_sc_rsp -> Pbrt.Encoder.int_as_varint 6825 encoder
  | Cmd_enter_map_rotation_region_cs_req -> Pbrt.Encoder.int_as_varint 6868 encoder
  | Cmd_remove_rotater_cs_req -> Pbrt.Encoder.int_as_varint 6898 encoder

let rec encode_pb_khfdnccflpd (v:khfdnccflpd) encoder = 
  Pbrt.Encoder.int32_as_varint v.ohoibnhjifg encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.float_as_bits32 v.fpmlllfheph encoder;
  Pbrt.Encoder.key 14 Pbrt.Bits32 encoder; 
  ()

let rec encode_pb_ocbfmoemnpp (v:ocbfmoemnpp) encoder = 
  Pbrt.Encoder.int32_as_varint v.ohoibnhjifg encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gnagomfpbhh (v:gnagomfpbhh) encoder = 
  begin match v.aobmafbkdll with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_quaternion x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.hgkfdihpfdm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_vector x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ihgimimcdpj (v:ihgimimcdpj) encoder = 
  Pbrt.Encoder.int32_as_varint v.hkohlnhlgnb encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.eolhlhcahff encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cioeahefpln (v:cioeahefpln) encoder = 
  Pbrt.Encoder.int32_as_varint v.fmcegofhmgc encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.chmbglidkmm encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_khfdnccflpd x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ) v.biefgmhpign encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ocbfmoemnpp x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.bhckkplnonj encoder;
  Pbrt.Encoder.int32_as_varint v.afdjikffnjd encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  begin match v.imelchpnpgc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gnagomfpbhh x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.anecodblgcb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ihgimimcdpj x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ldobaeloakm (v:ldobaeloakm) encoder = 
  Pbrt.Encoder.int32_as_varint v.afdjikffnjd encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fmcegofhmgc encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.jililehmdkg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_motion_info x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_malmdonmidf (v:malmdonmidf) encoder = 
  begin match v.anecodblgcb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ihgimimcdpj x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fmcegofhmgc encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.micgnniimak encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.afdjikffnjd encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  begin match v.jililehmdkg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_motion_info x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_mmdlhgjdmjg (v:mmdlhgjdmjg) encoder = 
  begin match v.hiceoeaiape with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ocbfmoemnpp x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_apcieeocild (v:apcieeocild) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  begin match v.anecodblgcb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ihgimimcdpj x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.hiceoeaiape with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ocbfmoemnpp x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_lnfjkiojdib (v:lnfjkiojdib) encoder = 
  begin match v.hoakecnahpp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_khfdnccflpd x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ahlcaeifmin (v:ahlcaeifmin) encoder = 
  begin match v.anecodblgcb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ihgimimcdpj x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.hoakecnahpp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_khfdnccflpd x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bebfhlmmlke (v:bebfhlmmlke) encoder = 
  begin match v.jililehmdkg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_motion_info x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  begin match v.imelchpnpgc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gnagomfpbhh x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.ohoibnhjifg encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ibhoeeiidfk (v:ibhoeeiidfk) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  begin match v.jililehmdkg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_motion_info x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.micgnniimak encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dnccfjilnia (v:dnccfjilnia) encoder = 
  begin match v.jililehmdkg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_motion_info x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_nelmkofibag (v:nelmkofibag) encoder = 
  Pbrt.Encoder.int32_as_varint v.micgnniimak encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.jililehmdkg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_motion_info x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_mepliogppbm (v:mepliogppbm) encoder = 
()

let rec encode_pb_pogkoedgank (v:pogkoedgank) encoder = 
  begin match v.imelchpnpgc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gnagomfpbhh x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.afdjikffnjd encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.imfipeiffei encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  begin match v.anecodblgcb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ihgimimcdpj x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ocbfmoemnpp x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.bhckkplnonj encoder;
  Pbrt.Encoder.int32_as_varint v.fmcegofhmgc encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_khfdnccflpd x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.biefgmhpign encoder;
  ()

let rec encode_pb_enilegjbbda (v:enilegjbbda) encoder = 
  begin match v.jililehmdkg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_motion_info x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.imelchpnpgc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gnagomfpbhh x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bjofngoldef (v:bjofngoldef) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.micgnniimak encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  begin match v.jililehmdkg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_motion_info x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_jcnjjjamoej (v:jcnjjjamoej) encoder = 
()

let rec encode_pb_nbdameobjml (v:nbdameobjml) encoder = 
  begin match v.anecodblgcb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ihgimimcdpj x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_cohjcefhcmd (v:cohjcefhcmd) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ocbfmoemnpp x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.bhckkplnonj encoder;
  begin match v.anecodblgcb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ihgimimcdpj x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.bool v.imfipeiffei encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_khfdnccflpd x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.biefgmhpign encoder;
  Pbrt.Encoder.int32_as_varint v.fmcegofhmgc encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.afdjikffnjd encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  begin match v.imelchpnpgc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gnagomfpbhh x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_aigabbmnbpi (v:aigabbmnbpi) encoder = 
  begin match v.hoakecnahpp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_khfdnccflpd x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_dckpmapfemc (v:dckpmapfemc) encoder = 
  begin match v.hoakecnahpp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_khfdnccflpd x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  begin match v.anecodblgcb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ihgimimcdpj x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_jpjihefieki (v:jpjihefieki) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_khfdnccflpd x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.biefgmhpign encoder;
  ()

let rec encode_pb_ahoodboincp (v:ahoodboincp) encoder =
  match v with
  | Cmd_match_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_match_result_sc_notify -> Pbrt.Encoder.int_as_varint 7311 encoder
  | Cmd_start_match_sc_rsp -> Pbrt.Encoder.int_as_varint 7324 encoder
  | Cmd_cancel_match_sc_rsp -> Pbrt.Encoder.int_as_varint 7317 encoder
  | Cmd_start_match_cs_req -> Pbrt.Encoder.int_as_varint 7307 encoder
  | Cmd_get_cross_info_cs_req -> Pbrt.Encoder.int_as_varint 7308 encoder
  | Cmd_cancel_match_cs_req -> Pbrt.Encoder.int_as_varint 7315 encoder
  | Cmd_get_cross_info_sc_rsp -> Pbrt.Encoder.int_as_varint 7323 encoder

let rec encode_pb_bglacpgnfnh (v:bglacpgnfnh) encoder = 
  encode_pb_gkkpbgmoodd v.dfpkdpmefac encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.iiidiaplofb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lnnkgnfmmll x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hilcokekkin (v:hilcokekkin) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  begin match v.iiidiaplofb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lnnkgnfmmll x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hghfdhlfdka (v:hghfdhlfdka) encoder = 
()

let rec encode_pb_phindajhpal (v:phindajhpal) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ankmamoalla (v:ankmamoalla) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_egokacjfaen x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.pcmhnpbecpk encoder;
  ()

let rec encode_pb_hnfjoglaejj (v:hnfjoglaejj) encoder = 
()

let rec encode_pb_jjkhhndmplc (v:jjkhhndmplc) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.mfdelanaicp encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.jgkindfbegl encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  encode_pb_gkkpbgmoodd v.dfpkdpmefac encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gogeiggmpdf (v:gogeiggmpdf) encoder =
  match v with
  | Cmd_match_three_module_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_match_three_level_end_cs_req -> Pbrt.Encoder.int_as_varint 7415 encoder
  | Cmd_match_three_get_data_cs_req -> Pbrt.Encoder.int_as_varint 7407 encoder
  | Cmd_match_three_set_bird_pos_cs_req -> Pbrt.Encoder.int_as_varint 7408 encoder
  | Cmd_match_three_level_end_sc_rsp -> Pbrt.Encoder.int_as_varint 7417 encoder
  | Cmd_match_three_set_bird_pos_sc_rsp -> Pbrt.Encoder.int_as_varint 7423 encoder
  | Cmd_match_three_get_data_sc_rsp -> Pbrt.Encoder.int_as_varint 7424 encoder
  | Cmd_match_three_sync_data_sc_notify -> Pbrt.Encoder.int_as_varint 7411 encoder

let rec encode_pb_obnecljmhjj (v:obnecljmhjj) encoder =
  match v with
  | Match_three_statistics_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Match_three_statistics_first -> Pbrt.Encoder.int_as_varint 1 encoder
  | Match_three_statistics_second -> Pbrt.Encoder.int_as_varint 2 encoder
  | Match_three_statistics_third -> Pbrt.Encoder.int_as_varint 3 encoder
  | Match_three_statistics_fruit -> Pbrt.Encoder.int_as_varint 4 encoder
  | Match_three_statistics_skill -> Pbrt.Encoder.int_as_varint 5 encoder
  | Match_three_statistics_defeat -> Pbrt.Encoder.int_as_varint 6 encoder
  | Match_three_statistics_bomb -> Pbrt.Encoder.int_as_varint 7 encoder
  | Match_three_statistics_damage -> Pbrt.Encoder.int_as_varint 8 encoder
  | Match_three_statistics_energy -> Pbrt.Encoder.int_as_varint 9 encoder
  | Match_three_statistics_swap_bomb -> Pbrt.Encoder.int_as_varint 10 encoder

let rec encode_pb_dagjmdgimmm (v:dagjmdgimmm) encoder = 
()

let rec encode_pb_ngdfidbleeg (v:ngdfidbleeg) encoder = 
  Pbrt.Encoder.int32_as_varint v.dfmnolgmcag encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lcmkbhbmdob encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ibilogboici (v:ibilogboici) encoder = 
  Pbrt.Encoder.int32_as_varint v.kkgeojnphcn encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.count encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pos encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.eoegloalcho encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dfopglpmagj (v:dfopglpmagj) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ngdfidbleeg x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.bojmeheaade encoder;
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.int32_as_varint x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.pjbahhanmfh encoder;
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.int32_as_varint x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.agmoeffpkfe encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ibilogboici x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.blnfdkplien encoder;
  ()

let rec encode_pb_ecppcfackjp (v:ecppcfackjp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  begin match v.khliailcpno with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dfopglpmagj x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_cpfflpikfcj (v:cpfflpikfcj) encoder = 
  Pbrt.Encoder.int32_as_varint v.dfmnolgmcag encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lcmkbhbmdob encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ebibccdkihb encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.eoegloalcho encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.mbmegghhkjl encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.int32_as_varint x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.agmoeffpkfe encoder;
  Pbrt.Encoder.int32_as_varint v.kkgeojnphcn encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bcoocleapmc (v:bcoocleapmc) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lcmkbhbmdob encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dfmnolgmcag encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_llldfbeojkh (v:llldfbeojkh) encoder = 
  begin match v.khliailcpno with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dfopglpmagj x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ieggdbjkahf (v:ieggdbjkahf) encoder = 
  Pbrt.Encoder.int32_as_varint v.pos encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kkgeojnphcn encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lkddgonhhma (v:lkddgonhhma) encoder = 
  Pbrt.Encoder.int32_as_varint v.pos encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kkgeojnphcn encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_menenehdenk (v:menenehdenk) encoder =
  match v with
  | Cmd_message_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_finish_item_id_sc_rsp -> Pbrt.Encoder.int_as_varint 2793 encoder
  | Cmd_finish_perform_section_id_sc_rsp -> Pbrt.Encoder.int_as_varint 2733 encoder
  | Cmd_finish_section_id_sc_rsp -> Pbrt.Encoder.int_as_varint 2729 encoder
  | Cmd_finish_section_id_cs_req -> Pbrt.Encoder.int_as_varint 2739 encoder
  | Cmd_get_npc_message_group_sc_rsp -> Pbrt.Encoder.int_as_varint 2706 encoder
  | Cmd_finish_perform_section_id_cs_req -> Pbrt.Encoder.int_as_varint 2751 encoder
  | Cmd_finish_item_id_cs_req -> Pbrt.Encoder.int_as_varint 2756 encoder
  | Cmd_get_npc_status_sc_rsp -> Pbrt.Encoder.int_as_varint 2743 encoder
  | Cmd_get_npc_message_group_cs_req -> Pbrt.Encoder.int_as_varint 2768 encoder
  | Cmd_get_npc_status_cs_req -> Pbrt.Encoder.int_as_varint 2711 encoder

let rec encode_pb_ielhgjjhmeg (v:ielhgjjhmeg) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ebbgmahfino encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_jlibphmclik (v:jlibphmclik) encoder = 
  Pbrt.Encoder.int32_as_varint v.oohldgfnabj encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fmnjhfhbjdi (v:fmnjhfhbjdi) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.mcpchaempop encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jlibphmclik x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.pdpfcfglgco encoder;
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  encode_pb_jnmfgfjpeim v.status encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hiiadaioiip encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_adgfohedeog (v:adgfohedeog) encoder = 
  Pbrt.Encoder.int64_as_varint v.cbclgknhnib encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.flnokepmaph encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_fmnjhfhbjdi x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.kkadhofegle encoder;
  encode_pb_pbcofiploko v.status encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dapaodjlepf (v:dapaodjlepf) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_adgfohedeog x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.gimdcaalgei encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gpaafmajnie (v:gpaafmajnie) encoder = 
()

let rec encode_pb_gopahcfeind (v:gopahcfeind) encoder = 
  Pbrt.Encoder.bool v.hdnieedkagk encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pnigjhppmln encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dejjkifldfb (v:dejjkifldfb) encoder = 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.cbclgknhnib encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  encode_pb_pbcofiploko v.ppfbnlefano encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jnicjgmnafm (v:jnicjgmnafm) encoder = 
  encode_pb_jnmfgfjpeim v.lpfpcbhelle encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgkmoddpamj encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ecofcnjhkli (v:ecofcnjhkli) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_gopahcfeind x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.bjhgmjdmodb encoder;
  ()

let rec encode_pb_bgehccfmoje (v:bgehccfmoje) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.oohldgfnabj encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pahneciakhd (v:pahneciakhd) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.oohldgfnabj encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cdnampmbamd (v:cdnampmbamd) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgkmoddpamj encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_admghjdoklf (v:admghjdoklf) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgkmoddpamj encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ibpiaefkdgp (v:ibpiaefkdgp) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgkmoddpamj encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jlibphmclik x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.pdpfcfglgco encoder;
  ()

let rec encode_pb_hndgmaplmgk (v:hndgmaplmgk) encoder = 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jlibphmclik x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.pdpfcfglgco encoder;
  Pbrt.Encoder.int32_as_varint v.hgkmoddpamj encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mnnpgmjjgml (v:mnnpgmjjgml) encoder =
  match v with
  | Cmd_misc_module_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_difficulty_adjustment_update_data_sc_rsp -> Pbrt.Encoder.int_as_varint 4123 encoder
  | Cmd_submit_origami_item_cs_req -> Pbrt.Encoder.int_as_varint 4182 encoder
  | Cmd_difficulty_adjustment_update_data_cs_req -> Pbrt.Encoder.int_as_varint 4184 encoder
  | Cmd_security_report_sc_rsp -> Pbrt.Encoder.int_as_varint 4154 encoder
  | Cmd_get_gun_play_data_sc_rsp -> Pbrt.Encoder.int_as_varint 4188 encoder
  | Cmd_difficulty_adjustment_get_data_cs_req -> Pbrt.Encoder.int_as_varint 4132 encoder
  | Cmd_get_movie_racing_data_cs_req -> Pbrt.Encoder.int_as_varint 4117 encoder
  | Cmd_get_share_data_sc_rsp -> Pbrt.Encoder.int_as_varint 4143 encoder
  | Cmd_difficulty_adjustment_get_data_sc_rsp -> Pbrt.Encoder.int_as_varint 4116 encoder
  | Cmd_security_report_cs_req -> Pbrt.Encoder.int_as_varint 4199 encoder
  | Cmd_cancel_cache_notify_cs_req -> Pbrt.Encoder.int_as_varint 4151 encoder
  | Cmd_share_cs_req -> Pbrt.Encoder.int_as_varint 4168 encoder
  | Cmd_get_share_data_cs_req -> Pbrt.Encoder.int_as_varint 4111 encoder
  | Cmd_take_picture_sc_rsp -> Pbrt.Encoder.int_as_varint 4193 encoder
  | Cmd_cancel_cache_notify_sc_rsp -> Pbrt.Encoder.int_as_varint 4133 encoder
  | Cmd_update_gun_play_data_sc_rsp -> Pbrt.Encoder.int_as_varint 4181 encoder
  | Cmd_get_gun_play_data_cs_req -> Pbrt.Encoder.int_as_varint 4109 encoder
  | Cmd_take_picture_cs_req -> Pbrt.Encoder.int_as_varint 4156 encoder
  | Cmd_get_movie_racing_data_sc_rsp -> Pbrt.Encoder.int_as_varint 4192 encoder
  | Cmd_update_movie_racing_data_sc_rsp -> Pbrt.Encoder.int_as_varint 4128 encoder
  | Cmd_share_sc_rsp -> Pbrt.Encoder.int_as_varint 4106 encoder
  | Cmd_trigger_voice_sc_rsp -> Pbrt.Encoder.int_as_varint 4148 encoder
  | Cmd_update_gun_play_data_cs_req -> Pbrt.Encoder.int_as_varint 4108 encoder
  | Cmd_update_movie_racing_data_cs_req -> Pbrt.Encoder.int_as_varint 4190 encoder
  | Cmd_submit_origami_item_sc_rsp -> Pbrt.Encoder.int_as_varint 4134 encoder
  | Cmd_trigger_voice_cs_req -> Pbrt.Encoder.int_as_varint 4165 encoder

let rec encode_pb_mcfficiioho (v:mcfficiioho) encoder =
  match v with
  | Cache_notify_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cache_notify_type_recycle -> Pbrt.Encoder.int_as_varint 1 encoder
  | Cache_notify_type_recharge -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_gnankafabkp (v:gnankafabkp) encoder =
  match v with
  | Movie_racing_over_take -> Pbrt.Encoder.int_as_varint (0) encoder
  | Movie_racing_over_take_endless -> Pbrt.Encoder.int_as_varint 1 encoder
  | Movie_racing_shooting -> Pbrt.Encoder.int_as_varint 2 encoder
  | Movie_racing_shooting_endless -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_gdkighgodkj (v:gdkighgodkj) encoder =
  match v with
  | Difficulty_ajustment_type_default -> Pbrt.Encoder.int_as_varint (0) encoder
  | Difficulty_ajustment_type_easy -> Pbrt.Encoder.int_as_varint 1 encoder

let rec encode_pb_pchdmnlenjo (v:pchdmnlenjo) encoder =
  match v with
  | Difficulty_ajustment_source_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Difficulty_ajustment_source_raid -> Pbrt.Encoder.int_as_varint 1 encoder
  | Difficulty_ajustment_source_event -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_cimoknigome (v:cimoknigome) encoder = 
  Pbrt.Encoder.int32_as_varint v.kbelpfdopde encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fjmmkcjfnfi (v:fjmmkcjfnfi) encoder = 
  Pbrt.Encoder.int32_as_varint v.kbelpfdopde encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jllfcnnhobk encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ddbejjkchmi (v:ddbejjkchmi) encoder = 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.dcacgeojnnn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fjmmkcjfnfi x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_eifoakckafl (v:eifoakckafl) encoder = 
()

let rec encode_pb_jnmjhnkonli (v:jnmjhnkonli) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_fjmmkcjfnfi x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.lkanmknegeh encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mnbegceholg (v:mnbegceholg) encoder = 
()

let rec encode_pb_gcjmjchkhcj (v:gcjmjchkhcj) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_oglabaalopb (v:oglabaalopb) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.hjgdifcandc encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.empkpmmfmof encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fgmdoekgpee encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hbmmebdbdaa (v:hbmmebdbdaa) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_oglabaalopb x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.afknhaijkmd encoder;
  ()

let rec encode_pb_dicmfnmipif (v:dicmfnmipif) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hgeajlclkpg (v:hgeajlclkpg) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.string x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.pldifcohmkm encoder;
  encode_pb_mcfficiioho v.fgmdoekgpee encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.hccjhiilppi encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_onblgihcbeh (v:onblgihcbeh) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lfbcmjdgkii (v:lfbcmjdgkii) encoder = 
  Pbrt.Encoder.string v.ipnkbphbnco encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_hkbpkcfanoa (v:hkbpkcfanoa) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lpmaoheeohn (v:lpmaoheeohn) encoder = 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cifpalnlidj encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  encode_pb_gnankafabkp v.fgmdoekgpee encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fikedopgmdl encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mbkinmiiklg (v:mbkinmiiklg) encoder = 
()

let rec encode_pb_pfenlcjgjhb (v:pfenlcjgjhb) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_lpmaoheeohn x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.pnlfdfhaejh encoder;
  ()

let rec encode_pb_ogjjlnpokco (v:ogjjlnpokco) encoder = 
  begin match v.ejoalpnccgc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lpmaoheeohn x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_jibjbnbadcp (v:jibjbnbadcp) encoder = 
  begin match v.ejoalpnccgc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lpmaoheeohn x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fdiljlmlmhp (v:fdiljlmlmhp) encoder = 
  Pbrt.Encoder.int32_as_varint v.fljmjmfonan encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pffiiiednci (v:pffiiiednci) encoder = 
  Pbrt.Encoder.int32_as_varint v.fljmjmfonan encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dpnmfccfjbe (v:dpnmfccfjbe) encoder = 
  Pbrt.Encoder.int32_as_varint v.jkaodlmplme encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fikedopgmdl encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.jpinjmnfgec encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pckhbnhnkab (v:pckhbnhnkab) encoder = 
()

let rec encode_pb_impcibghklj (v:impcibghklj) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_dpnmfccfjbe x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.hbomckbjaif encoder;
  ()

let rec encode_pb_alhadjbdlmh (v:alhadjbdlmh) encoder = 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  begin match v.kgmjhehlioi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dpnmfccfjbe x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.ecgebkmcfcn encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.mbmegghhkjl encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hgnbbdiojbh (v:hgnbbdiojbh) encoder = 
  begin match v.kgmjhehlioi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dpnmfccfjbe x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ffimgfmpcdg (v:ffimgfmpcdg) encoder = 
  encode_pb_gdkighgodkj v.lnmamccmdpa encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  encode_pb_pchdmnlenjo v.cbjpfggchfh encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ldfaedmjpnj (v:ldfaedmjpnj) encoder = 
()

let rec encode_pb_mgopkflejhe (v:mgopkflejhe) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ffimgfmpcdg x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.haeppfknbnm encoder;
  ()

let rec encode_pb_gnicmkcbepl (v:gnicmkcbepl) encoder = 
  begin match v.data with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ffimgfmpcdg x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bmbfidhchpd (v:bmbfidhchpd) encoder = 
  begin match v.data with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ffimgfmpcdg x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ffimgfmpcdg x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.haeppfknbnm encoder;
  ()

let rec encode_pb_llohcehmngd (v:llohcehmngd) encoder =
  match v with
  | Cmd_mission_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_daily_task_data_sc_notify -> Pbrt.Encoder.int_as_varint 1229 encoder
  | Cmd_accept_mission_event_sc_rsp -> Pbrt.Encoder.int_as_varint 1225 encoder
  | Cmd_sync_task_cs_req -> Pbrt.Encoder.int_as_varint 1293 encoder
  | Cmd_mission_accept_sc_notify -> Pbrt.Encoder.int_as_varint 1249 encoder
  | Cmd_set_mission_event_progress_sc_rsp -> Pbrt.Encoder.int_as_varint 1209 encoder
  | Cmd_set_mission_event_progress_cs_req -> Pbrt.Encoder.int_as_varint 1228 encoder
  | Cmd_start_finish_sub_mission_sc_notify -> Pbrt.Encoder.int_as_varint 1232 encoder
  | Cmd_mission_group_warn_sc_notify -> Pbrt.Encoder.int_as_varint 1254 encoder
  | Cmd_get_mission_status_sc_rsp -> Pbrt.Encoder.int_as_varint 1217 encoder
  | Cmd_get_mission_data_cs_req -> Pbrt.Encoder.int_as_varint 1268 encoder
  | Cmd_finish_cosume_item_mission_cs_req -> Pbrt.Encoder.int_as_varint 1265 encoder
  | Cmd_accept_main_mission_sc_rsp -> Pbrt.Encoder.int_as_varint 1223 encoder
  | Cmd_get_mission_status_cs_req -> Pbrt.Encoder.int_as_varint 1224 encoder
  | Cmd_get_mission_event_data_sc_rsp -> Pbrt.Encoder.int_as_varint 1234 encoder
  | Cmd_finish_talk_mission_sc_rsp -> Pbrt.Encoder.int_as_varint 1243 encoder
  | Cmd_sync_task_sc_rsp -> Pbrt.Encoder.int_as_varint 1239 encoder
  | Cmd_finish_cosume_item_mission_sc_rsp -> Pbrt.Encoder.int_as_varint 1248 encoder
  | Cmd_accept_main_mission_cs_req -> Pbrt.Encoder.int_as_varint 1284 encoder
  | Cmd_get_main_mission_custom_value_sc_rsp -> Pbrt.Encoder.int_as_varint 1276 encoder
  | Cmd_start_finish_main_mission_sc_notify -> Pbrt.Encoder.int_as_varint 1216 encoder
  | Cmd_sub_mission_reward_sc_notify -> Pbrt.Encoder.int_as_varint 1288 encoder
  | Cmd_interrupt_mission_event_cs_req -> Pbrt.Encoder.int_as_varint 1292 encoder
  | Cmd_get_mission_data_sc_rsp -> Pbrt.Encoder.int_as_varint 1206 encoder
  | Cmd_finish_talk_mission_cs_req -> Pbrt.Encoder.int_as_varint 1211 encoder
  | Cmd_get_mission_event_data_cs_req -> Pbrt.Encoder.int_as_varint 1282 encoder
  | Cmd_teleport_to_mission_reset_point_sc_rsp -> Pbrt.Encoder.int_as_varint 1281 encoder
  | Cmd_get_main_mission_custom_value_cs_req -> Pbrt.Encoder.int_as_varint 1278 encoder
  | Cmd_mission_event_reward_sc_notify -> Pbrt.Encoder.int_as_varint 1297 encoder
  | Cmd_mission_reward_sc_notify -> Pbrt.Encoder.int_as_varint 1256 encoder
  | Cmd_update_track_main_mission_id_sc_rsp -> Pbrt.Encoder.int_as_varint 1246 encoder
  | Cmd_accept_mission_event_cs_req -> Pbrt.Encoder.int_as_varint 1298 encoder
  | Cmd_update_track_main_mission_id_cs_req -> Pbrt.Encoder.int_as_varint 1266 encoder
  | Cmd_teleport_to_mission_reset_point_cs_req -> Pbrt.Encoder.int_as_varint 1208 encoder
  | Cmd_interrupt_mission_event_sc_rsp -> Pbrt.Encoder.int_as_varint 1290 encoder

let rec encode_pb_kefklcglpbb (v:kefklcglpbb) encoder =
  match v with
  | Mission_sync_record_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Mission_sync_record_main_mission_accept -> Pbrt.Encoder.int_as_varint 1 encoder
  | Mission_sync_record_main_mission_start -> Pbrt.Encoder.int_as_varint 2 encoder
  | Mission_sync_record_main_mission_finish -> Pbrt.Encoder.int_as_varint 3 encoder
  | Mission_sync_record_main_mission_delete -> Pbrt.Encoder.int_as_varint 4 encoder
  | Mission_sync_record_mission_accept -> Pbrt.Encoder.int_as_varint 11 encoder
  | Mission_sync_record_mission_start -> Pbrt.Encoder.int_as_varint 12 encoder
  | Mission_sync_record_mission_finish -> Pbrt.Encoder.int_as_varint 13 encoder
  | Mission_sync_record_mission_delete -> Pbrt.Encoder.int_as_varint 14 encoder
  | Mission_sync_record_mission_progress -> Pbrt.Encoder.int_as_varint 15 encoder

let rec encode_pb_kgmjpadefpp (v:kgmjpadefpp) encoder =
  match v with
  | Main_mission_sync_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Main_mission_sync_mcv -> Pbrt.Encoder.int_as_varint 1 encoder

let rec encode_pb_hkmebfmeeko (v:hkmebfmeeko) encoder =
  match v with
  | Track_main_mission_update_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Track_main_mission_update_auto -> Pbrt.Encoder.int_as_varint 1 encoder
  | Track_main_mission_update_manual -> Pbrt.Encoder.int_as_varint 2 encoder
  | Track_main_mission_update_login_report -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_gnefnfaflgi (v:gnefnfaflgi) encoder = 
()

let rec encode_pb_ihgeeangifc (v:ihgeeangifc) encoder = 
  encode_pb_kefklcglpbb v.fgmdoekgpee encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.iihookopmmk encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pbnceknojon (v:pbnceknojon) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jbianonhjfo x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.klmfdjlahkg encoder;
  encode_pb_mission_status v.status encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dlompnobmja (v:dlompnobmja) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  begin match v.klmfdjlahkg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hhmofllojag x encoder;
    Pbrt.Encoder.key 649 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_eeapjcmdjml (v:eeapjcmdjml) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pbnceknojon x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.efmknejbpdn encoder;
  Pbrt.Encoder.bool v.nbgdkmbadki encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kcpgeandlei encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mission x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.hjnfpofkanm encoder;
  ()

let rec encode_pb_eaonfecplik (v:eaonfecplik) encoder = 
  Pbrt.Encoder.int32_as_varint v.idlneeekpjl encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_aicicamofge (v:aicicamofge) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.idlneeekpjl encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ahconmhbloa (v:ahconmhbloa) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jbianonhjfo x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.klmfdjlahkg encoder;
  Pbrt.Encoder.int32_as_varint v.clkbeandjfm encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.gkanpgfhgpc encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_kodjldnfgop (v:kodjldnfgop) encoder = 
  Pbrt.Encoder.int32_as_varint v.clkbeandjfm encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.gkanpgfhgpc encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jbianonhjfo x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ) v.klmfdjlahkg encoder;
  ()

let rec encode_pb_onepplibcki (v:onepplibcki) encoder = 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.idlneeekpjl encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.clkbeandjfm encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kocancofkjn (v:kocancofkjn) encoder = 
  Pbrt.Encoder.int32_as_varint v.clkbeandjfm encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ekamlkohmlm (v:ekamlkohmlm) encoder = 
  Pbrt.Encoder.string v.pfmlckgckob encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_afifpimnnfo (v:afifpimnnfo) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.pfmlckgckob encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_dbddhlanhnh (v:dbddhlanhnh) encoder = 
  Pbrt.Encoder.int32_as_varint v.idlneeekpjl encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.nhbjkfibgbk encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_egnbldpighd (v:egnbldpighd) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_dbddhlanhnh x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.emfdkaekpcm encoder;
  Pbrt.Encoder.int32_as_varint v.paefafilbjg encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lpmbfoclibj (v:lpmbfoclibj) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.fddhalpeaon encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_mdnpngbibbi (v:mdnpngbibbi) encoder = 
  begin match v.pdpfcfglgco with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.clkbeandjfm encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pjefcmjonic (v:pjefcmjonic) encoder = 
  Pbrt.Encoder.int32_as_varint v.clkbeandjfm encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hipfnccdlia (v:hipfnccdlia) encoder = 
()

let rec encode_pb_gmbggkdligk (v:gmbggkdligk) encoder = 
  Pbrt.Encoder.int32_as_varint v.nhfpcalobcc encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mission x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.mkbbddpdmoi encoder;
  ()

let rec encode_pb_mimakllblna (v:mimakllblna) encoder = 
  Pbrt.Encoder.int32_as_varint v.fajohchbaen encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_kecfpmdiopb (v:kecfpmdiopb) encoder = 
  Pbrt.Encoder.int32_as_varint v.fajohchbaen encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hpgplgcbcbe (v:hpgplgcbcbe) encoder = 
  begin match v.fpgjpmgijom with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mission x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_get_mission_status_cs_req (v:get_mission_status_cs_req) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.mission_event_id_list encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.main_mission_id_list encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.sub_mission_id_list encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_get_mission_status_sc_rsp (v:get_mission_status_sc_rsp) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mission x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.mission_event_status_list encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.finished_main_mission_id_list encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mission x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.sub_mission_status_list encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.unfinished_main_mission_id_list encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_klciikcjohp x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.main_mission_mcv_list encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.disabled_main_mission_id_list encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_nhkdfjaklfc (v:nhkdfjaklfc) encoder = 
  Pbrt.Encoder.int32_as_varint v.fajohchbaen encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ccolbngjjka (v:ccolbngjjka) encoder = 
  Pbrt.Encoder.int32_as_varint v.fajohchbaen encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bmolkdbaold (v:bmolkdbaold) encoder = 
  Pbrt.Encoder.int32_as_varint v.fajohchbaen encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.progress encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pahbclhfcoi (v:pahbclhfcoi) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jknakoeidkk (v:jknakoeidkk) encoder = 
()

let rec encode_pb_hkcpodmepff (v:hkcpodmepff) encoder = 
  Pbrt.Encoder.int32_as_varint v.micgnniimak encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  begin match v.jililehmdkg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_motion_info x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_gohnnldpomc (v:gohnnldpomc) encoder = 
  Pbrt.Encoder.int32_as_varint v.clkbeandjfm encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kgdjnmoibdn (v:kgdjnmoibdn) encoder = 
  Pbrt.Encoder.int32_as_varint v.idlneeekpjl encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lliikjdjobb (v:lliikjdjobb) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.mission_event_id_list encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_cabdaemkaha (v:cabdaemkaha) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pbnceknojon x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.efmknejbpdn encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nabdijonbia (v:nabdijonbia) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.sub_mission_id_list encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_epchbjbjcck (v:epchbjbjcck) encoder = 
  Pbrt.Encoder.int32_as_varint v.kcpgeandlei encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ngeicmomnee encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  encode_pb_hkmebfmeeko v.gajbbcihmlg encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_khconlgbnkp (v:khconlgbnkp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ilgfnknhjea encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kcpgeandlei encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_phjadhpnljo (v:phjadhpnljo) encoder =
  match v with
  | Cmd_monopoly_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_monopoly_scrach_raffle_ticket_sc_rsp -> Pbrt.Encoder.int_as_varint 7050 encoder
  | Cmd_monopoly_move_sc_rsp -> Pbrt.Encoder.int_as_varint 7051 encoder
  | Cmd_get_monopoly_friend_ranking_list_cs_req -> Pbrt.Encoder.int_as_varint 7058 encoder
  | Cmd_monopoly_re_roll_random_sc_rsp -> Pbrt.Encoder.int_as_varint 7098 encoder
  | Cmd_monopoly_game_gacha_cs_req -> Pbrt.Encoder.int_as_varint 7078 encoder
  | Cmd_get_monopoly_friend_ranking_list_sc_rsp -> Pbrt.Encoder.int_as_varint 7047 encoder
  | Cmd_monopoly_guess_draw_sc_notify -> Pbrt.Encoder.int_as_varint 7067 encoder
  | Cmd_monopoly_get_region_progress_sc_rsp -> Pbrt.Encoder.int_as_varint 7005 encoder
  | Cmd_get_monopoly_info_cs_req -> Pbrt.Encoder.int_as_varint 7068 encoder
  | Cmd_monopoly_buy_goods_cs_req -> Pbrt.Encoder.int_as_varint 7017 encoder
  | Cmd_monopoly_take_phase_reward_cs_req -> Pbrt.Encoder.int_as_varint 7061 encoder
  | Cmd_monopoly_game_raise_ratio_cs_req -> Pbrt.Encoder.int_as_varint 7016 encoder
  | Cmd_monopoly_select_option_cs_req -> Pbrt.Encoder.int_as_varint 7033 encoder
  | Cmd_monopoly_get_raffle_ticket_cs_req -> Pbrt.Encoder.int_as_varint 7042 encoder
  | Cmd_monopoly_cell_update_notify -> Pbrt.Encoder.int_as_varint 7043 encoder
  | Cmd_get_monopoly_mbti_report_reward_cs_req -> Pbrt.Encoder.int_as_varint 7062 encoder
  | Cmd_daily_first_enter_monopoly_activity_sc_rsp -> Pbrt.Encoder.int_as_varint 7048 encoder
  | Cmd_delete_social_event_server_cache_sc_rsp -> Pbrt.Encoder.int_as_varint 7073 encoder
  | Cmd_monopoly_guess_buy_information_cs_req -> Pbrt.Encoder.int_as_varint 7089 encoder
  | Cmd_monopoly_give_up_cur_content_cs_req -> Pbrt.Encoder.int_as_varint 7009 encoder
  | Cmd_monopoly_action_result_sc_notify -> Pbrt.Encoder.int_as_varint 7011 encoder
  | Cmd_monopoly_move_cs_req -> Pbrt.Encoder.int_as_varint 7029 encoder
  | Cmd_monopoly_upgrade_asset_cs_req -> Pbrt.Encoder.int_as_varint 7090 encoder
  | Cmd_monopoly_like_cs_req -> Pbrt.Encoder.int_as_varint 7059 encoder
  | Cmd_monopoly_click_mbti_report_cs_req -> Pbrt.Encoder.int_as_varint 7038 encoder
  | Cmd_monopoly_game_raise_ratio_sc_rsp -> Pbrt.Encoder.int_as_varint 7084 encoder
  | Cmd_monopoly_cheat_dice_cs_req -> Pbrt.Encoder.int_as_varint 7008 encoder
  | Cmd_get_monopoly_mbti_report_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 7001 encoder
  | Cmd_monopoly_game_bingo_flip_card_sc_rsp -> Pbrt.Encoder.int_as_varint 7045 encoder
  | Cmd_monopoly_roll_random_cs_req -> Pbrt.Encoder.int_as_varint 7082 encoder
  | Cmd_monopoly_guess_choose_sc_rsp -> Pbrt.Encoder.int_as_varint 7095 encoder
  | Cmd_monopoly_give_up_cur_content_sc_rsp -> Pbrt.Encoder.int_as_varint 7088 encoder
  | Cmd_monopoly_roll_dice_cs_req -> Pbrt.Encoder.int_as_varint 7093 encoder
  | Cmd_get_monopoly_info_sc_rsp -> Pbrt.Encoder.int_as_varint 7006 encoder
  | Cmd_monopoly_confirm_random_cs_req -> Pbrt.Encoder.int_as_varint 7025 encoder
  | Cmd_monopoly_daily_settle_sc_notify -> Pbrt.Encoder.int_as_varint 7053 encoder
  | Cmd_get_monopoly_daily_report_sc_rsp -> Pbrt.Encoder.int_as_varint 7020 encoder
  | Cmd_get_social_event_server_cache_cs_req -> Pbrt.Encoder.int_as_varint 7022 encoder
  | Cmd_monopoly_game_settle_sc_notify -> Pbrt.Encoder.int_as_varint 7023 encoder
  | Cmd_monopoly_event_load_update_sc_notify -> Pbrt.Encoder.int_as_varint 7052 encoder
  | Cmd_monopoly_accept_quiz_cs_req -> Pbrt.Encoder.int_as_varint 7066 encoder
  | Cmd_monopoly_content_update_sc_notify -> Pbrt.Encoder.int_as_varint 7032 encoder
  | Cmd_monopoly_get_daily_init_item_cs_req -> Pbrt.Encoder.int_as_varint 7077 encoder
  | Cmd_monopoly_get_raffle_ticket_sc_rsp -> Pbrt.Encoder.int_as_varint 7083 encoder
  | Cmd_monopoly_re_roll_random_cs_req -> Pbrt.Encoder.int_as_varint 7097 encoder
  | Cmd_monopoly_like_sc_notify -> Pbrt.Encoder.int_as_varint 7041 encoder
  | Cmd_monopoly_game_gacha_sc_rsp -> Pbrt.Encoder.int_as_varint 7076 encoder
  | Cmd_get_social_event_server_cache_sc_rsp -> Pbrt.Encoder.int_as_varint 7021 encoder
  | Cmd_monopoly_get_region_progress_cs_req -> Pbrt.Encoder.int_as_varint 7072 encoder
  | Cmd_monopoly_social_event_effect_sc_notify -> Pbrt.Encoder.int_as_varint 7014 encoder
  | Cmd_monopoly_get_raffle_pool_info_cs_req -> Pbrt.Encoder.int_as_varint 7064 encoder
  | Cmd_monopoly_roll_random_sc_rsp -> Pbrt.Encoder.int_as_varint 7034 encoder
  | Cmd_monopoly_get_raffle_pool_info_sc_rsp -> Pbrt.Encoder.int_as_varint 7070 encoder
  | Cmd_monopoly_like_sc_rsp -> Pbrt.Encoder.int_as_varint 7007 encoder
  | Cmd_monopoly_click_cell_sc_rsp -> Pbrt.Encoder.int_as_varint 7027 encoder
  | Cmd_monopoly_upgrade_asset_sc_rsp -> Pbrt.Encoder.int_as_varint 7028 encoder
  | Cmd_monopoly_game_bingo_flip_card_cs_req -> Pbrt.Encoder.int_as_varint 7049 encoder
  | Cmd_monopoly_click_mbti_report_sc_rsp -> Pbrt.Encoder.int_as_varint 7080 encoder
  | Cmd_monopoly_get_daily_init_item_sc_rsp -> Pbrt.Encoder.int_as_varint 7055 encoder
  | Cmd_monopoly_event_select_friend_cs_req -> Pbrt.Encoder.int_as_varint 7026 encoder
  | Cmd_monopoly_take_raffle_ticket_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 7036 encoder
  | Cmd_monopoly_roll_dice_sc_rsp -> Pbrt.Encoder.int_as_varint 7039 encoder
  | Cmd_monopoly_cheat_dice_sc_rsp -> Pbrt.Encoder.int_as_varint 7081 encoder
  | Cmd_get_mbti_report_sc_rsp -> Pbrt.Encoder.int_as_varint 7003 encoder
  | Cmd_monopoly_condition_update_sc_notify -> Pbrt.Encoder.int_as_varint 7063 encoder
  | Cmd_monopoly_select_option_sc_rsp -> Pbrt.Encoder.int_as_varint 7099 encoder
  | Cmd_monopoly_game_create_sc_notify -> Pbrt.Encoder.int_as_varint 7012 encoder
  | Cmd_monopoly_guess_buy_information_sc_rsp -> Pbrt.Encoder.int_as_varint 7069 encoder
  | Cmd_monopoly_quiz_duration_change_sc_notify -> Pbrt.Encoder.int_as_varint 7015 encoder
  | Cmd_monopoly_take_phase_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 7079 encoder
  | Cmd_get_mbti_report_cs_req -> Pbrt.Encoder.int_as_varint 7031 encoder
  | Cmd_monopoly_buy_goods_sc_rsp -> Pbrt.Encoder.int_as_varint 7092 encoder
  | Cmd_monopoly_accept_quiz_sc_rsp -> Pbrt.Encoder.int_as_varint 7046 encoder
  | Cmd_get_monopoly_daily_report_cs_req -> Pbrt.Encoder.int_as_varint 7091 encoder
  | Cmd_monopoly_stt_update_sc_notify -> Pbrt.Encoder.int_as_varint 7002 encoder
  | Cmd_monopoly_take_raffle_ticket_reward_cs_req -> Pbrt.Encoder.int_as_varint 7096 encoder
  | Cmd_monopoly_guess_choose_cs_req -> Pbrt.Encoder.int_as_varint 7030 encoder
  | Cmd_monopoly_event_select_friend_sc_rsp -> Pbrt.Encoder.int_as_varint 7013 encoder
  | Cmd_daily_first_enter_monopoly_activity_cs_req -> Pbrt.Encoder.int_as_varint 7065 encoder
  | Cmd_monopoly_confirm_random_sc_rsp -> Pbrt.Encoder.int_as_varint 7024 encoder
  | Cmd_delete_social_event_server_cache_cs_req -> Pbrt.Encoder.int_as_varint 7071 encoder
  | Cmd_monopoly_scrach_raffle_ticket_cs_req -> Pbrt.Encoder.int_as_varint 7010 encoder
  | Cmd_monopoly_click_cell_cs_req -> Pbrt.Encoder.int_as_varint 7057 encoder

let rec encode_pb_nbbdamgnjpn (v:nbbdamgnjpn) encoder =
  match v with
  | Monopoly_social_event_status_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Monopoly_social_event_status_waiting_select_friend -> Pbrt.Encoder.int_as_varint 1 encoder

let rec encode_pb_efjdphpapii (v:efjdphpapii) encoder =
  match v with
  | Monopoly_cell_state_idle -> Pbrt.Encoder.int_as_varint (0) encoder
  | Monopoly_cell_state_barrier -> Pbrt.Encoder.int_as_varint 1 encoder
  | Monopoly_cell_state_ground -> Pbrt.Encoder.int_as_varint 2 encoder
  | Monopoly_cell_state_finish -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_ciaoikeanea (v:ciaoikeanea) encoder =
  match v with
  | Monopoly_action_result_source_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Monopoly_action_result_source_type_effect -> Pbrt.Encoder.int_as_varint 1 encoder
  | Monopoly_action_result_source_type_asset_bonus -> Pbrt.Encoder.int_as_varint 2 encoder
  | Monopoly_action_result_source_type_asset_tax -> Pbrt.Encoder.int_as_varint 3 encoder
  | Monopoly_action_result_source_type_asset_upgrade -> Pbrt.Encoder.int_as_varint 4 encoder
  | Monopoly_action_result_source_type_game_settle -> Pbrt.Encoder.int_as_varint 5 encoder
  | Monopoly_action_result_source_type_buy_goods -> Pbrt.Encoder.int_as_varint 6 encoder
  | Monopoly_action_result_source_type_click -> Pbrt.Encoder.int_as_varint 7 encoder
  | Monopoly_action_result_source_type_social_event -> Pbrt.Encoder.int_as_varint 8 encoder
  | Monopoly_action_result_source_type_like -> Pbrt.Encoder.int_as_varint 9 encoder
  | Monopoly_action_result_source_type_quiz_game_settle -> Pbrt.Encoder.int_as_varint 10 encoder

let rec encode_pb_dgidimidfpn (v:dgidimidfpn) encoder = 
()

let rec encode_pb_joepajdgphk (v:joepajdgphk) encoder = 
  Pbrt.Encoder.bool v.clnpkcniekd encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ppjbokfgmjh encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.minoahpjnmh encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dbgaojmndmc encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.kpjafhgjmne encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hngcgmnnlej encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mgghehlpfmh (v:mgghehlpfmh) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.nahadojjmfc encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  encode_pb_nbbdamgnjpn v.ckmejojcafi encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jhaibieoogh (v:jhaibieoogh) encoder = 
  Pbrt.Encoder.int32_as_varint v.ggbdddiffbd encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.progress encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ajofeagbhof (v:ajofeagbhof) encoder = 
  Pbrt.Encoder.int64_as_varint v.npokjeodakc encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.pedicfiaamc encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.mkideamcloh encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pohjkgbpdho (v:pohjkgbpdho) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ajofeagbhof x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.pdmjjhpbogd encoder;
  Pbrt.Encoder.int32_as_varint v.phimeblpkfi encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.dhkbkjkdnei encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ijccfagbnbc encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jhaibieoogh x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.pajlebhmocf encoder;
  Pbrt.Encoder.bool v.fmhcopcakec encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mphncdpfiaj encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.kopeolbbgel encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.ilcfognhfck encoder;
  Pbrt.Encoder.key 812 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.abmeooeakfk encoder;
  Pbrt.Encoder.key 1779 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.bnhepammdhc encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jhaibieoogh x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.ijabojodcao encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jhaibieoogh x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.bggigohgmmb encoder;
  Pbrt.Encoder.int32_as_varint v.bdcnikjepnp encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jhaibieoogh x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.elegbecbahh encoder;
  Pbrt.Encoder.string v.klodmjekmjj encoder;
  Pbrt.Encoder.key 1714 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.abggoedcbgi encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.cccchhlbkdn encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gioddoihlcn (v:gioddoihlcn) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pohjkgbpdho x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.pniomdhkgan encoder;
  ()

let rec encode_pb_lidhmbfbhao (v:lidhmbfbhao) encoder = 
  Pbrt.Encoder.int32_as_varint v.nchpghpfkkb encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.legjggfllkm encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ljmjpodbcae (v:ljmjpodbcae) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_lidhmbfbhao x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.khhhjkbcekl encoder;
  ()

let rec encode_pb_bocmnkonppn (v:bocmnkonppn) encoder = 
  Pbrt.Encoder.int32_as_varint v.lnjapmhfcck encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pbonhgdihdk encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  encode_pb_efjdphpapii v.fjaomhojlmn encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.molclcecklo encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_oopngmhcnnn (v:oopngmhcnnn) encoder = 
  Pbrt.Encoder.int32_as_varint v.bfgejigdmfh encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  begin match v.gedkbbfkdlm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bocmnkonppn x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_bocmnkonppn x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.gjbkhmihmif encoder;
  Pbrt.Encoder.int32_as_varint v.dhfdgnilgih encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_bocmnkonppn x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.mbgmhaapdce encoder;
  ()

let rec encode_pb_aihopmoclam (v:aihopmoclam) encoder = 
  Pbrt.Encoder.int32_as_varint v.nghdgacfjep encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ppdbmfkjpel encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pkkfndimmio encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ckffbacigpg (v:ckffbacigpg) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_aihopmoclam x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.buff_list encoder;
  ()

let rec encode_pb_defmcecjjbi (v:defmcecjjbi) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.jfpnkcbdief encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_eonniefdoci (v:eonniefdoci) encoder = 
  Pbrt.Encoder.int32_as_varint v.npholaehbkh encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.okpcgdecjgg encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.johpnmpfnia encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.aekimehjnkj encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bamhmcfcibo encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ddjolnlfedi encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cikefdlgdhi encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ebmiflnkgel encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dkppejnhahh encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kfbeaplbefb (v:kfbeaplbefb) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.fdobhgepecn encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.imiekbcbdhb encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_gkklbmppoic (v:gkklbmppoic) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.fhbjogfkibm encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.lbecppeobhb encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ihonjmelbij encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.bjcfdgchakl encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.nnoncigblll encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pignanpdklj (v:pignanpdklj) encoder = 
  Pbrt.Encoder.int32_as_varint v.gbohojajppb encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pfkglcgcmcj encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hgbafdfikfj (v:hgbafdfikfj) encoder = 
  Pbrt.Encoder.int32_as_varint v.hpmckfbmmhp encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jahclmgmafe encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.agifahnpich encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.pgidogdgncj encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gcbdccnejli encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pignanpdklj x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.aiialahiamp encoder;
  ()

let rec encode_pb_kkcblmehbff (v:kkcblmehbff) encoder = 
  Pbrt.Encoder.int32_as_varint v.onjlkkdkdbg encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.bghkmklgngf encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hkbeefmhlbb encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pcfeibpmokl (v:pcfeibpmokl) encoder = 
  Pbrt.Encoder.int32_as_varint v.jahpoofngeb encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nigmipgijon encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pfbnanpcdjh encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  begin match v.mapdfgdaddp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gkklbmppoic x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.ipcpibkdmib with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hgbafdfikfj x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.enagncneopb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kkcblmehbff x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_niojaoakejp (v:niojaoakejp) encoder = 
  Pbrt.Encoder.bool v.mekdpjkdapc encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dnhmlmodpnb encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jogiagpfdml (v:jogiagpfdml) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pcfeibpmokl x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.jhobbdnmfkb encoder;
  begin match v.enaildglncl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pcfeibpmokl x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.dalmjhmldgm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_niojaoakejp x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_fckifndejlc (v:fckifndejlc) encoder = 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pockofmndag (v:pockofmndag) encoder = 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_flijbnilblk (v:flijbnilblk) encoder = 
  Pbrt.Encoder.int32_as_varint v.ojkjbeilgdc encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fabndlfdfda encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.cgjnknmgjfo encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hdkjdnogijc (v:hdkjdnogijc) encoder = 
  Pbrt.Encoder.int32_as_varint v.legjggfllkm encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kdajldoonep (v:kdajldoonep) encoder = 
  Pbrt.Encoder.int32_as_varint v.fgohomljegm encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nfkbeabdapm (v:nfkbeabdapm) encoder = 
  Pbrt.Encoder.int32_as_varint v.hokpfbhcehj encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hofaekpedln (v:hofaekpedln) encoder = 
  Pbrt.Encoder.int32_as_varint v.ebdmffdjebm encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dhcakofmnjp encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gigdeinndjo (v:gigdeinndjo) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.cgjnknmgjfo encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.fabndlfdfda encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pinikigmpkm encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fmehjldopnj encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fmaebngghpd (v:fmaebngghpd) encoder = 
  Pbrt.Encoder.int32_as_varint v.nghdgacfjep encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  begin match v.ofjbcpnedpd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fckifndejlc x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.cflafjbmepk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pockofmndag x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.pkjhlljjldp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_flijbnilblk x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.nhgioeaffbe with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hdkjdnogijc x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.eemdaiemepm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kdajldoonep x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.hfcakgghnim with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_nfkbeabdapm x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.jmbhhodnidd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hofaekpedln x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.agpimeoajoj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gigdeinndjo x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.jocfgknbpdh with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bfinjohikfn x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

and encode_pb_bfinjohikfn (v:bfinjohikfn) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_fmaebngghpd x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.accbhmpbojc encoder;
  Pbrt.Encoder.int32_as_varint v.dojmahgdgcc encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_khdobjbgpnh (v:khdobjbgpnh) encoder = 
  begin match v.ckioboniohf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fmaebngghpd x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ebbnakjiafk (v:ebbnakjiafk) encoder = 
  begin match v.imbgbpepfnl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ljmjpodbcae x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.imelchpnpgc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_oopngmhcnnn x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.nhknhpjdhlh encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  begin match v.elfjfncodan with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mgghehlpfmh x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.pogejanpebj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ckffbacigpg x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.plolpndhblk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_defmcecjjbi x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.odldbbohhkb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gioddoihlcn x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.pgbilhdciol with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_joepajdgphk x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.pbjhjhdcafb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_eonniefdoci x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  begin match v.ppkofopmfjc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kfbeaplbefb x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.chnjjmhncap with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jogiagpfdml x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.ogfdpdidmhn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_khdobjbgpnh x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_pmonigcbapn (v:pmonigcbapn) encoder = 
  begin match v.plolpndhblk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_defmcecjjbi x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_pkadmfglmpn (v:pkadmfglmpn) encoder = 
  begin match v.ppkofopmfjc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kfbeaplbefb x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_jelebjjfjip (v:jelebjjfjip) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_bocmnkonppn x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.gjbkhmihmif encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_bocmnkonppn x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.mbgmhaapdce encoder;
  ()

let rec encode_pb_fgfifjmmjcp (v:fgfifjmmjcp) encoder = 
  begin match v.ckioboniohf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fmaebngghpd x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bpmbhaaklmc (v:bpmbhaaklmc) encoder = 
  begin match v.gedkbbfkdlm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bocmnkonppn x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hjakepglbfd (v:hjakepglbfd) encoder = 
()

let rec encode_pb_bnoncaefinb (v:bnoncaefinb) encoder = 
  Pbrt.Encoder.int32_as_varint v.lnjppbjacmf encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_npiijenphib (v:npiijenphib) encoder = 
  Pbrt.Encoder.int32_as_varint v.jdfifidndhf encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_haobnmicopa (v:haobnmicopa) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jdfifidndhf encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mankodpdeed (v:mankodpdeed) encoder = 
  Pbrt.Encoder.int32_as_varint v.opfpijmggal encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bljdbkkdlgd encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dfmcdagbcmk (v:dfmcdagbcmk) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_bocmnkonppn x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.ejogkjoehfb encoder;
  begin match v.imelchpnpgc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_oopngmhcnnn x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_dhejioligcn (v:dhejioligcn) encoder = 
  Pbrt.Encoder.int32_as_varint v.ojkjbeilgdc encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fjckjdbjkfd (v:fjckjdbjkfd) encoder = 
  Pbrt.Encoder.int32_as_varint v.ojkjbeilgdc encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.edifglcdjlo encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ocijbfdkhad (v:ocijbfdkhad) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_fjckjdbjkfd x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.ckikjffkgfk encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ojkjbeilgdc encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  begin match v.ogfdpdidmhn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fmaebngghpd x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_boooodbdecg (v:boooodbdecg) encoder = 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_amplplldlmc (v:amplplldlmc) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  begin match v.ogfdpdidmhn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fmaebngghpd x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hfhmkhodonh (v:hfhmkhodonh) encoder = 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_moeoggefkjg (v:moeoggefkjg) encoder = 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  begin match v.ogfdpdidmhn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fmaebngghpd x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hoohjgiilid (v:hoohjgiilid) encoder = 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cbfcpchblif (v:cbfcpchblif) encoder = 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.ogfdpdidmhn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fmaebngghpd x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gjnfhooabhh (v:gjnfhooabhh) encoder = 
  Pbrt.Encoder.int32_as_varint v.ififlmjnmdk encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fgohomljegm encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hfkkejakcdl (v:hfkkejakcdl) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ififlmjnmdk encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fgohomljegm encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ckiajdgpeai (v:ckiajdgpeai) encoder = 
  Pbrt.Encoder.int32_as_varint v.legjggfllkm encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bgeincnaijf (v:bgeincnaijf) encoder = 
  Pbrt.Encoder.int32_as_varint v.legjggfllkm encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jdonaaefnia (v:jdonaaefnia) encoder = 
  Pbrt.Encoder.int32_as_varint v.nfcojigifbb encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bkdgohbbalj (v:bkdgohbbalj) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nfcojigifbb encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pponmcdlhkg (v:pponmcdlhkg) encoder = 
  Pbrt.Encoder.int32_as_varint v.dcedopcicik encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dhchppbnfeg encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jpehgoiagfp (v:jpehgoiagfp) encoder = 
  Pbrt.Encoder.int32_as_varint v.oicjkpkgila encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fbmbomknfjo encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fedimadblfd (v:fedimadblfd) encoder = 
  Pbrt.Encoder.int32_as_varint v.gjcnecgjfde encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cpjlmihbgcp encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kfclndkhilm encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kdckaamonab encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mhkhjomblhm (v:mhkhjomblhm) encoder = 
  Pbrt.Encoder.int32_as_varint v.anjbkgdpepn encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bakgcckjdlk (v:bakgcckjdlk) encoder = 
  begin match v.hmfokfnpnfk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pponmcdlhkg x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.bbdbepekdie with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pponmcdlhkg x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.odbjpecmcgc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lidhmbfbhao x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.kbhchoicmhc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lidhmbfbhao x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.hjcdfejpjcl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_aihopmoclam x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.emghnkdicbf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_aihopmoclam x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.kkiehkfelck with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jpehgoiagfp x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.pblkdhccmdi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jpehgoiagfp x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.iohofdgmoka with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_niojaoakejp x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.gohgfgbcbfh with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fedimadblfd x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.dlieaipfolf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_aihopmoclam x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.nilkfplpaka with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jpehgoiagfp x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.jjcbfhnhale with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mhkhjomblhm x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_monopoly_action_result (v:monopoly_action_result) encoder = 
  Pbrt.Encoder.int32_as_varint v.click_cell_id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.trigger_cell_id encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  begin match v.detail with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bakgcckjdlk x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  encode_pb_ciaoikeanea v.source_type encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.effect_type encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.trigger_map_id encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.click_map_id encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ojifedpgpnj (v:ojifedpgpnj) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_monopoly_action_result x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.fhjpmiigkin encoder;
  ()

let rec encode_pb_jlgkjbbjang (v:jlgkjbbjang) encoder = 
  begin match v.pffecnompke with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.pdpfcfglgco with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.hfcakgghnim with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pcfeibpmokl x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_jhbnabecblc (v:jhbnabecblc) encoder = 
  begin match v.dalmjhmldgm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_niojaoakejp x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.hfcakgghnim with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pcfeibpmokl x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_poklnoillmi (v:poklnoillmi) encoder = 
  Pbrt.Encoder.int32_as_varint v.jahpoofngeb encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_monopoly_game_raise_ratio_sc_rsp (v:monopoly_game_raise_ratio_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.ratio encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kojejdchlhh (v:kojejdchlhh) encoder = 
()

let rec encode_pb_cpaehmckljf (v:cpaehmckljf) encoder = 
  Pbrt.Encoder.int64_as_varint v.ebajcfkinhn encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.bpbbnbklkdc encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.igepfimgalc encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  begin match v.pbjhjhdcafb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_eonniefdoci x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_kgonikbbdak (v:kgonikbbdak) encoder = 
  Pbrt.Encoder.bool v.kbdmkfogkfj encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nhohbpmdnbh (v:nhohbpmdnbh) encoder = 
  Pbrt.Encoder.int64_as_varint v.ebajcfkinhn encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ngpobeifhfc encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.knhfnfblnlk encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lballjhgmib encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ifiikolllkn encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.likidkoepla encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_imniaamofcn (v:imniaamofcn) encoder = 
  Pbrt.Encoder.int32_as_varint v.hajiidccbmn encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dnckobgnihn (v:dnckobgnihn) encoder = 
  Pbrt.Encoder.int32_as_varint v.mahiocfcikf encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.nnoncigblll encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.fhbjogfkibm encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_jliemnlahcd (v:jliemnlahcd) encoder = 
()

let rec encode_pb_monopoly_game_gacha_sc_rsp (v:monopoly_game_gacha_sc_rsp) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.result_list encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dhkfhhmkgdd (v:dhkfhhmkgdd) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pignanpdklj x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.aiialahiamp encoder;
  ()

let rec encode_pb_bpkdaacghcm (v:bpkdaacghcm) encoder = 
  begin match v.ipcpibkdmib with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hgbafdfikfj x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dhklbllkbal (v:dhklbllkbal) encoder = 
  Pbrt.Encoder.int32_as_varint v.jahclmgmafe encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bhlfhhjhpja encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.goolmcbeakp encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gfcbokjcjlk (v:gfcbokjcjlk) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_dhklbllkbal x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.lhcalbfcfjl encoder;
  ()

let rec encode_pb_hcejcpnpnbn (v:hcejcpnpnbn) encoder = 
  Pbrt.Encoder.int32_as_varint v.onjlkkdkdbg encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hinkjiefgpj (v:hinkjiefgpj) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.onjlkkdkdbg encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fmhgmbmhkcb (v:fmhgmbmhkcb) encoder = 
  Pbrt.Encoder.int32_as_varint v.pjfilkjbojg encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hkbeefmhlbb encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  begin match v.pdpfcfglgco with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_gdmhmadmend (v:gdmhmadmend) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_fmhgmbmhkcb x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.cgjhaghgclh encoder;
  ()

let rec encode_pb_iaejadjfpho (v:iaejadjfpho) encoder = 
()

let rec encode_pb_pidiloglgnn (v:pidiloglgnn) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bjpjdlgmoen (v:bjpjdlgmoen) encoder = 
  begin match v.pbjhjhdcafb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_eonniefdoci x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.igepfimgalc encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hnlpaajffok (v:hnlpaajffok) encoder = 
  Pbrt.Encoder.int32_as_varint v.dkppejnhahh encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lbmgpjobhdp encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ddjolnlfedi encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hflkkoinaeo encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_opbfdjbbhlf (v:opbfdjbbhlf) encoder = 
()

let rec encode_pb_eelooogfiep (v:eelooogfiep) encoder = 
  begin match v.elcdinampjf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hnlpaajffok x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_hnlpaajffok x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.nofclllibdd encoder;
  ()

let rec encode_pb_oppjogblncg (v:oppjogblncg) encoder = 
  Pbrt.Encoder.int32_as_varint v.ejpljgbiaic encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kolcimmmjhb (v:kolcimmmjhb) encoder = 
  Pbrt.Encoder.int32_as_varint v.ejpljgbiaic encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.dekonpmjeen with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pfjiapghecn (v:pfjiapghecn) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.nahadojjmfc encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.lbmgpjobhdp encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_boaopmiiplm (v:boaopmiiplm) encoder = 
()

let rec encode_pb_khpljlniphc (v:khpljlniphc) encoder = 
  Pbrt.Encoder.int32_as_varint v.mjihjbdnbkk encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cnt encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kilboolgkpa (v:kilboolgkpa) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_khpljlniphc x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.dkmdjiclemf encoder;
  Pbrt.Encoder.bool v.mkideamcloh encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.dmfpklplbbi encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_fjckjdbjkfd x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.ckikjffkgfk encoder;
  Pbrt.Encoder.int32_as_varint v.dpmofpdmpab encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lkajhecfpji encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.progress encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_plpbgpgeenh (v:plpbgpgeenh) encoder = 
  Pbrt.Encoder.int32_as_varint v.boijjckjecp encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.edeglgnkjdj encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gglknfikmjo (v:gglknfikmjo) encoder = 
  Pbrt.Encoder.int32_as_varint v.ebdmffdjebm encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dhcakofmnjp encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  begin match v.gedkbbfkdlm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bocmnkonppn x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_social_event_server_cache (v:social_event_server_cache) encoder = 
  Pbrt.Encoder.int32_as_varint v.src_uid encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.sub_coin encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.add_coin encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fdkgkflnomh (v:fdkgkflnomh) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_social_event_server_cache x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.calpgdnbiaa encoder;
  ()

let rec encode_pb_afedkeknocc (v:afedkeknocc) encoder = 
()

let rec encode_pb_npkeaphgcbp (v:npkeaphgcbp) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_social_event_server_cache x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.calpgdnbiaa encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kocpagpjklg (v:kocpagpjklg) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.bbphnlfjfia encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_hgmhhjpoech (v:hgmhhjpoech) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.lfbdpogonmk encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ofabhekkgji (v:ofabhekkgji) encoder = 
  Pbrt.Encoder.int32_as_varint v.bnhepammdhc encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ppnhdbldehi (v:ppnhdbldehi) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ajofeagbhof x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.lagojcpbhbb encoder;
  Pbrt.Encoder.int32_as_varint v.bnhepammdhc encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ipbhdhlonkl (v:ipbhdhlonkl) encoder = 
  Pbrt.Encoder.int64_as_varint v.ahbalikpnil encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bnhepammdhc encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_onhionphhpe (v:onhionphhpe) encoder = 
  Pbrt.Encoder.int32_as_varint v.bnhepammdhc encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.dekonpmjeen with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ahbalikpnil encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_emgndkeoddi (v:emgndkeoddi) encoder = 
  Pbrt.Encoder.int64_as_varint v.ahbalikpnil encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bnhepammdhc encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kjpbgihpnpk (v:kjpbgihpnpk) encoder = 
  Pbrt.Encoder.int32_as_varint v.bnhepammdhc encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.ahbalikpnil encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_maiibnepbkj (v:maiibnepbkj) encoder = 
()

let rec encode_pb_deecamaadno (v:deecamaadno) encoder = 
  Pbrt.Encoder.int32_as_varint v.hflkkoinaeo encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lkfmpcmabal encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ideeolipmcm (v:ideeolipmcm) encoder = 
()

let rec encode_pb_agfjdjchdcf (v:agfjdjchdcf) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  begin match v.odldbbohhkb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gioddoihlcn x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_cmiicmpcpce (v:cmiicmpcpce) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.lcimodmphno encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_knefbegaapc (v:knefbegaapc) encoder = 
  begin match v.dekonpmjeen with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.lcimodmphno encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kcgkeidjmea (v:kcgkeidjmea) encoder = 
()

let rec encode_pb_dcclgmmfhbc (v:dcclgmmfhbc) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.dekonpmjeen with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bnkcoklflkk (v:bnkcoklflkk) encoder = 
()

let rec encode_pb_hfgbgjmmnfk (v:hfgbgjmmnfk) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  begin match v.pbjhjhdcafb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_eonniefdoci x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_chdcojajjcb (v:chdcojajjcb) encoder = 
  Pbrt.Encoder.int32_as_varint v.lnjapmhfcck encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pbonhgdihdk encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ceghamagdkm (v:ceghamagdkm) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lnjapmhfcck encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pbonhgdihdk encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jlgocoobfoi (v:jlgocoobfoi) encoder = 
()

let rec encode_pb_pjnahfbkmob (v:pjnahfbkmob) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jkahomjihll (v:jkahomjihll) encoder =
  match v with
  | Cmd_multiplayer_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_multiplayer_fight_give_up_cs_req -> Pbrt.Encoder.int_as_varint 1056 encoder
  | Cmd_multiplayer_get_fight_gate_sc_rsp -> Pbrt.Encoder.int_as_varint 1043 encoder
  | Cmd_multiplayer_fight_game_finish_sc_notify -> Pbrt.Encoder.int_as_varint 1029 encoder
  | Cmd_multiplayer_fight_game_state_cs_req -> Pbrt.Encoder.int_as_varint 1068 encoder
  | Cmd_multiplayer_fight_game_state_sc_rsp -> Pbrt.Encoder.int_as_varint 1006 encoder
  | Cmd_multiplayer_fight_game_start_sc_notify -> Pbrt.Encoder.int_as_varint 1039 encoder
  | Cmd_multiplayer_match3_finish_sc_notify -> Pbrt.Encoder.int_as_varint 1051 encoder
  | Cmd_multiplayer_fight_give_up_sc_rsp -> Pbrt.Encoder.int_as_varint 1093 encoder
  | Cmd_multiplayer_get_fight_gate_cs_req -> Pbrt.Encoder.int_as_varint 1011 encoder

let rec encode_pb_nmliohboebj (v:nmliohboebj) encoder = 
()

let rec encode_pb_kbdgpkiddla (v:kbdgpkiddla) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_egokacjfaen x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.pcmhnpbecpk encoder;
  begin match v.nchhhomjbdk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mfoaahgomic x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_oibemlbhfei (v:oibemlbhfei) encoder = 
  Pbrt.Encoder.int32_as_varint v.hckegfdpdml encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_habpbddflme (v:habpbddflme) encoder = 
  Pbrt.Encoder.string v.jdmpkhbijmn encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.cfanklgaeoi encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.jgkindfbegl encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.jdjmjenhhhl encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_bnkgpngjhkp (v:bnkgpngjhkp) encoder = 
  Pbrt.Encoder.int64_as_varint v.jgkindfbegl encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bkmgppjcaoa (v:bkmgppjcaoa) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pdfcmfifanj (v:pdfcmfifanj) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_egokacjfaen x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.pcmhnpbecpk encoder;
  begin match v.nchhhomjbdk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mfoaahgomic x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_pnegdinkbpo (v:pnegdinkbpo) encoder = 
  begin match v.nchhhomjbdk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mfoaahgomic x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_phnoojigfhp (v:phnoojigfhp) encoder = 
  encode_pb_donhpbjnknp v.mgdnainpahe encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  begin match v.bnageejckgi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_obminlghola x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.ebeabgeoean encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bkhhkejcomc encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nglgknnfibf (v:nglgknnfibf) encoder =
  match v with
  | Cmd_multiple_drop_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_multiple_drop_info_notify -> Pbrt.Encoder.int_as_varint 4693 encoder
  | Cmd_get_multiple_drop_info_cs_req -> Pbrt.Encoder.int_as_varint 4668 encoder
  | Cmd_get_multiple_drop_info_sc_rsp -> Pbrt.Encoder.int_as_varint 4606 encoder
  | Cmd_multiple_drop_info_sc_notify -> Pbrt.Encoder.int_as_varint 4611 encoder
  | Cmd_get_player_return_multi_drop_info_cs_req -> Pbrt.Encoder.int_as_varint 4643 encoder
  | Cmd_get_player_return_multi_drop_info_sc_rsp -> Pbrt.Encoder.int_as_varint 4656 encoder

let rec encode_pb_imjaneejcfp (v:imjaneejcfp) encoder = 
()

let rec encode_pb_cneaelnihbo (v:cneaelnihbo) encoder = 
  Pbrt.Encoder.int32_as_varint v.neaokpcagnl encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pplkceifckf (v:pplkceifckf) encoder = 
  Pbrt.Encoder.int32_as_varint v.okcfllaampl encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ekieijdbdhm encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.clmeaokeoaf encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fjlnncjahng encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_chokajgcamp (v:chokajgcamp) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pplkceifckf x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.jphnpjmpmbm encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_cneaelnihbo x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.dbkfefjmndk encoder;
  ()

let rec encode_pb_dkaijciobno (v:dkaijciobno) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_cneaelnihbo x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.dbkfefjmndk encoder;
  ()

let rec encode_pb_kabippgdpah (v:kabippgdpah) encoder = 
()

let rec encode_pb_hkknlapklmg (v:hkknlapklmg) encoder = 
  Pbrt.Encoder.int32_as_varint v.hihamdaadoi encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.efbfdfnaiak encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ppkgjnfchbg encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fjlnncjahng encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hlmmnbaiaen (v:hlmmnbaiaen) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pplkceifckf x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.jphnpjmpmbm encoder;
  begin match v.cfjfdcakbpd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hkknlapklmg x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hfjlillecgk (v:hfjlillecgk) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_hkknlapklmg x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.icbiaedlngb encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pplkceifckf x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.jphnpjmpmbm encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_cneaelnihbo x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.dbkfefjmndk encoder;
  ()

let rec encode_pb_npcfpipllda (v:npcfpipllda) encoder =
  match v with
  | Cmd_museum_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_upgrade_area_sc_rsp -> Pbrt.Encoder.int_as_varint 4348 encoder
  | Cmd_museum_dispatch_finished_sc_notify -> Pbrt.Encoder.int_as_varint 4328 encoder
  | Cmd_upgrade_area_cs_req -> Pbrt.Encoder.int_as_varint 4365 encoder
  | Cmd_museum_target_mission_finish_notify -> Pbrt.Encoder.int_as_varint 4388 encoder
  | Cmd_museum_random_event_query_cs_req -> Pbrt.Encoder.int_as_varint 4324 encoder
  | Cmd_get_exhibit_sc_notify -> Pbrt.Encoder.int_as_varint 4333 encoder
  | Cmd_buy_npc_stuff_sc_rsp -> Pbrt.Encoder.int_as_varint 4343 encoder
  | Cmd_museum_random_event_query_sc_rsp -> Pbrt.Encoder.int_as_varint 4317 encoder
  | Cmd_set_stuff_to_area_cs_req -> Pbrt.Encoder.int_as_varint 4356 encoder
  | Cmd_remove_stuff_from_area_cs_req -> Pbrt.Encoder.int_as_varint 4339 encoder
  | Cmd_museum_target_reward_notify -> Pbrt.Encoder.int_as_varint 4308 encoder
  | Cmd_museum_random_event_start_sc_notify -> Pbrt.Encoder.int_as_varint 4325 encoder
  | Cmd_museum_random_event_select_sc_rsp -> Pbrt.Encoder.int_as_varint 4390 encoder
  | Cmd_finish_cur_turn_sc_rsp -> Pbrt.Encoder.int_as_varint 4354 encoder
  | Cmd_museum_funds_changed_sc_notify -> Pbrt.Encoder.int_as_varint 4398 encoder
  | Cmd_museum_take_collect_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 4332 encoder
  | Cmd_get_museum_info_cs_req -> Pbrt.Encoder.int_as_varint 4368 encoder
  | Cmd_get_museum_info_sc_rsp -> Pbrt.Encoder.int_as_varint 4306 encoder
  | Cmd_set_stuff_to_area_sc_rsp -> Pbrt.Encoder.int_as_varint 4393 encoder
  | Cmd_upgrade_area_stat_sc_rsp -> Pbrt.Encoder.int_as_varint 4334 encoder
  | Cmd_museum_take_collect_reward_cs_req -> Pbrt.Encoder.int_as_varint 4381 encoder
  | Cmd_upgrade_area_stat_cs_req -> Pbrt.Encoder.int_as_varint 4382 encoder
  | Cmd_museum_target_start_notify -> Pbrt.Encoder.int_as_varint 4309 encoder
  | Cmd_buy_npc_stuff_cs_req -> Pbrt.Encoder.int_as_varint 4311 encoder
  | Cmd_finish_cur_turn_cs_req -> Pbrt.Encoder.int_as_varint 4399 encoder
  | Cmd_get_stuff_sc_notify -> Pbrt.Encoder.int_as_varint 4351 encoder
  | Cmd_museum_random_event_select_cs_req -> Pbrt.Encoder.int_as_varint 4392 encoder
  | Cmd_remove_stuff_from_area_sc_rsp -> Pbrt.Encoder.int_as_varint 4329 encoder
  | Cmd_museum_info_changed_sc_notify -> Pbrt.Encoder.int_as_varint 4397 encoder

let rec encode_pb_khpkejjhene (v:khpkejjhene) encoder =
  match v with
  | Museum_random_event_state_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Museum_random_event_state_start -> Pbrt.Encoder.int_as_varint 1 encoder
  | Museum_random_event_state_processing -> Pbrt.Encoder.int_as_varint 2 encoder
  | Museum_random_event_state_finish -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_ibmkpfblcop (v:ibmkpfblcop) encoder =
  match v with
  | Work_pos_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Work_pos_1 -> Pbrt.Encoder.int_as_varint 1 encoder
  | Work_pos_2 -> Pbrt.Encoder.int_as_varint 2 encoder
  | Work_pos_3 -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_fkieenabkbi (v:fkieenabkbi) encoder =
  match v with
  | Stat_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Stat_type_art -> Pbrt.Encoder.int_as_varint 1 encoder
  | Stat_type_culture -> Pbrt.Encoder.int_as_varint 2 encoder
  | Stat_type_popular -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_gdophdklfdg (v:gdophdklfdg) encoder =
  match v with
  | Unknow -> Pbrt.Encoder.int_as_varint (0) encoder
  | Mission_reward -> Pbrt.Encoder.int_as_varint 1 encoder
  | Event_buy_stuff -> Pbrt.Encoder.int_as_varint 2 encoder
  | Market_buy_stuff -> Pbrt.Encoder.int_as_varint 3 encoder
  | Quest_reward -> Pbrt.Encoder.int_as_varint 4 encoder
  | Initial -> Pbrt.Encoder.int_as_varint 5 encoder
  | Phase_finish_reward -> Pbrt.Encoder.int_as_varint 6 encoder

let rec encode_pb_agacmpmknah (v:agacmpmknah) encoder = 
  Pbrt.Encoder.int32_as_varint v.ehbklolppkd encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  encode_pb_ibmkpfblcop v.pos encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hekmjicgnok (v:hekmjicgnok) encoder = 
  Pbrt.Encoder.int32_as_varint v.hjggnmndjad encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_agacmpmknah x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.ckacngonkjj encoder;
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lnbhmcphfdh encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fhmfhbjkfad encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ggdaffjnmpa encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fipbhpcfnnn (v:fipbhpcfnnn) encoder = 
  Pbrt.Encoder.bool v.hdnieedkagk encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jimincbjkpg encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hmjgeckckmm (v:hmjgeckckmm) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_fipbhpcfnnn x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.hibkehghjkj encoder;
  Pbrt.Encoder.int32_as_varint v.polheomfihp encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.llcmhphhafg encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.doeadajcpcd encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.djifmbakafg encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.loacdlcljkl encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kopbmgbkabe (v:kopbmgbkabe) encoder = 
  Pbrt.Encoder.int32_as_varint v.amiejgmmbnn encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ehbklolppkd encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pabjleadhde (v:pabjleadhde) encoder = 
  Pbrt.Encoder.int32_as_varint v.enponpnkhhd encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ilbidmacbhl encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  encode_pb_khpkejjhene v.state encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ipcpammkkdf encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jmbbphkojmc encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.nhnbiglcmae encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_lpnaapgcinf (v:lpnaapgcinf) encoder = 
  Pbrt.Encoder.int32_as_varint v.kahdopkmaaa encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pabjleadhde x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.llhoijjnhbc encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.fghkkkkbohf encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_iklgpokopno (v:iklgpokopno) encoder = 
()

let rec encode_pb_hhenfenpfmp (v:hhenfenpfmp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.dplempnahkh with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lpnaapgcinf x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.njhmoljoand encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_hekmjicgnok x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.opbbglfipjf encoder;
  Pbrt.Encoder.int32_as_varint v.fddiajpmfki encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.akogjjegako encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.lokhhakogkh encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  begin match v.okejfjflidc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hmjgeckckmm x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ebggiceiaee encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.cdgdabeaeam encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_kopbmgbkabe x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.ckacngonkjj encoder;
  Pbrt.Encoder.int32_as_varint v.pkjhlljjldp encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.exp encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dobbjmgakhk (v:dobbjmgakhk) encoder = 
  Pbrt.Encoder.int32_as_varint v.ehbklolppkd encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nlbjjifeahl (v:nlbjjifeahl) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ehbklolppkd encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lgcgdbekgen (v:lgcgdbekgen) encoder = 
  Pbrt.Encoder.int32_as_varint v.amiejgmmbnn encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  encode_pb_ibmkpfblcop v.pos encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ehbklolppkd encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lkpgdmangog (v:lkpgdmangog) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ehbklolppkd encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.amiejgmmbnn encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  encode_pb_ibmkpfblcop v.pos encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_eaglpghjhep (v:eaglpghjhep) encoder = 
  Pbrt.Encoder.int32_as_varint v.ehbklolppkd encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pfdiknclbgh (v:pfdiknclbgh) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ehbklolppkd encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lclkpncbbhg (v:lclkpncbbhg) encoder = 
  Pbrt.Encoder.int32_as_varint v.ehbklolppkd encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  encode_pb_gdophdklfdg v.cmnihjigino encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pfacpieijfn (v:pfacpieijfn) encoder = 
  Pbrt.Encoder.int32_as_varint v.ldmpandhbcm encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jmonjimkcnb (v:jmonjimkcnb) encoder = 
  Pbrt.Encoder.int32_as_varint v.plpnefmoile encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gkbapmfchgp (v:gkbapmfchgp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.negakoplbfk encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ginopghobbg (v:ginopghobbg) encoder = 
  Pbrt.Encoder.int32_as_varint v.ggdaffjnmpa encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kpafaechgfl (v:kpafaechgfl) encoder = 
  Pbrt.Encoder.int32_as_varint v.ggdaffjnmpa encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_njppmfpmemf (v:njppmfpmemf) encoder = 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  encode_pb_fkieenabkbi v.apimbkdepgd encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ggdaffjnmpa encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dkebghbnkee (v:dkebghbnkee) encoder = 
  encode_pb_fkieenabkbi v.apimbkdepgd encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ggdaffjnmpa encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_plbkibglbnd (v:plbkibglbnd) encoder = 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.dplempnahkh with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lpnaapgcinf x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_hekmjicgnok x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.opbbglfipjf encoder;
  Pbrt.Encoder.int32_as_varint v.lokhhakogkh encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.akogjjegako encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.njhmoljoand encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ebggiceiaee encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.exp encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pkjhlljjldp encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  begin match v.okejfjflidc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hmjgeckckmm x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.fddiajpmfki encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.cdgdabeaeam encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_kopbmgbkabe x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.ckacngonkjj encoder;
  ()

let rec encode_pb_bbjjglacdne (v:bbjjglacdne) encoder = 
  begin match v.jpaolljmggn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pabjleadhde x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ebdhkimflce (v:ebdhkimflce) encoder = 
  Pbrt.Encoder.int32_as_varint v.kccleanfoef encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_occahnklaim (v:occahnklaim) encoder = 
  begin match v.jpaolljmggn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lpnaapgcinf x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kekkmfdigne (v:kekkmfdigne) encoder = 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jmbbphkojmc encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_afhajlkjocl (v:afhajlkjocl) encoder = 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jmbbphkojmc encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_adalbkfkjji (v:adalbkfkjji) encoder = 
  Pbrt.Encoder.int32_as_varint v.njhmoljoand encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mbpnljhddip (v:mbpnljhddip) encoder = 
  Pbrt.Encoder.int32_as_varint v.oaedchilhgj encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fpjnhijobaj encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.njhmoljoand encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ehbklolppkd encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ilfmakefhbm (v:ilfmakefhbm) encoder = 
  Pbrt.Encoder.int32_as_varint v.djifmbakafg encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_djalilghapg (v:djalilghapg) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.jimincbjkpg encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.djifmbakafg encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.loemopmkinb encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jcpphggjadn (v:jcpphggjadn) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.djifmbakafg encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.olfhccbiidg encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_emegifcfcjn (v:emegifcfcjn) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_egmpcjhcjbk (v:egmpcjhcjbk) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mlfpcehlfnb (v:mlfpcehlfnb) encoder =
  match v with
  | Cmd_offering_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_get_offering_info_sc_rsp -> Pbrt.Encoder.int_as_varint 6923 encoder
  | Cmd_take_offering_reward_cs_req -> Pbrt.Encoder.int_as_varint 6924 encoder
  | Cmd_take_offering_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 6922 encoder
  | Cmd_submit_offering_item_sc_rsp -> Pbrt.Encoder.int_as_varint 6940 encoder
  | Cmd_submit_offering_item_cs_req -> Pbrt.Encoder.int_as_varint 6932 encoder
  | Cmd_offering_info_sc_notify -> Pbrt.Encoder.int_as_varint 6936 encoder
  | Cmd_get_offering_info_cs_req -> Pbrt.Encoder.int_as_varint 6939 encoder

let rec encode_pb_cmebpgjmefe (v:cmebpgjmefe) encoder =
  match v with
  | Offering_state_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Offering_state_lock -> Pbrt.Encoder.int_as_varint 1 encoder
  | Offering_state_open -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_epmngcpcbkl (v:epmngcpcbkl) encoder = 
  Pbrt.Encoder.int32_as_varint v.kheopnihaff encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cfbjmkdbhai encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  encode_pb_cmebpgjmefe v.ippjhngkgjo encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gbclnihogem encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.glnpnnmnand encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.gjjipefijck encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_nckfngfopgm (v:nckfngfopgm) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.mpoedocjenp encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_ookkhpnopmj (v:ookkhpnopmj) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_epmngcpcbkl x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.fgdljmbkbam encoder;
  ()

let rec encode_pb_ojlpkgeolmh (v:ojlpkgeolmh) encoder = 
  Pbrt.Encoder.int32_as_varint v.gbclnihogem encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.idcigdfjabi encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ifjbadlimjc (v:ifjbadlimjc) encoder = 
  begin match v.fkamaeepnki with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_epmngcpcbkl x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lncjkacchpc (v:lncjkacchpc) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.eoejiijmano encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.idcigdfjabi encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gbclnihogem encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_oeoiecpgdde (v:oeoiecpgdde) encoder = 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.fkamaeepnki with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_epmngcpcbkl x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hlmjajcepgj (v:hlmjajcepgj) encoder = 
  begin match v.fkamaeepnki with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_epmngcpcbkl x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bnijldmhgfa (v:bnijldmhgfa) encoder =
  match v with
  | Cmd_pam_mission_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_accepted_pam_mission_expire_cs_req -> Pbrt.Encoder.int_as_varint 4068 encoder
  | Cmd_accepted_pam_mission_expire_sc_rsp -> Pbrt.Encoder.int_as_varint 4006 encoder
  | Cmd_sync_accepted_pam_mission_notify -> Pbrt.Encoder.int_as_varint 4011 encoder

let rec encode_pb_maadcgflnec (v:maadcgflnec) encoder = 
  Pbrt.Encoder.int32_as_varint v.idlneeekpjl encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nhgjajlgbfb (v:nhgjajlgbfb) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.idlneeekpjl encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_flondkdobfn (v:flondkdobfn) encoder = 
  Pbrt.Encoder.int32_as_varint v.idlneeekpjl encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.fkglfpgdhic encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mjolclhenkg (v:mjolclhenkg) encoder =
  match v with
  | Cmd_pet_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_recall_pet_sc_rsp -> Pbrt.Encoder.int_as_varint 7608 encoder
  | Cmd_recall_pet_cs_req -> Pbrt.Encoder.int_as_varint 7611 encoder
  | Cmd_cur_pet_changed_sc_notify -> Pbrt.Encoder.int_as_varint 7623 encoder
  | Cmd_get_pet_data_cs_req -> Pbrt.Encoder.int_as_varint 7607 encoder
  | Cmd_get_pet_data_sc_rsp -> Pbrt.Encoder.int_as_varint 7624 encoder
  | Cmd_summon_pet_sc_rsp -> Pbrt.Encoder.int_as_varint 7617 encoder
  | Cmd_summon_pet_cs_req -> Pbrt.Encoder.int_as_varint 7615 encoder

let rec encode_pb_fkaajneaocj (v:fkaajneaocj) encoder = 
()

let rec encode_pb_fcgnnhbbenm (v:fcgnnhbbenm) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.giipokombda encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pdgeengkjke encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fmbnjkmnjnh (v:fmbnjkmnjnh) encoder = 
  Pbrt.Encoder.int32_as_varint v.dljbepbhekm encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jbmeobcimpi (v:jbmeobcimpi) encoder = 
  Pbrt.Encoder.int32_as_varint v.bmcoijcmnnc encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pdgeengkjke encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lgpllmnldic (v:lgpllmnldic) encoder = 
  Pbrt.Encoder.int32_as_varint v.dljbepbhekm encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gpealbnelpe (v:gpealbnelpe) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bmcoijcmnnc encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pdgeengkjke encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_magblgbbnha (v:magblgbbnha) encoder = 
  Pbrt.Encoder.int32_as_varint v.pdgeengkjke encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nmcfcoggnmj (v:nmcfcoggnmj) encoder =
  match v with
  | Cmd_phone_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_unlock_chat_bubble_sc_notify -> Pbrt.Encoder.int_as_varint 5156 encoder
  | Cmd_get_phone_data_cs_req -> Pbrt.Encoder.int_as_varint 5168 encoder
  | Cmd_get_phone_data_sc_rsp -> Pbrt.Encoder.int_as_varint 5106 encoder
  | Cmd_select_chat_bubble_sc_rsp -> Pbrt.Encoder.int_as_varint 5143 encoder
  | Cmd_unlock_phone_theme_sc_notify -> Pbrt.Encoder.int_as_varint 5129 encoder
  | Cmd_select_phone_theme_sc_rsp -> Pbrt.Encoder.int_as_varint 5139 encoder
  | Cmd_select_phone_theme_cs_req -> Pbrt.Encoder.int_as_varint 5193 encoder
  | Cmd_select_chat_bubble_cs_req -> Pbrt.Encoder.int_as_varint 5111 encoder

let rec encode_pb_aebnbkfhgof (v:aebnbkfhgof) encoder = 
()

let rec encode_pb_kiapanmhjob (v:kiapanmhjob) encoder = 
  Pbrt.Encoder.int32_as_varint v.ilcffmcedan encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.dmplokpnddp encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.lamdfhjndpe encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.gbljjpfnjdc encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_fiflmmabnkj (v:fiflmmabnkj) encoder = 
  Pbrt.Encoder.int32_as_varint v.flefoflohfn encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jhccgjallic (v:jhccgjallic) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.iilafoldjig encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ilcffmcedan encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ihonfpmoaon (v:ihonfpmoaon) encoder = 
  Pbrt.Encoder.int32_as_varint v.flefoflohfn encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ncnfiancepd (v:ncnfiancepd) encoder = 
  Pbrt.Encoder.int32_as_varint v.lgofedpnbol encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_egcilkjklpd (v:egcilkjklpd) encoder = 
  Pbrt.Encoder.int32_as_varint v.lamdfhjndpe encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.adjfaimlabe encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_obcjgodlghn (v:obcjgodlghn) encoder = 
  Pbrt.Encoder.int32_as_varint v.lgofedpnbol encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jdmlnacnhkn (v:jdmlnacnhkn) encoder =
  match v with
  | Cmd_player_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_get_video_version_key_cs_req -> Pbrt.Encoder.int_as_varint 42 encoder
  | Cmd_exchange_stamina_cs_req -> Pbrt.Encoder.int_as_varint 48 encoder
  | Cmd_player_login_finish_sc_rsp -> Pbrt.Encoder.int_as_varint 86 encoder
  | Cmd_set_player_info_sc_rsp -> Pbrt.Encoder.int_as_varint 95 encoder
  | Cmd_get_basic_info_sc_rsp -> Pbrt.Encoder.int_as_varint 85 encoder
  | Cmd_player_get_token_sc_rsp -> Pbrt.Encoder.int_as_varint 93 encoder
  | Cmd_exchange_stamina_sc_rsp -> Pbrt.Encoder.int_as_varint 82 encoder
  | Cmd_ace_anti_cheater_sc_rsp -> Pbrt.Encoder.int_as_varint 59 encoder
  | Cmd_unlock_avatar_path_cs_req -> Pbrt.Encoder.int_as_varint 63 encoder
  | Cmd_update_player_setting_sc_rsp -> Pbrt.Encoder.int_as_varint 70 encoder
  | Cmd_set_multiple_avatar_paths_cs_req -> Pbrt.Encoder.int_as_varint 80 encoder
  | Cmd_player_logout_sc_rsp -> Pbrt.Encoder.int_as_varint 43 encoder
  | Cmd_get_level_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 9 encoder
  | Cmd_reserve_stamina_exchange_cs_req -> Pbrt.Encoder.int_as_varint 50 encoder
  | Cmd_get_multi_path_avatar_info_sc_rsp -> Pbrt.Encoder.int_as_varint 77 encoder
  | Cmd_gm_talk_sc_rsp -> Pbrt.Encoder.int_as_varint 99 encoder
  | Cmd_retcode_notify -> Pbrt.Encoder.int_as_varint 41 encoder
  | Cmd_client_download_data_sc_notify -> Pbrt.Encoder.int_as_varint 15 encoder
  | Cmd_player_login_sc_rsp -> Pbrt.Encoder.int_as_varint 6 encoder
  | Cmd_feature_switch_closed_sc_notify -> Pbrt.Encoder.int_as_varint 13 encoder
  | Cmd_set_language_cs_req -> Pbrt.Encoder.int_as_varint 81 encoder
  | Cmd_get_level_reward_cs_req -> Pbrt.Encoder.int_as_varint 28 encoder
  | Cmd_ace_anti_cheater_cs_req -> Pbrt.Encoder.int_as_varint 47 encoder
  | Cmd_stamina_info_sc_notify -> Pbrt.Encoder.int_as_varint 5 encoder
  | Cmd_player_heart_beat_sc_rsp -> Pbrt.Encoder.int_as_varint 3 encoder
  | Cmd_set_nickname_sc_rsp -> Pbrt.Encoder.int_as_varint 17 encoder
  | Cmd_anti_addict_sc_notify -> Pbrt.Encoder.int_as_varint 25 encoder
  | Cmd_update_psn_settings_info_cs_req -> Pbrt.Encoder.int_as_varint 2 encoder
  | Cmd_get_video_version_key_sc_rsp -> Pbrt.Encoder.int_as_varint 83 encoder
  | Cmd_client_obj_download_data_sc_notify -> Pbrt.Encoder.int_as_varint 61 encoder
  | Cmd_player_logout_cs_req -> Pbrt.Encoder.int_as_varint 11 encoder
  | Cmd_set_nickname_cs_req -> Pbrt.Encoder.int_as_varint 24 encoder
  | Cmd_player_login_cs_req -> Pbrt.Encoder.int_as_varint 68 encoder
  | Cmd_daily_refresh_notify -> Pbrt.Encoder.int_as_varint 100 encoder
  | Cmd_reserve_stamina_exchange_sc_rsp -> Pbrt.Encoder.int_as_varint 72 encoder
  | Cmd_get_authkey_sc_rsp -> Pbrt.Encoder.int_as_varint 97 encoder
  | Cmd_get_basic_info_cs_req -> Pbrt.Encoder.int_as_varint 40 encoder
  | Cmd_set_red_point_status_sc_notify -> Pbrt.Encoder.int_as_varint 96 encoder
  | Cmd_set_language_sc_rsp -> Pbrt.Encoder.int_as_varint 32 encoder
  | Cmd_update_feature_switch_sc_notify -> Pbrt.Encoder.int_as_varint 75 encoder
  | Cmd_set_player_info_cs_req -> Pbrt.Encoder.int_as_varint 30 encoder
  | Cmd_server_announce_notify -> Pbrt.Encoder.int_as_varint 16 encoder
  | Cmd_query_product_info_sc_rsp -> Pbrt.Encoder.int_as_varint 67 encoder
  | Cmd_unlock_avatar_path_sc_rsp -> Pbrt.Encoder.int_as_varint 38 encoder
  | Cmd_gm_talk_sc_notify -> Pbrt.Encoder.int_as_varint 29 encoder
  | Cmd_set_avatar_path_cs_req -> Pbrt.Encoder.int_as_varint 20 encoder
  | Cmd_get_multi_path_avatar_info_cs_req -> Pbrt.Encoder.int_as_varint 27 encoder
  | Cmd_avatar_path_changed_notify -> Pbrt.Encoder.int_as_varint 55 encoder
  | Cmd_get_level_reward_taken_list_cs_req -> Pbrt.Encoder.int_as_varint 92 encoder
  | Cmd_month_card_reward_notify -> Pbrt.Encoder.int_as_varint 7 encoder
  | Cmd_player_heart_beat_cs_req -> Pbrt.Encoder.int_as_varint 31 encoder
  | Cmd_region_stop_sc_notify -> Pbrt.Encoder.int_as_varint 98 encoder
  | Cmd_player_login_finish_cs_req -> Pbrt.Encoder.int_as_varint 73 encoder
  | Cmd_set_avatar_path_sc_rsp -> Pbrt.Encoder.int_as_varint 57 encoder
  | Cmd_get_secret_key_info_cs_req -> Pbrt.Encoder.int_as_varint 21 encoder
  | Cmd_client_obj_upload_cs_req -> Pbrt.Encoder.int_as_varint 79 encoder
  | Cmd_set_gender_sc_rsp -> Pbrt.Encoder.int_as_varint 12 encoder
  | Cmd_update_psn_settings_info_sc_rsp -> Pbrt.Encoder.int_as_varint 62 encoder
  | Cmd_player_get_token_cs_req -> Pbrt.Encoder.int_as_varint 56 encoder
  | Cmd_client_obj_upload_sc_rsp -> Pbrt.Encoder.int_as_varint 52 encoder
  | Cmd_set_multiple_avatar_paths_sc_rsp -> Pbrt.Encoder.int_as_varint 4 encoder
  | Cmd_set_gender_cs_req -> Pbrt.Encoder.int_as_varint 46 encoder
  | Cmd_gm_talk_cs_req -> Pbrt.Encoder.int_as_varint 33 encoder
  | Cmd_get_authkey_cs_req -> Pbrt.Encoder.int_as_varint 34 encoder
  | Cmd_query_product_info_cs_req -> Pbrt.Encoder.int_as_varint 69 encoder
  | Cmd_set_gameplay_birthday_sc_rsp -> Pbrt.Encoder.int_as_varint 58 encoder
  | Cmd_update_player_setting_cs_req -> Pbrt.Encoder.int_as_varint 64 encoder
  | Cmd_set_gameplay_birthday_cs_req -> Pbrt.Encoder.int_as_varint 53 encoder
  | Cmd_gate_server_sc_notify -> Pbrt.Encoder.int_as_varint 26 encoder
  | Cmd_get_secret_key_info_sc_rsp -> Pbrt.Encoder.int_as_varint 71 encoder
  | Cmd_player_kick_out_sc_notify -> Pbrt.Encoder.int_as_varint 51 encoder
  | Cmd_get_level_reward_taken_list_sc_rsp -> Pbrt.Encoder.int_as_varint 90 encoder

let rec encode_pb_mnekimdfhaf (v:mnekimdfhaf) encoder =
  match v with
  | Authkey_sign_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Authkey_sign_type_default -> Pbrt.Encoder.int_as_varint 1 encoder
  | Authkey_sign_type_rsa -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_player_login_cs_req (v:player_login_cs_req) encoder = 
  Pbrt.Encoder.int32_as_varint v.bajjablkfab encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.bcijkmpjfni encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.difcdhddfbp encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.lmjolnigkkc encoder;
  Pbrt.Encoder.key 1253 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.blclkkidljh encoder;
  Pbrt.Encoder.key 540 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.pkgmnimcpdh encoder;
  Pbrt.Encoder.key 1012 Pbrt.Bytes encoder; 
  encode_pb_language_type v.language encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  encode_pb_platform_type v.dbgjcbcfaec encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  begin match v.cpmikdbdcpg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lbofjhojgph x encoder;
    Pbrt.Encoder.key 1657 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.bool v.kjfcoglhkfk encoder;
  Pbrt.Encoder.key 1976 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.pafnmmndegp encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.ochimkelcde encoder;
  Pbrt.Encoder.key 1866 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int64_as_varint v.pdidijddcno encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.dmdcpeiefkg encoder;
  Pbrt.Encoder.key 1393 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.bhoanekljhm encoder;
  Pbrt.Encoder.key 624 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.meijfajkmmp encoder;
  Pbrt.Encoder.key 354 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.mkkdakgkkhe encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.ogilamajgio encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.ghaifpffmog encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.fecdamigijp encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.mddiipbifek encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.cpkikinabfj encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.hcgjomkbloh encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.mhmockcmeje encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.fgahpfhnncl encoder;
  Pbrt.Encoder.key 1358 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.pjieaeapgnl encoder;
  Pbrt.Encoder.key 1183 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_player_login_sc_rsp (v:player_login_sc_rsp) encoder = 
  Pbrt.Encoder.int64_as_varint v.pdidijddcno encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.meilhlkmgfn encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.pnhfbdbkpci encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.kcicanjloba encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.dlicepdamib encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  begin match v.basic_info with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_player_basic_info x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.stamina encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.biinmckjhen encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.mciakkehiaa encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_player_logout_cs_req (v:player_logout_cs_req) encoder = 
()

let rec encode_pb_player_get_token_cs_req (v:player_get_token_cs_req) encoder = 
  Pbrt.Encoder.int32_as_varint v.dbgjcbcfaec encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.oiegbkkceda encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.blclkkidljh encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.cpdkcijkohd encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.lkgbcdgefjf encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.gmcheopahkc encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pcmajmegbld encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_player_get_token_sc_rsp (v:player_get_token_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.secret_key_seed encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  begin match v.black_info with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_black_info x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.string v.msg encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_inhhlgadneo (v:inhhlgadneo) encoder = 
  Pbrt.Encoder.string v.msg encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_kick_type (v:kick_type) encoder =
  match v with
  | Nfmnkphlpji -> Pbrt.Encoder.int_as_varint (0) encoder
  | Pncbimmkgpp -> Pbrt.Encoder.int_as_varint 1 encoder
  | Ddpbgjjdmhl -> Pbrt.Encoder.int_as_varint 2 encoder
  | Lodfdopnidg -> Pbrt.Encoder.int_as_varint 3 encoder
  | Dpnogoadhhl -> Pbrt.Encoder.int_as_varint 4 encoder
  | Hlhnikjghnb -> Pbrt.Encoder.int_as_varint 5 encoder

let rec encode_pb_player_kick_out_sc_notify (v:player_kick_out_sc_notify) encoder = 
  begin match v.black_info with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_black_info x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  encode_pb_kick_type v.kick_type encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gm_talk_cs_req (v:gm_talk_cs_req) encoder = 
  Pbrt.Encoder.string v.msg encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_gm_talk_sc_rsp (v:gm_talk_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.retmsg encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_get_basic_info_cs_req (v:get_basic_info_cs_req) encoder = 
()

let rec encode_pb_player_setting_info (v:player_setting_info) encoder = 
  Pbrt.Encoder.bool v.jcnincccakl encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.nhknohpdocc encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.hhcgdeocomi encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.ookalmpeleg encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.defkcpiepnb encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.ggodaiohjif encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.kmjdmefgcck encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.dedidajjmcj encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.bkpaceckiia encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_get_basic_info_sc_rsp (v:get_basic_info_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.gender encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cur_day encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  begin match v.player_setting_info with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_player_setting_info x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int64_as_varint v.next_recover_time encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.is_gender_set encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gameplay_birthday encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.week_cocoon_finished_count encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.exchange_times encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.last_set_nickname_time encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_exchange_stamina_cs_req (v:exchange_stamina_cs_req) encoder = 
()

let rec encode_pb_exchange_stamina_sc_rsp (v:exchange_stamina_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.exchange_times encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.last_recover_time encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.stamina_add encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_item_cost x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.item_cost_list encoder;
  ()

let rec encode_pb_ilhiemhgmbm (v:ilhiemhgmbm) encoder = 
  Pbrt.Encoder.string v.mdipcjnjlpb encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.sign_type encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dhigcieoome encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lkhllhkhkki (v:lkhllhkhkki) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.lcdjcjmimmi encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.mdipcjnjlpb encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.dhigcieoome encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.sign_type encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hcibichlmaa (v:hcibichlmaa) encoder = 
  Pbrt.Encoder.int64_as_varint v.mlcpkfihkko encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.hhpakondiob encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_anti_addict_sc_notify (v:anti_addict_sc_notify) encoder = 
  Pbrt.Encoder.string v.level encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.msg encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.msg_type encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_set_nickname_cs_req (v:set_nickname_cs_req) encoder = 
  Pbrt.Encoder.bool v.is_modify encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.nickname encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_set_nickname_sc_rsp (v:set_nickname_sc_rsp) encoder = 
  Pbrt.Encoder.int64_as_varint v.nlgoggmaeod encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.is_modify encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_get_level_reward_taken_list_cs_req (v:get_level_reward_taken_list_cs_req) encoder = 
()

let rec encode_pb_get_level_reward_taken_list_sc_rsp (v:get_level_reward_taken_list_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.taken_level_list encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_fkemblmibgd (v:fkemblmibgd) encoder = 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.idcigdfjabi encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pjfenccabaa (v:pjfenccabaa) encoder = 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bdkfldgnelf (v:bdkfldgnelf) encoder = 
  encode_pb_language_type v.language encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ihcijilblji (v:ihcijilblji) encoder = 
  encode_pb_language_type v.language encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_efgokaehlcl (v:efgokaehlcl) encoder = 
  Pbrt.Encoder.string v.flnaoghpbna encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.khihdnfapob encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.end_time encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.begin_time encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.iliojodbdeb encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.ohbhkcgmfek encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.bhmegdiiglh encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.manomfgafia encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pfbnanpcdjh encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_innjajipelm (v:innjajipelm) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_efgokaehlcl x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.alefnglnfdd encoder;
  ()

let rec encode_pb_cokohpcdnfo (v:cokohpcdnfo) encoder = 
  Pbrt.Encoder.bool v.cmelkdaaapf encoder;
  Pbrt.Encoder.key 1566 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.ophmlpkgkij encoder;
  Pbrt.Encoder.key 1952 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.mmcjggcenpp encoder;
  Pbrt.Encoder.key 563 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.pllenlninnh encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.lamjdogmfam encoder;
  Pbrt.Encoder.key 1457 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.bblkofdgpap encoder;
  Pbrt.Encoder.key 716 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.ephafkmpmif encoder;
  Pbrt.Encoder.key 1220 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.gmdfmaapebc encoder;
  Pbrt.Encoder.key 1192 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int64_as_varint v.mlcpkfihkko encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.bgpcckkddmb encoder;
  Pbrt.Encoder.key 593 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.kejpmagdbai encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.nkfnaojjlph encoder;
  Pbrt.Encoder.key 677 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.hkdmdpmahem encoder;
  Pbrt.Encoder.key 405 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.onkpibmdmpi encoder;
  Pbrt.Encoder.key 1113 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.fbobagpbbha encoder;
  Pbrt.Encoder.key 87 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.mjjbccmcplk encoder;
  Pbrt.Encoder.key 1808 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.cfanklgaeoi encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.anegjdlagll encoder;
  Pbrt.Encoder.key 1570 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.gepfimnioke encoder;
  Pbrt.Encoder.key 1915 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.lpnoekiaocp encoder;
  Pbrt.Encoder.key 1629 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.fgkgddonpkm encoder;
  Pbrt.Encoder.key 1583 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.nejihdfafbe encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.hafcipegpin encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.kghpigijmbp encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.msg encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.molbpmljolo encoder;
  Pbrt.Encoder.key 915 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.didfenikjdg encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.kjadmknddjl encoder;
  Pbrt.Encoder.key 1028 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.string x encoder;
    Pbrt.Encoder.key 663 Pbrt.Bytes encoder; 
  ) v.khclmhjlopk encoder;
  Pbrt.Encoder.string v.jmaggbeaiib encoder;
  Pbrt.Encoder.key 661 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.okplkdhmohc encoder;
  Pbrt.Encoder.key 1462 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.ooeapiaafnb encoder;
  Pbrt.Encoder.key 1236 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.jelgnociekj encoder;
  Pbrt.Encoder.key 1773 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int64_as_varint v.hhpakondiob encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.opgmnlinakc encoder;
  Pbrt.Encoder.key 297 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.begfcjlkmob encoder;
  Pbrt.Encoder.key 1754 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.nnhognglfbd encoder;
  Pbrt.Encoder.key 1132 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.kgljfhdhdek encoder;
  Pbrt.Encoder.key 148 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.cjnjnfglick encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.ncdioakalen encoder;
  Pbrt.Encoder.key 614 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.jdmpkhbijmn encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.gediongpdha encoder;
  Pbrt.Encoder.key 1486 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.mbdacjejamf encoder;
  Pbrt.Encoder.key 414 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.ificjdejjdn encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.dmdahpindno encoder;
  Pbrt.Encoder.key 1012 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.gjaeghbeaio encoder;
  Pbrt.Encoder.key 1176 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ddohlaegeah encoder;
  Pbrt.Encoder.key 1710 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.bfoekehoejp encoder;
  Pbrt.Encoder.key 1430 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.chnmpglhncm encoder;
  Pbrt.Encoder.key 1370 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.pggjoogfgfc encoder;
  Pbrt.Encoder.key 873 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.dklchemciai encoder;
  Pbrt.Encoder.key 1523 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.migeegecjcb encoder;
  Pbrt.Encoder.key 512 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.ciinblfopda encoder;
  Pbrt.Encoder.key 312 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.fkenkkhlhhd encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.hjbndbbicdo encoder;
  Pbrt.Encoder.key 1420 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.fggmipmoook encoder;
  Pbrt.Encoder.key 571 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.moikmlhoiap encoder;
  Pbrt.Encoder.key 825 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.imffkkjpojc encoder;
  Pbrt.Encoder.key 1750 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_feofohjeheo (v:feofohjeheo) encoder = 
  Pbrt.Encoder.string v.mmlefkndolf encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_multi_path_avatar (v:multi_path_avatar) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_avatar_skill_tree x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ) v.alfcdfljlef encoder;
  Pbrt.Encoder.int32_as_varint v.rank encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cfehgipoikg encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  encode_pb_multi_path_avatar_type v.avatar_id encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_equip_relic x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.equip_relic_list encoder;
  ()

let rec encode_pb_jblpadknjeg (v:jblpadknjeg) encoder = 
  encode_pb_multi_path_avatar_type v.avatar_id encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hkoboiogoan (v:hkoboiogoan) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  encode_pb_multi_path_avatar_type v.avatar_id encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_eeibaolcgme (v:eeibaolcgme) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    encode_pb_multi_path_avatar_type x encoder;
    Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ) v.avatar_id_list encoder;
  ()

let rec encode_pb_ckfndpojijk (v:ckfndpojijk) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_get_multi_path_avatar_info_cs_req (v:get_multi_path_avatar_info_cs_req) encoder = 
()

let rec encode_pb_get_multi_path_avatar_info_sc_rsp (v:get_multi_path_avatar_info_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_multi_path_avatar x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.epdnicajoli encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.dbkjfgdlemk encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    encode_pb_multi_path_avatar_type x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.cur_path_type_map encoder;
  ()

let rec encode_pb_jnfhfddncdh (v:jnfhfddncdh) encoder = 
  encode_pb_multi_path_avatar_type v.avatar_id encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nfkgjkbpiop (v:nfkgjkbpiop) encoder = 
  encode_pb_multi_path_avatar_type v.avatar_id encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.dbkjfgdlemk encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_gnommghhgik (v:gnommghhgik) encoder = 
  Pbrt.Encoder.int32_as_varint v.base_avatar_id encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  encode_pb_multi_path_avatar_type v.nbbomjghppd encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_peiohgepkil (v:peiohgepkil) encoder = 
  encode_pb_gender v.ilpdljcncon encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_oapapodfeaa (v:oapapodfeaa) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_multi_path_avatar x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.iekbaibeoib encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  encode_pb_multi_path_avatar_type v.cfncjocmmho encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_galkddajoge (v:galkddajoge) encoder = 
  encode_pb_gender v.ilpdljcncon encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.nickname encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.is_modify encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_aiibjgampbh (v:aiibjgampbh) encoder = 
  encode_pb_multi_path_avatar_type v.cfncjocmmho encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.nlgoggmaeod encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_multi_path_avatar x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.iekbaibeoib encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.is_modify encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bknoejidmkn (v:bknoejidmkn) encoder = 
()

let rec encode_pb_kcnobmpglpa (v:kcnobmpglpa) encoder = 
  Pbrt.Encoder.int32_as_varint v.npmgknjajho encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.bojlpifgmag encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.kicpdkalbmn encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.pacmaejclee encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  encode_pb_pifanmpbmaj v.aahjlfbfjbd encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mfcdfkjanna encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hejbmlnejlj (v:hejbmlnejlj) encoder = 
  Pbrt.Encoder.int64_as_varint v.afmgandnccg encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fkdbgepognd encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lhpldhjkdkp encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_kcnobmpglpa x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.gmhjjigjffd encoder;
  ()

let rec encode_pb_doekpfaafpa (v:doekpfaafpa) encoder = 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_jlgifffnckb (v:jlgifffnckb) encoder = 
  begin match v.download_data with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_client_download_data x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hlmccoifdmj (v:hlmccoifdmj) encoder = 
  begin match v.data with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_client_obj_download_data x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_update_feature_switch_sc_notify (v:update_feature_switch_sc_notify) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_feature_switch_info x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.switch_info_list encoder;
  ()

let rec encode_pb_oiphpmdgaof (v:oiphpmdgaof) encoder = 
  Pbrt.Encoder.int32_as_varint v.adiialnejmk encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_anhilnpolho (v:anhilnpolho) encoder = 
  Pbrt.Encoder.int32_as_varint v.hejdlhijgna encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fpmdbnalpfg (v:fpmdbnalpfg) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hejdlhijgna encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ihifkjipeeh (v:ihifkjipeeh) encoder = 
  Pbrt.Encoder.int32_as_varint v.eokoalkmebo encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.ipnkbphbnco encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_oeokelkocae (v:oeokelkocae) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lidenhkbbkf (v:lidenhkbbkf) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.bofegpjagop encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_player_heart_beat_cs_req (v:player_heart_beat_cs_req) encoder = 
  begin match v.upload_data with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_client_upload_data x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.fhbehdlecea encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.client_time_ms encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_player_heart_beat_sc_rsp (v:player_heart_beat_sc_rsp) encoder = 
  Pbrt.Encoder.int64_as_varint v.server_time_ms encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.client_time_ms encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  begin match v.download_data with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_client_download_data x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ikgcpjdmdna (v:ikgcpjdmdna) encoder = 
  encode_pb_feature_switch_type v.kghcdbdmdki encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lajmnegeami (v:lajmnegeami) encoder = 
  encode_pb_hchcnfgecjj v.fgmdoekgpee encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.chlibbgdmco encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_kjffbpgnmjf (v:kjffbpgnmjf) encoder = 
  Pbrt.Encoder.bytes v.monicakdnei encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_cfagkddbaib (v:cfagkddbaib) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_lajmnegeami x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.pefekdhjbce encoder;
  Pbrt.Encoder.bytes v.iaeneafaogo encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_icpodpepelm (v:icpodpepelm) encoder = 
()

let rec encode_pb_cobbfmhbgkd (v:cobbfmhbgkd) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ifjegahkoic (v:ifjegahkoic) encoder = 
  Pbrt.Encoder.int64_as_varint v.ocoogaapion encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hbgacfhandm (v:hbgacfhandm) encoder = 
()

let rec encode_pb_ehnknlejadd (v:ehnknlejadd) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ifjegahkoic x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.hilakbadccb encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ifjegahkoic x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.nofmnpkaljn encoder;
  ()

let rec encode_pb_ikiomheofcd (v:ikiomheofcd) encoder = 
  Pbrt.Encoder.int32_as_varint v.pdpjiakgpbf encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gdfbnkagmgi encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ogkdpgnkfmc encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nfcojigifbb encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ojligkojemk (v:ojligkojemk) encoder = 
  Pbrt.Encoder.int32_as_varint v.gdfbnkagmgi encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nfcojigifbb encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ogkdpgnkfmc encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ikiomheofcd x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.ibfbefobfbd encoder;
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fhhkmlboidi (v:fhhkmlboidi) encoder = 
  Pbrt.Encoder.int32_as_varint v.kagnbjdmamf encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_reserve_stamina_exchange_sc_rsp (v:reserve_stamina_exchange_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.num encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_liaainkncng (v:liaainkncng) encoder = 
  Pbrt.Encoder.int64_as_varint v.ggndaapphak encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.stamina encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dlpphgglpbo encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.gbdgbkkjfel encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jlbjgfcddal (v:jlbjgfcddal) encoder = 
  Pbrt.Encoder.bool v.ookalmpeleg encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.defkcpiepnb encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.dedidajjmcj encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.hhcgdeocomi encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.ggodaiohjif encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.jcnincccakl encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.bkpaceckiia encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.kmjdmefgcck encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.nhknohpdocc encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jkddhpneldk (v:jkddhpneldk) encoder = 
  begin match v.mbnknhhaaik with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jlbjgfcddal x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_pbjhmijpmgc (v:pbjhmijpmgc) encoder = 
  begin match v.mbnknhhaaik with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jlbjgfcddal x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jlabhnlhoad (v:jlabhnlhoad) encoder = 
  Pbrt.Encoder.bytes v.upload_data encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.fhbehdlecea encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kbjjciagnij (v:kbjjciagnij) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  begin match v.data with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_client_obj_download_data x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_mebodoaicgh (v:mebodoaicgh) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.string x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ) v.nlacdgkpceg encoder;
  ()

let rec encode_pb_cnjenhgpijg (v:cnjenhgpijg) encoder = 
  Pbrt.Encoder.bool v.gmjgmcecogm encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.idfijahanmn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mebodoaicgh x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ofgpbmpjfkn (v:ofgpbmpjfkn) encoder = 
  Pbrt.Encoder.bool v.gmjgmcecogm encoder;
  Pbrt.Encoder.key 738 Pbrt.Varint encoder; 
  begin match v.mkjnmafpgji with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mebodoaicgh x encoder;
    Pbrt.Encoder.key 668 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.hfnmlhlcjbd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mebodoaicgh x encoder;
    Pbrt.Encoder.key 293 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_iakigocmcji (v:iakigocmcji) encoder = 
  begin match v.ipeeimmbfnh with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cnjenhgpijg x encoder;
    Pbrt.Encoder.key 1986 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.bblbengbiof with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ofgpbmpjfkn x encoder;
    Pbrt.Encoder.key 708 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hhogbpfijkl (v:hhogbpfijkl) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gdcclebbecc (v:gdcclebbecc) encoder =
  match v with
  | Cmd_player_board_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_set_head_icon_sc_rsp -> Pbrt.Encoder.int_as_varint 2843 encoder
  | Cmd_set_is_display_avatar_info_cs_req -> Pbrt.Encoder.int_as_varint 2839 encoder
  | Cmd_get_player_board_data_sc_rsp -> Pbrt.Encoder.int_as_varint 2806 encoder
  | Cmd_set_assist_avatar_sc_rsp -> Pbrt.Encoder.int_as_varint 2865 encoder
  | Cmd_set_signature_cs_req -> Pbrt.Encoder.int_as_varint 2833 encoder
  | Cmd_set_head_icon_cs_req -> Pbrt.Encoder.int_as_varint 2811 encoder
  | Cmd_set_display_avatar_sc_rsp -> Pbrt.Encoder.int_as_varint 2893 encoder
  | Cmd_unlock_head_icon_sc_notify -> Pbrt.Encoder.int_as_varint 2851 encoder
  | Cmd_set_signature_sc_rsp -> Pbrt.Encoder.int_as_varint 2899 encoder
  | Cmd_get_player_board_data_cs_req -> Pbrt.Encoder.int_as_varint 2868 encoder
  | Cmd_set_assist_avatar_cs_req -> Pbrt.Encoder.int_as_varint 2854 encoder
  | Cmd_set_display_avatar_cs_req -> Pbrt.Encoder.int_as_varint 2856 encoder
  | Cmd_set_is_display_avatar_info_sc_rsp -> Pbrt.Encoder.int_as_varint 2829 encoder

let rec encode_pb_ilmpdolbflp (v:ilmpdolbflp) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jioifojmhgg (v:jioifojmhgg) encoder = 
  Pbrt.Encoder.int32_as_varint v.pos encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_acighdhodol (v:acighdhodol) encoder = 
  Pbrt.Encoder.bool v.ebiebipemmp encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jioifojmhgg x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.hoannlkcmoj encoder;
  ()

let rec encode_pb_pdbhegkejnn (v:pdbhegkejnn) encoder = 
()

let rec encode_pb_ejjbfalmlpl (v:ejjbfalmlpl) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ilmpdolbflp x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.djjdncbpmfk encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.fejkecfmdnc encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.cpkikinabfj encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.mffdmonhkah encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  begin match v.ecgmfoohejj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_acighdhodol x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pnhppeakeme (v:pnhppeakeme) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_djpcljoklmh (v:djpcljoklmh) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mffdmonhkah encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_omdgafjddhp (v:omdgafjddhp) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jioifojmhgg x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.hoannlkcmoj encoder;
  ()

let rec encode_pb_hlghliokhof (v:hlghliokhof) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jioifojmhgg x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ) v.hoannlkcmoj encoder;
  ()

let rec encode_pb_mfeefdlinbd (v:mfeefdlinbd) encoder = 
  Pbrt.Encoder.bool v.ebiebipemmp encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fegfiolhldb (v:fegfiolhldb) encoder = 
  Pbrt.Encoder.bool v.ebiebipemmp encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_egioindghap (v:egioindghap) encoder = 
  Pbrt.Encoder.string v.cpkikinabfj encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_opcelbkmodd (v:opcelbkmodd) encoder = 
  Pbrt.Encoder.string v.cpkikinabfj encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bfjeegoifjh (v:bfjeegoifjh) encoder = 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.avatar_id_list encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_fbmllcgdeaj (v:fbmllcgdeaj) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.avatar_id_list encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kcmabmfmigk (v:kcmabmfmigk) encoder =
  match v with
  | Cmd_player_return_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_player_return_sign_sc_rsp -> Pbrt.Encoder.int_as_varint 4511 encoder
  | Cmd_player_return_take_point_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 4593 encoder
  | Cmd_player_return_start_sc_notify -> Pbrt.Encoder.int_as_varint 4568 encoder
  | Cmd_player_return_info_query_cs_req -> Pbrt.Encoder.int_as_varint 4551 encoder
  | Cmd_player_return_take_reward_cs_req -> Pbrt.Encoder.int_as_varint 4539 encoder
  | Cmd_player_return_sign_cs_req -> Pbrt.Encoder.int_as_varint 4506 encoder
  | Cmd_player_return_force_finish_sc_notify -> Pbrt.Encoder.int_as_varint 4599 encoder
  | Cmd_player_return_take_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 4529 encoder
  | Cmd_player_return_take_point_reward_cs_req -> Pbrt.Encoder.int_as_varint 4556 encoder
  | Cmd_player_return_point_change_sc_notify -> Pbrt.Encoder.int_as_varint 4543 encoder
  | Cmd_player_return_info_query_sc_rsp -> Pbrt.Encoder.int_as_varint 4533 encoder

let rec encode_pb_nnbobagndpf (v:nnbobagndpf) encoder =
  match v with
  | Player_return_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Player_return_processing -> Pbrt.Encoder.int_as_varint 1 encoder
  | Player_return_finish -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_jgednnjphao (v:jgednnjphao) encoder = 
  Pbrt.Encoder.int32_as_varint v.chpmfbghopb encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cbabjjnejcj (v:cbabjjnejcj) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ijifekbfnha encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.ebfcemokigl encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ofhpmpnmdgi (v:ofhpmpnmdgi) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ijifekbfnha encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.mplohdemggi encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ebfcemokigl encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bblkpnmpogi (v:bblkpnmpogi) encoder = 
  Pbrt.Encoder.int32_as_varint v.opmjfaoockc encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lcpbfjjpbli (v:lcpbfjjpbli) encoder = 
  Pbrt.Encoder.int32_as_varint v.fdbihcbjfpk encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.okbfdiconjo encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_komjjhcpkcl (v:komjjhcpkcl) encoder = 
  Pbrt.Encoder.int32_as_varint v.okbfdiconjo encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fdbihcbjfpk encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.lhkcfidldjf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_oejfjpbbhnd (v:oejfjpbbhnd) encoder = 
  Pbrt.Encoder.int32_as_varint v.kccleanfoef encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mehnpknnhfl (v:mehnpknnhfl) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mmbiokjgagb (v:mmbiokjgagb) encoder = 
  Pbrt.Encoder.int32_as_varint v.kccleanfoef encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kkeojconope (v:kkeojconope) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ijifekbfnha encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.hecfjbignbo encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.jlpokcllpoi encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int64_as_varint v.nfonlnipina encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.opmjfaoockc encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  encode_pb_nnbobagndpf v.status encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.mkideamcloh encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.efooffoifnf encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nokicjcmako encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jgpajdafmnb (v:jgpajdafmnb) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  begin match v.fjldoaefpfo with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kkeojconope x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.cbajboeeomd encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_eejjcahpekl (v:eejjcahpekl) encoder = 
  begin match v.fjldoaefpfo with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kkeojconope x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_pnnnehdhbgn (v:pnnnehdhbgn) encoder =
  match v with
  | Cmd_plot_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_finish_plot_sc_rsp -> Pbrt.Encoder.int_as_varint 1106 encoder
  | Cmd_finish_plot_cs_req -> Pbrt.Encoder.int_as_varint 1168 encoder

let rec encode_pb_hcgpfgeaemh (v:hcgpfgeaemh) encoder = 
  Pbrt.Encoder.int32_as_varint v.bbdpimddalm encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nnjkpmjkbhg (v:nnjkpmjkbhg) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bbdpimddalm encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_clplinbmjbm (v:clplinbmjbm) encoder =
  match v with
  | Cmd_punk_lord_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_get_punk_lord_battle_record_sc_rsp -> Pbrt.Encoder.int_as_varint 3278 encoder
  | Cmd_punk_lord_raid_time_out_sc_notify -> Pbrt.Encoder.int_as_varint 3225 encoder
  | Cmd_share_punk_lord_monster_cs_req -> Pbrt.Encoder.int_as_varint 3256 encoder
  | Cmd_share_punk_lord_monster_sc_rsp -> Pbrt.Encoder.int_as_varint 3293 encoder
  | Cmd_punk_lord_data_change_notify -> Pbrt.Encoder.int_as_varint 3284 encoder
  | Cmd_summon_punk_lord_monster_sc_rsp -> Pbrt.Encoder.int_as_varint 3229 encoder
  | Cmd_get_killed_punk_lord_monster_data_cs_req -> Pbrt.Encoder.int_as_varint 3228 encoder
  | Cmd_take_punk_lord_point_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 3248 encoder
  | Cmd_get_punk_lord_data_sc_rsp -> Pbrt.Encoder.int_as_varint 3297 encoder
  | Cmd_start_punk_lord_raid_cs_req -> Pbrt.Encoder.int_as_varint 3211 encoder
  | Cmd_get_punk_lord_data_cs_req -> Pbrt.Encoder.int_as_varint 3234 encoder
  | Cmd_punk_lord_monster_info_sc_notify -> Pbrt.Encoder.int_as_varint 3282 encoder
  | Cmd_summon_punk_lord_monster_cs_req -> Pbrt.Encoder.int_as_varint 3239 encoder
  | Cmd_punk_lord_battle_result_sc_notify -> Pbrt.Encoder.int_as_varint 3290 encoder
  | Cmd_get_punk_lord_monster_data_sc_rsp -> Pbrt.Encoder.int_as_varint 3206 encoder
  | Cmd_take_killed_punk_lord_monster_score_cs_req -> Pbrt.Encoder.int_as_varint 3232 encoder
  | Cmd_start_punk_lord_raid_sc_rsp -> Pbrt.Encoder.int_as_varint 3243 encoder
  | Cmd_take_killed_punk_lord_monster_score_sc_rsp -> Pbrt.Encoder.int_as_varint 3216 encoder
  | Cmd_punk_lord_monster_killed_notify -> Pbrt.Encoder.int_as_varint 3281 encoder
  | Cmd_get_punk_lord_battle_record_cs_req -> Pbrt.Encoder.int_as_varint 3223 encoder
  | Cmd_take_punk_lord_point_reward_cs_req -> Pbrt.Encoder.int_as_varint 3265 encoder
  | Cmd_get_killed_punk_lord_monster_data_sc_rsp -> Pbrt.Encoder.int_as_varint 3209 encoder
  | Cmd_get_punk_lord_monster_data_cs_req -> Pbrt.Encoder.int_as_varint 3268 encoder

let rec encode_pb_anphoopdlbn (v:anphoopdlbn) encoder =
  match v with
  | Punk_lord_operation_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Punk_lord_operation_refresh -> Pbrt.Encoder.int_as_varint 1 encoder
  | Punk_lord_operation_share -> Pbrt.Encoder.int_as_varint 2 encoder
  | Punk_lord_operation_start_raid -> Pbrt.Encoder.int_as_varint 3 encoder
  | Punk_lord_operation_get_battle_record -> Pbrt.Encoder.int_as_varint 4 encoder

let rec encode_pb_coalhafipng (v:coalhafipng) encoder = 
  begin match v.ddihfbmjacj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fgljkmekiom x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  encode_pb_punk_lord_attacker_status v.licghlgbmla encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ipobnmhpfee encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  begin match v.basic_info with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_aapoalmfpan x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_kmnmjombhjl (v:kmnmjombhjl) encoder = 
()

let rec encode_pb_glnelhcpcpo (v:glnelhcpcpo) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_coalhafipng x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.nnbfbfanojd encoder;
  ()

let rec encode_pb_icndgmffmhn (v:icndgmffmhn) encoder = 
  Pbrt.Encoder.bool v.hombibbpmjk encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.monster_id encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mlefcdfhiha (v:mlefcdfhiha) encoder = 
  Pbrt.Encoder.int64_as_varint v.kkkabkogeii encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.hombibbpmjk encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.bfdolepkbod encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  begin match v.scene with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dnlbhaceial x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.gdlljbeglci with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_coalhafipng x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_mjakmiepdjo (v:mjakmiepdjo) encoder = 
  encode_pb_punk_lord_share_type v.cpefaednmcc encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.monster_id encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jopjgmdmfhh (v:jopjgmdmfhh) encoder = 
  Pbrt.Encoder.int32_as_varint v.uid encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  encode_pb_punk_lord_share_type v.cpefaednmcc encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.monster_id encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gmlancnhncj (v:gmlancnhncj) encoder = 
()

let rec encode_pb_gnhkpibagdn (v:gnhkpibagdn) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  begin match v.gdlljbeglci with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_coalhafipng x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_haliddbdjlp (v:haliddbdjlp) encoder = 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.mhegpegfggg encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lohjjbdekdb (v:lohjjbdekdb) encoder = 
  Pbrt.Encoder.bool v.mhegpegfggg encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_acegholnboi (v:acegholnboi) encoder = 
  encode_pb_punk_lord_monster_info_notify_reason v.mgdnainpahe encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  begin match v.ddihfbmjacj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_punk_lord_battle_record x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.bfdolepkbod encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  begin match v.basic_info with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_aapoalmfpan x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_pgkolkmnkmn (v:pgkolkmnkmn) encoder = 
()

let rec encode_pb_dimdoakchag (v:dimdoakchag) encoder = 
  Pbrt.Encoder.int32_as_varint v.figonclcnhj encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jcaainbemcb encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pmpdkbcelef encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pojkpinipio encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fijcinagcbc encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.ogelbpicnhe encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ihkmfjnfjlk encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_idfhehkpdhn (v:idfhehkpdhn) encoder = 
  begin match v.gdlljbeglci with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_aapoalmfpan x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ojdimogobok (v:ojdimogobok) encoder = 
  begin match v.gdlljbeglci with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_aapoalmfpan x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.ddihfbmjacj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_punk_lord_battle_record x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.epjmalbjbfl encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dkjohfibjfb encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.inncjmgfgip encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_iffmlndfbim (v:iffmlndfbim) encoder = 
  Pbrt.Encoder.int32_as_varint v.jgghhdjnepo encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.monster_id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.fgilieldboi encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.world_level encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.kjpdknocoeo encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pfbnanpcdjh encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hkfkcmjlfdl (v:hkfkcmjlfdl) encoder = 
()

let rec encode_pb_jfdfegkckae (v:jfdfegkckae) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_hbbaohkdklj x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.ppbaggdodle encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_iffmlndfbim x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.enlhpceoajj encoder;
  ()

let rec encode_pb_kjnjdnhcdik (v:kjnjdnhcdik) encoder = 
  begin match v.fckknkkgaal with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_iffmlndfbim x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_dgbpdpgampb (v:dgbpdpgampb) encoder = 
  begin match v.fjnpddmldld with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hbbaohkdklj x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.bool v.ikcpmimknmj encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pgomokjlnia (v:pgomokjlnia) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.ikcpmimknmj encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lpgaoolbbfm encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_hbbaohkdklj x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.jmeheohdpek encoder;
  ()

let rec encode_pb_miohefaegmd (v:miohefaegmd) encoder = 
  Pbrt.Encoder.int32_as_varint v.jcaainbemcb encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pojkpinipio encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.figonclcnhj encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dhdcjejdhoh (v:dhdcjejdhoh) encoder = 
  begin match v.fjnpddmldld with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hbbaohkdklj x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_aimdhjaenjj (v:aimdhjaenjj) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_punk_lord_battle_replay x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.fodcominece encoder;
  begin match v.fjnpddmldld with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hbbaohkdklj x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_punk_lord_battle_record x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.eolalkfgdal encoder;
  ()

let rec encode_pb_cpgjejnngoe (v:cpgjejnngoe) encoder =
  match v with
  | Cmd_quest_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_batch_get_quest_data_sc_rsp -> Pbrt.Encoder.int_as_varint 934 encoder
  | Cmd_get_quest_data_cs_req -> Pbrt.Encoder.int_as_varint 968 encoder
  | Cmd_take_quest_optional_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 965 encoder
  | Cmd_quest_record_sc_notify -> Pbrt.Encoder.int_as_varint 951 encoder
  | Cmd_finish_quest_sc_rsp -> Pbrt.Encoder.int_as_varint 999 encoder
  | Cmd_batch_get_quest_data_cs_req -> Pbrt.Encoder.int_as_varint 982 encoder
  | Cmd_get_quest_record_cs_req -> Pbrt.Encoder.int_as_varint 939 encoder
  | Cmd_take_quest_optional_reward_cs_req -> Pbrt.Encoder.int_as_varint 954 encoder
  | Cmd_get_quest_data_sc_rsp -> Pbrt.Encoder.int_as_varint 906 encoder
  | Cmd_take_quest_reward_cs_req -> Pbrt.Encoder.int_as_varint 911 encoder
  | Cmd_finish_quest_cs_req -> Pbrt.Encoder.int_as_varint 933 encoder
  | Cmd_take_quest_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 943 encoder
  | Cmd_get_quest_record_sc_rsp -> Pbrt.Encoder.int_as_varint 929 encoder

let rec encode_pb_jjofecmhbon (v:jjofecmhbon) encoder =
  match v with
  | Quest_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Quest_doing -> Pbrt.Encoder.int_as_varint 1 encoder
  | Quest_finish -> Pbrt.Encoder.int_as_varint 2 encoder
  | Quest_close -> Pbrt.Encoder.int_as_varint 3 encoder
  | Quest_delete -> Pbrt.Encoder.int_as_varint 4 encoder

let rec encode_pb_oblnmhfpkob (v:oblnmhfpkob) encoder = 
()

let rec encode_pb_eejpmepikga (v:eejpmepikga) encoder = 
  Pbrt.Encoder.int64_as_varint v.nfonlnipina encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  encode_pb_jjofecmhbon v.status encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.progress encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.pnkhfhpabgb encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_lmnopfmjoco (v:lmnopfmjoco) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_eejpmepikga x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.pnlbagbglfd encoder;
  Pbrt.Encoder.int32_as_varint v.igcimdmbdfa encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bboncngkkfh (v:bboncngkkfh) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.chcdpcmpihk encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_take_quest_reward_sc_rsp (v:take_quest_reward_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.succ_quest_id_list encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_gimgmgjgkni (v:gimgmgjgkni) encoder = 
  Pbrt.Encoder.int32_as_varint v.gjbdmneacbj encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.apbdbeabddj encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mcekcfpcaap (v:mcekcfpcaap) encoder = 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.gjbdmneacbj encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kmffdlklgng (v:kmffdlklgng) encoder = 
()

let rec encode_pb_kmgpadlinip (v:kmgpadlinip) encoder = 
  Pbrt.Encoder.int32_as_varint v.progress encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kkbjlhilfen encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hfdblljhijn (v:hfdblljhijn) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_kmgpadlinip x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.jjichfkkmjl encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pnhijbbmjhk (v:pnhijbbmjhk) encoder = 
  begin match v.kklhgagcopa with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kmgpadlinip x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hckfdajnjec (v:hckfdajnjec) encoder = 
  Pbrt.Encoder.int32_as_varint v.prop_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gjbdmneacbj encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lpcjcddpmeo (v:lpcjcddpmeo) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mdgdpmjnbnp (v:mdgdpmjnbnp) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.pnlbagbglfd encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_lehcpjafdea (v:lehcpjafdea) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_eejpmepikga x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.pnlbagbglfd encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_chechglhkhl (v:chechglhkhl) encoder =
  match v with
  | Cmd_raid_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_start_raid_sc_rsp -> Pbrt.Encoder.int_as_varint 2206 encoder
  | Cmd_get_challenge_raid_info_sc_rsp -> Pbrt.Encoder.int_as_varint 2239 encoder
  | Cmd_start_raid_cs_req -> Pbrt.Encoder.int_as_varint 2268 encoder
  | Cmd_set_client_raid_target_count_cs_req -> Pbrt.Encoder.int_as_varint 2265 encoder
  | Cmd_raid_kick_by_server_sc_notify -> Pbrt.Encoder.int_as_varint 2224 encoder
  | Cmd_get_save_raid_sc_rsp -> Pbrt.Encoder.int_as_varint 2234 encoder
  | Cmd_get_all_save_raid_cs_req -> Pbrt.Encoder.int_as_varint 2297 encoder
  | Cmd_challenge_raid_notify -> Pbrt.Encoder.int_as_varint 2233 encoder
  | Cmd_raid_info_notify -> Pbrt.Encoder.int_as_varint 2256 encoder
  | Cmd_leave_raid_cs_req -> Pbrt.Encoder.int_as_varint 2211 encoder
  | Cmd_get_all_save_raid_sc_rsp -> Pbrt.Encoder.int_as_varint 2298 encoder
  | Cmd_get_raid_info_sc_rsp -> Pbrt.Encoder.int_as_varint 2254 encoder
  | Cmd_take_challenge_raid_reward_cs_req -> Pbrt.Encoder.int_as_varint 2229 encoder
  | Cmd_get_raid_info_cs_req -> Pbrt.Encoder.int_as_varint 2299 encoder
  | Cmd_del_save_raid_sc_notify -> Pbrt.Encoder.int_as_varint 2225 encoder
  | Cmd_take_challenge_raid_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 2251 encoder
  | Cmd_set_client_raid_target_count_sc_rsp -> Pbrt.Encoder.int_as_varint 2248 encoder
  | Cmd_get_save_raid_cs_req -> Pbrt.Encoder.int_as_varint 2282 encoder
  | Cmd_leave_raid_sc_rsp -> Pbrt.Encoder.int_as_varint 2243 encoder
  | Cmd_get_challenge_raid_info_cs_req -> Pbrt.Encoder.int_as_varint 2293 encoder

let rec encode_pb_phlppgocmfk (v:phlppgocmfk) encoder =
  match v with
  | Raid_status_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Raid_status_doing -> Pbrt.Encoder.int_as_varint 1 encoder
  | Raid_status_finish -> Pbrt.Encoder.int_as_varint 2 encoder
  | Raid_status_failed -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_lgbplphaacb (v:lgbplphaacb) encoder =
  match v with
  | Raid_target_status_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Raid_target_status_doing -> Pbrt.Encoder.int_as_varint 1 encoder
  | Raid_target_status_finish -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_ehhjocaaaba (v:ehhjocaaaba) encoder =
  match v with
  | Raid_kick_reason_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Raid_kick_reason_activity_schedule_finish -> Pbrt.Encoder.int_as_varint 1 encoder

let rec encode_pb_jpfgmcipjmm (v:jpfgmcipjmm) encoder = 
  Pbrt.Encoder.int32_as_varint v.prop_entity_id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.avatar_list encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.ikpjplopmjk encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.chbdfdolhoc encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.world_level encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ndjiajphifk (v:ndjiajphifk) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  begin match v.scene with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dnlbhaceial x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_fjhkfgdlibf (v:fjhkfgdlibf) encoder = 
  Pbrt.Encoder.bool v.chbdfdolhoc encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ikpjplopmjk encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_djabebmofde (v:djabebmofde) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hhikhceehbb (v:hhikhceehbb) encoder = 
  encode_pb_lgbplphaacb v.koinobbmjaa encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.glaokkggino encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dpepdejdlka encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_knjianifiba (v:knjianifiba) encoder = 
  begin match v.pdpfcfglgco with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  encode_pb_phlppgocmfk v.status encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.mpfnjpaeobp encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.world_level encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_hhikhceehbb x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.hhnnjledapn encoder;
  Pbrt.Encoder.int32_as_varint v.ikpjplopmjk encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_adffgpcjffg (v:adffgpcjffg) encoder = 
  Pbrt.Encoder.int32_as_varint v.gakmanenkmh encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ikpjplopmjk encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jcifaehlamo (v:jcifaehlamo) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.goccbdenfle encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.world_level encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ikpjplopmjk encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_iikolamhenh (v:iikolamhenh) encoder = 
()

let rec encode_pb_get_raid_info_sc_rsp (v:get_raid_info_sc_rsp) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.challenge_taken_reward_id_list encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_adffgpcjffg x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.challenge_raid_list encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jcifaehlamo x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.finished_raid_info_list encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_koocbfbkebc (v:koocbfbkebc) encoder = 
()

let rec encode_pb_kohffnboocd (v:kohffnboocd) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_adffgpcjffg x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.clbadgogepf encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ghchnanjdfb encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_haiedplfomf (v:haiedplfomf) encoder = 
  Pbrt.Encoder.int32_as_varint v.bhcnfehdnfg encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_goobncpndib (v:goobncpndib) encoder = 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.bhcnfehdnfg encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_eliccgkomcl (v:eliccgkomcl) encoder = 
  begin match v.onhjiaijhop with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_adffgpcjffg x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_fjiefeeohjh (v:fjiefeeohjh) encoder = 
  Pbrt.Encoder.int32_as_varint v.progress encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kpibjmjbjod encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gbmeonklkdc (v:gbmeonklkdc) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kpibjmjbjod encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.progress encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cgmldddjpfl (v:cgmldddjpfl) encoder = 
  Pbrt.Encoder.int32_as_varint v.world_level encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ikpjplopmjk encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mldbcfbgieb (v:mldbcfbgieb) encoder = 
  Pbrt.Encoder.int32_as_varint v.world_level encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ikpjplopmjk encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.chbdfdolhoc encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_hhikhceehbb x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.hhnnjledapn encoder;
  ()

let rec encode_pb_hmcbkcliekg (v:hmcbkcliekg) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_hhikhceehbb x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.hhnnjledapn encoder;
  Pbrt.Encoder.int32_as_varint v.ikpjplopmjk encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.world_level encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dinmibgodol (v:dinmibgodol) encoder = 
()

let rec encode_pb_klidemocfdg (v:klidemocfdg) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_hmcbkcliekg x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.ejkajanlmkl encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_oeajhnfofoc (v:oeajhnfofoc) encoder = 
  Pbrt.Encoder.int32_as_varint v.ikpjplopmjk encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.world_level encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_njcahpomndl (v:njcahpomndl) encoder = 
  encode_pb_ehhjocaaaba v.mgdnainpahe encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.lineup with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lineup_info x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.world_level encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ikpjplopmjk encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  begin match v.scene with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_info x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hflgjkjjmim (v:hflgjkjjmim) encoder =
  match v with
  | Cmd_raid_collection_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_raid_collection_enter_next_raid_cs_req -> Pbrt.Encoder.int_as_varint 6960 encoder
  | Cmd_raid_collection_enter_next_raid_sc_rsp -> Pbrt.Encoder.int_as_varint 6944 encoder
  | Cmd_raid_collection_data_sc_notify -> Pbrt.Encoder.int_as_varint 6952 encoder
  | Cmd_raid_collection_data_sc_rsp -> Pbrt.Encoder.int_as_varint 6943 encoder
  | Cmd_raid_collection_data_cs_req -> Pbrt.Encoder.int_as_varint 6959 encoder

let rec encode_pb_bkaomcmepci (v:bkaomcmepci) encoder = 
  Pbrt.Encoder.int32_as_varint v.infplhaigop encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ppijcmkiogi (v:ppijcmkiogi) encoder = 
()

let rec encode_pb_fgkfloacjen (v:fgkfloacjen) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_bkaomcmepci x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.cjbdijhedpo encoder;
  ()

let rec encode_pb_hjpgejdfpae (v:hjpgejdfpae) encoder = 
  begin match v.hciobbpgkbe with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bkaomcmepci x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bliiedplbfc (v:bliiedplbfc) encoder = 
  Pbrt.Encoder.int32_as_varint v.world_level encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ikpjplopmjk encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.chbdfdolhoc encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.avatar_list encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_efgangejahe (v:efgangejahe) encoder = 
  begin match v.scene with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dnlbhaceial x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_iipfogjkbdd (v:iipfogjkbdd) encoder =
  match v with
  | Cmd_red_dot_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_update_red_dot_data_cs_req -> Pbrt.Encoder.int_as_varint 5911 encoder
  | Cmd_get_single_red_dot_param_group_cs_req -> Pbrt.Encoder.int_as_varint 5956 encoder
  | Cmd_get_single_red_dot_param_group_sc_rsp -> Pbrt.Encoder.int_as_varint 5993 encoder
  | Cmd_get_all_red_dot_data_cs_req -> Pbrt.Encoder.int_as_varint 5968 encoder
  | Cmd_update_red_dot_data_sc_rsp -> Pbrt.Encoder.int_as_varint 5943 encoder
  | Cmd_get_all_red_dot_data_sc_rsp -> Pbrt.Encoder.int_as_varint 5906 encoder

let rec encode_pb_ljhkjfilggp (v:ljhkjfilggp) encoder =
  match v with
  | Update_reddot_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Update_reddot_add -> Pbrt.Encoder.int_as_varint 1 encoder
  | Update_reddot_replace -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_pljklolgala (v:pljklolgala) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.odjegmnefag encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_oefagcankoa (v:oefagcankoa) encoder = 
  Pbrt.Encoder.int32_as_varint v.lejmmaeibga encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fjlnncjahng encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.nested encode_pb_pljklolgala x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Bytes) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.jhoejhpfmme encoder;
  ()

let rec encode_pb_cllhoejpnlc (v:cllhoejpnlc) encoder = 
()

let rec encode_pb_bdpfmlechij (v:bdpfmlechij) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_oefagcankoa x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.ldganldgeln encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cnaimppnfcb (v:cnaimppnfcb) encoder = 
  Pbrt.Encoder.int32_as_varint v.lejmmaeibga encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.param_list encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fjlnncjahng encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  encode_pb_ljhkjfilggp v.kifpepeebco encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cfloccjogdo (v:cfloccjogdo) encoder = 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lejmmaeibga encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fjlnncjahng encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jiddlbiohfe (v:jiddlbiohfe) encoder = 
  Pbrt.Encoder.int32_as_varint v.fjlnncjahng encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lejmmaeibga encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hplgncaacpa (v:hplgncaacpa) encoder = 
  Pbrt.Encoder.int32_as_varint v.lejmmaeibga encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fjlnncjahng encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.lgghoaagahj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pljklolgala x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pfmnoejepaf (v:pfmnoejepaf) encoder =
  match v with
  | Cmd_replay_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_get_replay_token_sc_rsp -> Pbrt.Encoder.int_as_varint 3506 encoder
  | Cmd_get_replay_token_cs_req -> Pbrt.Encoder.int_as_varint 3568 encoder
  | Cmd_get_player_replay_info_cs_req -> Pbrt.Encoder.int_as_varint 3511 encoder
  | Cmd_get_player_replay_info_sc_rsp -> Pbrt.Encoder.int_as_varint 3543 encoder

let rec encode_pb_bbiaodgpdie (v:bbiaodgpdie) encoder = 
  Pbrt.Encoder.string v.dmlnkapjjni encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.oeoikijbcfg encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  encode_pb_replay_type v.blnoeiceljf encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.laneigjfepk encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.lfnjmcnfhha encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kbnonoecgia (v:kbnonoecgia) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  encode_pb_replay_type v.blnoeiceljf encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.oiegbkkceda encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.laneigjfepk encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_amejgemekhj (v:amejgemekhj) encoder = 
()

let rec encode_pb_mgbehfompfh (v:mgbehfompfh) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_nlhgcplikkp x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.negllhlgeni encoder;
  ()

let rec encode_pb_mjejbpdgghg (v:mjejbpdgghg) encoder =
  match v with
  | Cmd_rnd_option_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_daily_first_meet_pam_sc_rsp -> Pbrt.Encoder.int_as_varint 3443 encoder
  | Cmd_get_rnd_option_cs_req -> Pbrt.Encoder.int_as_varint 3468 encoder
  | Cmd_get_rnd_option_sc_rsp -> Pbrt.Encoder.int_as_varint 3406 encoder
  | Cmd_daily_first_meet_pam_cs_req -> Pbrt.Encoder.int_as_varint 3411 encoder

let rec encode_pb_kkpoiboahff (v:kkpoiboahff) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_apghjcccmob (v:apghjcccmob) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ljpbjpagadf encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_dlckmkconlg (v:dlckmkconlg) encoder = 
()

let rec encode_pb_dcjhfjbaedn (v:dcjhfjbaedn) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fgllegeeied (v:fgllegeeied) encoder =
  match v with
  | Cmd_rogue_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_get_rogue_info_cs_req -> Pbrt.Encoder.int_as_varint 1868 encoder
  | Cmd_get_rogue_buff_enhance_info_cs_req -> Pbrt.Encoder.int_as_varint 1890 encoder
  | Cmd_exchange_rogue_reward_key_sc_rsp -> Pbrt.Encoder.int_as_varint 1803 encoder
  | Cmd_sync_rogue_explore_win_sc_notify -> Pbrt.Encoder.int_as_varint 1849 encoder
  | Cmd_sync_rogue_status_sc_notify -> Pbrt.Encoder.int_as_varint 1887 encoder
  | Cmd_leave_rogue_sc_rsp -> Pbrt.Encoder.int_as_varint 1829 encoder
  | Cmd_get_rogue_info_sc_rsp -> Pbrt.Encoder.int_as_varint 1806 encoder
  | Cmd_take_rogue_score_reward_cs_req -> Pbrt.Encoder.int_as_varint 1817 encoder
  | Cmd_sync_rogue_aeon_level_up_reward_sc_notify -> Pbrt.Encoder.int_as_varint 1870 encoder
  | Cmd_finish_aeon_dialogue_group_sc_rsp -> Pbrt.Encoder.int_as_varint 1855 encoder
  | Cmd_enable_rogue_talent_cs_req -> Pbrt.Encoder.int_as_varint 1880 encoder
  | Cmd_open_rogue_chest_sc_rsp -> Pbrt.Encoder.int_as_varint 1841 encoder
  | Cmd_get_rogue_score_reward_info_cs_req -> Pbrt.Encoder.int_as_varint 1861 encoder
  | Cmd_sync_rogue_reward_info_sc_notify -> Pbrt.Encoder.int_as_varint 1818 encoder
  | Cmd_revive_rogue_avatar_cs_req -> Pbrt.Encoder.int_as_varint 1825 encoder
  | Cmd_get_rogue_initial_score_cs_req -> Pbrt.Encoder.int_as_varint 1895 encoder
  | Cmd_enter_rogue_cs_req -> Pbrt.Encoder.int_as_varint 1856 encoder
  | Cmd_finish_aeon_dialogue_group_cs_req -> Pbrt.Encoder.int_as_varint 1877 encoder
  | Cmd_get_rogue_talent_info_sc_rsp -> Pbrt.Encoder.int_as_varint 1838 encoder
  | Cmd_take_rogue_aeon_level_reward_cs_req -> Pbrt.Encoder.int_as_varint 1810 encoder
  | Cmd_quit_rogue_sc_rsp -> Pbrt.Encoder.int_as_varint 1878 encoder
  | Cmd_leave_rogue_cs_req -> Pbrt.Encoder.int_as_varint 1839 encoder
  | Cmd_take_rogue_aeon_level_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 1850 encoder
  | Cmd_get_rogue_aeon_info_sc_rsp -> Pbrt.Encoder.int_as_varint 1827 encoder
  | Cmd_get_rogue_score_reward_info_sc_rsp -> Pbrt.Encoder.int_as_varint 1879 encoder
  | Cmd_sync_rogue_area_unlock_sc_notify -> Pbrt.Encoder.int_as_varint 1896 encoder
  | Cmd_enhance_rogue_buff_sc_rsp -> Pbrt.Encoder.int_as_varint 1888 encoder
  | Cmd_enter_rogue_map_room_cs_req -> Pbrt.Encoder.int_as_varint 1812 encoder
  | Cmd_revive_rogue_avatar_sc_rsp -> Pbrt.Encoder.int_as_varint 1824 encoder
  | Cmd_pick_rogue_avatar_cs_req -> Pbrt.Encoder.int_as_varint 1834 encoder
  | Cmd_sync_rogue_aeon_sc_notify -> Pbrt.Encoder.int_as_varint 1883 encoder
  | Cmd_sync_rogue_virtual_item_info_sc_notify -> Pbrt.Encoder.int_as_varint 1819 encoder
  | Cmd_open_rogue_chest_cs_req -> Pbrt.Encoder.int_as_varint 1807 encoder
  | Cmd_enter_rogue_sc_rsp -> Pbrt.Encoder.int_as_varint 1893 encoder
  | Cmd_sync_rogue_get_item_sc_notify -> Pbrt.Encoder.int_as_varint 1836 encoder
  | Cmd_sync_rogue_pick_avatar_info_sc_notify -> Pbrt.Encoder.int_as_varint 1835 encoder
  | Cmd_enhance_rogue_buff_cs_req -> Pbrt.Encoder.int_as_varint 1809 encoder
  | Cmd_take_rogue_score_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 1892 encoder
  | Cmd_exchange_rogue_reward_key_cs_req -> Pbrt.Encoder.int_as_varint 1831 encoder
  | Cmd_get_rogue_buff_enhance_info_sc_rsp -> Pbrt.Encoder.int_as_varint 1828 encoder
  | Cmd_enable_rogue_talent_sc_rsp -> Pbrt.Encoder.int_as_varint 1804 encoder
  | Cmd_get_rogue_aeon_info_cs_req -> Pbrt.Encoder.int_as_varint 1857 encoder
  | Cmd_quit_rogue_cs_req -> Pbrt.Encoder.int_as_varint 1823 encoder
  | Cmd_sync_rogue_revive_info_sc_notify -> Pbrt.Encoder.int_as_varint 1884 encoder
  | Cmd_get_rogue_talent_info_cs_req -> Pbrt.Encoder.int_as_varint 1863 encoder
  | Cmd_sync_rogue_map_room_sc_notify -> Pbrt.Encoder.int_as_varint 1869 encoder
  | Cmd_sync_rogue_finish_sc_notify -> Pbrt.Encoder.int_as_varint 1882 encoder
  | Cmd_sync_rogue_season_finish_sc_notify -> Pbrt.Encoder.int_as_varint 1845 encoder
  | Cmd_pick_rogue_avatar_sc_rsp -> Pbrt.Encoder.int_as_varint 1897 encoder
  | Cmd_get_rogue_initial_score_sc_rsp -> Pbrt.Encoder.int_as_varint 1889 encoder
  | Cmd_start_rogue_cs_req -> Pbrt.Encoder.int_as_varint 1811 encoder
  | Cmd_enter_rogue_map_room_sc_rsp -> Pbrt.Encoder.int_as_varint 1830 encoder
  | Cmd_start_rogue_sc_rsp -> Pbrt.Encoder.int_as_varint 1843 encoder

let rec encode_pb_ofhnfenfeai (v:ofhnfenfeai) encoder =
  match v with
  | Rogue_status_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_status_doing -> Pbrt.Encoder.int_as_varint 1 encoder
  | Rogue_status_pending -> Pbrt.Encoder.int_as_varint 2 encoder
  | Rogue_status_endless -> Pbrt.Encoder.int_as_varint 3 encoder
  | Rogue_status_finish -> Pbrt.Encoder.int_as_varint 4 encoder

let rec encode_pb_mbnocjilejg (v:mbnocjilejg) encoder =
  match v with
  | Rogue_room_status_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_room_status_lock -> Pbrt.Encoder.int_as_varint 1 encoder
  | Rogue_room_status_unlock -> Pbrt.Encoder.int_as_varint 2 encoder
  | Rogue_room_status_play -> Pbrt.Encoder.int_as_varint 3 encoder
  | Rogue_room_status_finish -> Pbrt.Encoder.int_as_varint 4 encoder

let rec encode_pb_gjdmagoenld (v:gjdmagoenld) encoder =
  match v with
  | Rogue_area_status_lock -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_area_status_unlock -> Pbrt.Encoder.int_as_varint 1 encoder
  | Rogue_area_status_first_pass -> Pbrt.Encoder.int_as_varint 2 encoder
  | Rogue_area_status_close -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_nnnopllagge (v:nnnopllagge) encoder =
  match v with
  | Rogue_buff_source_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_buff_source_type_select -> Pbrt.Encoder.int_as_varint 1 encoder
  | Rogue_buff_source_type_enhance -> Pbrt.Encoder.int_as_varint 2 encoder
  | Rogue_buff_source_type_miracle -> Pbrt.Encoder.int_as_varint 3 encoder
  | Rogue_buff_source_type_dialogue -> Pbrt.Encoder.int_as_varint 4 encoder
  | Rogue_buff_source_type_bonus -> Pbrt.Encoder.int_as_varint 5 encoder
  | Rogue_buff_source_type_maze_skill -> Pbrt.Encoder.int_as_varint 6 encoder
  | Rogue_buff_source_type_shop -> Pbrt.Encoder.int_as_varint 7 encoder
  | Rogue_buff_source_type_level_mechanism -> Pbrt.Encoder.int_as_varint 8 encoder
  | Rogue_buff_source_type_endless_level_start -> Pbrt.Encoder.int_as_varint 9 encoder

let rec encode_pb_dblpgacnlah (v:dblpgacnlah) encoder =
  match v with
  | Rogue_miracle_source_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_miracle_source_type_select -> Pbrt.Encoder.int_as_varint 1 encoder
  | Rogue_miracle_source_type_dialogue -> Pbrt.Encoder.int_as_varint 2 encoder
  | Rogue_miracle_source_type_bonus -> Pbrt.Encoder.int_as_varint 3 encoder
  | Rogue_miracle_source_type_use -> Pbrt.Encoder.int_as_varint 4 encoder
  | Rogue_miracle_source_type_reset -> Pbrt.Encoder.int_as_varint 5 encoder
  | Rogue_miracle_source_type_replace -> Pbrt.Encoder.int_as_varint 6 encoder
  | Rogue_miracle_source_type_trade -> Pbrt.Encoder.int_as_varint 7 encoder
  | Rogue_miracle_source_type_get -> Pbrt.Encoder.int_as_varint 8 encoder
  | Rogue_miracle_source_type_shop -> Pbrt.Encoder.int_as_varint 9 encoder
  | Rogue_miracle_source_type_maze_skill -> Pbrt.Encoder.int_as_varint 10 encoder
  | Rogue_miracle_source_type_level_mechanism -> Pbrt.Encoder.int_as_varint 11 encoder
  | Rogue_miracle_source_type_endless_level_start -> Pbrt.Encoder.int_as_varint 12 encoder

let rec encode_pb_npbmfealpda (v:npbmfealpda) encoder =
  match v with
  | Rogue_dialogue_result_succ -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_dialogue_result_fail -> Pbrt.Encoder.int_as_varint 1 encoder

let rec encode_pb_lffandejddm (v:lffandejddm) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jfbmlneajki x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.buff_list encoder;
  ()

let rec encode_pb_ifiajgbcpfe (v:ifiajgbcpfe) encoder = 
  encode_pb_mbnocjilejg v.niiplnimbdh encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ioijcfnndfi encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mfdelanaicp encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  encode_pb_mbnocjilejg v.bnbhejbnipl encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dmlfebgjkkb encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kcoenpcpemg (v:kcoenpcpemg) encoder = 
  Pbrt.Encoder.int32_as_varint v.lnjapmhfcck encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gflhplhjaeh encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ggdaffjnmpa encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dgigimbnnlb encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ifiajgbcpfe x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.jmmfccfiepc encoder;
  ()

let rec encode_pb_gkhpicdajdl (v:gkhpicdajdl) encoder = 
  Pbrt.Encoder.int32_as_varint v.lnjapmhfcck encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ggdaffjnmpa encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  encode_pb_gjdmagoenld v.emcojpeknnm encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.ennhncalcjj encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ediopngagap encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  encode_pb_ofhnfenfeai v.bejkhpkacji encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_iacnppnpccc (v:iacnppnpccc) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.jjnpbehjnjb encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.fliodcbfcfb encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.cggbcjdjmcm encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.phnnlfhkehl encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.njohallnnnf encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  encode_pb_hbdomioniba v.cbjpfggchfh encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.okgomocdmna encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pagddbhndgi encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.leggojccbin encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  begin match v.aionnejpeag with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jfbmlneajki x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.nehaljheool encoder;
  Pbrt.Encoder.int32_as_varint v.hdialjfomdi encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kfnmpcoanof encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ihjjjmhfaan (v:ihjjjmhfaan) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jfbmlneajki x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.bjijcdggdde encoder;
  begin match v.hjcdfejpjcl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jfbmlneajki x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_omfcngipdgf (v:omfcngipdgf) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jfbmlneajki x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.eikoihamlka encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jfbmlneajki x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.ckmcdophoho encoder;
  Pbrt.Encoder.int32_as_varint v.comnknfemfn encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jgadagdbegl (v:jgadagdbegl) encoder = 
  Pbrt.Encoder.int32_as_varint v.pkkfndimmio encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  begin match v.lohpklihemj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.float_as_bits32 v.knaoedajjai encoder;
  Pbrt.Encoder.key 8 Pbrt.Bits32 encoder; 
  ()

let rec encode_pb_oeahdnkofon (v:oeahdnkofon) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jgadagdbegl x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.lgbagcehkme encoder;
  ()

let rec encode_pb_fohcbjkjedg (v:fohcbjkjedg) encoder = 
  Pbrt.Encoder.int32_as_varint v.afefamkndoo encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ichkjnfaacl encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.int32_as_varint x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.edcaibmdknh encoder;
  Pbrt.Encoder.int32_as_varint v.ekieijdbdhm encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fomcmdmpdcg encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_oekndgfgeji (v:oekndgfgeji) encoder = 
  Pbrt.Encoder.int32_as_varint v.lpmiommhiek encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_fohcbjkjedg x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.pcpkkbfpbeb encoder;
  Pbrt.Encoder.int32_as_varint v.aoolkgbeieh encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_liidngdpinl (v:liidngdpinl) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ohmlalbookj encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  begin match v.pmoenkofnla with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_oekndgfgeji x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bfaggjhfpdi (v:bfaggjhfpdi) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ccdkldffekl encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_enhkgahlnjm (v:enhkgahlnjm) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ofaekfangcn encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_ogekjemplng (v:ogekjemplng) encoder = 
  Pbrt.Encoder.int32_as_varint v.amdnjffegfp encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  begin match v.ekpahpdniff with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.oddcohjamko with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lffandejddm x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_mhbicckbklh (v:mhbicckbklh) encoder = 
  begin match v.joipnmmehbm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.felfdbckgbe encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.japlhpdhbci encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.efiaofpjjan encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ikpacpiajlh (v:ikpacpiajlh) encoder = 
  Pbrt.Encoder.int32_as_varint v.foenmmipefp encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_keenhmggipf (v:keenhmggipf) encoder = 
  Pbrt.Encoder.int32_as_varint v.gannhbnhjmp encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.okgomocdmna encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ihlccndmjfi encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cfffhjomjao encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gdeajeoinom (v:gdeajeoinom) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.okhflbihfhm encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  begin match v.boijkbofiid with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mhbicckbklh x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.dfkpgckchah encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.base_avatar_id_list encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_lbcnahcogfm (v:lbcnahcogfm) encoder = 
  begin match v.pmoenkofnla with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_oekndgfgeji x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ppachbcgdfe (v:ppachbcgdfe) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.gcmeendacok encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_nhnblapbcjc (v:nhnblapbcjc) encoder = 
  Pbrt.Encoder.int32_as_varint v.efejfkooglh encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.aobifgleena encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.agndiegkeih encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fkmaamoekbp (v:fkmaamoekbp) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jfbmlneajki x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.nehaljheool encoder;
  ()

let rec encode_pb_mnkgimgdlhm (v:mnkgimgdlhm) encoder = 
  begin match v.nnibggkcbdj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gdeajeoinom x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.pmoenkofnla with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lbcnahcogfm x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.fchbbphcclc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ppachbcgdfe x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.lfleifodebe with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_blhhnmhcodp x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.imelchpnpgc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kcoenpcpemg x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.bool v.blgceifkfbp encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  begin match v.kjicoehehhk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_nhnblapbcjc x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  encode_pb_ofhnfenfeai v.status encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.ocjhnoaacgc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_glbffhmcbkd x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.pogejanpebj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fkmaamoekbp x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hfknoalpegg (v:hfknoalpegg) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_gkhpicdajdl x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.aegcbbajcgf encoder;
  ()

let rec encode_pb_ilbadbbdfbm (v:ilbadbbdfbm) encoder = 
  Pbrt.Encoder.int32_as_varint v.gahcmamleil encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cgbmpnplkfj encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kfibbcigege (v:kfibbcigege) encoder = 
  Pbrt.Encoder.int32_as_varint v.efejfkooglh encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.hbjejpcphbf encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.aobifgleena encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gijofajjcak encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hdpejplkedj (v:hdpejplkedj) encoder = 
  Pbrt.Encoder.int64_as_varint v.end_time encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.begin_time encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ookciddhnhn encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mlieimmance (v:mlieimmance) encoder = 
  begin match v.deafkpjjgab with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hfknoalpegg x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.dgohjiekiai with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ilbadbbdfbm x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.kjicoehehhk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kfibbcigege x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.ejcijjnlahl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kgljkmgbdnk x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.njokhdgdfcm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hdpejplkedj x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_jklldafipmj (v:jklldafipmj) encoder = 
  begin match v.gngfcddjjbi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mnkgimgdlhm x encoder;
    Pbrt.Encoder.key 1019 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.fecdamigijp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mlieimmance x encoder;
    Pbrt.Encoder.key 306 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_flaiejgpbla (v:flaiejgpbla) encoder = 
  begin match v.gcflbbikckf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_enhkgahlnjm x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_glbeljclheb (v:glbeljclheb) encoder = 
  Pbrt.Encoder.int32_as_varint v.efejfkooglh encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.aobifgleena encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.hbjejpcphbf encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.agndiegkeih encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gijofajjcak encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_boilblgpbkn (v:boilblgpbkn) encoder = 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nncdpbdokbj encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.exp encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bajeglndfpe encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_rogue_dialogue_event_param (v:rogue_dialogue_event_param) encoder = 
  Pbrt.Encoder.bool v.is_valid encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dialogue_event_id encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.int_value encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.float_as_bits32 v.ratio encoder;
  Pbrt.Encoder.key 6 Pbrt.Bits32 encoder; 
  Pbrt.Encoder.int32_as_varint v.arg_id encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hdhjljcibih (v:hdhjljcibih) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.dppfaapfama encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_rogue_dialogue_event_param x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.jpiojenbgdi encoder;
  Pbrt.Encoder.int32_as_varint v.ebffkdhgkgl encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jnboodjdmho encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.game_mode_type encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgfnojflbcl encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gplahfgkjfi (v:gplahfgkjfi) encoder = 
  encode_pb_npbmfealpda v.hkbihdlbllh encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.fkkedckadhe encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  begin match v.ekpahpdniff with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_edehjanelbl (v:edehjanelbl) encoder = 
()

let rec encode_pb_elbfiobopib (v:elbfiobopib) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.kbneaoehnob with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jklldafipmj x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_lpimpachcfm (v:lpimpachcfm) encoder = 
  Pbrt.Encoder.int32_as_varint v.idcigdfjabi encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bajeglndfpe encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.eabjmdoajdk encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.ggdaffjnmpa encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.base_avatar_id_list encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.okhflbihfhm encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_eijoglklgmn (v:eijoglklgmn) encoder = 
  begin match v.scene with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_info x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.kbneaoehnob with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jklldafipmj x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.pnbpdbgfffd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cioeahefpln x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.lineup with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lineup_info x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hkbaifbfaic (v:hkbaifbfaic) encoder = 
  Pbrt.Encoder.int32_as_varint v.ggdaffjnmpa encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.idcigdfjabi encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lekhmhfkdjf (v:lekhmhfkdjf) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.lineup with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lineup_info x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.pnbpdbgfffd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cioeahefpln x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.kbneaoehnob with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jklldafipmj x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.scene with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_info x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_idodjdfmdfo (v:idodjdfmdfo) encoder = 
()

let rec encode_pb_ckegndkdnno (v:ckegndkdnno) encoder = 
  begin match v.scene with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_info x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.pnbpdbgfffd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cioeahefpln x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.lineup with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lineup_info x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.kbneaoehnob with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jklldafipmj x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_anlgfnikibd (v:anlgfnikibd) encoder = 
  begin match v.mjhepdejndc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dgolpjpbccp x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_neffgondoan (v:neffgondoan) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.okhflbihfhm encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.base_avatar_id_list encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.prop_entity_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_moeggpbedmb (v:moeggpbedmb) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.okhflbihfhm encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.base_avatar_id_list encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_kgbineghcnh (v:kgbineghcnh) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.base_avatar_id_list encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.base_avatar_id encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.idcigdfjabi encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.okhflbihfhm encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_aaiajmednek (v:aaiajmednek) encoder = 
  begin match v.boijkbofiid with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mhbicckbklh x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.fkhdphhhdff encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.base_avatar_id encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.okhflbihfhm encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.base_avatar_id_list encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_ofjdflhcbno (v:ofjdflhcbno) encoder = 
  begin match v.boijkbofiid with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mhbicckbklh x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hgfggbgbkma (v:hgfggbgbkma) encoder = 
()

let rec encode_pb_bmnacahlhkf (v:bmnacahlhkf) encoder = 
  begin match v.jkdkdpoblli with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_oeahdnkofon x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ikmcocgkpfb (v:ikmcocgkpfb) encoder = 
  Pbrt.Encoder.int32_as_varint v.paofpgekpfe encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hmphcjllhlg (v:hmphcjllhlg) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.boeaanepgoc encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.amikofgncbo with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jfbmlneajki x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_egakdgnfohg (v:egakdgnfohg) encoder = 
  Pbrt.Encoder.int32_as_varint v.ggdaffjnmpa encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_penkmieihcg (v:penkmieihcg) encoder = 
  begin match v.mjhepdejndc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dgolpjpbccp x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.kbneaoehnob with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jklldafipmj x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lcepafndlhi (v:lcepafndlhi) encoder = 
  Pbrt.Encoder.bool v.blgceifkfbp encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mpebchgcinh (v:mpebchgcinh) encoder = 
  begin match v.ejcijjnlahl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kgljkmgbdnk x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.mjhepdejndc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dgolpjpbccp x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.lineup with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lineup_info x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.scene with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_info x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.bool v.amcmdlgpofj encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_llnijpmjopo (v:llnijpmjopo) encoder = 
  Pbrt.Encoder.int32_as_varint v.ioijcfnndfi encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mfdelanaicp encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jgcndbojpog (v:jgcndbojpog) encoder = 
  begin match v.pnbpdbgfffd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cioeahefpln x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dgigimbnnlb encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  begin match v.lineup with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lineup_info x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.scene with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_info x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_glljcdfnpem (v:glljcdfnpem) encoder = 
  Pbrt.Encoder.int32_as_varint v.lnjapmhfcck encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.glbbhlbjecp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ifiajgbcpfe x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_gchjjpflnkb (v:gchjjpflnkb) encoder = 
  Pbrt.Encoder.bool v.gehbffmbgmi encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.idcigdfjabi encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hofgmeoijfj (v:hofgmeoijfj) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.acpoidmpoae with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bpmdjhmbdkl (v:bpmdjhmbdkl) encoder = 
  Pbrt.Encoder.int32_as_varint v.count encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_exchange_rogue_reward_key_sc_rsp (v:exchange_rogue_reward_key_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.count encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_aeioghldhlc (v:aeioghldhlc) encoder = 
  Pbrt.Encoder.int32_as_varint v.ggdaffjnmpa encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hodomdmcjol (v:hodomdmcjol) encoder = 
  begin match v.dihnhalhcih with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.donbbmfeogl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bcbecaaneef (v:bcbecaaneef) encoder = 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bajeglndfpe encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nofljpbanih (v:nofljpbanih) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.bajeglndfpe encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bmplpcnnkec (v:bmplpcnnkec) encoder = 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bajeglndfpe encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_mhednfmeopa (v:mhednfmeopa) encoder = 
()

let rec encode_pb_ckblkmocjmf (v:ckblkmocjmf) encoder = 
  begin match v.jpaolljmggn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kgljkmgbdnk x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jgajkhkkeio (v:jgajkhkkeio) encoder = 
  Pbrt.Encoder.int32_as_varint v.bnhepammdhc encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.dcadeobidnh encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_lkofhppadca (v:lkofhppadca) encoder = 
  Pbrt.Encoder.int32_as_varint v.bnhepammdhc encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.ejcijjnlahl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kgljkmgbdnk x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fkmaillmohj (v:fkmaillmohj) encoder = 
()

let rec encode_pb_lknpoemfdno (v:lknpoemfdno) encoder = 
  begin match v.ejcijjnlahl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kgljkmgbdnk x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pggpopocflm (v:pggpopocflm) encoder = 
()

let rec encode_pb_elhiacmnajc (v:elhiacmnajc) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_boilblgpbkn x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.ihneplfgmdc encoder;
  ()

let rec encode_pb_hbfjgoicaol (v:hbfjgoicaol) encoder = 
  Pbrt.Encoder.int32_as_varint v.bajeglndfpe encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jigppbjhmnp (v:jigppbjhmnp) encoder = 
  begin match v.kjicoehehhk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_boilblgpbkn x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_moagaeodfnn (v:moagaeodfnn) encoder = 
()

let rec encode_pb_lbfbelnigfh (v:lbfbelnigfh) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  begin match v.bbanknacajb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lljpmigaffg x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_baglomejene (v:baglomejene) encoder = 
  Pbrt.Encoder.int32_as_varint v.hehehnicpjn encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kdgaocegfdf (v:kdgaocegfdf) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.bbanknacajb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lljpmigaffg x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_fjijhabofak (v:fjijhabofak) encoder = 
  begin match v.dgohjiekiai with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_keenhmggipf x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_jnibnndccka (v:jnibnndccka) encoder = 
  Pbrt.Encoder.bool v.ddknigaggof encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  encode_pb_ofhnfenfeai v.status encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_amnocflooda (v:amnocflooda) encoder = 
  begin match v.ejcijjnlahl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kgljkmgbdnk x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_kmhcdlibnek (v:kmhcdlibnek) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.okhflbihfhm encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.base_avatar_id_list encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_oidpdohncaa (v:oidpdohncaa) encoder = 
  begin match v.ijmlpfaaino with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_glbeljclheb x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ogoiebcjefd (v:ogoiebcjefd) encoder =
  match v with
  | Cmd_rogue_arcade_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_rogue_arcade_leave_cs_req -> Pbrt.Encoder.int_as_varint 7665 encoder
  | Cmd_rogue_arcade_start_cs_req -> Pbrt.Encoder.int_as_varint 7657 encoder
  | Cmd_rogue_arcade_restart_cs_req -> Pbrt.Encoder.int_as_varint 7661 encoder
  | Cmd_rogue_arcade_get_info_cs_req -> Pbrt.Encoder.int_as_varint 7673 encoder
  | Cmd_rogue_arcade_get_info_sc_rsp -> Pbrt.Encoder.int_as_varint 7654 encoder
  | Cmd_rogue_arcade_leave_sc_rsp -> Pbrt.Encoder.int_as_varint 7667 encoder
  | Cmd_rogue_arcade_start_sc_rsp -> Pbrt.Encoder.int_as_varint 7674 encoder
  | Cmd_rogue_arcade_restart_sc_rsp -> Pbrt.Encoder.int_as_varint 7658 encoder

let rec encode_pb_ddignhhjpae (v:ddignhhjpae) encoder = 
  begin match v.lineup with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lineup_info x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.pnbpdbgfffd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cioeahefpln x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.scene with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_info x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_fhlefpomfno (v:fhlefpomfno) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.base_avatar_id_list encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.mfdelanaicp encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kkmphcoinno (v:kkmphcoinno) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mfdelanaicp encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  begin match v.hiacklcdijn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ddignhhjpae x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_lkaelkhnclo (v:lkaelkhnclo) encoder = 
()

let rec encode_pb_jfncdjjoiln (v:jfncdjjoiln) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.hiacklcdijn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ddignhhjpae x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hhkmgndniim (v:hhkmgndniim) encoder = 
()

let rec encode_pb_keejcoilnoh (v:keejcoilnoh) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.hiacklcdijn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ddignhhjpae x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_kodhakndeeg (v:kodhakndeeg) encoder = 
()

let rec encode_pb_gjfcgaliifa (v:gjfcgaliifa) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mfdelanaicp encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mkgcjlllhmo (v:mkgcjlllhmo) encoder =
  match v with
  | Cmd_rogue_common_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_handle_rogue_common_pending_action_sc_rsp -> Pbrt.Encoder.int_as_varint 5659 encoder
  | Cmd_common_rogue_update_sc_notify -> Pbrt.Encoder.int_as_varint 5631 encoder
  | Cmd_rogue_workbench_select_func_cs_req -> Pbrt.Encoder.int_as_varint 5677 encoder
  | Cmd_take_rogue_miracle_handbook_reward_cs_req -> Pbrt.Encoder.int_as_varint 5630 encoder
  | Cmd_rogue_workbench_select_func_sc_rsp -> Pbrt.Encoder.int_as_varint 5655 encoder
  | Cmd_rogue_workbench_handle_func_cs_req -> Pbrt.Encoder.int_as_varint 5696 encoder
  | Cmd_sync_rogue_common_pending_action_sc_notify -> Pbrt.Encoder.int_as_varint 5615 encoder
  | Cmd_get_rogue_collection_cs_req -> Pbrt.Encoder.int_as_varint 5610 encoder
  | Cmd_get_rogue_shop_buff_info_sc_rsp -> Pbrt.Encoder.int_as_varint 5639 encoder
  | Cmd_prepare_rogue_adventure_room_cs_req -> Pbrt.Encoder.int_as_varint 5606 encoder
  | Cmd_finish_rogue_common_dialogue_sc_rsp -> Pbrt.Encoder.int_as_varint 5621 encoder
  | Cmd_rogue_workbench_get_info_cs_req -> Pbrt.Encoder.int_as_varint 5642 encoder
  | Cmd_take_rogue_event_handbook_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 5669 encoder
  | Cmd_rogue_workbench_handle_func_sc_rsp -> Pbrt.Encoder.int_as_varint 5636 encoder
  | Cmd_rogue_get_gamble_info_cs_req -> Pbrt.Encoder.int_as_varint 5691 encoder
  | Cmd_set_rogue_collection_cs_req -> Pbrt.Encoder.int_as_varint 5672 encoder
  | Cmd_rogue_npc_disappear_cs_req -> Pbrt.Encoder.int_as_varint 5654 encoder
  | Cmd_sync_rogue_common_dialogue_data_sc_notify -> Pbrt.Encoder.int_as_varint 5671 encoder
  | Cmd_set_rogue_exhibition_cs_req -> Pbrt.Encoder.int_as_varint 5661 encoder
  | Cmd_get_rogue_adventure_room_info_sc_rsp -> Pbrt.Encoder.int_as_varint 5682 encoder
  | Cmd_get_rogue_shop_miracle_info_cs_req -> Pbrt.Encoder.int_as_varint 5643 encoder
  | Cmd_buy_rogue_shop_miracle_cs_req -> Pbrt.Encoder.int_as_varint 5629 encoder
  | Cmd_get_enhance_common_rogue_buff_info_sc_rsp -> Pbrt.Encoder.int_as_varint 5692 encoder
  | Cmd_common_rogue_query_cs_req -> Pbrt.Encoder.int_as_varint 5607 encoder
  | Cmd_rogue_workbench_get_info_sc_rsp -> Pbrt.Encoder.int_as_varint 5683 encoder
  | Cmd_rogue_get_gamble_info_sc_rsp -> Pbrt.Encoder.int_as_varint 5620 encoder
  | Cmd_handle_rogue_common_pending_action_cs_req -> Pbrt.Encoder.int_as_varint 5647 encoder
  | Cmd_sync_rogue_handbook_data_update_sc_notify -> Pbrt.Encoder.int_as_varint 5612 encoder
  | Cmd_get_rogue_common_dialogue_data_cs_req -> Pbrt.Encoder.int_as_varint 5603 encoder
  | Cmd_rogue_npc_disappear_sc_rsp -> Pbrt.Encoder.int_as_varint 5665 encoder
  | Cmd_common_rogue_component_update_sc_notify -> Pbrt.Encoder.int_as_varint 5686 encoder
  | Cmd_get_rogue_exhibition_sc_rsp -> Pbrt.Encoder.int_as_varint 5670 encoder
  | Cmd_buy_rogue_shop_miracle_sc_rsp -> Pbrt.Encoder.int_as_varint 5651 encoder
  | Cmd_update_rogue_adventure_room_score_cs_req -> Pbrt.Encoder.int_as_varint 5675 encoder
  | Cmd_get_rogue_common_dialogue_data_sc_rsp -> Pbrt.Encoder.int_as_varint 5626 encoder
  | Cmd_get_rogue_handbook_data_sc_rsp -> Pbrt.Encoder.int_as_varint 5646 encoder
  | Cmd_prepare_rogue_adventure_room_sc_rsp -> Pbrt.Encoder.int_as_varint 5611 encoder
  | Cmd_set_rogue_exhibition_sc_rsp -> Pbrt.Encoder.int_as_varint 5679 encoder
  | Cmd_stop_rogue_adventure_room_cs_req -> Pbrt.Encoder.int_as_varint 5609 encoder
  | Cmd_get_rogue_exhibition_cs_req -> Pbrt.Encoder.int_as_varint 5664 encoder
  | Cmd_get_rogue_collection_sc_rsp -> Pbrt.Encoder.int_as_varint 5650 encoder
  | Cmd_get_rogue_handbook_data_cs_req -> Pbrt.Encoder.int_as_varint 5666 encoder
  | Cmd_get_enhance_common_rogue_buff_info_cs_req -> Pbrt.Encoder.int_as_varint 5617 encoder
  | Cmd_sync_rogue_adventure_room_info_sc_notify -> Pbrt.Encoder.int_as_varint 5668 encoder
  | Cmd_select_rogue_common_dialogue_option_cs_req -> Pbrt.Encoder.int_as_varint 5613 encoder
  | Cmd_exchange_rogue_buff_with_miracle_sc_rsp -> Pbrt.Encoder.int_as_varint 5624 encoder
  | Cmd_exchange_rogue_buff_with_miracle_cs_req -> Pbrt.Encoder.int_as_varint 5625 encoder
  | Cmd_update_rogue_adventure_room_score_sc_rsp -> Pbrt.Encoder.int_as_varint 5640 encoder
  | Cmd_get_rogue_shop_miracle_info_sc_rsp -> Pbrt.Encoder.int_as_varint 5656 encoder
  | Cmd_sync_rogue_common_virtual_item_info_sc_notify -> Pbrt.Encoder.int_as_varint 5685 encoder
  | Cmd_sync_rogue_common_dialogue_option_finish_sc_notify -> Pbrt.Encoder.int_as_varint 5673 encoder
  | Cmd_select_rogue_common_dialogue_option_sc_rsp -> Pbrt.Encoder.int_as_varint 5614 encoder
  | Cmd_enhance_common_rogue_buff_cs_req -> Pbrt.Encoder.int_as_varint 5690 encoder
  | Cmd_common_rogue_query_sc_rsp -> Pbrt.Encoder.int_as_varint 5641 encoder
  | Cmd_finish_rogue_common_dialogue_cs_req -> Pbrt.Encoder.int_as_varint 5622 encoder
  | Cmd_get_rogue_shop_buff_info_cs_req -> Pbrt.Encoder.int_as_varint 5693 encoder
  | Cmd_stop_rogue_adventure_room_sc_rsp -> Pbrt.Encoder.int_as_varint 5688 encoder
  | Cmd_buy_rogue_shop_buff_cs_req -> Pbrt.Encoder.int_as_varint 5633 encoder
  | Cmd_set_rogue_collection_sc_rsp -> Pbrt.Encoder.int_as_varint 5605 encoder
  | Cmd_rogue_do_gamble_cs_req -> Pbrt.Encoder.int_as_varint 5657 encoder
  | Cmd_sync_rogue_common_action_result_sc_notify -> Pbrt.Encoder.int_as_varint 5667 encoder
  | Cmd_enhance_common_rogue_buff_sc_rsp -> Pbrt.Encoder.int_as_varint 5628 encoder
  | Cmd_buy_rogue_shop_buff_sc_rsp -> Pbrt.Encoder.int_as_varint 5699 encoder
  | Cmd_take_rogue_event_handbook_reward_cs_req -> Pbrt.Encoder.int_as_varint 5689 encoder
  | Cmd_get_rogue_adventure_room_info_cs_req -> Pbrt.Encoder.int_as_varint 5648 encoder
  | Cmd_rogue_do_gamble_sc_rsp -> Pbrt.Encoder.int_as_varint 5627 encoder
  | Cmd_take_rogue_miracle_handbook_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 5695 encoder

let rec encode_pb_hjbbihgchli (v:hjbbihgchli) encoder =
  match v with
  | Rogue_adventure_room_status_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_adventure_room_status_prepare -> Pbrt.Encoder.int_as_varint 1 encoder
  | Rogue_adventure_room_status_started -> Pbrt.Encoder.int_as_varint 2 encoder
  | Rogue_adventure_room_status_stopped -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_oodgnonfgkc (v:oodgnonfgkc) encoder =
  match v with
  | Rogue_unlock_function_type_miracle -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_unlock_function_type_show_hint -> Pbrt.Encoder.int_as_varint 1 encoder
  | Rogue_unlock_function_type_cosmos_ban_aeon -> Pbrt.Encoder.int_as_varint 2 encoder
  | Rogue_unlock_funtion_type_exhibition -> Pbrt.Encoder.int_as_varint 3 encoder
  | Rogue_unlock_funtion_type_collection -> Pbrt.Encoder.int_as_varint 4 encoder

let rec encode_pb_mmgfibbpbmh (v:mmgfibbpbmh) encoder =
  match v with
  | Rogue_common_miracle_select_source_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_common_miracle_select_source_type_dice_roll -> Pbrt.Encoder.int_as_varint 1 encoder
  | Rogue_common_miracle_select_source_type_aeon -> Pbrt.Encoder.int_as_varint 2 encoder
  | Rogue_common_miracle_select_source_type_board_event -> Pbrt.Encoder.int_as_varint 3 encoder
  | Rogue_common_miracle_select_source_type_level_mechanism -> Pbrt.Encoder.int_as_varint 4 encoder

let rec encode_pb_cmocllepeoj (v:cmocllepeoj) encoder =
  match v with
  | Rogue_common_buff_display_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_common_buff_display_type_add -> Pbrt.Encoder.int_as_varint 1 encoder
  | Rogue_common_buff_display_type_remove -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_fnfcolliige (v:fnfcolliige) encoder =
  match v with
  | Rogue_common_miracle_display_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_common_miracle_display_type_add -> Pbrt.Encoder.int_as_varint 1 encoder
  | Rogue_common_miracle_display_type_remove -> Pbrt.Encoder.int_as_varint 2 encoder
  | Rogue_common_miracle_display_type_repair -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_jeefcjoabhc (v:jeefcjoabhc) encoder =
  match v with
  | Rogue_common_item_display_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_common_item_display_type_add -> Pbrt.Encoder.int_as_varint 1 encoder
  | Rogue_common_item_display_type_remove -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_bnlkbheaggj (v:bnlkbheaggj) encoder =
  match v with
  | Rogue_common_action_result_display_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_common_action_result_display_type_single -> Pbrt.Encoder.int_as_varint 1 encoder
  | Rogue_common_action_result_display_type_multi -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_npkhcnmhkdp (v:npkhcnmhkdp) encoder =
  match v with
  | Rogue_common_action_result_source_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_common_action_result_source_type_select -> Pbrt.Encoder.int_as_varint 1 encoder
  | Rogue_common_action_result_source_type_enhance -> Pbrt.Encoder.int_as_varint 2 encoder
  | Rogue_common_action_result_source_type_miracle -> Pbrt.Encoder.int_as_varint 3 encoder
  | Rogue_common_action_result_source_type_dialogue -> Pbrt.Encoder.int_as_varint 4 encoder
  | Rogue_common_action_result_source_type_bonus -> Pbrt.Encoder.int_as_varint 5 encoder
  | Rogue_common_action_result_source_type_shop -> Pbrt.Encoder.int_as_varint 6 encoder
  | Rogue_common_action_result_source_type_dice -> Pbrt.Encoder.int_as_varint 7 encoder
  | Rogue_common_action_result_source_type_aeon -> Pbrt.Encoder.int_as_varint 8 encoder
  | Rogue_common_action_result_source_type_board_event -> Pbrt.Encoder.int_as_varint 9 encoder
  | Rogue_common_action_result_source_type_maze_skill -> Pbrt.Encoder.int_as_varint 10 encoder
  | Rogue_common_action_result_source_type_level_mechanism -> Pbrt.Encoder.int_as_varint 11 encoder
  | Rogue_common_action_result_source_type_buff -> Pbrt.Encoder.int_as_varint 12 encoder
  | Rogue_common_action_result_source_type_reforge -> Pbrt.Encoder.int_as_varint 13 encoder

let rec encode_pb_kogippjmdkb (v:kogippjmdkb) encoder =
  match v with
  | Rogue_collection_operate_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_collection_operate_set -> Pbrt.Encoder.int_as_varint 1 encoder
  | Rogue_collection_operate_unset -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_bpibjehipof (v:bpibjehipof) encoder =
  match v with
  | Rogue_booth_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_booth_empty -> Pbrt.Encoder.int_as_varint 1 encoder
  | Rogue_booth_display -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_eeaceekbbik (v:eeaceekbbik) encoder =
  match v with
  | Rogue_collection_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_collection_unlocked -> Pbrt.Encoder.int_as_varint 1 encoder
  | Rogue_collection_display -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_odijleidcnd (v:odijleidcnd) encoder =
  match v with
  | Rogue_exhibition_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_exhibition_unlocked -> Pbrt.Encoder.int_as_varint 1 encoder
  | Rogue_exhibition_display -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_ikhcpmbdbll (v:ikhcpmbdbll) encoder = 
  Pbrt.Encoder.int32_as_varint v.eojifjnkhij encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bmnobkdmpbh (v:bmnobkdmpbh) encoder = 
()

let rec encode_pb_njccbnlfkcn (v:njccbnlfkcn) encoder = 
()

let rec encode_pb_hbnambacbfh (v:hbnambacbfh) encoder = 
  begin match v.alalgchdbdp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_rogue_common_buff_select_info x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bfjilkicklf (v:bfjilkicklf) encoder = 
  Pbrt.Encoder.int32_as_varint v.comnknfemfn encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mnicidbdjfi x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.ckmcdophoho encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mnicidbdjfi x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.eikoihamlka encoder;
  ()

let rec encode_pb_fijoihplgfi (v:fijoihplgfi) encoder = 
  Pbrt.Encoder.int32_as_varint v.hiddgkclnhg encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hiijcocijbc (v:hiijcocijbc) encoder = 
()

let rec encode_pb_lhmgpkeoghe (v:lhmgpkeoghe) encoder = 
  Pbrt.Encoder.int32_as_varint v.eojifjnkhij encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_flijafinaac (v:flijafinaac) encoder = 
()

let rec encode_pb_nbjgogbhokm (v:nbjgogbhokm) encoder = 
  Pbrt.Encoder.int32_as_varint v.eojifjnkhij encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_agmibdajooi (v:agmibdajooi) encoder = 
()

let rec encode_pb_oagmnkadfbi (v:oagmnkadfbi) encoder = 
  begin match v.kfancbcgdmp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_djpaibjmmoe x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.jbjpjpilfam encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.dkmcfgheefh encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_clobgmgklja (v:clobgmgklja) encoder = 
  begin match v.jhjpgbkblag with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_djpaibjmmoe x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_nneegnafcfg (v:nneegnafcfg) encoder = 
  Pbrt.Encoder.int32_as_varint v.ichkjnfaacl encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pefkaoobihi (v:pefkaoobihi) encoder = 
  begin match v.jhjpgbkblag with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_djpaibjmmoe x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.aheiodcbaae encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bklejdedngm (v:bklejdedngm) encoder = 
  begin match v.jhjpgbkblag with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_djpaibjmmoe x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_okdkilkjabn (v:okdkilkjabn) encoder = 
  Pbrt.Encoder.int32_as_varint v.jbjpjpilfam encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  begin match v.kfancbcgdmp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_djpaibjmmoe x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ifnnhfbomnh (v:ifnnhfbomnh) encoder = 
  begin match v.jhjpgbkblag with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_djpaibjmmoe x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bkoniegkimo (v:bkoniegkimo) encoder = 
  Pbrt.Encoder.int32_as_varint v.cobljdcahcb encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_plkliapjkcd (v:plkliapjkcd) encoder = 
()

let rec encode_pb_enolgaiddgi (v:enolgaiddgi) encoder = 
  Pbrt.Encoder.int32_as_varint v.khhcaendfei encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ndjjekapdgl (v:ndjjekapdgl) encoder = 
()

let rec encode_pb_okaoepbdlkg (v:okaoepbdlkg) encoder = 
  Pbrt.Encoder.int32_as_varint v.gieginhphpb encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gplcnpbojpa (v:gplcnpbojpa) encoder = 
()

let rec encode_pb_bdljnoiiooh (v:bdljnoiiooh) encoder = 
  Pbrt.Encoder.int32_as_varint v.cdeedkpknfo encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bnmibbknggo (v:bnmibbknggo) encoder = 
()

let rec encode_pb_gndkaolnaic (v:gndkaolnaic) encoder = 
  Pbrt.Encoder.int32_as_varint v.cmhkhpemokh encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_eohkjanfhmp (v:eohkjanfhmp) encoder = 
()

let rec encode_pb_jogglahdihp (v:jogglahdihp) encoder = 
  Pbrt.Encoder.int32_as_varint v.cobljdcahcb encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dghcpkmijia (v:dghcpkmijia) encoder = 
()

let rec encode_pb_pnhmjikaamk (v:pnhmjikaamk) encoder = 
  Pbrt.Encoder.int32_as_varint v.cobljdcahcb encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ckedjfdfdkg (v:ckedjfdfdkg) encoder = 
()

let rec encode_pb_gplpibkcldk (v:gplpibkcldk) encoder = 
  Pbrt.Encoder.int32_as_varint v.gngdoajbfea encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hahidlnbdid (v:hahidlnbdid) encoder = 
()

let rec encode_pb_flhognnpcee (v:flhognnpcee) encoder = 
  Pbrt.Encoder.int32_as_varint v.gapjajnhglk encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kagnbjdmamf encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_keijecmckle (v:keijecmckle) encoder = 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mhjehlnicfp (v:mhjehlnicfp) encoder = 
()

let rec encode_pb_fkpilfbkdla (v:fkpilfbkdla) encoder = 
  Pbrt.Encoder.int32_as_varint v.count encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lnkggapbplf (v:lnkggapbplf) encoder = 
  Pbrt.Encoder.int32_as_varint v.ichkjnfaacl encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jjobhoedlho (v:jjobhoedlho) encoder = 
()

let rec encode_pb_rogue_adventure_room_gameplay_wolf_gun_target (v:rogue_adventure_room_gameplay_wolf_gun_target) encoder = 
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  begin match v.target_coin with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fkpilfbkdla x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.target_miracle with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lnkggapbplf x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_kghbncadpbj (v:kghbncadpbj) encoder = 
  Pbrt.Encoder.int32_as_varint v.pcejljofmag encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_rogue_adventure_room_gameplay_wolf_gun_target x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.nkpcaindgao encoder;
  ()

let rec encode_pb_kpaflmlbaig (v:kpaflmlbaig) encoder = 
  begin match v.ilcgmkpbmgm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kghbncadpbj x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_jnoilndnkbj (v:jnoilndnkbj) encoder = 
  Pbrt.Encoder.int32_as_varint v.lpgaoolbbfm encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  begin match v.mmppaiggmon with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kpaflmlbaig x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.status encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgdjmjhnhhp encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.float_as_bits64 v.gdkaebolcdi encoder;
  Pbrt.Encoder.key 1 Pbrt.Bits64 encoder; 
  Pbrt.Encoder.int32_as_varint v.addadjcedkh encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hpohpkijbaj (v:hpohpkijbaj) encoder = 
  begin match v.pdhjencainp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jnoilndnkbj x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_jfddjekmgge (v:jfddjekmgge) encoder = 
()

let rec encode_pb_lledefmjmdh (v:lledefmjmdh) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  begin match v.pdhjencainp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jnoilndnkbj x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_lihdfgpjagn (v:lihdfgpjagn) encoder = 
  Pbrt.Encoder.int32_as_varint v.ifalllhbdod encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.eonnofjkjfl encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_kldmdkabcho (v:kldmdkabcho) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  begin match v.pdhjencainp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jnoilndnkbj x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_cejllbjkhih (v:cejllbjkhih) encoder = 
()

let rec encode_pb_jcnfdimlfmc (v:jcnfdimlfmc) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  begin match v.pdhjencainp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jnoilndnkbj x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bgaflmnodli (v:bgaflmnodli) encoder = 
  Pbrt.Encoder.int32_as_varint v.lpgaoolbbfm encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.foflcmnhakn encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cggnemiplld (v:cggnemiplld) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  begin match v.pdhjencainp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jnoilndnkbj x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_knmignnohnj (v:knmignnohnj) encoder = 
  begin match v.lohpklihemj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.ichkjnfaacl encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  begin match v.gcdniclhoga with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.bool v.jdaejcpfkil encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.dcejfokjpod encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pgghnkhkkog (v:pgghnkhkkog) encoder = 
  Pbrt.Encoder.bool v.jdaejcpfkil encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  begin match v.lohpklihemj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.pkkfndimmio encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  begin match v.gcdniclhoga with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.odfbamohefb encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.dcejfokjpod encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_occpiocibei (v:occpiocibei) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_knmignnohnj x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.pcpkkbfpbeb encoder;
  ()

let rec encode_pb_dbmldhmcphn (v:dbmldhmcphn) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pgghnkhkkog x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.buff_list encoder;
  ()

let rec encode_pb_fnpcmgicfkk (v:fnpcmgicfkk) encoder = 
  Pbrt.Encoder.bool v.aieeiiggfmj encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.idcigdfjabi encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mkilmbbefoo (v:mkilmbbefoo) encoder = 
  begin match v.bfkodbfknbl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.pogejanpebj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dbmldhmcphn x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.npbgklkbgdi encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_adckamembmd (v:adckamembmd) encoder = 
  Pbrt.Encoder.bool v.aieeiiggfmj encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.idcigdfjabi encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nbchjcnhemh (v:nbchjcnhemh) encoder = 
  begin match v.pmoenkofnla with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_occpiocibei x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.npbgklkbgdi encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  begin match v.bfkodbfknbl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ldiemhcahcb (v:ldiemhcahcb) encoder = 
  Pbrt.Encoder.int32_as_varint v.idcigdfjabi encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ichkjnfaacl encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mdoiknkenbl (v:mdoiknkenbl) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.emabnjbclgd encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.idcigdfjabi encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hhmoihmdiao (v:hhmoihmdiao) encoder = 
  begin match v.pmoenkofnla with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_occpiocibei x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mcaddfogkcm (v:mcaddfogkcm) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  begin match v.pogejanpebj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dbmldhmcphn x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bgblclfikdl (v:bgblclfikdl) encoder = 
  Pbrt.Encoder.int32_as_varint v.ichkjnfaacl encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.idcigdfjabi encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cenhmaccfkm (v:cenhmaccfkm) encoder = 
  begin match v.bdmoacndcoa with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mnicidbdjfi x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mhinmgakigi (v:mhinmgakigi) encoder = 
  Pbrt.Encoder.int32_as_varint v.pndblfbllmj encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mghjipocegb (v:mghjipocegb) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lkleecbabea (v:lkleecbabea) encoder = 
  Pbrt.Encoder.int32_as_varint v.idcigdfjabi encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.paofpgekpfe encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cmpglffeblp (v:cmpglffeblp) encoder = 
  begin match v.amikofgncbo with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mnicidbdjfi x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.bool v.boeaanepgoc encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kjmbiclggjd (v:kjmbiclggjd) encoder = 
  Pbrt.Encoder.int32_as_varint v.idcigdfjabi encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_get_enhance_common_rogue_buff_info_sc_rsp (v:get_enhance_common_rogue_buff_info_sc_rsp) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.enhanced_buff_id_list encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jimphabffnp (v:jimphabffnp) encoder = 
  begin match v.mkoeknaflmj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_iejadeeklgn x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hbdelaiadlb (v:hbdelaiadlb) encoder = 
  begin match v.mkoeknaflmj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_iejadeeklgn x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hcpcpcigmpg (v:hcpcpcigmpg) encoder = 
  begin match v.mkoeknaflmj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_iejadeeklgn x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_lipcpilkehi (v:lipcpilkehi) encoder = 
  begin match v.mkoeknaflmj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_iejadeeklgn x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_joamhogigdi (v:joamhogigdi) encoder = 
  begin match v.value with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pmdmaockcjp x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_jcipijmgbbp (v:jcipijmgbbp) encoder = 
  Pbrt.Encoder.int32_as_varint v.fbiaimddiej encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dcflakjicbi (v:dcflakjicbi) encoder = 
  Pbrt.Encoder.int32_as_varint v.fbiaimddiej encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pkgfjolojec (v:pkgfjolojec) encoder = 
  begin match v.dhcakofmnjp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_flhognnpcee x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.pbnahdfdakb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_flhognnpcee x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.hjcdfejpjcl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mnicidbdjfi x encoder;
    Pbrt.Encoder.key 378 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.emghnkdicbf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mnicidbdjfi x encoder;
    Pbrt.Encoder.key 1314 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.ppnmgedbfel with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_clobgmgklja x encoder;
    Pbrt.Encoder.key 1167 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.okbkccnfdlb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_nneegnafcfg x encoder;
    Pbrt.Encoder.key 900 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.bbjbennbhgi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pefkaoobihi x encoder;
    Pbrt.Encoder.key 1194 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.kmdciieifgn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bklejdedngm x encoder;
    Pbrt.Encoder.key 361 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.jppfinpapdi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_okdkilkjabn x encoder;
    Pbrt.Encoder.key 195 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.llaenjaahgl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ifnnhfbomnh x encoder;
    Pbrt.Encoder.key 357 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.cekcaaddhlm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_keijecmckle x encoder;
    Pbrt.Encoder.key 868 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.bjpgdnebdla with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jimphabffnp x encoder;
    Pbrt.Encoder.key 332 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.hhjdhhjpgkk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hbdelaiadlb x encoder;
    Pbrt.Encoder.key 735 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.nfbeklebbgc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hcpcpcigmpg x encoder;
    Pbrt.Encoder.key 1668 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.elaolkochpi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lipcpilkehi x encoder;
    Pbrt.Encoder.key 608 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.gbdphogibae with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_joamhogigdi x encoder;
    Pbrt.Encoder.key 788 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.khifepcfdlc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jcipijmgbbp x encoder;
    Pbrt.Encoder.key 1557 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.lpjpaggolke with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dcflakjicbi x encoder;
    Pbrt.Encoder.key 455 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_jfaepfgabpp (v:jfaepfgabpp) encoder = 
  encode_pb_npkhcnmhkdp v.gnfpnbgacdf encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  begin match v.mkgoabedjeh with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pkgfjolojec x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_empneaapcke (v:empneaapcke) encoder = 
  encode_pb_bnlkbheaggj v.gapjajnhglk encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fhpollcfknc encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jfaepfgabpp x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.jmfablhemno encoder;
  ()

let rec encode_pb_okkklfebmlg (v:okkklfebmlg) encoder = 
  Pbrt.Encoder.int32_as_varint v.cjapbkbgjde encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_okdccjpmfkc (v:okdccjpmfkc) encoder = 
()

let rec encode_pb_hdcjnnpgeid (v:hdcjnnpgeid) encoder = 
  Pbrt.Encoder.int32_as_varint v.cjapbkbgjde encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nbajphmodno (v:nbajphmodno) encoder = 
()

let rec encode_pb_jhdeaoonple (v:jhdeaoonple) encoder = 
()

let rec encode_pb_jjdgojacafe (v:jjdgojacafe) encoder = 
  begin match v.hfdfkfjfdbb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_rogue_formula_select_info x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_keadkpndpml (v:keadkpndpml) encoder = 
  Pbrt.Encoder.int32_as_varint v.cjapbkbgjde encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ffkilkhoebh (v:ffkilkhoebh) encoder = 
()

let rec encode_pb_jdplmldakec (v:jdplmldakec) encoder = 
  Pbrt.Encoder.int32_as_varint v.ghhnoefibke encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.mmnebfbnoni encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dimcddnhfgn (v:dimcddnhfgn) encoder = 
  begin match v.cfjdmlpfdoc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_blhhnmhcodp x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.fhpollcfknc encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bpcliochekj (v:bpcliochekj) encoder = 
  Pbrt.Encoder.int32_as_varint v.efigohhfcpp encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  begin match v.mmmkbhidohp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ikhcpmbdbll x encoder;
    Pbrt.Encoder.key 737 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.pbdgajfecic with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fijoihplgfi x encoder;
    Pbrt.Encoder.key 481 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.pgcjdnfdkni with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lhmgpkeoghe x encoder;
    Pbrt.Encoder.key 1202 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 1753 Pbrt.Bytes encoder; 
  begin match v.mpomggfehlo with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_nbjgogbhokm x encoder;
    Pbrt.Encoder.key 226 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.anbajffabll with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bkoniegkimo x encoder;
    Pbrt.Encoder.key 1596 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.ddkfkjpgcaf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_enolgaiddgi x encoder;
    Pbrt.Encoder.key 1019 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.kdeiabffjhe with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_okaoepbdlkg x encoder;
    Pbrt.Encoder.key 735 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.oecoiehbkof with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bdljnoiiooh x encoder;
    Pbrt.Encoder.key 935 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.pgpeffkechj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gndkaolnaic x encoder;
    Pbrt.Encoder.key 252 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.mipdhlckcjd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jogglahdihp x encoder;
    Pbrt.Encoder.key 2011 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.giefnjkkopn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pnhmjikaamk x encoder;
    Pbrt.Encoder.key 76 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.ggoclminbog with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gplpibkcldk x encoder;
    Pbrt.Encoder.key 1105 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.nfjgnhjkaoh with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_okkklfebmlg x encoder;
    Pbrt.Encoder.key 908 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 1349 Pbrt.Bytes encoder; 
  begin match v.filbnenmkhl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hdcjnnpgeid x encoder;
    Pbrt.Encoder.key 564 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.ficafpbocad with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_keadkpndpml x encoder;
    Pbrt.Encoder.key 1450 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.ldahfbiambi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jdplmldakec x encoder;
    Pbrt.Encoder.key 210810 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_afnbfhnonmi (v:afnbfhnonmi) encoder = 
  Pbrt.Encoder.int32_as_varint v.ocnjbebhbgo encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.efigohhfcpp encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 1733 Pbrt.Bytes encoder; 
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 1604 Pbrt.Bytes encoder; 
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 90 Pbrt.Bytes encoder; 
  begin match v.pbjjcmlfeaf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hbnambacbfh x encoder;
    Pbrt.Encoder.key 461 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 384 Pbrt.Bytes encoder; 
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 898 Pbrt.Bytes encoder; 
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 965 Pbrt.Bytes encoder; 
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 1884 Pbrt.Bytes encoder; 
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 698 Pbrt.Bytes encoder; 
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 1823 Pbrt.Bytes encoder; 
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 541 Pbrt.Bytes encoder; 
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 1332 Pbrt.Bytes encoder; 
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 1580 Pbrt.Bytes encoder; 
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 1374 Pbrt.Bytes encoder; 
  begin match v.dgohlalpnij with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jjdgojacafe x encoder;
    Pbrt.Encoder.key 1530 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 1725 Pbrt.Bytes encoder; 
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 1706 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_flbopemokdm (v:flbopemokdm) encoder = 
  Pbrt.Encoder.int32_as_varint v.paofpgekpfe encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pfchkldhojh (v:pfchkldhojh) encoder = 
  Pbrt.Encoder.bool v.ennhncalcjj encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bpdfcfjdkbd encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cbilelfjaom (v:cbilelfjaom) encoder = 
  Pbrt.Encoder.bool v.ennhncalcjj encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ehobobppchc encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cgolnlcjphm (v:cgolnlcjphm) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.jkonpkkialg encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.exp encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bajeglndfpe encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.cpkmmhenjof encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.nncdpbdokbj encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dpfccobpjpo (v:dpfccobpjpo) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pfchkldhojh x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.pcpkkbfpbeb encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_flbopemokdm x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.buff_list encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_cgolnlcjphm x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.ihneplfgmdc encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_cbilelfjaom x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.llhoijjnhbc encoder;
  ()

let rec encode_pb_ebdjhabanno (v:ebdjhabanno) encoder = 
()

let rec encode_pb_get_rogue_handbook_data_sc_rsp (v:get_rogue_handbook_data_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  begin match v.handbook_info with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dpfccobpjpo x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_mkkhlondele (v:mkkhlondele) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_flbopemokdm x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.gopjpjhhpdl encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pfchkldhojh x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.kcidphehmgh encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_cbilelfjaom x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.kjcjmogejck encoder;
  ()

let rec encode_pb_kfifjffgkja (v:kfifjffgkja) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.cfaellfidkf encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_lleckakggaa (v:lleckakggaa) encoder = 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.hkpdigncbac encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kdnoklalckb (v:kdnoklalckb) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.nnijgeiepnp encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_khbgcebnmch (v:khbgcebnmch) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.nacknnppfog encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_aepjfkbjmpm (v:aepjfkbjmpm) encoder = 
  Pbrt.Encoder.int32_as_varint v.aeheogaoenf encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_cbgphimaond x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.hifokbodgbe encoder;
  Pbrt.Encoder.int32_as_varint v.dgfahpgkgmf encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fhpollcfknc encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ljlinldbbob encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ihcikgmbhlg (v:ihcikgmbhlg) encoder = 
  Pbrt.Encoder.int32_as_varint v.hmpniejbcbk encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lhlaejpmpjj encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_papkfcpnkoe (v:papkfcpnkoe) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ihcikgmbhlg x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.iajfipnhdec encoder;
  ()

let rec encode_pb_kmlckpdeahn (v:kmlckpdeahn) encoder = 
  Pbrt.Encoder.int32_as_varint v.ohilclmamkk encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.einnfebcmlj encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cfejldhielm encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mmkjpfjceck (v:mmkjpfjceck) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    encode_pb_oodgnonfgkc x encoder;
    Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ) v.ellpcknbemn encoder;
  ()

let rec encode_pb_fgebaafiedj (v:fgebaafiedj) encoder = 
  begin match v.bdaldfbhcjl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mmkjpfjceck x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.deafkpjjgab with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kmlckpdeahn x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_odcdpcpopbn (v:odcdpcpopbn) encoder = 
()

let rec encode_pb_jmdcaknnaad (v:jmdcaknnaad) encoder = 
  Pbrt.Encoder.int32_as_varint v.cmddpkpeoli encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  begin match v.fecdamigijp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fgebaafiedj x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hhjmihldoeh (v:hhjmihldoeh) encoder = 
  begin match v.deafkpjjgab with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kmlckpdeahn x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.bdaldfbhcjl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mmkjpfjceck x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hhoonanlchd (v:hhoonanlchd) encoder = 
  Pbrt.Encoder.int32_as_varint v.ebffkdhgkgl encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgfnojflbcl encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jhfnbcaknap (v:jhfnbcaknap) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgpelgifadf encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_agicbcnpmbf (v:agicbcnpmbf) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgpelgifadf encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lmfccgildoh (v:lmfccgildoh) encoder = 
  Pbrt.Encoder.int32_as_varint v.bgecmdbfigi encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pbalhihkole (v:pbalhihkole) encoder = 
  begin match v.kamplnhefpi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hhoonanlchd x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.knhahdliapf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jhfnbcaknap x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.aolafephjfe with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_agicbcnpmbf x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.cjfhhfcgdda with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lmfccgildoh x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_cdgbdhbjbaf (v:cdgbdhbjbaf) encoder = 
  Pbrt.Encoder.float_as_bits32 v.aeggdogmiea encoder;
  Pbrt.Encoder.key 7 Pbrt.Bits32 encoder; 
  Pbrt.Encoder.int32_as_varint v.dkaehkamkfi encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_chbifnppnke (v:chbifnppnke) encoder = 
  Pbrt.Encoder.int32_as_varint v.ghhnoefibke encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ilnklkjeikf (v:ilnklkjeikf) encoder = 
  Pbrt.Encoder.int32_as_varint v.apmgjmappjl encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_embkjecncmm (v:embkjecncmm) encoder = 
  begin match v.ikfkmimaeon with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_chbifnppnke x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.njfnjkjpnap with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ilnklkjeikf x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_kmppenfheel (v:kmppenfheel) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_embkjecncmm x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.ipfkcfhigmk encoder;
  begin match v.iihookopmmk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cdgbdhbjbaf x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.hfadhgefiea encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ojkjbeilgdc encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.jhojoicfldl encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.mecjmchknde encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hdmoboniihl (v:hdmoboniihl) encoder = 
  begin match v.oeoffmaepgl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pbalhihkole x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.jnboodjdmho encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_kmppenfheel x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.ejjmffbhbgk encoder;
  ()

let rec encode_pb_begalnkfdgo (v:begalnkfdgo) encoder = 
()

let rec encode_pb_jcmbmhjjdal (v:jcmbmhjjdal) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_hdmoboniihl x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.mjomgfdpmnj encoder;
  ()

let rec encode_pb_pgaeehgmbhd (v:pgaeehgmbhd) encoder = 
  Pbrt.Encoder.int32_as_varint v.jnboodjdmho encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ojkjbeilgdc encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_eakdfjkkkac (v:eakdfjkkkac) encoder = 
  Pbrt.Encoder.bool v.ecohlncenkk encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jnboodjdmho encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ojkjbeilgdc encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.fbcfkkknldf encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  begin match v.oplnemnkmhf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hdmoboniihl x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_lmfiimlalfm (v:lmfiimlalfm) encoder = 
  Pbrt.Encoder.int32_as_varint v.jnboodjdmho encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cjhfohgjked (v:cjhfohgjked) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jnboodjdmho encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_iglcopligcj (v:iglcopligcj) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_hdmoboniihl x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.mjomgfdpmnj encoder;
  ()

let rec encode_pb_hoadcaanbha (v:hoadcaanbha) encoder = 
  begin match v.oplnemnkmhf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hdmoboniihl x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.bjfgfbjlffg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_kmppenfheel x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.ojkjbeilgdc encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jnboodjdmho encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_domkmpnnebe (v:domkmpnnebe) encoder = 
  begin match v.mnhgojliepj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cbgphimaond x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.ljlinldbbob encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dgfahpgkgmf encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fhpollcfknc encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hodkonakgab (v:hodkonakgab) encoder = 
  Pbrt.Encoder.int32_as_varint v.kigccmchfaa encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.prop_entity_id encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_onlamhijjda (v:onlamhijjda) encoder = 
  Pbrt.Encoder.int32_as_varint v.jjbohkkebeg encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.akemgnajflc encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fmifpcfleij encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mhpkpajbnjm encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  begin match v.lohpklihemj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_cnbcehippjg (v:cnbcehippjg) encoder = 
  begin match v.lohpklihemj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.bool v.akemgnajflc encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mhpkpajbnjm encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fmifpcfleij encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jjbohkkebeg encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fngfihkckfj (v:fngfihkckfj) encoder = 
  Pbrt.Encoder.int32_as_varint v.eolhlhcahff encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.int32_as_varint x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.pplafiiclpl encoder;
  Pbrt.Encoder.int32_as_varint v.hkohlnhlgnb encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ffhkhemgonh (v:ffhkhemgonh) encoder = 
  begin match v.lohpklihemj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.bool x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.gmblbaboegm encoder;
  Pbrt.Encoder.int32_as_varint v.jjbohkkebeg encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mhpkpajbnjm encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bolhppnehna (v:bolhppnehna) encoder = 
  begin match v.lohpklihemj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.mhpkpajbnjm encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jjbohkkebeg encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mkmfeohmhdl (v:mkmfeohmhdl) encoder = 
  begin match v.ehfmcpnpcmp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_onlamhijjda x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.mcobeibhgia with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cnbcehippjg x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.apjgepbpong with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fngfihkckfj x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.nbfmehkdagj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ffhkhemgonh x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.ckfggjhfhdb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bolhppnehna x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_dfchmojmkbp (v:dfchmojmkbp) encoder = 
  Pbrt.Encoder.int32_as_varint v.kigccmchfaa encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.bajihciaend with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mkmfeohmhdl x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_epjilmmpkom (v:epjilmmpkom) encoder = 
  Pbrt.Encoder.int32_as_varint v.prop_entity_id encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kcnojeijhmd (v:kcnojeijhmd) encoder = 
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.nested encode_pb_mkmfeohmhdl x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Bytes) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.lbnndcbnika encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mjhcocmpagc (v:mjhcocmpagc) encoder = 
  Pbrt.Encoder.int32_as_varint v.mcikcapjmdh encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_clcicidmhke (v:clcicidmhke) encoder = 
  Pbrt.Encoder.int32_as_varint v.bpghijegann encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jfcmkbokfof (v:jfcmkbokfof) encoder = 
  Pbrt.Encoder.int32_as_varint v.nmkjbofhjhb encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ffloeagfoia (v:ffloeagfoia) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.aadjgaaabib encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_gpianncldcp (v:gpianncldcp) encoder = 
  Pbrt.Encoder.int32_as_varint v.jjlcgdiofhh encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ejjgfpamkcg (v:ejjgfpamkcg) encoder = 
  begin match v.ehfmcpnpcmp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mjhcocmpagc x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.mcobeibhgia with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_clcicidmhke x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.apjgepbpong with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jfcmkbokfof x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.nbfmehkdagj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ffloeagfoia x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.ckfggjhfhdb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gpianncldcp x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_naojdlokppg (v:naojdlokppg) encoder = 
  Pbrt.Encoder.int32_as_varint v.kigccmchfaa encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.prop_entity_id encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  begin match v.kdnioegmffl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ejjgfpamkcg x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_adojimghpml (v:adojimghpml) encoder = 
  begin match v.bajihciaend with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mkmfeohmhdl x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.kigccmchfaa encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_aaacgamfppc (v:aaacgamfppc) encoder = 
  encode_pb_eeaceekbbik v.status encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nklnaippaoc encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_aojielnnmfc (v:aojielnnmfc) encoder = 
  Pbrt.Encoder.int32_as_varint v.nklnaippaoc encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nfhmflfhndi encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  encode_pb_bpibjehipof v.status encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jgggbcomlkg (v:jgggbcomlkg) encoder = 
()

let rec encode_pb_gnccfafgcol (v:gnccfafgcol) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_aaacgamfppc x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.keadbmibeoa encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_aojielnnmfc x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.jkcaikhimpk encoder;
  ()

let rec encode_pb_fgeaamlhlac (v:fgeaamlhlac) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    encode_pb_kogippjmdkb x encoder;
    Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ) v.fepikjehgke encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ohhfpegpijl encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.jgadebiegfg encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_iinoobifcjo (v:iinoobifcjo) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_aojielnnmfc x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.jkcaikhimpk encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_aaacgamfppc x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.keadbmibeoa encoder;
  ()

let rec encode_pb_pladdmnljcl (v:pladdmnljcl) encoder = 
  Pbrt.Encoder.int32_as_varint v.jhkfhacondf encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  encode_pb_odijleidcnd v.status encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lblameimomf (v:lblameimomf) encoder = 
  Pbrt.Encoder.int32_as_varint v.jhkfhacondf encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nfhmflfhndi encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  encode_pb_bpibjehipof v.status encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ofkanljcacm (v:ofkanljcacm) encoder = 
()

let rec encode_pb_icdcbngicka (v:icdcbngicka) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pladdmnljcl x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.pkkaednpjma encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_lblameimomf x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.bogghhbkjbd encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ioibkofbebj (v:ioibkofbebj) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.gbelbjgfeen encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.bhcemcfcjca encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    encode_pb_kogippjmdkb x encoder;
    Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ) v.ioldfakjoep encoder;
  ()

let rec encode_pb_hcgejlljkpj (v:hcgejlljkpj) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pladdmnljcl x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.pkkaednpjma encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_lblameimomf x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.bogghhbkjbd encoder;
  ()

let rec encode_pb_padjpmdajhc (v:padjpmdajhc) encoder = 
  Pbrt.Encoder.int32_as_varint v.prop_entity_id encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_odcpjphbfme (v:odcpjphbfme) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.lkfmgoglgch with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jhjloaofhnk x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_agjmneegkdb (v:agjmneegkdb) encoder = 
  Pbrt.Encoder.int32_as_varint v.prop_entity_id encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_obolbkcklhc (v:obolbkcklhc) encoder = 
  Pbrt.Encoder.int32_as_varint v.bekhfcgelap encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gdpfmoegbki encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  begin match v.lkfmgoglgch with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jhjloaofhnk x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ebjgjhclibc (v:ebjgjhclibc) encoder =
  match v with
  | Cmd_rogue_endless_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_take_rogue_endless_activity_point_reward_cs_req -> Pbrt.Encoder.int_as_varint 6006 encoder
  | Cmd_enter_rogue_endless_activity_stage_sc_rsp -> Pbrt.Encoder.int_as_varint 6010 encoder
  | Cmd_rogue_endless_activity_battle_end_sc_notify -> Pbrt.Encoder.int_as_varint 6002 encoder
  | Cmd_take_rogue_endless_activity_all_bonus_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 6005 encoder
  | Cmd_take_rogue_endless_activity_all_bonus_reward_cs_req -> Pbrt.Encoder.int_as_varint 6003 encoder
  | Cmd_enter_rogue_endless_activity_stage_cs_req -> Pbrt.Encoder.int_as_varint 6009 encoder
  | Cmd_get_rogue_endless_activity_data_sc_rsp -> Pbrt.Encoder.int_as_varint 6004 encoder
  | Cmd_get_rogue_endless_activity_data_cs_req -> Pbrt.Encoder.int_as_varint 6001 encoder
  | Cmd_take_rogue_endless_activity_point_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 6007 encoder

let rec encode_pb_lmmkpeajfka (v:lmmkpeajfka) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.okhflbihfhm encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.base_avatar_id_list encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  begin match v.gkfjbgdelik with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hpphifdfjjj x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.bgjihjmjbdk encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ediopngagap encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  begin match v.fanjaobchcg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_eijagapkfad x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  encode_pb_ofhnfenfeai v.status encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.daldfnlnnbo encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lnjapmhfcck encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cfeeacjgeec (v:cfeeacjgeec) encoder = 
  Pbrt.Encoder.int32_as_varint v.moidpjnooeb encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.battle_id encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mibmejkddhe encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fblfmeldjgl encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nkangcfcbfk encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.djocbcjomac encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.chmbglidkmm encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.phpkjaipcmg encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nggfgepnifo (v:nggfgepnifo) encoder = 
  begin match v.appflheobmi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cfeeacjgeec x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.ggdaffjnmpa encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fjlnncjahng encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  begin match v.minogichkgm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lmmkpeajfka x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hpbhhlhhedh (v:hpbhhlhhedh) encoder = 
()

let rec encode_pb_kcajjjlejgm (v:kcajjjlejgm) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ihkmfjnfjlk encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pokaoienhda encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_nggfgepnifo x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.data encoder;
  Pbrt.Encoder.int32_as_varint v.hehigejeimi encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jkbbigojajj (v:jkbbigojajj) encoder = 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kgamnkklmcm (v:kgamnkklmcm) encoder = 
  Pbrt.Encoder.int32_as_varint v.anllhlcoape encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jkbbigojajj x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.avatar_list encoder;
  ()

let rec encode_pb_eifpojnakgh (v:eifpojnakgh) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  begin match v.appflheobmi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cfeeacjgeec x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ddncjhjjabn (v:ddncjhjjabn) encoder = 
  begin match v.appflheobmi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cfeeacjgeec x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ffcaeknjnap (v:ffcaeknjnap) encoder = 
  Pbrt.Encoder.bool v.mhegpegfggg encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hhgioelfegm (v:hhgioelfegm) encoder = 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.bool v.mhegpegfggg encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hehigejeimi encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ihkmfjnfjlk encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_iddjfmpgfmd (v:iddjfmpgfmd) encoder = 
()

let rec encode_pb_ofhcflkjmeh (v:ofhcflkjmeh) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ihkmfjnfjlk encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.hehigejeimi encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bjpgeildfec (v:bjpgeildfec) encoder =
  match v with
  | Cmd_rogue_modifier_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_rogue_modifier_select_cell_cs_req -> Pbrt.Encoder.int_as_varint 5343 encoder
  | Cmd_rogue_modifier_add_notify -> Pbrt.Encoder.int_as_varint 5311 encoder
  | Cmd_rogue_modifier_select_cell_sc_rsp -> Pbrt.Encoder.int_as_varint 5356 encoder
  | Cmd_rogue_modifier_stage_start_notify -> Pbrt.Encoder.int_as_varint 5333 encoder
  | Cmd_rogue_modifier_update_notify -> Pbrt.Encoder.int_as_varint 5329 encoder
  | Cmd_rogue_modifier_del_notify -> Pbrt.Encoder.int_as_varint 5351 encoder

let rec encode_pb_njkmbnhkmij (v:njkmbnhkmij) encoder = 
  Pbrt.Encoder.int32_as_varint v.adnplkibhog encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.mecjmchknde encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.babfnhiakog encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_indhellplmc (v:indhellplmc) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.jnkphngenhh encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.mecjmchknde encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.adnplkibhog encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.babfnhiakog encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cjechcdmobb (v:cjechcdmobb) encoder = 
  Pbrt.Encoder.int32_as_varint v.adnplkibhog encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.mecjmchknde encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.jnkphngenhh encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_hnklhfgnidh (v:hnklhfgnidh) encoder = 
  Pbrt.Encoder.int32_as_varint v.adnplkibhog encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.mecjmchknde encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jlgjdbmhnan encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ciagcobkhbd encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_gennbfeoeln (v:gennbfeoeln) encoder = 
  Pbrt.Encoder.int32_as_varint v.kccleanfoef encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fbmijaimnlp (v:fbmijaimnlp) encoder = 
  Pbrt.Encoder.int32_as_varint v.pkfeeankpmd encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_acpeiiblfeb (v:acpeiiblfeb) encoder = 
  Pbrt.Encoder.int32_as_varint v.nlefnkfdgkp encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bbbegcjnbol (v:bbbegcjnbol) encoder = 
  Pbrt.Encoder.bool v.mecjmchknde encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.adnplkibhog encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pgnccoldebp encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ciagcobkhbd encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_cjakegljcgo (v:cjakegljcgo) encoder = 
  Pbrt.Encoder.int32_as_varint v.eefckhjjdaf encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pjkppmidpao encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.glppfpcjnlp encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nkdamfkkpgf (v:nkdamfkkpgf) encoder = 
  Pbrt.Encoder.int32_as_varint v.paofpgekpfe encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ahfklgbbeno (v:ahfklgbbeno) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.olfhccbiidg encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hbjfkganpni (v:hbjfkganpni) encoder = 
  Pbrt.Encoder.int32_as_varint v.kagnbjdmamf encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bomcmajnimh encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ekcigpdfkjo encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mjohphbaijk (v:mjohphbaijk) encoder = 
  Pbrt.Encoder.int32_as_varint v.mgnnkboblfg encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kagnbjdmamf encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dcpoejemiok (v:dcpoejemiok) encoder = 
  Pbrt.Encoder.int32_as_varint v.kccleanfoef encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dkgaakknhee (v:dkgaakknhee) encoder = 
  Pbrt.Encoder.int32_as_varint v.babfnhiakog encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_okeejldbgch (v:okeejldbgch) encoder = 
  Pbrt.Encoder.int32_as_varint v.adnplkibhog encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.mecjmchknde encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.jnkphngenhh encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_nfbchiimdie (v:nfbchiimdie) encoder = 
  Pbrt.Encoder.int32_as_varint v.paofpgekpfe encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.odfipjnpjop encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_linfpficlpo (v:linfpficlpo) encoder = 
  Pbrt.Encoder.int32_as_varint v.kamoblkgpai encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_afillcepkji (v:afillcepkji) encoder = 
  Pbrt.Encoder.int32_as_varint v.count encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kmdhgnfkcpi (v:kmdhgnfkcpi) encoder = 
  begin match v.lmhocgknkpb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gflokgogjgh x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hejpimnmkkb (v:hejpimnmkkb) encoder = 
  Pbrt.Encoder.int32_as_varint v.pbonhgdihdk encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ikakeaekcgp (v:ikakeaekcgp) encoder = 
  Pbrt.Encoder.int32_as_varint v.pbonhgdihdk encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  begin match v.ekpahpdniff with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_adbdeennljd (v:adbdeennljd) encoder = 
  begin match v.lmhocgknkpb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gflokgogjgh x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_nkeajljehgg (v:nkeajljehgg) encoder = 
  Pbrt.Encoder.int64_as_varint v.ddgkfgjdgeb encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ogilaeigfdi (v:ogilaeigfdi) encoder = 
  encode_pb_idlkgpjlfhc v.cbjpfggchfh encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_oklcifjakhm (v:oklcifjakhm) encoder =
  match v with
  | Cmd_rogue_tourn_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_rogue_tourn_settle_sc_rsp -> Pbrt.Encoder.int_as_varint 6043 encoder
  | Cmd_rogue_tourn_leave_sc_rsp -> Pbrt.Encoder.int_as_varint 6078 encoder
  | Cmd_rogue_tourn_enter_layer_sc_rsp -> Pbrt.Encoder.int_as_varint 6058 encoder
  | Cmd_rogue_tourn_start_cs_req -> Pbrt.Encoder.int_as_varint 6083 encoder
  | Cmd_rogue_tourn_leave_rogue_cocoon_scene_cs_req -> Pbrt.Encoder.int_as_varint 6064 encoder
  | Cmd_rogue_tourn_leave_rogue_cocoon_scene_sc_rsp -> Pbrt.Encoder.int_as_varint 6086 encoder
  | Cmd_rogue_tourn_delete_archive_cs_req -> Pbrt.Encoder.int_as_varint 6016 encoder
  | Cmd_rogue_tourn_level_info_update_sc_notify -> Pbrt.Encoder.int_as_varint 6038 encoder
  | Cmd_rogue_tourn_exp_notify -> Pbrt.Encoder.int_as_varint 6017 encoder
  | Cmd_rogue_tourn_get_misc_real_time_data_sc_rsp -> Pbrt.Encoder.int_as_varint 6013 encoder
  | Cmd_rogue_tourn_revive_avatar_sc_rsp -> Pbrt.Encoder.int_as_varint 6042 encoder
  | Cmd_rogue_tourn_revive_avatar_cs_req -> Pbrt.Encoder.int_as_varint 6081 encoder
  | Cmd_rogue_tourn_get_all_archive_cs_req -> Pbrt.Encoder.int_as_varint 6068 encoder
  | Cmd_rogue_tourn_query_sc_rsp -> Pbrt.Encoder.int_as_varint 6040 encoder
  | Cmd_rogue_tourn_delete_archive_sc_rsp -> Pbrt.Encoder.int_as_varint 6035 encoder
  | Cmd_rogue_tourn_re_enter_rogue_cocoon_stage_cs_req -> Pbrt.Encoder.int_as_varint 6063 encoder
  | Cmd_rogue_tourn_take_exp_reward_cs_req -> Pbrt.Encoder.int_as_varint 6027 encoder
  | Cmd_rogue_tourn_enter_rogue_cocoon_scene_cs_req -> Pbrt.Encoder.int_as_varint 6095 encoder
  | Cmd_rogue_tourn_get_cur_rogue_cocoon_info_sc_rsp -> Pbrt.Encoder.int_as_varint 6041 encoder
  | Cmd_rogue_tourn_get_archive_repository_sc_rsp -> Pbrt.Encoder.int_as_varint 6031 encoder
  | Cmd_rogue_tourn_rename_archive_sc_rsp -> Pbrt.Encoder.int_as_varint 6088 encoder
  | Cmd_rogue_tourn_reset_permanent_talent_sc_rsp -> Pbrt.Encoder.int_as_varint 6096 encoder
  | Cmd_rogue_tourn_query_cs_req -> Pbrt.Encoder.int_as_varint 6034 encoder
  | Cmd_rogue_tourn_week_challenge_update_sc_notify -> Pbrt.Encoder.int_as_varint 6032 encoder
  | Cmd_rogue_tourn_get_cur_rogue_cocoon_info_cs_req -> Pbrt.Encoder.int_as_varint 6051 encoder
  | Cmd_rogue_tourn_rename_archive_cs_req -> Pbrt.Encoder.int_as_varint 6044 encoder
  | Cmd_rogue_tourn_take_exp_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 6049 encoder
  | Cmd_rogue_tourn_enter_cs_req -> Pbrt.Encoder.int_as_varint 6099 encoder
  | Cmd_rogue_tourn_confirm_settle_sc_rsp -> Pbrt.Encoder.int_as_varint 6024 encoder
  | Cmd_rogue_tourn_get_misc_real_time_data_cs_req -> Pbrt.Encoder.int_as_varint 6079 encoder
  | Cmd_rogue_tourn_enter_layer_cs_req -> Pbrt.Encoder.int_as_varint 6092 encoder
  | Cmd_rogue_tourn_get_all_archive_sc_rsp -> Pbrt.Encoder.int_as_varint 6018 encoder
  | Cmd_rogue_tourn_revive_cost_update_sc_notify -> Pbrt.Encoder.int_as_varint 6087 encoder
  | Cmd_rogue_tourn_difficulty_comp_notify -> Pbrt.Encoder.int_as_varint 6055 encoder
  | Cmd_rogue_tourn_get_archive_repository_cs_req -> Pbrt.Encoder.int_as_varint 6082 encoder
  | Cmd_rogue_tourn_enable_permanent_talent_sc_rsp -> Pbrt.Encoder.int_as_varint 6053 encoder
  | Cmd_rogue_tourn_get_permanent_talent_info_cs_req -> Pbrt.Encoder.int_as_varint 6026 encoder
  | Cmd_rogue_tourn_get_permanent_talent_info_sc_rsp -> Pbrt.Encoder.int_as_varint 6085 encoder
  | Cmd_rogue_tourn_hand_book_notify -> Pbrt.Encoder.int_as_varint 6056 encoder
  | Cmd_rogue_tourn_area_update_sc_notify -> Pbrt.Encoder.int_as_varint 6066 encoder
  | Cmd_rogue_tourn_enable_permanent_talent_cs_req -> Pbrt.Encoder.int_as_varint 6022 encoder
  | Cmd_rogue_tourn_enter_room_sc_rsp -> Pbrt.Encoder.int_as_varint 6019 encoder
  | Cmd_rogue_tourn_leave_cs_req -> Pbrt.Encoder.int_as_varint 6059 encoder
  | Cmd_rogue_tourn_enter_room_cs_req -> Pbrt.Encoder.int_as_varint 6089 encoder
  | Cmd_rogue_tourn_settle_cs_req -> Pbrt.Encoder.int_as_varint 6100 encoder
  | Cmd_rogue_tourn_confirm_settle_cs_req -> Pbrt.Encoder.int_as_varint 6023 encoder
  | Cmd_rogue_tourn_get_settle_info_sc_rsp -> Pbrt.Encoder.int_as_varint 6036 encoder
  | Cmd_rogue_tourn_re_enter_rogue_cocoon_stage_sc_rsp -> Pbrt.Encoder.int_as_varint 6050 encoder
  | Cmd_rogue_tourn_enter_rogue_cocoon_scene_sc_rsp -> Pbrt.Encoder.int_as_varint 6025 encoder
  | Cmd_rogue_tourn_enter_sc_rsp -> Pbrt.Encoder.int_as_varint 6033 encoder
  | Cmd_rogue_tourn_clear_archive_name_sc_notify -> Pbrt.Encoder.int_as_varint 6057 encoder
  | Cmd_rogue_tourn_get_settle_info_cs_req -> Pbrt.Encoder.int_as_varint 6077 encoder
  | Cmd_rogue_tourn_start_sc_rsp -> Pbrt.Encoder.int_as_varint 6039 encoder
  | Cmd_rogue_tourn_battle_fail_settle_info_sc_notify -> Pbrt.Encoder.int_as_varint 6020 encoder
  | Cmd_rogue_tourn_reset_permanent_talent_cs_req -> Pbrt.Encoder.int_as_varint 6021 encoder

let rec encode_pb_llecchannpc (v:llecchannpc) encoder =
  match v with
  | Rogue_tourn_handbook_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Rogue_tourn_handbook_simple_miracle -> Pbrt.Encoder.int_as_varint 1 encoder
  | Rogue_tourn_handbook_hex_miracle -> Pbrt.Encoder.int_as_varint 2 encoder
  | Rogue_tourn_handbook_buff -> Pbrt.Encoder.int_as_varint 3 encoder
  | Rogue_tourn_handbook_event -> Pbrt.Encoder.int_as_varint 4 encoder
  | Rogue_tourn_handbook_formula -> Pbrt.Encoder.int_as_varint 5 encoder

let rec encode_pb_fopiophbiph (v:fopiophbiph) encoder = 
  begin match v.pnbpdbgfffd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cioeahefpln x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.lineup with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lineup_info x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.scene with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_info x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bhoeapoifhf (v:bhoeapoifhf) encoder = 
  Pbrt.Encoder.int32_as_varint v.mnppbggndma encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.oocjacfoofn encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.ggdaffjnmpa encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.base_avatar_id_list encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_jahlejaahnj (v:jahlejaahnj) encoder = 
  begin match v.niiingfcpol with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hpeecfakjeg x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.mnppbggndma encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  begin match v.hiacklcdijn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fopiophbiph x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_iakpmokoopf (v:iakpmokoopf) encoder = 
()

let rec encode_pb_piclnnfbhgg (v:piclnnfbhgg) encoder = 
  begin match v.niiingfcpol with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hpeecfakjeg x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.hiacklcdijn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fopiophbiph x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ppffnpdebnn (v:ppffnpdebnn) encoder = 
()

let rec encode_pb_pajenkffpjd (v:pajenkffpjd) encoder = 
  begin match v.hiacklcdijn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fopiophbiph x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nagmgplccnn (v:nagmgplccnn) encoder = 
()

let rec encode_pb_mmigimbighd (v:mmigimbighd) encoder = 
  begin match v.pdbobmjedbc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bninelnejfi x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  begin match v.hiacklcdijn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fopiophbiph x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bjjmdnhejkj (v:bjjmdnhejkj) encoder = 
  Pbrt.Encoder.int32_as_varint v.kemnjbikaod encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bookldicfae encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pkgkoiljmod (v:pkgkoiljmod) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  begin match v.hiacklcdijn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fopiophbiph x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bbfpjokigjo (v:bbfpjokigjo) encoder = 
  Pbrt.Encoder.int32_as_varint v.bookldicfae encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.chmmbcgmfho encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bnjigcnepgg (v:bnjigcnepgg) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  begin match v.hiacklcdijn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fopiophbiph x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ebgegjpdclg (v:ebgegjpdclg) encoder = 
  Pbrt.Encoder.int32_as_varint v.chmmbcgmfho encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  encode_pb_dmgmpocpddc v.status encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_gadcmbokpdi x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.fogjohmngpc encoder;
  encode_pb_meahibhbfon v.mgdnainpahe encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hfbgpdklehf (v:hfbgpdklehf) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.jjoibnmplan encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.olpnhmcbmbg encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bkbaamlloid (v:bkbaamlloid) encoder = 
  Pbrt.Encoder.int32_as_varint v.exp encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.opjkekdmnif encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ofeopdagmld (v:ofeopdagmld) encoder = 
  Pbrt.Encoder.int32_as_varint v.exp encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cnanfpfmfgi (v:cnanfpfmfgi) encoder = 
()

let rec encode_pb_bkgcabadlgh (v:bkgcabadlgh) encoder = 
  Pbrt.Encoder.int32_as_varint v.ggdaffjnmpa encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.pgonhkcjnme encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.lijjmafkdnn encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.dnmhgkbcinm encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.mkideamcloh encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_iehdlmeodcb (v:iehdlmeodcb) encoder = 
  Pbrt.Encoder.int64_as_varint v.end_time encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.deiejhjkjgb encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fibjjgfhakl encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mnppbggndma encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_alanojoldck (v:alanojoldck) encoder = 
  Pbrt.Encoder.int32_as_varint v.exp encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.opjkekdmnif encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_gbnockoacmj (v:gbnockoacmj) encoder = 
  begin match v.bbanknacajb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lljpmigaffg x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.bcdcpfglloa encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_imhjlecpgmf (v:imhjlecpgmf) encoder = 
  Pbrt.Encoder.int32_as_varint v.ikfhibhbodi encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.dnmhgkbcinm encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ibpjgdimgdh (v:ibpjgdimgdh) encoder = 
  Pbrt.Encoder.int32_as_varint v.olpnhmcbmbg encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.benepmhmkki encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_obekcikjcnd (v:obekcikjcnd) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.nnijgeiepnp encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.lfongcdalle encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.hmcpmadehgc encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.majcffpcdeg encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.jgajllhobmi encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.pkcflbcbemf encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_ibbhfnhbhin (v:ibbhfnhbhin) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mnicidbdjfi x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.buff_list encoder;
  Pbrt.Encoder.int32_as_varint v.dbgaojmndmc encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_djpaibjmmoe x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.pcpkkbfpbeb encoder;
  ()

let rec encode_pb_ibgjfmdlgfg (v:ibgjfmdlgfg) encoder = 
  begin match v.data with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ibbhfnhbhin x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.string v.name encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  begin match v.njokhdgdfcm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ibpjgdimgdh x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int64_as_varint v.end_time encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.afefamkndoo encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.time encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  begin match v.niiingfcpol with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hpeecfakjeg x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_omaobpkepbk (v:omaobpkepbk) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ibgjfmdlgfg x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.mpjcpjidjno encoder;
  begin match v.njokhdgdfcm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ibpjgdimgdh x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.cmmbjnhniak with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gbnockoacmj x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_bkgcabadlgh x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.mdnhpflhbbi encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_imhjlecpgmf x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.fbaabhmhhmf encoder;
  begin match v.eoabdpajekd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_alanojoldck x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.mgancbncadd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_obekcikjcnd x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.eidlebddhfm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_iehdlmeodcb x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_pmcafkblcek (v:pmcafkblcek) encoder = 
  begin match v.fecdamigijp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_omaobpkepbk x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.niiingfcpol with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hpeecfakjeg x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ighcanmlfpk (v:ighcanmlfpk) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_bkgcabadlgh x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.mdnhpflhbbi encoder;
  ()

let rec encode_pb_okpoedldcbc (v:okpoedldcbc) encoder = 
()

let rec encode_pb_hfddpfdnbob (v:hfddpfdnbob) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ibgjfmdlgfg x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.jjfmndbpgkf encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_falpomddcnm (v:falpomddcnm) encoder = 
  Pbrt.Encoder.int32_as_varint v.afefamkndoo encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ehlnpdcbmkg (v:ehlnpdcbmkg) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.afefamkndoo encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_khgalbohlmd (v:khgalbohlmd) encoder = 
  Pbrt.Encoder.string v.name encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.afefamkndoo encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mnejjjainkj (v:mnejjjainkj) encoder = 
  Pbrt.Encoder.string v.name encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.afefamkndoo encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_opgfcfjckld (v:opgfcfjckld) encoder = 
  Pbrt.Encoder.int32_as_varint v.afefamkndoo encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gjignnodbdm (v:gjignnodbdm) encoder = 
()

let rec encode_pb_aefpfcoeocm (v:aefpfcoeocm) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  begin match v.cmmbjnhniak with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gbnockoacmj x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hiobbkapppf (v:hiobbkapppf) encoder = 
  Pbrt.Encoder.int32_as_varint v.hehehnicpjn encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_apfmcbajpno (v:apfmcbajpno) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  begin match v.cmmbjnhniak with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gbnockoacmj x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_fcjichofhaj (v:fcjichofhaj) encoder = 
()

let rec encode_pb_mninjbbldcn (v:mninjbbldcn) encoder = 
  begin match v.cmmbjnhniak with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gbnockoacmj x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pihijmjijgj (v:pihijmjijgj) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_flffdckajej x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.avatar_list encoder;
  Pbrt.Encoder.int32_as_varint v.kahhjlklcjl encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cnbholdlobc encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.gehbffmbgmi encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bnlgcohhahg encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jkcnlobbehh (v:jkcnlobbehh) encoder = 
  begin match v.hiacklcdijn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fopiophbiph x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bcbpbfgkocl (v:bcbpbfgkocl) encoder = 
()

let rec encode_pb_hmncjcdmnoc (v:hmncjcdmnoc) encoder = 
  begin match v.hiacklcdijn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fopiophbiph x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ipjbipgkkce (v:ipjbipgkkce) encoder = 
  Pbrt.Encoder.bool v.gehbffmbgmi encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hgdjnbdojjl (v:hgdjnbdojjl) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ckgapkhdnnd (v:ckgapkhdnnd) encoder = 
()

let rec encode_pb_hjbegoofpdm (v:hjbegoofpdm) encoder = 
  Pbrt.Encoder.int32_as_varint v.kahhjlklcjl encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cnbholdlobc encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bnlgcohhahg encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_eombaehnefe (v:eombaehnefe) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.lebembolhgj encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_hkbpgokjfnj (v:hkbpgokjfnj) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.lobeaeamlln encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  encode_pb_llecchannpc v.ojdlhnjpibk encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mmlpmelombo (v:mmlpmelombo) encoder = 
  Pbrt.Encoder.int32_as_varint v.ggdaffjnmpa encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_coenhaabago (v:coenhaabago) encoder = 
  begin match v.pdbobmjedbc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bninelnejfi x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dhdgbnfnfai (v:dhdgbnfnfai) encoder = 
  Pbrt.Encoder.int32_as_varint v.afefamkndoo encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ggdaffjnmpa encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.name encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_mficaiiiekj (v:mficaiiiekj) encoder = 
  begin match v.hiacklcdijn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fopiophbiph x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.gomhdhcdflh with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ibgjfmdlgfg x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.dcalkgibojm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  begin match v.akppfhlknnp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_gafkfelneml (v:gafkfelneml) encoder = 
  begin match v.eidlebddhfm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_iehdlmeodcb x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_mcomcecfegd (v:mcomcecfegd) encoder = 
()

let rec encode_pb_ekjkgipimmb (v:ekjkgipimmb) encoder = 
  begin match v.dceibjclkbb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fpfmjggcnld x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.ofjdnoboneb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fnpekjdgohi x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.odcloijfnip with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jebbgppcabc x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_iokabfcbejn (v:iokabfcbejn) encoder = 
()

let rec encode_pb_kminbeklojh (v:kminbeklojh) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ddgcjndjeod encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ilinhdeianh encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_gklnflepfke (v:gklnflepfke) encoder = 
  begin match v.joipnmmehbm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ffhalolphba (v:ffhalolphba) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.base_avatar_id_list encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.idcigdfjabi encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lcglakkjjmb (v:lcglakkjjmb) encoder = 
  begin match v.joipnmmehbm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_cost_data x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pcfhlaallip (v:pcfhlaallip) encoder = 
  begin match v.pdbobmjedbc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bninelnejfi x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.hiacklcdijn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fopiophbiph x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_khaicemhkel (v:khaicemhkel) encoder =
  match v with
  | Cmd_roll_shop_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_get_roll_shop_info_cs_req -> Pbrt.Encoder.int_as_varint 6919 encoder
  | Cmd_take_roll_shop_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 6902 encoder
  | Cmd_do_gacha_in_roll_shop_sc_rsp -> Pbrt.Encoder.int_as_varint 6920 encoder
  | Cmd_do_gacha_in_roll_shop_cs_req -> Pbrt.Encoder.int_as_varint 6912 encoder
  | Cmd_take_roll_shop_reward_cs_req -> Pbrt.Encoder.int_as_varint 6904 encoder
  | Cmd_get_roll_shop_info_sc_rsp -> Pbrt.Encoder.int_as_varint 6903 encoder

let rec encode_pb_hnjnkcakobk (v:hnjnkcakobk) encoder = 
  Pbrt.Encoder.int32_as_varint v.lglonllbmkc encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ldlepnnkbfd (v:ldlepnnkbfd) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ohmaodidhnl encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ellcjbcjncl encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.lglonllbmkc encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_agblbeapjdj (v:agblbeapjdj) encoder = 
  Pbrt.Encoder.int32_as_varint v.ohmaodidhnl encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lglonllbmkc encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bpijdelaecg encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gajmbmmlhmo (v:gajmbmmlhmo) encoder = 
  Pbrt.Encoder.int32_as_varint v.jplhmpiafoe encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lglonllbmkc encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ialfoddhdkp encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gppcmgfgfhf (v:gppcmgfgfhf) encoder = 
  Pbrt.Encoder.int32_as_varint v.lglonllbmkc encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_take_roll_shop_reward_sc_rsp (v:take_roll_shop_reward_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.roll_shop_id encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.group_type encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ipadbebaclh (v:ipadbebaclh) encoder =
  match v with
  | Cmd_scene_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_interact_prop_cs_req -> Pbrt.Encoder.int_as_varint 1411 encoder
  | Cmd_return_last_town_sc_rsp -> Pbrt.Encoder.int_as_varint 1492 encoder
  | Cmd_set_spring_recover_config_cs_req -> Pbrt.Encoder.int_as_varint 1500 encoder
  | Cmd_sync_server_scene_change_notify -> Pbrt.Encoder.int_as_varint 1450 encoder
  | Cmd_scene_update_position_version_notify -> Pbrt.Encoder.int_as_varint 1454 encoder
  | Cmd_group_state_change_sc_rsp -> Pbrt.Encoder.int_as_varint 1420 encoder
  | Cmd_spring_recover_cs_req -> Pbrt.Encoder.int_as_varint 1458 encoder
  | Cmd_get_entered_scene_sc_rsp -> Pbrt.Encoder.int_as_varint 1477 encoder
  | Cmd_scene_plane_event_sc_notify -> Pbrt.Encoder.int_as_varint 1496 encoder
  | Cmd_start_timed_cocoon_stage_cs_req -> Pbrt.Encoder.int_as_varint 1444 encoder
  | Cmd_activate_farm_element_sc_rsp -> Pbrt.Encoder.int_as_varint 1475 encoder
  | Cmd_set_group_custom_save_data_sc_rsp -> Pbrt.Encoder.int_as_varint 1426 encoder
  | Cmd_scene_entity_teleport_sc_rsp -> Pbrt.Encoder.int_as_varint 1473 encoder
  | Cmd_scene_cast_skill_cs_req -> Pbrt.Encoder.int_as_varint 1456 encoder
  | Cmd_scene_entity_move_sc_notify -> Pbrt.Encoder.int_as_varint 1499 encoder
  | Cmd_start_timed_farm_element_sc_rsp -> Pbrt.Encoder.int_as_varint 1487 encoder
  | Cmd_get_entered_scene_cs_req -> Pbrt.Encoder.int_as_varint 1427 encoder
  | Cmd_scene_revive_after_rebattle_cs_req -> Pbrt.Encoder.int_as_varint 1409 encoder
  | Cmd_unlock_teleport_notify -> Pbrt.Encoder.int_as_varint 1418 encoder
  | Cmd_scene_cast_skill_cost_mp_cs_req -> Pbrt.Encoder.int_as_varint 1448 encoder
  | Cmd_sync_entity_buff_change_list_sc_notify -> Pbrt.Encoder.int_as_varint 1465 encoder
  | Cmd_get_scene_map_info_sc_rsp -> Pbrt.Encoder.int_as_varint 1410 encoder
  | Cmd_scene_cast_skill_mp_update_sc_notify -> Pbrt.Encoder.int_as_varint 1434 encoder
  | Cmd_gameplay_counter_count_down_cs_req -> Pbrt.Encoder.int_as_varint 1461 encoder
  | Cmd_get_scene_map_info_cs_req -> Pbrt.Encoder.int_as_varint 1436 encoder
  | Cmd_activate_farm_element_cs_req -> Pbrt.Encoder.int_as_varint 1415 encoder
  | Cmd_enter_scene_by_server_sc_notify -> Pbrt.Encoder.int_as_varint 1483 encoder
  | Cmd_set_group_custom_save_data_cs_req -> Pbrt.Encoder.int_as_varint 1403 encoder
  | Cmd_set_client_paused_sc_rsp -> Pbrt.Encoder.int_as_varint 1495 encoder
  | Cmd_group_state_change_sc_notify -> Pbrt.Encoder.int_as_varint 1457 encoder
  | Cmd_enter_section_cs_req -> Pbrt.Encoder.int_as_varint 1408 encoder
  | Cmd_save_points_info_notify -> Pbrt.Encoder.int_as_varint 1449 encoder
  | Cmd_delete_summon_unit_cs_req -> Pbrt.Encoder.int_as_varint 1404 encoder
  | Cmd_deactivate_farm_element_cs_req -> Pbrt.Encoder.int_as_varint 1469 encoder
  | Cmd_scene_cast_skill_sc_rsp -> Pbrt.Encoder.int_as_varint 1493 encoder
  | Cmd_refresh_trigger_by_client_sc_rsp -> Pbrt.Encoder.int_as_varint 1438 encoder
  | Cmd_re_enter_last_element_stage_cs_req -> Pbrt.Encoder.int_as_varint 1422 encoder
  | Cmd_refresh_trigger_by_client_sc_notify -> Pbrt.Encoder.int_as_varint 1480 encoder
  | Cmd_scene_entity_teleport_cs_req -> Pbrt.Encoder.int_as_varint 1471 encoder
  | Cmd_scene_group_refresh_sc_notify -> Pbrt.Encoder.int_as_varint 1402 encoder
  | Cmd_entity_bind_prop_sc_rsp -> Pbrt.Encoder.int_as_varint 1412 encoder
  | Cmd_update_floor_saved_value_notify -> Pbrt.Encoder.int_as_varint 1470 encoder
  | Cmd_set_cur_interact_entity_cs_req -> Pbrt.Encoder.int_as_varint 1484 encoder
  | Cmd_get_cur_scene_info_cs_req -> Pbrt.Encoder.int_as_varint 1439 encoder
  | Cmd_deactivate_farm_element_sc_rsp -> Pbrt.Encoder.int_as_varint 1467 encoder
  | Cmd_start_cocoon_stage_cs_req -> Pbrt.Encoder.int_as_varint 1445 encoder
  | Cmd_heal_pool_info_notify -> Pbrt.Encoder.int_as_varint 1459 encoder
  | Cmd_spring_recover_single_avatar_sc_rsp -> Pbrt.Encoder.int_as_varint 1441 encoder
  | Cmd_gameplay_counter_update_sc_notify -> Pbrt.Encoder.int_as_varint 1452 encoder
  | Cmd_set_cur_interact_entity_sc_rsp -> Pbrt.Encoder.int_as_varint 1423 encoder
  | Cmd_recover_all_lineup_sc_rsp -> Pbrt.Encoder.int_as_varint 1476 encoder
  | Cmd_update_mechanism_bar_sc_notify -> Pbrt.Encoder.int_as_varint 1431 encoder
  | Cmd_return_last_town_cs_req -> Pbrt.Encoder.int_as_varint 1417 encoder
  | Cmd_scene_cast_skill_cost_mp_sc_rsp -> Pbrt.Encoder.int_as_varint 1482 encoder
  | Cmd_entered_scene_change_sc_notify -> Pbrt.Encoder.int_as_varint 1455 encoder
  | Cmd_enter_section_sc_rsp -> Pbrt.Encoder.int_as_varint 1481 encoder
  | Cmd_get_unlock_teleport_cs_req -> Pbrt.Encoder.int_as_varint 1472 encoder
  | Cmd_set_client_paused_cs_req -> Pbrt.Encoder.int_as_varint 1430 encoder
  | Cmd_spring_recover_sc_rsp -> Pbrt.Encoder.int_as_varint 1447 encoder
  | Cmd_set_spring_recover_config_sc_rsp -> Pbrt.Encoder.int_as_varint 1453 encoder
  | Cmd_start_cocoon_stage_sc_rsp -> Pbrt.Encoder.int_as_varint 1466 encoder
  | Cmd_get_spring_recover_data_sc_rsp -> Pbrt.Encoder.int_as_varint 1485 encoder
  | Cmd_scene_entity_move_sc_rsp -> Pbrt.Encoder.int_as_varint 1406 encoder
  | Cmd_gameplay_counter_count_down_sc_rsp -> Pbrt.Encoder.int_as_varint 1479 encoder
  | Cmd_group_state_change_cs_req -> Pbrt.Encoder.int_as_varint 1491 encoder
  | Cmd_re_enter_last_element_stage_sc_rsp -> Pbrt.Encoder.int_as_varint 1421 encoder
  | Cmd_scene_entity_move_cs_req -> Pbrt.Encoder.int_as_varint 1468 encoder
  | Cmd_gameplay_counter_recover_sc_rsp -> Pbrt.Encoder.int_as_varint 1401 encoder
  | Cmd_start_timed_farm_element_cs_req -> Pbrt.Encoder.int_as_varint 1419 encoder
  | Cmd_start_timed_cocoon_stage_sc_rsp -> Pbrt.Encoder.int_as_varint 1474 encoder
  | Cmd_enter_scene_sc_rsp -> Pbrt.Encoder.int_as_varint 1442 encoder
  | Cmd_last_spring_refresh_time_notify -> Pbrt.Encoder.int_as_varint 1424 encoder
  | Cmd_get_cur_scene_info_sc_rsp -> Pbrt.Encoder.int_as_varint 1429 encoder
  | Cmd_scene_enter_stage_sc_rsp -> Pbrt.Encoder.int_as_varint 1428 encoder
  | Cmd_scene_revive_after_rebattle_sc_rsp -> Pbrt.Encoder.int_as_varint 1488 encoder
  | Cmd_enter_scene_cs_req -> Pbrt.Encoder.int_as_varint 1486 encoder
  | Cmd_interact_prop_sc_rsp -> Pbrt.Encoder.int_as_varint 1443 encoder
  | Cmd_entity_bind_prop_cs_req -> Pbrt.Encoder.int_as_varint 1446 encoder
  | Cmd_spring_recover_single_avatar_cs_req -> Pbrt.Encoder.int_as_varint 1407 encoder
  | Cmd_refresh_trigger_by_client_cs_req -> Pbrt.Encoder.int_as_varint 1463 encoder
  | Cmd_spring_refresh_sc_rsp -> Pbrt.Encoder.int_as_varint 1425 encoder
  | Cmd_spring_refresh_cs_req -> Pbrt.Encoder.int_as_varint 1498 encoder
  | Cmd_gameplay_counter_recover_cs_req -> Pbrt.Encoder.int_as_varint 1462 encoder
  | Cmd_delete_summon_unit_sc_rsp -> Pbrt.Encoder.int_as_varint 1437 encoder
  | Cmd_scene_enter_stage_cs_req -> Pbrt.Encoder.int_as_varint 1490 encoder
  | Cmd_get_unlock_teleport_sc_rsp -> Pbrt.Encoder.int_as_varint 1405 encoder
  | Cmd_unlocked_area_map_sc_notify -> Pbrt.Encoder.int_as_varint 1494 encoder
  | Cmd_recover_all_lineup_cs_req -> Pbrt.Encoder.int_as_varint 1478 encoder
  | Cmd_get_spring_recover_data_cs_req -> Pbrt.Encoder.int_as_varint 1440 encoder

let rec encode_pb_ifbkebonbne (v:ifbkebonbne) encoder =
  match v with
  | Scene_cast_skill_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Scene_cast_skill_projectile_hit -> Pbrt.Encoder.int_as_varint 1 encoder
  | Scene_cast_skill_projectile_lifetime_finish -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_gmpidmbmegf (v:gmpidmbmegf) encoder =
  match v with
  | Monster_battle_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Monster_battle_type_trigger_battle -> Pbrt.Encoder.int_as_varint 1 encoder
  | Monster_battle_type_direct_die_simulate_battle -> Pbrt.Encoder.int_as_varint 2 encoder
  | Monster_battle_type_direct_die_skip_battle -> Pbrt.Encoder.int_as_varint 3 encoder
  | Monster_battle_type_no_battle -> Pbrt.Encoder.int_as_varint 4 encoder

let rec encode_pb_ppleglfgepi (v:ppleglfgepi) encoder =
  match v with
  | Scene_entity_buff_change_type_default -> Pbrt.Encoder.int_as_varint (0) encoder
  | Scene_entity_buff_change_type_add_mazebuff -> Pbrt.Encoder.int_as_varint 1 encoder
  | Scene_entity_buff_change_type_add_adv_modifier -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_bddhbpgibjn (v:bddhbpgibjn) encoder =
  match v with
  | Enter_scene_reason_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Enter_scene_reason_challenge_timeout -> Pbrt.Encoder.int_as_varint 1 encoder
  | Enter_scene_reason_rogue_timeout -> Pbrt.Encoder.int_as_varint 2 encoder
  | Enter_scene_reason_change_storyline -> Pbrt.Encoder.int_as_varint 3 encoder
  | Enter_scene_reason_dimension_merge -> Pbrt.Encoder.int_as_varint 4 encoder

let rec encode_pb_poigoofgiac (v:poigoofgiac) encoder =
  match v with
  | Map_info_chest_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Map_info_chest_type_normal -> Pbrt.Encoder.int_as_varint 101 encoder
  | Map_info_chest_type_challenge -> Pbrt.Encoder.int_as_varint 102 encoder
  | Map_info_chest_type_puzzle -> Pbrt.Encoder.int_as_varint 104 encoder

let rec encode_pb_gonnolnjgnf (v:gonnolnjgnf) encoder =
  match v with
  | Gameplay_counter_update_reason_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Gameplay_counter_update_reason_activate -> Pbrt.Encoder.int_as_varint 1 encoder
  | Gameplay_counter_update_reason_deactivate -> Pbrt.Encoder.int_as_varint 2 encoder
  | Gameplay_counter_update_reason_change -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_agjnodchiak (v:agjnodchiak) encoder =
  match v with
  | Scene_group_refresh_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Scene_group_refresh_type_loaded -> Pbrt.Encoder.int_as_varint 1 encoder
  | Scene_group_refresh_type_unload -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_popgipmfhje (v:popgipmfhje) encoder = 
  Pbrt.Encoder.int32_as_varint v.ionhnkbbldj encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.value encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pmemfoppjaf (v:pmemfoppjaf) encoder = 
  Pbrt.Encoder.int32_as_varint v.map_layer encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  begin match v.jililehmdkg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_motion_info x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.phkkegggmdi encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.ccclmigdjkc encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mmddmljkjgi (v:mmddmljkjgi) encoder = 
  Pbrt.Encoder.int64_as_varint v.ihnakchicdm encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pmemfoppjaf x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.eicocoilool encoder;
  Pbrt.Encoder.int32_as_varint v.entry_id encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mkkfbnenhff (v:mkkfbnenhff) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_pmemfoppjaf x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.eicocoilool encoder;
  begin match v.download_data with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_client_download_data x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_gnmoicglmnh (v:gnmoicglmnh) encoder = 
  Pbrt.Encoder.int32_as_varint v.phkkegggmdi encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  begin match v.jililehmdkg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_motion_info x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.entry_id encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.micgnniimak encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kclfefmgigh (v:kclfefmgigh) encoder = 
  Pbrt.Encoder.int32_as_varint v.ggodlmaaigd encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lfmoildjodb (v:lfmoildjodb) encoder = 
  Pbrt.Encoder.int32_as_varint v.prop_entity_id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgneiojdpoa encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bgbelanblab (v:bgbelanblab) encoder = 
  Pbrt.Encoder.int32_as_varint v.prop_entity_id encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.prop_state encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kncjhglklbi (v:kncjhglklbi) encoder = 
  Pbrt.Encoder.int32_as_varint v.bifppcoboce encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  encode_pb_gmpidmbmegf v.cgoahpoehno encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jdffbhnheaf (v:jdffbhnheaf) encoder = 
  Pbrt.Encoder.float_as_bits32 v.value encoder;
  Pbrt.Encoder.key 3 Pbrt.Bits32 encoder; 
  Pbrt.Encoder.string v.pfmlckgckob encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_bkpjapjejhp (v:bkpjapjejhp) encoder = 
  Pbrt.Encoder.string v.ggogccbgofo encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    encode_pb_ifbkebonbne x encoder;
    Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ) v.jnpbpmkhoam encoder;
  Pbrt.Encoder.int32_as_varint v.egofdbhnple encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.gcnngeanccp encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ohainjgiflk encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jdffbhnheaf x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.dynamic_values encoder;
  begin match v.ihapfjkmcee with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_motion_info x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.gbhffcbgjoc encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mkfjacifjmc encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.skill_index encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_fnmhaajaaek x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.kapkegapokf encoder;
  ()

let rec encode_pb_iliogcgpcbf (v:iliogcgpcbf) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_kncjhglklbi x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ) v.bjlbgfejgfa encoder;
  Pbrt.Encoder.int32_as_varint v.gbhffcbgjoc encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_njbacjfllbk (v:njbacjfllbk) encoder = 
  Pbrt.Encoder.int32_as_varint v.egofdbhnple encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gbhffcbgjoc encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.skill_index encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mlpgejdgmcl (v:mlpgejdgmcl) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gbhffcbgjoc encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hhpdiameemj (v:hhpdiameemj) encoder = 
  Pbrt.Encoder.int32_as_varint v.gbhffcbgjoc encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hcoemhcfomn encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dmdppmebold (v:dmdppmebold) encoder = 
  Pbrt.Encoder.bool v.anhhbjmpmnl encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ohibnloihci encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  encode_pb_camlhbegnmo v.nnpfabenejo encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_aiglghmpbfo (v:aiglghmpbfo) encoder = 
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bblpbdkekmk (v:bblpbdkekmk) encoder = 
  encode_pb_camlhbegnmo v.nnpfabenejo encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dmhfnlkmmnf (v:dmhfnlkmmnf) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_get_cur_scene_info_cs_req (v:get_cur_scene_info_cs_req) encoder = 
()

let rec encode_pb_get_cur_scene_info_sc_rsp (v:get_cur_scene_info_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  begin match v.scene with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_info x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bgkdcahdijj (v:bgkdcahdijj) encoder = 
  encode_pb_ppleglfgepi v.mgdnainpahe encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  begin match v.kacgpkifjie with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ifdkgfigkgn x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.mklbafcpmpg encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.phkkegggmdi encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lhbjcbdmgij (v:lhbjcbdmgij) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_bgkdcahdijj x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.jmkhgpcnlmh encoder;
  ()

let rec encode_pb_mmkbjdonkbe (v:mmkbjdonkbe) encoder = 
  Pbrt.Encoder.int32_as_varint v.prop_entity_id encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.floor_id encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.plane_id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cblpcneeikp (v:cblpcneeikp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_eabcbfbinbf (v:eabcbfbinbf) encoder = 
  Pbrt.Encoder.int64_as_varint v.dabiabbbnhd encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gaplpnfndmi (v:gaplpnfndmi) encoder = 
()

let rec encode_pb_ncnclpbndjl (v:ncnclpbndjl) encoder = 
  begin match v.scene with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_info x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_abdkilpbdii (v:abdkilpbdii) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgkmoddpamj encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_njkicjcjjof (v:njkicjcjjof) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jcfdeoiocka (v:jcfdeoiocka) encoder = 
  Pbrt.Encoder.int32_as_varint v.phkkegggmdi encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jcaihcenlad (v:jcaihcenlad) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_iealhphddim (v:iealhphddim) encoder = 
()

let rec encode_pb_bfnlhhlpmka (v:bfnlhhlpmka) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_save_points_info_notify (v:save_points_info_notify) encoder = 
  Pbrt.Encoder.int64_as_varint v.refresh_time encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.valid_times encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_start_cocoon_stage_cs_req (v:start_cocoon_stage_cs_req) encoder = 
  Pbrt.Encoder.int32_as_varint v.wave encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.world_level encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.prop_entity_id encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cocoon_id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_start_cocoon_stage_sc_rsp (v:start_cocoon_stage_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.cocoon_id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.prop_entity_id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.wave encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  begin match v.battle_info with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hjdhemepacp (v:hjdhemepacp) encoder = 
  begin match v.jililehmdkg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_motion_info x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.bool v.jkoelhljkhd encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jcijkhcpjji (v:jcijkhcpjji) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_claiggdhaao (v:claiggdhaao) encoder = 
  Pbrt.Encoder.bool v.mkhhhhahgii encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_icaeiakdfcm (v:icaeiakdfcm) encoder = 
  Pbrt.Encoder.bool v.mkhhhhahgii encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ecfnfimfjgh (v:ecfnfimfjgh) encoder = 
  Pbrt.Encoder.int32_as_varint v.phkkegggmdi encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_oeiibhdgkcm (v:oeiibhdgkcm) encoder = 
  Pbrt.Encoder.int32_as_varint v.phkkegggmdi encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_edhfokfjifm (v:edhfokfjifm) encoder = 
  Pbrt.Encoder.int32_as_varint v.phkkegggmdi encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.world_level encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kbbjoklpdgf (v:kbbjoklpdgf) encoder = 
  Pbrt.Encoder.int32_as_varint v.phkkegggmdi encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.world_level encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dglpnoikfee (v:dglpnoikfee) encoder = 
  Pbrt.Encoder.int32_as_varint v.nlfonahakgb encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cmkmldlnmhm (v:cmkmldlnmhm) encoder = 
  Pbrt.Encoder.bool v.jebneocbboe encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jbaepeglfid encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_dglpnoikfee x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.bafopockgkh encoder;
  ()

let rec encode_pb_ajkldpekjda (v:ajkldpekjda) encoder = 
  Pbrt.Encoder.int64_as_varint v.cbclgknhnib encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nolemebkcmd encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_enogbmnbgoi (v:enogbmnbgoi) encoder = 
()

let rec encode_pb_dfjoaaggjeh (v:dfjoaaggjeh) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.klcicncmefe with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cmkmldlnmhm x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.dhpbnongbac with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ajkldpekjda x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_noilflmcfid (v:noilflmcfid) encoder = 
  begin match v.klcicncmefe with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cmkmldlnmhm x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_opfpniadbbh (v:opfpniadbbh) encoder = 
  begin match v.klcicncmefe with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cmkmldlnmhm x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fbhlohkcbli (v:fbhlohkcbli) encoder = 
  Pbrt.Encoder.int32_as_varint v.prop_entity_id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.floor_id encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.plane_id encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_spring_recover_sc_rsp (v:spring_recover_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  begin match v.heal_pool_info with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ajkldpekjda x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_nefmieonfmh (v:nefmieonfmh) encoder = 
  begin match v.dhpbnongbac with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ajkldpekjda x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_agpcckalmid (v:agpcckalmid) encoder = 
  Pbrt.Encoder.int32_as_varint v.prop_entity_id encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.floor_id encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.plane_id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.bopcmcgkedd encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_spring_recover_single_avatar_sc_rsp (v:spring_recover_single_avatar_sc_rsp) encoder = 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hp encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fmeoiomalgi (v:fmeoiomalgi) encoder = 
  Pbrt.Encoder.int32_as_varint v.plane_id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  begin match v.fccnkckpbjn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_popgipmfhje x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.floor_id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pejpeakhfhj (v:pejpeakhfhj) encoder = 
  Pbrt.Encoder.int32_as_varint v.entry_id encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.jbdgkicnbfa encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_onadjaenglm (v:onadjaenglm) encoder = 
  Pbrt.Encoder.int32_as_varint v.entry_id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mbkpbgbfinl (v:mbkpbgbfinl) encoder = 
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_goeginnoefe (v:goeginnoefe) encoder = 
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_okgogolibcg (v:okgogolibcg) encoder = 
  begin match v.mdnkifallep with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pmemfoppjaf x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.entry_id encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_haikklmpfhp (v:haikklmpfhp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.micgnniimak encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.mdnkifallep with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pmemfoppjaf x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_kfkniojkagj (v:kfkniojkagj) encoder = 
  Pbrt.Encoder.int32_as_varint v.nfcojigifbb encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ijnpccndcgi encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.entry_id encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.klgdfdlhelh encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.eclblfpbjlf encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pggcmoobcpd (v:pggcmoobcpd) encoder = 
  Pbrt.Encoder.bool v.dngkkklpnjc encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.eclblfpbjlf encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nfcojigifbb encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ijnpccndcgi encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bfknfaajlik (v:bfknfaajlik) encoder = 
  begin match v.lineup with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lineup_info x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  encode_pb_bddhbpgibjn v.mgdnainpahe encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  begin match v.scene with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_info x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hdacikpcknf (v:hdacikpcknf) encoder = 
  begin match v.mknfcmflagf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.donbbmfeogl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.gffofnglfgm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.kkbnigjgnlg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_dngikkglnie (v:dngikkglnie) encoder = 
  Pbrt.Encoder.int32_as_varint v.nfcojigifbb encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cjkoijlahho encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.edpaljjjgki encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ojcmolaapaf encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_egafcnjjgni (v:egafcnjjgni) encoder = 
  Pbrt.Encoder.int32_as_varint v.pfbnanpcdjh encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.state encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kddobjmfahm (v:kddobjmfahm) encoder = 
  Pbrt.Encoder.bool v.hllognagalg encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.llgcclalmmi encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.didcplpbndg encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_nhofdkfidee (v:nhofdkfidee) encoder = 
  encode_pb_poigoofgiac v.dpdgioeelfc encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jlbogmgmpmj encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hmjcmhjjlaf encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mdpnliodapd (v:mdpnliodapd) encoder = 
  Pbrt.Encoder.int32_as_varint v.aalknkbcjkm encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ocfjgocmiem encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fgmdoekgpee encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kbpkfjbeilj (v:kbpkfjbeilj) encoder = 
  let encode_key = Pbrt.Encoder.string in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.int32_as_varint x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Bytes), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.cbphphopofk encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.fmblfbddmgi encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_kddobjmfahm x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.eaeoionfehm encoder;
  Pbrt.Encoder.int32_as_varint v.entry_id encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_nhofdkfidee x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.ligbjpkffdg encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.mogndfkhapd encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.kpbfldbadan encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cjkoijlahho encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mdpnliodapd x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.bnmdbicanbn encoder;
  Pbrt.Encoder.int32_as_varint v.mdkmdbibnae encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_egafcnjjgni x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.hcllineafkm encoder;
  Pbrt.Encoder.int32_as_varint v.nfcojigifbb encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_anjofnkhlfp (v:anjofnkhlfp) encoder = 
  Pbrt.Encoder.bool v.edpaljjjgki encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_kbpkfjbeilj x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.mdfplnoljnf encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gninhljadoj (v:gninhljadoj) encoder = 
()

let rec encode_pb_ialhacijhac (v:ialhacijhac) encoder = 
  Pbrt.Encoder.int32_as_varint v.fomcmdmpdcg encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.aopeodgodff encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dmkebfhjljj (v:dmkebfhjljj) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cdcmmopccai (v:cdcmmopccai) encoder = 
  encode_pb_gonnolnjgnf v.mgdnainpahe encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.aopeodgodff encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hohagdafjih encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lipmdimfnak (v:lipmdimfnak) encoder = 
  Pbrt.Encoder.int32_as_varint v.aopeodgodff encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.paiihddnnjg encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lneeenlhdnn (v:lneeenlhdnn) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mfljhhpaccd (v:mfljhhpaccd) encoder = 
  let encode_key = Pbrt.Encoder.string in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.int32_as_varint x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Bytes), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.fgiifgkokak encoder;
  ()

let rec encode_pb_odoaidcdjoj (v:odoaidcdjoj) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ojcmolaapaf encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_impbiacohfd (v:impbiacohfd) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.fmblfbddmgi encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_gcnpnnobhko (v:gcnpnnobhko) encoder = 
  begin match v.mjpchdidahj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_entity_info x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.cffpbnfgmmj encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.klmchlokeho encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ceafkhfcdif (v:ceafkhfcdif) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_gcnpnnobhko x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.ogcjllmfnob encoder;
  encode_pb_agjnodchiak v.iehhofifjfo encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.state encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_iolnbeiolkh (v:iolnbeiolkh) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ceafkhfcdif x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.hgocilongbl encoder;
  ()

let rec encode_pb_iggijbjppoc (v:iggijbjppoc) encoder = 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.entry_id encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.nfbjlfcfijo encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ihhhgodkjep encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ngkpjjcampj (v:ngkpjjcampj) encoder = 
  begin match v.podpafooomg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_iggijbjppoc x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_nohhghgiajp (v:nohhghgiajp) encoder = 
  begin match v.podpafooomg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_iggijbjppoc x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fefkpkpanml (v:fefkpkpanml) encoder = 
  begin match v.podpafooomg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_iggijbjppoc x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_gfjappjdmnb (v:gfjappjdmnb) encoder = 
  Pbrt.Encoder.int32_as_varint v.plane_id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.floor_id encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_geomcaafdmf (v:geomcaafdmf) encoder = 
()

let rec encode_pb_ikdmhhahhno (v:ikdmhhahhno) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_gfjappjdmnb x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.eljgieonbde encoder;
  ()

let rec encode_pb_lfacadlnjod (v:lfacadlnjod) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_gfjappjdmnb x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.eljgieonbde encoder;
  ()

let rec encode_pb_ebjolkoihmc (v:ebjolkoihmc) encoder = 
  Pbrt.Encoder.string v.jjpkngpgmci encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.iapjdabceeh encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  begin match v.cdgihicglml with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_motion_info x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.cblnijmlgch encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_pkhccikoidf (v:pkhccikoidf) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.iapjdabceeh encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.jjpkngpgmci encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.gkobfcianlo encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gndplhdfmpj (v:gndplhdfmpj) encoder = 
  Pbrt.Encoder.int32_as_varint v.iapjdabceeh encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.cblnijmlgch encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.string v.jjpkngpgmci encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_dbmebneafkh (v:dbmebneafkh) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.bcbhaghfmhl encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_lhphdmehbjk (v:lhphdmehbjk) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.bcbhaghfmhl encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_aliilpfckfp (v:aliilpfckfp) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ojcmolaapaf encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_cbfgfkjfgmk (v:cbfgfkjfgmk) encoder = 
  Pbrt.Encoder.int32_as_varint v.cocoon_id encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.wave encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.world_level encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bcdijdennhg (v:bcdijdennhg) encoder = 
  Pbrt.Encoder.int32_as_varint v.wave encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.cocoon_id encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cmipadfnpch (v:cmipadfnpch) encoder = 
  Pbrt.Encoder.int32_as_varint v.world_level encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hflfdkpgbaf encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pinooogpjcp (v:pinooogpjcp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.hflfdkpgbaf encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.world_level encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jnmofmlpiga (v:jnmofmlpiga) encoder = 
  Pbrt.Encoder.int32_as_varint v.klgdfdlhelh encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.entry_id encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ckemiclfafc (v:ckemiclfafc) encoder =
  match v with
  | Cmd_server_prefs_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_get_server_prefs_data_cs_req -> Pbrt.Encoder.int_as_varint 6111 encoder
  | Cmd_update_server_prefs_data_cs_req -> Pbrt.Encoder.int_as_varint 6156 encoder
  | Cmd_update_server_prefs_data_sc_rsp -> Pbrt.Encoder.int_as_varint 6193 encoder
  | Cmd_get_all_server_prefs_data_cs_req -> Pbrt.Encoder.int_as_varint 6168 encoder
  | Cmd_get_server_prefs_data_sc_rsp -> Pbrt.Encoder.int_as_varint 6143 encoder
  | Cmd_get_all_server_prefs_data_sc_rsp -> Pbrt.Encoder.int_as_varint 6106 encoder

let rec encode_pb_jgcbdioneib (v:jgcbdioneib) encoder = 
  Pbrt.Encoder.int32_as_varint v.aafghffligc encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.bytes v.data encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_olhefkbfbmo (v:olhefkbfbmo) encoder = 
()

let rec encode_pb_kiljclofdpc (v:kiljclofdpc) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jgcbdioneib x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.cbonjopecdo encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jmmodkjhodb (v:jmmodkjhodb) encoder = 
  Pbrt.Encoder.int32_as_varint v.aafghffligc encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_akakmafmdll (v:akakmafmdll) encoder = 
  begin match v.onojjkcgnno with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jgcbdioneib x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fcakjbgdhpj (v:fcakjbgdhpj) encoder = 
  begin match v.onojjkcgnno with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jgcbdioneib x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_cachhkldamk (v:cachhkldamk) encoder = 
  Pbrt.Encoder.int32_as_varint v.aafghffligc encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ofbdkllgbmh (v:ofbdkllgbmh) encoder =
  match v with
  | Cmd_shop_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_take_city_shop_reward_cs_req -> Pbrt.Encoder.int_as_varint 1556 encoder
  | Cmd_city_shop_info_sc_notify -> Pbrt.Encoder.int_as_varint 1539 encoder
  | Cmd_buy_goods_sc_rsp -> Pbrt.Encoder.int_as_varint 1543 encoder
  | Cmd_get_shop_list_cs_req -> Pbrt.Encoder.int_as_varint 1568 encoder
  | Cmd_get_shop_list_sc_rsp -> Pbrt.Encoder.int_as_varint 1506 encoder
  | Cmd_buy_goods_cs_req -> Pbrt.Encoder.int_as_varint 1511 encoder
  | Cmd_take_city_shop_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 1593 encoder

let rec encode_pb_goods (v:goods) encoder = 
  Pbrt.Encoder.int32_as_varint v.item_id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.goods_id encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.begin_time encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.end_time encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.buy_times encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_shop (v:shop) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_goods x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.goods_list encoder;
  Pbrt.Encoder.int64_as_varint v.end_time encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.city_exp encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.begin_time encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.city_taken_level_reward encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.shop_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.city_level encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_eldffdimhfb (v:eldffdimhfb) encoder = 
  Pbrt.Encoder.int32_as_varint v.bkiegfkjheo encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_get_shop_list_sc_rsp (v:get_shop_list_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_shop x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.shop_list encoder;
  Pbrt.Encoder.int32_as_varint v.shop_type encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hklehcgbkod (v:hklehcgbkod) encoder = 
  Pbrt.Encoder.int32_as_varint v.fgohomljegm encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bfbjhchbplg encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ififlmjnmdk encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.idcigdfjabi encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_buy_goods_sc_rsp (v:buy_goods_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.goods_id encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.goods_buy_times encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  begin match v.return_item_list with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.shop_id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cdhdahieeeb (v:cdhdahieeeb) encoder = 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fgohomljegm encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_take_city_shop_reward_sc_rsp (v:take_city_shop_reward_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.shop_id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_city_shop_info_sc_notify (v:city_shop_info_sc_notify) encoder = 
  Pbrt.Encoder.int32_as_varint v.shop_id encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.exp encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.taken_level_reward encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gilfkecddmc (v:gilfkecddmc) encoder =
  match v with
  | Cmd_space_zoo_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_space_zoo_exchange_item_cs_req -> Pbrt.Encoder.int_as_varint 6754 encoder
  | Cmd_space_zoo_delete_cat_cs_req -> Pbrt.Encoder.int_as_varint 6751 encoder
  | Cmd_space_zoo_take_cs_req -> Pbrt.Encoder.int_as_varint 6748 encoder
  | Cmd_space_zoo_take_sc_rsp -> Pbrt.Encoder.int_as_varint 6782 encoder
  | Cmd_space_zoo_mutate_cs_req -> Pbrt.Encoder.int_as_varint 6756 encoder
  | Cmd_space_zoo_mutate_sc_rsp -> Pbrt.Encoder.int_as_varint 6793 encoder
  | Cmd_space_zoo_born_sc_rsp -> Pbrt.Encoder.int_as_varint 6743 encoder
  | Cmd_space_zoo_data_cs_req -> Pbrt.Encoder.int_as_varint 6768 encoder
  | Cmd_space_zoo_op_cattery_cs_req -> Pbrt.Encoder.int_as_varint 6739 encoder
  | Cmd_space_zoo_born_cs_req -> Pbrt.Encoder.int_as_varint 6711 encoder
  | Cmd_space_zoo_exchange_item_sc_rsp -> Pbrt.Encoder.int_as_varint 6765 encoder
  | Cmd_space_zoo_op_cattery_sc_rsp -> Pbrt.Encoder.int_as_varint 6729 encoder
  | Cmd_space_zoo_data_sc_rsp -> Pbrt.Encoder.int_as_varint 6706 encoder
  | Cmd_space_zoo_cat_update_notify -> Pbrt.Encoder.int_as_varint 6799 encoder
  | Cmd_space_zoo_delete_cat_sc_rsp -> Pbrt.Encoder.int_as_varint 6733 encoder

let rec encode_pb_cnlooddmfgf (v:cnlooddmfgf) encoder = 
  Pbrt.Encoder.int32_as_varint v.onppolklhlo encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.pdpfcfglgco encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.djjmhikpmjl encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.noeblakanjk encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.unique_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.mljedmgclmd encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dddldidlfaf (v:dddldidlfaf) encoder = 
  Pbrt.Encoder.int32_as_varint v.denpgbgmcaa encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.onppolklhlo encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bheiifaflda (v:bheiifaflda) encoder = 
()

let rec encode_pb_cegbkojghag (v:cegbkojghag) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.kajmafehicc encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_dddldidlfaf x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.nbijkgoknob encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_cnlooddmfgf x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.cnjokhoofkk encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.nmmofimpcko encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.cmbjdeolkmj encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.mhceoilgmca encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ofofbdcmmgd encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.gmddehifoaf encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_ohhockpilao (v:ohhockpilao) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.kmehfinblhe encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.goppphjombl encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jdpnjbnanji (v:jdpnjbnanji) encoder = 
  Pbrt.Encoder.bool v.pinmacpefgd encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_dddldidlfaf x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.lcjfgcdbgim encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.mhndbenogid with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cnlooddmfgf x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ccpnhkllkfl (v:ccpnhkllkfl) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.unique_id encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bhheidaoold (v:bhheidaoold) encoder = 
  begin match v.odklnlidcfj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cnlooddmfgf x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_dddldidlfaf x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.lcjfgcdbgim encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.pinmacpefgd encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lihfhopeipf (v:lihfhopeipf) encoder = 
  Pbrt.Encoder.int32_as_varint v.kcefcohkanf encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bbdcjpocecg encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.op_type encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_naodjnndgkp (v:naodjnndgkp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.gmddehifoaf encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_hjkhdlnkajb (v:hjkhdlnkajb) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.bjgpgojakoo encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_gcpdecnpflh (v:gcpdecnpflh) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.npfgpoiinha encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_llleahfmcmh (v:llleahfmcmh) encoder = 
  Pbrt.Encoder.bool v.hfioieaclph encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.pinmacpefgd encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_cnlooddmfgf x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.namngacmioe encoder;
  ()

let rec encode_pb_fenjjehochb (v:fenjjehochb) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_opjmmjidgjh (v:opjmmjidgjh) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ghkhmcebggb (v:ghkhmcebggb) encoder = 
  Pbrt.Encoder.int32_as_varint v.obdgbookelm encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ekbiohgpkbg (v:ekbiohgpkbg) encoder = 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.obdgbookelm encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mamfcgkifkh (v:mamfcgkifkh) encoder =
  match v with
  | Cmd_star_fight_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_start_star_fight_level_sc_rsp -> Pbrt.Encoder.int_as_varint 7170 encoder
  | Cmd_get_star_fight_data_sc_rsp -> Pbrt.Encoder.int_as_varint 7164 encoder
  | Cmd_get_star_fight_data_cs_req -> Pbrt.Encoder.int_as_varint 7161 encoder
  | Cmd_start_star_fight_level_cs_req -> Pbrt.Encoder.int_as_varint 7169 encoder
  | Cmd_star_fight_data_change_notify -> Pbrt.Encoder.int_as_varint 7162 encoder

let rec encode_pb_aneollgbcci (v:aneollgbcci) encoder = 
  Pbrt.Encoder.int32_as_varint v.hnhnaaliflo encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.iidfjhpdkmn encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cdigdpfegic encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.mkbhpjnpekj encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kkhfkjhddnk (v:kkhfkjhddnk) encoder = 
()

let rec encode_pb_oeaacljemca (v:oeaacljemca) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_aneollgbcci x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.emfamjcdggh encoder;
  ()

let rec encode_pb_oodgaoipjjn (v:oodgaoipjjn) encoder = 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_njdbokodjbe (v:njdbokodjbe) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_oodgaoipjjn x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.avatar_list encoder;
  Pbrt.Encoder.int32_as_varint v.odgoeojelah encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fpjdldlikmj (v:fpjdldlikmj) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.odgoeojelah encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_adjidagpfff (v:adjidagpfff) encoder = 
  begin match v.jhkemkimlgi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_aneollgbcci x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_djojglgfkhc (v:djojglgfkhc) encoder =
  match v with
  | Cmd_story_line_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_story_line_trial_avatar_change_sc_notify -> Pbrt.Encoder.int_as_varint 6239 encoder
  | Cmd_get_story_line_info_sc_rsp -> Pbrt.Encoder.int_as_varint 6206 encoder
  | Cmd_story_line_info_sc_notify -> Pbrt.Encoder.int_as_varint 6211 encoder
  | Cmd_change_story_line_finish_sc_notify -> Pbrt.Encoder.int_as_varint 6293 encoder
  | Cmd_get_story_line_info_cs_req -> Pbrt.Encoder.int_as_varint 6268 encoder

let rec encode_pb_kndiidhnfel (v:kndiidhnfel) encoder =
  match v with
  | Change_story_line_action_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Change_story_line_action_finish_action -> Pbrt.Encoder.int_as_varint 1 encoder
  | Change_story_line_action_client -> Pbrt.Encoder.int_as_varint 2 encoder
  | Change_story_line_action_custom_op -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_jloogcmomgm (v:jloogcmomgm) encoder = 
()

let rec encode_pb_mpbmbeajjck (v:mpbmbeajjck) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.okhflbihfhm encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.iiabgecpafd encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.flchlighbkm encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_gnjjdhmcdib (v:gnjjdhmcdib) encoder = 
  Pbrt.Encoder.int32_as_varint v.iiabgecpafd encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.flchlighbkm encoder;
  Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.okhflbihfhm encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_ggglmgmblmb (v:ggglmgmblmb) encoder = 
  Pbrt.Encoder.int32_as_varint v.iiabgecpafd encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kkdinpdmodn encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  encode_pb_kndiidhnfel v.cfjdmlpfdoc encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_impfkfgcigd (v:impfkfgcigd) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ljbibineljp encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ccnkclcogmc encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_amkkcfcfijl (v:amkkcfcfijl) encoder =
  match v with
  | Cmd_strong_challenge_activity_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_get_strong_challenge_activity_data_cs_req -> Pbrt.Encoder.int_as_varint 6668 encoder
  | Cmd_strong_challenge_activity_battle_end_sc_notify -> Pbrt.Encoder.int_as_varint 6656 encoder
  | Cmd_enter_strong_challenge_activity_stage_sc_rsp -> Pbrt.Encoder.int_as_varint 6643 encoder
  | Cmd_enter_strong_challenge_activity_stage_cs_req -> Pbrt.Encoder.int_as_varint 6611 encoder
  | Cmd_get_strong_challenge_activity_data_sc_rsp -> Pbrt.Encoder.int_as_varint 6606 encoder

let rec encode_pb_strong_challenge_avatar (v:strong_challenge_avatar) encoder = 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_iephmhedddd (v:iephmhedddd) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_strong_challenge_avatar x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.avatar_list encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.buff_list encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_dgmbccdmfio (v:dgmbccdmfio) encoder = 
  Pbrt.Encoder.int32_as_varint v.gakmanenkmh encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dcjapmiemfg encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.eijcednnlih with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_iephmhedddd x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fjlnncjahng encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hokldgknmmd (v:hokldgknmmd) encoder = 
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.nested encode_pb_dgmbccdmfio x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Bytes) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.beafdhnmifn encoder;
  ()

let rec encode_pb_ldfgdgpoceb (v:ldfgdgpoceb) encoder = 
()

let rec encode_pb_oggoadohmfl (v:oggoadohmfl) encoder = 
  begin match v.pbjndhogpeh with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_hokldgknmmd x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_oealnplnfjf (v:oealnplnfjf) encoder = 
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_strong_challenge_avatar x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.avatar_list encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.buff_list encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_ecidbkaabdp (v:ecidbkaabdp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gaaiadienkl (v:gaaiadienkl) encoder = 
  Pbrt.Encoder.int32_as_varint v.kaijilgbjlc encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lpgaoolbbfm encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gakmanenkmh encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.iklhngoamga encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fcadgcfhlce encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.inncjmgfgip encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  encode_pb_battle_end_status v.end_status encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_obmecpmopph (v:obmecpmopph) encoder =
  match v with
  | Cmd_summon_activity_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_get_summon_activity_data_sc_rsp -> Pbrt.Encoder.int_as_varint 7564 encoder
  | Cmd_get_summon_activity_data_cs_req -> Pbrt.Encoder.int_as_varint 7561 encoder
  | Cmd_enter_summon_activity_stage_cs_req -> Pbrt.Encoder.int_as_varint 7569 encoder
  | Cmd_summon_activity_battle_end_sc_notify -> Pbrt.Encoder.int_as_varint 7562 encoder
  | Cmd_enter_summon_activity_stage_sc_rsp -> Pbrt.Encoder.int_as_varint 7570 encoder

let rec encode_pb_mnbmoppbcoo (v:mnbmoppbcoo) encoder = 
  Pbrt.Encoder.int32_as_varint v.pamafmppefi encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.odgoeojelah encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jfbafnlfkfc (v:jfbafnlfkfc) encoder = 
()

let rec encode_pb_ahghhhilcgm (v:ahghhhilcgm) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mnbmoppbcoo x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.jgdennmdfko encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ldpldodnfph (v:ldpldodnfph) encoder = 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hgbifppeoia (v:hgbifppeoia) encoder = 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ldpldodnfph x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.avatar_list encoder;
  begin match v.nknmlnkcpil with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ldpldodnfph x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.odgoeojelah encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bdpdhkbeikg (v:bdpdhkbeikg) encoder = 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.odgoeojelah encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nmcdhgllhnb (v:nmcdhgllhnb) encoder = 
  Pbrt.Encoder.int32_as_varint v.pamafmppefi encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.odgoeojelah encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.foflcmnhakn encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mpiejkaoeep (v:mpiejkaoeep) encoder =
  match v with
  | Cmd_sword_training_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_sword_training_set_skill_trace_sc_rsp -> Pbrt.Encoder.int_as_varint 7494 encoder
  | Cmd_sword_training_game_sync_change_sc_notify -> Pbrt.Encoder.int_as_varint 7457 encoder
  | Cmd_sword_training_mark_ending_viewed_sc_rsp -> Pbrt.Encoder.int_as_varint 7468 encoder
  | Cmd_sword_training_exam_result_confirm_sc_rsp -> Pbrt.Encoder.int_as_varint 7478 encoder
  | Cmd_sword_training_unlock_sync_sc_notify -> Pbrt.Encoder.int_as_varint 7481 encoder
  | Cmd_sword_training_story_confirm_sc_rsp -> Pbrt.Encoder.int_as_varint 7475 encoder
  | Cmd_sword_training_turn_action_cs_req -> Pbrt.Encoder.int_as_varint 7467 encoder
  | Cmd_enter_sword_training_exam_cs_req -> Pbrt.Encoder.int_as_varint 7462 encoder
  | Cmd_sword_training_turn_action_sc_rsp -> Pbrt.Encoder.int_as_varint 7461 encoder
  | Cmd_sword_training_restore_game_sc_rsp -> Pbrt.Encoder.int_as_varint 7496 encoder
  | Cmd_sword_training_learn_skill_cs_req -> Pbrt.Encoder.int_as_varint 7455 encoder
  | Cmd_enter_sword_training_exam_sc_rsp -> Pbrt.Encoder.int_as_varint 7489 encoder
  | Cmd_sword_training_exam_result_confirm_cs_req -> Pbrt.Encoder.int_as_varint 7464 encoder
  | Cmd_sword_training_restore_game_cs_req -> Pbrt.Encoder.int_as_varint 7491 encoder
  | Cmd_get_sword_training_data_cs_req -> Pbrt.Encoder.int_as_varint 7474 encoder
  | Cmd_sword_training_dialogue_select_option_sc_rsp -> Pbrt.Encoder.int_as_varint 7484 encoder
  | Cmd_sword_training_give_up_game_sc_rsp -> Pbrt.Encoder.int_as_varint 7493 encoder
  | Cmd_sword_training_resume_game_sc_rsp -> Pbrt.Encoder.int_as_varint 7497 encoder
  | Cmd_sword_training_game_settle_sc_notify -> Pbrt.Encoder.int_as_varint 7499 encoder
  | Cmd_sword_training_mark_ending_viewed_cs_req -> Pbrt.Encoder.int_as_varint 7459 encoder
  | Cmd_sword_training_dialogue_select_option_cs_req -> Pbrt.Encoder.int_as_varint 7454 encoder
  | Cmd_sword_training_start_game_sc_rsp -> Pbrt.Encoder.int_as_varint 7453 encoder
  | Cmd_sword_training_story_battle_sc_rsp -> Pbrt.Encoder.int_as_varint 7452 encoder
  | Cmd_sword_training_set_skill_trace_cs_req -> Pbrt.Encoder.int_as_varint 7460 encoder
  | Cmd_sword_training_learn_skill_sc_rsp -> Pbrt.Encoder.int_as_varint 7498 encoder
  | Cmd_sword_training_action_turn_settle_sc_notify -> Pbrt.Encoder.int_as_varint 7479 encoder
  | Cmd_sword_training_daily_phase_confirm_cs_req -> Pbrt.Encoder.int_as_varint 7458 encoder
  | Cmd_sword_training_select_ending_sc_rsp -> Pbrt.Encoder.int_as_varint 7488 encoder
  | Cmd_sword_training_daily_phase_confirm_sc_rsp -> Pbrt.Encoder.int_as_varint 7473 encoder
  | Cmd_sword_training_story_battle_cs_req -> Pbrt.Encoder.int_as_varint 7490 encoder
  | Cmd_sword_training_give_up_game_cs_req -> Pbrt.Encoder.int_as_varint 7483 encoder
  | Cmd_sword_training_start_game_cs_req -> Pbrt.Encoder.int_as_varint 7471 encoder
  | Cmd_sword_training_select_ending_cs_req -> Pbrt.Encoder.int_as_varint 7463 encoder
  | Cmd_get_sword_training_data_sc_rsp -> Pbrt.Encoder.int_as_varint 7465 encoder
  | Cmd_sword_training_story_confirm_cs_req -> Pbrt.Encoder.int_as_varint 7485 encoder
  | Cmd_sword_training_resume_game_cs_req -> Pbrt.Encoder.int_as_varint 7469 encoder

let rec encode_pb_nmabognbiph (v:nmabognbiph) encoder =
  match v with
  | Sword_train_game_source_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Sword_train_game_source_type_turn_settle -> Pbrt.Encoder.int_as_varint 1 encoder
  | Sword_train_game_source_type_status_upgrade -> Pbrt.Encoder.int_as_varint 2 encoder
  | Sword_train_game_source_type_action -> Pbrt.Encoder.int_as_varint 3 encoder
  | Sword_train_game_source_type_action_hint -> Pbrt.Encoder.int_as_varint 4 encoder
  | Sword_train_game_source_type_story -> Pbrt.Encoder.int_as_varint 5 encoder
  | Sword_train_game_source_type_exam_bonus -> Pbrt.Encoder.int_as_varint 6 encoder
  | Sword_train_game_source_type_dialogue -> Pbrt.Encoder.int_as_varint 7 encoder

let rec encode_pb_kkigfnbambb (v:kkigfnbambb) encoder =
  match v with
  | Sword_training_daily_phase_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Sword_training_daily_phase_type_morning -> Pbrt.Encoder.int_as_varint 1 encoder
  | Sword_training_daily_phase_type_noon -> Pbrt.Encoder.int_as_varint 2 encoder
  | Sword_training_daily_phase_type_afternoon -> Pbrt.Encoder.int_as_varint 3 encoder
  | Sword_training_daily_phase_type_evening -> Pbrt.Encoder.int_as_varint 4 encoder

let rec encode_pb_ehamhholmlo (v:ehamhholmlo) encoder =
  match v with
  | Sword_training_status_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Sword_training_status_type_power -> Pbrt.Encoder.int_as_varint 1 encoder
  | Sword_training_status_type_agility -> Pbrt.Encoder.int_as_varint 2 encoder
  | Sword_training_status_type_toughness -> Pbrt.Encoder.int_as_varint 3 encoder
  | Sword_training_status_type_perception -> Pbrt.Encoder.int_as_varint 4 encoder
  | P_sword_training_status_type_max -> Pbrt.Encoder.int_as_varint 5 encoder

let rec encode_pb_depohhphajh (v:depohhphajh) encoder =
  match v with
  | Sword_training_game_settle_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Sword_training_game_settle_finish -> Pbrt.Encoder.int_as_varint 1 encoder
  | Sword_training_game_settle_give_up -> Pbrt.Encoder.int_as_varint 2 encoder
  | Sword_training_game_settle_battle_failed -> Pbrt.Encoder.int_as_varint 3 encoder
  | Sword_training_game_settle_force -> Pbrt.Encoder.int_as_varint 4 encoder
  | Sword_training_game_settle_by_restore -> Pbrt.Encoder.int_as_varint 5 encoder

let rec encode_pb_pnkhecjaaoi (v:pnkhecjaaoi) encoder = 
()

let rec encode_pb_ephhcckomlk (v:ephhcckomlk) encoder = 
()

let rec encode_pb_nfekediapge (v:nfekediapge) encoder = 
  Pbrt.Encoder.int32_as_varint v.joeicfcdnem encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_infppjcemha (v:infppjcemha) encoder = 
()

let rec encode_pb_mihpphicnih (v:mihpphicnih) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgpelgifadf encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.cmjoambdell encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_onjhnhikeoc (v:onjhnhikeoc) encoder = 
()

let rec encode_pb_dnokdemkpli (v:dnokdemkpli) encoder = 
()

let rec encode_pb_cbgnjfgbgee (v:cbgnjfgbgee) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgpelgifadf encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.pabpdlekjcp encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_blbpcmemjnc (v:blbpcmemjnc) encoder = 
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  begin match v.hckfijnmehb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_nfekediapge x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  begin match v.ahfnfkkihaj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mihpphicnih x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  begin match v.npmjgigdmag with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cbgnjfgbgee x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_ofkendbkcbl (v:ofkendbkcbl) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.megpbceegbg encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.ijnpccndcgi encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ienjhcggjig (v:ienjhcggjig) encoder = 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ocnjbebhbgo encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fhmhhefpgin (v:fhmhhefpgin) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ienjhcggjig x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.nhpllohnnpa encoder;
  ()

let rec encode_pb_gmmbihcfkoj (v:gmmbihcfkoj) encoder = 
  Pbrt.Encoder.int32_as_varint v.value encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  encode_pb_ehamhholmlo v.cpnkdpcablk encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cnifagkeclj (v:cnifagkeclj) encoder = 
  Pbrt.Encoder.int32_as_varint v.fjeencfpjph encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gmoccampfnk encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_gmmbihcfkoj x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.bndfcikelgn encoder;
  ()

let rec encode_pb_cggmebdeebe (v:cggmebdeebe) encoder = 
  Pbrt.Encoder.int32_as_varint v.begkgjcmjkh encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hccjhiilppi encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dfnhmidnfih (v:dfnhmidnfih) encoder = 
  encode_pb_kkigfnbambb v.jijilpikghc encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_cggmebdeebe x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.kekabacindh encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.mibpnbjglgc encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_gfkifjlgbji (v:gfkifjlgbji) encoder = 
  Pbrt.Encoder.int32_as_varint v.bddndfifhog encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gkjmkhadbhm (v:gkjmkhadbhm) encoder = 
  Pbrt.Encoder.int32_as_varint v.mamcoaebgbi encoder;
  Pbrt.Encoder.key 1325 Pbrt.Varint encoder; 
  begin match v.mldigofchdf with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dfnhmidnfih x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.hoihjilfgna with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gfkifjlgbji x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_anmohklghla (v:anmohklghla) encoder = 
  Pbrt.Encoder.int32_as_varint v.plpebgdmkbo encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hjmjbiijegj encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.jcodcgklojn encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_lekclmamabb (v:lekclmamabb) encoder = 
  begin match v.lfleifodebe with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_blbpcmemjnc x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.likjgjnclen with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_ofkendbkcbl x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.jfbodfkjcdl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_fhmhhefpgin x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.pbgelhmjcoa with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cnifagkeclj x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.mjldomhofmk encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.hbnoljogigk encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  begin match v.kphnlieefmi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gkjmkhadbhm x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.hhapkchnbea with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_anmohklghla x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_aeamblofmpi (v:aeamblofmpi) encoder = 
  encode_pb_ehamhholmlo v.cpnkdpcablk encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dhchppbnfeg encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dcedopcicik encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_iogbidfkhpm (v:iogbidfkhpm) encoder = 
  Pbrt.Encoder.int32_as_varint v.dhchppbnfeg encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dcedopcicik encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bbcapkmgaea (v:bbcapkmgaea) encoder = 
  Pbrt.Encoder.int32_as_varint v.level encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ocnjbebhbgo encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fmpkgkkeelb encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_caiajmhebpe (v:caiajmhebpe) encoder = 
  Pbrt.Encoder.int32_as_varint v.hbnoljogigk encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  begin match v.ppgoielepbp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gkjmkhadbhm x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_lpdohkmgbfm (v:lpdohkmgbfm) encoder = 
  Pbrt.Encoder.int32_as_varint v.joeicfcdnem encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_piknebbjogb (v:piknebbjogb) encoder = 
  begin match v.geplglcbnpd with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_aeamblofmpi x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.bkkmplogidp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_iogbidfkhpm x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.nljpopadalj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_iogbidfkhpm x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.cfjdpnoebmc with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bbcapkmgaea x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.doipafkjfhh with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_caiajmhebpe x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.agmonjkadfn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mihpphicnih x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.kfgeokefamb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lpdohkmgbfm x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.adbgcdehnln encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fjeencfpjph encoder;
  Pbrt.Encoder.key 1519 Pbrt.Varint encoder; 
  begin match v.aimpielkcep with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cbgnjfgbgee x encoder;
    Pbrt.Encoder.key 871 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.empty_nested encoder;
  Pbrt.Encoder.key 1686 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.kdbkiggpfjk encoder;
  Pbrt.Encoder.key 1038 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lgkolnobmke (v:lgkolnobmke) encoder = 
  begin match v.mkgoabedjeh with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_piknebbjogb x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  encode_pb_nmabognbiph v.gnfpnbgacdf encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bficmhohfpf (v:bficmhohfpf) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgpelgifadf encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.cmjoambdell encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cghamdopejg (v:cghamdopejg) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_lgkolnobmke x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.lhcalbfcfjl encoder;
  ()

let rec encode_pb_dgipcmolhdc (v:dgipcmolhdc) encoder = 
  Pbrt.Encoder.int32_as_varint v.progress encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pncgfdodfbj (v:pncgfdodfbj) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_dgipcmolhdc x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.pmlhjpikfne encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.hhegkljjdol encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_mdinmlkbghf (v:mdinmlkbghf) encoder = 
()

let rec encode_pb_oepndhlaocj (v:oepndhlaocj) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.megpbceegbg encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.hfgdfjlfhll encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.iffefihhaod encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  begin match v.hfcakgghnim with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lekclmamabb x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.dbjocgbpkem encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.nacefnlkjek encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  begin match v.bdaldfbhcjl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_pncgfdodfbj x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_gmpaedocmhb (v:gmpaedocmhb) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.pmcffigbbca encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.gkhjdaocipm encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_hhmcknhhjkd (v:hhmcknhhjkd) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.pmcffigbbca encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_memoccbcknp (v:memoccbcknp) encoder = 
  encode_pb_kkigfnbambb v.dfopbnjpmab encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_biccoplpgcb (v:biccoplpgcb) encoder = 
  Pbrt.Encoder.bool v.oiolgbomcbb encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ohfjifnacak (v:ohfjifnacak) encoder = 
  Pbrt.Encoder.int32_as_varint v.ojkjbeilgdc encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mbkalfaemic (v:mbkalfaemic) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ceneghbolla (v:ceneghbolla) encoder = 
()

let rec encode_pb_gibceehbdhp (v:gibceehbdhp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_aidiofhcdpc (v:aidiofhcdpc) encoder = 
()

let rec encode_pb_igpghakolin (v:igpghakolin) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_fjmhhaahmfk (v:fjmhhaahmfk) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgnfloilneg encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_plmjgmfnamh (v:plmjgmfnamh) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgnfloilneg encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_agmlhcjehnp (v:agmlhcjehnp) encoder = 
  Pbrt.Encoder.int32_as_varint v.ijnpccndcgi encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nomomdajgjp (v:nomomdajgjp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  begin match v.hfcakgghnim with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lekclmamabb x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_gchmilhlfik (v:gchmilhlfik) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgpelgifadf encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mhplggpbphh (v:mhplggpbphh) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgpelgifadf encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gmbfnmhknfe (v:gmbfnmhknfe) encoder = 
()

let rec encode_pb_eeeiakoijdp (v:eeeiakoijdp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mfldbdcofoa (v:mfldbdcofoa) encoder = 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  encode_pb_depohhphajh v.mgdnainpahe encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.bfhblojhfbn encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kmlmaidhiid encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ijnpccndcgi encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ppgoielepbp encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.gapieppjlaa encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.bdnbfapkglb encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_jmhlacoghih (v:jmhlacoghih) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_dgipcmolhdc x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.pmlhjpikfne encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.hhegkljjdol encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_jmdpmflhhji (v:jmdpmflhhji) encoder = 
  Pbrt.Encoder.int32_as_varint v.pflbmbdfmoa encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_caljhhoopfm (v:caljhhoopfm) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pflbmbdfmoa encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bcjhagmagmg (v:bcjhagmagmg) encoder = 
()

let rec encode_pb_bdiokbdhahk (v:bdiokbdhahk) encoder = 
  begin match v.hfcakgghnim with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lekclmamabb x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cgionkcjglk (v:cgionkcjglk) encoder = 
()

let rec encode_pb_mkfdpmdlmhf (v:mkfdpmdlmhf) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_fplmkenpnjj (v:fplmkenpnjj) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_gmmbihcfkoj x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.egjnanlfing encoder;
  Pbrt.Encoder.int32_as_varint v.feolddnidjp encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bjkiikoohdi (v:bjkiikoohdi) encoder = 
  Pbrt.Encoder.int32_as_varint v.ijnpccndcgi encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mkbnigandmh (v:mkbnigandmh) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  begin match v.hfcakgghnim with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_lekclmamabb x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_kbeomioccmo (v:kbeomioccmo) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgnfloilneg encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gikfodcelhm (v:gikfodcelhm) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgnfloilneg encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kkohobkjepb (v:kkohobkjepb) encoder = 
()

let rec encode_pb_hmkelhaiieo (v:hmkelhaiieo) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nipddckankc (v:nipddckankc) encoder =
  match v with
  | Cmd_player_sync_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_player_sync_sc_notify -> Pbrt.Encoder.int_as_varint 668 encoder

let rec encode_pb_dfilomffafd (v:dfilomffafd) encoder = 
  Pbrt.Encoder.int32_as_varint v.pnoolmohieh encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.stamina encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_amdcchadhnj (v:amdcchadhnj) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ilmpdolbflp x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.djjdncbpmfk encoder;
  Pbrt.Encoder.string v.cpkikinabfj encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  Pbrt.Encoder.bool v.kdpdlgbfimd encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mgigkpibcid (v:mgigkpibcid) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_avatar x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.avatar_list encoder;
  ()

let rec encode_pb_oiofbfhdfci (v:oiofbfhdfci) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_dlompnobmja x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.goojfjoomdc encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ipodiiadolh encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ommnpnbabhn encoder;
  Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mission x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.hjnfpofkanm encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ihgeeangifc x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.mapjkehplbn encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.dgoigglciko encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.limpnlbchpl encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_anfldllfjhp (v:anfldllfjhp) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.nloponhbgod encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mission x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.mkbbddpdmoi encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.gogjmmkhilb encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_cbpblopaocm (v:cbpblopaocm) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.kmfpienacdg encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.bcedhodkdna encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_nfccnkngbke (v:nfccnkngbke) encoder = 
  Pbrt.Encoder.int32_as_varint v.cokophbhocf encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kagnbjdmamf encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fflpjlakgim (v:fflpjlakgim) encoder = 
  begin match v.basic_info with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_player_basic_info x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_lhpihhdiplm x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.relic_list encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_mdlbakehplp x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.equipment_list encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_ipcffjhaijg x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.deadfemndnk encoder;
  begin match v.melkjffjnkb with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_oiofbfhdfci x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_aoacdcgcmej x encoder;
    Pbrt.Encoder.key 345 Pbrt.Bytes encoder; 
  ) v.flnjichokac encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_eejpmepikga x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.pnlbagbglfd encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.emfekeedafc encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.mjbalomkgdg encoder;
  Pbrt.Encoder.key 1546 Pbrt.Bytes encoder; 
  begin match v.dbnddbjfikl with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_anfldllfjhp x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_nfccnkngbke x encoder;
    Pbrt.Encoder.key 1325 Pbrt.Bytes encoder; 
  ) v.cbhiiikinol encoder;
  begin match v.egbapniokip with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_mgigkpibcid x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jnicjgmnafm x encoder;
    Pbrt.Encoder.key 1592 Pbrt.Bytes encoder; 
  ) v.mongepojhkd encoder;
  begin match v.mkijkaoaokm with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_amdcchadhnj x encoder;
    Pbrt.Encoder.key 1273 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.igcimdmbdfa encoder;
  Pbrt.Encoder.key 1522 Pbrt.Varint encoder; 
  begin match v.pbppjohlbad with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_dfilomffafd x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_dejjkifldfb x encoder;
    Pbrt.Encoder.key 1100 Pbrt.Bytes encoder; 
  ) v.pdljebofmep encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_aoacdcgcmej x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.egmlhakbkmc encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.diocdcpkolk encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_multi_path_avatar x encoder;
    Pbrt.Encoder.key 1834 Pbrt.Bytes encoder; 
  ) v.epdnicajoli encoder;
  begin match v.ilcelhlkamj with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 969 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.gigmmbhcdij with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_cbpblopaocm x encoder;
    Pbrt.Encoder.key 1221 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_klcejfngnia (v:klcejfngnia) encoder =
  match v with
  | Cmd_talk_reward_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_finish_first_talk_by_performance_npc_sc_rsp -> Pbrt.Encoder.int_as_varint 2148 encoder
  | Cmd_finish_first_talk_npc_cs_req -> Pbrt.Encoder.int_as_varint 2139 encoder
  | Cmd_take_talk_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 2143 encoder
  | Cmd_finish_first_talk_npc_sc_rsp -> Pbrt.Encoder.int_as_varint 2129 encoder
  | Cmd_select_inclination_text_cs_req -> Pbrt.Encoder.int_as_varint 2151 encoder
  | Cmd_get_first_talk_npc_sc_rsp -> Pbrt.Encoder.int_as_varint 2193 encoder
  | Cmd_select_inclination_text_sc_rsp -> Pbrt.Encoder.int_as_varint 2133 encoder
  | Cmd_get_first_talk_npc_cs_req -> Pbrt.Encoder.int_as_varint 2156 encoder
  | Cmd_finish_first_talk_by_performance_npc_cs_req -> Pbrt.Encoder.int_as_varint 2165 encoder
  | Cmd_get_npc_taken_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 2106 encoder
  | Cmd_get_first_talk_by_performance_npc_sc_rsp -> Pbrt.Encoder.int_as_varint 2154 encoder
  | Cmd_get_first_talk_by_performance_npc_cs_req -> Pbrt.Encoder.int_as_varint 2199 encoder
  | Cmd_take_talk_reward_cs_req -> Pbrt.Encoder.int_as_varint 2111 encoder
  | Cmd_get_npc_taken_reward_cs_req -> Pbrt.Encoder.int_as_varint 2168 encoder

let rec encode_pb_apmclbiejpn (v:apmclbiejpn) encoder = 
  Pbrt.Encoder.int32_as_varint v.pnigjhppmln encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hncebojkknh (v:hncebojkknh) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ombidcbhbod encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pnigjhppmln encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bjbhlbkodjk (v:bjbhlbkodjk) encoder = 
  Pbrt.Encoder.int32_as_varint v.hcjlnnfiogc encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  begin match v.hhakfcdngok with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_vector x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_jdmnghmikgh (v:jdmnghmikgh) encoder = 
  Pbrt.Encoder.int32_as_varint v.hcjlnnfiogc encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gpjfibhdkhh (v:gpjfibhdkhh) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.knncoohambc encoder;
  Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_caelfpofmmj (v:caelfpofmmj) encoder = 
  Pbrt.Encoder.bool v.fhhkhmdleno encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.elalbdgiapo encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lgpphodkglk (v:lgpphodkglk) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_caelfpofmmj x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.lljmpejacne encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ejfomkhdopf (v:ejfomkhdopf) encoder = 
  Pbrt.Encoder.int32_as_varint v.elalbdgiapo encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_clbhecajmon (v:clbhecajmon) encoder = 
  Pbrt.Encoder.int32_as_varint v.elalbdgiapo encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jjkdobellnm (v:jjkdobellnm) encoder = 
  Pbrt.Encoder.int32_as_varint v.daeehalilod encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bbfjcpghojm (v:bbfjcpghojm) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.daeehalilod encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_afkjnogkidl (v:afkjnogkidl) encoder = 
  Pbrt.Encoder.int32_as_varint v.fbekcndnmfe encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.fhhkhmdleno encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pbcoigienpa (v:pbcoigienpa) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.klbckeejghh encoder;
  Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_jgmliannaif (v:jgmliannaif) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_afkjnogkidl x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.lljmpejacne encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ldkphhejnmm (v:ldkphhejnmm) encoder = 
  Pbrt.Encoder.int32_as_varint v.fbekcndnmfe encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bbdmebkcoem (v:bbdmebkcoem) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fbekcndnmfe encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_pdmgpjhhpbn (v:pdmgpjhhpbn) encoder =
  match v with
  | Cmd_television_activity_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_get_television_activity_data_sc_rsp -> Pbrt.Encoder.int_as_varint 6963 encoder
  | Cmd_get_television_activity_data_cs_req -> Pbrt.Encoder.int_as_varint 6979 encoder
  | Cmd_television_activity_data_change_sc_notify -> Pbrt.Encoder.int_as_varint 6972 encoder
  | Cmd_television_activity_battle_end_sc_notify -> Pbrt.Encoder.int_as_varint 6962 encoder
  | Cmd_enter_television_activity_stage_cs_req -> Pbrt.Encoder.int_as_varint 6980 encoder
  | Cmd_enter_television_activity_stage_sc_rsp -> Pbrt.Encoder.int_as_varint 6964 encoder

let rec encode_pb_glilglpgodo (v:glilglpgodo) encoder = 
  Pbrt.Encoder.int32_as_varint v.ppoegdhjlke encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gakmanenkmh encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lbggbhfhdeg encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nbilebkmmfk (v:nbilebkmmfk) encoder = 
()

let rec encode_pb_bjjcffhmopd (v:bjjcffhmopd) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_glilglpgodo x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  ) v.kcgjglleflg encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mpbdgeailof (v:mpbdgeailof) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_glilglpgodo x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ) v.kcgjglleflg encoder;
  ()

let rec encode_pb_eojghonebdd (v:eojghonebdd) encoder = 
  Pbrt.Encoder.int32_as_varint v.anjcemifefc encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hpegmhpcfem encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  begin match v.mokbbafhbjn with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_glilglpgodo x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.mahiocfcikf encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mphcmmfkpog encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_poklpkkcaad (v:poklpkkcaad) encoder = 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fbjjlepeflm (v:fbjjlepeflm) encoder = 
  Pbrt.Encoder.int32_as_varint v.ppoegdhjlke encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.buff_list encoder;
  Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_poklpkkcaad x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.avatar_list encoder;
  ()

let rec encode_pb_egaindjnekn (v:egaindjnekn) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.ppoegdhjlke encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_blnbpchkmop (v:blnbpchkmop) encoder =
  match v with
  | Cmd_text_join_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_text_join_query_cs_req -> Pbrt.Encoder.int_as_varint 3811 encoder
  | Cmd_text_join_query_sc_rsp -> Pbrt.Encoder.int_as_varint 3843 encoder
  | Cmd_text_join_save_sc_rsp -> Pbrt.Encoder.int_as_varint 3806 encoder
  | Cmd_text_join_batch_save_sc_rsp -> Pbrt.Encoder.int_as_varint 3893 encoder
  | Cmd_text_join_batch_save_cs_req -> Pbrt.Encoder.int_as_varint 3856 encoder
  | Cmd_text_join_save_cs_req -> Pbrt.Encoder.int_as_varint 3868 encoder

let rec encode_pb_okgmgbpllhg (v:okgmgbpllhg) encoder = 
  Pbrt.Encoder.string v.hfhomlnogbc encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.aiecnaafflj encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.emamkmopfci encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.akjcolodghe encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.doblbefaofp encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dmlpggkagbh (v:dmlpggkagbh) encoder = 
  Pbrt.Encoder.string v.hfhomlnogbc encoder;
  Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.aiecnaafflj encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.akjcolodghe encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ajcbkjegiin (v:ajcbkjegiin) encoder = 
  Pbrt.Encoder.int32_as_varint v.akjcolodghe encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.aiecnaafflj encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.string v.hfhomlnogbc encoder;
  Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_cifieflilcg (v:cifieflilcg) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.hpoppknopda encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_aacbnhhcjcf (v:aacbnhhcjcf) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_okgmgbpllhg x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  ) v.komlgafbhol encoder;
  ()

let rec encode_pb_mcmibjbpcpc (v:mcmibjbpcpc) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_okgmgbpllhg x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.komlgafbhol encoder;
  ()

let rec encode_pb_onfphghabkn (v:onfphghabkn) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_okgmgbpllhg x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ) v.komlgafbhol encoder;
  ()

let rec encode_pb_ppefpjcekag (v:ppefpjcekag) encoder =
  match v with
  | Cmd_track_photo_activity_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_start_track_photo_stage_sc_rsp -> Pbrt.Encoder.int_as_varint 7556 encoder
  | Cmd_settle_track_photo_stage_cs_req -> Pbrt.Encoder.int_as_varint 7559 encoder
  | Cmd_quit_track_photo_stage_cs_req -> Pbrt.Encoder.int_as_varint 7557 encoder
  | Cmd_get_track_photo_activity_data_cs_req -> Pbrt.Encoder.int_as_varint 7551 encoder
  | Cmd_settle_track_photo_stage_sc_rsp -> Pbrt.Encoder.int_as_varint 7560 encoder
  | Cmd_start_track_photo_stage_cs_req -> Pbrt.Encoder.int_as_varint 7552 encoder
  | Cmd_quit_track_photo_stage_sc_rsp -> Pbrt.Encoder.int_as_varint 7553 encoder
  | Cmd_get_track_photo_activity_data_sc_rsp -> Pbrt.Encoder.int_as_varint 7554 encoder

let rec encode_pb_dkmgobmngna (v:dkmgobmngna) encoder = 
  Pbrt.Encoder.int32_as_varint v.gakmanenkmh encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jlmpepajfgn (v:jlmpepajfgn) encoder = 
()

let rec encode_pb_caihfoekdkg (v:caihfoekdkg) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_dkmgobmngna x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.loiacnoghal encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bhbmdjfabkp (v:bhbmdjfabkp) encoder = 
  Pbrt.Encoder.int32_as_varint v.phkkegggmdi encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.cikiifgkobo encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_blhbkgmhioi (v:blhbkgmhioi) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_bhbmdjfabkp x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.llicomkidom encoder;
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.cost_time encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kbmejebjblb (v:kbmejebjblb) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_bhbmdjfabkp x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.llicomkidom encoder;
  Pbrt.Encoder.int32_as_varint v.lpgaoolbbfm encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_oejfojfeook (v:oejfojfeook) encoder = 
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.nipjabamela encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hlhbilfmihg (v:hlhbilfmihg) encoder = 
  Pbrt.Encoder.int32_as_varint v.fnpojgdggpm encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pifnkahjacn (v:pifnkahjacn) encoder = 
  Pbrt.Encoder.int32_as_varint v.stage_id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ekacihfcebb (v:ekacihfcebb) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_hcgenkapobn (v:hcgenkapobn) encoder =
  match v with
  | Cmd_train_visitor_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_take_train_visitor_untaken_behavior_reward_cs_req -> Pbrt.Encoder.int_as_varint 3751 encoder
  | Cmd_get_train_visitor_behavior_cs_req -> Pbrt.Encoder.int_as_varint 3711 encoder
  | Cmd_get_train_visitor_behavior_sc_rsp -> Pbrt.Encoder.int_as_varint 3743 encoder
  | Cmd_get_train_visitor_register_sc_rsp -> Pbrt.Encoder.int_as_varint 3729 encoder
  | Cmd_train_visitor_reward_send_notify -> Pbrt.Encoder.int_as_varint 3793 encoder
  | Cmd_take_train_visitor_untaken_behavior_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 3733 encoder
  | Cmd_train_visitor_behavior_finish_sc_rsp -> Pbrt.Encoder.int_as_varint 3706 encoder
  | Cmd_show_new_supplement_visitor_sc_rsp -> Pbrt.Encoder.int_as_varint 3754 encoder
  | Cmd_show_new_supplement_visitor_cs_req -> Pbrt.Encoder.int_as_varint 3799 encoder
  | Cmd_train_refresh_time_notify -> Pbrt.Encoder.int_as_varint 3756 encoder
  | Cmd_train_visitor_behavior_finish_cs_req -> Pbrt.Encoder.int_as_varint 3768 encoder
  | Cmd_get_train_visitor_register_cs_req -> Pbrt.Encoder.int_as_varint 3739 encoder

let rec encode_pb_indhbbjiean (v:indhbbjiean) encoder =
  match v with
  | Train_visitor_reward_send_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Train_visitor_reward_send_register -> Pbrt.Encoder.int_as_varint 1 encoder
  | Train_visitor_reward_send_mission -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_ffppaobdjgo (v:ffppaobdjgo) encoder =
  match v with
  | Train_visitor_status_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Train_visitor_status_init -> Pbrt.Encoder.int_as_varint 1 encoder
  | Train_visitor_status_get_on -> Pbrt.Encoder.int_as_varint 2 encoder
  | Train_visitor_status_get_off -> Pbrt.Encoder.int_as_varint 3 encoder

let rec encode_pb_heppgbeaopd (v:heppgbeaopd) encoder =
  match v with
  | Train_visitor_register_get_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Train_visitor_register_get_type_auto -> Pbrt.Encoder.int_as_varint 1 encoder
  | Train_visitor_register_get_type_manual -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_imehehjilbf (v:imehehjilbf) encoder = 
  Pbrt.Encoder.bool v.fhhkhmdleno encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kjdlimfggmd encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jcoigmjglmi (v:jcoigmjglmi) encoder = 
  Pbrt.Encoder.int32_as_varint v.kjdlimfggmd encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pbhnlblmpaa (v:pbhnlblmpaa) encoder = 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.kjdlimfggmd encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fpkkikjjnjo (v:fpkkikjjnjo) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.gppailmfnpc encoder;
  Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_flkndlkfapo (v:flkndlkfapo) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_imehehjilbf x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.aaiiofpbclc encoder;
  ()

let rec encode_pb_klnondaeimi (v:klnondaeimi) encoder = 
  Pbrt.Encoder.int64_as_varint v.cjgpnhfjgem encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gfdkjpbgndm (v:gfdkjpbgndm) encoder = 
  encode_pb_indhbbjiean v.fgmdoekgpee encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kjdlimfggmd encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_gmmckeldapa (v:gmmckeldapa) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.mbggfmadnhj encoder;
  Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.kjdlimfggmd encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.kkmajbpemnh encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lmdjgffdebk encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  encode_pb_ffppaobdjgo v.status encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ccoihlmpiac (v:ccoihlmpiac) encoder = 
  encode_pb_heppgbeaopd v.fgmdoekgpee encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lhjfoefkhmg (v:lhjfoefkhmg) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_gmmckeldapa x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.hiinpcllmlh encoder;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.mfdbddconkm encoder;
  Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ajonbhidggp (v:ajonbhidggp) encoder = 
  Pbrt.Encoder.int32_as_varint v.kjdlimfggmd encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_pmhjadjahah (v:pmhjadjahah) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.mbggfmadnhj encoder;
  Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  Pbrt.Encoder.int32_as_varint v.kjdlimfggmd encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_npkoljalcid (v:npkoljalcid) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.mfdbddconkm encoder;
  Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_hdgbdehfdal (v:hdgbdehfdal) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ahohoegfkcn (v:ahohoegfkcn) encoder =
  match v with
  | Cmd_travel_brochure_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_travel_brochure_apply_paster_cs_req -> Pbrt.Encoder.int_as_varint 6439 encoder
  | Cmd_travel_brochure_set_page_desc_status_cs_req -> Pbrt.Encoder.int_as_varint 6497 encoder
  | Cmd_travel_brochure_page_reset_sc_rsp -> Pbrt.Encoder.int_as_varint 6424 encoder
  | Cmd_travel_brochure_page_reset_cs_req -> Pbrt.Encoder.int_as_varint 6425 encoder
  | Cmd_travel_brochure_update_paster_pos_cs_req -> Pbrt.Encoder.int_as_varint 6499 encoder
  | Cmd_travel_brochure_set_custom_value_cs_req -> Pbrt.Encoder.int_as_varint 6482 encoder
  | Cmd_travel_brochure_get_paster_sc_notify -> Pbrt.Encoder.int_as_varint 6465 encoder
  | Cmd_travel_brochure_page_unlock_sc_notify -> Pbrt.Encoder.int_as_varint 6411 encoder
  | Cmd_travel_brochure_set_page_desc_status_sc_rsp -> Pbrt.Encoder.int_as_varint 6498 encoder
  | Cmd_travel_brochure_select_message_cs_req -> Pbrt.Encoder.int_as_varint 6456 encoder
  | Cmd_travel_brochure_remove_paster_sc_rsp -> Pbrt.Encoder.int_as_varint 6433 encoder
  | Cmd_travel_brochure_apply_paster_sc_rsp -> Pbrt.Encoder.int_as_varint 6429 encoder
  | Cmd_travel_brochure_set_custom_value_sc_rsp -> Pbrt.Encoder.int_as_varint 6434 encoder
  | Cmd_travel_brochure_get_data_cs_req -> Pbrt.Encoder.int_as_varint 6468 encoder
  | Cmd_travel_brochure_select_message_sc_rsp -> Pbrt.Encoder.int_as_varint 6493 encoder
  | Cmd_travel_brochure_update_paster_pos_sc_rsp -> Pbrt.Encoder.int_as_varint 6454 encoder
  | Cmd_travel_brochure_apply_paster_list_cs_req -> Pbrt.Encoder.int_as_varint 6417 encoder
  | Cmd_travel_brochure_apply_paster_list_sc_rsp -> Pbrt.Encoder.int_as_varint 6492 encoder
  | Cmd_travel_brochure_get_data_sc_rsp -> Pbrt.Encoder.int_as_varint 6406 encoder
  | Cmd_travel_brochure_remove_paster_cs_req -> Pbrt.Encoder.int_as_varint 6451 encoder

let rec encode_pb_nbdeaohmgpd (v:nbdeaohmgpd) encoder =
  match v with
  | Page_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Page_unlocked -> Pbrt.Encoder.int_as_varint 1 encoder
  | Page_interacted -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_nepgcakaimg (v:nepgcakaimg) encoder =
  match v with
  | Page_desc_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Page_desc_show_detail -> Pbrt.Encoder.int_as_varint 1 encoder
  | Page_desc_collapse -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_edpcmbkldpp (v:edpcmbkldpp) encoder = 
  Pbrt.Encoder.int32_as_varint v.ppikfajecgn encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jhaokflajhi encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.unique_id encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lefamlnchdb encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.oppiofgaapm encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_plhfolkmaji (v:plhfolkmaji) encoder = 
  Pbrt.Encoder.int32_as_varint v.ejglndccacp encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  encode_pb_nbdeaohmgpd v.bmojbiafcan encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  encode_pb_nepgcakaimg v.mmdkdomadkc encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_edpcmbkldpp x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.nanmhcnadkg encoder;
  Pbrt.Encoder.int32_as_varint v.elhpffpejcd encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_eecdaglagim (v:eecdaglagim) encoder = 
()

let rec encode_pb_ebhhobohldg (v:ebhhobohldg) encoder = 
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.nested encode_pb_plhfolkmaji x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Bytes) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  ) v.iklpaikjkha encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.int32_as_varint x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.dmoappoigef encoder;
  Pbrt.Encoder.int32_as_varint v.ogcfmckhlja encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kehccelcakp (v:kehccelcakp) encoder = 
  Pbrt.Encoder.int32_as_varint v.elhpffpejcd encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dlnlcelilmh (v:dlnlcelilmh) encoder = 
  Pbrt.Encoder.int32_as_varint v.elhpffpejcd encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ejglndccacp encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jkkodmojmcp (v:jkkodmojmcp) encoder = 
  begin match v.fibbcankfpi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_plhfolkmaji x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_moejhbphboe (v:moejhbphboe) encoder = 
  Pbrt.Encoder.int32_as_varint v.elhpffpejcd encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.oppiofgaapm encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jhaokflajhi encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lefamlnchdb encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ppikfajecgn encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lhogneaekbm (v:lhogneaekbm) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  begin match v.fibbcankfpi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_plhfolkmaji x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_phnejeildid (v:phnejeildid) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.unique_id encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.elhpffpejcd encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_djoaplnhnnm (v:djoaplnhnnm) encoder = 
  begin match v.fibbcankfpi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_plhfolkmaji x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kjjnbcjpofd (v:kjjnbcjpofd) encoder = 
  Pbrt.Encoder.int32_as_varint v.ppikfajecgn encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lefamlnchdb encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jhaokflajhi encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.oppiofgaapm encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.elhpffpejcd encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int64_as_varint v.unique_id encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lbeilmencmg (v:lbeilmencmg) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  begin match v.fibbcankfpi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_plhfolkmaji x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_eildnlloolg (v:eildnlloolg) encoder = 
  Pbrt.Encoder.int32_as_varint v.cokophbhocf encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kagnbjdmamf encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dldkemoempi (v:dldkemoempi) encoder = 
  Pbrt.Encoder.int32_as_varint v.value encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_acemjognmli (v:acemjognmli) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bogbdeohiom (v:bogbdeohiom) encoder = 
  encode_pb_nepgcakaimg v.clehhaedpae encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.elhpffpejcd encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_oedabbebong (v:oedabbebong) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mdjglknfbcl (v:mdjglknfbcl) encoder = 
  Pbrt.Encoder.int32_as_varint v.elhpffpejcd encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ngdapheckdd (v:ngdapheckdd) encoder = 
  begin match v.fibbcankfpi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_plhfolkmaji x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_daonkhoicpl (v:daonkhoicpl) encoder = 
  Pbrt.Encoder.int32_as_varint v.oppiofgaapm encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.jhaokflajhi encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.lefamlnchdb encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ppikfajecgn encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_agfommpgbeh (v:agfommpgbeh) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_daonkhoicpl x encoder;
    Pbrt.Encoder.key 14 Pbrt.Bytes encoder; 
  ) v.ejkllkececl encoder;
  Pbrt.Encoder.int32_as_varint v.elhpffpejcd encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_idechpiaipb (v:idechpiaipb) encoder = 
  begin match v.fibbcankfpi with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_plhfolkmaji x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mmfbpfacamh (v:mmfbpfacamh) encoder =
  match v with
  | Cmd_treasure_dungeon_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_fight_treasure_dungeon_monster_sc_rsp -> Pbrt.Encoder.int_as_varint 4498 encoder
  | Cmd_use_treasure_dungeon_item_sc_rsp -> Pbrt.Encoder.int_as_varint 4492 encoder
  | Cmd_use_treasure_dungeon_item_cs_req -> Pbrt.Encoder.int_as_varint 4417 encoder
  | Cmd_quit_treasure_dungeon_sc_rsp -> Pbrt.Encoder.int_as_varint 4428 encoder
  | Cmd_quit_treasure_dungeon_cs_req -> Pbrt.Encoder.int_as_varint 4490 encoder
  | Cmd_open_treasure_dungeon_grid_sc_rsp -> Pbrt.Encoder.int_as_varint 4434 encoder
  | Cmd_treasure_dungeon_data_sc_notify -> Pbrt.Encoder.int_as_varint 4468 encoder
  | Cmd_interact_treasure_dungeon_grid_sc_rsp -> Pbrt.Encoder.int_as_varint 4424 encoder
  | Cmd_open_treasure_dungeon_grid_cs_req -> Pbrt.Encoder.int_as_varint 4482 encoder
  | Cmd_interact_treasure_dungeon_grid_cs_req -> Pbrt.Encoder.int_as_varint 4425 encoder
  | Cmd_fight_treasure_dungeon_monster_cs_req -> Pbrt.Encoder.int_as_varint 4497 encoder
  | Cmd_get_treasure_dungeon_activity_data_cs_req -> Pbrt.Encoder.int_as_varint 4499 encoder
  | Cmd_get_treasure_dungeon_activity_data_sc_rsp -> Pbrt.Encoder.int_as_varint 4454 encoder
  | Cmd_enter_treasure_dungeon_sc_rsp -> Pbrt.Encoder.int_as_varint 4448 encoder
  | Cmd_treasure_dungeon_finish_sc_notify -> Pbrt.Encoder.int_as_varint 4406 encoder
  | Cmd_enter_treasure_dungeon_cs_req -> Pbrt.Encoder.int_as_varint 4465 encoder

let rec encode_pb_domnbbdobkg (v:domnbbdobkg) encoder =
  match v with
  | Treasure_dungeon_record_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Treasure_dungeon_record_add_hp -> Pbrt.Encoder.int_as_varint 1 encoder
  | Treasure_dungeon_record_sub_hp -> Pbrt.Encoder.int_as_varint 2 encoder
  | Treasure_dungeon_record_sub_hp_no_explore -> Pbrt.Encoder.int_as_varint 3 encoder
  | Treasure_dungeon_record_add_attack -> Pbrt.Encoder.int_as_varint 5 encoder
  | Treasure_dungeon_record_add_defence -> Pbrt.Encoder.int_as_varint 6 encoder
  | Treasure_dungeon_record_add_explore -> Pbrt.Encoder.int_as_varint 9 encoder
  | Treasure_dungeon_record_sub_explore -> Pbrt.Encoder.int_as_varint 10 encoder
  | Treasure_dungeon_record_add_explore_overflow -> Pbrt.Encoder.int_as_varint 11 encoder
  | Treasure_dungeon_record_summon -> Pbrt.Encoder.int_as_varint 15 encoder
  | Treasure_dungeon_record_kill -> Pbrt.Encoder.int_as_varint 16 encoder
  | Treasure_dungeon_record_add_trial_avatar -> Pbrt.Encoder.int_as_varint 20 encoder
  | Treasure_dungeon_record_add_buff -> Pbrt.Encoder.int_as_varint 24 encoder
  | Treasure_dungeon_record_unlock_door -> Pbrt.Encoder.int_as_varint 25 encoder
  | Treasure_dungeon_record_enemy_enhance -> Pbrt.Encoder.int_as_varint 27 encoder
  | Treasure_dungeon_record_enemy_weaken -> Pbrt.Encoder.int_as_varint 28 encoder
  | Treasure_dungeon_record_enemy_aura_remove -> Pbrt.Encoder.int_as_varint 29 encoder
  | Treasure_dungeon_record_special_monster_run -> Pbrt.Encoder.int_as_varint 30 encoder
  | Treasure_dungeon_record_special_monster_kill -> Pbrt.Encoder.int_as_varint 31 encoder
  | Treasure_dungeon_record_battle_buff_trigger_success -> Pbrt.Encoder.int_as_varint 33 encoder
  | Treasure_dungeon_record_battle_buff_trigger_fail -> Pbrt.Encoder.int_as_varint 34 encoder
  | Treasure_dungeon_record_battle_buff_add_explore -> Pbrt.Encoder.int_as_varint 35 encoder
  | Treasure_dungeon_record_battle_buff_open_grid -> Pbrt.Encoder.int_as_varint 36 encoder
  | Treasure_dungeon_record_battle_buff_add_item -> Pbrt.Encoder.int_as_varint 37 encoder
  | Treasure_dungeon_record_avatar_dead -> Pbrt.Encoder.int_as_varint 40 encoder
  | Treasure_dungeon_record_trial_avatar_dead -> Pbrt.Encoder.int_as_varint 41 encoder
  | Treasure_dungeon_record_all_avatar_dead -> Pbrt.Encoder.int_as_varint 42 encoder
  | Treasure_dungeon_record_open_item_chest -> Pbrt.Encoder.int_as_varint 43 encoder

let rec encode_pb_treasure_dungeon_record_data (v:treasure_dungeon_record_data) encoder = 
  encode_pb_domnbbdobkg v.type_ encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.param_2 encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.target_grid_id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.param_1 encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.source_grid_id encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_adihimnhjmc (v:adihimnhjmc) encoder = 
  Pbrt.Encoder.int32_as_varint v.pkkfndimmio encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kkjoplahmam encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nhomjjpmlml (v:nhomjjpmlml) encoder = 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.avatar_type encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hp encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.elolchjhcpa encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  begin match v.sp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_sp_progress x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_fmkkknpkhka (v:fmkkknpkhka) encoder = 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.avatar_type encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_olekkhgdbno (v:olekkhgdbno) encoder = 
  Pbrt.Encoder.int32_as_varint v.olfhccbiidg encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kckckdlbgah (v:kckckdlbgah) encoder = 
  Pbrt.Encoder.int32_as_varint v.mgokheahgno encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.pkkfndimmio encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.odfbamohefb encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hfofggdjldk encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mdplfmdjfji encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_eihmdnhfbhi (v:eihmdnhfbhi) encoder = 
  Pbrt.Encoder.int32_as_varint v.mdplfmdjfji encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.jllomgfnoad encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.kjhdclobejc encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.kjbihcphcco encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_kckckdlbgah x encoder;
    Pbrt.Encoder.key 1338 Pbrt.Bytes encoder; 
  ) v.buff_list encoder;
  Pbrt.Encoder.int32_as_varint v.pghfklcblcf encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.eeilehahchh encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.emdckdplfno encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_gfkhhobedjc (v:gfkhhobedjc) encoder = 
  Pbrt.Encoder.int32_as_varint v.fdhmddjckbm encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ccgokknidmp encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ihojbibbmjk encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_adihimnhjmc x encoder;
    Pbrt.Encoder.key 1281 Pbrt.Bytes encoder; 
  ) v.buff_list encoder;
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_treasure_dungeon_record_data x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  ) v.acnhklfedmn encoder;
  Pbrt.Encoder.int32_as_varint v.lnjapmhfcck encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_nhomjjpmlml x encoder;
    Pbrt.Encoder.key 702 Pbrt.Bytes encoder; 
  ) v.avatar_list encoder;
  Pbrt.Encoder.bool v.dodenbklklh encoder;
  Pbrt.Encoder.key 607 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.gepegecgkgd encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_fmkkknpkhka x encoder;
    Pbrt.Encoder.key 530 Pbrt.Bytes encoder; 
  ) v.bdajebnoflc encoder;
  Pbrt.Encoder.int32_as_varint v.dckcbphknmm encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_nhomjjpmlml x encoder;
    Pbrt.Encoder.key 1046 Pbrt.Bytes encoder; 
  ) v.kcinaojggca encoder;
  Pbrt.Encoder.int32_as_varint v.gabmdafmbia encoder;
  Pbrt.Encoder.key 859 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.koonaacohgh encoder;
  Pbrt.Encoder.key 1856 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.olpededenmb encoder;
  Pbrt.Encoder.key 317 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_olekkhgdbno x encoder;
    Pbrt.Encoder.key 1380 Pbrt.Bytes encoder; 
  ) v.pdpfcfglgco encoder;
  Pbrt.Encoder.int32_as_varint v.ibbomefncba encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_eihmdnhfbhi x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  ) v.nnfelodhecl encoder;
  ()

let rec encode_pb_nkjmbndffmp (v:nkjmbndffmp) encoder = 
  begin match v.fimenpabjlk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gfkhhobedjc x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_cdaklgjjdag (v:cdaklgjjdag) encoder = 
  Pbrt.Encoder.int32_as_varint v.ihojbibbmjk encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dckcbphknmm encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dfggjlmnblk encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.llbhkchlhfl encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.mmnebfbnoni encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.int32_as_varint x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  ) v.apconhladef encoder;
  let encode_key = Pbrt.Encoder.int32_as_varint in
  let encode_value = (fun x encoder ->
    Pbrt.Encoder.int32_as_varint x encoder;
  ) in
  Pbrt.List_util.rev_iter_with (fun (k, v) encoder ->
    let map_entry = (k, Pbrt.Varint), (v, Pbrt.Varint) in
    Pbrt.Encoder.map_entry ~encode_key ~encode_value map_entry encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.iacdjpcmgem encoder;
  ()

let rec encode_pb_bcgidhjgbeh (v:bcgidhjgbeh) encoder = 
  Pbrt.Encoder.int32_as_varint v.ihojbibbmjk encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dckcbphknmm encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fdhmddjckbm encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.jfbghenfbmh encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.ccgokknidmp encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.nhbjkfibgbk encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.fknlibdaomf encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  ()

let rec encode_pb_phklcpjjdkc (v:phklcpjjdkc) encoder = 
()

let rec encode_pb_ceaeicabldl (v:ceaeicabldl) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_bcgidhjgbeh x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.lflniekplaj encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bohmllfkgdb (v:bohmllfkgdb) encoder = 
  Pbrt.Encoder.int32_as_varint v.avatar_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  encode_pb_avatar_type v.avatar_type encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_egfcfmidplk (v:egfcfmidplk) encoder = 
  Pbrt.Encoder.int32_as_varint v.dckcbphknmm encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_bohmllfkgdb x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.avatar_list encoder;
  ()

let rec encode_pb_oaiphfkhfhf (v:oaiphfkhfhf) encoder = 
  begin match v.fimenpabjlk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gfkhhobedjc x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kdffhgdidnj (v:kdffhgdidnj) encoder = 
  Pbrt.Encoder.int32_as_varint v.dckcbphknmm encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mdplfmdjfji encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jjaapmnnpkb (v:jjaapmnnpkb) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  begin match v.fimenpabjlk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gfkhhobedjc x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_nbdnjolnelg (v:nbdnjolnelg) encoder = 
  Pbrt.Encoder.int32_as_varint v.dckcbphknmm encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mdplfmdjfji encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.iihookopmmk encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ndimhdecnpi (v:ndimhdecnpi) encoder = 
  begin match v.fimenpabjlk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gfkhhobedjc x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_licdjbkkfal (v:licdjbkkfal) encoder = 
  Pbrt.Encoder.int32_as_varint v.hgjolgkaofj encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mdplfmdjfji encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dckcbphknmm encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_piogcpmnabf (v:piogcpmnabf) encoder = 
  begin match v.fimenpabjlk with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_gfkhhobedjc x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nkadmflinkc (v:nkadmflinkc) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_bohmllfkgdb x encoder;
    Pbrt.Encoder.key 11 Pbrt.Bytes encoder; 
  ) v.avatar_list encoder;
  Pbrt.Encoder.int32_as_varint v.dckcbphknmm encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mdplfmdjfji encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_elleinlllod (v:elleinlllod) encoder = 
  begin match v.ibllilenejp with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_scene_battle_info x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mmgpeoifnbp (v:mmgpeoifnbp) encoder = 
  Pbrt.Encoder.int32_as_varint v.dckcbphknmm encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.piofaglkghg encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_lacfgpmpdpj (v:lacfgpmpdpj) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_kkkkpnfkonk (v:kkkkpnfkonk) encoder =
  match v with
  | Cmd_tutorial_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_get_tutorial_cs_req -> Pbrt.Encoder.int_as_varint 1668 encoder
  | Cmd_unlock_tutorial_cs_req -> Pbrt.Encoder.int_as_varint 1656 encoder
  | Cmd_finish_tutorial_guide_cs_req -> Pbrt.Encoder.int_as_varint 1699 encoder
  | Cmd_get_tutorial_guide_cs_req -> Pbrt.Encoder.int_as_varint 1611 encoder
  | Cmd_finish_tutorial_cs_req -> Pbrt.Encoder.int_as_varint 1651 encoder
  | Cmd_unlock_tutorial_guide_sc_rsp -> Pbrt.Encoder.int_as_varint 1629 encoder
  | Cmd_finish_tutorial_sc_rsp -> Pbrt.Encoder.int_as_varint 1633 encoder
  | Cmd_unlock_tutorial_sc_rsp -> Pbrt.Encoder.int_as_varint 1693 encoder
  | Cmd_unlock_tutorial_guide_cs_req -> Pbrt.Encoder.int_as_varint 1639 encoder
  | Cmd_get_tutorial_sc_rsp -> Pbrt.Encoder.int_as_varint 1606 encoder
  | Cmd_get_tutorial_guide_sc_rsp -> Pbrt.Encoder.int_as_varint 1643 encoder
  | Cmd_finish_tutorial_guide_sc_rsp -> Pbrt.Encoder.int_as_varint 1654 encoder

let rec encode_pb_jmfbfepgebc (v:jmfbfepgebc) encoder =
  match v with
  | Tutorial_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Tutorial_unlock -> Pbrt.Encoder.int_as_varint 1 encoder
  | Tutorial_finish -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_tutorial (v:tutorial) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  encode_pb_jmfbfepgebc v.status encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_tutorial_guide (v:tutorial_guide) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  encode_pb_jmfbfepgebc v.status encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  ()

let rec encode_pb_apikgighdgc (v:apikgighdgc) encoder = 
()

let rec encode_pb_get_tutorial_sc_rsp (v:get_tutorial_sc_rsp) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_tutorial x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  ) v.tutorial_list encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ojofgmhapgh (v:ojofgmhapgh) encoder = 
()

let rec encode_pb_get_tutorial_guide_sc_rsp (v:get_tutorial_guide_sc_rsp) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_tutorial_guide x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ) v.tutorial_guide_list encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  ()

let rec encode_pb_oplbnbefnjj (v:oplbnbefnjj) encoder = 
  Pbrt.Encoder.int32_as_varint v.bjmhgbbfpmn encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_unlock_tutorial_sc_rsp (v:unlock_tutorial_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  begin match v.tutorial with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_tutorial x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_mgnmibjadbe (v:mgnmibjadbe) encoder = 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_unlock_tutorial_guide_sc_rsp (v:unlock_tutorial_guide_sc_rsp) encoder = 
  begin match v.tutorial_guide with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_tutorial_guide x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_obkljeiahea (v:obkljeiahea) encoder = 
  Pbrt.Encoder.int32_as_varint v.bjmhgbbfpmn encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_finish_tutorial_sc_rsp (v:finish_tutorial_sc_rsp) encoder = 
  begin match v.tutorial with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_tutorial x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nlgambkaaie (v:nlgambkaaie) encoder = 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_finish_tutorial_guide_sc_rsp (v:finish_tutorial_guide_sc_rsp) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  begin match v.tutorial_guide with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_tutorial_guide x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.reward with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_item_list x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_elhiclfnnmc (v:elhiclfnnmc) encoder =
  match v with
  | Cmd_waypoint_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_set_cur_waypoint_sc_rsp -> Pbrt.Encoder.int_as_varint 443 encoder
  | Cmd_take_chapter_reward_sc_rsp -> Pbrt.Encoder.int_as_varint 451 encoder
  | Cmd_get_chapter_sc_rsp -> Pbrt.Encoder.int_as_varint 493 encoder
  | Cmd_waypoint_show_new_cs_notify -> Pbrt.Encoder.int_as_varint 439 encoder
  | Cmd_set_cur_waypoint_cs_req -> Pbrt.Encoder.int_as_varint 411 encoder
  | Cmd_take_chapter_reward_cs_req -> Pbrt.Encoder.int_as_varint 429 encoder
  | Cmd_get_waypoint_cs_req -> Pbrt.Encoder.int_as_varint 468 encoder
  | Cmd_get_waypoint_sc_rsp -> Pbrt.Encoder.int_as_varint 406 encoder
  | Cmd_get_chapter_cs_req -> Pbrt.Encoder.int_as_varint 456 encoder

let rec encode_pb_pkajimpclaj (v:pkajimpclaj) encoder =
  match v with
  | Waypoint_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Waypoint_type_stage -> Pbrt.Encoder.int_as_varint 1 encoder
  | Waypoint_type_plot -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_pkkplfincff (v:pkkplfincff) encoder =
  match v with
  | Waypoint_unlock_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Waypoint_unlock_pre -> Pbrt.Encoder.int_as_varint 1 encoder
  | Waypoint_unlock_level -> Pbrt.Encoder.int_as_varint 2 encoder

let rec encode_pb_nlbpclnhcjn (v:nlbpclnhcjn) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.kollpgccdil encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.kojolodooni encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jpkjdnbmhnl (v:jpkjdnbmhnl) encoder = 
  Pbrt.Encoder.bool v.kollpgccdil encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.efoafoabnon encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ghchnanjdfb encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_eehicbnnfej (v:eehicbnnfej) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_nlbpclnhcjn x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ) v.eiiaaffjcda encoder;
  begin match v.eeghmjloiap with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_jpkjdnbmhnl x encoder;
    Pbrt.Encoder.key 8 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_eogickanbpl (v:eogickanbpl) encoder = 
  Pbrt.Encoder.int32_as_varint v.mhhndeiccmp encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_cbjjhcohoko (v:cbjjhcohoko) encoder = 
  begin match v.mcdcffpnpal with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_eehicbnnfej x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.impkmnjoncg encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  ()

let rec encode_pb_infclppcfii (v:infclppcfii) encoder = 
  Pbrt.Encoder.int32_as_varint v.cielfhbbkif encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ocfjiflmdmf (v:ocfjiflmdmf) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.impkmnjoncg encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_djjgocfdboc (v:djjgocfdboc) encoder = 
()

let rec encode_pb_cookpofdkal (v:cookpofdkal) encoder = 
  Pbrt.Encoder.int32_as_varint v.impkmnjoncg encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_jpkjdnbmhnl x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  ) v.eadjabjkdmd encoder;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_inkhgacfojg (v:inkhgacfojg) encoder = 
  Pbrt.Encoder.int32_as_varint v.cielfhbbkif encoder;
  Pbrt.Encoder.key 15 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mhhndeiccmp encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ljffpoepbog (v:ljffpoepbog) encoder = 
  Pbrt.Encoder.int32_as_varint v.mhhndeiccmp encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.llonjcmgcfh encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_bfbaccbmiem (v:bfbaccbmiem) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.mhhndeiccmp encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.llonjcmgcfh encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  ()

let rec encode_pb_olnkajodjjo (v:olnkajodjjo) encoder =
  match v with
  | Cmd_wolf_bro_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Cmd_restore_wolf_bro_game_archive_sc_rsp -> Pbrt.Encoder.int_as_varint 6593 encoder
  | Cmd_wolf_bro_game_pickup_bullet_sc_rsp -> Pbrt.Encoder.int_as_varint 6582 encoder
  | Cmd_wolf_bro_game_data_change_sc_notify -> Pbrt.Encoder.int_as_varint 6599 encoder
  | Cmd_restore_wolf_bro_game_archive_cs_req -> Pbrt.Encoder.int_as_varint 6556 encoder
  | Cmd_get_wolf_bro_game_data_sc_rsp -> Pbrt.Encoder.int_as_varint 6533 encoder
  | Cmd_archive_wolf_bro_game_sc_rsp -> Pbrt.Encoder.int_as_varint 6543 encoder
  | Cmd_start_wolf_bro_game_sc_rsp -> Pbrt.Encoder.int_as_varint 6506 encoder
  | Cmd_archive_wolf_bro_game_cs_req -> Pbrt.Encoder.int_as_varint 6511 encoder
  | Cmd_quit_wolf_bro_game_cs_req -> Pbrt.Encoder.int_as_varint 6539 encoder
  | Cmd_wolf_bro_game_explode_monster_cs_req -> Pbrt.Encoder.int_as_varint 6598 encoder
  | Cmd_wolf_bro_game_activate_bullet_cs_req -> Pbrt.Encoder.int_as_varint 6534 encoder
  | Cmd_quit_wolf_bro_game_sc_rsp -> Pbrt.Encoder.int_as_varint 6529 encoder
  | Cmd_get_wolf_bro_game_data_cs_req -> Pbrt.Encoder.int_as_varint 6551 encoder
  | Cmd_wolf_bro_game_use_bullet_sc_rsp -> Pbrt.Encoder.int_as_varint 6565 encoder
  | Cmd_wolf_bro_game_pickup_bullet_cs_req -> Pbrt.Encoder.int_as_varint 6548 encoder
  | Cmd_start_wolf_bro_game_cs_req -> Pbrt.Encoder.int_as_varint 6568 encoder
  | Cmd_wolf_bro_game_activate_bullet_sc_rsp -> Pbrt.Encoder.int_as_varint 6597 encoder
  | Cmd_wolf_bro_game_explode_monster_sc_rsp -> Pbrt.Encoder.int_as_varint 6525 encoder
  | Cmd_wolf_bro_game_use_bullet_cs_req -> Pbrt.Encoder.int_as_varint 6554 encoder

let rec encode_pb_bldfddbpnba (v:bldfddbpnba) encoder = 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_vector x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  ) v.bhjdpndboha encoder;
  begin match v.jililehmdkg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_motion_info x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.bool v.bojongdmfck encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.flamaakibdo encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  ()

let rec encode_pb_megkociblgl (v:megkociblgl) encoder = 
  Pbrt.Encoder.int32_as_varint v.flamaakibdo encoder;
  Pbrt.Encoder.key 14 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.bool v.bojongdmfck encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  Pbrt.List_util.rev_iter_with (fun x encoder -> 
    Pbrt.Encoder.nested encode_pb_vector x encoder;
    Pbrt.Encoder.key 6 Pbrt.Bytes encoder; 
  ) v.bhjdpndboha encoder;
  Pbrt.Encoder.string v.mbmegghhkjl encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  begin match v.icebhafphej with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_bldfddbpnba x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_cffmmlmbakg (v:cffmmlmbakg) encoder = 
  begin match v.podpafooomg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_iggijbjppoc x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  begin match v.jililehmdkg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_motion_info x encoder;
    Pbrt.Encoder.key 4 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.bool v.nipjabamela encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_ocabdlfgddo (v:ocabdlfgddo) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  begin match v.dkefdkdleip with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_megkociblgl x encoder;
    Pbrt.Encoder.key 9 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bbejpgcgoeg (v:bbejpgcgoeg) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  begin match v.jililehmdkg with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_motion_info x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_knnddnnphdo (v:knnddnnphdo) encoder = 
  begin match v.dkefdkdleip with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_megkociblgl x encoder;
    Pbrt.Encoder.key 2 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dlemcdhgehe (v:dlemcdhgehe) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  ()

let rec encode_pb_fhodkhmblge (v:fhodkhmblge) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  begin match v.dkefdkdleip with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_megkociblgl x encoder;
    Pbrt.Encoder.key 3 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_hkfphajhobo (v:hkfphajhobo) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  ()

let rec encode_pb_obmalglckij (v:obmalglckij) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.dkefdkdleip with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_megkociblgl x encoder;
    Pbrt.Encoder.key 15 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bhhgnciilln (v:bhhgnciilln) encoder = 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  ()

let rec encode_pb_nccafebhggn (v:nccafebhggn) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  begin match v.dkefdkdleip with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_megkociblgl x encoder;
    Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_nphghnpilgh (v:nphghnpilgh) encoder = 
  begin match v.dkefdkdleip with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_megkociblgl x encoder;
    Pbrt.Encoder.key 1 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_bmnpakcohnb (v:bmnpakcohnb) encoder = 
  begin match v.fdlfjmagnod with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_vector x encoder;
    Pbrt.Encoder.key 10 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ohainjgiflk encoder;
  Pbrt.Encoder.key 5 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_klekfnbkhle (v:klekfnbkhle) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  begin match v.dkefdkdleip with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_megkociblgl x encoder;
    Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_mkoahlhfigf (v:mkoahlhfigf) encoder = 
  begin match v.fdlfjmagnod with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_vector x encoder;
    Pbrt.Encoder.key 7 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_fghhgocefoj (v:fghhgocefoj) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  begin match v.dkefdkdleip with
  | Some x -> 
    Pbrt.Encoder.nested encode_pb_megkociblgl x encoder;
    Pbrt.Encoder.key 12 Pbrt.Bytes encoder; 
  | None -> ();
  end;
  ()

let rec encode_pb_fmckljimojc (v:fmckljimojc) encoder = 
  Pbrt.Encoder.int32_as_varint v.pfbnanpcdjh encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.group_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  ()

let rec encode_pb_dcpbeknpeij (v:dcpbeknpeij) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  ()

let rec encode_pb_mgeahpkhpao (v:mgeahpkhpao) encoder = 
  Pbrt.Encoder.nested (fun lst encoder ->
    Pbrt.List_util.rev_iter_with (fun x encoder -> 
      Pbrt.Encoder.int32_as_varint x encoder;
    ) lst encoder;
  ) v.ohainjgiflk encoder;
  Pbrt.Encoder.key 13 Pbrt.Bytes encoder; 
  ()

let rec encode_pb_mjchmfgimgb (v:mjchmfgimgb) encoder = 
  Pbrt.Encoder.int32_as_varint v.retcode encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  ()

let rec encode_pb_jgidkoomfnm (v:jgidkoomfnm) encoder =
  match v with
  | Dispatch_type_none -> Pbrt.Encoder.int_as_varint (0) encoder
  | Dispatch_type_by_addr -> Pbrt.Encoder.int_as_varint 1 encoder
  | Dispatch_type_by_mod -> Pbrt.Encoder.int_as_varint 2 encoder
  | Dispatch_type_by_rand -> Pbrt.Encoder.int_as_varint 3 encoder
  | Dispatch_type_by_chash -> Pbrt.Encoder.int_as_varint 4 encoder
  | Dispatch_type_by_sticky_session -> Pbrt.Encoder.int_as_varint 5 encoder
  | Dispatch_type_by_object -> Pbrt.Encoder.int_as_varint 6 encoder

let rec encode_pb_packet_head (v:packet_head) encoder = 
  Pbrt.Encoder.int32_as_varint v.packet_id encoder;
  Pbrt.Encoder.key 1 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.sign_type encoder;
  Pbrt.Encoder.key 2 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.sign encoder;
  Pbrt.Encoder.key 3 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.user_id encoder;
  Pbrt.Encoder.key 4 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.src_addr encoder;
  Pbrt.Encoder.key 5 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dst_addr encoder;
  Pbrt.Encoder.key 6 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dispatch_type encoder;
  Pbrt.Encoder.key 7 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.server_type encoder;
  Pbrt.Encoder.key 8 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.dispatch_key encoder;
  Pbrt.Encoder.key 9 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.user_session_id encoder;
  Pbrt.Encoder.key 10 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.id encoder;
  Pbrt.Encoder.key 11 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.coroutine_id encoder;
  Pbrt.Encoder.key 12 Pbrt.Varint encoder; 
  Pbrt.Encoder.int32_as_varint v.hop_cnt encoder;
  Pbrt.Encoder.key 13 Pbrt.Varint encoder; 
  ()

[@@@ocaml.warning "-27-30-39"]

(** {2 Protobuf Decoding} *)

let rec decode_pb_avatar_slot_type d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Avatar_slot_1:avatar_slot_type)
  | 1 -> (Avatar_slot_2:avatar_slot_type)
  | 2 -> (Avatar_slot_3:avatar_slot_type)
  | _ -> Pbrt.Decoder.malformed_variant "avatar_slot_type"

let rec decode_pb_item_type d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Item_type_none:item_type)
  | 1 -> (Item_avatar_card:item_type)
  | 2 -> (Item_equipment:item_type)
  | 3 -> (Item_material:item_type)
  | 4 -> (Item_avatar_exp:item_type)
  | 5 -> (Item_relic:item_type)
  | _ -> Pbrt.Decoder.malformed_variant "item_type"

let rec decode_pb_virtual_item d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Virtual_item_none:virtual_item)
  | 1 -> (Virtual_item_hcoin:virtual_item)
  | 2 -> (Virtual_item_scoin:virtual_item)
  | 3 -> (Virtual_item_mcoin:virtual_item)
  | 11 -> (Virtual_item_stamina:virtual_item)
  | 12 -> (Virtual_item_reserve_stamina:virtual_item)
  | 21 -> (Virtual_item_avatar_exp:virtual_item)
  | 22 -> (Virtual_item_exp:virtual_item)
  | 23 -> (Virtual_item_daily_active_point:virtual_item)
  | 24 -> (Virtual_item_mp_max:virtual_item)
  | 25 -> (Virtual_item_player_return_point:virtual_item)
  | 26 -> (Virtual_item_battle_college_point:virtual_item)
  | 31 -> (Virtual_item_rogue_coin:virtual_item)
  | 32 -> (Virtual_item_rogue_talent_coin:virtual_item)
  | 33 -> (Virtual_item_rogue_reward_key:virtual_item)
  | 41 -> (Virtual_item_achievement_exp:virtual_item)
  | 51 -> (Virtual_item_bp_exp:virtual_item)
  | 52 -> (Virtual_item_bp_real_exp:virtual_item)
  | 53 -> (Virtual_item_museum_funds:virtual_item)
  | 190 -> (Virtual_item_warrior_exp:virtual_item)
  | 191 -> (Virtual_item_rogue_exp:virtual_item)
  | 192 -> (Virtual_item_mage_exp:virtual_item)
  | 193 -> (Virtual_item_shaman_exp:virtual_item)
  | 194 -> (Virtual_item_warlock_exp:virtual_item)
  | 195 -> (Virtual_item_knight_exp:virtual_item)
  | 196 -> (Virtual_item_priest_exp:virtual_item)
  | 100000 -> (Virtual_item_punk_lord_point:virtual_item)
  | 280001 -> (Virtual_item_gameplay_counter_monster_sneak_vision:virtual_item)
  | 280002 -> (Virtual_item_gameplay_counter_wolf_bro_bullet:virtual_item)
  | 281001 -> (Virtual_item_alley_funds:virtual_item)
  | 281012 -> (Virtual_item_rogue_puman_coupon:virtual_item)
  | 300101 -> (Virtual_item_month_card:virtual_item)
  | 300102 -> (Virtual_item_bp_normal:virtual_item)
  | 300103 -> (Virtual_item_bp_deluxe:virtual_item)
  | 300104 -> (Virtual_item_bp_upgrade:virtual_item)
  | 281002 -> (Virtual_item_heliobus_fans:virtual_item)
  | 281003 -> (Virtual_item_space_zoo_hybrid_item:virtual_item)
  | 281004 -> (Virtual_item_space_zoo_exp_point:virtual_item)
  | 281013 -> (Virtual_item_rogue_nous_talent_coin:virtual_item)
  | 281019 -> (Virtual_item_evolve_build_coin:virtual_item)
  | 281005 -> (Virtual_item_drink_maker_tip:virtual_item)
  | 281014 -> (Virtual_item_monopoly_dice:virtual_item)
  | 281015 -> (Virtual_item_monopoly_coin:virtual_item)
  | 281016 -> (Virtual_item_monopoly_cheatdice:virtual_item)
  | 281017 -> (Virtual_item_monopoly_reroll:virtual_item)
  | 281018 -> (Virtual_item_rogue_tourn_permanent_talent_coin:virtual_item)
  | 281022 -> (Virtual_item_rogue_tourn_exp:virtual_item)
  | 281024 -> (Virtual_item_matchthree_coin:virtual_item)
  | 281023 -> (Virtual_item_sword_training_skill_point:virtual_item)
  | 281025 -> (Virtual_item_fight_fest_coin:virtual_item)
  | _ -> Pbrt.Decoder.malformed_variant "virtual_item"

let rec decode_pb_gameplay_counter_type d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Gameplay_counter_none:gameplay_counter_type)
  | 280001 -> (Gameplay_counter_monster_sneak_vision:gameplay_counter_type)
  | _ -> Pbrt.Decoder.malformed_variant "gameplay_counter_type"

let rec decode_pb_black_limit_level d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Black_limit_level_all:black_limit_level)
  | _ -> Pbrt.Decoder.malformed_variant "black_limit_level"

let rec decode_pb_area_type d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Area_none:area_type)
  | 1 -> (Area_cn:area_type)
  | 2 -> (Area_jp:area_type)
  | 3 -> (Area_asia:area_type)
  | 4 -> (Area_west:area_type)
  | 5 -> (Area_kr:area_type)
  | 6 -> (Area_overseas:area_type)
  | _ -> Pbrt.Decoder.malformed_variant "area_type"

let rec decode_pb_entity_type d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Entity_none:entity_type)
  | 1 -> (Entity_avatar:entity_type)
  | 2 -> (Entity_monster:entity_type)
  | 3 -> (Entity_npc:entity_type)
  | 4 -> (Entity_prop:entity_type)
  | 5 -> (Entity_trigger:entity_type)
  | 6 -> (Entity_env:entity_type)
  | 7 -> (Entity_summon_unit:entity_type)
  | _ -> Pbrt.Decoder.malformed_variant "entity_type"

let rec decode_pb_language_type d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Language_none:language_type)
  | 1 -> (Language_sc:language_type)
  | 2 -> (Language_tc:language_type)
  | 3 -> (Language_en:language_type)
  | 4 -> (Language_kr:language_type)
  | 5 -> (Language_jp:language_type)
  | 6 -> (Language_fr:language_type)
  | 7 -> (Language_de:language_type)
  | 8 -> (Language_es:language_type)
  | 9 -> (Language_pt:language_type)
  | 10 -> (Language_ru:language_type)
  | 11 -> (Language_th:language_type)
  | 12 -> (Language_vi:language_type)
  | 13 -> (Language_id:language_type)
  | _ -> Pbrt.Decoder.malformed_variant "language_type"

let rec decode_pb_platform_type d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Editor:platform_type)
  | 1 -> (Ios:platform_type)
  | 2 -> (Android:platform_type)
  | 3 -> (Pc:platform_type)
  | 4 -> (Web:platform_type)
  | 5 -> (Wap:platform_type)
  | 6 -> (Ps4:platform_type)
  | 7 -> (Nintendo:platform_type)
  | 8 -> (Cloud_android:platform_type)
  | 9 -> (Cloud_pc:platform_type)
  | 10 -> (Cloud_ios:platform_type)
  | 11 -> (Ps5:platform_type)
  | 12 -> (Mac:platform_type)
  | 13 -> (Cloud_mac:platform_type)
  | 20 -> (Cloud_web_android:platform_type)
  | 21 -> (Cloud_web_ios:platform_type)
  | 22 -> (Cloud_web_pc:platform_type)
  | 23 -> (Cloud_web_mac:platform_type)
  | 24 -> (Cloud_web_touch:platform_type)
  | 25 -> (Cloud_web_keyboard:platform_type)
  | _ -> Pbrt.Decoder.malformed_variant "platform_type"

let rec decode_pb_relogin_type d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (No_kick:relogin_type)
  | 1 -> (Force_kick:relogin_type)
  | 2 -> (Idle_kick:relogin_type)
  | 3 -> (Silence:relogin_type)
  | _ -> Pbrt.Decoder.malformed_variant "relogin_type"

let rec decode_pb_avatar_type d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Avatar_type_none:avatar_type)
  | 1 -> (Avatar_trial_type:avatar_type)
  | 2 -> (Avatar_limit_type:avatar_type)
  | 3 -> (Avatar_formal_type:avatar_type)
  | 4 -> (Avatar_assist_type:avatar_type)
  | 5 -> (Avatar_aether_divide_type:avatar_type)
  | 6 -> (Avatar_upgrade_available_type:avatar_type)
  | _ -> Pbrt.Decoder.malformed_variant "avatar_type"

let rec decode_pb_multi_path_avatar_type d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Multi_path_avatar_type_none:multi_path_avatar_type)
  | 1001 -> (Mar_7th_knight_type:multi_path_avatar_type)
  | 1224 -> (Mar_7th_rogue_type:multi_path_avatar_type)
  | 8001 -> (Boy_warrior_type:multi_path_avatar_type)
  | 8002 -> (Girl_warrior_type:multi_path_avatar_type)
  | 8003 -> (Boy_knight_type:multi_path_avatar_type)
  | 8004 -> (Girl_knight_type:multi_path_avatar_type)
  | 8005 -> (Boy_shaman_type:multi_path_avatar_type)
  | 8006 -> (Girl_shaman_type:multi_path_avatar_type)
  | _ -> Pbrt.Decoder.malformed_variant "multi_path_avatar_type"

let rec decode_pb_gender d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Gender_none:gender)
  | 1 -> (Gender_man:gender)
  | 2 -> (Gender_woman:gender)
  | _ -> Pbrt.Decoder.malformed_variant "gender"

let rec decode_pb_dhlmiciamka d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Product_none:dhlmiciamka)
  | 1 -> (Product_normal:dhlmiciamka)
  | 2 -> (Product_limit:dhlmiciamka)
  | 3 -> (Product_limit_no_pay:dhlmiciamka)
  | 4 -> (Product_no_process_order:dhlmiciamka)
  | _ -> Pbrt.Decoder.malformed_variant "dhlmiciamka"

let rec decode_pb_pifanmpbmaj d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Product_gift_none:pifanmpbmaj)
  | 1 -> (Product_gift_coin:pifanmpbmaj)
  | 2 -> (Product_gift_month_card:pifanmpbmaj)
  | 3 -> (Product_gift_bp_68:pifanmpbmaj)
  | 4 -> (Product_gift_bp_128:pifanmpbmaj)
  | 5 -> (Product_gift_bp68_upgrade_128:pifanmpbmaj)
  | 6 -> (Product_gift_point_card:pifanmpbmaj)
  | 7 -> (Product_gift_ps_pre_order_1:pifanmpbmaj)
  | 8 -> (Product_gift_ps_pre_order_2:pifanmpbmaj)
  | 9 -> (Product_gift_google_points_100:pifanmpbmaj)
  | 10 -> (Product_gift_google_points_150:pifanmpbmaj)
  | 11 -> (Product_gift_ps_point_card_030:pifanmpbmaj)
  | 12 -> (Product_gift_ps_point_card_050:pifanmpbmaj)
  | 13 -> (Product_gift_ps_point_card_100:pifanmpbmaj)
  | _ -> Pbrt.Decoder.malformed_variant "pifanmpbmaj"

let rec decode_pb_feature_switch_type d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Feature_switch_none:feature_switch_type)
  | 1 -> (Feature_switch_shop:feature_switch_type)
  | 2 -> (Feature_switch_lineup_name:feature_switch_type)
  | 3 -> (Feature_switch_recharge_shop:feature_switch_type)
  | 4 -> (Feature_switch_nickname:feature_switch_type)
  | 5 -> (Feature_switch_signature:feature_switch_type)
  | 6 -> (Feature_switch_battlepass:feature_switch_type)
  | 7 -> (Feature_switch_punk_lord:feature_switch_type)
  | 8 -> (Feature_switch_monthcard_daily:feature_switch_type)
  | 9 -> (Feature_switch_picture_share:feature_switch_type)
  | 10 -> (Feature_switch_rogue:feature_switch_type)
  | 11 -> (Feature_switch_challenge:feature_switch_type)
  | 12 -> (Feature_switch_cocoon:feature_switch_type)
  | 13 -> (Feature_switch_raid:feature_switch_type)
  | 14 -> (Feature_switch_maze_plane_event:feature_switch_type)
  | 15 -> (Feature_switch_activity_panel:feature_switch_type)
  | 16 -> (Feature_switch_mailbox:feature_switch_type)
  | 17 -> (Feature_switch_quest:feature_switch_type)
  | 18 -> (Feature_switch_gacha:feature_switch_type)
  | 19 -> (Feature_switch_chat:feature_switch_type)
  | 20 -> (Feature_switch_modify_friend_alias:feature_switch_type)
  | 21 -> (Feature_switch_use_item:feature_switch_type)
  | 22 -> (Feature_switch_activity_schedule:feature_switch_type)
  | 23 -> (Feature_switch_farm_element:feature_switch_type)
  | 24 -> (Feature_switch_achievement_level:feature_switch_type)
  | 25 -> (Feature_switch_daily_active_level:feature_switch_type)
  | 26 -> (Feature_switch_player_return:feature_switch_type)
  | 27 -> (Feature_switch_first_set_nickname:feature_switch_type)
  | 28 -> (Feature_switch_main_mission_reward:feature_switch_type)
  | 29 -> (Feature_switch_sub_mission_reward:feature_switch_type)
  | 30 -> (Feature_switch_pam_mission:feature_switch_type)
  | 31 -> (Feature_switch_daily_mission:feature_switch_type)
  | 32 -> (Feature_switch_destroy_item:feature_switch_type)
  | 33 -> (Feature_switch_consume_item_turn:feature_switch_type)
  | 34 -> (Feature_switch_rogue_modifier:feature_switch_type)
  | 35 -> (Feature_switch_chess_rogue:feature_switch_type)
  | 36 -> (Feature_switch_chess_rogue_board:feature_switch_type)
  | 37 -> (Feature_switch_roll_shop:feature_switch_type)
  | 38 -> (Feature_switch_h5_return:feature_switch_type)
  | 39 -> (Feature_switch_offering:feature_switch_type)
  | 40 -> (Feature_switch_server_red_point:feature_switch_type)
  | 41 -> (Feature_switch_monopoly_option_ratio:feature_switch_type)
  | 42 -> (Feature_switch_monopoly_get_raffle_ticket:feature_switch_type)
  | 43 -> (Feature_switch_monopoly_take_raffle_reward:feature_switch_type)
  | 44 -> (Feature_switch_challenge_recommend_lineup:feature_switch_type)
  | 45 -> (Feature_switch_psn_member_ship_check:feature_switch_type)
  | 46 -> (Feature_switch_player_board_development:feature_switch_type)
  | 47 -> (Feature_switch_pvp:feature_switch_type)
  | 48 -> (Feature_switch_rogue_mode:feature_switch_type)
  | 49 -> (Feature_switch_rogue_tourn_ugc:feature_switch_type)
  | 50 -> (Feature_switch_relic_filter_plan_name:feature_switch_type)
  | 51 -> (Feature_switch_maze_item_use_buff_drop:feature_switch_type)
  | 52 -> (Feature_switch_red_dot:feature_switch_type)
  | _ -> Pbrt.Decoder.malformed_variant "feature_switch_type"

let rec decode_pb_hchcnfgecjj d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Secret_key_none:hchcnfgecjj)
  | 1 -> (Secret_key_server_check:hchcnfgecjj)
  | 2 -> (Secret_key_video:hchcnfgecjj)
  | 3 -> (Secret_key_battle_time:hchcnfgecjj)
  | _ -> Pbrt.Decoder.malformed_variant "hchcnfgecjj"

let rec decode_pb_replay_type d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Replay_type_none:replay_type)
  | 1 -> (Replay_type_punk_lord:replay_type)
  | _ -> Pbrt.Decoder.malformed_variant "replay_type"

let rec decode_pb_punk_lord_share_type d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Punk_lord_share_type_none:punk_lord_share_type)
  | 1 -> (Punk_lord_share_type_friend:punk_lord_share_type)
  | 2 -> (Punk_lord_share_type_all:punk_lord_share_type)
  | _ -> Pbrt.Decoder.malformed_variant "punk_lord_share_type"

let rec decode_pb_punk_lord_attacker_status d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Punk_lord_attacker_status_none:punk_lord_attacker_status)
  | 1 -> (Punk_lord_attacker_status_attacked:punk_lord_attacker_status)
  | 2 -> (Punk_lord_attacker_status_attacking:punk_lord_attacker_status)
  | 3 -> (Punk_lord_attacker_status_attacked_and_attacking:punk_lord_attacker_status)
  | _ -> Pbrt.Decoder.malformed_variant "punk_lord_attacker_status"

let rec decode_pb_punk_lord_monster_info_notify_reason d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Punk_lord_monster_info_notify_reason_none:punk_lord_monster_info_notify_reason)
  | 1 -> (Punk_lord_monster_info_notify_reason_enter_raid:punk_lord_monster_info_notify_reason)
  | 2 -> (Punk_lord_monster_info_notify_reason_battle_end:punk_lord_monster_info_notify_reason)
  | 3 -> (Punk_lord_monster_info_notify_reason_leave_raid:punk_lord_monster_info_notify_reason)
  | _ -> Pbrt.Decoder.malformed_variant "punk_lord_monster_info_notify_reason"

let rec decode_pb_chat_type d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Chat_type_none:chat_type)
  | 1 -> (Chat_type_private:chat_type)
  | 2 -> (Chat_type_group:chat_type)
  | _ -> Pbrt.Decoder.malformed_variant "chat_type"

let rec decode_pb_msg_type d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Msg_type_none:msg_type)
  | 1 -> (Msg_type_custom_text:msg_type)
  | 2 -> (Msg_type_emoji:msg_type)
  | 3 -> (Msg_type_invite:msg_type)
  | _ -> Pbrt.Decoder.malformed_variant "msg_type"

let rec decode_pb_shield_type d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Shield_type_none:shield_type)
  | 1 -> (Shield_type_replace:shield_type)
  | 2 -> (Shield_type_shied:shield_type)
  | _ -> Pbrt.Decoder.malformed_variant "shield_type"

let rec decode_pb_func_unlock_id d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Func_unlock_id_none:func_unlock_id)
  | 403 -> (Func_unlock_id_relic:func_unlock_id)
  | 404 -> (Func_unlock_id_relic_num:func_unlock_id)
  | 401 -> (Func_unlock_id_equipment:func_unlock_id)
  | 402 -> (Func_unlock_id_skilltree:func_unlock_id)
  | 2300 -> (Func_unlock_id_gacha:func_unlock_id)
  | 3100 -> (Func_unlock_id_expedition:func_unlock_id)
  | 4100 -> (Func_unlock_id_compose:func_unlock_id)
  | 3700 -> (Func_unlock_id_fightactivity:func_unlock_id)
  | _ -> Pbrt.Decoder.malformed_variant "func_unlock_id"

let rec decode_pb_assist_avatar_type d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Assist_avatar_unknow:assist_avatar_type)
  | 1 -> (Assist_avatar_level:assist_avatar_type)
  | 2 -> (Assist_avatar_rank:assist_avatar_type)
  | _ -> Pbrt.Decoder.malformed_variant "assist_avatar_type"

let rec decode_pb_development_type d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Development_none:development_type)
  | 1 -> (Development_rogue_cosmos:development_type)
  | 2 -> (Development_rogue_chess:development_type)
  | 3 -> (Development_rogue_chess_nous:development_type)
  | 4 -> (Development_memory_challenge:development_type)
  | 5 -> (Development_story_challenge:development_type)
  | 6 -> (Development_unlock_avatar:development_type)
  | 7 -> (Development_unlock_equipment:development_type)
  | 8 -> (Development_activity_start:development_type)
  | 9 -> (Development_activity_end:development_type)
  | 10 -> (Development_boss_challenge:development_type)
  | 11 -> (Development_rogue_tourn:development_type)
  | 12 -> (Development_rogue_tourn_week:development_type)
  | _ -> Pbrt.Decoder.malformed_variant "development_type"

let rec decode_pb_playing_state d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Playing_state_none:playing_state)
  | 1 -> (Playing_rogue_cosmos:playing_state)
  | 2 -> (Playing_rogue_chess:playing_state)
  | 3 -> (Playing_rogue_chess_nous:playing_state)
  | 4 -> (Playing_challenge_memory:playing_state)
  | 5 -> (Playing_challenge_story:playing_state)
  | 6 -> (Playing_challenge_boss:playing_state)
  | 7 -> (Playing_rogue_tourn:playing_state)
  | _ -> Pbrt.Decoder.malformed_variant "playing_state"

let rec decode_pb_apkcjpohccj d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Match_room_character_none:apkcjpohccj)
  | 1 -> (Match_room_character_leader:apkcjpohccj)
  | 2 -> (Match_room_character_member:apkcjpohccj)
  | 3 -> (Match_room_character_watcher:apkcjpohccj)
  | _ -> Pbrt.Decoder.malformed_variant "apkcjpohccj"

let rec decode_pb_match_room_character_status d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Match_room_character_status_none:match_room_character_status)
  | 1 -> (Match_room_character_status_idle:match_room_character_status)
  | 2 -> (Match_room_character_status_operating:match_room_character_status)
  | 3 -> (Match_room_character_status_ready:match_room_character_status)
  | 4 -> (Match_room_character_status_fighting:match_room_character_status)
  | 5 -> (Match_room_character_status_watching:match_room_character_status)
  | _ -> Pbrt.Decoder.malformed_variant "match_room_character_status"

let rec decode_pb_player_basic_info d =
  let v = default_player_basic_info_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.nickname <- Pbrt.Decoder.string d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_basic_info), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_basic_info), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_basic_info), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.stamina <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_basic_info), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.mcoin <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_basic_info), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.hcoin <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_basic_info), field(6)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.scoin <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_basic_info), field(7)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.world_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_basic_info), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nickname = v.nickname;
    level = v.level;
    exp = v.exp;
    stamina = v.stamina;
    mcoin = v.mcoin;
    hcoin = v.hcoin;
    scoin = v.scoin;
    world_level = v.world_level;
  } : player_basic_info)

let rec decode_pb_sp_progress d =
  let v = default_sp_progress_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.sp_cur <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(sp_progress), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.sp_need <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(sp_progress), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    sp_cur = v.sp_cur;
    sp_need = v.sp_need;
  } : sp_progress)

let rec decode_pb_black_info d =
  let v = default_black_info_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.begin_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(black_info), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.end_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(black_info), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.limit_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(black_info), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.ban_type <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(black_info), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    begin_time = v.begin_time;
    end_time = v.end_time;
    limit_level = v.limit_level;
    ban_type = v.ban_type;
  } : black_info)

let rec decode_pb_lmamieaaodh d =
  let v = default_lmamieaaodh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmamieaaodh), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmamieaaodh), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_type = v.avatar_type;
    id = v.id;
  } : lmamieaaodh)

let rec decode_pb_version_count d =
  let v = default_version_count_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.version <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(version_count), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.count <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(version_count), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    version = v.version;
    count = v.count;
  } : version_count)

let rec decode_pb_client_download_data d =
  let v = default_client_download_data_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.version <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(client_download_data), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(client_download_data), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.data <- Pbrt.Decoder.bytes d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(client_download_data), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    version = v.version;
    time = v.time;
    data = v.data;
  } : client_download_data)

let rec decode_pb_client_obj_download_data d =
  let v = default_client_obj_download_data_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.obj <- Pbrt.Decoder.bytes d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(client_obj_download_data), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.hdhpoaagdem <- Some (decode_pb_client_download_data (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(client_obj_download_data), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    obj = v.obj;
    hdhpoaagdem = v.hdhpoaagdem;
  } : client_obj_download_data)

let rec decode_pb_client_upload_data d =
  let v = default_client_upload_data_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.tag <- Pbrt.Decoder.string d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(client_upload_data), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.value <- Pbrt.Decoder.string d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(client_upload_data), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    tag = v.tag;
    value = v.value;
  } : client_upload_data)

let rec decode_pb_feature_switch_param d =
  let v = default_feature_switch_param_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.param_list <- List.rev v.param_list;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.param_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(feature_switch_param), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    param_list = v.param_list;
  } : feature_switch_param)

let rec decode_pb_feature_switch_info d =
  let v = default_feature_switch_info_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.switch_list <- List.rev v.switch_list;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.type_ <- decode_pb_feature_switch_type d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(feature_switch_info), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.switch_list <- (decode_pb_feature_switch_param (Pbrt.Decoder.nested d)) :: v.switch_list;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(feature_switch_info), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.is_all_closed <- Pbrt.Decoder.bool d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(feature_switch_info), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    type_ = v.type_;
    switch_list = v.switch_list;
    is_all_closed = v.is_all_closed;
  } : feature_switch_info)

let rec decode_pb_lbofjhojgph d =
  let v = default_lbofjhojgph_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.hpifcabfbpa <- Pbrt.Decoder.string d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbofjhojgph), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.ipljneeomdp <- Pbrt.Decoder.string d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbofjhojgph), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.apmgpgghokn <- Pbrt.Decoder.string d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbofjhojgph), field(3)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.iobdkibfiaj <- Pbrt.Decoder.string d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbofjhojgph), field(4)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.jblmmlkkdkn <- Pbrt.Decoder.string d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbofjhojgph), field(5)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.hmmclkjhige <- Pbrt.Decoder.string d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbofjhojgph), field(6)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.fkojgdfhpep <- Pbrt.Decoder.string d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbofjhojgph), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hpifcabfbpa = v.hpifcabfbpa;
    ipljneeomdp = v.ipljneeomdp;
    apmgpgghokn = v.apmgpgghokn;
    iobdkibfiaj = v.iobdkibfiaj;
    jblmmlkkdkn = v.jblmmlkkdkn;
    hmmclkjhige = v.hmmclkjhige;
    fkojgdfhpep = v.fkojgdfhpep;
  } : lbofjhojgph)

let rec decode_pb_nlhgcplikkp d =
  let v = default_nlhgcplikkp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.pjlagobkdmo <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlhgcplikkp), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.blnoeiceljf <- decode_pb_replay_type d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlhgcplikkp), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlhgcplikkp), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlhgcplikkp), field(4)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.nickname <- Pbrt.Decoder.string d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlhgcplikkp), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.bmfhibobmhp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlhgcplikkp), field(6)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.aedhlhjgfpg <- Pbrt.Decoder.string d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlhgcplikkp), field(7)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.fgilieldboi <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlhgcplikkp), field(8)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.lfnjmcnfhha <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlhgcplikkp), field(9)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.oeoikijbcfg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlhgcplikkp), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pjlagobkdmo = v.pjlagobkdmo;
    blnoeiceljf = v.blnoeiceljf;
    stage_id = v.stage_id;
    uid = v.uid;
    nickname = v.nickname;
    bmfhibobmhp = v.bmfhibobmhp;
    aedhlhjgfpg = v.aedhlhjgfpg;
    fgilieldboi = v.fgilieldboi;
    lfnjmcnfhha = v.lfnjmcnfhha;
    oeoikijbcfg = v.oeoikijbcfg;
  } : nlhgcplikkp)

let rec decode_pb_punk_lord_battle_avatar d =
  let v = default_punk_lord_battle_avatar_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(punk_lord_battle_avatar), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.avatar_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(punk_lord_battle_avatar), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id = v.avatar_id;
    avatar_level = v.avatar_level;
  } : punk_lord_battle_avatar)

let rec decode_pb_punk_lord_battle_record d =
  let v = default_punk_lord_battle_record_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_list <- List.rev v.avatar_list;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(punk_lord_battle_record), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.damage_hp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(punk_lord_battle_record), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.is_final_hit <- Pbrt.Decoder.bool d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(punk_lord_battle_record), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.over_kill_damage_hp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(punk_lord_battle_record), field(4)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.battle_replay_key <- Pbrt.Decoder.string d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(punk_lord_battle_record), field(5)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.avatar_list <- (decode_pb_punk_lord_battle_avatar (Pbrt.Decoder.nested d)) :: v.avatar_list;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(punk_lord_battle_record), field(6)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.assist_score <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(punk_lord_battle_record), field(7)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.damage_score <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(punk_lord_battle_record), field(8)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.final_hit_score <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(punk_lord_battle_record), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    uid = v.uid;
    damage_hp = v.damage_hp;
    is_final_hit = v.is_final_hit;
    over_kill_damage_hp = v.over_kill_damage_hp;
    battle_replay_key = v.battle_replay_key;
    avatar_list = v.avatar_list;
    assist_score = v.assist_score;
    damage_score = v.damage_score;
    final_hit_score = v.final_hit_score;
  } : punk_lord_battle_record)

let rec decode_pb_fgljkmekiom d =
  let v = default_fgljkmekiom_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.eolalkfgdal <- List.rev v.eolalkfgdal;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.eolalkfgdal <- (decode_pb_punk_lord_battle_record (Pbrt.Decoder.nested d)) :: v.eolalkfgdal;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fgljkmekiom), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    eolalkfgdal = v.eolalkfgdal;
  } : fgljkmekiom)

let rec decode_pb_hbbaohkdklj d =
  let v = default_hbbaohkdklj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hbbaohkdklj), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.monster_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hbbaohkdklj), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    uid = v.uid;
    monster_id = v.monster_id;
  } : hbbaohkdklj)

let rec decode_pb_aapoalmfpan d =
  let v = default_aapoalmfpan_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aapoalmfpan), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.monster_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aapoalmfpan), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.pfbnanpcdjh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aapoalmfpan), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.world_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aapoalmfpan), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.fgilieldboi <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aapoalmfpan), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.left_hp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aapoalmfpan), field(6)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.lgkegiimjka <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aapoalmfpan), field(7)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.cpefaednmcc <- decode_pb_punk_lord_share_type d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aapoalmfpan), field(8)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.kjpdknocoeo <- Pbrt.Decoder.bool d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aapoalmfpan), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    uid = v.uid;
    monster_id = v.monster_id;
    pfbnanpcdjh = v.pfbnanpcdjh;
    world_level = v.world_level;
    fgilieldboi = v.fgilieldboi;
    left_hp = v.left_hp;
    lgkegiimjka = v.lgkegiimjka;
    cpefaednmcc = v.cpefaednmcc;
    kjpdknocoeo = v.kjpdknocoeo;
  } : aapoalmfpan)

let rec decode_pb_punk_lord_battle_replay d =
  let v = default_punk_lord_battle_replay_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.battle_replay_key <- Pbrt.Decoder.string d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(punk_lord_battle_replay), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.replay_info <- Some (decode_pb_nlhgcplikkp (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(punk_lord_battle_replay), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    battle_replay_key = v.battle_replay_key;
    replay_info = v.replay_info;
  } : punk_lord_battle_replay)

let rec decode_pb_naondbibjjo d =
  let v = default_naondbibjjo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.pomlpdggdfc <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(naondbibjjo), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.dfpkdpmefac <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(naondbibjjo), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.hngamdhjhld <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(naondbibjjo), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pomlpdggdfc = v.pomlpdggdfc;
    dfpkdpmefac = v.dfpkdpmefac;
    hngamdhjhld = v.hngamdhjhld;
  } : naondbibjjo)

let rec decode_pb_kicjpjalbbh d =
  let v = default_kicjpjalbbh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (101, Pbrt.Bytes) -> begin
      v.mjjmhnkknlb <- Some (decode_pb_naondbibjjo (Pbrt.Decoder.nested d));
    end
    | Some (101, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kicjpjalbbh), field(101)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mjjmhnkknlb = v.mjjmhnkknlb;
  } : kicjpjalbbh)

let rec decode_pb_lbjifmkiiec d =
  let v = default_lbjifmkiiec_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.name <- Pbrt.Decoder.string d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbjifmkiiec), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.ldcmdeljigi <- Pbrt.Decoder.string d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbjifmkiiec), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.hggbkfedhoe <- Pbrt.Decoder.string d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbjifmkiiec), field(3)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.gohgfmolkmk <- Pbrt.Decoder.string d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbjifmkiiec), field(4)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.clmljolpmen <- Pbrt.Decoder.string d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbjifmkiiec), field(5)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.msg <- Pbrt.Decoder.string d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbjifmkiiec), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    name = v.name;
    ldcmdeljigi = v.ldcmdeljigi;
    hggbkfedhoe = v.hggbkfedhoe;
    gohgfmolkmk = v.gohgfmolkmk;
    clmljolpmen = v.clmljolpmen;
    msg = v.msg;
  } : lbjifmkiiec)

let rec decode_pb_chhhgfihhcp d =
  let v = default_chhhgfihhcp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ognpknahdef <- List.rev v.ognpknahdef;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(chhhgfihhcp), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.msg <- Pbrt.Decoder.string d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(chhhgfihhcp), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.ajkbajlebhn <- Pbrt.Decoder.string d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(chhhgfihhcp), field(3)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.ognpknahdef <- (decode_pb_lbjifmkiiec (Pbrt.Decoder.nested d)) :: v.ognpknahdef;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(chhhgfihhcp), field(4)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.odbdlipeoog <- Pbrt.Decoder.string d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(chhhgfihhcp), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    msg = v.msg;
    ajkbajlebhn = v.ajkbajlebhn;
    ognpknahdef = v.ognpknahdef;
    odbdlipeoog = v.odbdlipeoog;
  } : chhhgfihhcp)

let rec decode_pb_relic_filter_plan_settings d =
  let v = default_relic_filter_plan_settings_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.sub_property_list <- List.rev v.sub_property_list;
      v.rope_main_property_list <- List.rev v.rope_main_property_list;
      v.sphere_main_property_list <- List.rev v.sphere_main_property_list;
      v.foot_main_property_list <- List.rev v.foot_main_property_list;
      v.body_main_property_list <- List.rev v.body_main_property_list;
      v.relic_set_list <- List.rev v.relic_set_list;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.rarity_bitset <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(relic_filter_plan_settings), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.relic_set_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(relic_filter_plan_settings), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.body_main_property_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(relic_filter_plan_settings), field(3)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.foot_main_property_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(relic_filter_plan_settings), field(4)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.sphere_main_property_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(relic_filter_plan_settings), field(5)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.rope_main_property_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(relic_filter_plan_settings), field(6)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.is_include_filter_sub_property <- Pbrt.Decoder.bool d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(relic_filter_plan_settings), field(7)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.sub_property_num <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(relic_filter_plan_settings), field(8)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.sub_property_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(relic_filter_plan_settings), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    rarity_bitset = v.rarity_bitset;
    relic_set_list = v.relic_set_list;
    body_main_property_list = v.body_main_property_list;
    foot_main_property_list = v.foot_main_property_list;
    sphere_main_property_list = v.sphere_main_property_list;
    rope_main_property_list = v.rope_main_property_list;
    is_include_filter_sub_property = v.is_include_filter_sub_property;
    sub_property_num = v.sub_property_num;
    sub_property_list = v.sub_property_list;
  } : relic_filter_plan_settings)

let rec decode_pb_bmobaidmcnj d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Battle_check_strategy_identical:bmobaidmcnj)
  | 1 -> (Battle_check_strategy_server:bmobaidmcnj)
  | 2 -> (Battle_check_strategy_client:bmobaidmcnj)
  | _ -> Pbrt.Decoder.malformed_variant "bmobaidmcnj"

let rec decode_pb_akminadfpee d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Battle_check_result_succ:akminadfpee)
  | 1 -> (Battle_check_result_fail:akminadfpee)
  | 2 -> (Battle_check_result_pass:akminadfpee)
  | _ -> Pbrt.Decoder.malformed_variant "akminadfpee"

let rec decode_pb_abiljflakgk d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Battle_module_maze:abiljflakgk)
  | 1 -> (Battle_module_challenge:abiljflakgk)
  | 2 -> (Battle_module_cocoon:abiljflakgk)
  | 3 -> (Battle_module_rogue:abiljflakgk)
  | 4 -> (Battle_module_challenge_activity:abiljflakgk)
  | 5 -> (Battle_module_trial_level:abiljflakgk)
  | 6 -> (Battle_module_aether_divide:abiljflakgk)
  | _ -> Pbrt.Decoder.malformed_variant "abiljflakgk"

let rec decode_pb_gkaagdjgcjj d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Aetherdivide_spirit_lineup_none:gkaagdjgcjj)
  | 1 -> (Aetherdivide_spirit_lineup_normal:gkaagdjgcjj)
  | 2 -> (Aetherdivide_spirit_lineup_trial:gkaagdjgcjj)
  | _ -> Pbrt.Decoder.malformed_variant "gkaagdjgcjj"

let rec decode_pb_hlclpfefepb d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Battle_target_type_none:hlclpfefepb)
  | 1 -> (Battle_target_type_score:hlclpfefepb)
  | 2 -> (Battle_target_type_achievement:hlclpfefepb)
  | 3 -> (Battle_target_type_raid:hlclpfefepb)
  | 4 -> (Battle_target_type_challenge_score:hlclpfefepb)
  | 5 -> (Battle_target_type_common:hlclpfefepb)
  | 6 -> (Battle_target_type_client_achievement:hlclpfefepb)
  | _ -> Pbrt.Decoder.malformed_variant "hlclpfefepb"

let rec decode_pb_ldhimmjaieb d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Unknown:ldhimmjaieb)
  | 1 -> (Killed_by_others:ldhimmjaieb)
  | 2 -> (Killed_by_self:ldhimmjaieb)
  | 3 -> (Escape:ldhimmjaieb)
  | _ -> Pbrt.Decoder.malformed_variant "ldhimmjaieb"

let rec decode_pb_dbghoandoje d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Tag_none:dbghoandoje)
  | 1 -> (Tag_hide_npc_monster:dbghoandoje)
  | _ -> Pbrt.Decoder.malformed_variant "dbghoandoje"

let rec decode_pb_cmhfgepjlfl d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Normal_create:cmhfgepjlfl)
  | 1 -> (Form_change:cmhfgepjlfl)
  | _ -> Pbrt.Decoder.malformed_variant "cmhfgepjlfl"

let rec decode_pb_ikiinnobojc d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Battle_end_reason_none:ikiinnobojc)
  | 1 -> (Battle_end_reason_all_die:ikiinnobojc)
  | 2 -> (Battle_end_reason_turn_limit:ikiinnobojc)
  | _ -> Pbrt.Decoder.malformed_variant "ikiinnobojc"

let rec decode_pb_lbbkaebelpp d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Battle_statictic_event_none:lbbkaebelpp)
  | 1 -> (Battle_statictic_event_treasure_dungeon_add_explore:lbbkaebelpp)
  | 2 -> (Battle_statictic_event_treasure_dungeon_open_grid:lbbkaebelpp)
  | 3 -> (Battle_statictic_event_treasure_dungeon_pickup_item:lbbkaebelpp)
  | 4 -> (Battle_statictic_event_treasure_dungeon_use_buff:lbbkaebelpp)
  | 5 -> (Battle_statictic_event_television_activity_update_maze_buff_layer:lbbkaebelpp)
  | _ -> Pbrt.Decoder.malformed_variant "lbbkaebelpp"

let rec decode_pb_battle_end_status d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Battle_end_none:battle_end_status)
  | 1 -> (Battle_end_win:battle_end_status)
  | 2 -> (Battle_end_lose:battle_end_status)
  | 3 -> (Battle_end_quit:battle_end_status)
  | _ -> Pbrt.Decoder.malformed_variant "battle_end_status"

let rec decode_pb_battle_op d =
  let v = default_battle_op_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.turn_counter <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_op), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.state <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_op), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.action_entity_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_op), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.target_entity_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_op), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.op_type <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_op), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.skill_index <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_op), field(6)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.operation_counter <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_op), field(7)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.pmepgjijdmc <- Pbrt.Decoder.string d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_op), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    turn_counter = v.turn_counter;
    state = v.state;
    action_entity_id = v.action_entity_id;
    target_entity_id = v.target_entity_id;
    op_type = v.op_type;
    skill_index = v.skill_index;
    operation_counter = v.operation_counter;
    pmepgjijdmc = v.pmepgjijdmc;
  } : battle_op)

let rec decode_pb_battle_equipment d =
  let v = default_battle_equipment_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_equipment), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_equipment), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.promotion <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_equipment), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.rank <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_equipment), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
    level = v.level;
    promotion = v.promotion;
    rank = v.rank;
  } : battle_equipment)

let rec decode_pb_relic_affix d =
  let v = default_relic_affix_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.affix_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(relic_affix), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.cnt <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(relic_affix), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.step <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(relic_affix), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    affix_id = v.affix_id;
    cnt = v.cnt;
    step = v.step;
  } : relic_affix)

let rec decode_pb_battle_relic d =
  let v = default_battle_relic_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.sub_affix_list <- List.rev v.sub_affix_list;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_relic), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_relic), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.main_affix_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_relic), field(3)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.sub_affix_list <- (decode_pb_relic_affix (Pbrt.Decoder.nested d)) :: v.sub_affix_list;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_relic), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.unique_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_relic), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.peehdpfeeoo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_relic), field(6)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.fgmdoekgpee <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_relic), field(7)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.ckcmdjnelkb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_relic), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
    level = v.level;
    main_affix_id = v.main_affix_id;
    sub_affix_list = v.sub_affix_list;
    unique_id = v.unique_id;
    peehdpfeeoo = v.peehdpfeeoo;
    fgmdoekgpee = v.fgmdoekgpee;
    ckcmdjnelkb = v.ckcmdjnelkb;
  } : battle_relic)

let rec decode_pb_avatar_skill_tree d =
  let v = default_avatar_skill_tree_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.point_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(avatar_skill_tree), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(avatar_skill_tree), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    point_id = v.point_id;
    level = v.level;
  } : avatar_skill_tree)

let rec decode_pb_gnompbkahnm d =
  let v = default_gnompbkahnm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.kafibpbdljp <- List.rev v.kafibpbdljp;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.cghmoccghlb <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gnompbkahnm), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.kafibpbdljp <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gnompbkahnm), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.hfhlhamjfpm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gnompbkahnm), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.findipnanjj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gnompbkahnm), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cghmoccghlb = v.cghmoccghlb;
    kafibpbdljp = v.kafibpbdljp;
    hfhlhamjfpm = v.hfhlhamjfpm;
    findipnanjj = v.findipnanjj;
  } : gnompbkahnm)

let rec decode_pb_battle_avatar d =
  let v = default_battle_avatar_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.relic_list <- List.rev v.relic_list;
      v.equipment_list <- List.rev v.equipment_list;
      v.skilltree_list <- List.rev v.skilltree_list;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_avatar), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_avatar), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_avatar), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.rank <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_avatar), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.index <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_avatar), field(5)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.skilltree_list <- (decode_pb_avatar_skill_tree (Pbrt.Decoder.nested d)) :: v.skilltree_list;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_avatar), field(6)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.equipment_list <- (decode_pb_battle_equipment (Pbrt.Decoder.nested d)) :: v.equipment_list;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_avatar), field(7)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.hp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_avatar), field(8)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.promotion <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_avatar), field(10)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.relic_list <- (decode_pb_battle_relic (Pbrt.Decoder.nested d)) :: v.relic_list;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_avatar), field(11)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.world_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_avatar), field(12)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.apkmboagcmi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_avatar), field(13)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.mpoioekkgli <- Some (decode_pb_gnompbkahnm (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_avatar), field(15)" pk
    | Some (16, Pbrt.Bytes) -> begin
      v.sp <- Some (decode_pb_sp_progress (Pbrt.Decoder.nested d));
    end
    | Some (16, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_avatar), field(16)" pk
    | Some (17, Pbrt.Varint) -> begin
      v.iojopnilicf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (17, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_avatar), field(17)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_type = v.avatar_type;
    id = v.id;
    level = v.level;
    rank = v.rank;
    index = v.index;
    skilltree_list = v.skilltree_list;
    equipment_list = v.equipment_list;
    hp = v.hp;
    promotion = v.promotion;
    relic_list = v.relic_list;
    world_level = v.world_level;
    apkmboagcmi = v.apkmboagcmi;
    mpoioekkgli = v.mpoioekkgli;
    sp = v.sp;
    iojopnilicf = v.iojopnilicf;
  } : battle_avatar)

let rec decode_pb_cjbomedfedo d =
  let v = default_cjbomedfedo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.ednldnkdhim <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cjbomedfedo), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cjbomedfedo), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.gcljbgjckpi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cjbomedfedo), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.gmimbapadel <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cjbomedfedo), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ednldnkdhim = v.ednldnkdhim;
    level = v.level;
    gcljbgjckpi = v.gcljbgjckpi;
    gmimbapadel = v.gmimbapadel;
  } : cjbomedfedo)

let rec decode_pb_fndpkoiaoco d =
  let v = default_fndpkoiaoco_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.monster_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fndpkoiaoco), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.femmkmapjng <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fndpkoiaoco), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.max_hp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fndpkoiaoco), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    monster_id = v.monster_id;
    femmkmapjng = v.femmkmapjng;
    max_hp = v.max_hp;
  } : fndpkoiaoco)

let rec decode_pb_battle_monster_wave d =
  let v = default_battle_monster_wave_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.monster_list <- List.rev v.monster_list;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.monster_list <- (decode_pb_fndpkoiaoco (Pbrt.Decoder.nested d)) :: v.monster_list;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_monster_wave), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.djicbhlfoga <- Some (decode_pb_cjbomedfedo (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_monster_wave), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.jmdhdbhgjhj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_monster_wave), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.comggjmfjao <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_monster_wave), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    monster_list = v.monster_list;
    djicbhlfoga = v.djicbhlfoga;
    jmdhdbhgjhj = v.jmdhdbhgjhj;
    comggjmfjao = v.comggjmfjao;
  } : battle_monster_wave)

let rec decode_pb_battle_buff d =
  let v = default_battle_buff_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.dynamic_values <- List.rev v.dynamic_values;
      v.target_index_list <- List.rev v.target_index_list;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_buff), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_buff), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.owner_index <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_buff), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.wave_flag <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_buff), field(4)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.target_index_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_buff), field(5)" pk
    | Some (6, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.float_as_bits32 d
      ) in
      v.dynamic_values <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.string ~decode_value)::v.dynamic_values;
      );
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_buff), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
    level = v.level;
    owner_index = v.owner_index;
    wave_flag = v.wave_flag;
    target_index_list = v.target_index_list;
    dynamic_values = v.dynamic_values;
  } : battle_buff)

let rec decode_pb_cojkoonnbee d =
  let v = default_cojkoonnbee_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cojkoonnbee), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.dpepdejdlka <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cojkoonnbee), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.obeicoahpbg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cojkoonnbee), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
    dpepdejdlka = v.dpepdejdlka;
    obeicoahpbg = v.obeicoahpbg;
  } : cojkoonnbee)

let rec decode_pb_ieimejdokoc d =
  let v = default_ieimejdokoc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.iheiaoggmoc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ieimejdokoc), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    iheiaoggmoc = v.iheiaoggmoc;
  } : ieimejdokoc)

let rec decode_pb_nimklecdanj d =
  let v = default_nimklecdanj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nimklecdanj), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.dpepdejdlka <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nimklecdanj), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
    dpepdejdlka = v.dpepdejdlka;
  } : nimklecdanj)

let rec decode_pb_pajllggkegp d =
  let v = default_pajllggkegp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pajllggkegp), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.progress <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pajllggkegp), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
    progress = v.progress;
  } : pajllggkegp)

let rec decode_pb_battle_target d =
  let v = default_battle_target_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_target), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.progress <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_target), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.total_progress <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_target), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
    progress = v.progress;
    total_progress = v.total_progress;
  } : battle_target)

let rec decode_pb_eecgcenalep d =
  let v = default_eecgcenalep_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.nkpcaindgao <- List.rev v.nkpcaindgao;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.nkpcaindgao <- (decode_pb_battle_target (Pbrt.Decoder.nested d)) :: v.nkpcaindgao;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eecgcenalep), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nkpcaindgao = v.nkpcaindgao;
  } : eecgcenalep)

let rec decode_pb_jjnjilkjjaf d =
  let v = default_jjnjilkjjaf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.licjmbbbbpo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jjnjilkjjaf), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.akneacgkoia <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jjnjilkjjaf), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    licjmbbbbpo = v.licjmbbbbpo;
    akneacgkoia = v.akneacgkoia;
  } : jjnjilkjjaf)

let rec decode_pb_oojccnomfia d =
  let v = default_oojccnomfia_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.onjeogniggp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oojccnomfia), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.kjbihcphcco <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oojccnomfia), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.kncldmlpjec <- Some (decode_pb_jjnjilkjjaf (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oojccnomfia), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    onjeogniggp = v.onjeogniggp;
    kjbihcphcco = v.kjbihcphcco;
    kncldmlpjec = v.kncldmlpjec;
  } : oojccnomfia)

let rec decode_pb_joiiobnkcbh d =
  let v = default_joiiobnkcbh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mgemlbmpcgb <- List.rev v.mgemlbmpcgb;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.mgemlbmpcgb <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(joiiobnkcbh), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mgemlbmpcgb = v.mgemlbmpcgb;
  } : joiiobnkcbh)

let rec decode_pb_fgbiollmcpi d =
  let v = default_fgbiollmcpi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.pkeohpicjkc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fgbiollmcpi), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pkeohpicjkc = v.pkeohpicjkc;
  } : fgbiollmcpi)

let rec decode_pb_evolve_build_gear_damage_info d =
  let v = default_evolve_build_gear_damage_info_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.gear_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_gear_damage_info), field(1)" pk
    | Some (2, Pbrt.Bits64) -> begin
      v.damage <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_gear_damage_info), field(2)" pk
    | Some (3, Pbrt.Bits64) -> begin
      v.hp_damage <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_gear_damage_info), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gear_id = v.gear_id;
    damage = v.damage;
    hp_damage = v.hp_damage;
  } : evolve_build_gear_damage_info)

let rec decode_pb_hjfmcnckmgd d =
  let v = default_hjfmcnckmgd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mmegdkinbcn <- List.rev v.mmegdkinbcn;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.wave <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjfmcnckmgd), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.lpgaoolbbfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjfmcnckmgd), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.ndkkogolmal <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjfmcnckmgd), field(3)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.mmegdkinbcn <- (decode_pb_jjnjilkjjaf (Pbrt.Decoder.nested d)) :: v.mmegdkinbcn;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjfmcnckmgd), field(4)" pk
    | Some (5, Pbrt.Bits32) -> begin
      v.nkgnnpndkfj <- Pbrt.Decoder.float_as_bits32 d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjfmcnckmgd), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    wave = v.wave;
    lpgaoolbbfm = v.lpgaoolbbfm;
    ndkkogolmal = v.ndkkogolmal;
    mmegdkinbcn = v.mmegdkinbcn;
    nkgnnpndkfj = v.nkgnnpndkfj;
  } : hjfmcnckmgd)

let rec decode_pb_ghilljbihfa d =
  let v = default_ghilljbihfa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pcnkojjcfie <- List.rev v.pcnkojjcfie;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.jnpdoibnicc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ghilljbihfa), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.pcnkojjcfie <- (decode_pb_hjfmcnckmgd (Pbrt.Decoder.nested d)) :: v.pcnkojjcfie;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ghilljbihfa), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jnpdoibnicc = v.jnpdoibnicc;
    pcnkojjcfie = v.pcnkojjcfie;
  } : ghilljbihfa)

let rec decode_pb_evolve_build_battle_info d =
  let v = default_evolve_build_battle_info_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.stat_params <- List.rev v.stat_params;
      v.gear_damage_list <- List.rev v.gear_damage_list;
      v.card_list <- List.rev v.card_list;
      v.period_id_list <- List.rev v.period_id_list;
      v.allowed_gear_list <- List.rev v.allowed_gear_list;
      v.ban_gear_list <- List.rev v.ban_gear_list;
      v.accessory_slot_list <- List.rev v.accessory_slot_list;
      v.weapon_slot_list <- List.rev v.weapon_slot_list;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.cur_level_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_battle_info), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.cur_period <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_battle_info), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.cur_coin <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_battle_info), field(3)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.weapon_slot_list <- (decode_pb_oojccnomfia (Pbrt.Decoder.nested d)) :: v.weapon_slot_list;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_battle_info), field(4)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.accessory_slot_list <- (decode_pb_oojccnomfia (Pbrt.Decoder.nested d)) :: v.accessory_slot_list;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_battle_info), field(5)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.ban_gear_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_battle_info), field(6)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.collection <- Some (decode_pb_joiiobnkcbh (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_battle_info), field(7)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.allowed_gear_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_battle_info), field(8)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.cur_exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_battle_info), field(9)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.cur_reroll <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_battle_info), field(10)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.cur_treasure_miss_cnt <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_battle_info), field(11)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.period_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_battle_info), field(12)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.cur_gear_lost_cnt <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_battle_info), field(13)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.cur_wave <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_battle_info), field(14)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.is_unlock_gear_reroll <- Pbrt.Decoder.bool d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_battle_info), field(15)" pk
    | Some (16, Pbrt.Varint) -> begin
      v.is_unlock_gear_ban <- Pbrt.Decoder.bool d;
    end
    | Some (16, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_battle_info), field(16)" pk
    | Some (17, Pbrt.Bytes) -> begin
      v.card_list <- (decode_pb_fgbiollmcpi (Pbrt.Decoder.nested d)) :: v.card_list;
    end
    | Some (17, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_battle_info), field(17)" pk
    | Some (18, Pbrt.Bytes) -> begin
      v.gear_damage_list <- (decode_pb_evolve_build_gear_damage_info (Pbrt.Decoder.nested d)) :: v.gear_damage_list;
    end
    | Some (18, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_battle_info), field(18)" pk
    | Some (19, Pbrt.Bytes) -> begin
      v.stat_params <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (19, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_battle_info), field(19)" pk
    | Some (20, Pbrt.Varint) -> begin
      v.is_giveup <- Pbrt.Decoder.bool d;
    end
    | Some (20, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_battle_info), field(20)" pk
    | Some (21, Pbrt.Varint) -> begin
      v.cur_unused_round_cnt <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (21, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_battle_info), field(21)" pk
    | Some (22, Pbrt.Bytes) -> begin
      v.stat_log_info <- Some (decode_pb_ghilljbihfa (Pbrt.Decoder.nested d));
    end
    | Some (22, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_battle_info), field(22)" pk
    | Some (23, Pbrt.Varint) -> begin
      v.period_first_random_seed <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (23, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_battle_info), field(23)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cur_level_id = v.cur_level_id;
    cur_period = v.cur_period;
    cur_coin = v.cur_coin;
    weapon_slot_list = v.weapon_slot_list;
    accessory_slot_list = v.accessory_slot_list;
    ban_gear_list = v.ban_gear_list;
    collection = v.collection;
    allowed_gear_list = v.allowed_gear_list;
    cur_exp = v.cur_exp;
    cur_reroll = v.cur_reroll;
    cur_treasure_miss_cnt = v.cur_treasure_miss_cnt;
    period_id_list = v.period_id_list;
    cur_gear_lost_cnt = v.cur_gear_lost_cnt;
    cur_wave = v.cur_wave;
    is_unlock_gear_reroll = v.is_unlock_gear_reroll;
    is_unlock_gear_ban = v.is_unlock_gear_ban;
    card_list = v.card_list;
    gear_damage_list = v.gear_damage_list;
    stat_params = v.stat_params;
    is_giveup = v.is_giveup;
    cur_unused_round_cnt = v.cur_unused_round_cnt;
    stat_log_info = v.stat_log_info;
    period_first_random_seed = v.period_first_random_seed;
  } : evolve_build_battle_info)

let rec decode_pb_cbipmgkdbmj d =
  let v = default_cbipmgkdbmj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.nbippcmhdij <- List.rev v.nbippcmhdij;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.int32_as_varint d
      ) in
      v.nbippcmhdij <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.nbippcmhdij;
      );
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbipmgkdbmj), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.bfhblojhfbn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbipmgkdbmj), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.eccooggmmkm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbipmgkdbmj), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.ogoballkjcg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbipmgkdbmj), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nbippcmhdij = v.nbippcmhdij;
    bfhblojhfbn = v.bfhblojhfbn;
    eccooggmmkm = v.eccooggmmkm;
    ogoballkjcg = v.ogoballkjcg;
  } : cbipmgkdbmj)

let rec decode_pb_cddnfpbchdb d =
  let v = default_cddnfpbchdb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.lphaolobnol <- List.rev v.lphaolobnol;
      v.pkilellljap <- List.rev v.pkilellljap;
      v.buff_list <- List.rev v.buff_list;
      v.monster_wave_list <- List.rev v.monster_wave_list;
      v.avatar_list <- List.rev v.avatar_list;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.avatar_list <- (decode_pb_battle_avatar (Pbrt.Decoder.nested d)) :: v.avatar_list;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cddnfpbchdb), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.monster_wave_list <- (decode_pb_battle_monster_wave (Pbrt.Decoder.nested d)) :: v.monster_wave_list;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cddnfpbchdb), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.buff_list <- (decode_pb_battle_buff (Pbrt.Decoder.nested d)) :: v.buff_list;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cddnfpbchdb), field(3)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.world_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cddnfpbchdb), field(7)" pk
    | Some (9, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        decode_pb_eecgcenalep (Pbrt.Decoder.nested d)
      ) in
      v.pkilellljap <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.pkilellljap;
      );
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cddnfpbchdb), field(9)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.mgacgfelfph <- Some (decode_pb_ieimejdokoc (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cddnfpbchdb), field(10)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.lphaolobnol <- (decode_pb_battle_avatar (Pbrt.Decoder.nested d)) :: v.lphaolobnol;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cddnfpbchdb), field(11)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.bcilaimkepo <- Some (decode_pb_evolve_build_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cddnfpbchdb), field(12)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.obneanlbpjf <- Some (decode_pb_cbipmgkdbmj (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cddnfpbchdb), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_list = v.avatar_list;
    monster_wave_list = v.monster_wave_list;
    buff_list = v.buff_list;
    world_level = v.world_level;
    pkilellljap = v.pkilellljap;
    mgacgfelfph = v.mgacgfelfph;
    lphaolobnol = v.lphaolobnol;
    bcilaimkepo = v.bcilaimkepo;
    obneanlbpjf = v.obneanlbpjf;
  } : cddnfpbchdb)

let rec decode_pb_dohhfaklimj d =
  let v = default_dohhfaklimj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pbcjjbpdaco <- List.rev v.pbcjjbpdaco;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dohhfaklimj), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.index <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dohhfaklimj), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.promotion <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dohhfaklimj), field(3)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.pbcjjbpdaco <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dohhfaklimj), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.iaknlgphklb <- decode_pb_gkaagdjgcjj d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dohhfaklimj), field(5)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.sp <- Some (decode_pb_sp_progress (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dohhfaklimj), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
    index = v.index;
    promotion = v.promotion;
    pbcjjbpdaco = v.pbcjjbpdaco;
    iaknlgphklb = v.iaknlgphklb;
    sp = v.sp;
  } : dohhfaklimj)

let rec decode_pb_gepemalmpkc d =
  let v = default_gepemalmpkc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.buff_list <- List.rev v.buff_list;
      v.monster_wave_list <- List.rev v.monster_wave_list;
      v.avatar_list <- List.rev v.avatar_list;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.avatar_list <- (decode_pb_dohhfaklimj (Pbrt.Decoder.nested d)) :: v.avatar_list;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gepemalmpkc), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.monster_wave_list <- (decode_pb_battle_monster_wave (Pbrt.Decoder.nested d)) :: v.monster_wave_list;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gepemalmpkc), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.buff_list <- (decode_pb_battle_buff (Pbrt.Decoder.nested d)) :: v.buff_list;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gepemalmpkc), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_list = v.avatar_list;
    monster_wave_list = v.monster_wave_list;
    buff_list = v.buff_list;
  } : gepemalmpkc)

let rec decode_pb_aeeaaeghbcf d =
  let v = default_aeeaaeghbcf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.glgkbnnobem <- List.rev v.glgkbnnobem;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.jmfgaemkdao <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aeeaaeghbcf), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.glgkbnnobem <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int64_as_varint d)::l) [] d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aeeaaeghbcf), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jmfgaemkdao = v.jmfgaemkdao;
    glgkbnnobem = v.glgkbnnobem;
  } : aeeaaeghbcf)

let rec decode_pb_lhbjccjikld d =
  let v = default_lhbjccjikld_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.llgkepoegkh <- Pbrt.Decoder.string d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhbjccjikld), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.count <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhbjccjikld), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    llgkepoegkh = v.llgkepoegkh;
    count = v.count;
  } : lhbjccjikld)

let rec decode_pb_faekpkgkkfn d =
  let v = default_faekpkgkkfn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.opjffhdcimd <- List.rev v.opjffhdcimd;
      v.fgopniajipd <- List.rev v.fgopniajipd;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.turn_counter <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(faekpkgkkfn), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.nnkhhlofopd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(faekpkgkkfn), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.amchcneihno <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(faekpkgkkfn), field(3)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.fgopniajipd <- (decode_pb_aeeaaeghbcf (Pbrt.Decoder.nested d)) :: v.fgopniajipd;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(faekpkgkkfn), field(4)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.opjffhdcimd <- (decode_pb_lhbjccjikld (Pbrt.Decoder.nested d)) :: v.opjffhdcimd;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(faekpkgkkfn), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.eejampcafkf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(faekpkgkkfn), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    turn_counter = v.turn_counter;
    nnkhhlofopd = v.nnkhhlofopd;
    amchcneihno = v.amchcneihno;
    fgopniajipd = v.fgopniajipd;
    opjffhdcimd = v.opjffhdcimd;
    eejampcafkf = v.eejampcafkf;
  } : faekpkgkkfn)

let rec decode_pb_pclbkphkhcb d =
  let v = default_pclbkphkhcb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.fajcbknihho <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pclbkphkhcb), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.ajepkmhogca <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pclbkphkhcb), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.jmlmhajmmgm <- Pbrt.Decoder.bool d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pclbkphkhcb), field(3)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.cimlpamboae <- Pbrt.Decoder.string d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pclbkphkhcb), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.occpagnninm <- Pbrt.Decoder.bool d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pclbkphkhcb), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.kohhcdnlhkk <- Pbrt.Decoder.bool d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pclbkphkhcb), field(6)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.hgbiemklalm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pclbkphkhcb), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fajcbknihho = v.fajcbknihho;
    ajepkmhogca = v.ajepkmhogca;
    jmlmhajmmgm = v.jmlmhajmmgm;
    cimlpamboae = v.cimlpamboae;
    occpagnninm = v.occpagnninm;
    kohhcdnlhkk = v.kohhcdnlhkk;
    hgbiemklalm = v.hgbiemklalm;
  } : pclbkphkhcb)

let rec decode_pb_mjobkecmmdg d =
  let v = default_mjobkecmmdg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.opejjkdakho <- List.rev v.opejjkdakho;
      v.fcdfcganbdh <- List.rev v.fcdfcganbdh;
      v.gmgpibhkomg <- List.rev v.gmgpibhkomg;
      v.emabnjbclgd <- List.rev v.emabnjbclgd;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.emabnjbclgd <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjobkecmmdg), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.gmgpibhkomg <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjobkecmmdg), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.fcdfcganbdh <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjobkecmmdg), field(3)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.opejjkdakho <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjobkecmmdg), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    emabnjbclgd = v.emabnjbclgd;
    gmgpibhkomg = v.gmgpibhkomg;
    fcdfcganbdh = v.fcdfcganbdh;
    opejjkdakho = v.opejjkdakho;
  } : mjobkecmmdg)

let rec decode_pb_jengakjkbap d =
  let v = default_jengakjkbap_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.mdkaibfcgkm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jengakjkbap), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.iognnoaljjj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jengakjkbap), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mdkaibfcgkm = v.mdkaibfcgkm;
    iognnoaljjj = v.iognnoaljjj;
  } : jengakjkbap)

let rec decode_pb_abjdkbhcagj d =
  let v = default_abjdkbhcagj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.foelnpbpkef <- List.rev v.foelnpbpkef;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.mbmlkfbaebi <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(abjdkbhcagj), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        decode_pb_jengakjkbap (Pbrt.Decoder.nested d)
      ) in
      v.foelnpbpkef <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.string ~decode_value)::v.foelnpbpkef;
      );
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(abjdkbhcagj), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.jgabaooklbg <- Pbrt.Decoder.bytes d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(abjdkbhcagj), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mbmlkfbaebi = v.mbmlkfbaebi;
    foelnpbpkef = v.foelnpbpkef;
    jgabaooklbg = v.jgabaooklbg;
  } : abjdkbhcagj)

let rec decode_pb_ncokmoifijp d =
  let v = default_ncokmoifijp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.ddeebkcfmih <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ncokmoifijp), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.value <- Pbrt.Decoder.string d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ncokmoifijp), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ddeebkcfmih = v.ddeebkcfmih;
    value = v.value;
  } : ncokmoifijp)

let rec decode_pb_nlpkjmbokmg d =
  let v = default_nlpkjmbokmg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bgcniallbni <- List.rev v.bgcniallbni;
      v.mpkfbobkglo <- List.rev v.mpkfbobkglo;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.mpkfbobkglo <- (decode_pb_faekpkgkkfn (Pbrt.Decoder.nested d)) :: v.mpkfbobkglo;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlpkjmbokmg), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.ikbigpbobak <- Pbrt.Decoder.string d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlpkjmbokmg), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.clhgagmlpgk <- Pbrt.Decoder.string d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlpkjmbokmg), field(3)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.bgcniallbni <- (decode_pb_ncokmoifijp (Pbrt.Decoder.nested d)) :: v.bgcniallbni;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlpkjmbokmg), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.plane_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlpkjmbokmg), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.floor_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlpkjmbokmg), field(6)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.epeofnhnbob <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlpkjmbokmg), field(7)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.faonpmhplea <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlpkjmbokmg), field(8)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.nljgmpkelkd <- Some (decode_pb_abjdkbhcagj (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlpkjmbokmg), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mpkfbobkglo = v.mpkfbobkglo;
    ikbigpbobak = v.ikbigpbobak;
    clhgagmlpgk = v.clhgagmlpgk;
    bgcniallbni = v.bgcniallbni;
    plane_id = v.plane_id;
    floor_id = v.floor_id;
    epeofnhnbob = v.epeofnhnbob;
    faonpmhplea = v.faonpmhplea;
    nljgmpkelkd = v.nljgmpkelkd;
  } : nlpkjmbokmg)

let rec decode_pb_chcjbneicfa d =
  let v = default_chcjbneicfa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.sp <- Some (decode_pb_sp_progress (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(chcjbneicfa), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    sp = v.sp;
  } : chcjbneicfa)

let rec decode_pb_llnhnhhlcip d =
  let v = default_llnhnhhlcip_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.nkpcaindgao <- List.rev v.nkpcaindgao;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.hgnfloilneg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(llnhnhhlcip), field(1)" pk
    | Some (2, Pbrt.Bits64) -> begin
      v.nkgnnpndkfj <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(llnhnhhlcip), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.nkpcaindgao <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(llnhnhhlcip), field(3)" pk
    | Some (4, Pbrt.Bits64) -> begin
      v.ohfcbnkchlo <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(llnhnhhlcip), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgnfloilneg = v.hgnfloilneg;
    nkgnnpndkfj = v.nkgnnpndkfj;
    nkpcaindgao = v.nkpcaindgao;
    ohfcbnkchlo = v.ohfcbnkchlo;
  } : llnhnhhlcip)

let rec decode_pb_pldmljcickk d =
  let v = default_pldmljcickk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hhapkchnbea <- List.rev v.hhapkchnbea;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.ghhnoefibke <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pldmljcickk), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.status <- Some (decode_pb_chcjbneicfa (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pldmljcickk), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.hhapkchnbea <- (decode_pb_llnhnhhlcip (Pbrt.Decoder.nested d)) :: v.hhapkchnbea;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pldmljcickk), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ghhnoefibke = v.ghhnoefibke;
    status = v.status;
    hhapkchnbea = v.hhapkchnbea;
  } : pldmljcickk)

let rec decode_pb_pdfijnjfeof d =
  let v = default_pdfijnjfeof_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.apkpbammnhm <- List.rev v.apkpbammnhm;
      v.iceodjdgjco <- List.rev v.iceodjdgjco;
      v.ooadhaglibc <- List.rev v.ooadhaglibc;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.version <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdfijnjfeof), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.logic_random_seed <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdfijnjfeof), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdfijnjfeof), field(3)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.lineup <- Some (decode_pb_cddnfpbchdb (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdfijnjfeof), field(4)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.ooadhaglibc <- (decode_pb_battle_op (Pbrt.Decoder.nested d)) :: v.ooadhaglibc;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdfijnjfeof), field(5)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.nnhllnhjjnh <- Pbrt.Decoder.bytes d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdfijnjfeof), field(6)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.inpimhmcgli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdfijnjfeof), field(7)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.iceodjdgjco <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdfijnjfeof), field(8)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.gnkmjinkoif <- Pbrt.Decoder.bool d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdfijnjfeof), field(9)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.kjbecldpidj <- decode_pb_bmobaidmcnj d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdfijnjfeof), field(10)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.momcmjflaod <- decode_pb_abiljflakgk d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdfijnjfeof), field(11)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.apkpbammnhm <- (decode_pb_pldmljcickk (Pbrt.Decoder.nested d)) :: v.apkpbammnhm;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdfijnjfeof), field(12)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.cmhngcflcab <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdfijnjfeof), field(14)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.lillnioocan <- Some (decode_pb_pclbkphkhcb (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdfijnjfeof), field(15)" pk
    | Some (16, Pbrt.Bytes) -> begin
      v.paojieohhab <- Pbrt.Decoder.bytes d;
    end
    | Some (16, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdfijnjfeof), field(16)" pk
    | Some (17, Pbrt.Varint) -> begin
      v.pafnmmndegp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (17, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdfijnjfeof), field(17)" pk
    | Some (18, Pbrt.Varint) -> begin
      v.empiofaicfc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (18, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdfijnjfeof), field(18)" pk
    | Some (19, Pbrt.Bytes) -> begin
      v.dfmnmhpbbfa <- Some (decode_pb_gepemalmpkc (Pbrt.Decoder.nested d));
    end
    | Some (19, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdfijnjfeof), field(19)" pk
    | Some (100, Pbrt.Bytes) -> begin
      v.pofphcbemla <- Some (decode_pb_nlpkjmbokmg (Pbrt.Decoder.nested d));
    end
    | Some (100, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdfijnjfeof), field(100)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    version = v.version;
    logic_random_seed = v.logic_random_seed;
    stage_id = v.stage_id;
    lineup = v.lineup;
    ooadhaglibc = v.ooadhaglibc;
    nnhllnhjjnh = v.nnhllnhjjnh;
    inpimhmcgli = v.inpimhmcgli;
    iceodjdgjco = v.iceodjdgjco;
    gnkmjinkoif = v.gnkmjinkoif;
    kjbecldpidj = v.kjbecldpidj;
    momcmjflaod = v.momcmjflaod;
    apkpbammnhm = v.apkpbammnhm;
    cmhngcflcab = v.cmhngcflcab;
    lillnioocan = v.lillnioocan;
    paojieohhab = v.paojieohhab;
    pafnmmndegp = v.pafnmmndegp;
    empiofaicfc = v.empiofaicfc;
    dfmnmhpbbfa = v.dfmnmhpbbfa;
    pofphcbemla = v.pofphcbemla;
  } : pdfijnjfeof)

let rec decode_pb_avatar_property d =
  let v = default_avatar_property_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bits64) -> begin
      v.max_hp <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(avatar_property), field(1)" pk
    | Some (2, Pbrt.Bits64) -> begin
      v.attack <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(avatar_property), field(2)" pk
    | Some (3, Pbrt.Bits64) -> begin
      v.defence <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(avatar_property), field(3)" pk
    | Some (4, Pbrt.Bits64) -> begin
      v.speed <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(avatar_property), field(4)" pk
    | Some (5, Pbrt.Bits64) -> begin
      v.left_hp <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(avatar_property), field(5)" pk
    | Some (6, Pbrt.Bits64) -> begin
      v.left_sp <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(avatar_property), field(6)" pk
    | Some (7, Pbrt.Bits64) -> begin
      v.max_sp <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(avatar_property), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    max_hp = v.max_hp;
    attack = v.attack;
    defence = v.defence;
    speed = v.speed;
    left_hp = v.left_hp;
    left_sp = v.left_sp;
    max_sp = v.max_sp;
  } : avatar_property)

let rec decode_pb_nahchkhjomp d =
  let v = default_nahchkhjomp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nahchkhjomp), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.rank <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nahchkhjomp), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.promotion <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nahchkhjomp), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nahchkhjomp), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
    rank = v.rank;
    promotion = v.promotion;
    level = v.level;
  } : nahchkhjomp)

let rec decode_pb_apkldjghfcp d =
  let v = default_apkldjghfcp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.palefhlckln <- Pbrt.Decoder.string d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(apkldjghfcp), field(1)" pk
    | Some (2, Pbrt.Bits64) -> begin
      v.ohfcbnkchlo <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(apkldjghfcp), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    palefhlckln = v.palefhlckln;
    ohfcbnkchlo = v.ohfcbnkchlo;
  } : apkldjghfcp)

let rec decode_pb_mjenmjiahll d =
  let v = default_mjenmjiahll_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.hgnfloilneg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjenmjiahll), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.aglbkdknioh <- Pbrt.Decoder.string d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjenmjiahll), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.kafehefomai <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjenmjiahll), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.dkecbneeecd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjenmjiahll), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.okoebgnppii <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjenmjiahll), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.ipacnpiogji <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjenmjiahll), field(6)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.cmhakdimelf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjenmjiahll), field(7)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.edmjmnfgmad <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjenmjiahll), field(8)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.okffdjngjed <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjenmjiahll), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgnfloilneg = v.hgnfloilneg;
    aglbkdknioh = v.aglbkdknioh;
    kafehefomai = v.kafehefomai;
    dkecbneeecd = v.dkecbneeecd;
    okoebgnppii = v.okoebgnppii;
    ipacnpiogji = v.ipacnpiogji;
    cmhakdimelf = v.cmhakdimelf;
    edmjmnfgmad = v.edmjmnfgmad;
    okffdjngjed = v.okffdjngjed;
  } : mjenmjiahll)

let rec decode_pb_nnpiljhejfe d =
  let v = default_nnpiljhejfe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.gnfpnbgacdf <- Pbrt.Decoder.string d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nnpiljhejfe), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.pomclecifom <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nnpiljhejfe), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gnfpnbgacdf = v.gnfpnbgacdf;
    pomclecifom = v.pomclecifom;
  } : nnpiljhejfe)

let rec decode_pb_hgghpnnojej d =
  let v = default_hgghpnnojej_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.efjpeijemee <- Pbrt.Decoder.string d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgghpnnojej), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.count <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgghpnnojej), field(2)" pk
    | Some (3, Pbrt.Bits64) -> begin
      v.fcadgcfhlce <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgghpnnojej), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    efjpeijemee = v.efjpeijemee;
    count = v.count;
    fcadgcfhlce = v.fcadgcfhlce;
  } : hgghpnnojej)

let rec decode_pb_hjddflabbdf d =
  let v = default_hjddflabbdf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jacedoenhfa <- List.rev v.jacedoenhfa;
      v.pnnbhmgbbaf <- List.rev v.pnnbhmgbbaf;
      v.baeigohghnm <- List.rev v.baeigohghnm;
      v.khlmmickphp <- List.rev v.khlmmickphp;
      v.cohhcjjmfil <- List.rev v.cohhcjjmfil;
      v.dcfbmhagghh <- List.rev v.dcfbmhagghh;
      v.kmkbogbaeno <- List.rev v.kmkbogbaeno;
      v.hgmplmmdcad <- List.rev v.hgmplmmdcad;
      v.klafgbakeoo <- List.rev v.klafgbakeoo;
      v.cfohkkgalch <- List.rev v.cfohkkgalch;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.fdmeklimpgp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.eahmcbeennh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.omokjhmjako <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(5)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.nichanllgkh <- Some (decode_pb_avatar_property (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(6)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.cfohkkgalch <- (decode_pb_avatar_skill_tree (Pbrt.Decoder.nested d)) :: v.cfohkkgalch;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(7)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.klafgbakeoo <- (decode_pb_nahchkhjomp (Pbrt.Decoder.nested d)) :: v.klafgbakeoo;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(8)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.eldappkkaoc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(9)" pk
    | Some (10, Pbrt.Bits64) -> begin
      v.fcadgcfhlce <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(10)" pk
    | Some (11, Pbrt.Bits64) -> begin
      v.glnamalcdfc <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(11)" pk
    | Some (12, Pbrt.Bits64) -> begin
      v.pdimoicpocf <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(12)" pk
    | Some (13, Pbrt.Bits64) -> begin
      v.oihhodldilm <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(13)" pk
    | Some (14, Pbrt.Bits64) -> begin
      v.dfgadbjbiob <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(14)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(15)" pk
    | Some (16, Pbrt.Varint) -> begin
      v.nmedaaeibfk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (16, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(16)" pk
    | Some (17, Pbrt.Bits64) -> begin
      v.jnchgklgnlf <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (17, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(17)" pk
    | Some (18, Pbrt.Bytes) -> begin
      v.hgmplmmdcad <- (decode_pb_apkldjghfcp (Pbrt.Decoder.nested d)) :: v.hgmplmmdcad;
    end
    | Some (18, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(18)" pk
    | Some (19, Pbrt.Bytes) -> begin
      v.kmkbogbaeno <- (decode_pb_apkldjghfcp (Pbrt.Decoder.nested d)) :: v.kmkbogbaeno;
    end
    | Some (19, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(19)" pk
    | Some (20, Pbrt.Bytes) -> begin
      v.dcfbmhagghh <- (decode_pb_apkldjghfcp (Pbrt.Decoder.nested d)) :: v.dcfbmhagghh;
    end
    | Some (20, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(20)" pk
    | Some (21, Pbrt.Bytes) -> begin
      v.cohhcjjmfil <- (decode_pb_mjenmjiahll (Pbrt.Decoder.nested d)) :: v.cohhcjjmfil;
    end
    | Some (21, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(21)" pk
    | Some (22, Pbrt.Bits64) -> begin
      v.fckomicbfmc <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (22, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(22)" pk
    | Some (23, Pbrt.Varint) -> begin
      v.okpkiancelf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (23, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(23)" pk
    | Some (24, Pbrt.Bytes) -> begin
      v.khlmmickphp <- (decode_pb_nnpiljhejfe (Pbrt.Decoder.nested d)) :: v.khlmmickphp;
    end
    | Some (24, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(24)" pk
    | Some (25, Pbrt.Varint) -> begin
      v.kimilnnnflf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (25, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(25)" pk
    | Some (26, Pbrt.Varint) -> begin
      v.ndlnbbpfffl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (26, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(26)" pk
    | Some (27, Pbrt.Varint) -> begin
      v.aeddfdkbpep <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (27, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(27)" pk
    | Some (28, Pbrt.Varint) -> begin
      v.omhlpnoflne <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (28, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(28)" pk
    | Some (29, Pbrt.Varint) -> begin
      v.njlpaaookdl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (29, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(29)" pk
    | Some (30, Pbrt.Bits64) -> begin
      v.ojeocegbkdi <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (30, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(30)" pk
    | Some (31, Pbrt.Bits64) -> begin
      v.lnikhkhpcge <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (31, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(31)" pk
    | Some (32, Pbrt.Bits64) -> begin
      v.emmikoejmph <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (32, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(32)" pk
    | Some (33, Pbrt.Bytes) -> begin
      v.jdmdemjpcia <- Some (decode_pb_avatar_property (Pbrt.Decoder.nested d));
    end
    | Some (33, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(33)" pk
    | Some (34, Pbrt.Bytes) -> begin
      v.baeigohghnm <- (decode_pb_battle_relic (Pbrt.Decoder.nested d)) :: v.baeigohghnm;
    end
    | Some (34, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(34)" pk
    | Some (35, Pbrt.Varint) -> begin
      v.apkmboagcmi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (35, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(35)" pk
    | Some (36, Pbrt.Bytes) -> begin
      v.pnnbhmgbbaf <- (decode_pb_apkldjghfcp (Pbrt.Decoder.nested d)) :: v.pnnbhmgbbaf;
    end
    | Some (36, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(36)" pk
    | Some (37, Pbrt.Bits64) -> begin
      v.ifogdklojaj <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (37, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(37)" pk
    | Some (38, Pbrt.Bits64) -> begin
      v.fpokhaemoli <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (38, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(38)" pk
    | Some (39, Pbrt.Bits64) -> begin
      v.gdljjodkiip <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (39, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(39)" pk
    | Some (40, Pbrt.Bits64) -> begin
      v.mldjfbabhek <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (40, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(40)" pk
    | Some (41, Pbrt.Bytes) -> begin
      v.jacedoenhfa <- (decode_pb_hgghpnnojej (Pbrt.Decoder.nested d)) :: v.jacedoenhfa;
    end
    | Some (41, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(41)" pk
    | Some (42, Pbrt.Varint) -> begin
      v.faomiaggpaa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (42, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(42)" pk
    | Some (43, Pbrt.Varint) -> begin
      v.fadjmlcifbf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (43, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjddflabbdf), field(43)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_type = v.avatar_type;
    id = v.id;
    fdmeklimpgp = v.fdmeklimpgp;
    eahmcbeennh = v.eahmcbeennh;
    omokjhmjako = v.omokjhmjako;
    nichanllgkh = v.nichanllgkh;
    cfohkkgalch = v.cfohkkgalch;
    klafgbakeoo = v.klafgbakeoo;
    eldappkkaoc = v.eldappkkaoc;
    fcadgcfhlce = v.fcadgcfhlce;
    glnamalcdfc = v.glnamalcdfc;
    pdimoicpocf = v.pdimoicpocf;
    oihhodldilm = v.oihhodldilm;
    dfgadbjbiob = v.dfgadbjbiob;
    stage_id = v.stage_id;
    nmedaaeibfk = v.nmedaaeibfk;
    jnchgklgnlf = v.jnchgklgnlf;
    hgmplmmdcad = v.hgmplmmdcad;
    kmkbogbaeno = v.kmkbogbaeno;
    dcfbmhagghh = v.dcfbmhagghh;
    cohhcjjmfil = v.cohhcjjmfil;
    fckomicbfmc = v.fckomicbfmc;
    okpkiancelf = v.okpkiancelf;
    khlmmickphp = v.khlmmickphp;
    kimilnnnflf = v.kimilnnnflf;
    ndlnbbpfffl = v.ndlnbbpfffl;
    aeddfdkbpep = v.aeddfdkbpep;
    omhlpnoflne = v.omhlpnoflne;
    njlpaaookdl = v.njlpaaookdl;
    ojeocegbkdi = v.ojeocegbkdi;
    lnikhkhpcge = v.lnikhkhpcge;
    emmikoejmph = v.emmikoejmph;
    jdmdemjpcia = v.jdmdemjpcia;
    baeigohghnm = v.baeigohghnm;
    apkmboagcmi = v.apkmboagcmi;
    pnnbhmgbbaf = v.pnnbhmgbbaf;
    ifogdklojaj = v.ifogdklojaj;
    fpokhaemoli = v.fpokhaemoli;
    gdljjodkiip = v.gdljjodkiip;
    mldjfbabhek = v.mldjfbabhek;
    jacedoenhfa = v.jacedoenhfa;
    faomiaggpaa = v.faomiaggpaa;
    fadjmlcifbf = v.fadjmlcifbf;
  } : hjddflabbdf)

let rec decode_pb_khcifglangg d =
  let v = default_khcifglangg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bits64) -> begin
      v.max_hp <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(khcifglangg), field(1)" pk
    | Some (2, Pbrt.Bits64) -> begin
      v.attack <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(khcifglangg), field(2)" pk
    | Some (3, Pbrt.Bits64) -> begin
      v.defence <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(khcifglangg), field(3)" pk
    | Some (4, Pbrt.Bits64) -> begin
      v.nbjopehdkfh <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(khcifglangg), field(4)" pk
    | Some (5, Pbrt.Bits64) -> begin
      v.speed <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(khcifglangg), field(5)" pk
    | Some (6, Pbrt.Bits64) -> begin
      v.left_hp <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(khcifglangg), field(6)" pk
    | Some (7, Pbrt.Bits64) -> begin
      v.honehbbhond <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(khcifglangg), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    max_hp = v.max_hp;
    attack = v.attack;
    defence = v.defence;
    nbjopehdkfh = v.nbjopehdkfh;
    speed = v.speed;
    left_hp = v.left_hp;
    honehbbhond = v.honehbbhond;
  } : khcifglangg)

let rec decode_pb_kdofgnnbigl d =
  let v = default_kdofgnnbigl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.eijiiekodce <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kdofgnnbigl), field(1)" pk
    | Some (2, Pbrt.Bits64) -> begin
      v.nccjkbdbimf <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kdofgnnbigl), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.jbmkkgchkgf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kdofgnnbigl), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.omhlpnoflne <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kdofgnnbigl), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    eijiiekodce = v.eijiiekodce;
    nccjkbdbimf = v.nccjkbdbimf;
    jbmkkgchkgf = v.jbmkkgchkgf;
    omhlpnoflne = v.omhlpnoflne;
  } : kdofgnnbigl)

let rec decode_pb_adcnfghedmc d =
  let v = default_adcnfghedmc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.egngccehkaj <- List.rev v.egngccehkaj;
      v.hhapkchnbea <- List.rev v.hhapkchnbea;
      v.cohhcjjmfil <- List.rev v.cohhcjjmfil;
      v.hgmplmmdcad <- List.rev v.hgmplmmdcad;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.phkkegggmdi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.monster_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.nookgaachhh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.gdjhhjhgoga <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(4)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.mffjijlmahi <- Some (decode_pb_khcifglangg (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.eldappkkaoc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(6)" pk
    | Some (7, Pbrt.Bits64) -> begin
      v.fcadgcfhlce <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(7)" pk
    | Some (8, Pbrt.Bits64) -> begin
      v.glnamalcdfc <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(8)" pk
    | Some (9, Pbrt.Bits64) -> begin
      v.pdimoicpocf <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(9)" pk
    | Some (10, Pbrt.Bits64) -> begin
      v.kmbdiheeddp <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(10)" pk
    | Some (11, Pbrt.Bits64) -> begin
      v.oihhodldilm <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(11)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(12)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.battle_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(13)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.dgecmhijdlf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(14)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.hgmplmmdcad <- (decode_pb_apkldjghfcp (Pbrt.Decoder.nested d)) :: v.hgmplmmdcad;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(15)" pk
    | Some (16, Pbrt.Bytes) -> begin
      v.cohhcjjmfil <- (decode_pb_mjenmjiahll (Pbrt.Decoder.nested d)) :: v.cohhcjjmfil;
    end
    | Some (16, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(16)" pk
    | Some (17, Pbrt.Varint) -> begin
      v.nmedaaeibfk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (17, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(17)" pk
    | Some (18, Pbrt.Bits64) -> begin
      v.odlhlhjjaep <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (18, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(18)" pk
    | Some (19, Pbrt.Bits64) -> begin
      v.fckomicbfmc <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (19, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(19)" pk
    | Some (20, Pbrt.Varint) -> begin
      v.oebalcpdekb <- decode_pb_ldhimmjaieb d;
    end
    | Some (20, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(20)" pk
    | Some (21, Pbrt.Varint) -> begin
      v.wave <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (21, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(21)" pk
    | Some (22, Pbrt.Varint) -> begin
      v.kkmpoanfdel <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (22, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(22)" pk
    | Some (23, Pbrt.Varint) -> begin
      v.djemibiamha <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (23, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(23)" pk
    | Some (24, Pbrt.Varint) -> begin
      v.pcglhakdjej <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (24, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(24)" pk
    | Some (25, Pbrt.Varint) -> begin
      v.emejkljonad <- decode_pb_dbghoandoje d;
    end
    | Some (25, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(25)" pk
    | Some (26, Pbrt.Bytes) -> begin
      v.hhapkchnbea <- (decode_pb_llnhnhhlcip (Pbrt.Decoder.nested d)) :: v.hhapkchnbea;
    end
    | Some (26, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(26)" pk
    | Some (27, Pbrt.Varint) -> begin
      v.dpmoonnbhaf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (27, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(27)" pk
    | Some (28, Pbrt.Bytes) -> begin
      v.egngccehkaj <- (decode_pb_kdofgnnbigl (Pbrt.Decoder.nested d)) :: v.egngccehkaj;
    end
    | Some (28, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(28)" pk
    | Some (29, Pbrt.Varint) -> begin
      v.eopdilcmffl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (29, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(29)" pk
    | Some (30, Pbrt.Varint) -> begin
      v.anahoapange <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (30, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(30)" pk
    | Some (31, Pbrt.Varint) -> begin
      v.leffngnjgkg <- decode_pb_cmhfgepjlfl d;
    end
    | Some (31, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adcnfghedmc), field(31)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    phkkegggmdi = v.phkkegggmdi;
    monster_id = v.monster_id;
    nookgaachhh = v.nookgaachhh;
    gdjhhjhgoga = v.gdjhhjhgoga;
    mffjijlmahi = v.mffjijlmahi;
    eldappkkaoc = v.eldappkkaoc;
    fcadgcfhlce = v.fcadgcfhlce;
    glnamalcdfc = v.glnamalcdfc;
    pdimoicpocf = v.pdimoicpocf;
    kmbdiheeddp = v.kmbdiheeddp;
    oihhodldilm = v.oihhodldilm;
    stage_id = v.stage_id;
    battle_id = v.battle_id;
    dgecmhijdlf = v.dgecmhijdlf;
    hgmplmmdcad = v.hgmplmmdcad;
    cohhcjjmfil = v.cohhcjjmfil;
    nmedaaeibfk = v.nmedaaeibfk;
    odlhlhjjaep = v.odlhlhjjaep;
    fckomicbfmc = v.fckomicbfmc;
    oebalcpdekb = v.oebalcpdekb;
    wave = v.wave;
    kkmpoanfdel = v.kkmpoanfdel;
    djemibiamha = v.djemibiamha;
    pcglhakdjej = v.pcglhakdjej;
    emejkljonad = v.emejkljonad;
    hhapkchnbea = v.hhapkchnbea;
    dpmoonnbhaf = v.dpmoonnbhaf;
    egngccehkaj = v.egngccehkaj;
    eopdilcmffl = v.eopdilcmffl;
    anahoapange = v.anahoapange;
    leffngnjgkg = v.leffngnjgkg;
  } : adcnfghedmc)

let rec decode_pb_cfgemgamfma d =
  let v = default_cfgemgamfma_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.jcjkjhddkcf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cfgemgamfma), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.lpgaoolbbfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cfgemgamfma), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jcjkjhddkcf = v.jcjkjhddkcf;
    lpgaoolbbfm = v.lpgaoolbbfm;
  } : cfgemgamfma)

let rec decode_pb_dllfnlcjiaa d =
  let v = default_dllfnlcjiaa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.fgecaendmjj <- List.rev v.fgecaendmjj;
      v.ilcjbmhadch <- List.rev v.ilcjbmhadch;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dllfnlcjiaa), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.ilcjbmhadch <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dllfnlcjiaa), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.gnfpnbgacdf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dllfnlcjiaa), field(3)" pk
    | Some (4, Pbrt.Bits64) -> begin
      v.ohfcbnkchlo <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dllfnlcjiaa), field(4)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.fgecaendmjj <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dllfnlcjiaa), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.nhfpnkffjgf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dllfnlcjiaa), field(6)" pk
    | Some (7, Pbrt.Bits64) -> begin
      v.hadlfdifcal <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dllfnlcjiaa), field(7)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.caomnkckhhk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dllfnlcjiaa), field(8)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.wave <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dllfnlcjiaa), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id = v.avatar_id;
    ilcjbmhadch = v.ilcjbmhadch;
    gnfpnbgacdf = v.gnfpnbgacdf;
    ohfcbnkchlo = v.ohfcbnkchlo;
    fgecaendmjj = v.fgecaendmjj;
    nhfpnkffjgf = v.nhfpnkffjgf;
    hadlfdifcal = v.hadlfdifcal;
    caomnkckhhk = v.caomnkckhhk;
    wave = v.wave;
  } : dllfnlcjiaa)

let rec decode_pb_eceobeagdad d =
  let v = default_eceobeagdad_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eceobeagdad), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.gnhadjpljbo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eceobeagdad), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id = v.avatar_id;
    gnhadjpljbo = v.gnhadjpljbo;
  } : eceobeagdad)

let rec decode_pb_dbbhaaodpgl d =
  let v = default_dbbhaaodpgl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ngcppmnflba <- List.rev v.ngcppmnflba;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.eijiiekodce <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dbbhaaodpgl), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.monster_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dbbhaaodpgl), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.ngcppmnflba <- (decode_pb_eceobeagdad (Pbrt.Decoder.nested d)) :: v.ngcppmnflba;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dbbhaaodpgl), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.nkgnnpndkfj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dbbhaaodpgl), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    eijiiekodce = v.eijiiekodce;
    monster_id = v.monster_id;
    ngcppmnflba = v.ngcppmnflba;
    nkgnnpndkfj = v.nkgnnpndkfj;
  } : dbbhaaodpgl)

let rec decode_pb_hllmbjmbieh d =
  let v = default_hllmbjmbieh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.fgmdoekgpee <- decode_pb_lbbkaebelpp d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hllmbjmbieh), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.iigaapiiddb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hllmbjmbieh), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.iihookopmmk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hllmbjmbieh), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fgmdoekgpee = v.fgmdoekgpee;
    iigaapiiddb = v.iigaapiiddb;
    iihookopmmk = v.iihookopmmk;
  } : hllmbjmbieh)

let rec decode_pb_lmnnafiaafp d =
  let v = default_lmnnafiaafp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.cmdpbhlgmeo <- List.rev v.cmdpbhlgmeo;
      v.ajcndmbmimb <- List.rev v.ajcndmbmimb;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.djemibiamha <- Pbrt.Decoder.string d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmnnafiaafp), field(1)" pk
    | Some (2, Pbrt.Bits32) -> begin
      v.mjlbfjkonhd <- Pbrt.Decoder.float_as_bits32 d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmnnafiaafp), field(2)" pk
    | Some (3, Pbrt.Bits32) -> begin
      v.amabfdlohmk <- Pbrt.Decoder.float_as_bits32 d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmnnafiaafp), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.iedlbcpkgon <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmnnafiaafp), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.hdccniamncp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmnnafiaafp), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.lbbhinoknng <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmnnafiaafp), field(6)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.ndembhkchba <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmnnafiaafp), field(7)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.bkihfdilonh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmnnafiaafp), field(8)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.ajcndmbmimb <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmnnafiaafp), field(9)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.cmdpbhlgmeo <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmnnafiaafp), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    djemibiamha = v.djemibiamha;
    mjlbfjkonhd = v.mjlbfjkonhd;
    amabfdlohmk = v.amabfdlohmk;
    iedlbcpkgon = v.iedlbcpkgon;
    hdccniamncp = v.hdccniamncp;
    lbbhinoknng = v.lbbhinoknng;
    ndembhkchba = v.ndembhkchba;
    bkihfdilonh = v.bkihfdilonh;
    ajcndmbmimb = v.ajcndmbmimb;
    cmdpbhlgmeo = v.cmdpbhlgmeo;
  } : lmnnafiaafp)

let rec decode_pb_jnegdknfdfj d =
  let v = default_jnegdknfdfj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ifphmbnpcec <- List.rev v.ifphmbnpcec;
      v.mbknfpcaghc <- List.rev v.mbknfpcaghc;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.enihajmdhhp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnegdknfdfj), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.kccnlbdlima <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnegdknfdfj), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.pjhcepapfoo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnegdknfdfj), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.lohcjdhdnlp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnegdknfdfj), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.kgfmdacaapm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnegdknfdfj), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.khnnhomamnn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnegdknfdfj), field(6)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.mbknfpcaghc <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnegdknfdfj), field(7)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.ifphmbnpcec <- (decode_pb_lmnnafiaafp (Pbrt.Decoder.nested d)) :: v.ifphmbnpcec;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnegdknfdfj), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    enihajmdhhp = v.enihajmdhhp;
    kccnlbdlima = v.kccnlbdlima;
    pjhcepapfoo = v.pjhcepapfoo;
    lohcjdhdnlp = v.lohcjdhdnlp;
    kgfmdacaapm = v.kgfmdacaapm;
    khnnhomamnn = v.khnnhomamnn;
    mbknfpcaghc = v.mbknfpcaghc;
    ifphmbnpcec = v.ifphmbnpcec;
  } : jnegdknfdfj)

let rec decode_pb_gfhlelkfecd d =
  let v = default_gfhlelkfecd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.wave <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfhlelkfecd), field(1)" pk
    | Some (2, Pbrt.Bits64) -> begin
      v.pfggnfbgjef <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfhlelkfecd), field(2)" pk
    | Some (3, Pbrt.Bits64) -> begin
      v.njmdeogblko <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfhlelkfecd), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.dbooppgpefo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfhlelkfecd), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.ekfilfopihm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfhlelkfecd), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    wave = v.wave;
    pfggnfbgjef = v.pfggnfbgjef;
    njmdeogblko = v.njmdeogblko;
    dbooppgpefo = v.dbooppgpefo;
    ekfilfopihm = v.ekfilfopihm;
  } : gfhlelkfecd)

let rec decode_pb_fkdalpnlnpp d =
  let v = default_fkdalpnlnpp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.pfmlckgckob <- Pbrt.Decoder.string d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fkdalpnlnpp), field(1)" pk
    | Some (2, Pbrt.Bits64) -> begin
      v.value <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fkdalpnlnpp), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pfmlckgckob = v.pfmlckgckob;
    value = v.value;
  } : fkdalpnlnpp)

let rec decode_pb_ogchmgibmee d =
  let v = default_ogchmgibmee_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.monster_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ogchmgibmee), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.dbopmmcclja <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ogchmgibmee), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.dbooppgpefo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ogchmgibmee), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.ekfilfopihm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ogchmgibmee), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    monster_id = v.monster_id;
    dbopmmcclja = v.dbopmmcclja;
    dbooppgpefo = v.dbooppgpefo;
    ekfilfopihm = v.ekfilfopihm;
  } : ogchmgibmee)

let rec decode_pb_iehmgigdfgi d =
  let v = default_iehmgigdfgi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.mmeaphlkfnh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iehmgigdfgi), field(1)" pk
    | Some (2, Pbrt.Bits64) -> begin
      v.lpgejjgcjfi <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iehmgigdfgi), field(2)" pk
    | Some (3, Pbrt.Bits64) -> begin
      v.ialkcegdpoj <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iehmgigdfgi), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.wave <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iehmgigdfgi), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.dbopmmcclja <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iehmgigdfgi), field(5)" pk
    | Some (6, Pbrt.Bits64) -> begin
      v.ncmmbhpfmpp <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iehmgigdfgi), field(6)" pk
    | Some (7, Pbrt.Bits64) -> begin
      v.mkdomgoogbd <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iehmgigdfgi), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mmeaphlkfnh = v.mmeaphlkfnh;
    lpgejjgcjfi = v.lpgejjgcjfi;
    ialkcegdpoj = v.ialkcegdpoj;
    wave = v.wave;
    dbopmmcclja = v.dbopmmcclja;
    ncmmbhpfmpp = v.ncmmbhpfmpp;
    mkdomgoogbd = v.mkdomgoogbd;
  } : iehmgigdfgi)

let rec decode_pb_ijbeafbgipi d =
  let v = default_ijbeafbgipi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.pgonjaacafm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ijbeafbgipi), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.kkhjioepbpb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ijbeafbgipi), field(2)" pk
    | Some (3, Pbrt.Bits64) -> begin
      v.dcgodnihhph <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ijbeafbgipi), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.wave <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ijbeafbgipi), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.dbopmmcclja <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ijbeafbgipi), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pgonjaacafm = v.pgonjaacafm;
    kkhjioepbpb = v.kkhjioepbpb;
    dcgodnihhph = v.dcgodnihhph;
    wave = v.wave;
    dbopmmcclja = v.dbopmmcclja;
  } : ijbeafbgipi)

let rec decode_pb_ilomdgdoidb d =
  let v = default_ilomdgdoidb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hfojdfpnied <- List.rev v.hfojdfpnied;
      v.llpagigkmdd <- List.rev v.llpagigkmdd;
      v.afcpodfhplf <- List.rev v.afcpodfhplf;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.afcpodfhplf <- (decode_pb_ogchmgibmee (Pbrt.Decoder.nested d)) :: v.afcpodfhplf;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ilomdgdoidb), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.llpagigkmdd <- (decode_pb_iehmgigdfgi (Pbrt.Decoder.nested d)) :: v.llpagigkmdd;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ilomdgdoidb), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.hfojdfpnied <- (decode_pb_ijbeafbgipi (Pbrt.Decoder.nested d)) :: v.hfojdfpnied;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ilomdgdoidb), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    afcpodfhplf = v.afcpodfhplf;
    llpagigkmdd = v.llpagigkmdd;
    hfojdfpnied = v.hfojdfpnied;
  } : ilomdgdoidb)

let rec decode_pb_mpconokhbfi d =
  let v = default_mpconokhbfi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.oadeikogppf <- Some (decode_pb_ilomdgdoidb (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mpconokhbfi), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    oadeikogppf = v.oadeikogppf;
  } : mpconokhbfi)

let rec decode_pb_njfhjpmofkj d =
  let v = default_njfhjpmofkj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.fgmdoekgpee <- decode_pb_gkaagdjgcjj d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njfhjpmofkj), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njfhjpmofkj), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.sp <- Some (decode_pb_sp_progress (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njfhjpmofkj), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fgmdoekgpee = v.fgmdoekgpee;
    id = v.id;
    sp = v.sp;
  } : njfhjpmofkj)

let rec decode_pb_mofdljpgdjc d =
  let v = default_mofdljpgdjc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.lhbdodgndmj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mofdljpgdjc), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.ealjhgebino <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mofdljpgdjc), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lhbdodgndmj = v.lhbdodgndmj;
    ealjhgebino = v.ealjhgebino;
  } : mofdljpgdjc)

let rec decode_pb_battle_statistics d =
  let v = default_battle_statistics_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.gccpcejdpgf <- List.rev v.gccpcejdpgf;
      v.pcnkojjcfie <- List.rev v.pcnkojjcfie;
      v.lepkomadmba <- List.rev v.lepkomadmba;
      v.pkilellljap <- List.rev v.pkilellljap;
      v.gfiihegmnbc <- List.rev v.gfiihegmnbc;
      v.eojhikielja <- List.rev v.eojhikielja;
      v.cbdokccplbl <- List.rev v.cbdokccplbl;
      v.bkbifgcidje <- List.rev v.bkbifgcidje;
      v.kafhlccjdpe <- List.rev v.kafhlccjdpe;
      v.battle_challenge_list <- List.rev v.battle_challenge_list;
      v.custom_values <- List.rev v.custom_values;
      v.monster_battle_list <- List.rev v.monster_battle_list;
      v.avatar_battle_list <- List.rev v.avatar_battle_list;
      v.avatar_id_list <- List.rev v.avatar_id_list;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.total_battle_turns <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.total_auto_turns <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.ultra_cnt <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(4)" pk
    | Some (5, Pbrt.Bits64) -> begin
      v.total_delay_cumulate <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(5)" pk
    | Some (6, Pbrt.Bits64) -> begin
      v.cost_time <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(6)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.avatar_battle_list <- (decode_pb_hjddflabbdf (Pbrt.Decoder.nested d)) :: v.avatar_battle_list;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(7)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.monster_battle_list <- (decode_pb_adcnfghedmc (Pbrt.Decoder.nested d)) :: v.monster_battle_list;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(8)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.round_cnt <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(9)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.cocoon_dead_wave <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(10)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.avatar_battle_turns <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(11)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.monster_battle_turns <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(12)" pk
    | Some (13, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.float_as_bits32 d
      ) in
      v.custom_values <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.string ~decode_value)::v.custom_values;
      );
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(13)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.challenge_score <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(14)" pk
    | Some (16, Pbrt.Bytes) -> begin
      v.battle_challenge_list <- (decode_pb_pldmljcickk (Pbrt.Decoder.nested d)) :: v.battle_challenge_list;
    end
    | Some (16, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(16)" pk
    | Some (19, Pbrt.Varint) -> begin
      v.gflgglklflo <- decode_pb_ikiinnobojc d;
    end
    | Some (19, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(19)" pk
    | Some (21, Pbrt.Bytes) -> begin
      v.kafhlccjdpe <- (decode_pb_dllfnlcjiaa (Pbrt.Decoder.nested d)) :: v.kafhlccjdpe;
    end
    | Some (21, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(21)" pk
    | Some (22, Pbrt.Bytes) -> begin
      v.bkbifgcidje <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (22, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(22)" pk
    | Some (23, Pbrt.Bytes) -> begin
      v.cbdokccplbl <- (decode_pb_dbbhaaodpgl (Pbrt.Decoder.nested d)) :: v.cbdokccplbl;
    end
    | Some (23, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(23)" pk
    | Some (26, Pbrt.Bytes) -> begin
      v.eojhikielja <- (decode_pb_hllmbjmbieh (Pbrt.Decoder.nested d)) :: v.eojhikielja;
    end
    | Some (26, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(26)" pk
    | Some (27, Pbrt.Bytes) -> begin
      v.gfiihegmnbc <- (decode_pb_njfhjpmofkj (Pbrt.Decoder.nested d)) :: v.gfiihegmnbc;
    end
    | Some (27, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(27)" pk
    | Some (28, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        decode_pb_eecgcenalep (Pbrt.Decoder.nested d)
      ) in
      v.pkilellljap <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.pkilellljap;
      );
    end
    | Some (28, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(28)" pk
    | Some (29, Pbrt.Bytes) -> begin
      v.lepkomadmba <- (decode_pb_mofdljpgdjc (Pbrt.Decoder.nested d)) :: v.lepkomadmba;
    end
    | Some (29, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(29)" pk
    | Some (30, Pbrt.Bytes) -> begin
      v.bcilaimkepo <- Some (decode_pb_evolve_build_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (30, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(30)" pk
    | Some (31, Pbrt.Bytes) -> begin
      v.eebjfpdkkla <- Some (decode_pb_jnegdknfdfj (Pbrt.Decoder.nested d));
    end
    | Some (31, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(31)" pk
    | Some (32, Pbrt.Varint) -> begin
      v.ckopikjmnno <- Pbrt.Decoder.bool d;
    end
    | Some (32, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(32)" pk
    | Some (33, Pbrt.Bytes) -> begin
      v.pcnkojjcfie <- (decode_pb_gfhlelkfecd (Pbrt.Decoder.nested d)) :: v.pcnkojjcfie;
    end
    | Some (33, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(33)" pk
    | Some (34, Pbrt.Bytes) -> begin
      v.gccpcejdpgf <- (decode_pb_fkdalpnlnpp (Pbrt.Decoder.nested d)) :: v.gccpcejdpgf;
    end
    | Some (34, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(34)" pk
    | Some (35, Pbrt.Varint) -> begin
      v.bfjbhggehfp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (35, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(35)" pk
    | Some (37, Pbrt.Bytes) -> begin
      v.fmloeohebom <- Some (decode_pb_mpconokhbfi (Pbrt.Decoder.nested d));
    end
    | Some (37, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(battle_statistics), field(37)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    total_battle_turns = v.total_battle_turns;
    total_auto_turns = v.total_auto_turns;
    avatar_id_list = v.avatar_id_list;
    ultra_cnt = v.ultra_cnt;
    total_delay_cumulate = v.total_delay_cumulate;
    cost_time = v.cost_time;
    avatar_battle_list = v.avatar_battle_list;
    monster_battle_list = v.monster_battle_list;
    round_cnt = v.round_cnt;
    cocoon_dead_wave = v.cocoon_dead_wave;
    avatar_battle_turns = v.avatar_battle_turns;
    monster_battle_turns = v.monster_battle_turns;
    custom_values = v.custom_values;
    challenge_score = v.challenge_score;
    battle_challenge_list = v.battle_challenge_list;
    gflgglklflo = v.gflgglklflo;
    kafhlccjdpe = v.kafhlccjdpe;
    bkbifgcidje = v.bkbifgcidje;
    cbdokccplbl = v.cbdokccplbl;
    eojhikielja = v.eojhikielja;
    gfiihegmnbc = v.gfiihegmnbc;
    pkilellljap = v.pkilellljap;
    lepkomadmba = v.lepkomadmba;
    bcilaimkepo = v.bcilaimkepo;
    eebjfpdkkla = v.eebjfpdkkla;
    ckopikjmnno = v.ckopikjmnno;
    pcnkojjcfie = v.pcnkojjcfie;
    gccpcejdpgf = v.gccpcejdpgf;
    bfjbhggehfp = v.bfjbhggehfp;
    fmloeohebom = v.fmloeohebom;
  } : battle_statistics)

let rec decode_pb_egfppaehfmb d =
  let v = default_egfppaehfmb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.fooekjjlepi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egfppaehfmb), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egfppaehfmb), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egfppaehfmb), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fooekjjlepi = v.fooekjjlepi;
    level = v.level;
    exp = v.exp;
  } : egfppaehfmb)

let rec decode_pb_inaakoibpao d =
  let v = default_inaakoibpao_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.dcgkdkmible <- List.rev v.dcgkdkmible;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- decode_pb_akminadfpee d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(inaakoibpao), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.end_status <- decode_pb_battle_end_status d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(inaakoibpao), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.ppkofopmfjc <- Some (decode_pb_battle_statistics (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(inaakoibpao), field(3)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.paojieohhab <- Pbrt.Decoder.bytes d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(inaakoibpao), field(4)" pk
    | Some (5, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.int32_as_varint d
      ) in
      v.dcgkdkmible <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.string ~decode_value)::v.dcgkdkmible;
      );
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(inaakoibpao), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.oocaibocjln <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(inaakoibpao), field(6)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.liidlgebipm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(inaakoibpao), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    end_status = v.end_status;
    ppkofopmfjc = v.ppkofopmfjc;
    paojieohhab = v.paojieohhab;
    dcgkdkmible = v.dcgkdkmible;
    oocaibocjln = v.oocaibocjln;
    liidlgebipm = v.liidlgebipm;
  } : inaakoibpao)

let rec decode_pb_gkkpbgmoodd d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Fight_game_mode_none:gkkpbgmoodd)
  | 1 -> (Fight_game_mode_match3:gkkpbgmoodd)
  | _ -> Pbrt.Decoder.malformed_variant "gkkpbgmoodd"

let rec decode_pb_iafdbbcgofo d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Fight_kickout_unknown:iafdbbcgofo)
  | 1 -> (Fight_kickout_black:iafdbbcgofo)
  | 2 -> (Fight_kickout_by_gm:iafdbbcgofo)
  | 3 -> (Fight_kickout_timeout:iafdbbcgofo)
  | 4 -> (Fight_kickout_session_reset:iafdbbcgofo)
  | _ -> Pbrt.Decoder.malformed_variant "iafdbbcgofo"

let rec decode_pb_eaejedljpgh d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Lobby_character_none:eaejedljpgh)
  | 1 -> (Lobby_character_leader:eaejedljpgh)
  | 2 -> (Lobby_character_member:eaejedljpgh)
  | 3 -> (Lobby_character_watcher:eaejedljpgh)
  | _ -> Pbrt.Decoder.malformed_variant "eaejedljpgh"

let rec decode_pb_gienaojphnb d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Lobby_character_status_none:gienaojphnb)
  | 1 -> (Lobby_character_status_idle:gienaojphnb)
  | 2 -> (Lobby_character_status_operating:gienaojphnb)
  | 3 -> (Lobby_character_status_ready:gienaojphnb)
  | 4 -> (Lobby_character_status_fighting:gienaojphnb)
  | 5 -> (Lobby_character_status_watching:gienaojphnb)
  | 6 -> (Lobby_character_status_matching:gienaojphnb)
  | _ -> Pbrt.Decoder.malformed_variant "gienaojphnb"

let rec decode_pb_ejnhbdlcndj d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Lobby_modify_type_none:ejnhbdlcndj)
  | 1 -> (Lobby_modify_type_idle:ejnhbdlcndj)
  | 2 -> (Lobby_modify_type_ready:ejnhbdlcndj)
  | 3 -> (Lobby_modify_type_operating:ejnhbdlcndj)
  | 4 -> (Lobby_modify_type_cancel_match:ejnhbdlcndj)
  | 5 -> (Lobby_modify_type_match:ejnhbdlcndj)
  | 6 -> (Lobby_modify_type_quit_lobby:ejnhbdlcndj)
  | 7 -> (Lobby_modify_type_kick_out:ejnhbdlcndj)
  | 8 -> (Lobby_modify_type_time_out:ejnhbdlcndj)
  | 9 -> (Lobby_modify_type_join_lobby:ejnhbdlcndj)
  | 10 -> (Lobby_modify_type_lobby_dismiss:ejnhbdlcndj)
  | 11 -> (Lobby_modify_type_match_time_out:ejnhbdlcndj)
  | 12 -> (Lobby_modify_type_fight_start:ejnhbdlcndj)
  | 13 -> (Lobby_modify_type_logout:ejnhbdlcndj)
  | 14 -> (Lobby_modify_type_fight_end:ejnhbdlcndj)
  | 15 -> (Lobby_modify_type_fight_room_destroy_in_init:ejnhbdlcndj)
  | _ -> Pbrt.Decoder.malformed_variant "ejnhbdlcndj"

let rec decode_pb_gfopbkkefeo d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Fight_room_destroy_reason_none:gfopbkkefeo)
  | 1 -> (Fight_room_destroy_reason_svr_stop:gfopbkkefeo)
  | 2 -> (Fight_room_destroy_reason_game_end:gfopbkkefeo)
  | _ -> Pbrt.Decoder.malformed_variant "gfopbkkefeo"

let rec decode_pb_donhpbjnknp d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Match3_finish_reason_default:donhpbjnknp)
  | 1 -> (Match3_finish_reason_leave:donhpbjnknp)
  | 2 -> (Match3_finish_reason_die:donhpbjnknp)
  | 3 -> (Match3_finish_reason_gameend:donhpbjnknp)
  | 4 -> (Match3_finish_reason_kickout:donhpbjnknp)
  | _ -> Pbrt.Decoder.malformed_variant "donhpbjnknp"

let rec decode_pb_nkbjfdkkbid d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Match_unit_type_none:nkbjfdkkbid)
  | 1 -> (Match_unit_type_normal:nkbjfdkkbid)
  | 2 -> (Match_unit_type_robot:nkbjfdkkbid)
  | 3 -> (Match_unit_type_gm:nkbjfdkkbid)
  | _ -> Pbrt.Decoder.malformed_variant "nkbjfdkkbid"

let rec decode_pb_dilkchlpoba d =
  let v = default_dilkchlpoba_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dilkchlpoba), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dilkchlpoba), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.nickname <- Pbrt.Decoder.string d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dilkchlpoba), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.nnlodfdobia <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dilkchlpoba), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.dbgjcbcfaec <- decode_pb_platform_type d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dilkchlpoba), field(5)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.meijfajkmmp <- Pbrt.Decoder.string d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dilkchlpoba), field(6)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.mjalbnjgfmj <- Pbrt.Decoder.string d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dilkchlpoba), field(7)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.version <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dilkchlpoba), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    uid = v.uid;
    level = v.level;
    nickname = v.nickname;
    nnlodfdobia = v.nnlodfdobia;
    dbgjcbcfaec = v.dbgjcbcfaec;
    meijfajkmmp = v.meijfajkmmp;
    mjalbnjgfmj = v.mjalbnjgfmj;
    version = v.version;
  } : dilkchlpoba)

let rec decode_pb_jhpgipfhpjm d =
  let v = default_jhpgipfhpjm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.ipfplgihdbj <- decode_pb_eaejedljpgh d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhpgipfhpjm), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.status <- decode_pb_gienaojphnb d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhpgipfhpjm), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ipfplgihdbj = v.ipfplgihdbj;
    status = v.status;
  } : jhpgipfhpjm)

let rec decode_pb_ijbclkbblen d =
  let v = default_ijbclkbblen_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.kkgeojnphcn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ijbclkbblen), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.icpnclpicnm <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ijbclkbblen), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.ileodajnnlf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ijbclkbblen), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.eehicmneonc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ijbclkbblen), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kkgeojnphcn = v.kkgeojnphcn;
    icpnclpicnm = v.icpnclpicnm;
    ileodajnnlf = v.ileodajnnlf;
    eehicmneonc = v.eehicmneonc;
  } : ijbclkbblen)

let rec decode_pb_lnnkgnfmmll d =
  let v = default_lnnkgnfmmll_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mjkmfnjeddo <- List.rev v.mjkmfnjeddo;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.mjkmfnjeddo <- (Pbrt.Decoder.string d) :: v.mjkmfnjeddo;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lnnkgnfmmll), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.oommfhnmaci <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lnnkgnfmmll), field(2)" pk
    | Some (1001, Pbrt.Bytes) -> begin
      v.kpjaichmnce <- Some (decode_pb_ijbclkbblen (Pbrt.Decoder.nested d));
    end
    | Some (1001, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lnnkgnfmmll), field(1001)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mjkmfnjeddo = v.mjkmfnjeddo;
    oommfhnmaci = v.oommfhnmaci;
    kpjaichmnce = v.kpjaichmnce;
  } : lnnkgnfmmll)

let rec decode_pb_egokacjfaen d =
  let v = default_egokacjfaen_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.basic_info <- Some (decode_pb_dilkchlpoba (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egokacjfaen), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.lhhkllkkgki <- Some (decode_pb_jhpgipfhpjm (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egokacjfaen), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.akfdaaaiich <- Some (decode_pb_lnnkgnfmmll (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egokacjfaen), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    basic_info = v.basic_info;
    lhhkllkkgki = v.lhhkllkkgki;
    akfdaaaiich = v.akfdaaaiich;
  } : egokacjfaen)

let rec decode_pb_obminlghola d =
  let v = default_obminlghola_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.gkhlagcmbep <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(obminlghola), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.chhlgofkode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(obminlghola), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.ohendokilbg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(obminlghola), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.kdldpilbjih <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(obminlghola), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.doppanjiahe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(obminlghola), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.lgbmfnociof <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(obminlghola), field(6)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.pbcfilehadp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(obminlghola), field(7)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.mfkojkldhlg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(obminlghola), field(8)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.ofolhglfdbe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(obminlghola), field(9)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.ohhndhfpidi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(obminlghola), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gkhlagcmbep = v.gkhlagcmbep;
    chhlgofkode = v.chhlgofkode;
    ohendokilbg = v.ohendokilbg;
    kdldpilbjih = v.kdldpilbjih;
    doppanjiahe = v.doppanjiahe;
    lgbmfnociof = v.lgbmfnociof;
    pbcfilehadp = v.pbcfilehadp;
    mfkojkldhlg = v.mfkojkldhlg;
    ofolhglfdbe = v.ofolhglfdbe;
    ohhndhfpidi = v.ohhndhfpidi;
  } : obminlghola)

let rec decode_pb_mfoaahgomic d =
  let v = default_mfoaahgomic_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.ejphmffiidi <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mfoaahgomic), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.cicgmfacfbc <- decode_pb_gkkpbgmoodd d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mfoaahgomic), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ejphmffiidi = v.ejphmffiidi;
    cicgmfacfbc = v.cicgmfacfbc;
  } : mfoaahgomic)

let rec decode_pb_mbbjjfnjnde d =
  let v = default_mbbjjfnjnde_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.fjifpjhfgdd <- List.rev v.fjifpjhfgdd;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mbbjjfnjnde), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.kcffnljmjdj <- decode_pb_gkkpbgmoodd d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mbbjjfnjnde), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.fjifpjhfgdd <- (decode_pb_egokacjfaen (Pbrt.Decoder.nested d)) :: v.fjifpjhfgdd;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mbbjjfnjnde), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.fgmdoekgpee <- decode_pb_nkbjfdkkbid d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mbbjjfnjnde), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.pomlpdggdfc <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mbbjjfnjnde), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.kiofoicccjm <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mbbjjfnjnde), field(6)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.mnpddkgcfcd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mbbjjfnjnde), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
    kcffnljmjdj = v.kcffnljmjdj;
    fjifpjhfgdd = v.fjifpjhfgdd;
    fgmdoekgpee = v.fgmdoekgpee;
    pomlpdggdfc = v.pomlpdggdfc;
    kiofoicccjm = v.kiofoicccjm;
    mnpddkgcfcd = v.mnpddkgcfcd;
  } : mbbjjfnjnde)

let rec decode_pb_dmmifgboihc d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Ret_succ:dmmifgboihc)
  | 1 -> (Ret_fail:dmmifgboihc)
  | 2 -> (Ret_server_internal_error:dmmifgboihc)
  | 3 -> (Ret_timeout:dmmifgboihc)
  | 4 -> (Ret_repeated_req:dmmifgboihc)
  | 5 -> (Ret_req_para_invalid:dmmifgboihc)
  | 6 -> (Ret_player_data_error:dmmifgboihc)
  | 7 -> (Ret_player_client_paused:dmmifgboihc)
  | 8 -> (Ret_func_check_failed:dmmifgboihc)
  | 9 -> (Ret_feature_switch_closed:dmmifgboihc)
  | 10 -> (Ret_freq_over_limit:dmmifgboihc)
  | 11 -> (Ret_system_busy:dmmifgboihc)
  | 12 -> (Ret_player_not_online:dmmifgboihc)
  | 1000 -> (Ret_repeate_login:dmmifgboihc)
  | 1001 -> (Ret_retry_login:dmmifgboihc)
  | 1002 -> (Ret_wait_login:dmmifgboihc)
  | 1003 -> (Ret_not_in_white_list:dmmifgboihc)
  | 1004 -> (Ret_in_black_list:dmmifgboihc)
  | 1005 -> (Ret_account_verify_error:dmmifgboihc)
  | 1006 -> (Ret_account_para_error:dmmifgboihc)
  | 1007 -> (Ret_anti_addict_login:dmmifgboihc)
  | 1008 -> (Ret_check_sum_error:dmmifgboihc)
  | 1009 -> (Ret_reach_max_player_num:dmmifgboihc)
  | 1010 -> (Ret_already_registered:dmmifgboihc)
  | 1011 -> (Ret_gender_error:dmmifgboihc)
  | 1012 -> (Set_nickname_ret_callback_processing:dmmifgboihc)
  | 1013 -> (Ret_in_gm_bind_access:dmmifgboihc)
  | 1100 -> (Ret_quest_reward_already_taken:dmmifgboihc)
  | 1101 -> (Ret_quest_not_accept:dmmifgboihc)
  | 1102 -> (Ret_quest_not_finish:dmmifgboihc)
  | 1103 -> (Ret_quest_status_error:dmmifgboihc)
  | 1104 -> (Ret_achievement_level_not_reach:dmmifgboihc)
  | 1105 -> (Ret_achievement_level_already_taken:dmmifgboihc)
  | 1200 -> (Ret_avatar_not_exist:dmmifgboihc)
  | 1201 -> (Ret_avatar_res_exp_not_enough:dmmifgboihc)
  | 1202 -> (Ret_avatar_exp_reach_promotion_limit:dmmifgboihc)
  | 1203 -> (Ret_avatar_reach_max_promotion:dmmifgboihc)
  | 1204 -> (Ret_skilltree_config_not_exist:dmmifgboihc)
  | 1205 -> (Ret_skilltree_already_unlock:dmmifgboihc)
  | 1206 -> (Ret_skilltree_pre_locked:dmmifgboihc)
  | 1207 -> (Ret_skilltree_level_not_meet:dmmifgboihc)
  | 1208 -> (Ret_skilltree_rank_not_meet:dmmifgboihc)
  | 1209 -> (Ret_avatar_dress_no_equipment:dmmifgboihc)
  | 1210 -> (Ret_avatar_exp_item_not_exist:dmmifgboihc)
  | 1211 -> (Ret_skilltree_point_locked:dmmifgboihc)
  | 1212 -> (Ret_skilltree_point_level_upgrade_not_match:dmmifgboihc)
  | 1213 -> (Ret_skilltree_point_level_reach_max:dmmifgboihc)
  | 1214 -> (Ret_world_level_not_meet:dmmifgboihc)
  | 1215 -> (Ret_player_level_not_meet:dmmifgboihc)
  | 1216 -> (Ret_avatar_rank_not_match:dmmifgboihc)
  | 1217 -> (Ret_avatar_rank_reach_max:dmmifgboihc)
  | 1218 -> (Ret_hero_basic_type_not_match:dmmifgboihc)
  | 1219 -> (Ret_avatar_promotion_not_meet:dmmifgboihc)
  | 1220 -> (Ret_promotion_reward_config_not_exist:dmmifgboihc)
  | 1221 -> (Ret_promotion_reward_already_taken:dmmifgboihc)
  | 1222 -> (Ret_avatar_skin_item_not_exist:dmmifgboihc)
  | 1223 -> (Ret_avatar_skin_already_dressed:dmmifgboihc)
  | 1224 -> (Ret_avatar_not_dress_skin:dmmifgboihc)
  | 1225 -> (Ret_avatar_skin_not_match_avatar:dmmifgboihc)
  | 1300 -> (Ret_item_not_exist:dmmifgboihc)
  | 1301 -> (Ret_item_cost_not_enough:dmmifgboihc)
  | 1302 -> (Ret_item_cost_too_much:dmmifgboihc)
  | 1303 -> (Ret_item_no_cost:dmmifgboihc)
  | 1304 -> (Ret_item_not_enough:dmmifgboihc)
  | 1305 -> (Ret_item_invalid:dmmifgboihc)
  | 1306 -> (Ret_item_config_not_exist:dmmifgboihc)
  | 1307 -> (Ret_scoin_not_enough:dmmifgboihc)
  | 1308 -> (Ret_item_reward_exceed_limit:dmmifgboihc)
  | 1309 -> (Ret_item_invalid_use:dmmifgboihc)
  | 1310 -> (Ret_item_use_config_not_exist:dmmifgboihc)
  | 1311 -> (Ret_reward_config_not_exist:dmmifgboihc)
  | 1312 -> (Ret_item_exceed_limit:dmmifgboihc)
  | 1313 -> (Ret_item_count_invalid:dmmifgboihc)
  | 1314 -> (Ret_item_use_target_type_invalid:dmmifgboihc)
  | 1315 -> (Ret_item_use_satiety_full:dmmifgboihc)
  | 1316 -> (Ret_item_compose_not_exist:dmmifgboihc)
  | 1317 -> (Ret_relic_compose_not_exist:dmmifgboihc)
  | 1318 -> (Ret_item_can_not_sell:dmmifgboihc)
  | 1319 -> (Ret_item_sell_excedd_limit:dmmifgboihc)
  | 1320 -> (Ret_item_not_in_cost_list:dmmifgboihc)
  | 1321 -> (Ret_item_special_cost_not_enough:dmmifgboihc)
  | 1322 -> (Ret_item_special_cost_too_much:dmmifgboihc)
  | 1323 -> (Ret_item_formula_not_exist:dmmifgboihc)
  | 1324 -> (Ret_item_auto_gift_optional_not_exist:dmmifgboihc)
  | 1325 -> (Ret_relic_compose_relic_invalid:dmmifgboihc)
  | 1326 -> (Ret_relic_compose_main_affix_id_invalid:dmmifgboihc)
  | 1327 -> (Ret_relic_compose_wrong_formula_type:dmmifgboihc)
  | 1328 -> (Ret_relic_compose_relic_not_exist:dmmifgboihc)
  | 1329 -> (Ret_relic_compose_black_gold_count_invalid:dmmifgboihc)
  | 1330 -> (Ret_relic_compose_black_gold_not_need:dmmifgboihc)
  | 1331 -> (Ret_month_card_cannot_use:dmmifgboihc)
  | 1332 -> (Ret_item_reward_exceed_disappear:dmmifgboihc)
  | 1333 -> (Ret_item_need_recycle:dmmifgboihc)
  | 1334 -> (Ret_item_compose_exceed_limit:dmmifgboihc)
  | 1335 -> (Ret_item_can_not_destroy:dmmifgboihc)
  | 1336 -> (Ret_item_already_mark:dmmifgboihc)
  | 1337 -> (Ret_item_mark_exceed_limit:dmmifgboihc)
  | 1338 -> (Ret_item_not_mark:dmmifgboihc)
  | 1339 -> (Ret_iten_turn_food_not_set:dmmifgboihc)
  | 1340 -> (Ret_item_turn_food_already_set:dmmifgboihc)
  | 1341 -> (Ret_item_turn_food_consume_type_error:dmmifgboihc)
  | 1342 -> (Ret_item_turn_food_switch_already_open:dmmifgboihc)
  | 1343 -> (Ret_item_turn_food_switch_already_close:dmmifgboihc)
  | 1344 -> (Ret_hcoin_exchange_too_much:dmmifgboihc)
  | 1345 -> (Ret_item_turn_food_scene_type_error:dmmifgboihc)
  | 1350 -> (Ret_equipment_already_dressed:dmmifgboihc)
  | 1351 -> (Ret_equipment_not_exist:dmmifgboihc)
  | 1352 -> (Ret_equipment_reach_level_limit:dmmifgboihc)
  | 1353 -> (Ret_equipment_consume_self:dmmifgboihc)
  | 1354 -> (Ret_equipment_already_locked:dmmifgboihc)
  | 1355 -> (Ret_equipment_already_unlocked:dmmifgboihc)
  | 1356 -> (Ret_equipment_locked:dmmifgboihc)
  | 1357 -> (Ret_equipment_select_num_over_limit:dmmifgboihc)
  | 1358 -> (Ret_equipment_rank_up_must_consume_same_tid:dmmifgboihc)
  | 1359 -> (Ret_equipment_promotion_reach_max:dmmifgboihc)
  | 1360 -> (Ret_equipment_rank_up_reach_max:dmmifgboihc)
  | 1361 -> (Ret_equipment_level_reach_max:dmmifgboihc)
  | 1362 -> (Ret_equipment_exceed_limit:dmmifgboihc)
  | 1363 -> (Ret_relic_not_exist:dmmifgboihc)
  | 1364 -> (Ret_relic_reach_level_limit:dmmifgboihc)
  | 1365 -> (Ret_relic_consume_self:dmmifgboihc)
  | 1366 -> (Ret_relic_already_dressed:dmmifgboihc)
  | 1367 -> (Ret_relic_locked:dmmifgboihc)
  | 1368 -> (Ret_relic_already_locked:dmmifgboihc)
  | 1369 -> (Ret_relic_already_unlocked:dmmifgboihc)
  | 1370 -> (Ret_relic_level_is_not_zero:dmmifgboihc)
  | 1371 -> (Ret_unique_id_repeated:dmmifgboihc)
  | 1372 -> (Ret_equipment_level_not_meet:dmmifgboihc)
  | 1373 -> (Ret_equipment_item_not_in_cost_list:dmmifgboihc)
  | 1374 -> (Ret_equipment_level_greater_than_one:dmmifgboihc)
  | 1375 -> (Ret_equipment_already_ranked:dmmifgboihc)
  | 1376 -> (Ret_relic_exceed_limit:dmmifgboihc)
  | 1377 -> (Ret_relic_already_discarded:dmmifgboihc)
  | 1378 -> (Ret_relic_already_undiscarded:dmmifgboihc)
  | 1379 -> (Ret_equipment_batch_lock_too_fast:dmmifgboihc)
  | 1380 -> (Ret_relic_filter_plan_slot_empty:dmmifgboihc)
  | 1381 -> (Ret_relic_filter_plan_num_exceed_limit:dmmifgboihc)
  | 1382 -> (Ret_relic_filter_plan_name_utf8_error:dmmifgboihc)
  | 1383 -> (Ret_relic_filter_plan_name_format_error:dmmifgboihc)
  | 1384 -> (Ret_relic_filter_plan_no_change:dmmifgboihc)
  | 1400 -> (Ret_lineup_invalid_index:dmmifgboihc)
  | 1401 -> (Ret_lineup_invalid_member_pos:dmmifgboihc)
  | 1402 -> (Ret_lineup_swap_not_exist:dmmifgboihc)
  | 1403 -> (Ret_lineup_avatar_already_in:dmmifgboihc)
  | 1404 -> (Ret_lineup_create_avatar_error:dmmifgboihc)
  | 1405 -> (Ret_lineup_avatar_init_error:dmmifgboihc)
  | 1406 -> (Ret_lineup_not_exist:dmmifgboihc)
  | 1407 -> (Ret_lineup_only_one_member:dmmifgboihc)
  | 1408 -> (Ret_lineup_same_leader_slot:dmmifgboihc)
  | 1409 -> (Ret_lineup_no_leader_select:dmmifgboihc)
  | 1410 -> (Ret_lineup_swap_same_slot:dmmifgboihc)
  | 1411 -> (Ret_lineup_avatar_not_exist:dmmifgboihc)
  | 1412 -> (Ret_lineup_trial_avatar_can_not_quit:dmmifgboihc)
  | 1413 -> (Ret_lineup_virtual_lineup_plane_not_match:dmmifgboihc)
  | 1414 -> (Ret_lineup_not_valid_leader:dmmifgboihc)
  | 1415 -> (Ret_lineup_same_index:dmmifgboihc)
  | 1416 -> (Ret_lineup_is_empty:dmmifgboihc)
  | 1417 -> (Ret_lineup_name_format_error:dmmifgboihc)
  | 1418 -> (Ret_lineup_type_not_match:dmmifgboihc)
  | 1419 -> (Ret_lineup_replace_all_failed:dmmifgboihc)
  | 1420 -> (Ret_lineup_not_allow_edit:dmmifgboihc)
  | 1421 -> (Ret_lineup_avatar_is_alive:dmmifgboihc)
  | 1422 -> (Ret_lineup_assist_has_only_member:dmmifgboihc)
  | 1423 -> (Ret_lineup_assist_cannot_switch:dmmifgboihc)
  | 1424 -> (Ret_lineup_avatar_type_invalid:dmmifgboihc)
  | 1425 -> (Ret_lineup_name_utf8_error:dmmifgboihc)
  | 1426 -> (Ret_lineup_leader_lock:dmmifgboihc)
  | 1427 -> (Ret_lineup_story_line_not_match:dmmifgboihc)
  | 1428 -> (Ret_lineup_avatar_lock:dmmifgboihc)
  | 1429 -> (Ret_lineup_avatar_invalid:dmmifgboihc)
  | 1430 -> (Ret_lineup_avatar_already_init:dmmifgboihc)
  | 1431 -> (Ret_lineup_limited:dmmifgboihc)
  | 1700 -> (Ret_mail_not_exist:dmmifgboihc)
  | 1701 -> (Ret_mail_range_invalid:dmmifgboihc)
  | 1702 -> (Ret_mail_mail_id_invalid:dmmifgboihc)
  | 1703 -> (Ret_mail_no_mail_take_attachment:dmmifgboihc)
  | 1704 -> (Ret_mail_no_mail_to_del:dmmifgboihc)
  | 1705 -> (Ret_mail_type_invalid:dmmifgboihc)
  | 1706 -> (Ret_mail_para_invalid:dmmifgboihc)
  | 1707 -> (Ret_mail_attachement_invalid:dmmifgboihc)
  | 1708 -> (Ret_mail_ticket_invalid:dmmifgboihc)
  | 1709 -> (Ret_mail_ticket_repeated:dmmifgboihc)
  | 1800 -> (Ret_stage_settle_error:dmmifgboihc)
  | 1801 -> (Ret_stage_config_not_exist:dmmifgboihc)
  | 1802 -> (Ret_stage_not_found:dmmifgboihc)
  | 1804 -> (Ret_stage_cocoon_prop_not_valid:dmmifgboihc)
  | 1805 -> (Ret_stage_cocoon_wave_not_valid:dmmifgboihc)
  | 1806 -> (Ret_stage_prop_id_not_equal:dmmifgboihc)
  | 1807 -> (Ret_stage_cocoon_wave_over:dmmifgboihc)
  | 1808 -> (Ret_stage_week_cocoon_over_cnt:dmmifgboihc)
  | 1809 -> (Ret_stage_cocoon_not_open:dmmifgboihc)
  | 1810 -> (Ret_stage_trial_not_open:dmmifgboihc)
  | 1811 -> (Ret_stage_farm_not_open:dmmifgboihc)
  | 1812 -> (Ret_stage_farm_type_error:dmmifgboihc)
  | 1900 -> (Ret_chapter_lock:dmmifgboihc)
  | 1901 -> (Ret_chapter_challenge_num_not_enough:dmmifgboihc)
  | 1902 -> (Ret_chapter_reward_id_not_exist:dmmifgboihc)
  | 1903 -> (Ret_chapter_reward_already_taken:dmmifgboihc)
  | 2000 -> (Ret_battle_stage_not_match:dmmifgboihc)
  | 2001 -> (Ret_in_battle_now:dmmifgboihc)
  | 2002 -> (Ret_battle_cheat:dmmifgboihc)
  | 2003 -> (Ret_battle_fail:dmmifgboihc)
  | 2004 -> (Ret_battle_no_lineup:dmmifgboihc)
  | 2005 -> (Ret_battle_lineup_empty:dmmifgboihc)
  | 2006 -> (Ret_battle_version_not_match:dmmifgboihc)
  | 2007 -> (Ret_battle_quit_by_server:dmmifgboihc)
  | 2008 -> (Ret_in_battle_check:dmmifgboihc)
  | 2009 -> (Ret_battle_check_need_retry:dmmifgboihc)
  | 2010 -> (Ret_battle_cost_time_check_fail:dmmifgboihc)
  | 2100 -> (Ret_lack_exchange_stamina_times:dmmifgboihc)
  | 2101 -> (Ret_lack_stamina:dmmifgboihc)
  | 2102 -> (Ret_stamina_full:dmmifgboihc)
  | 2103 -> (Ret_authkey_sign_type_error:dmmifgboihc)
  | 2104 -> (Ret_authkey_sign_ver_error:dmmifgboihc)
  | 2105 -> (Ret_nickname_format_error:dmmifgboihc)
  | 2106 -> (Ret_sensitive_words:dmmifgboihc)
  | 2107 -> (Ret_level_reward_has_taken:dmmifgboihc)
  | 2108 -> (Ret_level_reward_level_error:dmmifgboihc)
  | 2109 -> (Ret_language_invalid:dmmifgboihc)
  | 2110 -> (Ret_nickname_in_cd:dmmifgboihc)
  | 2111 -> (Ret_gameplay_birthday_invalid:dmmifgboihc)
  | 2112 -> (Ret_gameplay_birthday_already_set:dmmifgboihc)
  | 2113 -> (Ret_nickname_utf8_error:dmmifgboihc)
  | 2114 -> (Ret_nickname_digit_limit_error:dmmifgboihc)
  | 2115 -> (Ret_sensitive_words_platform_error:dmmifgboihc)
  | 2116 -> (Ret_player_setting_type_invalid:dmmifgboihc)
  | 2201 -> (Ret_maze_lack_ticket:dmmifgboihc)
  | 2202 -> (Ret_maze_not_unlock:dmmifgboihc)
  | 2204 -> (Ret_maze_no_ability:dmmifgboihc)
  | 2205 -> (Ret_maze_no_plane:dmmifgboihc)
  | 2207 -> (Ret_maze_map_not_exist:dmmifgboihc)
  | 2213 -> (Ret_maze_mp_not_enough:dmmifgboihc)
  | 2214 -> (Ret_spring_not_enable:dmmifgboihc)
  | 2216 -> (Ret_spring_too_far:dmmifgboihc)
  | 2218 -> (Ret_not_in_maze:dmmifgboihc)
  | 2223 -> (Ret_maze_time_of_day_type_error:dmmifgboihc)
  | 2224 -> (Ret_scene_transfer_locked_by_task:dmmifgboihc)
  | 2300 -> (Ret_plot_not_unlock:dmmifgboihc)
  | 2400 -> (Ret_mission_not_exist:dmmifgboihc)
  | 2401 -> (Ret_mission_already_done:dmmifgboihc)
  | 2402 -> (Ret_daily_task_not_finish:dmmifgboihc)
  | 2403 -> (Ret_daily_task_reward_has_taken:dmmifgboihc)
  | 2404 -> (Ret_mission_not_finish:dmmifgboihc)
  | 2405 -> (Ret_mission_not_doing:dmmifgboihc)
  | 2406 -> (Ret_mission_finish_way_not_match:dmmifgboihc)
  | 2407 -> (Ret_mission_scene_not_match:dmmifgboihc)
  | 2408 -> (Ret_mission_custom_value_not_valid:dmmifgboihc)
  | 2409 -> (Ret_mission_sub_mission_not_match:dmmifgboihc)
  | 2500 -> (Ret_adventure_map_not_exist:dmmifgboihc)
  | 2600 -> (Ret_scene_entity_not_exist:dmmifgboihc)
  | 2601 -> (Ret_not_in_scene:dmmifgboihc)
  | 2602 -> (Ret_scene_monster_not_exist:dmmifgboihc)
  | 2603 -> (Ret_interact_config_not_exist:dmmifgboihc)
  | 2604 -> (Ret_unsupported_prop_state:dmmifgboihc)
  | 2605 -> (Ret_scene_entry_id_not_match:dmmifgboihc)
  | 2606 -> (Ret_scene_entity_move_check_failed:dmmifgboihc)
  | 2607 -> (Ret_assist_monster_count_limit:dmmifgboihc)
  | 2608 -> (Ret_scene_use_skill_fail:dmmifgboihc)
  | 2609 -> (Ret_prop_is_hidden:dmmifgboihc)
  | 2610 -> (Ret_loading_succ_already:dmmifgboihc)
  | 2611 -> (Ret_scene_entity_type_invalid:dmmifgboihc)
  | 2612 -> (Ret_interact_type_invalid:dmmifgboihc)
  | 2613 -> (Ret_interact_not_in_region:dmmifgboihc)
  | 2614 -> (Ret_interact_sub_type_invalid:dmmifgboihc)
  | 2615 -> (Ret_not_leader_entity:dmmifgboihc)
  | 2616 -> (Ret_monster_is_not_farm_element:dmmifgboihc)
  | 2617 -> (Ret_monster_config_not_exist:dmmifgboihc)
  | 2618 -> (Ret_avatar_hp_already_full:dmmifgboihc)
  | 2619 -> (Ret_cur_interact_entity_not_match:dmmifgboihc)
  | 2620 -> (Ret_plane_type_not_allow:dmmifgboihc)
  | 2621 -> (Ret_group_not_exist:dmmifgboihc)
  | 2622 -> (Ret_group_save_data_in_cd:dmmifgboihc)
  | 2623 -> (Ret_group_save_lengh_reach_max:dmmifgboihc)
  | 2624 -> (Ret_recent_element_not_exist:dmmifgboihc)
  | 2625 -> (Ret_recent_element_stage_not_match:dmmifgboihc)
  | 2626 -> (Ret_scene_position_version_not_match:dmmifgboihc)
  | 2627 -> (Ret_gameplay_counter_not_exist:dmmifgboihc)
  | 2628 -> (Ret_gameplay_counter_not_enough:dmmifgboihc)
  | 2629 -> (Ret_group_state_not_match:dmmifgboihc)
  | 2630 -> (Ret_scene_entity_pos_not_match:dmmifgboihc)
  | 2631 -> (Ret_group_state_custom_save_data_off:dmmifgboihc)
  | 2632 -> (Ret_scene_not_match:dmmifgboihc)
  | 2700 -> (Ret_buy_times_limit:dmmifgboihc)
  | 2701 -> (Ret_buy_limit_type:dmmifgboihc)
  | 2702 -> (Ret_shop_not_open:dmmifgboihc)
  | 2703 -> (Ret_goods_not_open:dmmifgboihc)
  | 2704 -> (Ret_city_level_reward_taken:dmmifgboihc)
  | 2705 -> (Ret_city_level_not_meet:dmmifgboihc)
  | 2706 -> (Ret_single_buy_limit:dmmifgboihc)
  | 2751 -> (Ret_tutorial_not_unlock:dmmifgboihc)
  | 2752 -> (Ret_tutorial_unlock_already:dmmifgboihc)
  | 2753 -> (Ret_tutorial_finish_already:dmmifgboihc)
  | 2754 -> (Ret_tutorial_pre_not_unlock:dmmifgboihc)
  | 2755 -> (Ret_tutorial_player_level_not_match:dmmifgboihc)
  | 2756 -> (Ret_tutorial_tutorial_not_found:dmmifgboihc)
  | 2801 -> (Ret_challenge_not_exist:dmmifgboihc)
  | 2802 -> (Ret_challenge_not_unlock:dmmifgboihc)
  | 2803 -> (Ret_challenge_already:dmmifgboihc)
  | 2804 -> (Ret_challenge_lineup_edit_forbidden:dmmifgboihc)
  | 2805 -> (Ret_challenge_lineup_empty:dmmifgboihc)
  | 2806 -> (Ret_challenge_not_doing:dmmifgboihc)
  | 2807 -> (Ret_challenge_not_finish:dmmifgboihc)
  | 2808 -> (Ret_challenge_target_not_finish:dmmifgboihc)
  | 2809 -> (Ret_challenge_target_reward_taken:dmmifgboihc)
  | 2810 -> (Ret_challenge_time_not_valid:dmmifgboihc)
  | 2811 -> (Ret_challenge_stars_count_not_meet:dmmifgboihc)
  | 2812 -> (Ret_challenge_stars_reward_taken:dmmifgboihc)
  | 2813 -> (Ret_challenge_stars_not_exist:dmmifgboihc)
  | 2814 -> (Ret_challenge_cur_scene_not_entry_floor:dmmifgboihc)
  | 2815 -> (Ret_challenge_no_team_archive:dmmifgboihc)
  | 2816 -> (Ret_challenge_lineup_avatar_type_invalid:dmmifgboihc)
  | 2817 -> (Ret_challenge_lineup_recommend_in_cd:dmmifgboihc)
  | 2850 -> (Ret_basic_type_already:dmmifgboihc)
  | 2851 -> (Ret_no_basic_type:dmmifgboihc)
  | 2852 -> (Ret_not_choose_basic_type:dmmifgboihc)
  | 2853 -> (Ret_not_func_close:dmmifgboihc)
  | 2854 -> (Ret_not_choose_gender:dmmifgboihc)
  | 2855 -> (Ret_not_req_unlock_basic_type:dmmifgboihc)
  | 2856 -> (Ret_avatar_path_locked:dmmifgboihc)
  | 2901 -> (Ret_rogue_status_not_match:dmmifgboihc)
  | 2902 -> (Ret_rogue_select_buff_not_exist:dmmifgboihc)
  | 2903 -> (Ret_rogue_coin_not_enough:dmmifgboihc)
  | 2904 -> (Ret_rogue_stamina_not_enough:dmmifgboihc)
  | 2905 -> (Ret_rogue_appraisal_count_not_enough:dmmifgboihc)
  | 2906 -> (Ret_rogue_prop_already_used:dmmifgboihc)
  | 2907 -> (Ret_rogue_record_already_saved:dmmifgboihc)
  | 2908 -> (Ret_rogue_roll_buff_max_count:dmmifgboihc)
  | 2909 -> (Ret_rogue_pick_avatar_invalid:dmmifgboihc)
  | 2910 -> (Ret_rogue_quest_expire:dmmifgboihc)
  | 2911 -> (Ret_rogue_quest_reward_already:dmmifgboihc)
  | 2912 -> (Ret_rogue_revive_count_not_enough:dmmifgboihc)
  | 2913 -> (Ret_rogue_area_invalid:dmmifgboihc)
  | 2914 -> (Ret_rogue_score_reward_pool_invalid:dmmifgboihc)
  | 2915 -> (Ret_rogue_score_reward_row_invalid:dmmifgboihc)
  | 2916 -> (Ret_rogue_aeon_level_not_meet:dmmifgboihc)
  | 2917 -> (Ret_rogue_aeon_level_reward_already_taken:dmmifgboihc)
  | 2918 -> (Ret_rogue_aeon_config_not_exist:dmmifgboihc)
  | 2919 -> (Ret_rogue_trial_avatar_invalid:dmmifgboihc)
  | 2920 -> (Ret_rogue_handbook_reward_already_taken:dmmifgboihc)
  | 2921 -> (Ret_rogue_room_type_not_match:dmmifgboihc)
  | 2922 -> (Ret_rogue_shop_good_not_found:dmmifgboihc)
  | 2923 -> (Ret_rogue_shop_good_already_bought:dmmifgboihc)
  | 2924 -> (Ret_rogue_shop_good_already_own:dmmifgboihc)
  | 2925 -> (Ret_rogue_shop_miracle_not_exist:dmmifgboihc)
  | 2926 -> (Ret_rogue_shop_not_exist:dmmifgboihc)
  | 2927 -> (Ret_rogue_shop_cannot_refresh:dmmifgboihc)
  | 2928 -> (Ret_rogue_select_buff_certain_mismatch:dmmifgboihc)
  | 2951 -> (Ret_mission_event_config_not_exist:dmmifgboihc)
  | 2952 -> (Ret_mission_event_not_client:dmmifgboihc)
  | 2953 -> (Ret_mission_event_finished:dmmifgboihc)
  | 2954 -> (Ret_mission_event_doing:dmmifgboihc)
  | 2955 -> (Ret_has_challenge_mission_event:dmmifgboihc)
  | 2956 -> (Ret_not_challenge_mission_event:dmmifgboihc)
  | 3001 -> (Ret_gacha_id_not_exist:dmmifgboihc)
  | 3002 -> (Ret_gacha_num_invalid:dmmifgboihc)
  | 3003 -> (Ret_gacha_first_gacha_must_one:dmmifgboihc)
  | 3004 -> (Ret_gacha_req_duplicated:dmmifgboihc)
  | 3005 -> (Ret_gacha_not_in_schedule:dmmifgboihc)
  | 3006 -> (Ret_gacha_newbie_close:dmmifgboihc)
  | 3007 -> (Ret_gacha_today_limited:dmmifgboihc)
  | 3008 -> (Ret_gacha_not_support:dmmifgboihc)
  | 3009 -> (Ret_gacha_ceiling_not_enough:dmmifgboihc)
  | 3010 -> (Ret_gacha_ceiling_close:dmmifgboihc)
  | 3101 -> (Ret_not_in_raid:dmmifgboihc)
  | 3102 -> (Ret_raid_doing:dmmifgboihc)
  | 3103 -> (Ret_not_prop:dmmifgboihc)
  | 3104 -> (Ret_raid_id_not_match:dmmifgboihc)
  | 3105 -> (Ret_raid_restart_not_match:dmmifgboihc)
  | 3106 -> (Ret_raid_limit:dmmifgboihc)
  | 3107 -> (Ret_raid_avatar_list_empty:dmmifgboihc)
  | 3108 -> (Ret_raid_avatar_not_exist:dmmifgboihc)
  | 3109 -> (Ret_challenge_raid_reward_already:dmmifgboihc)
  | 3110 -> (Ret_challenge_raid_score_not_reach:dmmifgboihc)
  | 3111 -> (Ret_challenge_raid_not_open:dmmifgboihc)
  | 3112 -> (Ret_raid_finished:dmmifgboihc)
  | 3113 -> (Ret_raid_world_level_not_lock:dmmifgboihc)
  | 3114 -> (Ret_raid_cannot_use_assist:dmmifgboihc)
  | 3115 -> (Ret_raid_avatar_not_match:dmmifgboihc)
  | 3116 -> (Ret_raid_can_not_save:dmmifgboihc)
  | 3117 -> (Ret_raid_no_save:dmmifgboihc)
  | 3118 -> (Ret_activity_raid_not_open:dmmifgboihc)
  | 3119 -> (Ret_raid_avatar_captain_not_exist:dmmifgboihc)
  | 3120 -> (Ret_raid_story_line_not_match:dmmifgboihc)
  | 3151 -> (Ret_talk_event_already_taken:dmmifgboihc)
  | 3152 -> (Ret_npc_already_meet:dmmifgboihc)
  | 3153 -> (Ret_npc_not_in_config:dmmifgboihc)
  | 3154 -> (Ret_dialogue_group_dismatch:dmmifgboihc)
  | 3155 -> (Ret_dialogue_event_invalid:dmmifgboihc)
  | 3156 -> (Ret_talk_event_take_proto_not_match:dmmifgboihc)
  | 3157 -> (Ret_talk_event_not_valid:dmmifgboihc)
  | 3201 -> (Ret_expedition_config_not_exist:dmmifgboihc)
  | 3202 -> (Ret_expedition_reward_config_not_exist:dmmifgboihc)
  | 3203 -> (Ret_expedition_not_unlocked:dmmifgboihc)
  | 3204 -> (Ret_expedition_already_accepted:dmmifgboihc)
  | 3205 -> (Ret_expedition_repeated_avatar:dmmifgboihc)
  | 3206 -> (Ret_avatar_already_dispatched:dmmifgboihc)
  | 3207 -> (Ret_expedition_not_accepted:dmmifgboihc)
  | 3208 -> (Ret_expedition_not_finish:dmmifgboihc)
  | 3209 -> (Ret_expedition_already_finish:dmmifgboihc)
  | 3210 -> (Ret_expedition_team_count_limit:dmmifgboihc)
  | 3211 -> (Ret_expedition_avatar_num_not_match:dmmifgboihc)
  | 3212 -> (Ret_expedition_not_open:dmmifgboihc)
  | 3213 -> (Ret_expedition_friend_avatar_not_valid:dmmifgboihc)
  | 3214 -> (Ret_expedition_not_published:dmmifgboihc)
  | 3301 -> (Ret_login_activity_has_taken:dmmifgboihc)
  | 3302 -> (Ret_login_activity_days_lack:dmmifgboihc)
  | 3303 -> (Ret_trial_activity_reward_already_take:dmmifgboihc)
  | 3304 -> (Ret_trial_activity_stage_not_finish:dmmifgboihc)
  | 3305 -> (Ret_monster_research_activity_has_taken:dmmifgboihc)
  | 3306 -> (Ret_monster_research_activity_material_not_submitted:dmmifgboihc)
  | 3307 -> (Ret_monster_research_activity_material_already_submitted:dmmifgboihc)
  | 3308 -> (Ret_fantastic_story_activity_story_error:dmmifgboihc)
  | 3309 -> (Ret_fantastic_story_activity_story_not_open:dmmifgboihc)
  | 3310 -> (Ret_fantastic_story_activity_battle_error:dmmifgboihc)
  | 3311 -> (Ret_fantastic_story_activity_battle_not_open:dmmifgboihc)
  | 3312 -> (Ret_fantastic_story_activity_battle_avatar_error:dmmifgboihc)
  | 3313 -> (Ret_fantastic_story_activity_battle_buff_error:dmmifgboihc)
  | 3314 -> (Ret_fantastic_story_activity_pre_battle_score_not_enough:dmmifgboihc)
  | 3315 -> (Ret_trial_activity_already_in_trial_activity:dmmifgboihc)
  | 3316 -> (Ret_common_activity_not_open:dmmifgboihc)
  | 3501 -> (Ret_message_config_not_exist:dmmifgboihc)
  | 3502 -> (Ret_message_section_not_take:dmmifgboihc)
  | 3503 -> (Ret_message_group_not_take:dmmifgboihc)
  | 3504 -> (Ret_message_section_id_not_match:dmmifgboihc)
  | 3505 -> (Ret_message_section_can_not_finish:dmmifgboihc)
  | 3506 -> (Ret_message_item_can_not_finish:dmmifgboihc)
  | 3507 -> (Ret_message_item_raid_can_not_finish:dmmifgboihc)
  | 3601 -> (Ret_friend_already_is_friend:dmmifgboihc)
  | 3602 -> (Ret_friend_is_not_friend:dmmifgboihc)
  | 3603 -> (Ret_friend_apply_expire:dmmifgboihc)
  | 3604 -> (Ret_friend_in_blacklist:dmmifgboihc)
  | 3605 -> (Ret_friend_not_in_blacklist:dmmifgboihc)
  | 3606 -> (Ret_friend_number_limit:dmmifgboihc)
  | 3607 -> (Ret_friend_blacklist_number_limit:dmmifgboihc)
  | 3608 -> (Ret_friend_daily_apply_limit:dmmifgboihc)
  | 3609 -> (Ret_friend_in_handle_limit:dmmifgboihc)
  | 3610 -> (Ret_friend_apply_in_cd:dmmifgboihc)
  | 3611 -> (Ret_friend_remark_name_format_error:dmmifgboihc)
  | 3612 -> (Ret_friend_player_not_found:dmmifgboihc)
  | 3613 -> (Ret_friend_in_target_blacklist:dmmifgboihc)
  | 3614 -> (Ret_friend_target_number_limit:dmmifgboihc)
  | 3615 -> (Ret_assist_query_too_fast:dmmifgboihc)
  | 3616 -> (Ret_assist_not_exist:dmmifgboihc)
  | 3617 -> (Ret_assist_used_already:dmmifgboihc)
  | 3618 -> (Ret_friend_report_reason_format_error:dmmifgboihc)
  | 3619 -> (Ret_friend_report_sensitive_words:dmmifgboihc)
  | 3620 -> (Ret_assist_used_times_over:dmmifgboihc)
  | 3621 -> (Ret_assist_quit_already:dmmifgboihc)
  | 3622 -> (Ret_assist_avatar_in_lineup:dmmifgboihc)
  | 3623 -> (Ret_assist_no_reward:dmmifgboihc)
  | 3624 -> (Ret_friend_search_num_limit:dmmifgboihc)
  | 3625 -> (Ret_friend_search_in_cd:dmmifgboihc)
  | 3626 -> (Ret_friend_remark_name_utf8_error:dmmifgboihc)
  | 3627 -> (Ret_friend_report_reason_utf8_error:dmmifgboihc)
  | 3628 -> (Ret_assist_set_already:dmmifgboihc)
  | 3629 -> (Ret_friend_target_forbid_other_apply:dmmifgboihc)
  | 3630 -> (Ret_friend_marked_cnt_max:dmmifgboihc)
  | 3631 -> (Ret_friend_marked_already:dmmifgboihc)
  | 3632 -> (Ret_friend_not_marked:dmmifgboihc)
  | 3633 -> (Ret_friend_challenge_lineup_recommend_in_cd:dmmifgboihc)
  | 3634 -> (Ret_view_player_card_in_cd:dmmifgboihc)
  | 3635 -> (Ret_view_player_battle_record_in_cd:dmmifgboihc)
  | 3701 -> (Ret_player_board_head_icon_not_exist:dmmifgboihc)
  | 3702 -> (Ret_player_board_head_icon_locked:dmmifgboihc)
  | 3703 -> (Ret_player_board_head_icon_already_unlocked:dmmifgboihc)
  | 3704 -> (Ret_player_board_display_avatar_not_exist:dmmifgboihc)
  | 3705 -> (Ret_player_board_display_avatar_exceed_limit:dmmifgboihc)
  | 3706 -> (Ret_player_board_display_repeated_avatar:dmmifgboihc)
  | 3707 -> (Ret_player_board_display_avatar_same_pos:dmmifgboihc)
  | 3708 -> (Ret_player_board_display_avatar_locked:dmmifgboihc)
  | 3709 -> (Ret_signature_length_exceed_limit:dmmifgboihc)
  | 3710 -> (Ret_signature_sensitive_words:dmmifgboihc)
  | 3712 -> (Ret_player_board_assist_avatar_not_exist:dmmifgboihc)
  | 3713 -> (Ret_player_board_assist_avatar_locked:dmmifgboihc)
  | 3714 -> (Ret_signature_utf8_error:dmmifgboihc)
  | 3715 -> (Ret_player_board_assist_avatar_cnt_error:dmmifgboihc)
  | 3801 -> (Ret_battle_pass_tier_not_valid:dmmifgboihc)
  | 3802 -> (Ret_battle_pass_level_not_meet:dmmifgboihc)
  | 3803 -> (Ret_battle_pass_reward_take_already:dmmifgboihc)
  | 3804 -> (Ret_battle_pass_not_premium:dmmifgboihc)
  | 3805 -> (Ret_battle_pass_not_doing:dmmifgboihc)
  | 3806 -> (Ret_battle_pass_level_invalid:dmmifgboihc)
  | 3807 -> (Ret_battle_pass_not_unlock:dmmifgboihc)
  | 3808 -> (Ret_battle_pass_no_reward:dmmifgboihc)
  | 3809 -> (Ret_battle_pass_quest_not_valid:dmmifgboihc)
  | 3810 -> (Ret_battle_pass_not_choose_optional:dmmifgboihc)
  | 3811 -> (Ret_battle_pass_not_take_reward:dmmifgboihc)
  | 3812 -> (Ret_battle_pass_optional_not_valid:dmmifgboihc)
  | 3813 -> (Ret_battle_pass_buy_already:dmmifgboihc)
  | 3814 -> (Ret_battle_pass_near_end:dmmifgboihc)
  | 3901 -> (Ret_music_locked:dmmifgboihc)
  | 3902 -> (Ret_music_not_exist:dmmifgboihc)
  | 3903 -> (Ret_music_unlock_failed:dmmifgboihc)
  | 4001 -> (Ret_punk_lord_lack_summon_times:dmmifgboihc)
  | 4002 -> (Ret_punk_lord_attacking_monster_limit:dmmifgboihc)
  | 4003 -> (Ret_punk_lord_monster_not_exist:dmmifgboihc)
  | 4004 -> (Ret_punk_lord_monster_already_shared:dmmifgboihc)
  | 4005 -> (Ret_punk_lord_monster_expired:dmmifgboihc)
  | 4006 -> (Ret_punk_lord_self_monster_attack_limit:dmmifgboihc)
  | 4007 -> (Ret_punk_lord_lack_support_times:dmmifgboihc)
  | 4008 -> (Ret_punk_lord_monster_already_killed:dmmifgboihc)
  | 4009 -> (Ret_punk_lord_monster_attacker_limit:dmmifgboihc)
  | 4010 -> (Ret_punk_lord_world_levle_not_valid:dmmifgboihc)
  | 4011 -> (Ret_punk_lord_reward_levle_not_exist:dmmifgboihc)
  | 4012 -> (Ret_punk_lord_point_not_meet:dmmifgboihc)
  | 4013 -> (Ret_punk_lord_in_attacking:dmmifgboihc)
  | 4014 -> (Ret_punk_lord_operation_in_cd:dmmifgboihc)
  | 4015 -> (Ret_punk_lord_reward_already_taken:dmmifgboihc)
  | 4016 -> (Ret_punk_lord_over_bonus_reward_limit:dmmifgboihc)
  | 4017 -> (Ret_punk_lord_not_in_schedule:dmmifgboihc)
  | 4018 -> (Ret_punk_lord_monster_not_attacked:dmmifgboihc)
  | 4019 -> (Ret_punk_lord_monster_not_killed:dmmifgboihc)
  | 4020 -> (Ret_punk_lord_monster_killed_score_already_take:dmmifgboihc)
  | 4021 -> (Ret_punk_lord_reward_levle_already_take:dmmifgboihc)
  | 4101 -> (Ret_daily_active_level_invalid:dmmifgboihc)
  | 4102 -> (Ret_daily_active_level_reward_already_taken:dmmifgboihc)
  | 4103 -> (Ret_daily_active_level_ap_not_enough:dmmifgboihc)
  | 4201 -> (Ret_daily_meet_pam:dmmifgboihc)
  | 4251 -> (Ret_replay_id_not_match:dmmifgboihc)
  | 4252 -> (Ret_replay_req_not_valid:dmmifgboihc)
  | 4301 -> (Ret_fight_activity_difficulty_level_not_passed:dmmifgboihc)
  | 4302 -> (Ret_fight_activity_difficulty_level_reward_already_take:dmmifgboihc)
  | 4303 -> (Ret_fight_activity_stage_not_open:dmmifgboihc)
  | 4304 -> (Ret_fight_activity_level_not_unlock:dmmifgboihc)
  | 4351 -> (Ret_train_visitor_visitor_not_exist:dmmifgboihc)
  | 4352 -> (Ret_train_visitor_behavior_not_exist:dmmifgboihc)
  | 4353 -> (Ret_train_visitor_behavior_finished:dmmifgboihc)
  | 4354 -> (Ret_train_visitor_all_behavior_reward_taken:dmmifgboihc)
  | 4355 -> (Ret_train_visitor_get_on_mission_not_finish:dmmifgboihc)
  | 4356 -> (Ret_train_visitor_not_get_off:dmmifgboihc)
  | 4401 -> (Ret_text_join_unknow_is_override:dmmifgboihc)
  | 4402 -> (Ret_text_join_id_not_exist:dmmifgboihc)
  | 4403 -> (Ret_text_join_can_not_override:dmmifgboihc)
  | 4404 -> (Ret_text_join_item_id_error:dmmifgboihc)
  | 4405 -> (Ret_text_join_sensitive_check_error:dmmifgboihc)
  | 4406 -> (Ret_text_join_must_override:dmmifgboihc)
  | 4407 -> (Ret_text_join_text_empty:dmmifgboihc)
  | 4408 -> (Ret_text_join_text_format_error:dmmifgboihc)
  | 4409 -> (Ret_text_join_text_utf8_error:dmmifgboihc)
  | 4410 -> (Ret_text_join_batch_req_id_repeat:dmmifgboihc)
  | 4411 -> (Ret_text_join_type_not_support_batch_req:dmmifgboihc)
  | 4412 -> (Ret_text_join_avatar_id_not_exist:dmmifgboihc)
  | 4413 -> (Ret_text_join_unknow_type:dmmifgboihc)
  | 4451 -> (Ret_pam_mission_mission_id_error:dmmifgboihc)
  | 4452 -> (Ret_pam_mission_mission_expire:dmmifgboihc)
  | 4501 -> (Ret_chat_type_not_exist:dmmifgboihc)
  | 4502 -> (Ret_msg_type_not_exist:dmmifgboihc)
  | 4503 -> (Ret_chat_no_target_uid:dmmifgboihc)
  | 4504 -> (Ret_chat_msg_empty:dmmifgboihc)
  | 4505 -> (Ret_chat_msg_exceed_limit:dmmifgboihc)
  | 4506 -> (Ret_chat_msg_sensitive_check_error:dmmifgboihc)
  | 4507 -> (Ret_chat_msg_utf8_error:dmmifgboihc)
  | 4508 -> (Ret_chat_forbid_switch_open:dmmifgboihc)
  | 4509 -> (Ret_chat_forbid:dmmifgboihc)
  | 4510 -> (Ret_chat_msg_include_special_str:dmmifgboihc)
  | 4511 -> (Ret_chat_msg_emoji_not_exist:dmmifgboihc)
  | 4512 -> (Ret_chat_msg_emoji_gender_not_match:dmmifgboihc)
  | 4513 -> (Ret_chat_msg_emoji_not_marked:dmmifgboihc)
  | 4514 -> (Ret_chat_msg_emoji_already_marked:dmmifgboihc)
  | 4515 -> (Ret_chat_msg_emoji_marked_max_limit:dmmifgboihc)
  | 4601 -> (Ret_boxing_club_challenge_not_open:dmmifgboihc)
  | 4651 -> (Ret_museum_not_open:dmmifgboihc)
  | 4652 -> (Ret_museum_turn_cnt_not_match:dmmifgboihc)
  | 4653 -> (Ret_museum_phase_not_reach:dmmifgboihc)
  | 4654 -> (Ret_museum_unknow_stuff:dmmifgboihc)
  | 4655 -> (Ret_museum_unknow_area:dmmifgboihc)
  | 4656 -> (Ret_museum_unknow_pos:dmmifgboihc)
  | 4657 -> (Ret_museum_stuff_already_in_area:dmmifgboihc)
  | 4658 -> (Ret_museum_stuff_not_in_area:dmmifgboihc)
  | 4659 -> (Ret_museum_get_npc_repeat:dmmifgboihc)
  | 4660 -> (Ret_museum_get_npc_unlock:dmmifgboihc)
  | 4661 -> (Ret_museum_get_npc_not_enough:dmmifgboihc)
  | 4662 -> (Ret_museum_change_stuff_area_error:dmmifgboihc)
  | 4663 -> (Ret_museum_not_init:dmmifgboihc)
  | 4664 -> (Ret_museum_event_error:dmmifgboihc)
  | 4665 -> (Ret_museum_unknow_choose_event_id:dmmifgboihc)
  | 4666 -> (Ret_museum_event_order_not_match:dmmifgboihc)
  | 4667 -> (Ret_museum_event_phase_not_unlock:dmmifgboihc)
  | 4668 -> (Ret_museum_event_mission_not_found:dmmifgboihc)
  | 4669 -> (Ret_museum_area_level_up_already:dmmifgboihc)
  | 4670 -> (Ret_museum_stuff_already_used:dmmifgboihc)
  | 4671 -> (Ret_museum_event_round_not_unlock:dmmifgboihc)
  | 4672 -> (Ret_museum_stuff_in_area:dmmifgboihc)
  | 4673 -> (Ret_museum_stuff_dispatch:dmmifgboihc)
  | 4674 -> (Ret_museum_is_end:dmmifgboihc)
  | 4675 -> (Ret_museum_stuff_leaving:dmmifgboihc)
  | 4678 -> (Ret_museum_event_mission_not_finish:dmmifgboihc)
  | 4679 -> (Ret_museum_collect_reward_not_exist:dmmifgboihc)
  | 4680 -> (Ret_museum_collect_reward_already_taken:dmmifgboihc)
  | 4681 -> (Ret_museum_accept_mission_max_limit:dmmifgboihc)
  | 4701 -> (Ret_rogue_challenge_not_open:dmmifgboihc)
  | 4702 -> (Ret_rogue_challenge_assis_refresh_limit:dmmifgboihc)
  | 4721 -> (Ret_alley_not_init:dmmifgboihc)
  | 4722 -> (Ret_alley_not_open:dmmifgboihc)
  | 4724 -> (Ret_alley_map_not_exist:dmmifgboihc)
  | 4725 -> (Ret_alley_empty_pos_list:dmmifgboihc)
  | 4726 -> (Ret_alley_line_pos_invalid:dmmifgboihc)
  | 4727 -> (Ret_alley_shop_not_unlock:dmmifgboihc)
  | 4728 -> (Ret_alley_depot_full:dmmifgboihc)
  | 4729 -> (Ret_alley_shop_not_include:dmmifgboihc)
  | 4730 -> (Ret_alley_event_not_unlock:dmmifgboihc)
  | 4731 -> (Ret_alley_event_not_refresh:dmmifgboihc)
  | 4732 -> (Ret_alley_event_state_doing:dmmifgboihc)
  | 4733 -> (Ret_alley_event_state_finish:dmmifgboihc)
  | 4734 -> (Ret_alley_event_error:dmmifgboihc)
  | 4735 -> (Ret_alley_reward_level_error:dmmifgboihc)
  | 4736 -> (Ret_alley_reward_prestige_not_enough:dmmifgboihc)
  | 4737 -> (Ret_alley_ship_empty:dmmifgboihc)
  | 4738 -> (Ret_alley_ship_id_dismatch:dmmifgboihc)
  | 4739 -> (Ret_alley_ship_not_exist:dmmifgboihc)
  | 4740 -> (Ret_alley_ship_not_unlock:dmmifgboihc)
  | 4741 -> (Ret_alley_goods_not_exist:dmmifgboihc)
  | 4742 -> (Ret_alley_goods_not_unlock:dmmifgboihc)
  | 4743 -> (Ret_alley_profit_not_positive:dmmifgboihc)
  | 4744 -> (Ret_alley_special_order_dismatch:dmmifgboihc)
  | 4745 -> (Ret_alley_order_goods_over_limit:dmmifgboihc)
  | 4746 -> (Ret_alley_special_order_condition_not_meet:dmmifgboihc)
  | 4747 -> (Ret_alley_depot_size_over_limit:dmmifgboihc)
  | 4748 -> (Ret_alley_goods_not_enough:dmmifgboihc)
  | 4749 -> (Ret_alley_order_index_invalid:dmmifgboihc)
  | 4750 -> (Ret_alley_reward_already_take:dmmifgboihc)
  | 4751 -> (Ret_alley_reward_not_exist:dmmifgboihc)
  | 4752 -> (Ret_alley_main_mission_not_doing:dmmifgboihc)
  | 4753 -> (Ret_alley_critical_event_not_finish:dmmifgboihc)
  | 4754 -> (Ret_alley_shop_goods_not_valid:dmmifgboihc)
  | 4755 -> (Ret_alley_slash_not_open:dmmifgboihc)
  | 4756 -> (Ret_alley_placing_anchor_invalid:dmmifgboihc)
  | 4757 -> (Ret_alley_placing_goods_index_invalid:dmmifgboihc)
  | 4758 -> (Ret_alley_save_map_too_quick:dmmifgboihc)
  | 4759 -> (Ret_alley_map_not_link:dmmifgboihc)
  | 4760 -> (Ret_alley_funds_not_lower_base:dmmifgboihc)
  | 4761 -> (Ret_alley_event_not_finish:dmmifgboihc)
  | 4762 -> (Ret_alley_normal_order_not_meet:dmmifgboihc)
  | 4801 -> (Ret_player_return_not_open:dmmifgboihc)
  | 4802 -> (Ret_player_return_is_signed:dmmifgboihc)
  | 4803 -> (Ret_player_return_point_not_enough:dmmifgboihc)
  | 4804 -> (Ret_player_return_condition_invalid:dmmifgboihc)
  | 4805 -> (Ret_player_return_has_signed:dmmifgboihc)
  | 4806 -> (Ret_player_return_reward_taken:dmmifgboihc)
  | 4851 -> (Ret_aether_divide_no_lineup:dmmifgboihc)
  | 4852 -> (Ret_aether_divide_lineup_invalid:dmmifgboihc)
  | 4901 -> (Ret_chat_bubble_id_error:dmmifgboihc)
  | 4902 -> (Ret_chat_bubble_id_not_unlock:dmmifgboihc)
  | 4903 -> (Ret_phone_theme_id_error:dmmifgboihc)
  | 4904 -> (Ret_phone_theme_id_not_unlock:dmmifgboihc)
  | 4905 -> (Ret_chat_bubble_select_is_current:dmmifgboihc)
  | 4906 -> (Ret_phone_theme_select_is_current:dmmifgboihc)
  | 4951 -> (Ret_chess_rogue_config_not_found:dmmifgboihc)
  | 4952 -> (Ret_chess_rogue_config_invalid:dmmifgboihc)
  | 4963 -> (Ret_chess_rogue_no_valid_room:dmmifgboihc)
  | 4964 -> (Ret_chess_rogue_no_cell_info:dmmifgboihc)
  | 4965 -> (Ret_chess_rogue_cell_not_finish:dmmifgboihc)
  | 4966 -> (Ret_chess_rogue_cell_is_locked:dmmifgboihc)
  | 4967 -> (Ret_chess_rogue_schedule_not_match:dmmifgboihc)
  | 4968 -> (Ret_chess_rogue_status_fail:dmmifgboihc)
  | 4969 -> (Ret_chess_rogue_area_not_exist:dmmifgboihc)
  | 4970 -> (Ret_chess_rogue_lineup_fail:dmmifgboihc)
  | 4980 -> (Ret_chess_rogue_aeon_fail:dmmifgboihc)
  | 4981 -> (Ret_chess_rogue_enter_cell_fail:dmmifgboihc)
  | 4982 -> (Ret_chess_rogue_roll_dice_fail:dmmifgboihc)
  | 4983 -> (Ret_chess_rogue_dice_status_fail:dmmifgboihc)
  | 4984 -> (Ret_chess_rogue_dice_cnt_not_full:dmmifgboihc)
  | 4985 -> (Ret_chess_rogue_unlock:dmmifgboihc)
  | 4986 -> (Ret_chess_rogue_pick_avatar_fail:dmmifgboihc)
  | 4987 -> (Ret_chess_rogue_avatar_invalid:dmmifgboihc)
  | 4988 -> (Ret_chess_rogue_cell_can_not_select:dmmifgboihc)
  | 4989 -> (Ret_chess_rogue_dice_confirmed:dmmifgboihc)
  | 4990 -> (Ret_chess_rogue_nous_dice_not_match:dmmifgboihc)
  | 4991 -> (Ret_chess_rogue_nous_dice_rarity_fail:dmmifgboihc)
  | 4992 -> (Ret_chess_rogue_nous_dice_surface_duplicate:dmmifgboihc)
  | 4993 -> (Ret_chess_rogue_not_in_rogue:dmmifgboihc)
  | 4994 -> (Ret_chess_rogue_nous_dice_branch_limit:dmmifgboihc)
  | 5101 -> (Ret_heliobus_not_open:dmmifgboihc)
  | 5102 -> (Ret_heliobus_sns_post_not_unlock:dmmifgboihc)
  | 5103 -> (Ret_heliobus_sns_already_read:dmmifgboihc)
  | 5104 -> (Ret_heliobus_sns_already_liked:dmmifgboihc)
  | 5105 -> (Ret_heliobus_sns_already_commented:dmmifgboihc)
  | 5106 -> (Ret_heliobus_sns_in_mission:dmmifgboihc)
  | 5107 -> (Ret_heliobus_sns_already_posted:dmmifgboihc)
  | 5108 -> (Ret_heliobus_sns_not_doing_mission:dmmifgboihc)
  | 5109 -> (Ret_heliobus_reward_level_max:dmmifgboihc)
  | 5110 -> (Ret_heliobus_income_not_enough:dmmifgboihc)
  | 5111 -> (Ret_heliobus_sns_comment_not_unlock:dmmifgboihc)
  | 5112 -> (Ret_heliobus_challenge_not_unlock:dmmifgboihc)
  | 5113 -> (Ret_heliobus_challenge_id_error:dmmifgboihc)
  | 5114 -> (Ret_heliobus_skill_not_unlock:dmmifgboihc)
  | 5115 -> (Ret_heliobus_accept_post_mission_fail:dmmifgboihc)
  | 5116 -> (Ret_heliobus_skill_not_selected:dmmifgboihc)
  | 5117 -> (Ret_heliobus_plane_type_invalid:dmmifgboihc)
  | 5151 -> (Ret_reddot_param_invalid:dmmifgboihc)
  | 5152 -> (Ret_reddot_activity_not_open:dmmifgboihc)
  | 5201 -> (Ret_rogue_endless_activity_config_error:dmmifgboihc)
  | 5202 -> (Ret_rogue_endless_activity_not_open:dmmifgboihc)
  | 5203 -> (Ret_rogue_endless_activity_over_bonus_reward_limit:dmmifgboihc)
  | 5204 -> (Ret_rogue_endless_activity_score_not_meet:dmmifgboihc)
  | 5205 -> (Ret_rogue_endless_activity_reward_levle_already_take:dmmifgboihc)
  | 5251 -> (Ret_heart_dial_script_not_found:dmmifgboihc)
  | 5252 -> (Ret_heart_dial_script_emotion_the_same:dmmifgboihc)
  | 5253 -> (Ret_heart_dial_script_step_not_normal:dmmifgboihc)
  | 5254 -> (Ret_heart_dial_script_condition_not_match:dmmifgboihc)
  | 5255 -> (Ret_heart_dial_script_submit_item_num_not_match:dmmifgboihc)
  | 5256 -> (Ret_heart_dial_script_submit_item_id_not_match:dmmifgboihc)
  | 5257 -> (Ret_heart_dial_dialogue_not_found:dmmifgboihc)
  | 5258 -> (Ret_heart_dial_dialogue_already_performed:dmmifgboihc)
  | 5259 -> (Ret_heart_dial_npc_not_found:dmmifgboihc)
  | 5260 -> (Ret_heart_dial_trace_config_not_found:dmmifgboihc)
  | 5261 -> (Ret_heart_dial_floor_trace_exist:dmmifgboihc)
  | 5262 -> (Ret_heart_dial_trace_floor_not_match:dmmifgboihc)
  | 5301 -> (Ret_travel_brochure_config_error:dmmifgboihc)
  | 5302 -> (Ret_travel_brochure_param_invalid:dmmifgboihc)
  | 5303 -> (Ret_travel_brochure_locked:dmmifgboihc)
  | 5304 -> (Ret_travel_brochure_cannot_operate:dmmifgboihc)
  | 5305 -> (Ret_travel_brochure_world_id_not_match:dmmifgboihc)
  | 5306 -> (Ret_travel_brochure_has_no_world_book:dmmifgboihc)
  | 5307 -> (Ret_travel_brochure_page_full:dmmifgboihc)
  | 5351 -> (Ret_map_rotation_not_in_region:dmmifgboihc)
  | 5352 -> (Ret_map_rotation_rotater_already_deployed:dmmifgboihc)
  | 5353 -> (Ret_map_rotation_energy_not_enough:dmmifgboihc)
  | 5354 -> (Ret_map_rotation_entity_not_on_cur_pose:dmmifgboihc)
  | 5355 -> (Ret_map_rotation_rotater_not_deployed:dmmifgboihc)
  | 5356 -> (Ret_map_rotation_pose_rotater_mismatch:dmmifgboihc)
  | 5357 -> (Ret_map_rotation_rotater_not_removable:dmmifgboihc)
  | 5358 -> (Ret_map_rotation_rotater_disposable:dmmifgboihc)
  | 5401 -> (Ret_space_zoo_activity_cat_not_found:dmmifgboihc)
  | 5402 -> (Ret_space_zoo_activity_cat_param_invalid:dmmifgboihc)
  | 5403 -> (Ret_space_zoo_activity_cat_item_not_enough:dmmifgboihc)
  | 5404 -> (Ret_space_zoo_activity_cat_bag_full:dmmifgboihc)
  | 5405 -> (Ret_space_zoo_activity_cat_not_to_mutate:dmmifgboihc)
  | 5406 -> (Ret_space_zoo_activity_cat_state_error:dmmifgboihc)
  | 5407 -> (Ret_space_zoo_activity_cat_cattery_locked:dmmifgboihc)
  | 5408 -> (Ret_space_zoo_activity_cat_out_now:dmmifgboihc)
  | 5409 -> (Ret_space_zoo_activity_cat_config_not_found:dmmifgboihc)
  | 5410 -> (Ret_space_zoo_activity_cat_feature_not_found:dmmifgboihc)
  | 5411 -> (Ret_space_zoo_activity_cat_add_cat_error:dmmifgboihc)
  | 5412 -> (Ret_space_zoo_activity_cat_money_not_enough:dmmifgboihc)
  | 5413 -> (Ret_space_zoo_activity_cat_cond_not_match:dmmifgboihc)
  | 5501 -> (Ret_strong_challenge_activity_stage_cfg_miss:dmmifgboihc)
  | 5502 -> (Ret_strong_challenge_activity_stage_not_open:dmmifgboihc)
  | 5503 -> (Ret_strong_challenge_activity_buff_error:dmmifgboihc)
  | 5551 -> (Ret_roll_shop_not_found:dmmifgboihc)
  | 5552 -> (Ret_roll_shop_group_empty:dmmifgboihc)
  | 5553 -> (Ret_roll_shop_empty:dmmifgboihc)
  | 5554 -> (Ret_roll_shop_gacha_req_duplicated:dmmifgboihc)
  | 5555 -> (Ret_roll_shop_random_error:dmmifgboihc)
  | 5556 -> (Ret_roll_shop_group_type_not_found:dmmifgboihc)
  | 5557 -> (Ret_roll_shop_has_stored_reward_already:dmmifgboihc)
  | 5558 -> (Ret_roll_shop_no_stored_reward:dmmifgboihc)
  | 5559 -> (Ret_roll_shop_not_in_valid_scene:dmmifgboihc)
  | 5560 -> (Ret_roll_shop_invalid_roll_shop_type:dmmifgboihc)
  | 5601 -> (Ret_activity_raid_collection_prev_not_finish:dmmifgboihc)
  | 5602 -> (Ret_activity_raid_collection_group_enter_next_unavailable:dmmifgboihc)
  | 5603 -> (Ret_activity_raid_collection_is_last:dmmifgboihc)
  | 5604 -> (Ret_activity_raid_collection_is_not_next:dmmifgboihc)
  | 5651 -> (Ret_offering_not_unlock:dmmifgboihc)
  | 5652 -> (Ret_offering_level_not_unlock:dmmifgboihc)
  | 5653 -> (Ret_offering_reach_max_level:dmmifgboihc)
  | 5654 -> (Ret_offering_item_not_enough:dmmifgboihc)
  | 5655 -> (Ret_offering_longtail_not_open:dmmifgboihc)
  | 5656 -> (Ret_offering_reward_condition:dmmifgboihc)
  | 5701 -> (Ret_drink_maker_chat_invalid:dmmifgboihc)
  | 5702 -> (Ret_drink_maker_param_invalid:dmmifgboihc)
  | 5703 -> (Ret_drink_maker_param_not_unlock:dmmifgboihc)
  | 5704 -> (Ret_drink_maker_config_not_found:dmmifgboihc)
  | 5705 -> (Ret_drink_maker_not_last_chat:dmmifgboihc)
  | 5706 -> (Ret_drink_maker_day_and_free_phase_not_open:dmmifgboihc)
  | 5751 -> (Ret_monopoly_not_open:dmmifgboihc)
  | 5752 -> (Ret_monopoly_config_error:dmmifgboihc)
  | 5753 -> (Ret_monopoly_dice_not_enough:dmmifgboihc)
  | 5754 -> (Ret_monopoly_cur_cell_not_finish:dmmifgboihc)
  | 5755 -> (Ret_monopoly_coin_not_enough:dmmifgboihc)
  | 5756 -> (Ret_monopoly_cell_wait_pending:dmmifgboihc)
  | 5757 -> (Ret_monopoly_cell_state_error:dmmifgboihc)
  | 5758 -> (Ret_monopoly_cell_content_error:dmmifgboihc)
  | 5759 -> (Ret_monopoly_item_not_enough:dmmifgboihc)
  | 5760 -> (Ret_monopoly_cell_content_cannot_giveup:dmmifgboihc)
  | 5761 -> (Ret_monopoly_asset_level_invalid:dmmifgboihc)
  | 5762 -> (Ret_monopoly_turn_not_finish:dmmifgboihc)
  | 5763 -> (Ret_monopoly_guide_not_finish:dmmifgboihc)
  | 5764 -> (Ret_monopoly_raffle_reward_reissued:dmmifgboihc)
  | 5771 -> (Ret_monopoly_no_game_active:dmmifgboihc)
  | 5772 -> (Ret_monopoly_game_ratio_not_increasable:dmmifgboihc)
  | 5773 -> (Ret_monopoly_game_ratio_max:dmmifgboihc)
  | 5774 -> (Ret_monopoly_game_target_ratio_invalid:dmmifgboihc)
  | 5775 -> (Ret_monopoly_game_bingo_flip_pos_invalid:dmmifgboihc)
  | 5776 -> (Ret_monopoly_game_guess_already_choose:dmmifgboihc)
  | 5777 -> (Ret_monopoly_game_guess_choose_invalid:dmmifgboihc)
  | 5778 -> (Ret_monopoly_game_guess_information_already_bought:dmmifgboihc)
  | 5779 -> (Ret_monopoly_game_raise_ratio_not_unlock:dmmifgboihc)
  | 5785 -> (Ret_monopoly_friend_not_synced:dmmifgboihc)
  | 5786 -> (Ret_monopoly_get_friend_ranking_list_in_cd:dmmifgboihc)
  | 5787 -> (Ret_monopoly_like_target_not_friend:dmmifgboihc)
  | 5788 -> (Ret_monopoly_daily_already_liked:dmmifgboihc)
  | 5789 -> (Ret_monopoly_social_event_status_not_match:dmmifgboihc)
  | 5790 -> (Ret_monopoly_social_event_server_cache_not_exist:dmmifgboihc)
  | 5791 -> (Ret_monopoly_activity_id_not_match:dmmifgboihc)
  | 5792 -> (Ret_monopoly_raffle_pool_not_exist:dmmifgboihc)
  | 5793 -> (Ret_monopoly_raffle_pool_time_not_match:dmmifgboihc)
  | 5794 -> (Ret_monopoly_raffle_pool_phase_not_meet:dmmifgboihc)
  | 5795 -> (Ret_monopoly_raffle_pool_show_time_not_meet:dmmifgboihc)
  | 5796 -> (Ret_monopoly_raffle_ticket_not_found:dmmifgboihc)
  | 5797 -> (Ret_monopoly_raffle_ticket_time_not_meet:dmmifgboihc)
  | 5798 -> (Ret_monopoly_raffle_ticket_reward_already_taken:dmmifgboihc)
  | 5799 -> (Ret_monopoly_raffle_pool_not_in_raffle_time:dmmifgboihc)
  | 5800 -> (Ret_monopoly_mbti_report_reward_already_taken:dmmifgboihc)
  | 5801 -> (Ret_evolve_build_level_gaming:dmmifgboihc)
  | 5802 -> (Ret_eveolve_build_level_ban_random:dmmifgboihc)
  | 5803 -> (Ret_evolve_build_first_reward_already_taken:dmmifgboihc)
  | 5804 -> (Ret_evolve_build_level_unfinish:dmmifgboihc)
  | 5805 -> (Ret_evolve_build_shop_ability_max_level:dmmifgboihc)
  | 5806 -> (Ret_evolve_build_shop_ability_min_level:dmmifgboihc)
  | 5807 -> (Ret_evolve_build_shop_ability_not_get:dmmifgboihc)
  | 5808 -> (Ret_evolve_build_level_lock:dmmifgboihc)
  | 5809 -> (Ret_evolve_build_exp_not_enough:dmmifgboihc)
  | 5810 -> (Ret_evolve_build_shop_ability_level_error:dmmifgboihc)
  | 5811 -> (Ret_evolve_build_activity_not_open:dmmifgboihc)
  | 5812 -> (Ret_evolve_build_shop_ability_empty:dmmifgboihc)
  | 5813 -> (Ret_evolve_build_level_not_start:dmmifgboihc)
  | 5814 -> (Ret_evolve_build_shop_lock:dmmifgboihc)
  | 5815 -> (Ret_evolve_build_reward_lock:dmmifgboihc)
  | 5816 -> (Ret_evolve_build_reward_level_max:dmmifgboihc)
  | 5717 -> (Ret_evolve_build_reward_already_all_taken:dmmifgboihc)
  | 5851 -> (Ret_clock_park_config_error:dmmifgboihc)
  | 5852 -> (Ret_clock_park_effect_error:dmmifgboihc)
  | 5853 -> (Ret_clock_park_script_already_unlock:dmmifgboihc)
  | 5854 -> (Ret_clock_park_script_unlock_condition_not_meet:dmmifgboihc)
  | 5855 -> (Ret_clock_park_talent_already_unlock:dmmifgboihc)
  | 5856 -> (Ret_clock_park_script_locked:dmmifgboihc)
  | 5857 -> (Ret_clock_park_has_ongoing_script:dmmifgboihc)
  | 5858 -> (Ret_clock_park_no_ongoing_script:dmmifgboihc)
  | 5859 -> (Ret_clock_park_dice_placement_error:dmmifgboihc)
  | 5860 -> (Ret_clock_park_mismatch_status:dmmifgboihc)
  | 5861 -> (Ret_clock_park_no_buff:dmmifgboihc)
  | 5862 -> (Ret_clock_park_slot_machine_gacha_req_duplicated:dmmifgboihc)
  | 5863 -> (Ret_clock_park_slot_machine_cost_not_enough:dmmifgboihc)
  | 5864 -> (Ret_clock_park_slot_machine_gacha_cnt_exceed_limit:dmmifgboihc)
  | 5865 -> (Ret_clock_park_not_open:dmmifgboihc)
  | 5901 -> (Ret_tourn_rogue_status_mismatch:dmmifgboihc)
  | 6201 -> (Ret_match_already_in_match:dmmifgboihc)
  | 6202 -> (Ret_match_not_in_match:dmmifgboihc)
  | 6203 -> (Ret_match_play_not_open:dmmifgboihc)
  | 6204 -> (Ret_cross_state_error:dmmifgboihc)
  | 6205 -> (Ret_match_version_not_equal:dmmifgboihc)
  | 6206 -> (Ret_match_player_not_in_lobby_room:dmmifgboihc)
  | 6207 -> (Ret_lobby_state_not_match:dmmifgboihc)
  | 6208 -> (Ret_lobby_room_not_exist:dmmifgboihc)
  | 6209 -> (Ret_lobby_room_palyer_full:dmmifgboihc)
  | 6210 -> (Ret_lobby_room_palyer_not_ready:dmmifgboihc)
  | 6211 -> (Ret_lobby_room_palyer_fighting:dmmifgboihc)
  | 6250 -> (Ret_fight_room_not_exist:dmmifgboihc)
  | 6251 -> (Ret_fight_match3_player_state_err:dmmifgboihc)
  | 6252 -> (Ret_fight_match3_room_state_err:dmmifgboihc)
  | 6301 -> (Ret_sword_training_no_active_game:dmmifgboihc)
  | 6302 -> (Ret_sword_training_no_pending_action_match:dmmifgboihc)
  | 6303 -> (Ret_sword_training_partner_ability_invalid:dmmifgboihc)
  | 6304 -> (Ret_sword_training_skill_already_learned:dmmifgboihc)
  | 6305 -> (Ret_sword_training_condition_not_meet:dmmifgboihc)
  | 6306 -> (Ret_sword_training_parent_skill_not_learned:dmmifgboihc)
  | 6307 -> (Ret_sword_training_skill_type_not_unlock:dmmifgboihc)
  | 6308 -> (Ret_sword_training_game_already_exist:dmmifgboihc)
  | 6309 -> (Ret_sword_training_ending_hint_not_match:dmmifgboihc)
  | 6310 -> (Ret_sword_training_storyline_config_not_found:dmmifgboihc)
  | 6311 -> (Ret_sword_training_story_config_not_found:dmmifgboihc)
  | 6312 -> (Ret_sword_training_unlock_not_finish:dmmifgboihc)
  | 6313 -> (Ret_sword_training_option_mismatch:dmmifgboihc)
  | 6314 -> (Ret_sword_training_restore_without_exam_failed:dmmifgboihc)
  | 6315 -> (Ret_sword_training_no_restore_game_available:dmmifgboihc)
  | 6316 -> (Ret_sword_training_ending_story_not_match:dmmifgboihc)
  | 6317 -> (Ret_sword_training_ending_not_finish:dmmifgboihc)
  | 6318 -> (Ret_sword_training_ending_reward_taken:dmmifgboihc)
  | 6319 -> (Ret_sword_training_combat_rank_not_change:dmmifgboihc)
  | 6320 -> (Ret_sword_training_direct_battle_disable:dmmifgboihc)
  | 6351 -> (Ret_fight_fest_phase_not_match:dmmifgboihc)
  | 6352 -> (Ret_fight_fest_score_race_already_finish:dmmifgboihc)
  | 6353 -> (Ret_fight_fest_challenge_locked:dmmifgboihc)
  | 6354 -> (Ret_fight_fest_coach_skill_locked:dmmifgboihc)
  | 6355 -> (Ret_fight_fest_coach_skill_equip_type_existed:dmmifgboihc)
  | 6356 -> (Ret_fight_fest_score_race_mission_doind:dmmifgboihc)
  | 6357 -> (Ret_fight_fest_coach_skill_no_equip:dmmifgboihc)
  | 6401 -> (Ret_pet_not_exist:dmmifgboihc)
  | 6402 -> (Ret_pet_already_summoned:dmmifgboihc)
  | 6403 -> (Ret_pet_not_summoned:dmmifgboihc)
  | _ -> Pbrt.Decoder.malformed_variant "dmmifgboihc"

let rec decode_pb_jlfnblcmlfg d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_activity_type_none:jlfnblcmlfg)
  | 2653 -> (Cmd_get_trial_activity_data_cs_req:jlfnblcmlfg)
  | 2606 -> (Cmd_get_login_activity_sc_rsp:jlfnblcmlfg)
  | 2603 -> (Cmd_start_trial_activity_cs_req:jlfnblcmlfg)
  | 2658 -> (Cmd_get_trial_activity_data_sc_rsp:jlfnblcmlfg)
  | 2659 -> (Cmd_enter_trial_activity_stage_cs_req:jlfnblcmlfg)
  | 2625 -> (Cmd_submit_monster_research_activity_material_cs_req:jlfnblcmlfg)
  | 2607 -> (Cmd_enter_trial_activity_stage_sc_rsp:jlfnblcmlfg)
  | 2698 -> (Cmd_get_monster_research_activity_data_sc_rsp:jlfnblcmlfg)
  | 2617 -> (Cmd_take_monster_research_activity_reward_cs_req:jlfnblcmlfg)
  | 2626 -> (Cmd_start_trial_activity_sc_rsp:jlfnblcmlfg)
  | 2611 -> (Cmd_take_login_activity_reward_cs_req:jlfnblcmlfg)
  | 2692 -> (Cmd_take_monster_research_activity_reward_sc_rsp:jlfnblcmlfg)
  | 2647 -> (Cmd_trial_activity_data_change_sc_notify:jlfnblcmlfg)
  | 2656 -> (Cmd_get_activity_schedule_config_cs_req:jlfnblcmlfg)
  | 2697 -> (Cmd_get_monster_research_activity_data_cs_req:jlfnblcmlfg)
  | 2641 -> (Cmd_take_trial_activity_reward_cs_req:jlfnblcmlfg)
  | 2613 -> (Cmd_leave_trial_activity_cs_req:jlfnblcmlfg)
  | 2643 -> (Cmd_take_login_activity_reward_sc_rsp:jlfnblcmlfg)
  | 2614 -> (Cmd_leave_trial_activity_sc_rsp:jlfnblcmlfg)
  | 2622 -> (Cmd_cur_trial_activity_sc_notify:jlfnblcmlfg)
  | 2668 -> (Cmd_get_login_activity_cs_req:jlfnblcmlfg)
  | 2624 -> (Cmd_submit_monster_research_activity_material_sc_rsp:jlfnblcmlfg)
  | 2631 -> (Cmd_take_trial_activity_reward_sc_rsp:jlfnblcmlfg)
  | 2693 -> (Cmd_get_activity_schedule_config_sc_rsp:jlfnblcmlfg)
  | _ -> Pbrt.Decoder.malformed_variant "jlfnblcmlfg"

let rec decode_pb_ijngjmooekn d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Trial_activity_status_none:ijngjmooekn)
  | 1 -> (Trial_activity_status_finish:ijngjmooekn)
  | _ -> Pbrt.Decoder.malformed_variant "ijngjmooekn"

let rec decode_pb_diiejhpccka d =
  let v = default_diiejhpccka_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mjeboiagemn <- List.rev v.mjeboiagemn;
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(diiejhpccka), field(6)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.ahbndelkkga <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(diiejhpccka), field(4)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.mjeboiagemn <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(diiejhpccka), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
    ahbndelkkga = v.ahbndelkkga;
    mjeboiagemn = v.mjeboiagemn;
  } : diiejhpccka)

let rec decode_pb_goghbjmckpf d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(goghbjmckpf)" pk

let rec decode_pb_iehdhmbibej d =
  let v = default_iehdhmbibej_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pilpgdhcfpj <- List.rev v.pilpgdhcfpj;
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.pilpgdhcfpj <- (decode_pb_diiejhpccka (Pbrt.Decoder.nested d)) :: v.pilpgdhcfpj;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iehdhmbibej), field(8)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iehdhmbibej), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pilpgdhcfpj = v.pilpgdhcfpj;
    retcode = v.retcode;
  } : iehdhmbibej)

let rec decode_pb_okdbmkchdkn d =
  let v = default_okdbmkchdkn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.ldifpkekjem <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(okdbmkchdkn), field(13)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(okdbmkchdkn), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ldifpkekjem = v.ldifpkekjem;
    id = v.id;
  } : okdbmkchdkn)

let rec decode_pb_item d =
  let v = default_item_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.promotion <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(item), field(2)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(item), field(6)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.num <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(item), field(1)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.unique_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(item), field(15)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.main_affix_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(item), field(3)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.rank <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(item), field(9)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.item_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(item), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    promotion = v.promotion;
    level = v.level;
    num = v.num;
    unique_id = v.unique_id;
    main_affix_id = v.main_affix_id;
    rank = v.rank;
    item_id = v.item_id;
  } : item)

let rec decode_pb_item_list d =
  let v = default_item_list_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.item_list <- List.rev v.item_list;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.item_list <- (decode_pb_item (Pbrt.Decoder.nested d)) :: v.item_list;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(item_list), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    item_list = v.item_list;
  } : item_list)

let rec decode_pb_fgmgmpemfoa d =
  let v = default_fgmgmpemfoa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fgmgmpemfoa), field(1)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.ldifpkekjem <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fgmgmpemfoa), field(14)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fgmgmpemfoa), field(12)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fgmgmpemfoa), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ldifpkekjem = v.ldifpkekjem;
    reward = v.reward;
    id = v.id;
  } : fgmgmpemfoa)

let rec decode_pb_lijpgeadohh d =
  let v = default_lijpgeadohh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.end_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lijpgeadohh), field(9)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.fjlnncjahng <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lijpgeadohh), field(11)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.pafpcpmikin <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lijpgeadohh), field(12)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.begin_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lijpgeadohh), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    end_time = v.end_time;
    fjlnncjahng = v.fjlnncjahng;
    pafpcpmikin = v.pafpcpmikin;
    begin_time = v.begin_time;
  } : lijpgeadohh)

let rec decode_pb_echeijpcegj d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(echeijpcegj)" pk

let rec decode_pb_gflgabppabo d =
  let v = default_gflgabppabo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.aodbfcdoebg <- List.rev v.aodbfcdoebg;
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gflgabppabo), field(11)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.aodbfcdoebg <- (decode_pb_lijpgeadohh (Pbrt.Decoder.nested d)) :: v.aodbfcdoebg;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gflgabppabo), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    aodbfcdoebg = v.aodbfcdoebg;
  } : gflgabppabo)

let rec decode_pb_hdkfnmappch d =
  let v = default_hdkfnmappch_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hdkfnmappch), field(14)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.nnbeodpchid <- Pbrt.Decoder.bool d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hdkfnmappch), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    stage_id = v.stage_id;
    nnbeodpchid = v.nnbeodpchid;
  } : hdkfnmappch)

let rec decode_pb_ncnchnfkgaa d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(ncnchnfkgaa)" pk

let rec decode_pb_ancjfimhcdb d =
  let v = default_ancjfimhcdb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.nkjbcpmopcj <- List.rev v.nkjbcpmopcj;
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ancjfimhcdb), field(9)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.nkjbcpmopcj <- (decode_pb_hdkfnmappch (Pbrt.Decoder.nested d)) :: v.nkjbcpmopcj;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ancjfimhcdb), field(12)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.npibcfnnihn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ancjfimhcdb), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    nkjbcpmopcj = v.nkjbcpmopcj;
    npibcfnnihn = v.npibcfnnihn;
  } : ancjfimhcdb)

let rec decode_pb_bjmmamcffan d =
  let v = default_bjmmamcffan_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.oiflpfmkkjd <- Some (decode_pb_hdkfnmappch (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bjmmamcffan), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    oiflpfmkkjd = v.oiflpfmkkjd;
  } : bjmmamcffan)

let rec decode_pb_ddjfjiknjjb d =
  let v = default_ddjfjiknjjb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddjfjiknjjb), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    stage_id = v.stage_id;
  } : ddjfjiknjjb)

let rec decode_pb_scene_monster_info d =
  let v = default_scene_monster_info_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.max_hp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_monster_info), field(7)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.monster_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_monster_info), field(15)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.femmkmapjng <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_monster_info), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    max_hp = v.max_hp;
    monster_id = v.monster_id;
    femmkmapjng = v.femmkmapjng;
  } : scene_monster_info)

let rec decode_pb_aekldeeeepn d =
  let v = default_aekldeeeepn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.gmimbapadel <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aekldeeeepn), field(10)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.ednldnkdhim <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aekldeeeepn), field(6)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aekldeeeepn), field(5)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.gcljbgjckpi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aekldeeeepn), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gmimbapadel = v.gmimbapadel;
    ednldnkdhim = v.ednldnkdhim;
    level = v.level;
    gcljbgjckpi = v.gcljbgjckpi;
  } : aekldeeeepn)

let rec decode_pb_scene_monster_wave d =
  let v = default_scene_monster_wave_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.epeemgikihd <- List.rev v.epeemgikihd;
      v.monster_list <- List.rev v.monster_list;
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.jmdhdbhgjhj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_monster_wave), field(14)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.monster_list <- (decode_pb_scene_monster_info (Pbrt.Decoder.nested d)) :: v.monster_list;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_monster_wave), field(4)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.comggjmfjao <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_monster_wave), field(10)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.epeemgikihd <- (decode_pb_item_list (Pbrt.Decoder.nested d)) :: v.epeemgikihd;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_monster_wave), field(3)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.djicbhlfoga <- Some (decode_pb_aekldeeeepn (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_monster_wave), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jmdhdbhgjhj = v.jmdhdbhgjhj;
    monster_list = v.monster_list;
    comggjmfjao = v.comggjmfjao;
    epeemgikihd = v.epeemgikihd;
    djicbhlfoga = v.djicbhlfoga;
  } : scene_monster_wave)

let rec decode_pb_scene_battle_info d =
  let v = default_scene_battle_info_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pkilellljap <- List.rev v.pkilellljap;
      v.battle_avatar_list <- List.rev v.battle_avatar_list;
      v.buff_list <- List.rev v.buff_list;
      v.monster_wave_list <- List.rev v.monster_wave_list;
      v.apkpbammnhm <- List.rev v.apkpbammnhm;
    ); continue__ := false
    | Some (1315, Pbrt.Bytes) -> begin
      v.mgacgfelfph <- Some (decode_pb_ieimejdokoc (Pbrt.Decoder.nested d));
    end
    | Some (1315, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_battle_info), field(1315)" pk
    | Some (321, Pbrt.Bytes) -> begin
      v.apkpbammnhm <- (decode_pb_pldmljcickk (Pbrt.Decoder.nested d)) :: v.apkpbammnhm;
    end
    | Some (321, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_battle_info), field(321)" pk
    | Some (471, Pbrt.Bytes) -> begin
      v.bcilaimkepo <- Some (decode_pb_evolve_build_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (471, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_battle_info), field(471)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.monster_wave_list <- (decode_pb_scene_monster_wave (Pbrt.Decoder.nested d)) :: v.monster_wave_list;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_battle_info), field(14)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.world_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_battle_info), field(2)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.buff_list <- (decode_pb_battle_buff (Pbrt.Decoder.nested d)) :: v.buff_list;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_battle_info), field(5)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.nlhcbhebgog <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_battle_info), field(11)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.battle_avatar_list <- (decode_pb_battle_avatar (Pbrt.Decoder.nested d)) :: v.battle_avatar_list;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_battle_info), field(7)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.logic_random_seed <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_battle_info), field(6)" pk
    | Some (892, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        decode_pb_eecgcenalep (Pbrt.Decoder.nested d)
      ) in
      v.pkilellljap <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.pkilellljap;
      );
    end
    | Some (892, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_battle_info), field(892)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.cmhngcflcab <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_battle_info), field(4)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_battle_info), field(1)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.empiofaicfc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_battle_info), field(9)" pk
    | Some (1394, Pbrt.Bytes) -> begin
      v.obneanlbpjf <- Some (decode_pb_cbipmgkdbmj (Pbrt.Decoder.nested d));
    end
    | Some (1394, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_battle_info), field(1394)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.battle_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_battle_info), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mgacgfelfph = v.mgacgfelfph;
    apkpbammnhm = v.apkpbammnhm;
    bcilaimkepo = v.bcilaimkepo;
    monster_wave_list = v.monster_wave_list;
    world_level = v.world_level;
    buff_list = v.buff_list;
    nlhcbhebgog = v.nlhcbhebgog;
    battle_avatar_list = v.battle_avatar_list;
    logic_random_seed = v.logic_random_seed;
    pkilellljap = v.pkilellljap;
    cmhngcflcab = v.cmhngcflcab;
    stage_id = v.stage_id;
    empiofaicfc = v.empiofaicfc;
    obneanlbpjf = v.obneanlbpjf;
    battle_id = v.battle_id;
  } : scene_battle_info)

let rec decode_pb_foolfaejeco d =
  let v = default_foolfaejeco_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(foolfaejeco), field(2)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(foolfaejeco), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ibllilenejp = v.ibllilenejp;
    retcode = v.retcode;
  } : foolfaejeco)

let rec decode_pb_cmjfplfkocb d =
  let v = default_cmjfplfkocb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cmjfplfkocb), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    stage_id = v.stage_id;
  } : cmjfplfkocb)

let rec decode_pb_ibojkphiodl d =
  let v = default_ibojkphiodl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibojkphiodl), field(11)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibojkphiodl), field(9)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibojkphiodl), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    reward = v.reward;
    stage_id = v.stage_id;
  } : ibojkphiodl)

let rec decode_pb_hliiigamfan d =
  let v = default_hliiigamfan_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hliiigamfan), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    stage_id = v.stage_id;
  } : hliiigamfan)

let rec decode_pb_iepggioobee d =
  let v = default_iepggioobee_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iepggioobee), field(15)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iepggioobee), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    stage_id = v.stage_id;
  } : iepggioobee)

let rec decode_pb_hgpjnoeklme d =
  let v = default_hgpjnoeklme_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgpjnoeklme), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    stage_id = v.stage_id;
  } : hgpjnoeklme)

let rec decode_pb_jpnfdalcpca d =
  let v = default_jpnfdalcpca_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jpnfdalcpca), field(10)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jpnfdalcpca), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    stage_id = v.stage_id;
    retcode = v.retcode;
  } : jpnfdalcpca)

let rec decode_pb_eogebgjmnbe d =
  let v = default_eogebgjmnbe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.status <- decode_pb_ijngjmooekn d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eogebgjmnbe), field(13)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.npibcfnnihn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eogebgjmnbe), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    status = v.status;
    npibcfnnihn = v.npibcfnnihn;
  } : eogebgjmnbe)

let rec decode_pb_eeakpgmghbd d =
  let v = default_eeakpgmghbd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.ejihdbnphdl <- Pbrt.Decoder.bool d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eeakpgmghbd), field(7)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.fpnbgdmjmon <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eeakpgmghbd), field(3)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.fjlnncjahng <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eeakpgmghbd), field(14)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.mkideamcloh <- Pbrt.Decoder.bool d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eeakpgmghbd), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ejihdbnphdl = v.ejihdbnphdl;
    fpnbgdmjmon = v.fpnbgdmjmon;
    fjlnncjahng = v.fjlnncjahng;
    mkideamcloh = v.mkideamcloh;
  } : eeakpgmghbd)

let rec decode_pb_jnbinnnmhnh d =
  let v = default_jnbinnnmhnh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.end_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnbinnnmhnh), field(2)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.begin_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnbinnnmhnh), field(12)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.fpnbgdmjmon <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnbinnnmhnh), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    end_time = v.end_time;
    begin_time = v.begin_time;
    fpnbgdmjmon = v.fpnbgdmjmon;
  } : jnbinnnmhnh)

let rec decode_pb_gfhncokdkpc d =
  let v = default_gfhncokdkpc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.gpngkbfnpjn <- List.rev v.gpngkbfnpjn;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.gpngkbfnpjn <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfhncokdkpc), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gpngkbfnpjn = v.gpngkbfnpjn;
  } : gfhncokdkpc)

let rec decode_pb_jbondjmecmi d =
  let v = default_jbondjmecmi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hopdkjbimil <- List.rev v.hopdkjbimil;
      v.licjdggocfp <- List.rev v.licjdggocfp;
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.licjdggocfp <- (decode_pb_jnbinnnmhnh (Pbrt.Decoder.nested d)) :: v.licjdggocfp;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jbondjmecmi), field(11)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jbondjmecmi), field(2)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.hopdkjbimil <- (decode_pb_eeakpgmghbd (Pbrt.Decoder.nested d)) :: v.hopdkjbimil;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jbondjmecmi), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    licjdggocfp = v.licjdggocfp;
    retcode = v.retcode;
    hopdkjbimil = v.hopdkjbimil;
  } : jbondjmecmi)

let rec decode_pb_bhjnpjibfoj d =
  let v = default_bhjnpjibfoj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.fpnbgdmjmon <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bhjnpjibfoj), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fpnbgdmjmon = v.fpnbgdmjmon;
  } : bhjnpjibfoj)

let rec decode_pb_ojldjlaldbe d =
  let v = default_ojldjlaldbe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ojldjlaldbe), field(11)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.fpnbgdmjmon <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ojldjlaldbe), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    fpnbgdmjmon = v.fpnbgdmjmon;
  } : ojldjlaldbe)

let rec decode_pb_hmckncmeneo d =
  let v = default_hmckncmeneo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.fpnbgdmjmon <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hmckncmeneo), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fpnbgdmjmon = v.fpnbgdmjmon;
  } : hmckncmeneo)

let rec decode_pb_kgnehcjidmd d =
  let v = default_kgnehcjidmd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.fpnbgdmjmon <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgnehcjidmd), field(14)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgnehcjidmd), field(10)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgnehcjidmd), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fpnbgdmjmon = v.fpnbgdmjmon;
    retcode = v.retcode;
    reward = v.reward;
  } : kgnehcjidmd)

let rec decode_pb_hoakpoemoog d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_adventure_type_none:hoakpoemoog)
  | 1306 -> (Cmd_enter_adventure_sc_rsp:hoakpoemoog)
  | 1311 -> (Cmd_get_farm_stage_gacha_info_cs_req:hoakpoemoog)
  | 1368 -> (Cmd_enter_adventure_cs_req:hoakpoemoog)
  | 1343 -> (Cmd_get_farm_stage_gacha_info_sc_rsp:hoakpoemoog)
  | _ -> Pbrt.Decoder.malformed_variant "hoakpoemoog"

let rec decode_pb_jiidgcpimha d =
  let v = default_jiidgcpimha_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.lnjapmhfcck <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jiidgcpimha), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lnjapmhfcck = v.lnjapmhfcck;
  } : jiidgcpimha)

let rec decode_pb_vector d =
  let v = default_vector_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.x <- Pbrt.Decoder.int32_as_zigzag d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(vector), field(14)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.y <- Pbrt.Decoder.int32_as_zigzag d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(vector), field(5)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.z <- Pbrt.Decoder.int32_as_zigzag d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(vector), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    x = v.x;
    y = v.y;
    z = v.z;
  } : vector)

let rec decode_pb_motion_info d =
  let v = default_motion_info_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.pos <- Some (decode_pb_vector (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(motion_info), field(14)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.rot <- Some (decode_pb_vector (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(motion_info), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pos = v.pos;
    rot = v.rot;
  } : motion_info)

let rec decode_pb_scene_actor_info d =
  let v = default_scene_actor_info_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.base_avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_actor_info), field(11)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.map_layer <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_actor_info), field(15)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_actor_info), field(2)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_actor_info), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    base_avatar_id = v.base_avatar_id;
    map_layer = v.map_layer;
    uid = v.uid;
    avatar_type = v.avatar_type;
  } : scene_actor_info)

let rec decode_pb_mnofjfljede d =
  let v = default_mnofjfljede_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.dbimnobaloc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mnofjfljede), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dbimnobaloc = v.dbimnobaloc;
  } : mnofjfljede)

let rec decode_pb_ingkkpmdgfj d =
  let v = default_ingkkpmdgfj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.kbneaoehnob <- Some (decode_pb_mnofjfljede (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ingkkpmdgfj), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kbneaoehnob = v.kbneaoehnob;
  } : ingkkpmdgfj)

let rec decode_pb_scene_npc_monster_info d =
  let v = default_scene_npc_monster_info_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.mcfppkobjog <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_npc_monster_info), field(11)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.monster_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_npc_monster_info), field(12)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_npc_monster_info), field(1)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.eanllcnpded <- Pbrt.Decoder.bool d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_npc_monster_info), field(3)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.world_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_npc_monster_info), field(10)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.extra_info <- Some (decode_pb_ingkkpmdgfj (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_npc_monster_info), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mcfppkobjog = v.mcfppkobjog;
    monster_id = v.monster_id;
    ohibnloihci = v.ohibnloihci;
    eanllcnpded = v.eanllcnpded;
    world_level = v.world_level;
    extra_info = v.extra_info;
  } : scene_npc_monster_info)

let rec decode_pb_onmgodgfdgm d =
  let v = default_onmgodgfdgm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.hfadhgefiea <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(onmgodgfdgm), field(3)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.cckegompfdi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(onmgodgfdgm), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hfadhgefiea = v.hfadhgefiea;
    cckegompfdi = v.cckegompfdi;
  } : onmgodgfdgm)

let rec decode_pb_nlegnknbkba d =
  let v = default_nlegnknbkba_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jpiojenbgdi <- List.rev v.jpiojenbgdi;
      v.lpflcicnioa <- List.rev v.lpflcicnioa;
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.modhkobfmbp <- Pbrt.Decoder.bool d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlegnknbkba), field(12)" pk
    | Some (14, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.int32_as_varint d
      ) in
      v.lpflcicnioa <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.lpflcicnioa;
      );
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlegnknbkba), field(14)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.kiakkdiecme <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlegnknbkba), field(5)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.jnboodjdmho <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlegnknbkba), field(10)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.idoffgnngem <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlegnknbkba), field(11)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.phddanoooji <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlegnknbkba), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.hgfnojflbcl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlegnknbkba), field(3)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.ebffkdhgkgl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlegnknbkba), field(9)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.jpiojenbgdi <- (decode_pb_onmgodgfdgm (Pbrt.Decoder.nested d)) :: v.jpiojenbgdi;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlegnknbkba), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    modhkobfmbp = v.modhkobfmbp;
    lpflcicnioa = v.lpflcicnioa;
    kiakkdiecme = v.kiakkdiecme;
    jnboodjdmho = v.jnboodjdmho;
    idoffgnngem = v.idoffgnngem;
    phddanoooji = v.phddanoooji;
    hgfnojflbcl = v.hgfnojflbcl;
    ebffkdhgkgl = v.ebffkdhgkgl;
    jpiojenbgdi = v.jpiojenbgdi;
  } : nlegnknbkba)

let rec decode_pb_pjgielghnom d =
  let v = default_pjgielghnom_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.aahebgiklma <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pjgielghnom), field(11)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.fhhkhmdleno <- Pbrt.Decoder.bool d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pjgielghnom), field(15)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.kjdlimfggmd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pjgielghnom), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    aahebgiklma = v.aahebgiklma;
    fhhkhmdleno = v.fhhkhmdleno;
    kjdlimfggmd = v.kjdlimfggmd;
  } : pjgielghnom)

let rec decode_pb_mnamhpiefmk d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(mnamhpiefmk)" pk

let rec decode_pb_bgpancmpnpi d =
  let v = default_bgpancmpnpi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.kbneaoehnob <- Some (decode_pb_nlegnknbkba (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bgpancmpnpi), field(6)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.ocjkecmoefo <- Some (decode_pb_pjgielghnom (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bgpancmpnpi), field(11)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.bmiommboiii <- Pbrt.Decoder.empty_nested d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bgpancmpnpi), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kbneaoehnob = v.kbneaoehnob;
    ocjkecmoefo = v.ocjkecmoefo;
    bmiommboiii = v.bmiommboiii;
  } : bgpancmpnpi)

let rec decode_pb_scene_npc_info d =
  let v = default_scene_npc_info_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.extra_info <- Some (decode_pb_bgpancmpnpi (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_npc_info), field(6)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.pnigjhppmln <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_npc_info), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    extra_info = v.extra_info;
    pnigjhppmln = v.pnigjhppmln;
  } : scene_npc_info)

let rec decode_pb_pjinigkhjph d =
  let v = default_pjinigkhjph_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.hdnlmbacmoa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pjinigkhjph), field(6)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.edjpollefac <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pjinigkhjph), field(2)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.ioijcfnndfi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pjinigkhjph), field(4)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.mfdelanaicp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pjinigkhjph), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hdnlmbacmoa = v.hdnlmbacmoa;
    edjpollefac = v.edjpollefac;
    ioijcfnndfi = v.ioijcfnndfi;
    mfdelanaicp = v.mfdelanaicp;
  } : pjinigkhjph)

let rec decode_pb_prop_aeon_info d =
  let v = default_prop_aeon_info_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.add_exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(prop_aeon_info), field(14)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.dialogue_group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(prop_aeon_info), field(10)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.aeon_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(prop_aeon_info), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    add_exp = v.add_exp;
    dialogue_group_id = v.dialogue_group_id;
    aeon_id = v.aeon_id;
  } : prop_aeon_info)

let rec decode_pb_beegbgebbjo d =
  let v = default_beegbgebbjo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.hkfihaoadih <- Pbrt.Decoder.bool d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(beegbgebbjo), field(14)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.dolgkgdnlaj <- Pbrt.Decoder.bool d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(beegbgebbjo), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hkfihaoadih = v.hkfihaoadih;
    dolgkgdnlaj = v.dolgkgdnlaj;
  } : beegbgebbjo)

let rec decode_pb_bhfaniclgjb d =
  let v = default_bhfaniclgjb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.dbkpbjfflcd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bhfaniclgjb), field(10)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.epdhlkapdfj <- Pbrt.Decoder.bool d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bhfaniclgjb), field(5)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.lkegecjeppg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bhfaniclgjb), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dbkpbjfflcd = v.dbkpbjfflcd;
    epdhlkapdfj = v.epdhlkapdfj;
    lkegecjeppg = v.lkegecjeppg;
  } : bhfaniclgjb)

let rec decode_pb_heikogemang d =
  let v = default_heikogemang_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.kigccmchfaa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(heikogemang), field(9)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.jhojoicfldl <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(heikogemang), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kigccmchfaa = v.kigccmchfaa;
    jhojoicfldl = v.jhojoicfldl;
  } : heikogemang)

let rec decode_pb_hkjfnijdkgm d =
  let v = default_hkjfnijdkgm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hcgkppdkglf <- List.rev v.hcgkppdkglf;
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.icfomghpdgm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hkjfnijdkgm), field(13)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.hcgkppdkglf <- (decode_pb_heikogemang (Pbrt.Decoder.nested d)) :: v.hcgkppdkglf;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hkjfnijdkgm), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    icfomghpdgm = v.icfomghpdgm;
    hcgkppdkglf = v.hcgkppdkglf;
  } : hkjfnijdkgm)

let rec decode_pb_lhbgigopabg d =
  let v = default_lhbgigopabg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.ichkjnfaacl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhbgigopabg), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ichkjnfaacl = v.ichkjnfaacl;
  } : lhbgigopabg)

let rec decode_pb_pgjpfemjihd d =
  let v = default_pgjpfemjihd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.nmkibknpbeo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgjpfemjihd), field(15)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.dcigbkdfmdl <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgjpfemjihd), field(10)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.ikliliccdnf <- Some (decode_pb_lhbgigopabg (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgjpfemjihd), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nmkibknpbeo = v.nmkibknpbeo;
    dcigbkdfmdl = v.dcigbkdfmdl;
    ikliliccdnf = v.ikliliccdnf;
  } : pgjpfemjihd)

let rec decode_pb_jigjfaecdcc d =
  let v = default_jigjfaecdcc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jdhboponecj <- List.rev v.jdhboponecj;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.jdhboponecj <- (decode_pb_pgjpfemjihd (Pbrt.Decoder.nested d)) :: v.jdhboponecj;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jigjfaecdcc), field(12)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.fkbfnoipncl <- Pbrt.Decoder.bool d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jigjfaecdcc), field(7)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jigjfaecdcc), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jdhboponecj = v.jdhboponecj;
    fkbfnoipncl = v.fkbfnoipncl;
    group_id = v.group_id;
  } : jigjfaecdcc)

let rec decode_pb_pile_item d =
  let v = default_pile_item_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.item_num <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pile_item), field(12)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.item_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pile_item), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    item_num = v.item_num;
    item_id = v.item_id;
  } : pile_item)

let rec decode_pb_item_cost d =
  let v = default_item_cost_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.pile_item <- Some (decode_pb_pile_item (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(item_cost), field(12)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.equipment_unique_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(item_cost), field(11)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.relic_unique_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(item_cost), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pile_item = v.pile_item;
    equipment_unique_id = v.equipment_unique_id;
    relic_unique_id = v.relic_unique_id;
  } : item_cost)

let rec decode_pb_item_cost_data d =
  let v = default_item_cost_data_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pdpfcfglgco <- List.rev v.pdpfcfglgco;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.pdpfcfglgco <- (decode_pb_item_cost (Pbrt.Decoder.nested d)) :: v.pdpfcfglgco;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(item_cost_data), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pdpfcfglgco = v.pdpfcfglgco;
  } : item_cost_data)

let rec decode_pb_jhjloaofhnk d =
  let v = default_jhjloaofhnk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.eaeoionfehm <- List.rev v.eaeoionfehm;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.eaeoionfehm <- (decode_pb_jigjfaecdcc (Pbrt.Decoder.nested d)) :: v.eaeoionfehm;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhjloaofhnk), field(7)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.gehffpalkkn <- Pbrt.Decoder.bool d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhjloaofhnk), field(5)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.pbcojmehnbg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhjloaofhnk), field(2)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.ndghkoinlfe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhjloaofhnk), field(10)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.fomcmdmpdcg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhjloaofhnk), field(4)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.jnhkcpccoep <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhjloaofhnk), field(13)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.nggficbaiof <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhjloaofhnk), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    eaeoionfehm = v.eaeoionfehm;
    gehffpalkkn = v.gehffpalkkn;
    pbcojmehnbg = v.pbcojmehnbg;
    ndghkoinlfe = v.ndghkoinlfe;
    fomcmdmpdcg = v.fomcmdmpdcg;
    jnhkcpccoep = v.jnhkcpccoep;
    nggficbaiof = v.nggficbaiof;
  } : jhjloaofhnk)

let rec decode_pb_agohmeiodfe d =
  let v = default_agohmeiodfe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.lkfmgoglgch <- Some (decode_pb_jhjloaofhnk (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agohmeiodfe), field(6)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.fkcfoljohjg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agohmeiodfe), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lkfmgoglgch = v.lkfmgoglgch;
    fkcfoljohjg = v.fkcfoljohjg;
  } : agohmeiodfe)

let rec decode_pb_mnijbelpndn d =
  let v = default_mnijbelpndn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.jpaadimdaga <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mnijbelpndn), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jpaadimdaga = v.jpaadimdaga;
  } : mnijbelpndn)

let rec decode_pb_prop_extra_info d =
  let v = default_prop_extra_info_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.rogue_info <- Some (decode_pb_pjinigkhjph (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(prop_extra_info), field(10)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.aeon_info <- Some (decode_pb_prop_aeon_info (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(prop_extra_info), field(7)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.chess_rogue_info <- Some (decode_pb_beegbgebbjo (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(prop_extra_info), field(8)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.rogue_tourn_door_info <- Some (decode_pb_bhfaniclgjb (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(prop_extra_info), field(12)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.rogue_tourn_workbench_info <- Some (decode_pb_hkjfnijdkgm (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(prop_extra_info), field(2)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.rogue_gamble_machine_info <- Some (decode_pb_agohmeiodfe (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(prop_extra_info), field(13)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.rogue_curse_chest_info <- Some (decode_pb_mnijbelpndn (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(prop_extra_info), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    rogue_info = v.rogue_info;
    aeon_info = v.aeon_info;
    chess_rogue_info = v.chess_rogue_info;
    rogue_tourn_door_info = v.rogue_tourn_door_info;
    rogue_tourn_workbench_info = v.rogue_tourn_workbench_info;
    rogue_gamble_machine_info = v.rogue_gamble_machine_info;
    rogue_curse_chest_info = v.rogue_curse_chest_info;
  } : prop_extra_info)

let rec decode_pb_scene_prop_info d =
  let v = default_scene_prop_info_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.gafflhlblde <- List.rev v.gafflhlblde;
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.life_time_ms <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_prop_info), field(11)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.prop_state <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_prop_info), field(12)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.gafflhlblde <- (Pbrt.Decoder.string d) :: v.gafflhlblde;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_prop_info), field(14)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.extra_info <- Some (decode_pb_prop_extra_info (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_prop_info), field(5)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.prop_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_prop_info), field(10)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.create_time_ms <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_prop_info), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    life_time_ms = v.life_time_ms;
    prop_state = v.prop_state;
    gafflhlblde = v.gafflhlblde;
    extra_info = v.extra_info;
    prop_id = v.prop_id;
    create_time_ms = v.create_time_ms;
  } : scene_prop_info)

let rec decode_pb_scene_summon_unit_info d =
  let v = default_scene_summon_unit_info_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.gafflhlblde <- List.rev v.gafflhlblde;
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.kggengibiaj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_summon_unit_info), field(7)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.dpapibilmkb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_summon_unit_info), field(4)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.gafflhlblde <- (Pbrt.Decoder.string d) :: v.gafflhlblde;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_summon_unit_info), field(6)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.life_time_ms <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_summon_unit_info), field(5)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.create_time_ms <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_summon_unit_info), field(11)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.ilngleemfcf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_summon_unit_info), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kggengibiaj = v.kggengibiaj;
    dpapibilmkb = v.dpapibilmkb;
    gafflhlblde = v.gafflhlblde;
    life_time_ms = v.life_time_ms;
    create_time_ms = v.create_time_ms;
    ilngleemfcf = v.ilngleemfcf;
  } : scene_summon_unit_info)

let rec decode_pb_scene_entity_info_entity d = 
  let rec loop () = 
    let ret:scene_entity_info_entity = match Pbrt.Decoder.key d with
      | None -> Pbrt.Decoder.malformed_variant "scene_entity_info_entity"
      | Some (10, _) -> (Actor (decode_pb_scene_actor_info (Pbrt.Decoder.nested d)) : scene_entity_info_entity) 
      | Some (14, _) -> (Npc_monster (decode_pb_scene_npc_monster_info (Pbrt.Decoder.nested d)) : scene_entity_info_entity) 
      | Some (11, _) -> (Npc (decode_pb_scene_npc_info (Pbrt.Decoder.nested d)) : scene_entity_info_entity) 
      | Some (8, _) -> (Prop (decode_pb_scene_prop_info (Pbrt.Decoder.nested d)) : scene_entity_info_entity) 
      | Some (15, _) -> (Summon_unit (decode_pb_scene_summon_unit_info (Pbrt.Decoder.nested d)) : scene_entity_info_entity) 
      | Some (n, payload_kind) -> (
        Pbrt.Decoder.skip d payload_kind; 
        loop () 
      )
    in
    ret
  in
  loop ()

and decode_pb_scene_entity_info d =
  let v = default_scene_entity_info_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.motion <- Some (decode_pb_motion_info (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_entity_info), field(1)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.entity_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_entity_info), field(4)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_entity_info), field(9)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.inst_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_entity_info), field(13)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.entity <- Actor (decode_pb_scene_actor_info (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_entity_info), field(10)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.entity <- Npc_monster (decode_pb_scene_npc_monster_info (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_entity_info), field(14)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.entity <- Npc (decode_pb_scene_npc_info (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_entity_info), field(11)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.entity <- Prop (decode_pb_scene_prop_info (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_entity_info), field(8)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.entity <- Summon_unit (decode_pb_scene_summon_unit_info (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_entity_info), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    motion = v.motion;
    entity_id = v.entity_id;
    group_id = v.group_id;
    inst_id = v.inst_id;
    entity = v.entity;
  } : scene_entity_info)

let rec decode_pb_client_group_info d =
  let v = default_client_group_info_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(client_group_info), field(10)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.state <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(client_group_info), field(2)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.is_default <- Pbrt.Decoder.bool d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(client_group_info), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    group_id = v.group_id;
    state = v.state;
    is_default = v.is_default;
  } : client_group_info)

let rec decode_pb_ifdkgfigkgn d =
  let v = default_ifdkgfigkgn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.dynamic_values <- List.rev v.dynamic_values;
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.jpbnobgjmin <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifdkgfigkgn), field(14)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.ocalibhncaf <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifdkgfigkgn), field(11)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifdkgfigkgn), field(9)" pk
    | Some (1, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.float_as_bits32 d
      ) in
      v.dynamic_values <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.string ~decode_value)::v.dynamic_values;
      );
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifdkgfigkgn), field(1)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.pkkfndimmio <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifdkgfigkgn), field(13)" pk
    | Some (15, Pbrt.Bits32) -> begin
      v.cjndnhdlhbb <- Pbrt.Decoder.float_as_bits32 d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifdkgfigkgn), field(15)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.base_avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifdkgfigkgn), field(3)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.count <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifdkgfigkgn), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jpbnobgjmin = v.jpbnobgjmin;
    ocalibhncaf = v.ocalibhncaf;
    level = v.level;
    dynamic_values = v.dynamic_values;
    pkkfndimmio = v.pkkfndimmio;
    cjndnhdlhbb = v.cjndnhdlhbb;
    base_avatar_id = v.base_avatar_id;
    count = v.count;
  } : ifdkgfigkgn)

let rec decode_pb_nllcojppklj d =
  let v = default_nllcojppklj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.jbdgkicnbfa <- Pbrt.Decoder.string d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nllcojppklj), field(10)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nllcojppklj), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jbdgkicnbfa = v.jbdgkicnbfa;
    group_id = v.group_id;
  } : nllcojppklj)

let rec decode_pb_scene_group_info d =
  let v = default_scene_group_info_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.entity_list <- List.rev v.entity_list;
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.entity_list <- (decode_pb_scene_entity_info (Pbrt.Decoder.nested d)) :: v.entity_list;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_group_info), field(8)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.state <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_group_info), field(4)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_group_info), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    entity_list = v.entity_list;
    state = v.state;
    group_id = v.group_id;
  } : scene_group_info)

let rec decode_pb_jbianonhjfo d =
  let v = default_jbianonhjfo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.ogcfmckhlja <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jbianonhjfo), field(10)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.index <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jbianonhjfo), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ogcfmckhlja = v.ogcfmckhlja;
    index = v.index;
  } : jbianonhjfo)

let rec decode_pb_hhmofllojag d =
  let v = default_hhmofllojag_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.klmfdjlahkg <- List.rev v.klmfdjlahkg;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.klmfdjlahkg <- (decode_pb_jbianonhjfo (Pbrt.Decoder.nested d)) :: v.klmfdjlahkg;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhmofllojag), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    klmfdjlahkg = v.klmfdjlahkg;
  } : hhmofllojag)

let rec decode_pb_klciikcjohp d =
  let v = default_klciikcjohp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.idlneeekpjl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(klciikcjohp), field(7)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.klmfdjlahkg <- Some (decode_pb_hhmofllojag (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(klciikcjohp), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    idlneeekpjl = v.idlneeekpjl;
    klmfdjlahkg = v.klmfdjlahkg;
  } : klciikcjohp)

let rec decode_pb_mission_status d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Mission_none:mission_status)
  | 1 -> (Mission_doing:mission_status)
  | 2 -> (Mission_finish:mission_status)
  | 3 -> (Mission_prepared:mission_status)
  | _ -> Pbrt.Decoder.malformed_variant "mission_status"

let rec decode_pb_mission d =
  let v = default_mission_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mission), field(5)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.progress <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mission), field(3)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.status <- decode_pb_mission_status d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mission), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
    progress = v.progress;
    status = v.status;
  } : mission)

let rec decode_pb_jipkadfnhnh d =
  let v = default_jipkadfnhnh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.dgoigglciko <- List.rev v.dgoigglciko;
      v.dabclennonn <- List.rev v.dabclennonn;
      v.hiokihlcnfc <- List.rev v.hiokihlcnfc;
      v.ammgadcegag <- List.rev v.ammgadcegag;
      v.ddipnlkacip <- List.rev v.ddipnlkacip;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.ddipnlkacip <- (decode_pb_klciikcjohp (Pbrt.Decoder.nested d)) :: v.ddipnlkacip;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jipkadfnhnh), field(10)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.ammgadcegag <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jipkadfnhnh), field(1)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.hiokihlcnfc <- (decode_pb_mission (Pbrt.Decoder.nested d)) :: v.hiokihlcnfc;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jipkadfnhnh), field(5)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.dabclennonn <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jipkadfnhnh), field(7)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.dgoigglciko <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jipkadfnhnh), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ddipnlkacip = v.ddipnlkacip;
    ammgadcegag = v.ammgadcegag;
    hiokihlcnfc = v.hiokihlcnfc;
    dabclennonn = v.dabclennonn;
    dgoigglciko = v.dgoigglciko;
  } : jipkadfnhnh)

let rec decode_pb_hgiedelfofm d =
  let v = default_hgiedelfofm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.buff_list <- List.rev v.buff_list;
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.buff_list <- (decode_pb_ifdkgfigkgn (Pbrt.Decoder.nested d)) :: v.buff_list;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgiedelfofm), field(14)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.phkkegggmdi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgiedelfofm), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    buff_list = v.buff_list;
    phkkegggmdi = v.phkkegggmdi;
  } : hgiedelfofm)

let rec decode_pb_ggichccblmd d =
  let v = default_ggichccblmd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.hohagdafjih <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ggichccblmd), field(9)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.lnpijkcjdbp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ggichccblmd), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hohagdafjih = v.hohagdafjih;
    lnpijkcjdbp = v.lnpijkcjdbp;
  } : ggichccblmd)

let rec decode_pb_scene_info d =
  let v = default_scene_info_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.kdkoogfccbb <- List.rev v.kdkoogfccbb;
      v.nmmlfdlmcoa <- List.rev v.nmmlfdlmcoa;
      v.scene_group_list <- List.rev v.scene_group_list;
      v.cbphphopofk <- List.rev v.cbphphopofk;
      v.mogndfkhapd <- List.rev v.mogndfkhapd;
      v.ahehcckjamg <- List.rev v.ahehcckjamg;
      v.ihnmjpmfplm <- List.rev v.ihnmjpmfplm;
      v.adbakkbjagb <- List.rev v.adbakkbjagb;
      v.client_group_list <- List.rev v.client_group_list;
      v.entity_list <- List.rev v.entity_list;
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.jdefjhmigii <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_info), field(14)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.plane_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_info), field(2)" pk
    | Some (81, Pbrt.Varint) -> begin
      v.mdkmdbibnae <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (81, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_info), field(81)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.game_mode_type <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_info), field(5)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.entity_list <- (decode_pb_scene_entity_info (Pbrt.Decoder.nested d)) :: v.entity_list;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_info), field(6)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.entry_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_info), field(13)" pk
    | Some (599, Pbrt.Varint) -> begin
      v.nfcojigifbb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (599, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_info), field(599)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.kihpigcjcgi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_info), field(15)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.micgnniimak <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_info), field(7)" pk
    | Some (1577, Pbrt.Bytes) -> begin
      v.client_group_list <- (decode_pb_client_group_info (Pbrt.Decoder.nested d)) :: v.client_group_list;
    end
    | Some (1577, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_info), field(1577)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.adbakkbjagb <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_info), field(1)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.ihnmjpmfplm <- (decode_pb_ifdkgfigkgn (Pbrt.Decoder.nested d)) :: v.ihnmjpmfplm;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_info), field(12)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.ahehcckjamg <- (decode_pb_nllcojppklj (Pbrt.Decoder.nested d)) :: v.ahehcckjamg;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_info), field(3)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.mogndfkhapd <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_info), field(8)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.floor_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_info), field(11)" pk
    | Some (1458, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.int32_as_varint d
      ) in
      v.cbphphopofk <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.string ~decode_value)::v.cbphphopofk;
      );
    end
    | Some (1458, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_info), field(1458)" pk
    | Some (1226, Pbrt.Varint) -> begin
      v.ijnpccndcgi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1226, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_info), field(1226)" pk
    | Some (1909, Pbrt.Bytes) -> begin
      v.scene_group_list <- (decode_pb_scene_group_info (Pbrt.Decoder.nested d)) :: v.scene_group_list;
    end
    | Some (1909, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_info), field(1909)" pk
    | Some (1816, Pbrt.Bytes) -> begin
      v.cnjcegmeaap <- Some (decode_pb_jipkadfnhnh (Pbrt.Decoder.nested d));
    end
    | Some (1816, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_info), field(1816)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.nmmlfdlmcoa <- (decode_pb_hgiedelfofm (Pbrt.Decoder.nested d)) :: v.nmmlfdlmcoa;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_info), field(4)" pk
    | Some (9, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        decode_pb_ggichccblmd (Pbrt.Decoder.nested d)
      ) in
      v.kdkoogfccbb <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.kdkoogfccbb;
      );
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(scene_info), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jdefjhmigii = v.jdefjhmigii;
    plane_id = v.plane_id;
    mdkmdbibnae = v.mdkmdbibnae;
    game_mode_type = v.game_mode_type;
    entity_list = v.entity_list;
    entry_id = v.entry_id;
    nfcojigifbb = v.nfcojigifbb;
    kihpigcjcgi = v.kihpigcjcgi;
    micgnniimak = v.micgnniimak;
    client_group_list = v.client_group_list;
    adbakkbjagb = v.adbakkbjagb;
    ihnmjpmfplm = v.ihnmjpmfplm;
    ahehcckjamg = v.ahehcckjamg;
    mogndfkhapd = v.mogndfkhapd;
    floor_id = v.floor_id;
    cbphphopofk = v.cbphphopofk;
    ijnpccndcgi = v.ijnpccndcgi;
    scene_group_list = v.scene_group_list;
    cnjcegmeaap = v.cnjcegmeaap;
    nmmlfdlmcoa = v.nmmlfdlmcoa;
    kdkoogfccbb = v.kdkoogfccbb;
  } : scene_info)

let rec decode_pb_klfnolgpgbe d =
  let v = default_klfnolgpgbe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(klfnolgpgbe), field(2)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.scene <- Some (decode_pb_scene_info (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(klfnolgpgbe), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    scene = v.scene;
  } : klfnolgpgbe)

let rec decode_pb_iicgnbgleen d =
  let v = default_iicgnbgleen_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.dopfcokpjei <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iicgnbgleen), field(7)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.end_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iicgnbgleen), field(6)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.begin_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iicgnbgleen), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dopfcokpjei = v.dopfcokpjei;
    end_time = v.end_time;
    begin_time = v.begin_time;
  } : iicgnbgleen)

let rec decode_pb_mpcilhkfijn d =
  let v = default_mpcilhkfijn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.cdahnimckpe <- List.rev v.cdahnimckpe;
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.cdahnimckpe <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mpcilhkfijn), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cdahnimckpe = v.cdahnimckpe;
  } : mpcilhkfijn)

let rec decode_pb_lbfhaemjbdb d =
  let v = default_lbfhaemjbdb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ejncilpcmjo <- List.rev v.ejncilpcmjo;
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbfhaemjbdb), field(15)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.ejncilpcmjo <- (decode_pb_iicgnbgleen (Pbrt.Decoder.nested d)) :: v.ejncilpcmjo;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbfhaemjbdb), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ejncilpcmjo = v.ejncilpcmjo;
  } : lbfhaemjbdb)

let rec decode_pb_mjcglmbmflj d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_aether_divide_type_none:mjcglmbmflj)
  | 4868 -> (Cmd_enter_aether_divide_scene_cs_req:mjcglmbmflj)
  | 4876 -> (Cmd_aether_divide_refresh_endless_sc_rsp:mjcglmbmflj)
  | 4845 -> (Cmd_aether_divide_take_challenge_reward_cs_req:mjcglmbmflj)
  | 4856 -> (Cmd_start_aether_divide_scene_battle_cs_req:mjcglmbmflj)
  | 4854 -> (Cmd_get_aether_divide_info_sc_rsp:mjcglmbmflj)
  | 4823 -> (Cmd_aether_divide_lineup_sc_notify:mjcglmbmflj)
  | 4808 -> (Cmd_get_aether_divide_challenge_info_sc_rsp:mjcglmbmflj)
  | 4888 -> (Cmd_get_aether_divide_challenge_info_cs_req:mjcglmbmflj)
  | 4824 -> (Cmd_switch_aether_divide_line_up_slot_sc_rsp:mjcglmbmflj)
  | 4828 -> (Cmd_aether_divide_spirit_exp_up_sc_rsp:mjcglmbmflj)
  | 4848 -> (Cmd_set_aether_divide_line_up_sc_rsp:mjcglmbmflj)
  | 4899 -> (Cmd_get_aether_divide_info_cs_req:mjcglmbmflj)
  | 4892 -> (Cmd_start_aether_divide_stage_battle_sc_rsp:mjcglmbmflj)
  | 4898 -> (Cmd_clear_aether_divide_passive_skill_sc_rsp:mjcglmbmflj)
  | 4829 -> (Cmd_start_aether_divide_challenge_battle_sc_rsp:mjcglmbmflj)
  | 4839 -> (Cmd_start_aether_divide_challenge_battle_cs_req:mjcglmbmflj)
  | 4816 -> (Cmd_aether_divide_skill_item_sc_notify:mjcglmbmflj)
  | 4832 -> (Cmd_aether_divide_tainer_info_sc_notify:mjcglmbmflj)
  | 4893 -> (Cmd_start_aether_divide_scene_battle_sc_rsp:mjcglmbmflj)
  | 4825 -> (Cmd_switch_aether_divide_line_up_slot_cs_req:mjcglmbmflj)
  | 4882 -> (Cmd_equip_aether_divide_passive_skill_cs_req:mjcglmbmflj)
  | 4881 -> (Cmd_aether_divide_finish_challenge_sc_notify:mjcglmbmflj)
  | 4878 -> (Cmd_aether_divide_refresh_endless_cs_req:mjcglmbmflj)
  | 4897 -> (Cmd_clear_aether_divide_passive_skill_cs_req:mjcglmbmflj)
  | 4811 -> (Cmd_leave_aether_divide_scene_cs_req:mjcglmbmflj)
  | 4806 -> (Cmd_enter_aether_divide_scene_sc_rsp:mjcglmbmflj)
  | 4865 -> (Cmd_set_aether_divide_line_up_cs_req:mjcglmbmflj)
  | 4866 -> (Cmd_aether_divide_take_challenge_reward_sc_rsp:mjcglmbmflj)
  | 4849 -> (Cmd_aether_divide_refresh_endless_sc_notify:mjcglmbmflj)
  | 4834 -> (Cmd_equip_aether_divide_passive_skill_sc_rsp:mjcglmbmflj)
  | 4809 -> (Cmd_aether_divide_spirit_info_sc_notify:mjcglmbmflj)
  | 4890 -> (Cmd_aether_divide_spirit_exp_up_cs_req:mjcglmbmflj)
  | 4817 -> (Cmd_start_aether_divide_stage_battle_cs_req:mjcglmbmflj)
  | 4843 -> (Cmd_leave_aether_divide_scene_sc_rsp:mjcglmbmflj)
  | _ -> Pbrt.Decoder.malformed_variant "mjcglmbmflj"

let rec decode_pb_jgighfcglnn d =
  let v = default_jgighfcglnn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.jnmpconhdgp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jgighfcglnn), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jnmpconhdgp = v.jnmpconhdgp;
  } : jgighfcglnn)

let rec decode_pb_dngkkjooice d =
  let v = default_dngkkjooice_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.jnmpconhdgp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dngkkjooice), field(4)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dngkkjooice), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jnmpconhdgp = v.jnmpconhdgp;
    retcode = v.retcode;
  } : dngkkjooice)

let rec decode_pb_gdgedjogkjp d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(gdgedjogkjp)" pk

let rec decode_pb_lnobihjhmec d =
  let v = default_lnobihjhmec_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lnobihjhmec), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : lnobihjhmec)

let rec decode_pb_fnmhaajaaek d =
  let v = default_fnmhaajaaek_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bcbhaghfmhl <- List.rev v.bcbhaghfmhl;
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.bcbhaghfmhl <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fnmhaajaaek), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bcbhaghfmhl = v.bcbhaghfmhl;
  } : fnmhaajaaek)

let rec decode_pb_lhnkeioipjg d =
  let v = default_lhnkeioipjg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.kapkegapokf <- List.rev v.kapkegapokf;
      v.ohainjgiflk <- List.rev v.ohainjgiflk;
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.skill_index <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhnkeioipjg), field(10)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.ohainjgiflk <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhnkeioipjg), field(14)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.kapkegapokf <- (decode_pb_fnmhaajaaek (Pbrt.Decoder.nested d)) :: v.kapkegapokf;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhnkeioipjg), field(9)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.gbhffcbgjoc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhnkeioipjg), field(3)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.egofdbhnple <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhnkeioipjg), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    skill_index = v.skill_index;
    ohainjgiflk = v.ohainjgiflk;
    kapkegapokf = v.kapkegapokf;
    gbhffcbgjoc = v.gbhffcbgjoc;
    egofdbhnple = v.egofdbhnple;
  } : lhnkeioipjg)

let rec decode_pb_dlibcbeoehg d =
  let v = default_dlibcbeoehg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.monster_wave_list <- List.rev v.monster_wave_list;
      v.battle_avatar_list <- List.rev v.battle_avatar_list;
      v.buff_list <- List.rev v.buff_list;
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.logic_random_seed <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dlibcbeoehg), field(3)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.nlhcbhebgog <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dlibcbeoehg), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.buff_list <- (decode_pb_battle_buff (Pbrt.Decoder.nested d)) :: v.buff_list;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dlibcbeoehg), field(2)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dlibcbeoehg), field(13)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.battle_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dlibcbeoehg), field(7)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.battle_avatar_list <- (decode_pb_dohhfaklimj (Pbrt.Decoder.nested d)) :: v.battle_avatar_list;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dlibcbeoehg), field(11)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.monster_wave_list <- (decode_pb_scene_monster_wave (Pbrt.Decoder.nested d)) :: v.monster_wave_list;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dlibcbeoehg), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    logic_random_seed = v.logic_random_seed;
    nlhcbhebgog = v.nlhcbhebgog;
    buff_list = v.buff_list;
    stage_id = v.stage_id;
    battle_id = v.battle_id;
    battle_avatar_list = v.battle_avatar_list;
    monster_wave_list = v.monster_wave_list;
  } : dlibcbeoehg)

let rec decode_pb_hpedbbbiedb d =
  let v = default_hpedbbbiedb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.gbhffcbgjoc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hpedbbbiedb), field(6)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hpedbbbiedb), field(11)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_dlibcbeoehg (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hpedbbbiedb), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gbhffcbgjoc = v.gbhffcbgjoc;
    retcode = v.retcode;
    ibllilenejp = v.ibllilenejp;
  } : hpedbbbiedb)

let rec decode_pb_plhgdnknphm d =
  let v = default_plhgdnknphm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(plhgdnknphm), field(13)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.cagbdbjkknd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(plhgdnknphm), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dcpoeimegli = v.dcpoeimegli;
    cagbdbjkknd = v.cagbdbjkknd;
  } : plhgdnknphm)

let rec decode_pb_gjlahapdbog d =
  let v = default_gjlahapdbog_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_dlibcbeoehg (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gjlahapdbog), field(5)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gjlahapdbog), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ibllilenejp = v.ibllilenejp;
    retcode = v.retcode;
  } : gjlahapdbog)

let rec decode_pb_daclbmikbfi d =
  let v = default_daclbmikbfi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(daclbmikbfi), field(5)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.slot <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(daclbmikbfi), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgjolgkaofj = v.hgjolgkaofj;
    slot = v.slot;
  } : daclbmikbfi)

let rec decode_pb_panjkdddido d =
  let v = default_panjkdddido_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pbcjjbpdaco <- List.rev v.pbcjjbpdaco;
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(panjkdddido), field(15)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.promotion <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(panjkdddido), field(1)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.sp <- Some (decode_pb_sp_progress (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(panjkdddido), field(3)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.jfckjahhbcp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(panjkdddido), field(2)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.bkjidpkfapk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(panjkdddido), field(13)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.pbcjjbpdaco <- (decode_pb_daclbmikbfi (Pbrt.Decoder.nested d)) :: v.pbcjjbpdaco;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(panjkdddido), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    exp = v.exp;
    promotion = v.promotion;
    sp = v.sp;
    jfckjahhbcp = v.jfckjahhbcp;
    bkjidpkfapk = v.bkjidpkfapk;
    pbcjjbpdaco = v.pbcjjbpdaco;
  } : panjkdddido)

let rec decode_pb_djeclbkkegk d =
  let v = default_djeclbkkegk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.doilhmkhjkj <- List.rev v.doilhmkhjkj;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.doilhmkhjkj <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(djeclbkkegk), field(9)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.slot <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(djeclbkkegk), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    doilhmkhjkj = v.doilhmkhjkj;
    slot = v.slot;
  } : djeclbkkegk)

let rec decode_pb_ahhnbnjlmgc d =
  let v = default_ahhnbnjlmgc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.kagnbjdmamf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ahhnbnjlmgc), field(10)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ahhnbnjlmgc), field(6)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.lcmieeegeoh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ahhnbnjlmgc), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kagnbjdmamf = v.kagnbjdmamf;
    hgjolgkaofj = v.hgjolgkaofj;
    lcmieeegeoh = v.lcmieeegeoh;
  } : ahhnbnjlmgc)

let rec decode_pb_dojnnbdinke d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(dojnnbdinke)" pk

let rec decode_pb_cnbmpdajjkh d =
  let v = default_cnbmpdajjkh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.djmeejmcdfm <- List.rev v.djmeejmcdfm;
      v.kbognlnlcle <- List.rev v.kbognlnlcle;
      v.habbaannlmg <- List.rev v.habbaannlmg;
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.nllaboenkeb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnbmpdajjkh), field(9)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.pomjmhpaije <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnbmpdajjkh), field(2)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.habbaannlmg <- (decode_pb_panjkdddido (Pbrt.Decoder.nested d)) :: v.habbaannlmg;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnbmpdajjkh), field(8)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.fcbhnhpkbck <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnbmpdajjkh), field(1)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.kbognlnlcle <- (decode_pb_djeclbkkegk (Pbrt.Decoder.nested d)) :: v.kbognlnlcle;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnbmpdajjkh), field(7)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnbmpdajjkh), field(10)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.igbnihgbkkc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnbmpdajjkh), field(14)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.djmeejmcdfm <- (decode_pb_ahhnbnjlmgc (Pbrt.Decoder.nested d)) :: v.djmeejmcdfm;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnbmpdajjkh), field(13)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.djmfidjhakm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnbmpdajjkh), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nllaboenkeb = v.nllaboenkeb;
    pomjmhpaije = v.pomjmhpaije;
    habbaannlmg = v.habbaannlmg;
    fcbhnhpkbck = v.fcbhnhpkbck;
    kbognlnlcle = v.kbognlnlcle;
    retcode = v.retcode;
    igbnihgbkkc = v.igbnihgbkkc;
    djmeejmcdfm = v.djmeejmcdfm;
    djmfidjhakm = v.djmfidjhakm;
  } : cnbmpdajjkh)

let rec decode_pb_gjipjkneplj d =
  let v = default_gjipjkneplj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.lineup <- Some (decode_pb_djeclbkkegk (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gjipjkneplj), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lineup = v.lineup;
  } : gjipjkneplj)

let rec decode_pb_nkcmnkoblgi d =
  let v = default_nkcmnkoblgi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nkcmnkoblgi), field(14)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.lineup <- Some (decode_pb_djeclbkkegk (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nkcmnkoblgi), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    lineup = v.lineup;
  } : nkcmnkoblgi)

let rec decode_pb_kknohjjfloa d =
  let v = default_kknohjjfloa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kknohjjfloa), field(15)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.jfckjahhbcp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kknohjjfloa), field(1)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.slot <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kknohjjfloa), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgjolgkaofj = v.hgjolgkaofj;
    jfckjahhbcp = v.jfckjahhbcp;
    slot = v.slot;
  } : kknohjjfloa)

let rec decode_pb_emfbdoapndp d =
  let v = default_emfbdoapndp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(emfbdoapndp), field(4)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.nlpkicoldah <- Some (decode_pb_ahhnbnjlmgc (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(emfbdoapndp), field(2)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.ifflhdajmfl <- Some (decode_pb_panjkdddido (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(emfbdoapndp), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    nlpkicoldah = v.nlpkicoldah;
    ifflhdajmfl = v.ifflhdajmfl;
  } : emfbdoapndp)

let rec decode_pb_blikhfgpooe d =
  let v = default_blikhfgpooe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.jfckjahhbcp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blikhfgpooe), field(7)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.slot <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blikhfgpooe), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jfckjahhbcp = v.jfckjahhbcp;
    slot = v.slot;
  } : blikhfgpooe)

let rec decode_pb_dhocaolkmof d =
  let v = default_dhocaolkmof_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.nlpkicoldah <- Some (decode_pb_ahhnbnjlmgc (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dhocaolkmof), field(5)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.ifflhdajmfl <- Some (decode_pb_panjkdddido (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dhocaolkmof), field(11)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dhocaolkmof), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nlpkicoldah = v.nlpkicoldah;
    ifflhdajmfl = v.ifflhdajmfl;
    retcode = v.retcode;
  } : dhocaolkmof)

let rec decode_pb_mjamedhohel d =
  let v = default_mjamedhohel_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.deimfkdnmfd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjamedhohel), field(2)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.jfckjahhbcp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjamedhohel), field(14)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.igbnihgbkkc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjamedhohel), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    deimfkdnmfd = v.deimfkdnmfd;
    jfckjahhbcp = v.jfckjahhbcp;
    igbnihgbkkc = v.igbnihgbkkc;
  } : mjamedhohel)

let rec decode_pb_cmbpnklhbjm d =
  let v = default_cmbpnklhbjm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cmbpnklhbjm), field(11)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.igbnihgbkkc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cmbpnklhbjm), field(8)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.ifflhdajmfl <- Some (decode_pb_panjkdddido (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cmbpnklhbjm), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    igbnihgbkkc = v.igbnihgbkkc;
    ifflhdajmfl = v.ifflhdajmfl;
  } : cmbpnklhbjm)

let rec decode_pb_nonalgbapfh d =
  let v = default_nonalgbapfh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.cagbdbjkknd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nonalgbapfh), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cagbdbjkknd = v.cagbdbjkknd;
  } : nonalgbapfh)

let rec decode_pb_fjenopmgncf d =
  let v = default_fjenopmgncf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.cagbdbjkknd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fjenopmgncf), field(2)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fjenopmgncf), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cagbdbjkknd = v.cagbdbjkknd;
    retcode = v.retcode;
  } : fjenopmgncf)

let rec decode_pb_cllelklhkol d =
  let v = default_cllelklhkol_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cllelklhkol), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ohibnloihci = v.ohibnloihci;
  } : cllelklhkol)

let rec decode_pb_eapddobkofp d =
  let v = default_eapddobkofp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_dlibcbeoehg (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eapddobkofp), field(15)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eapddobkofp), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ibllilenejp = v.ibllilenejp;
    retcode = v.retcode;
  } : eapddobkofp)

let rec decode_pb_kdelimjibne d =
  let v = default_kdelimjibne_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.lineup <- Some (decode_pb_djeclbkkegk (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kdelimjibne), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lineup = v.lineup;
  } : kdelimjibne)

let rec decode_pb_imhegmolifk d =
  let v = default_imhegmolifk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.klcbbgahmon <- List.rev v.klcbbgahmon;
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.ifflhdajmfl <- Some (decode_pb_panjkdddido (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(imhegmolifk), field(3)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.klcbbgahmon <- (decode_pb_panjkdddido (Pbrt.Decoder.nested d)) :: v.klcbbgahmon;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(imhegmolifk), field(13)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.igbnihgbkkc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(imhegmolifk), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ifflhdajmfl = v.ifflhdajmfl;
    klcbbgahmon = v.klcbbgahmon;
    igbnihgbkkc = v.igbnihgbkkc;
  } : imhegmolifk)

let rec decode_pb_iepaafhgkkh d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(iepaafhgkkh)" pk

let rec decode_pb_comcfkpmacm d =
  let v = default_comcfkpmacm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.caaogbkeibf <- List.rev v.caaogbkeibf;
      v.bapkilajgne <- List.rev v.bapkilajgne;
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.bapkilajgne <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(comcfkpmacm), field(6)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.gjonbpebope <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(comcfkpmacm), field(14)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.caaogbkeibf <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(comcfkpmacm), field(13)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(comcfkpmacm), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bapkilajgne = v.bapkilajgne;
    gjonbpebope = v.gjonbpebope;
    caaogbkeibf = v.caaogbkeibf;
    retcode = v.retcode;
  } : comcfkpmacm)

let rec decode_pb_oafokgigjif d =
  let v = default_oafokgigjif_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oafokgigjif), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dcpoeimegli = v.dcpoeimegli;
  } : oafokgigjif)

let rec decode_pb_ekpogeffanm d =
  let v = default_ekpogeffanm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.fcbhnhpkbck <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ekpogeffanm), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fcbhnhpkbck = v.fcbhnhpkbck;
  } : ekpogeffanm)

let rec decode_pb_dliphlmaege d =
  let v = default_dliphlmaege_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.kagnbjdmamf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dliphlmaege), field(11)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dliphlmaege), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kagnbjdmamf = v.kagnbjdmamf;
    hgjolgkaofj = v.hgjolgkaofj;
  } : dliphlmaege)

let rec decode_pb_nimfecemimn d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(nimfecemimn)" pk

let rec decode_pb_pdelhifcdfi d =
  let v = default_pdelhifcdfi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.nllaboenkeb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdelhifcdfi), field(14)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdelhifcdfi), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nllaboenkeb = v.nllaboenkeb;
    retcode = v.retcode;
  } : pdelhifcdfi)

let rec decode_pb_eachgfoknhm d =
  let v = default_eachgfoknhm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.nllaboenkeb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eachgfoknhm), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nllaboenkeb = v.nllaboenkeb;
  } : eachgfoknhm)

let rec decode_pb_ciimogjledo d =
  let v = default_ciimogjledo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ciimogjledo), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dcpoeimegli = v.dcpoeimegli;
  } : ciimogjledo)

let rec decode_pb_dknombpgohe d =
  let v = default_dknombpgohe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dknombpgohe), field(1)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dknombpgohe), field(8)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dknombpgohe), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    reward = v.reward;
    dcpoeimegli = v.dcpoeimegli;
  } : dknombpgohe)

let rec decode_pb_jnfhlppocgg d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_alley_type_none:jnfhlppocgg)
  | 4723 -> (Cmd_alley_ship_used_count_sc_notify:jnfhlppocgg)
  | 4778 -> (Cmd_alley_guaranteed_funds_cs_req:jnfhlppocgg)
  | 4799 -> (Cmd_take_prestige_reward_cs_req:jnfhlppocgg)
  | 4797 -> (Cmd_refresh_alley_order_cs_req:jnfhlppocgg)
  | 4733 -> (Cmd_alley_event_effect_notify:jnfhlppocgg)
  | 4711 -> (Cmd_logistics_game_cs_req:jnfhlppocgg)
  | 4748 -> (Cmd_alley_placing_game_sc_rsp:jnfhlppocgg)
  | 4751 -> (Cmd_alley_event_change_notify:jnfhlppocgg)
  | 4716 -> (Cmd_get_save_logistics_map_cs_req:jnfhlppocgg)
  | 4766 -> (Cmd_logistics_detonate_star_skiff_cs_req:jnfhlppocgg)
  | 4790 -> (Cmd_alley_funds_sc_notify:jnfhlppocgg)
  | 4717 -> (Cmd_prestige_level_up_cs_req:jnfhlppocgg)
  | 4746 -> (Cmd_logistics_detonate_star_skiff_sc_rsp:jnfhlppocgg)
  | 4745 -> (Cmd_alley_take_event_reward_sc_rsp:jnfhlppocgg)
  | 4776 -> (Cmd_alley_guaranteed_funds_sc_rsp:jnfhlppocgg)
  | 4709 -> (Cmd_alley_ship_unlock_sc_notify:jnfhlppocgg)
  | 4749 -> (Cmd_alley_take_event_reward_cs_req:jnfhlppocgg)
  | 4754 -> (Cmd_take_prestige_reward_sc_rsp:jnfhlppocgg)
  | 4743 -> (Cmd_logistics_game_sc_rsp:jnfhlppocgg)
  | 4739 -> (Cmd_start_alley_event_cs_req:jnfhlppocgg)
  | 4781 -> (Cmd_logistics_info_sc_notify:jnfhlppocgg)
  | 4732 -> (Cmd_alley_shipment_event_effects_sc_notify:jnfhlppocgg)
  | 4712 -> (Cmd_logistics_score_reward_sync_info_sc_notify:jnfhlppocgg)
  | 4725 -> (Cmd_alley_order_changed_sc_notify:jnfhlppocgg)
  | 4730 -> (Cmd_activity_raid_placing_game_cs_req:jnfhlppocgg)
  | 4729 -> (Cmd_start_alley_event_sc_rsp:jnfhlppocgg)
  | 4792 -> (Cmd_prestige_level_up_sc_rsp:jnfhlppocgg)
  | 4728 -> (Cmd_alley_shop_level_sc_notify:jnfhlppocgg)
  | 4768 -> (Cmd_get_alley_info_cs_req:jnfhlppocgg)
  | 4784 -> (Cmd_get_save_logistics_map_sc_rsp:jnfhlppocgg)
  | 4798 -> (Cmd_refresh_alley_order_sc_rsp:jnfhlppocgg)
  | 4706 -> (Cmd_get_alley_info_sc_rsp:jnfhlppocgg)
  | 4708 -> (Cmd_save_logistics_sc_rsp:jnfhlppocgg)
  | 4765 -> (Cmd_alley_placing_game_cs_req:jnfhlppocgg)
  | 4788 -> (Cmd_save_logistics_cs_req:jnfhlppocgg)
  | 4795 -> (Cmd_activity_raid_placing_game_sc_rsp:jnfhlppocgg)
  | _ -> Pbrt.Decoder.malformed_variant "jnfhlppocgg"

let rec decode_pb_ohpeonhnbci d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Left:ohpeonhnbci)
  | 1 -> (Right:ohpeonhnbci)
  | 2 -> (Up:ohpeonhnbci)
  | 3 -> (Down:ohpeonhnbci)
  | 4 -> (Left_up:ohpeonhnbci)
  | 5 -> (Left_down:ohpeonhnbci)
  | 6 -> (Right_up:ohpeonhnbci)
  | 7 -> (Right_down:ohpeonhnbci)
  | _ -> Pbrt.Decoder.malformed_variant "ohpeonhnbci"

let rec decode_pb_aklfmicjnmj d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Alley_event_type_none:aklfmicjnmj)
  | 1 -> (Alley_main_event:aklfmicjnmj)
  | 2 -> (Alley_critical_event:aklfmicjnmj)
  | 3 -> (Alley_daily_event:aklfmicjnmj)
  | _ -> Pbrt.Decoder.malformed_variant "aklfmicjnmj"

let rec decode_pb_hadkcbmomck d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Alley_state_none:hadkcbmomck)
  | 1 -> (Alley_event_doing:hadkcbmomck)
  | 2 -> (Alley_event_finish:hadkcbmomck)
  | 3 -> (Alley_event_rewarded:hadkcbmomck)
  | _ -> Pbrt.Decoder.malformed_variant "hadkcbmomck"

let rec decode_pb_loapiplimjn d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(loapiplimjn)" pk

let rec decode_pb_ohjhhhgpcgg d =
  let v = default_ohjhhhgpcgg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.fkbknefjpko <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ohjhhhgpcgg), field(14)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.lnjapmhfcck <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ohjhhhgpcgg), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fkbknefjpko = v.fkbknefjpko;
    lnjapmhfcck = v.lnjapmhfcck;
  } : ohjhhhgpcgg)

let rec decode_pb_hejgfgdhldh d =
  let v = default_hejgfgdhldh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.fgohomljegm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hejgfgdhldh), field(12)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hejgfgdhldh), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fgohomljegm = v.fgohomljegm;
    level = v.level;
  } : hejgfgdhldh)

let rec decode_pb_logistics_score d =
  let v = default_logistics_score_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.cur_score <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(logistics_score), field(4)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.unlock_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(logistics_score), field(15)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(logistics_score), field(6)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.last_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(logistics_score), field(12)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.last_max_score <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(logistics_score), field(3)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.map_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(logistics_score), field(13)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.max_score <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(logistics_score), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cur_score = v.cur_score;
    unlock_level = v.unlock_level;
    reward = v.reward;
    last_level = v.last_level;
    last_max_score = v.last_max_score;
    map_id = v.map_id;
    max_score = v.max_score;
  } : logistics_score)

let rec decode_pb_hgapkkdbooj d =
  let v = default_hgapkkdbooj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.gonbjnkpphb <- List.rev v.gonbjnkpphb;
      v.cjologpmmfj <- List.rev v.cjologpmmfj;
      v.ofoaoamacnm <- List.rev v.ofoaoamacnm;
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.ofoaoamacnm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgapkkdbooj), field(6)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.cjologpmmfj <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgapkkdbooj), field(1)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.mlfjgaifmhg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgapkkdbooj), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.oeeplaejecp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgapkkdbooj), field(4)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.gonbjnkpphb <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgapkkdbooj), field(10)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.fgohomljegm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgapkkdbooj), field(14)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.dfejfmhieaj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgapkkdbooj), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ofoaoamacnm = v.ofoaoamacnm;
    cjologpmmfj = v.cjologpmmfj;
    mlfjgaifmhg = v.mlfjgaifmhg;
    oeeplaejecp = v.oeeplaejecp;
    gonbjnkpphb = v.gonbjnkpphb;
    fgohomljegm = v.fgohomljegm;
    dfejfmhieaj = v.dfejfmhieaj;
  } : hgapkkdbooj)

let rec decode_pb_kcjbohglbkg d =
  let v = default_kcjbohglbkg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.cniofkimkih <- List.rev v.cniofkimkih;
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.cost_time <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcjbohglbkg), field(8)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.lnjapmhfcck <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcjbohglbkg), field(10)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.cniofkimkih <- (decode_pb_hgapkkdbooj (Pbrt.Decoder.nested d)) :: v.cniofkimkih;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcjbohglbkg), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cost_time = v.cost_time;
    lnjapmhfcck = v.lnjapmhfcck;
    cniofkimkih = v.cniofkimkih;
  } : kcjbohglbkg)

let rec decode_pb_icfmgfdlfbf d =
  let v = default_icfmgfdlfbf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mnbhmefmgck <- List.rev v.mnbhmefmgck;
      v.jfmgicmieni <- List.rev v.jfmgicmieni;
      v.kgphnjjjfjh <- List.rev v.kgphnjjjfjh;
      v.pkmpinidbem <- List.rev v.pkmpinidbem;
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.pkmpinidbem <- (decode_pb_logistics_score (Pbrt.Decoder.nested d)) :: v.pkmpinidbem;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(icfmgfdlfbf), field(15)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.kgphnjjjfjh <- (decode_pb_ohjhhhgpcgg (Pbrt.Decoder.nested d)) :: v.kgphnjjjfjh;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(icfmgfdlfbf), field(13)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.jfmgicmieni <- (decode_pb_kcjbohglbkg (Pbrt.Decoder.nested d)) :: v.jfmgicmieni;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(icfmgfdlfbf), field(8)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.mnbhmefmgck <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(icfmgfdlfbf), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pkmpinidbem = v.pkmpinidbem;
    kgphnjjjfjh = v.kgphnjjjfjh;
    jfmgicmieni = v.jfmgicmieni;
    mnbhmefmgck = v.mnbhmefmgck;
  } : icfmgfdlfbf)

let rec decode_pb_dooingjidio d =
  let v = default_dooingjidio_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.state <- decode_pb_hadkcbmomck d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dooingjidio), field(13)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dooingjidio), field(5)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.lfofmmafena <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dooingjidio), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    state = v.state;
    ohibnloihci = v.ohibnloihci;
    lfofmmafena = v.lfofmmafena;
  } : dooingjidio)

let rec decode_pb_hladmhdfejp d =
  let v = default_hladmhdfejp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.aofhdgapibo <- List.rev v.aofhdgapibo;
      v.opnlgkllekk <- List.rev v.opnlgkllekk;
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.cafjmafcfoe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hladmhdfejp), field(13)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.akcnolgdkfn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hladmhdfejp), field(4)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.hklljapbdgp <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hladmhdfejp), field(10)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.opnlgkllekk <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hladmhdfejp), field(11)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.jgcckagocaa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hladmhdfejp), field(15)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.aofhdgapibo <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hladmhdfejp), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cafjmafcfoe = v.cafjmafcfoe;
    akcnolgdkfn = v.akcnolgdkfn;
    hklljapbdgp = v.hklljapbdgp;
    opnlgkllekk = v.opnlgkllekk;
    jgcckagocaa = v.jgcckagocaa;
    aofhdgapibo = v.aofhdgapibo;
  } : hladmhdfejp)

let rec decode_pb_mdagbigodjh d =
  let v = default_mdagbigodjh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ifcilmngdbd <- List.rev v.ifcilmngdbd;
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.idliicjndbe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mdagbigodjh), field(8)" pk
    | Some (6, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.int32_as_varint d
      ) in
      v.ifcilmngdbd <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.ifcilmngdbd;
      );
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mdagbigodjh), field(6)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.fggaonkbpcf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mdagbigodjh), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    idliicjndbe = v.idliicjndbe;
    ifcilmngdbd = v.ifcilmngdbd;
    fggaonkbpcf = v.fggaonkbpcf;
  } : mdagbigodjh)

let rec decode_pb_beljfmihinc d =
  let v = default_beljfmihinc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hjigclklgic <- List.rev v.hjigclklgic;
      v.doglnbjjbnn <- List.rev v.doglnbjjbnn;
      v.ndjkkklopgp <- List.rev v.ndjkkklopgp;
      v.llhoijjnhbc <- List.rev v.llhoijjnhbc;
      v.ikifmbckbhe <- List.rev v.ikifmbckbhe;
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.nndnjlaloij <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(beljfmihinc), field(6)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.ikifmbckbhe <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(beljfmihinc), field(11)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.fkpnjjecflg <- Some (decode_pb_icfmgfdlfbf (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(beljfmihinc), field(10)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.llhoijjnhbc <- (decode_pb_dooingjidio (Pbrt.Decoder.nested d)) :: v.llhoijjnhbc;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(beljfmihinc), field(14)" pk
    | Some (8, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.int32_as_varint d
      ) in
      v.ndjkkklopgp <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.ndjkkklopgp;
      );
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(beljfmihinc), field(8)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.hifdompfogo <- Some (decode_pb_hladmhdfejp (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(beljfmihinc), field(2)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(beljfmihinc), field(5)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.njhmoljoand <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(beljfmihinc), field(12)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.doglnbjjbnn <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(beljfmihinc), field(7)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.iaagjjojjng <- Some (decode_pb_mdagbigodjh (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(beljfmihinc), field(3)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.hjigclklgic <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(beljfmihinc), field(13)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(beljfmihinc), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nndnjlaloij = v.nndnjlaloij;
    ikifmbckbhe = v.ikifmbckbhe;
    fkpnjjecflg = v.fkpnjjecflg;
    llhoijjnhbc = v.llhoijjnhbc;
    ndjkkklopgp = v.ndjkkklopgp;
    hifdompfogo = v.hifdompfogo;
    retcode = v.retcode;
    njhmoljoand = v.njhmoljoand;
    doglnbjjbnn = v.doglnbjjbnn;
    iaagjjojjng = v.iaagjjojjng;
    hjigclklgic = v.hjigclklgic;
    level = v.level;
  } : beljfmihinc)

let rec decode_pb_fadlnhgpedm d =
  let v = default_fadlnhgpedm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.idmndadbjbj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fadlnhgpedm), field(10)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.ihiffnbnoma <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fadlnhgpedm), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    idmndadbjbj = v.idmndadbjbj;
    ihiffnbnoma = v.ihiffnbnoma;
  } : fadlnhgpedm)

let rec decode_pb_dgpnljgebli d =
  let v = default_dgpnljgebli_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.glhlojgnlbf <- List.rev v.glhlojgnlbf;
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.ififlmjnmdk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgpnljgebli), field(4)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.glhlojgnlbf <- (decode_pb_fadlnhgpedm (Pbrt.Decoder.nested d)) :: v.glhlojgnlbf;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgpnljgebli), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ififlmjnmdk = v.ififlmjnmdk;
    glhlojgnlbf = v.glhlojgnlbf;
  } : dgpnljgebli)

let rec decode_pb_alley_placing_ship d =
  let v = default_alley_placing_ship_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.goods_list <- List.rev v.goods_list;
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.goods_list <- (decode_pb_dgpnljgebli (Pbrt.Decoder.nested d)) :: v.goods_list;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(alley_placing_ship), field(3)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.ship_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(alley_placing_ship), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    goods_list = v.goods_list;
    ship_id = v.ship_id;
  } : alley_placing_ship)

let rec decode_pb_jhjeidcchdm d =
  let v = default_jhjeidcchdm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.melnmeleaof <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhjeidcchdm), field(5)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.doobkcfngij <- Some (decode_pb_alley_placing_ship (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhjeidcchdm), field(2)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.aehccpbhofa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhjeidcchdm), field(11)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.einjppkhadm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhjeidcchdm), field(10)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.jojofajfiaa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhjeidcchdm), field(4)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.ifgaoheijdh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhjeidcchdm), field(13)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.mknfiokmpkc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhjeidcchdm), field(14)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.cost_time <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhjeidcchdm), field(8)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.pcdbbpgcjnd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhjeidcchdm), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    melnmeleaof = v.melnmeleaof;
    doobkcfngij = v.doobkcfngij;
    aehccpbhofa = v.aehccpbhofa;
    einjppkhadm = v.einjppkhadm;
    jojofajfiaa = v.jojofajfiaa;
    ifgaoheijdh = v.ifgaoheijdh;
    mknfiokmpkc = v.mknfiokmpkc;
    cost_time = v.cost_time;
    pcdbbpgcjnd = v.pcdbbpgcjnd;
  } : jhjeidcchdm)

let rec decode_pb_pikdnogokln d =
  let v = default_pikdnogokln_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.jfonlmmohcn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pikdnogokln), field(15)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.jljeangppkc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pikdnogokln), field(4)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pikdnogokln), field(12)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.pamdbajlfcl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pikdnogokln), field(10)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.dcoihiogahc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pikdnogokln), field(3)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.joeakofeomk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pikdnogokln), field(8)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.obegnholjba <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pikdnogokln), field(1)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pikdnogokln), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jfonlmmohcn = v.jfonlmmohcn;
    jljeangppkc = v.jljeangppkc;
    ohibnloihci = v.ohibnloihci;
    pamdbajlfcl = v.pamdbajlfcl;
    dcoihiogahc = v.dcoihiogahc;
    joeakofeomk = v.joeakofeomk;
    obegnholjba = v.obegnholjba;
    retcode = v.retcode;
  } : pikdnogokln)

let rec decode_pb_ocmgldjcfji d =
  let v = default_ocmgldjcfji_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.doobkcfngij <- Some (decode_pb_alley_placing_ship (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ocmgldjcfji), field(15)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.ninapcangoo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ocmgldjcfji), field(8)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.melnmeleaof <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ocmgldjcfji), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    doobkcfngij = v.doobkcfngij;
    ninapcangoo = v.ninapcangoo;
    melnmeleaof = v.melnmeleaof;
  } : ocmgldjcfji)

let rec decode_pb_ebpbcjefmgm d =
  let v = default_ebpbcjefmgm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebpbcjefmgm), field(13)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.ninapcangoo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebpbcjefmgm), field(1)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.melnmeleaof <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebpbcjefmgm), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ninapcangoo = v.ninapcangoo;
    melnmeleaof = v.melnmeleaof;
  } : ebpbcjefmgm)

let rec decode_pb_gomcgdopbbp d =
  let v = default_gomcgdopbbp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.aehfkplienl <- Some (decode_pb_hladmhdfejp (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gomcgdopbbp), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    aehfkplienl = v.aehfkplienl;
  } : gomcgdopbbp)

let rec decode_pb_cchhoggfaan d =
  let v = default_cchhoggfaan_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.locobbjbeoj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cchhoggfaan), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    locobbjbeoj = v.locobbjbeoj;
  } : cchhoggfaan)

let rec decode_pb_cblobpbbioh d =
  let v = default_cblobpbbioh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ffabaoopmam <- List.rev v.ffabaoopmam;
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.gfiadoibado <- Pbrt.Decoder.bool d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cblobpbbioh), field(5)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.ffabaoopmam <- (decode_pb_kcjbohglbkg (Pbrt.Decoder.nested d)) :: v.ffabaoopmam;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cblobpbbioh), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gfiadoibado = v.gfiadoibado;
    ffabaoopmam = v.ffabaoopmam;
  } : cblobpbbioh)

let rec decode_pb_jinedikcnpg d =
  let v = default_jinedikcnpg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pkmpinidbem <- List.rev v.pkmpinidbem;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.pkmpinidbem <- (decode_pb_logistics_score (Pbrt.Decoder.nested d)) :: v.pkmpinidbem;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jinedikcnpg), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pkmpinidbem = v.pkmpinidbem;
  } : jinedikcnpg)

let rec decode_pb_icegdbgdilo d =
  let v = default_icegdbgdilo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pkmpinidbem <- List.rev v.pkmpinidbem;
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.pkmpinidbem <- (decode_pb_logistics_score (Pbrt.Decoder.nested d)) :: v.pkmpinidbem;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(icegdbgdilo), field(3)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(icegdbgdilo), field(7)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.gfiadoibado <- Pbrt.Decoder.bool d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(icegdbgdilo), field(9)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(icegdbgdilo), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pkmpinidbem = v.pkmpinidbem;
    retcode = v.retcode;
    gfiadoibado = v.gfiadoibado;
    ohibnloihci = v.ohibnloihci;
  } : icegdbgdilo)

let rec decode_pb_jpdpdkgmoem d =
  let v = default_jpdpdkgmoem_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jpdpdkgmoem), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ohibnloihci = v.ohibnloihci;
  } : jpdpdkgmoem)

let rec decode_pb_jemgejfhlea d =
  let v = default_jemgejfhlea_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jemgejfhlea), field(2)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jemgejfhlea), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ohibnloihci = v.ohibnloihci;
  } : jemgejfhlea)

let rec decode_pb_hemiegnodli d =
  let v = default_hemiegnodli_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.liabblpojlg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hemiegnodli), field(7)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.aeajedehfdj <- Some (decode_pb_dooingjidio (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hemiegnodli), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    liabblpojlg = v.liabblpojlg;
    aeajedehfdj = v.aeajedehfdj;
  } : hemiegnodli)

let rec decode_pb_hbclchmkfof d =
  let v = default_hbclchmkfof_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.gnmibkehipe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hbclchmkfof), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gnmibkehipe = v.gnmibkehipe;
  } : hbclchmkfof)

let rec decode_pb_fipfnjdahae d =
  let v = default_fipfnjdahae_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fipfnjdahae), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    level = v.level;
  } : fipfnjdahae)

let rec decode_pb_neiehjicaab d =
  let v = default_neiehjicaab_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(neiehjicaab), field(7)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(neiehjicaab), field(10)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(neiehjicaab), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    reward = v.reward;
    level = v.level;
  } : neiehjicaab)

let rec decode_pb_jiokkgmgdhi d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(jiokkgmgdhi)" pk

let rec decode_pb_cdgmddbhlhm d =
  let v = default_cdgmddbhlhm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cdgmddbhlhm), field(10)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cdgmddbhlhm), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    level = v.level;
  } : cdgmddbhlhm)

let rec decode_pb_agbibfofjhe d =
  let v = default_agbibfofjhe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.njhmoljoand <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agbibfofjhe), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    njhmoljoand = v.njhmoljoand;
  } : agbibfofjhe)

let rec decode_pb_aiacifopgjh d =
  let v = default_aiacifopgjh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ffabaoopmam <- List.rev v.ffabaoopmam;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.ffabaoopmam <- (decode_pb_kcjbohglbkg (Pbrt.Decoder.nested d)) :: v.ffabaoopmam;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aiacifopgjh), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ffabaoopmam = v.ffabaoopmam;
  } : aiacifopgjh)

let rec decode_pb_ofpielcbnie d =
  let v = default_ofpielcbnie_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ffabaoopmam <- List.rev v.ffabaoopmam;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.ffabaoopmam <- (decode_pb_kcjbohglbkg (Pbrt.Decoder.nested d)) :: v.ffabaoopmam;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ofpielcbnie), field(12)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ofpielcbnie), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ffabaoopmam = v.ffabaoopmam;
    retcode = v.retcode;
  } : ofpielcbnie)

let rec decode_pb_fleomlhekmb d =
  let v = default_fleomlhekmb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.fkpnjjecflg <- Some (decode_pb_icfmgfdlfbf (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fleomlhekmb), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fkpnjjecflg = v.fkpnjjecflg;
  } : fleomlhekmb)

let rec decode_pb_didlmcoobee d =
  let v = default_didlmcoobee_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.mfgpjihdebb <- Some (decode_pb_mdagbigodjh (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(didlmcoobee), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mfgpjihdebb = v.mfgpjihdebb;
  } : didlmcoobee)

let rec decode_pb_kojkhmpimdb d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(kojkhmpimdb)" pk

let rec decode_pb_nalpogbfcld d =
  let v = default_nalpogbfcld_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jfmgicmieni <- List.rev v.jfmgicmieni;
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nalpogbfcld), field(4)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.jfmgicmieni <- (decode_pb_kcjbohglbkg (Pbrt.Decoder.nested d)) :: v.jfmgicmieni;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nalpogbfcld), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    jfmgicmieni = v.jfmgicmieni;
  } : nalpogbfcld)

let rec decode_pb_bnllbbflcmp d =
  let v = default_bnllbbflcmp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ndjkkklopgp <- List.rev v.ndjkkklopgp;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.int32_as_varint d
      ) in
      v.ndjkkklopgp <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.ndjkkklopgp;
      );
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bnllbbflcmp), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ndjkkklopgp = v.ndjkkklopgp;
  } : bnllbbflcmp)

let rec decode_pb_gecmagkkaih d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(gecmagkkaih)" pk

let rec decode_pb_eienjkdigbh d =
  let v = default_eienjkdigbh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.pfjnehlmhpn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eienjkdigbh), field(2)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eienjkdigbh), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pfjnehlmhpn = v.pfjnehlmhpn;
    retcode = v.retcode;
  } : eienjkdigbh)

let rec decode_pb_iohkbhphefg d =
  let v = default_iohkbhphefg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iohkbhphefg), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ohibnloihci = v.ohibnloihci;
  } : iohkbhphefg)

let rec decode_pb_haoeobccick d =
  let v = default_haoeobccick_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(haoeobccick), field(15)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(haoeobccick), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    reward = v.reward;
    retcode = v.retcode;
  } : haoeobccick)

let rec decode_pb_inoillgmnli d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(inoillgmnli)" pk

let rec decode_pb_ihjgeegflgi d =
  let v = default_ihjgeegflgi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ihjgeegflgi), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : ihjgeegflgi)

let rec decode_pb_kjniddfcogb d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_archive_type_none:kjniddfcogb)
  | 2306 -> (Cmd_get_archive_data_sc_rsp:kjniddfcogb)
  | 2343 -> (Cmd_get_updated_archive_data_sc_rsp:kjniddfcogb)
  | 2368 -> (Cmd_get_archive_data_cs_req:kjniddfcogb)
  | 2311 -> (Cmd_get_updated_archive_data_cs_req:kjniddfcogb)
  | _ -> Pbrt.Decoder.malformed_variant "kjniddfcogb"

let rec decode_pb_ahegmfopalb d =
  let v = default_ahegmfopalb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.peehdpfeeoo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ahegmfopalb), field(3)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.fgmdoekgpee <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ahegmfopalb), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    peehdpfeeoo = v.peehdpfeeoo;
    fgmdoekgpee = v.fgmdoekgpee;
  } : ahegmfopalb)

let rec decode_pb_djckakhhhng d =
  let v = default_djckakhhhng_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.monster_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(djckakhhhng), field(9)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.kagnbjdmamf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(djckakhhhng), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    monster_id = v.monster_id;
    kagnbjdmamf = v.kagnbjdmamf;
  } : djckakhhhng)

let rec decode_pb_gjjmikgadbo d =
  let v = default_gjjmikgadbo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.apfenmjpknc <- List.rev v.apfenmjpknc;
      v.kbmoknknjod <- List.rev v.kbmoknknjod;
      v.fidmcoeiklh <- List.rev v.fidmcoeiklh;
      v.gbgamckgokf <- List.rev v.gbgamckgokf;
      v.relic_list <- List.rev v.relic_list;
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.relic_list <- (decode_pb_ahegmfopalb (Pbrt.Decoder.nested d)) :: v.relic_list;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gjjmikgadbo), field(2)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.gbgamckgokf <- (decode_pb_djckakhhhng (Pbrt.Decoder.nested d)) :: v.gbgamckgokf;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gjjmikgadbo), field(5)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.fidmcoeiklh <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gjjmikgadbo), field(12)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.kbmoknknjod <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gjjmikgadbo), field(3)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.apfenmjpknc <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gjjmikgadbo), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    relic_list = v.relic_list;
    gbgamckgokf = v.gbgamckgokf;
    fidmcoeiklh = v.fidmcoeiklh;
    kbmoknknjod = v.kbmoknknjod;
    apfenmjpknc = v.apfenmjpknc;
  } : gjjmikgadbo)

let rec decode_pb_monllamhagk d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(monllamhagk)" pk

let rec decode_pb_palefbfkmmf d =
  let v = default_palefbfkmmf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.dbmehhgkijj <- Some (decode_pb_gjjmikgadbo (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(palefbfkmmf), field(3)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(palefbfkmmf), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dbmehhgkijj = v.dbmehhgkijj;
    retcode = v.retcode;
  } : palefbfkmmf)

let rec decode_pb_bhpjpmkfmkk d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(bhpjpmkfmkk)" pk

let rec decode_pb_llchdbdljil d =
  let v = default_llchdbdljil_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(llchdbdljil), field(8)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.dbmehhgkijj <- Some (decode_pb_gjjmikgadbo (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(llchdbdljil), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    dbmehhgkijj = v.dbmehhgkijj;
  } : llchdbdljil)

let rec decode_pb_ddigbcomjip d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_avatar_type_none:ddigbcomjip)
  | 399 -> (Cmd_take_off_equipment_cs_req:ddigbcomjip)
  | 334 -> (Cmd_dress_relic_avatar_cs_req:ddigbcomjip)
  | 343 -> (Cmd_avatar_exp_up_sc_rsp:ddigbcomjip)
  | 354 -> (Cmd_take_off_equipment_sc_rsp:ddigbcomjip)
  | 365 -> (Cmd_add_avatar_sc_notify:ddigbcomjip)
  | 381 -> (Cmd_mark_avatar_sc_rsp:ddigbcomjip)
  | 311 -> (Cmd_avatar_exp_up_cs_req:ddigbcomjip)
  | 382 -> (Cmd_rank_up_avatar_sc_rsp:ddigbcomjip)
  | 339 -> (Cmd_promote_avatar_cs_req:ddigbcomjip)
  | 333 -> (Cmd_dress_avatar_sc_rsp:ddigbcomjip)
  | 393 -> (Cmd_unlock_skilltree_sc_rsp:ddigbcomjip)
  | 390 -> (Cmd_dress_avatar_skin_sc_rsp:ddigbcomjip)
  | 329 -> (Cmd_promote_avatar_sc_rsp:ddigbcomjip)
  | 325 -> (Cmd_take_off_relic_sc_rsp:ddigbcomjip)
  | 348 -> (Cmd_rank_up_avatar_cs_req:ddigbcomjip)
  | 397 -> (Cmd_dress_relic_avatar_sc_rsp:ddigbcomjip)
  | 328 -> (Cmd_take_off_avatar_skin_cs_req:ddigbcomjip)
  | 392 -> (Cmd_dress_avatar_skin_cs_req:ddigbcomjip)
  | 398 -> (Cmd_take_off_relic_cs_req:ddigbcomjip)
  | 308 -> (Cmd_mark_avatar_cs_req:ddigbcomjip)
  | 317 -> (Cmd_take_promotion_reward_sc_rsp:ddigbcomjip)
  | 309 -> (Cmd_take_off_avatar_skin_sc_rsp:ddigbcomjip)
  | 306 -> (Cmd_get_avatar_data_sc_rsp:ddigbcomjip)
  | 324 -> (Cmd_take_promotion_reward_cs_req:ddigbcomjip)
  | 368 -> (Cmd_get_avatar_data_cs_req:ddigbcomjip)
  | 388 -> (Cmd_unlock_avatar_skin_sc_notify:ddigbcomjip)
  | 351 -> (Cmd_dress_avatar_cs_req:ddigbcomjip)
  | 356 -> (Cmd_unlock_skilltree_cs_req:ddigbcomjip)
  | _ -> Pbrt.Decoder.malformed_variant "ddigbcomjip"

let rec decode_pb_add_avatar_src d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Add_avatar_src_none:add_avatar_src)
  | 1 -> (Add_avatar_src_gacha:add_avatar_src)
  | 2 -> (Add_avatar_src_rogue:add_avatar_src)
  | _ -> Pbrt.Decoder.malformed_variant "add_avatar_src"

let rec decode_pb_get_avatar_data_cs_req d =
  let v = default_get_avatar_data_cs_req_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.base_avatar_id_list <- List.rev v.base_avatar_id_list;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.base_avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_avatar_data_cs_req), field(1)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.is_get_all <- Pbrt.Decoder.bool d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_avatar_data_cs_req), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    base_avatar_id_list = v.base_avatar_id_list;
    is_get_all = v.is_get_all;
  } : get_avatar_data_cs_req)

let rec decode_pb_equip_relic d =
  let v = default_equip_relic_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.nfjcagcjbib <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(equip_relic), field(13)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.fgmdoekgpee <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(equip_relic), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nfjcagcjbib = v.nfjcagcjbib;
    fgmdoekgpee = v.fgmdoekgpee;
  } : equip_relic)

let rec decode_pb_avatar d =
  let v = default_avatar_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.lgefgjgpbcj <- List.rev v.lgefgjgpbcj;
      v.skilltree_list <- List.rev v.skilltree_list;
      v.equip_relic_list <- List.rev v.equip_relic_list;
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.base_avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(avatar), field(15)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(avatar), field(1)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.fbieckfjhid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(avatar), field(3)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.equip_relic_list <- (decode_pb_equip_relic (Pbrt.Decoder.nested d)) :: v.equip_relic_list;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(avatar), field(2)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.skilltree_list <- (decode_pb_avatar_skill_tree (Pbrt.Decoder.nested d)) :: v.skilltree_list;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(avatar), field(14)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.first_met_timestamp <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(avatar), field(4)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.rank <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(avatar), field(13)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.nknepgafjhl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(avatar), field(8)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.bhfagdddack <- Pbrt.Decoder.bool d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(avatar), field(6)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(avatar), field(10)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.promotion <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(avatar), field(9)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.lgefgjgpbcj <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(avatar), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    base_avatar_id = v.base_avatar_id;
    level = v.level;
    fbieckfjhid = v.fbieckfjhid;
    equip_relic_list = v.equip_relic_list;
    skilltree_list = v.skilltree_list;
    first_met_timestamp = v.first_met_timestamp;
    rank = v.rank;
    nknepgafjhl = v.nknepgafjhl;
    bhfagdddack = v.bhfagdddack;
    exp = v.exp;
    promotion = v.promotion;
    lgefgjgpbcj = v.lgefgjgpbcj;
  } : avatar)

let rec decode_pb_get_avatar_data_sc_rsp d =
  let v = default_get_avatar_data_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_list <- List.rev v.avatar_list;
      v.cibnempfije <- List.rev v.cibnempfije;
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_avatar_data_sc_rsp), field(14)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.cibnempfije <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_avatar_data_sc_rsp), field(6)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.is_all <- Pbrt.Decoder.bool d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_avatar_data_sc_rsp), field(4)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.avatar_list <- (decode_pb_avatar (Pbrt.Decoder.nested d)) :: v.avatar_list;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_avatar_data_sc_rsp), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    cibnempfije = v.cibnempfije;
    is_all = v.is_all;
    avatar_list = v.avatar_list;
  } : get_avatar_data_sc_rsp)

let rec decode_pb_aecnomadcjh d =
  let v = default_aecnomadcjh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.item_cost <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aecnomadcjh), field(4)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.base_avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aecnomadcjh), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    item_cost = v.item_cost;
    base_avatar_id = v.base_avatar_id;
  } : aecnomadcjh)

let rec decode_pb_lpnomfffpdc d =
  let v = default_lpnomfffpdc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.return_item_list <- List.rev v.return_item_list;
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.return_item_list <- (decode_pb_pile_item (Pbrt.Decoder.nested d)) :: v.return_item_list;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lpnomfffpdc), field(11)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lpnomfffpdc), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    return_item_list = v.return_item_list;
    retcode = v.retcode;
  } : lpnomfffpdc)

let rec decode_pb_kpbljmklimk d =
  let v = default_kpbljmklimk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pdpfcfglgco <- List.rev v.pdpfcfglgco;
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.pdpfcfglgco <- (decode_pb_item_cost (Pbrt.Decoder.nested d)) :: v.pdpfcfglgco;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kpbljmklimk), field(15)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.point_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kpbljmklimk), field(10)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kpbljmklimk), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pdpfcfglgco = v.pdpfcfglgco;
    point_id = v.point_id;
    level = v.level;
  } : kpbljmklimk)

let rec decode_pb_lokkkoegcel d =
  let v = default_lokkkoegcel_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lokkkoegcel), field(14)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lokkkoegcel), field(2)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.point_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lokkkoegcel), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    level = v.level;
    retcode = v.retcode;
    point_id = v.point_id;
  } : lokkkoegcel)

let rec decode_pb_pgallhinmcg d =
  let v = default_pgallhinmcg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pdpfcfglgco <- List.rev v.pdpfcfglgco;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.base_avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgallhinmcg), field(1)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.pdpfcfglgco <- (decode_pb_item_cost (Pbrt.Decoder.nested d)) :: v.pdpfcfglgco;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgallhinmcg), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    base_avatar_id = v.base_avatar_id;
    pdpfcfglgco = v.pdpfcfglgco;
  } : pgallhinmcg)

let rec decode_pb_kiegpcndglm d =
  let v = default_kiegpcndglm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kiegpcndglm), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : kiegpcndglm)

let rec decode_pb_cbakagckfoj d =
  let v = default_cbakagckfoj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbakagckfoj), field(5)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.fbieckfjhid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbakagckfoj), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id = v.avatar_id;
    fbieckfjhid = v.fbieckfjhid;
  } : cbakagckfoj)

let rec decode_pb_ijcahocdgaf d =
  let v = default_ijcahocdgaf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ijcahocdgaf), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : ijcahocdgaf)

let rec decode_pb_adgdhlnhjbo d =
  let v = default_adgdhlnhjbo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adgdhlnhjbo), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id = v.avatar_id;
  } : adgdhlnhjbo)

let rec decode_pb_mpifpmeobhn d =
  let v = default_mpifpmeobhn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mpifpmeobhn), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : mpifpmeobhn)

let rec decode_pb_add_avatar_sc_notify d =
  let v = default_add_avatar_sc_notify_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(add_avatar_sc_notify), field(13)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.kollpgccdil <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(add_avatar_sc_notify), field(11)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.base_avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(add_avatar_sc_notify), field(6)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.src <- decode_pb_add_avatar_src d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(add_avatar_sc_notify), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    reward = v.reward;
    kollpgccdil = v.kollpgccdil;
    base_avatar_id = v.base_avatar_id;
    src = v.src;
  } : add_avatar_sc_notify)

let rec decode_pb_encpolfcbdh d =
  let v = default_encpolfcbdh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(encpolfcbdh), field(14)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.rank <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(encpolfcbdh), field(6)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.lohpklihemj <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(encpolfcbdh), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id = v.avatar_id;
    rank = v.rank;
    lohpklihemj = v.lohpklihemj;
  } : encpolfcbdh)

let rec decode_pb_lalbonaknbj d =
  let v = default_lalbonaknbj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lalbonaknbj), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : lalbonaknbj)

let rec decode_pb_lihdafanjjb d =
  let v = default_lihdafanjjb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.glibnobaaec <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lihdafanjjb), field(6)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.nfjcagcjbib <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lihdafanjjb), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    glibnobaaec = v.glibnobaaec;
    nfjcagcjbib = v.nfjcagcjbib;
  } : lihdafanjjb)

let rec decode_pb_nnmdebbkhno d =
  let v = default_nnmdebbkhno_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.param_list <- List.rev v.param_list;
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nnmdebbkhno), field(15)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.param_list <- (decode_pb_lihdafanjjb (Pbrt.Decoder.nested d)) :: v.param_list;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nnmdebbkhno), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id = v.avatar_id;
    param_list = v.param_list;
  } : nnmdebbkhno)

let rec decode_pb_kangfjjbiof d =
  let v = default_kangfjjbiof_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kangfjjbiof), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : kangfjjbiof)

let rec decode_pb_loekhbimbge d =
  let v = default_loekhbimbge_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.meifmmgjlpe <- List.rev v.meifmmgjlpe;
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.meifmmgjlpe <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(loekhbimbge), field(15)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(loekhbimbge), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    meifmmgjlpe = v.meifmmgjlpe;
    avatar_id = v.avatar_id;
  } : loekhbimbge)

let rec decode_pb_piacfnkpnfl d =
  let v = default_piacfnkpnfl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(piacfnkpnfl), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : piacfnkpnfl)

let rec decode_pb_lhfgooafpmn d =
  let v = default_lhfgooafpmn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.promotion <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhfgooafpmn), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.base_avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhfgooafpmn), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    promotion = v.promotion;
    base_avatar_id = v.base_avatar_id;
  } : lhfgooafpmn)

let rec decode_pb_ilpkijpmbem d =
  let v = default_ilpkijpmbem_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.dekonpmjeen <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ilpkijpmbem), field(9)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ilpkijpmbem), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dekonpmjeen = v.dekonpmjeen;
    retcode = v.retcode;
  } : ilpkijpmbem)

let rec decode_pb_hipenifkepd d =
  let v = default_hipenifkepd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.ikebgemjjdh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hipenifkepd), field(10)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hipenifkepd), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ikebgemjjdh = v.ikebgemjjdh;
    avatar_id = v.avatar_id;
  } : hipenifkepd)

let rec decode_pb_pncgiifooab d =
  let v = default_pncgiifooab_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pncgiifooab), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : pncgiifooab)

let rec decode_pb_agbmkannnln d =
  let v = default_agbmkannnln_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agbmkannnln), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id = v.avatar_id;
  } : agbmkannnln)

let rec decode_pb_iekgcdbdjcb d =
  let v = default_iekgcdbdjcb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iekgcdbdjcb), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : iekgcdbdjcb)

let rec decode_pb_jkgenbbckgd d =
  let v = default_jkgenbbckgd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.ikebgemjjdh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jkgenbbckgd), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ikebgemjjdh = v.ikebgemjjdh;
  } : jkgenbbckgd)

let rec decode_pb_cefjkkokjgm d =
  let v = default_cefjkkokjgm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cefjkkokjgm), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.bhfagdddack <- Pbrt.Decoder.bool d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cefjkkokjgm), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id = v.avatar_id;
    bhfagdddack = v.bhfagdddack;
  } : cefjkkokjgm)

let rec decode_pb_jpfokchobkj d =
  let v = default_jpfokchobkj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.bhfagdddack <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jpfokchobkj), field(10)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jpfokchobkj), field(15)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jpfokchobkj), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bhfagdddack = v.bhfagdddack;
    retcode = v.retcode;
    avatar_id = v.avatar_id;
  } : jpfokchobkj)

let rec decode_pb_cakkaeefjpf d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_battle_type_none:cakkaeefjpf)
  | 139 -> (Cmd_sync_client_res_version_cs_req:cakkaeefjpf)
  | 193 -> (Cmd_get_cur_battle_info_sc_rsp:cakkaeefjpf)
  | 165 -> (Cmd_re_battle_after_battle_lose_cs_notify:cakkaeefjpf)
  | 154 -> (Cmd_server_simulate_battle_finish_sc_notify:cakkaeefjpf)
  | 143 -> (Cmd_quit_battle_sc_rsp:cakkaeefjpf)
  | 111 -> (Cmd_quit_battle_cs_req:cakkaeefjpf)
  | 156 -> (Cmd_get_cur_battle_info_cs_req:cakkaeefjpf)
  | 168 -> (Cmd_pvebattle_result_cs_req:cakkaeefjpf)
  | 199 -> (Cmd_battle_log_report_sc_rsp:cakkaeefjpf)
  | 151 -> (Cmd_quit_battle_sc_notify:cakkaeefjpf)
  | 148 -> (Cmd_rebattle_by_client_cs_notify:cakkaeefjpf)
  | 133 -> (Cmd_battle_log_report_cs_req:cakkaeefjpf)
  | 129 -> (Cmd_sync_client_res_version_sc_rsp:cakkaeefjpf)
  | 106 -> (Cmd_pvebattle_result_sc_rsp:cakkaeefjpf)
  | _ -> Pbrt.Decoder.malformed_variant "cakkaeefjpf"

let rec decode_pb_pve_battle_result_cs_req d =
  let v = default_pve_battle_result_cs_req_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pve_battle_result_cs_req), field(5)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.end_status <- decode_pb_battle_end_status d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pve_battle_result_cs_req), field(1)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.battle_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pve_battle_result_cs_req), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    stage_id = v.stage_id;
    end_status = v.end_status;
    battle_id = v.battle_id;
  } : pve_battle_result_cs_req)

let rec decode_pb_pve_battle_result_sc_rsp d =
  let v = default_pve_battle_result_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.battle_avatar_list <- List.rev v.battle_avatar_list;
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.oomdpegblgd <- Pbrt.Decoder.bool d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pve_battle_result_sc_rsp), field(4)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.battle_avatar_list <- (decode_pb_battle_avatar (Pbrt.Decoder.nested d)) :: v.battle_avatar_list;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pve_battle_result_sc_rsp), field(7)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.oocaibocjln <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pve_battle_result_sc_rsp), field(14)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.pgocjkihbbe <- Pbrt.Decoder.string d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pve_battle_result_sc_rsp), field(12)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pve_battle_result_sc_rsp), field(3)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pve_battle_result_sc_rsp), field(11)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.battle_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pve_battle_result_sc_rsp), field(6)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.glplpadhfpd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pve_battle_result_sc_rsp), field(13)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pve_battle_result_sc_rsp), field(15)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.mlnnahkhdjm <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pve_battle_result_sc_rsp), field(5)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.eahkgakocfi <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pve_battle_result_sc_rsp), field(1)" pk
    | Some (73, Pbrt.Bytes) -> begin
      v.cbilddggofb <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (73, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pve_battle_result_sc_rsp), field(73)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.acpoidmpoae <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pve_battle_result_sc_rsp), field(8)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.gndhohdfcaj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pve_battle_result_sc_rsp), field(9)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.afpcepepdbn <- Pbrt.Decoder.string d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pve_battle_result_sc_rsp), field(10)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.end_status <- decode_pb_battle_end_status d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pve_battle_result_sc_rsp), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    oomdpegblgd = v.oomdpegblgd;
    battle_avatar_list = v.battle_avatar_list;
    oocaibocjln = v.oocaibocjln;
    pgocjkihbbe = v.pgocjkihbbe;
    retcode = v.retcode;
    stage_id = v.stage_id;
    battle_id = v.battle_id;
    glplpadhfpd = v.glplpadhfpd;
    ohibnloihci = v.ohibnloihci;
    mlnnahkhdjm = v.mlnnahkhdjm;
    eahkgakocfi = v.eahkgakocfi;
    cbilddggofb = v.cbilddggofb;
    acpoidmpoae = v.acpoidmpoae;
    gndhohdfcaj = v.gndhohdfcaj;
    afpcepepdbn = v.afpcepepdbn;
    end_status = v.end_status;
  } : pve_battle_result_sc_rsp)

let rec decode_pb_camlhbegnmo d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rebattle_type_none:camlhbegnmo)
  | 1 -> (Rebattle_type_rebattle_midway:camlhbegnmo)
  | 2 -> (Rebattle_type_rebattle_lose:camlhbegnmo)
  | 3 -> (Rebattle_type_rebattle_midway_lineup:camlhbegnmo)
  | 4 -> (Rebattle_type_rebattle_lose_lineup:camlhbegnmo)
  | 5 -> (Rebattle_type_quit_midway:camlhbegnmo)
  | 6 -> (Rebattle_type_quit_lose:camlhbegnmo)
  | _ -> Pbrt.Decoder.malformed_variant "camlhbegnmo"

let rec decode_pb_ijgbbedmofi d =
  let v = default_ijgbbedmofi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.ppkofopmfjc <- Some (decode_pb_battle_statistics (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ijgbbedmofi), field(11)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.nnpfabenejo <- decode_pb_camlhbegnmo d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ijgbbedmofi), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ppkofopmfjc = v.ppkofopmfjc;
    nnpfabenejo = v.nnpfabenejo;
  } : ijgbbedmofi)

let rec decode_pb_cobbpkkomfl d =
  let v = default_cobbpkkomfl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cobbpkkomfl), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : cobbpkkomfl)

let rec decode_pb_dkkpikecajo d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(dkkpikecajo)" pk

let rec decode_pb_hbflmfphidd d =
  let v = default_hbflmfphidd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.ipnlaoiegjo <- Some (decode_pb_dlibcbeoehg (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hbflmfphidd), field(12)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.nlkgekahldd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hbflmfphidd), field(3)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hbflmfphidd), field(7)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hbflmfphidd), field(9)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.hcnfeokapob <- decode_pb_battle_end_status d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hbflmfphidd), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ipnlaoiegjo = v.ipnlaoiegjo;
    nlkgekahldd = v.nlkgekahldd;
    retcode = v.retcode;
    ibllilenejp = v.ibllilenejp;
    hcnfeokapob = v.hcnfeokapob;
  } : hbflmfphidd)

let rec decode_pb_mcakjakjjom d =
  let v = default_mcakjakjjom_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.hcgjomkbloh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mcakjakjjom), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hcgjomkbloh = v.hcgjomkbloh;
  } : mcakjakjjom)

let rec decode_pb_kkabhpeeggp d =
  let v = default_kkabhpeeggp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.hcgjomkbloh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkabhpeeggp), field(3)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkabhpeeggp), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hcgjomkbloh = v.hcgjomkbloh;
    retcode = v.retcode;
  } : kkabhpeeggp)

let rec decode_pb_fjkiphnkgdp d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(fjkiphnkgdp)" pk

let rec decode_pb_ldnjbhdlmmg d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(ldnjbhdlmmg)" pk

let rec decode_pb_pnnpfbnehhf d =
  let v = default_pnnpfbnehhf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnnpfbnehhf), field(14)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.inhkilleipi <- Pbrt.Decoder.bool d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnnpfbnehhf), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    inhkilleipi = v.inhkilleipi;
  } : pnnpfbnehhf)

let rec decode_pb_fjhmgepebdo d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(fjhmgepebdo)" pk

let rec decode_pb_jomaaeonbkl d =
  let v = default_jomaaeonbkl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.anhhbjmpmnl <- Pbrt.Decoder.bool d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jomaaeonbkl), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    anhhbjmpmnl = v.anhhbjmpmnl;
  } : jomaaeonbkl)

let rec decode_pb_mgckhgkoldc d =
  let v = default_mgckhgkoldc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.ppkofopmfjc <- Some (decode_pb_battle_statistics (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mgckhgkoldc), field(5)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.nnpfabenejo <- decode_pb_camlhbegnmo d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mgckhgkoldc), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ppkofopmfjc = v.ppkofopmfjc;
    nnpfabenejo = v.nnpfabenejo;
  } : mgckhgkoldc)

let rec decode_pb_dbbjgclmmjp d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_battle_college_type_none:dbbjgclmmjp)
  | 5706 -> (Cmd_get_battle_college_data_sc_rsp:dbbjgclmmjp)
  | 5768 -> (Cmd_get_battle_college_data_cs_req:dbbjgclmmjp)
  | 5756 -> (Cmd_start_battle_college_sc_rsp:dbbjgclmmjp)
  | 5711 -> (Cmd_battle_college_data_change_sc_notify:dbbjgclmmjp)
  | 5743 -> (Cmd_start_battle_college_cs_req:dbbjgclmmjp)
  | _ -> Pbrt.Decoder.malformed_variant "dbbjgclmmjp"

let rec decode_pb_fapaimaejep d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(fapaimaejep)" pk

let rec decode_pb_bdboegaepjc d =
  let v = default_bdboegaepjc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.njicdmlcfel <- List.rev v.njicdmlcfel;
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.opmjfaoockc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bdboegaepjc), field(14)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bdboegaepjc), field(6)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.njicdmlcfel <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bdboegaepjc), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    opmjfaoockc = v.opmjfaoockc;
    retcode = v.retcode;
    njicdmlcfel = v.njicdmlcfel;
  } : bdboegaepjc)

let rec decode_pb_peakflfemij d =
  let v = default_peakflfemij_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.njicdmlcfel <- List.rev v.njicdmlcfel;
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.opmjfaoockc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(peakflfemij), field(5)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.njicdmlcfel <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(peakflfemij), field(15)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(peakflfemij), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    opmjfaoockc = v.opmjfaoockc;
    njicdmlcfel = v.njicdmlcfel;
    reward = v.reward;
  } : peakflfemij)

let rec decode_pb_piohfiefgli d =
  let v = default_piohfiefgli_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(piohfiefgli), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
  } : piohfiefgli)

let rec decode_pb_gilcdginico d =
  let v = default_gilcdginico_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gilcdginico), field(7)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gilcdginico), field(12)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gilcdginico), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ibllilenejp = v.ibllilenejp;
    id = v.id;
  } : gilcdginico)

let rec decode_pb_fahljamiphk d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_battle_pass_type_none:fahljamiphk)
  | 3029 -> (Cmd_take_all_reward_cs_req:fahljamiphk)
  | 3068 -> (Cmd_battle_pass_info_notify:fahljamiphk)
  | 3051 -> (Cmd_take_all_reward_sc_rsp:fahljamiphk)
  | 3043 -> (Cmd_take_bp_reward_cs_req:fahljamiphk)
  | 3039 -> (Cmd_buy_bp_level_sc_rsp:fahljamiphk)
  | 3093 -> (Cmd_buy_bp_level_cs_req:fahljamiphk)
  | 3056 -> (Cmd_take_bp_reward_sc_rsp:fahljamiphk)
  | _ -> Pbrt.Decoder.malformed_variant "fahljamiphk"

let rec decode_pb_lhcilpbmhdj d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Bp_tier_type_none:lhcilpbmhdj)
  | 1 -> (Bp_tier_type_free:lhcilpbmhdj)
  | 2 -> (Bp_tier_type_premium_1:lhcilpbmhdj)
  | 3 -> (Bp_tier_type_premium_2:lhcilpbmhdj)
  | _ -> Pbrt.Decoder.malformed_variant "lhcilpbmhdj"

let rec decode_pb_bbfkmccgbef d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Bp_rewarad_type_none:bbfkmccgbef)
  | 1 -> (Bp_rewarad_type_free:bbfkmccgbef)
  | 2 -> (Bp_rewarad_type_premium_1:bbfkmccgbef)
  | 3 -> (Bp_rewarad_type_premium_2:bbfkmccgbef)
  | 4 -> (Bp_rewarad_type_premium_optional:bbfkmccgbef)
  | _ -> Pbrt.Decoder.malformed_variant "bbfkmccgbef"

let rec decode_pb_glllkpaohkp d =
  let v = default_glllkpaohkp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.hfimlipbgjj <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glllkpaohkp), field(5)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.odfppnaaaha <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glllkpaohkp), field(15)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.doelnfpchgj <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glllkpaohkp), field(7)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.ofkndpopolb <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glllkpaohkp), field(12)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.ifhjejgkkii <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glllkpaohkp), field(6)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.bflofpnhhbe <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glllkpaohkp), field(3)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glllkpaohkp), field(1)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.negckedpalm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glllkpaohkp), field(9)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glllkpaohkp), field(4)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.mlcjknjonla <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glllkpaohkp), field(11)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.hjaacgfhkeh <- decode_pb_lhcilpbmhdj d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glllkpaohkp), field(13)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.eigfdpnbaib <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glllkpaohkp), field(8)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.ikphhdkihnl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glllkpaohkp), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hfimlipbgjj = v.hfimlipbgjj;
    odfppnaaaha = v.odfppnaaaha;
    doelnfpchgj = v.doelnfpchgj;
    ofkndpopolb = v.ofkndpopolb;
    ifhjejgkkii = v.ifhjejgkkii;
    bflofpnhhbe = v.bflofpnhhbe;
    level = v.level;
    negckedpalm = v.negckedpalm;
    exp = v.exp;
    mlcjknjonla = v.mlcjknjonla;
    hjaacgfhkeh = v.hjaacgfhkeh;
    eigfdpnbaib = v.eigfdpnbaib;
    ikphhdkihnl = v.ikphhdkihnl;
  } : glllkpaohkp)

let rec decode_pb_igfohhehkfi d =
  let v = default_igfohhehkfi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.fgmdoekgpee <- decode_pb_bbfkmccgbef d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(igfohhehkfi), field(9)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(igfohhehkfi), field(10)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.apbdbeabddj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(igfohhehkfi), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fgmdoekgpee = v.fgmdoekgpee;
    level = v.level;
    apbdbeabddj = v.apbdbeabddj;
  } : igfohhehkfi)

let rec decode_pb_fgglkpbaipp d =
  let v = default_fgglkpbaipp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fgglkpbaipp), field(7)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fgglkpbaipp), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    reward = v.reward;
  } : fgglkpbaipp)

let rec decode_pb_jakmhbhfbom d =
  let v = default_jakmhbhfbom_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.dnafdalifpp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jakmhbhfbom), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dnafdalifpp = v.dnafdalifpp;
  } : jakmhbhfbom)

let rec decode_pb_ojleilicgce d =
  let v = default_ojleilicgce_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ojleilicgce), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : ojleilicgce)

let rec decode_pb_optional_reward d =
  let v = default_optional_reward_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(optional_reward), field(14)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.optional_reward_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(optional_reward), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    level = v.level;
    optional_reward_id = v.optional_reward_id;
  } : optional_reward)

let rec decode_pb_djpcigjcohb d =
  let v = default_djpcigjcohb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.eeoepeflnib <- List.rev v.eeoepeflnib;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.eeoepeflnib <- (decode_pb_optional_reward (Pbrt.Decoder.nested d)) :: v.eeoepeflnib;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(djpcigjcohb), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    eeoepeflnib = v.eeoepeflnib;
  } : djpcigjcohb)

let rec decode_pb_bnndbijgjig d =
  let v = default_bnndbijgjig_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bnndbijgjig), field(7)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bnndbijgjig), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    reward = v.reward;
    retcode = v.retcode;
  } : bnndbijgjig)

let rec decode_pb_mhghefbeklg d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_boxing_club_type_none:mhghefbeklg)
  | 4251 -> (Cmd_boxing_club_reward_sc_notify:mhghefbeklg)
  | 4254 -> (Cmd_choose_boxing_club_resonance_sc_rsp:mhghefbeklg)
  | 4282 -> (Cmd_choose_boxing_club_stage_optional_buff_cs_req:mhghefbeklg)
  | 4206 -> (Cmd_get_boxing_club_info_sc_rsp:mhghefbeklg)
  | 4248 -> (Cmd_set_boxing_club_resonance_lineup_sc_rsp:mhghefbeklg)
  | 4229 -> (Cmd_give_up_boxing_club_challenge_sc_rsp:mhghefbeklg)
  | 4268 -> (Cmd_get_boxing_club_info_cs_req:mhghefbeklg)
  | 4211 -> (Cmd_match_boxing_club_opponent_cs_req:mhghefbeklg)
  | 4293 -> (Cmd_start_boxing_club_battle_sc_rsp:mhghefbeklg)
  | 4234 -> (Cmd_choose_boxing_club_stage_optional_buff_sc_rsp:mhghefbeklg)
  | 4299 -> (Cmd_choose_boxing_club_resonance_cs_req:mhghefbeklg)
  | 4233 -> (Cmd_boxing_club_challenge_update_sc_notify:mhghefbeklg)
  | 4243 -> (Cmd_match_boxing_club_opponent_sc_rsp:mhghefbeklg)
  | 4256 -> (Cmd_start_boxing_club_battle_cs_req:mhghefbeklg)
  | 4239 -> (Cmd_give_up_boxing_club_challenge_cs_req:mhghefbeklg)
  | 4265 -> (Cmd_set_boxing_club_resonance_lineup_cs_req:mhghefbeklg)
  | _ -> Pbrt.Decoder.malformed_variant "mhghefbeklg"

let rec decode_pb_kjdaenekphc d =
  let v = default_kjdaenekphc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kjdaenekphc), field(11)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kjdaenekphc), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id = v.avatar_id;
    avatar_type = v.avatar_type;
  } : kjdaenekphc)

let rec decode_pb_ddlbgkgfefc d =
  let v = default_ddlbgkgfefc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.aanccmiilfi <- List.rev v.aanccmiilfi;
      v.avatar_list <- List.rev v.avatar_list;
      v.lcpkdabedpe <- List.rev v.lcpkdabedpe;
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.gelihlenpmn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddlbgkgfefc), field(14)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.lcpkdabedpe <- (decode_pb_kjdaenekphc (Pbrt.Decoder.nested d)) :: v.lcpkdabedpe;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddlbgkgfefc), field(15)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddlbgkgfefc), field(12)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.ngibpgbbhbb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddlbgkgfefc), field(6)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.dejlogoemeb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddlbgkgfefc), field(13)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.avatar_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddlbgkgfefc), field(8)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.aanccmiilfi <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddlbgkgfefc), field(3)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.jhcijabbjdd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddlbgkgfefc), field(2)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.pokejdagclb <- Pbrt.Decoder.bool d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddlbgkgfefc), field(7)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.hdonjgpeieg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddlbgkgfefc), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gelihlenpmn = v.gelihlenpmn;
    lcpkdabedpe = v.lcpkdabedpe;
    dcpoeimegli = v.dcpoeimegli;
    ngibpgbbhbb = v.ngibpgbbhbb;
    dejlogoemeb = v.dejlogoemeb;
    avatar_list = v.avatar_list;
    aanccmiilfi = v.aanccmiilfi;
    jhcijabbjdd = v.jhcijabbjdd;
    pokejdagclb = v.pokejdagclb;
    hdonjgpeieg = v.hdonjgpeieg;
  } : ddlbgkgfefc)

let rec decode_pb_kogajoogclp d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(kogajoogclp)" pk

let rec decode_pb_mppfhakefln d =
  let v = default_mppfhakefln_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.cjbdijhedpo <- List.rev v.cjbdijhedpo;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.cjbdijhedpo <- (decode_pb_ddlbgkgfefc (Pbrt.Decoder.nested d)) :: v.cjbdijhedpo;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mppfhakefln), field(1)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mppfhakefln), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cjbdijhedpo = v.cjbdijhedpo;
    retcode = v.retcode;
  } : mppfhakefln)

let rec decode_pb_mlhocmdjnel d =
  let v = default_mlhocmdjnel_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mlhocmdjnel), field(13)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mlhocmdjnel), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_type = v.avatar_type;
    avatar_id = v.avatar_id;
  } : mlhocmdjnel)

let rec decode_pb_bjngkchibgi d =
  let v = default_bjngkchibgi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.lcpkdabedpe <- List.rev v.lcpkdabedpe;
      v.avatar_list <- List.rev v.avatar_list;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.avatar_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bjngkchibgi), field(7)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.lcpkdabedpe <- (decode_pb_mlhocmdjnel (Pbrt.Decoder.nested d)) :: v.lcpkdabedpe;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bjngkchibgi), field(14)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bjngkchibgi), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_list = v.avatar_list;
    lcpkdabedpe = v.lcpkdabedpe;
    dcpoeimegli = v.dcpoeimegli;
  } : bjngkchibgi)

let rec decode_pb_flaecklplkf d =
  let v = default_flaecklplkf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.ocdbilliofd <- Some (decode_pb_ddlbgkgfefc (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(flaecklplkf), field(5)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(flaecklplkf), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ocdbilliofd = v.ocdbilliofd;
    retcode = v.retcode;
  } : flaecklplkf)

let rec decode_pb_aliciecaofg d =
  let v = default_aliciecaofg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aliciecaofg), field(1)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.hdonjgpeieg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aliciecaofg), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dcpoeimegli = v.dcpoeimegli;
    hdonjgpeieg = v.hdonjgpeieg;
  } : aliciecaofg)

let rec decode_pb_lmonebbpblj d =
  let v = default_lmonebbpblj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.ocdbilliofd <- Some (decode_pb_ddlbgkgfefc (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmonebbpblj), field(14)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmonebbpblj), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ocdbilliofd = v.ocdbilliofd;
    retcode = v.retcode;
  } : lmonebbpblj)

let rec decode_pb_geebeknbjna d =
  let v = default_geebeknbjna_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.lcpkdabedpe <- List.rev v.lcpkdabedpe;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(geebeknbjna), field(1)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.lcpkdabedpe <- (decode_pb_mlhocmdjnel (Pbrt.Decoder.nested d)) :: v.lcpkdabedpe;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(geebeknbjna), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dcpoeimegli = v.dcpoeimegli;
    lcpkdabedpe = v.lcpkdabedpe;
  } : geebeknbjna)

let rec decode_pb_ekdglijkhoo d =
  let v = default_ekdglijkhoo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.ocdbilliofd <- Some (decode_pb_ddlbgkgfefc (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ekdglijkhoo), field(9)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ekdglijkhoo), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ocdbilliofd = v.ocdbilliofd;
    retcode = v.retcode;
  } : ekdglijkhoo)

let rec decode_pb_flchghojicb d =
  let v = default_flchghojicb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.hehoaaidbbn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(flchghojicb), field(10)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(flchghojicb), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hehoaaidbbn = v.hehoaaidbbn;
    dcpoeimegli = v.dcpoeimegli;
  } : flchghojicb)

let rec decode_pb_fookkgeekfb d =
  let v = default_fookkgeekfb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fookkgeekfb), field(1)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.ocdbilliofd <- Some (decode_pb_ddlbgkgfefc (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fookkgeekfb), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ocdbilliofd = v.ocdbilliofd;
  } : fookkgeekfb)

let rec decode_pb_abdgefcecmn d =
  let v = default_abdgefcecmn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(abdgefcecmn), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dcpoeimegli = v.dcpoeimegli;
  } : abdgefcecmn)

let rec decode_pb_impmdpaofpk d =
  let v = default_impmdpaofpk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(impmdpaofpk), field(11)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(impmdpaofpk), field(8)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(impmdpaofpk), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dcpoeimegli = v.dcpoeimegli;
    retcode = v.retcode;
    ibllilenejp = v.ibllilenejp;
  } : impmdpaofpk)

let rec decode_pb_beldnodphni d =
  let v = default_beldnodphni_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(beldnodphni), field(3)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.piofaglkghg <- Pbrt.Decoder.bool d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(beldnodphni), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dcpoeimegli = v.dcpoeimegli;
    piofaglkghg = v.piofaglkghg;
  } : beldnodphni)

let rec decode_pb_ahbkhblnhib d =
  let v = default_ahbkhblnhib_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.ocdbilliofd <- Some (decode_pb_ddlbgkgfefc (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ahbkhblnhib), field(14)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ahbkhblnhib), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ocdbilliofd = v.ocdbilliofd;
    retcode = v.retcode;
  } : ahbkhblnhib)

let rec decode_pb_fklbhjaoomk d =
  let v = default_fklbhjaoomk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fklbhjaoomk), field(9)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.mmnebfbnoni <- Pbrt.Decoder.bool d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fklbhjaoomk), field(12)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.dejlogoemeb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fklbhjaoomk), field(11)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fklbhjaoomk), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    reward = v.reward;
    mmnebfbnoni = v.mmnebfbnoni;
    dejlogoemeb = v.dejlogoemeb;
    dcpoeimegli = v.dcpoeimegli;
  } : fklbhjaoomk)

let rec decode_pb_bcklddogipb d =
  let v = default_bcklddogipb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.ocdbilliofd <- Some (decode_pb_ddlbgkgfefc (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bcklddogipb), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ocdbilliofd = v.ocdbilliofd;
  } : bcklddogipb)

let rec decode_pb_jhhclhiagji d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_challenge_type_none:jhhclhiagji)
  | 1754 -> (Cmd_challenge_lineup_notify:jhhclhiagji)
  | 1733 -> (Cmd_get_cur_challenge_cs_req:jhhclhiagji)
  | 1798 -> (Cmd_get_challenge_group_statistics_sc_rsp:jhhclhiagji)
  | 1743 -> (Cmd_start_challenge_sc_rsp:jhhclhiagji)
  | 1739 -> (Cmd_challenge_settle_notify:jhhclhiagji)
  | 1725 -> (Cmd_start_partial_challenge_cs_req:jhhclhiagji)
  | 1711 -> (Cmd_start_challenge_cs_req:jhhclhiagji)
  | 1706 -> (Cmd_get_challenge_sc_rsp:jhhclhiagji)
  | 1708 -> (Cmd_get_challenge_recommend_lineup_list_cs_req:jhhclhiagji)
  | 1799 -> (Cmd_get_cur_challenge_sc_rsp:jhhclhiagji)
  | 1790 -> (Cmd_restart_challenge_phase_sc_rsp:jhhclhiagji)
  | 1797 -> (Cmd_get_challenge_group_statistics_cs_req:jhhclhiagji)
  | 1728 -> (Cmd_enter_challenge_next_phase_cs_req:jhhclhiagji)
  | 1734 -> (Cmd_take_challenge_reward_sc_rsp:jhhclhiagji)
  | 1792 -> (Cmd_restart_challenge_phase_cs_req:jhhclhiagji)
  | 1788 -> (Cmd_challenge_boss_phase_settle_notify:jhhclhiagji)
  | 1709 -> (Cmd_enter_challenge_next_phase_sc_rsp:jhhclhiagji)
  | 1782 -> (Cmd_take_challenge_reward_cs_req:jhhclhiagji)
  | 1793 -> (Cmd_leave_challenge_sc_rsp:jhhclhiagji)
  | 1768 -> (Cmd_get_challenge_cs_req:jhhclhiagji)
  | 1756 -> (Cmd_leave_challenge_cs_req:jhhclhiagji)
  | 1781 -> (Cmd_get_challenge_recommend_lineup_list_sc_rsp:jhhclhiagji)
  | 1724 -> (Cmd_start_partial_challenge_sc_rsp:jhhclhiagji)
  | _ -> Pbrt.Decoder.malformed_variant "jhhclhiagji"

let rec decode_pb_lhnmnaphkdg d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Challenge_unknown:lhnmnaphkdg)
  | 1 -> (Challenge_doing:lhnmnaphkdg)
  | 2 -> (Challenge_finish:lhnmnaphkdg)
  | 3 -> (Challenge_failed:lhnmnaphkdg)
  | _ -> Pbrt.Decoder.malformed_variant "lhnmnaphkdg"

let rec decode_pb_bfkejoedman d =
  let v = default_bfkejoedman_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.pkkfndimmio <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bfkejoedman), field(3)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.gakmanenkmh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bfkejoedman), field(14)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.mmnebfbnoni <- Pbrt.Decoder.bool d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bfkejoedman), field(12)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.lkipegajnfo <- Pbrt.Decoder.bool d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bfkejoedman), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pkkfndimmio = v.pkkfndimmio;
    gakmanenkmh = v.gakmanenkmh;
    mmnebfbnoni = v.mmnebfbnoni;
    lkipegajnfo = v.lkipegajnfo;
  } : bfkejoedman)

let rec decode_pb_gohiddnlhbd d =
  let v = default_gohiddnlhbd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.hechfpdiado <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gohiddnlhbd), field(1)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gohiddnlhbd), field(8)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.rank <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gohiddnlhbd), field(7)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.unique_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gohiddnlhbd), field(9)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.promotion <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gohiddnlhbd), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hechfpdiado = v.hechfpdiado;
    level = v.level;
    rank = v.rank;
    unique_id = v.unique_id;
    promotion = v.promotion;
  } : gohiddnlhbd)

let rec decode_pb_jkbkidbcjnc d =
  let v = default_jkbkidbcjnc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.sub_affix_list <- List.rev v.sub_affix_list;
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jkbkidbcjnc), field(4)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.sub_affix_list <- (decode_pb_relic_affix (Pbrt.Decoder.nested d)) :: v.sub_affix_list;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jkbkidbcjnc), field(7)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.unique_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jkbkidbcjnc), field(6)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.main_affix_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jkbkidbcjnc), field(5)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.hechfpdiado <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jkbkidbcjnc), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    level = v.level;
    sub_affix_list = v.sub_affix_list;
    unique_id = v.unique_id;
    main_affix_id = v.main_affix_id;
    hechfpdiado = v.hechfpdiado;
  } : jkbkidbcjnc)

let rec decode_pb_ncjlkljhjcf d =
  let v = default_ncjlkljhjcf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mcabmcmjjeh <- List.rev v.mcabmcmjjeh;
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        decode_pb_jkbkidbcjnc (Pbrt.Decoder.nested d)
      ) in
      v.mcabmcmjjeh <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.mcabmcmjjeh;
      );
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ncjlkljhjcf), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mcabmcmjjeh = v.mcabmcmjjeh;
  } : ncjlkljhjcf)

let rec decode_pb_pofampodbff d =
  let v = default_pofampodbff_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bddkedmgijc <- List.rev v.bddkedmgijc;
      v.fkieaedpfgi <- List.rev v.fkieaedpfgi;
      v.nidhakjenjj <- List.rev v.nidhakjenjj;
      v.pkadbaodmol <- List.rev v.pkadbaodmol;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.ifpgckbegmc <- Some (decode_pb_bfkejoedman (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pofampodbff), field(1)" pk
    | Some (6, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        decode_pb_gohiddnlhbd (Pbrt.Decoder.nested d)
      ) in
      v.pkadbaodmol <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.pkadbaodmol;
      );
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pofampodbff), field(6)" pk
    | Some (11, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        decode_pb_ncjlkljhjcf (Pbrt.Decoder.nested d)
      ) in
      v.nidhakjenjj <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.nidhakjenjj;
      );
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pofampodbff), field(11)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.fkieaedpfgi <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pofampodbff), field(3)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.clmoamecein <- Some (decode_pb_bfkejoedman (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pofampodbff), field(15)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.docbgbkpbgk <- Pbrt.Decoder.bool d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pofampodbff), field(13)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.bddkedmgijc <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pofampodbff), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ifpgckbegmc = v.ifpgckbegmc;
    pkadbaodmol = v.pkadbaodmol;
    nidhakjenjj = v.nidhakjenjj;
    fkieaedpfgi = v.fkieaedpfgi;
    clmoamecein = v.clmoamecein;
    docbgbkpbgk = v.docbgbkpbgk;
    bddkedmgijc = v.bddkedmgijc;
  } : pofampodbff)

let rec decode_pb_odmpfgdalba d =
  let v = default_odmpfgdalba_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.mbknfpcaghc <- Some (decode_pb_pofampodbff (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(odmpfgdalba), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mbknfpcaghc = v.mbknfpcaghc;
  } : odmpfgdalba)

let rec decode_pb_aelfdiclnkj d =
  let v = default_aelfdiclnkj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.oohfncljbab <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aelfdiclnkj), field(9)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.pamafmppefi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aelfdiclnkj), field(1)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.acjjpgnpdii <- Pbrt.Decoder.bool d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aelfdiclnkj), field(3)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.lpgaoolbbfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aelfdiclnkj), field(7)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aelfdiclnkj), field(10)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.hgmihaljjfa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aelfdiclnkj), field(2)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.akfdaaaiich <- Some (decode_pb_odmpfgdalba (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aelfdiclnkj), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.nnbeodpchid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aelfdiclnkj), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    oohfncljbab = v.oohfncljbab;
    pamafmppefi = v.pamafmppefi;
    acjjpgnpdii = v.acjjpgnpdii;
    lpgaoolbbfm = v.lpgaoolbbfm;
    dcpoeimegli = v.dcpoeimegli;
    hgmihaljjfa = v.hgmihaljjfa;
    akfdaaaiich = v.akfdaaaiich;
    nnbeodpchid = v.nnbeodpchid;
  } : aelfdiclnkj)

let rec decode_pb_gbobcmidndl d =
  let v = default_gbobcmidndl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.bcoonaoafoo <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gbobcmidndl), field(3)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gbobcmidndl), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bcoonaoafoo = v.bcoonaoafoo;
    group_id = v.group_id;
  } : gbobcmidndl)

let rec decode_pb_dmdfdiamoak d =
  let v = default_dmdfdiamoak_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dmdfdiamoak), field(13)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.jplhmpiafoe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dmdfdiamoak), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    level = v.level;
    jplhmpiafoe = v.jplhmpiafoe;
  } : dmdfdiamoak)

let rec decode_pb_kmkeciemdah d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(kmkeciemdah)" pk

let rec decode_pb_oafififjgec d =
  let v = default_oafififjgec_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bpmldkchbeg <- List.rev v.bpmldkchbeg;
      v.cjbdijhedpo <- List.rev v.cjbdijhedpo;
      v.kembjappmba <- List.rev v.kembjappmba;
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oafififjgec), field(10)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.fgoeihnocab <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oafififjgec), field(12)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.kembjappmba <- (decode_pb_dmdfdiamoak (Pbrt.Decoder.nested d)) :: v.kembjappmba;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oafififjgec), field(2)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.cjbdijhedpo <- (decode_pb_aelfdiclnkj (Pbrt.Decoder.nested d)) :: v.cjbdijhedpo;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oafififjgec), field(1)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.bpmldkchbeg <- (decode_pb_gbobcmidndl (Pbrt.Decoder.nested d)) :: v.bpmldkchbeg;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oafififjgec), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    fgoeihnocab = v.fgoeihnocab;
    kembjappmba = v.kembjappmba;
    cjbdijhedpo = v.cjbdijhedpo;
    bpmldkchbeg = v.bpmldkchbeg;
  } : oafififjgec)

let rec decode_pb_ohfljdcpecn d =
  let v = default_ohfljdcpecn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.ifckabbiilb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ohfljdcpecn), field(13)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.bopehbonhll <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ohfljdcpecn), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ifckabbiilb = v.ifckabbiilb;
    bopehbonhll = v.bopehbonhll;
  } : ohfljdcpecn)

let rec decode_pb_oaflmpicpnm d =
  let v = default_oaflmpicpnm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.ifckabbiilb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oaflmpicpnm), field(3)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.bopehbonhll <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oaflmpicpnm), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ifckabbiilb = v.ifckabbiilb;
    bopehbonhll = v.bopehbonhll;
  } : oaflmpicpnm)

let rec decode_pb_bhoiohjgali d =
  let v = default_bhoiohjgali_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.ekglbfofkkd <- Some (decode_pb_ohfljdcpecn (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bhoiohjgali), field(7)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.mbknfpcaghc <- Some (decode_pb_oaflmpicpnm (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bhoiohjgali), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ekglbfofkkd = v.ekglbfofkkd;
    mbknfpcaghc = v.mbknfpcaghc;
  } : bhoiohjgali)

let rec decode_pb_fmeoceelold d =
  let v = default_fmeoceelold_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.fkieaedpfgi <- List.rev v.fkieaedpfgi;
      v.bddkedmgijc <- List.rev v.bddkedmgijc;
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmeoceelold), field(12)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.bddkedmgijc <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmeoceelold), field(14)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.fkieaedpfgi <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmeoceelold), field(6)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.akfdaaaiich <- Some (decode_pb_bhoiohjgali (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmeoceelold), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dcpoeimegli = v.dcpoeimegli;
    bddkedmgijc = v.bddkedmgijc;
    fkieaedpfgi = v.fkieaedpfgi;
    akfdaaaiich = v.akfdaaaiich;
  } : fmeoceelold)

let rec decode_pb_dpefjfdabmm d =
  let v = default_dpefjfdabmm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.emkljnkkgmg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dpefjfdabmm), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.monster_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dpefjfdabmm), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    emkljnkkgmg = v.emkljnkkgmg;
    monster_id = v.monster_id;
  } : dpefjfdabmm)

let rec decode_pb_extra_lineup_type d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Lineup_none:extra_lineup_type)
  | 1 -> (Lineup_challenge:extra_lineup_type)
  | 2 -> (Lineup_rogue:extra_lineup_type)
  | 3 -> (Lineup_challenge_2:extra_lineup_type)
  | 4 -> (Lineup_challenge_3:extra_lineup_type)
  | 5 -> (Lineup_rogue_challenge:extra_lineup_type)
  | 6 -> (Lineup_stage_trial:extra_lineup_type)
  | 7 -> (Lineup_rogue_trial:extra_lineup_type)
  | 8 -> (Lineup_activity:extra_lineup_type)
  | 9 -> (Lineup_boxing_club:extra_lineup_type)
  | 11 -> (Lineup_treasure_dungeon:extra_lineup_type)
  | 12 -> (Lineup_chess_rogue:extra_lineup_type)
  | 13 -> (Lineup_heliobus:extra_lineup_type)
  | 14 -> (Lineup_tourn_rogue:extra_lineup_type)
  | 15 -> (Lineup_relic_rogue:extra_lineup_type)
  | 16 -> (Lineup_arcade_rogue:extra_lineup_type)
  | _ -> Pbrt.Decoder.malformed_variant "extra_lineup_type"

let rec decode_pb_pmipieeojnc d =
  let v = default_pmipieeojnc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.buff_list <- List.rev v.buff_list;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.buff_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pmipieeojnc), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    buff_list = v.buff_list;
  } : pmipieeojnc)

let rec decode_pb_lcmlopfaobm d =
  let v = default_lcmlopfaobm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.buff_list <- List.rev v.buff_list;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.buff_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lcmlopfaobm), field(10)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.jjnilbbbmac <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lcmlopfaobm), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    buff_list = v.buff_list;
    jjnilbbbmac = v.jjnilbbbmac;
  } : lcmlopfaobm)

let rec decode_pb_bjfmbfoaelh d =
  let v = default_bjfmbfoaelh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.hnekacjplga <- Some (decode_pb_pmipieeojnc (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bjfmbfoaelh), field(9)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.bhfcjdajfke <- Some (decode_pb_lcmlopfaobm (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bjfmbfoaelh), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hnekacjplga = v.hnekacjplga;
    bhfcjdajfke = v.bhfcjdajfke;
  } : bjfmbfoaelh)

let rec decode_pb_acdfcngdkhe d =
  let v = default_acdfcngdkhe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.gbgamckgokf <- List.rev v.gbgamckgokf;
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.oohfncljbab <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(acdfcngdkhe), field(5)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.gbgamckgokf <- (decode_pb_dpefjfdabmm (Pbrt.Decoder.nested d)) :: v.gbgamckgokf;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(acdfcngdkhe), field(10)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.lpgaoolbbfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(acdfcngdkhe), field(14)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.extra_lineup_type <- decode_pb_extra_lineup_type d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(acdfcngdkhe), field(11)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(acdfcngdkhe), field(4)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.akfdaaaiich <- Some (decode_pb_bjfmbfoaelh (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(acdfcngdkhe), field(7)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.lfjefbdikln <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(acdfcngdkhe), field(13)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.fphjhbmlogm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(acdfcngdkhe), field(6)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.status <- decode_pb_lhnmnaphkdg d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(acdfcngdkhe), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    oohfncljbab = v.oohfncljbab;
    gbgamckgokf = v.gbgamckgokf;
    lpgaoolbbfm = v.lpgaoolbbfm;
    extra_lineup_type = v.extra_lineup_type;
    dcpoeimegli = v.dcpoeimegli;
    akfdaaaiich = v.akfdaaaiich;
    lfjefbdikln = v.lfjefbdikln;
    fphjhbmlogm = v.fphjhbmlogm;
    status = v.status;
  } : acdfcngdkhe)

let rec decode_pb_lineup_avatar d =
  let v = default_lineup_avatar_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.hp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lineup_avatar), field(6)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.satiety <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lineup_avatar), field(15)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.slot <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lineup_avatar), field(5)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lineup_avatar), field(1)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.sp <- Some (decode_pb_sp_progress (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lineup_avatar), field(14)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lineup_avatar), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hp = v.hp;
    satiety = v.satiety;
    slot = v.slot;
    avatar_type = v.avatar_type;
    sp = v.sp;
    id = v.id;
  } : lineup_avatar)

let rec decode_pb_lineup_info d =
  let v = default_lineup_info_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.dfkpgckchah <- List.rev v.dfkpgckchah;
      v.nlkmjkfhebm <- List.rev v.nlkmjkfhebm;
      v.lofekgfcmlc <- List.rev v.lofekgfcmlc;
      v.avatar_list <- List.rev v.avatar_list;
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.njfmkhpamdl <- Pbrt.Decoder.bool d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lineup_info), field(12)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.avatar_list <- (decode_pb_lineup_avatar (Pbrt.Decoder.nested d)) :: v.avatar_list;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lineup_info), field(2)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.lofekgfcmlc <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lineup_info), field(11)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.ijnpccndcgi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lineup_info), field(9)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.index <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lineup_info), field(3)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.is_virtual <- Pbrt.Decoder.bool d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lineup_info), field(15)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.hcoemhcfomn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lineup_info), field(6)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.name <- Pbrt.Decoder.string d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lineup_info), field(14)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.extra_lineup_type <- decode_pb_extra_lineup_type d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lineup_info), field(7)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.plane_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lineup_info), field(10)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.nlkmjkfhebm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lineup_info), field(5)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.kclnaimofdl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lineup_info), field(13)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.dfkpgckchah <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lineup_info), field(1)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.oppienknmfb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lineup_info), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    njfmkhpamdl = v.njfmkhpamdl;
    avatar_list = v.avatar_list;
    lofekgfcmlc = v.lofekgfcmlc;
    ijnpccndcgi = v.ijnpccndcgi;
    index = v.index;
    is_virtual = v.is_virtual;
    hcoemhcfomn = v.hcoemhcfomn;
    name = v.name;
    extra_lineup_type = v.extra_lineup_type;
    plane_id = v.plane_id;
    nlkmjkfhebm = v.nlkmjkfhebm;
    kclnaimofdl = v.kclnaimofdl;
    dfkpgckchah = v.dfkpgckchah;
    oppienknmfb = v.oppienknmfb;
  } : lineup_info)

let rec decode_pb_maobdckbobc d =
  let v = default_maobdckbobc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.kbognlnlcle <- List.rev v.kbognlnlcle;
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.ggjjigjjodm <- Some (decode_pb_acdfcngdkhe (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(maobdckbobc), field(8)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(maobdckbobc), field(6)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.kbognlnlcle <- (decode_pb_lineup_info (Pbrt.Decoder.nested d)) :: v.kbognlnlcle;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(maobdckbobc), field(10)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.scene <- Some (decode_pb_scene_info (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(maobdckbobc), field(15)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.akfdaaaiich <- Some (decode_pb_odmpfgdalba (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(maobdckbobc), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ggjjigjjodm = v.ggjjigjjodm;
    retcode = v.retcode;
    kbognlnlcle = v.kbognlnlcle;
    scene = v.scene;
    akfdaaaiich = v.akfdaaaiich;
  } : maobdckbobc)

let rec decode_pb_hacocboddac d =
  let v = default_hacocboddac_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.pkkfndimmio <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hacocboddac), field(12)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hacocboddac), field(10)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.ffobdiljlbp <- Pbrt.Decoder.bool d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hacocboddac), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pkkfndimmio = v.pkkfndimmio;
    dcpoeimegli = v.dcpoeimegli;
    ffobdiljlbp = v.ffobdiljlbp;
  } : hacocboddac)

let rec decode_pb_jjeeompliao d =
  let v = default_jjeeompliao_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.lineup <- Some (decode_pb_lineup_info (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jjeeompliao), field(5)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.scene <- Some (decode_pb_scene_info (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jjeeompliao), field(6)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jjeeompliao), field(8)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.ggjjigjjodm <- Some (decode_pb_acdfcngdkhe (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jjeeompliao), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lineup = v.lineup;
    scene = v.scene;
    retcode = v.retcode;
    ggjjigjjodm = v.ggjjigjjodm;
  } : jjeeompliao)

let rec decode_pb_pfiiknkcjmf d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(pfiiknkcjmf)" pk

let rec decode_pb_hiajnnddmdd d =
  let v = default_hiajnnddmdd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hiajnnddmdd), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : hiajnnddmdd)

let rec decode_pb_ldlkkfajcdc d =
  let v = default_ldlkkfajcdc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mlafjaohnmf <- List.rev v.mlafjaohnmf;
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.fgoeihnocab <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldlkkfajcdc), field(7)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.oohfncljbab <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldlkkfajcdc), field(12)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldlkkfajcdc), field(10)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.pamafmppefi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldlkkfajcdc), field(14)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldlkkfajcdc), field(5)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.mmnebfbnoni <- Pbrt.Decoder.bool d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldlkkfajcdc), field(4)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.mlafjaohnmf <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldlkkfajcdc), field(6)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.oadpmnmpcjl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldlkkfajcdc), field(1)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.nfkimondhio <- Some (decode_pb_dmdfdiamoak (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldlkkfajcdc), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fgoeihnocab = v.fgoeihnocab;
    oohfncljbab = v.oohfncljbab;
    reward = v.reward;
    pamafmppefi = v.pamafmppefi;
    dcpoeimegli = v.dcpoeimegli;
    mmnebfbnoni = v.mmnebfbnoni;
    mlafjaohnmf = v.mlafjaohnmf;
    oadpmnmpcjl = v.oadpmnmpcjl;
    nfkimondhio = v.nfkimondhio;
  } : ldlkkfajcdc)

let rec decode_pb_iblcoiiaigc d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(iblcoiiaigc)" pk

let rec decode_pb_coiegofghdn d =
  let v = default_coiegofghdn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.kbognlnlcle <- List.rev v.kbognlnlcle;
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.ggjjigjjodm <- Some (decode_pb_acdfcngdkhe (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(coiegofghdn), field(3)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.kbognlnlcle <- (decode_pb_lineup_info (Pbrt.Decoder.nested d)) :: v.kbognlnlcle;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(coiegofghdn), field(4)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(coiegofghdn), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ggjjigjjodm = v.ggjjigjjodm;
    kbognlnlcle = v.kbognlnlcle;
    retcode = v.retcode;
  } : coiegofghdn)

let rec decode_pb_lnagiibkhlh d =
  let v = default_lnagiibkhlh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.extra_lineup_type <- decode_pb_extra_lineup_type d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lnagiibkhlh), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    extra_lineup_type = v.extra_lineup_type;
  } : lnagiibkhlh)

let rec decode_pb_hibdmpkciin d =
  let v = default_hibdmpkciin_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hibdmpkciin), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    group_id = v.group_id;
  } : hibdmpkciin)

let rec decode_pb_pahjkfkgbop d =
  let v = default_pahjkfkgbop_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pahjkfkgbop), field(2)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.dhlffjdmbig <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pahjkfkgbop), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    reward = v.reward;
    dhlffjdmbig = v.dhlffjdmbig;
  } : pahjkfkgbop)

let rec decode_pb_lpjbamecahp d =
  let v = default_lpjbamecahp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bodjegpjphj <- List.rev v.bodjegpjphj;
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.bodjegpjphj <- (decode_pb_pahjkfkgbop (Pbrt.Decoder.nested d)) :: v.bodjegpjphj;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lpjbamecahp), field(5)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lpjbamecahp), field(11)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lpjbamecahp), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bodjegpjphj = v.bodjegpjphj;
    retcode = v.retcode;
    group_id = v.group_id;
  } : lpjbamecahp)

let rec decode_pb_ehbjmdabinj d =
  let v = default_ehbjmdabinj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ehbjmdabinj), field(15)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ehbjmdabinj), field(3)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ehbjmdabinj), field(7)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.index <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ehbjmdabinj), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_type = v.avatar_type;
    level = v.level;
    id = v.id;
    index = v.index;
  } : ehbjmdabinj)

let rec decode_pb_mdhdfopebgl d =
  let v = default_mdhdfopebgl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_list <- List.rev v.avatar_list;
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.avatar_list <- (decode_pb_ehbjmdabinj (Pbrt.Decoder.nested d)) :: v.avatar_list;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mdhdfopebgl), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_list = v.avatar_list;
  } : mdhdfopebgl)

let rec decode_pb_npmodmpagii d =
  let v = default_npmodmpagii_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.kbognlnlcle <- List.rev v.kbognlnlcle;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.kbognlnlcle <- (decode_pb_mdhdfopebgl (Pbrt.Decoder.nested d)) :: v.kbognlnlcle;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(npmodmpagii), field(12)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(npmodmpagii), field(1)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.lfjefbdikln <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(npmodmpagii), field(4)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.knbgpmdmbkc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(npmodmpagii), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kbognlnlcle = v.kbognlnlcle;
    level = v.level;
    lfjefbdikln = v.lfjefbdikln;
    knbgpmdmbkc = v.knbgpmdmbkc;
  } : npmodmpagii)

let rec decode_pb_khjddbffahk d =
  let v = default_khjddbffahk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.hgmihaljjfa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(khjddbffahk), field(3)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.pijailpolmf <- Some (decode_pb_npmodmpagii (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(khjddbffahk), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgmihaljjfa = v.hgmihaljjfa;
    pijailpolmf = v.pijailpolmf;
  } : khjddbffahk)

let rec decode_pb_nhecleammpi d =
  let v = default_nhecleammpi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.kbognlnlcle <- List.rev v.kbognlnlcle;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.kbognlnlcle <- (decode_pb_mdhdfopebgl (Pbrt.Decoder.nested d)) :: v.kbognlnlcle;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhecleammpi), field(10)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhecleammpi), field(11)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.knbgpmdmbkc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhecleammpi), field(5)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.lpgaoolbbfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhecleammpi), field(4)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.ifckabbiilb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhecleammpi), field(12)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.bopehbonhll <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhecleammpi), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kbognlnlcle = v.kbognlnlcle;
    level = v.level;
    knbgpmdmbkc = v.knbgpmdmbkc;
    lpgaoolbbfm = v.lpgaoolbbfm;
    ifckabbiilb = v.ifckabbiilb;
    bopehbonhll = v.bopehbonhll;
  } : nhecleammpi)

let rec decode_pb_imiaeepmcje d =
  let v = default_imiaeepmcje_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.pijailpolmf <- Some (decode_pb_nhecleammpi (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(imiaeepmcje), field(4)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.hgmihaljjfa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(imiaeepmcje), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pijailpolmf = v.pijailpolmf;
    hgmihaljjfa = v.hgmihaljjfa;
  } : imiaeepmcje)

let rec decode_pb_adfmfjbomfm d =
  let v = default_adfmfjbomfm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.kbognlnlcle <- List.rev v.kbognlnlcle;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.knbgpmdmbkc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adfmfjbomfm), field(1)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.kbognlnlcle <- (decode_pb_mdhdfopebgl (Pbrt.Decoder.nested d)) :: v.kbognlnlcle;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adfmfjbomfm), field(9)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.bopehbonhll <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adfmfjbomfm), field(13)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adfmfjbomfm), field(5)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.lpgaoolbbfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adfmfjbomfm), field(8)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.ifckabbiilb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adfmfjbomfm), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    knbgpmdmbkc = v.knbgpmdmbkc;
    kbognlnlcle = v.kbognlnlcle;
    bopehbonhll = v.bopehbonhll;
    level = v.level;
    lpgaoolbbfm = v.lpgaoolbbfm;
    ifckabbiilb = v.ifckabbiilb;
  } : adfmfjbomfm)

let rec decode_pb_cinndmfnbij d =
  let v = default_cinndmfnbij_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.pijailpolmf <- Some (decode_pb_adfmfjbomfm (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cinndmfnbij), field(7)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.hgmihaljjfa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cinndmfnbij), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pijailpolmf = v.pijailpolmf;
    hgmihaljjfa = v.hgmihaljjfa;
  } : cinndmfnbij)

let rec decode_pb_mjpadlbjdhm d =
  let v = default_mjpadlbjdhm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjpadlbjdhm), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    group_id = v.group_id;
  } : mjpadlbjdhm)

let rec decode_pb_jilinnlgcoe d =
  let v = default_jilinnlgcoe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jilinnlgcoe), field(15)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jilinnlgcoe), field(10)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.icoibnhjhec <- Some (decode_pb_khjddbffahk (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jilinnlgcoe), field(4)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.ckbeijmmbjp <- Some (decode_pb_imiaeepmcje (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jilinnlgcoe), field(7)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.idcpcalknen <- Some (decode_pb_cinndmfnbij (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jilinnlgcoe), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    group_id = v.group_id;
    retcode = v.retcode;
    icoibnhjhec = v.icoibnhjhec;
    ckbeijmmbjp = v.ckbeijmmbjp;
    idcpcalknen = v.idcpcalknen;
  } : jilinnlgcoe)

let rec decode_pb_agacnfgjjhm d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(agacnfgjjhm)" pk

let rec decode_pb_gcpmkpfgiid d =
  let v = default_gcpmkpfgiid_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gcpmkpfgiid), field(3)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.scene <- Some (decode_pb_scene_info (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gcpmkpfgiid), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    scene = v.scene;
  } : gcpmkpfgiid)

let rec decode_pb_akiopjcikpi d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(akiopjcikpi)" pk

let rec decode_pb_oabnlkaifkd d =
  let v = default_oabnlkaifkd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.scene <- Some (decode_pb_scene_info (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oabnlkaifkd), field(1)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oabnlkaifkd), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    scene = v.scene;
    retcode = v.retcode;
  } : oabnlkaifkd)

let rec decode_pb_dodphlphodk d =
  let v = default_dodphlphodk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.eifkjpfgipi <- List.rev v.eifkjpfgipi;
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dodphlphodk), field(13)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.oohfncljbab <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dodphlphodk), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.oadpmnmpcjl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dodphlphodk), field(3)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.pbiaoddhipc <- Pbrt.Decoder.bool d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dodphlphodk), field(6)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.eifkjpfgipi <- (decode_pb_battle_target (Pbrt.Decoder.nested d)) :: v.eifkjpfgipi;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dodphlphodk), field(1)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.djemibiamha <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dodphlphodk), field(12)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.mmnebfbnoni <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dodphlphodk), field(11)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.bjihmliecnf <- Pbrt.Decoder.bool d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dodphlphodk), field(7)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.pamafmppefi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dodphlphodk), field(4)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.oilhgpfbeel <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dodphlphodk), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dcpoeimegli = v.dcpoeimegli;
    oohfncljbab = v.oohfncljbab;
    oadpmnmpcjl = v.oadpmnmpcjl;
    pbiaoddhipc = v.pbiaoddhipc;
    eifkjpfgipi = v.eifkjpfgipi;
    djemibiamha = v.djemibiamha;
    mmnebfbnoni = v.mmnebfbnoni;
    bjihmliecnf = v.bjihmliecnf;
    pamafmppefi = v.pamafmppefi;
    oilhgpfbeel = v.oilhgpfbeel;
  } : dodphlphodk)

let rec decode_pb_oojihblbeip d =
  let v = default_oojihblbeip_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oojihblbeip), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dcpoeimegli = v.dcpoeimegli;
  } : oojihblbeip)

let rec decode_pb_gcobllmhael d =
  let v = default_gcobllmhael_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.fkieaedpfgi <- List.rev v.fkieaedpfgi;
      v.bddkedmgijc <- List.rev v.bddkedmgijc;
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.pmdhhigakcp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gcobllmhael), field(6)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.kmfboahjjhd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gcobllmhael), field(3)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.bddkedmgijc <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gcobllmhael), field(5)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.fkieaedpfgi <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gcobllmhael), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pmdhhigakcp = v.pmdhhigakcp;
    kmfboahjjhd = v.kmfboahjjhd;
    bddkedmgijc = v.bddkedmgijc;
    fkieaedpfgi = v.fkieaedpfgi;
  } : gcobllmhael)

let rec decode_pb_mfkcgfoomed d =
  let v = default_mfkcgfoomed_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bdjmhpbiaag <- List.rev v.bdjmhpbiaag;
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mfkcgfoomed), field(2)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mfkcgfoomed), field(7)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.bdjmhpbiaag <- (decode_pb_gcobllmhael (Pbrt.Decoder.nested d)) :: v.bdjmhpbiaag;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mfkcgfoomed), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dcpoeimegli = v.dcpoeimegli;
    retcode = v.retcode;
    bdjmhpbiaag = v.bdjmhpbiaag;
  } : mfkcgfoomed)

let rec decode_pb_bikadnacapb d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_chat_type_none:bikadnacapb)
  | 3929 -> (Cmd_get_chat_friend_history_sc_rsp:bikadnacapb)
  | 3939 -> (Cmd_get_chat_friend_history_cs_req:bikadnacapb)
  | 3906 -> (Cmd_send_msg_sc_rsp:bikadnacapb)
  | 3951 -> (Cmd_get_chat_emoji_list_cs_req:bikadnacapb)
  | 3968 -> (Cmd_send_msg_cs_req:bikadnacapb)
  | 3943 -> (Cmd_private_msg_offline_users_sc_notify:bikadnacapb)
  | 3934 -> (Cmd_get_login_chat_info_sc_rsp:bikadnacapb)
  | 3911 -> (Cmd_revc_msg_sc_notify:bikadnacapb)
  | 3933 -> (Cmd_get_chat_emoji_list_sc_rsp:bikadnacapb)
  | 3965 -> (Cmd_batch_mark_chat_emoji_cs_req:bikadnacapb)
  | 3999 -> (Cmd_mark_chat_emoji_cs_req:bikadnacapb)
  | 3954 -> (Cmd_mark_chat_emoji_sc_rsp:bikadnacapb)
  | 3982 -> (Cmd_get_login_chat_info_cs_req:bikadnacapb)
  | 3993 -> (Cmd_get_private_chat_history_sc_rsp:bikadnacapb)
  | 3956 -> (Cmd_get_private_chat_history_cs_req:bikadnacapb)
  | 3948 -> (Cmd_batch_mark_chat_emoji_sc_rsp:bikadnacapb)
  | _ -> Pbrt.Decoder.malformed_variant "bikadnacapb"

let rec decode_pb_ekllejeelfk d =
  let v = default_ekllejeelfk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.fblgpmnmbcc <- List.rev v.fblgpmnmbcc;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.lfpcmaihpbj <- decode_pb_chat_type d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ekllejeelfk), field(1)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.aelpgmailcn <- decode_pb_msg_type d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ekllejeelfk), field(3)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.fblgpmnmbcc <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ekllejeelfk), field(15)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.gpcnecedgof <- Some (decode_pb_kicjpjalbbh (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ekllejeelfk), field(11)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.jpacbjioomm <- Pbrt.Decoder.string d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ekllejeelfk), field(6)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.ampfhonjmcd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ekllejeelfk), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lfpcmaihpbj = v.lfpcmaihpbj;
    aelpgmailcn = v.aelpgmailcn;
    fblgpmnmbcc = v.fblgpmnmbcc;
    gpcnecedgof = v.gpcnecedgof;
    jpacbjioomm = v.jpacbjioomm;
    ampfhonjmcd = v.ampfhonjmcd;
  } : ekllejeelfk)

let rec decode_pb_nhcndpbdgef d =
  let v = default_nhcndpbdgef_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.end_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhcndpbdgef), field(5)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhcndpbdgef), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    end_time = v.end_time;
    retcode = v.retcode;
  } : nhcndpbdgef)

let rec decode_pb_fdolecgmpnp d =
  let v = default_fdolecgmpnp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.ehjdlppngmf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fdolecgmpnp), field(2)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.gpcnecedgof <- Some (decode_pb_kicjpjalbbh (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fdolecgmpnp), field(8)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.ekomgpknmnn <- Pbrt.Decoder.string d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fdolecgmpnp), field(11)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.fgilieldboi <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fdolecgmpnp), field(12)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.ampfhonjmcd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fdolecgmpnp), field(3)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.aelpgmailcn <- decode_pb_msg_type d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fdolecgmpnp), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ehjdlppngmf = v.ehjdlppngmf;
    gpcnecedgof = v.gpcnecedgof;
    ekomgpknmnn = v.ekomgpknmnn;
    fgilieldboi = v.fgilieldboi;
    ampfhonjmcd = v.ampfhonjmcd;
    aelpgmailcn = v.aelpgmailcn;
  } : fdolecgmpnp)

let rec decode_pb_ohiiebnlkpb d =
  let v = default_ohiiebnlkpb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.nlhlnacaplk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ohiiebnlkpb), field(9)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.jpacbjioomm <- Pbrt.Decoder.string d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ohiiebnlkpb), field(7)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.ampfhonjmcd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ohiiebnlkpb), field(11)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.aelpgmailcn <- decode_pb_msg_type d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ohiiebnlkpb), field(1)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.jlddmekleop <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ohiiebnlkpb), field(12)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.gpcnecedgof <- Some (decode_pb_kicjpjalbbh (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ohiiebnlkpb), field(14)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.lfpcmaihpbj <- decode_pb_chat_type d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ohiiebnlkpb), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nlhlnacaplk = v.nlhlnacaplk;
    jpacbjioomm = v.jpacbjioomm;
    ampfhonjmcd = v.ampfhonjmcd;
    aelpgmailcn = v.aelpgmailcn;
    jlddmekleop = v.jlddmekleop;
    gpcnecedgof = v.gpcnecedgof;
    lfpcmaihpbj = v.lfpcmaihpbj;
  } : ohiiebnlkpb)

let rec decode_pb_mbghgfnkini d =
  let v = default_mbghgfnkini_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.dbdnooapmlm <- List.rev v.dbdnooapmlm;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.dbdnooapmlm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mbghgfnkini), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dbdnooapmlm = v.dbdnooapmlm;
  } : mbghgfnkini)

let rec decode_pb_njgnkanbknc d =
  let v = default_njgnkanbknc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.hbnlpjhkkcj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njgnkanbknc), field(2)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.bmgnoinbocb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njgnkanbknc), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hbnlpjhkkcj = v.hbnlpjhkkcj;
    bmgnoinbocb = v.bmgnoinbocb;
  } : njgnkanbknc)

let rec decode_pb_okbaaoadhco d =
  let v = default_okbaaoadhco_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pbnkofcamlc <- List.rev v.pbnkofcamlc;
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.hbnlpjhkkcj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(okbaaoadhco), field(7)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(okbaaoadhco), field(15)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.bmgnoinbocb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(okbaaoadhco), field(3)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.pbnkofcamlc <- (decode_pb_fdolecgmpnp (Pbrt.Decoder.nested d)) :: v.pbnkofcamlc;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(okbaaoadhco), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hbnlpjhkkcj = v.hbnlpjhkkcj;
    retcode = v.retcode;
    bmgnoinbocb = v.bmgnoinbocb;
    pbnkofcamlc = v.pbnkofcamlc;
  } : okbaaoadhco)

let rec decode_pb_iogcdknhcgm d =
  let v = default_iogcdknhcgm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.hbnlpjhkkcj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iogcdknhcgm), field(9)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.bgmailkkaki <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iogcdknhcgm), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hbnlpjhkkcj = v.hbnlpjhkkcj;
    bgmailkkaki = v.bgmailkkaki;
  } : iogcdknhcgm)

let rec decode_pb_kinamnleoon d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(kinamnleoon)" pk

let rec decode_pb_ghdebmkbflc d =
  let v = default_ghdebmkbflc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.cbkidlkcjcc <- List.rev v.cbkidlkcjcc;
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ghdebmkbflc), field(7)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.cbkidlkcjcc <- (decode_pb_iogcdknhcgm (Pbrt.Decoder.nested d)) :: v.cbkidlkcjcc;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ghdebmkbflc), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    cbkidlkcjcc = v.cbkidlkcjcc;
  } : ghdebmkbflc)

let rec decode_pb_pfkfollpamf d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(pfkfollpamf)" pk

let rec decode_pb_modcpiakhbc d =
  let v = default_modcpiakhbc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.heeeklmagdp <- List.rev v.heeeklmagdp;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.heeeklmagdp <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(modcpiakhbc), field(13)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(modcpiakhbc), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    heeeklmagdp = v.heeeklmagdp;
    retcode = v.retcode;
  } : modcpiakhbc)

let rec decode_pb_baoekbknfkb d =
  let v = default_baoekbknfkb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.mkbgjbobhal <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(baoekbknfkb), field(10)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.ampfhonjmcd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(baoekbknfkb), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mkbgjbobhal = v.mkbgjbobhal;
    ampfhonjmcd = v.ampfhonjmcd;
  } : baoekbknfkb)

let rec decode_pb_gbjplhlkclc d =
  let v = default_gbjplhlkclc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.mkbgjbobhal <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gbjplhlkclc), field(2)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.ampfhonjmcd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gbjplhlkclc), field(14)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gbjplhlkclc), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mkbgjbobhal = v.mkbgjbobhal;
    ampfhonjmcd = v.ampfhonjmcd;
    retcode = v.retcode;
  } : gbjplhlkclc)

let rec decode_pb_bafalbdiboe d =
  let v = default_bafalbdiboe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.iilhhecoogb <- List.rev v.iilhhecoogb;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.iilhhecoogb <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bafalbdiboe), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    iilhhecoogb = v.iilhhecoogb;
  } : bafalbdiboe)

let rec decode_pb_hghnaejjjgj d =
  let v = default_hghnaejjjgj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.iilhhecoogb <- List.rev v.iilhhecoogb;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.iilhhecoogb <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hghnaejjjgj), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hghnaejjjgj), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    iilhhecoogb = v.iilhhecoogb;
    retcode = v.retcode;
  } : hghnaejjjgj)

let rec decode_pb_lghifpmgaic d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(lghifpmgaic)" pk

let rec decode_pb_mdmbaangnpa d =
  let v = default_mdmbaangnpa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.dbdnooapmlm <- List.rev v.dbdnooapmlm;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mdmbaangnpa), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.dbdnooapmlm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mdmbaangnpa), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    dbdnooapmlm = v.dbdnooapmlm;
  } : mdmbaangnpa)

let rec decode_pb_lchfohebiak d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_chess_rogue_type_none:lchfohebiak)
  | 5446 -> (Cmd_chess_rogue_pick_avatar_cs_req:lchfohebiak)
  | 5458 -> (Cmd_enhance_chess_rogue_buff_cs_req:lchfohebiak)
  | 5476 -> (Cmd_get_chess_rogue_buff_enhance_info_sc_rsp:lchfohebiak)
  | 5482 -> (Cmd_chess_rogue_nous_get_rogue_talent_info_sc_rsp:lchfohebiak)
  | 5427 -> (Cmd_select_chess_rogue_nous_sub_story_cs_req:lchfohebiak)
  | 5491 -> (Cmd_finish_chess_rogue_sub_story_sc_rsp:lchfohebiak)
  | 5555 -> (Cmd_get_chess_rogue_buff_enhance_info_cs_req:lchfohebiak)
  | 5444 -> (Cmd_chess_rogue_quit_sc_rsp:lchfohebiak)
  | 5566 -> (Cmd_chess_rogue_select_bp_sc_rsp:lchfohebiak)
  | 5460 -> (Cmd_chess_rogue_quest_finish_notify:lchfohebiak)
  | 5514 -> (Cmd_chess_rogue_start_cs_req:lchfohebiak)
  | 5529 -> (Cmd_chess_rogue_roll_dice_cs_req:lchfohebiak)
  | 5421 -> (Cmd_chess_rogue_enter_sc_rsp:lchfohebiak)
  | 5499 -> (Cmd_chess_rogue_cheat_roll_sc_rsp:lchfohebiak)
  | 5474 -> (Cmd_chess_rogue_re_roll_dice_cs_req:lchfohebiak)
  | 5531 -> (Cmd_chess_rogue_skip_teaching_level_sc_rsp:lchfohebiak)
  | 5591 -> (Cmd_chess_rogue_layer_account_info_notify:lchfohebiak)
  | 5481 -> (Cmd_chess_rogue_revive_avatar_sc_rsp:lchfohebiak)
  | 5463 -> (Cmd_chess_rogue_update_dice_passive_accumulate_value_sc_notify:lchfohebiak)
  | 5430 -> (Cmd_chess_rogue_update_unlock_level_sc_notify:lchfohebiak)
  | 5462 -> (Cmd_get_chess_rogue_story_info_sc_rsp:lchfohebiak)
  | 5419 -> (Cmd_chess_rogue_move_cell_notify:lchfohebiak)
  | 5447 -> (Cmd_chess_rogue_leave_sc_rsp:lchfohebiak)
  | 5418 -> (Cmd_finish_chess_rogue_sub_story_cs_req:lchfohebiak)
  | 5401 -> (Cmd_chess_rogue_query_bp_cs_req:lchfohebiak)
  | 5523 -> (Cmd_chess_rogue_confirm_roll_cs_req:lchfohebiak)
  | 5576 -> (Cmd_chess_rogue_nous_enable_rogue_talent_sc_rsp:lchfohebiak)
  | 5557 -> (Cmd_get_chess_rogue_nous_story_info_sc_rsp:lchfohebiak)
  | 5456 -> (Cmd_chess_rogue_give_up_sc_rsp:lchfohebiak)
  | 5434 -> (Cmd_chess_rogue_update_revive_info_sc_notify:lchfohebiak)
  | 5549 -> (Cmd_chess_rogue_select_cell_cs_req:lchfohebiak)
  | 5426 -> (Cmd_chess_rogue_update_allowed_select_cell_sc_notify:lchfohebiak)
  | 5518 -> (Cmd_chess_rogue_update_board_sc_notify:lchfohebiak)
  | 5565 -> (Cmd_chess_rogue_nous_edit_dice_sc_rsp:lchfohebiak)
  | 5501 -> (Cmd_get_chess_rogue_nous_story_info_cs_req:lchfohebiak)
  | 5544 -> (Cmd_get_chess_rogue_story_aeon_talk_info_sc_rsp:lchfohebiak)
  | 5596 -> (Cmd_chess_rogue_confirm_roll_sc_rsp:lchfohebiak)
  | 5577 -> (Cmd_finish_chess_rogue_nous_sub_story_sc_rsp:lchfohebiak)
  | 5552 -> (Cmd_enhance_chess_rogue_buff_sc_rsp:lchfohebiak)
  | 5521 -> (Cmd_select_chess_rogue_nous_sub_story_sc_rsp:lchfohebiak)
  | 5588 -> (Cmd_chess_rogue_query_bp_sc_rsp:lchfohebiak)
  | 5586 -> (Cmd_chess_rogue_re_roll_dice_sc_rsp:lchfohebiak)
  | 5569 -> (Cmd_chess_rogue_revive_avatar_cs_req:lchfohebiak)
  | 5417 -> (Cmd_get_chess_rogue_story_aeon_talk_info_cs_req:lchfohebiak)
  | 5405 -> (Cmd_chess_rogue_go_ahead_cs_req:lchfohebiak)
  | 5431 -> (Cmd_chess_rogue_update_level_base_info_sc_notify:lchfohebiak)
  | 5493 -> (Cmd_chess_rogue_query_cs_req:lchfohebiak)
  | 5433 -> (Cmd_chess_rogue_enter_cell_sc_rsp:lchfohebiak)
  | 5589 -> (Cmd_enter_chess_rogue_aeon_room_sc_rsp:lchfohebiak)
  | 5455 -> (Cmd_sync_chess_rogue_nous_main_story_sc_notify:lchfohebiak)
  | 5556 -> (Cmd_chess_rogue_go_ahead_sc_rsp:lchfohebiak)
  | 5492 -> (Cmd_chess_rogue_enter_next_layer_sc_rsp:lchfohebiak)
  | 5425 -> (Cmd_chess_rogue_changey_aeon_dimension_notify:lchfohebiak)
  | 5600 -> (Cmd_chess_rogue_start_sc_rsp:lchfohebiak)
  | 5445 -> (Cmd_chess_rogue_leave_cs_req:lchfohebiak)
  | 5409 -> (Cmd_finish_chess_rogue_nous_sub_story_cs_req:lchfohebiak)
  | 5489 -> (Cmd_chess_rogue_give_up_roll_sc_rsp:lchfohebiak)
  | 5542 -> (Cmd_chess_rogue_update_aeon_modifier_value_sc_notify:lchfohebiak)
  | 5459 -> (Cmd_chess_rogue_nous_edit_dice_cs_req:lchfohebiak)
  | 5450 -> (Cmd_chess_rogue_pick_avatar_sc_rsp:lchfohebiak)
  | 5508 -> (Cmd_chess_rogue_nous_dice_update_notify:lchfohebiak)
  | 5532 -> (Cmd_chess_rogue_select_cell_sc_rsp:lchfohebiak)
  | 5408 -> (Cmd_chess_rogue_cheat_roll_cs_req:lchfohebiak)
  | 5497 -> (Cmd_get_chess_rogue_story_info_cs_req:lchfohebiak)
  | 5480 -> (Cmd_sync_chess_rogue_main_story_finish_sc_notify:lchfohebiak)
  | 5585 -> (Cmd_chess_rogue_give_up_cs_req:lchfohebiak)
  | 5506 -> (Cmd_chess_rogue_quit_cs_req:lchfohebiak)
  | 5486 -> (Cmd_chess_rogue_select_bp_cs_req:lchfohebiak)
  | 5520 -> (Cmd_enter_chess_rogue_aeon_room_cs_req:lchfohebiak)
  | 5567 -> (Cmd_chess_rogue_enter_cs_req:lchfohebiak)
  | 5461 -> (Cmd_chess_rogue_update_dice_info_sc_notify:lchfohebiak)
  | 5536 -> (Cmd_chess_rogue_query_aeon_dimensions_sc_rsp:lchfohebiak)
  | 5539 -> (Cmd_chess_rogue_roll_dice_sc_rsp:lchfohebiak)
  | 5484 -> (Cmd_sync_chess_rogue_nous_sub_story_sc_notify:lchfohebiak)
  | 5507 -> (Cmd_chess_rogue_query_sc_rsp:lchfohebiak)
  | 5413 -> (Cmd_chess_rogue_query_aeon_dimensions_cs_req:lchfohebiak)
  | 5487 -> (Cmd_chess_rogue_update_action_point_sc_notify:lchfohebiak)
  | 5568 -> (Cmd_chess_rogue_enter_next_layer_cs_req:lchfohebiak)
  | 5587 -> (Cmd_select_chess_rogue_sub_story_sc_rsp:lchfohebiak)
  | 5545 -> (Cmd_chess_rogue_give_up_roll_cs_req:lchfohebiak)
  | 5451 -> (Cmd_sync_chess_rogue_nous_value_sc_notify:lchfohebiak)
  | 5571 -> (Cmd_chess_rogue_nous_enable_rogue_talent_cs_req:lchfohebiak)
  | 5592 -> (Cmd_chess_rogue_nous_get_rogue_talent_info_cs_req:lchfohebiak)
  | 5467 -> (Cmd_chess_rogue_finish_cur_room_notify:lchfohebiak)
  | 5406 -> (Cmd_select_chess_rogue_sub_story_cs_req:lchfohebiak)
  | 5477 -> (Cmd_chess_rogue_skip_teaching_level_cs_req:lchfohebiak)
  | 5442 -> (Cmd_chess_rogue_update_money_info_sc_notify:lchfohebiak)
  | 5453 -> (Cmd_chess_rogue_nous_dice_surface_unlock_notify:lchfohebiak)
  | 5498 -> (Cmd_chess_rogue_cell_update_notify:lchfohebiak)
  | 5490 -> (Cmd_chess_rogue_enter_cell_cs_req:lchfohebiak)
  | _ -> Pbrt.Decoder.malformed_variant "lchfohebiak"

let rec decode_pb_ffcjbkjenjp d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Chess_rogue_dice_idle:ffcjbkjenjp)
  | 1 -> (Chess_rogue_dice_rolled:ffcjbkjenjp)
  | 2 -> (Chess_rogue_dice_confirmed:ffcjbkjenjp)
  | 3 -> (Chess_rogue_dice_giveup:ffcjbkjenjp)
  | _ -> Pbrt.Decoder.malformed_variant "ffcjbkjenjp"

let rec decode_pb_omlpnkhdeog d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Chess_rogue_dice_fixed:omlpnkhdeog)
  | 1 -> (Chess_rogue_dice_editable:omlpnkhdeog)
  | _ -> Pbrt.Decoder.malformed_variant "omlpnkhdeog"

let rec decode_pb_mknnebnfbej d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Idle:mknnebnfbej)
  | 1 -> (Selected:mknnebnfbej)
  | 2 -> (Processing:mknnebnfbej)
  | 3 -> (Finish:mknnebnfbej)
  | _ -> Pbrt.Decoder.malformed_variant "mknnebnfbej"

let rec decode_pb_idpjmbnedeg d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Chess_rogue_cell_special_type_none:idpjmbnedeg)
  | 1 -> (Chess_rogue_cell_special_type_locked:idpjmbnedeg)
  | 2 -> (Chess_rogue_cell_special_type_replicate:idpjmbnedeg)
  | 3 -> (Chess_rogue_cell_special_type_protected:idpjmbnedeg)
  | 4 -> (Chess_rogue_cell_special_type_seed:idpjmbnedeg)
  | 5 -> (Chess_rogue_cell_special_type_stamp:idpjmbnedeg)
  | _ -> Pbrt.Decoder.malformed_variant "idpjmbnedeg"

let rec decode_pb_kebkmnaehol d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Chess_rogue_level_idle:kebkmnaehol)
  | 1 -> (Chess_rogue_level_processing:kebkmnaehol)
  | 2 -> (Chess_rogue_level_pending:kebkmnaehol)
  | 3 -> (Chess_rogue_level_finish:kebkmnaehol)
  | 4 -> (Chess_rogue_level_failed:kebkmnaehol)
  | 5 -> (Chess_rogue_level_force_finish:kebkmnaehol)
  | _ -> Pbrt.Decoder.malformed_variant "kebkmnaehol"

let rec decode_pb_pkkjdbmkgck d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Chess_rogue_account_by_none:pkkjdbmkgck)
  | 1 -> (Chess_rogue_account_by_normal_finish:pkkjdbmkgck)
  | 2 -> (Chess_rogue_account_by_normal_quit:pkkjdbmkgck)
  | 3 -> (Chess_rogue_account_by_dialog:pkkjdbmkgck)
  | 4 -> (Chess_rogue_account_by_failed:pkkjdbmkgck)
  | 5 -> (Chess_rogue_account_by_custom_op:pkkjdbmkgck)
  | _ -> Pbrt.Decoder.malformed_variant "pkkjdbmkgck"

let rec decode_pb_eclempbnebp d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Chess_rogue_buff_source_type_none:eclempbnebp)
  | 1 -> (Chess_rogue_buff_source_type_select:eclempbnebp)
  | 2 -> (Chess_rogue_buff_source_type_enhance:eclempbnebp)
  | 3 -> (Chess_rogue_buff_source_type_miracle:eclempbnebp)
  | 4 -> (Chess_rogue_buff_source_type_dialogue:eclempbnebp)
  | 5 -> (Chess_rogue_buff_source_type_bonus:eclempbnebp)
  | 6 -> (Chess_rogue_buff_source_type_shop:eclempbnebp)
  | 7 -> (Chess_rogue_buff_source_type_dice:eclempbnebp)
  | 8 -> (Chess_rogue_buff_source_type_aeon:eclempbnebp)
  | 9 -> (Chess_rogue_buff_source_type_maze_skill:eclempbnebp)
  | 10 -> (Chess_rogue_buff_source_type_level_mechanism:eclempbnebp)
  | _ -> Pbrt.Decoder.malformed_variant "eclempbnebp"

let rec decode_pb_lemalifjabi d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Chess_rogue_miracle_source_type_none:lemalifjabi)
  | 1 -> (Chess_rogue_miracle_source_type_select:lemalifjabi)
  | 2 -> (Chess_rogue_miracle_source_type_dialogue:lemalifjabi)
  | 3 -> (Chess_rogue_miracle_source_type_bonus:lemalifjabi)
  | 4 -> (Chess_rogue_miracle_source_type_use:lemalifjabi)
  | 5 -> (Chess_rogue_miracle_source_type_reset:lemalifjabi)
  | 6 -> (Chess_rogue_miracle_source_type_replace:lemalifjabi)
  | 7 -> (Chess_rogue_miracle_source_type_trade:lemalifjabi)
  | 8 -> (Chess_rogue_miracle_source_type_get:lemalifjabi)
  | 9 -> (Chess_rogue_miracle_source_type_shop:lemalifjabi)
  | 10 -> (Chess_rogue_miracle_source_type_maze_skill:lemalifjabi)
  | 11 -> (Chess_rogue_miracle_source_type_level_mechanism:lemalifjabi)
  | _ -> Pbrt.Decoder.malformed_variant "lemalifjabi"

let rec decode_pb_mmfnjjmglfd d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Chess_rogue_update_level_status_by_none:mmfnjjmglfd)
  | 1 -> (Chess_rogue_update_level_status_by_dialog:mmfnjjmglfd)
  | _ -> Pbrt.Decoder.malformed_variant "mmfnjjmglfd"

let rec decode_pb_alapdfpdlno d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Chess_rogue_cell_update_reason_none:alapdfpdlno)
  | 1 -> (Chess_rogue_cell_update_reason_modifier:alapdfpdlno)
  | _ -> Pbrt.Decoder.malformed_variant "alapdfpdlno"

let rec decode_pb_hgnglmloloa d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Chess_rogue_aeon_type_none:hgnglmloloa)
  | 1 -> (Chess_rogue_aeon_type_knight:hgnglmloloa)
  | 2 -> (Chess_rogue_aeon_type_memory:hgnglmloloa)
  | 3 -> (Chess_rogue_aeon_type_warlock:hgnglmloloa)
  | 4 -> (Chess_rogue_aeon_type_priest:hgnglmloloa)
  | 5 -> (Chess_rogue_aeon_type_rogue:hgnglmloloa)
  | 6 -> (Chess_rogue_aeon_type_warrior:hgnglmloloa)
  | 7 -> (Chess_rogue_aeon_type_happy:hgnglmloloa)
  | 8 -> (Chess_rogue_aeon_type_breed:hgnglmloloa)
  | _ -> Pbrt.Decoder.malformed_variant "hgnglmloloa"

let rec decode_pb_homhlopfphc d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Chess_rogue_dice_source_type_none:homhlopfphc)
  | 1 -> (Chess_rogue_dice_source_type_normal:homhlopfphc)
  | 2 -> (Chess_rogue_dice_source_type_repeat:homhlopfphc)
  | 3 -> (Chess_rogue_dice_source_type_cheat:homhlopfphc)
  | _ -> Pbrt.Decoder.malformed_variant "homhlopfphc"

let rec decode_pb_emeefgmahof d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Chess_rogue_nous_main_story_status_none:emeefgmahof)
  | 1 -> (Chess_rogue_nous_main_story_status_unlock:emeefgmahof)
  | 2 -> (Chess_rogue_nous_main_story_status_finish:emeefgmahof)
  | 3 -> (Chess_rogue_nous_main_story_status_can_trigger:emeefgmahof)
  | _ -> Pbrt.Decoder.malformed_variant "emeefgmahof"

let rec decode_pb_cieanjnnbbg d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (None:cieanjnnbbg)
  | 1 -> (Phase_one:cieanjnnbbg)
  | 2 -> (Phase_two:cieanjnnbbg)
  | _ -> Pbrt.Decoder.malformed_variant "cieanjnnbbg"

let rec decode_pb_micfnaphmnb d =
  let v = default_micfnaphmnb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.joipnmmehbm <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(micfnaphmnb), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    joipnmmehbm = v.joipnmmehbm;
  } : micfnaphmnb)

let rec decode_pb_hefgcbjdeem d =
  let v = default_hefgcbjdeem_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.scene <- Some (decode_pb_scene_info (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hefgcbjdeem), field(10)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.lineup <- Some (decode_pb_lineup_info (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hefgcbjdeem), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    scene = v.scene;
    lineup = v.lineup;
  } : hefgcbjdeem)

let rec decode_pb_memfcodlioa d =
  let v = default_memfcodlioa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.glkbddbdebh <- List.rev v.glkbddbdebh;
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(memfcodlioa), field(10)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.glkbddbdebh <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(memfcodlioa), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
    glkbddbdebh = v.glkbddbdebh;
  } : memfcodlioa)

let rec decode_pb_nidknnfjgmp d =
  let v = default_nidknnfjgmp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mojaejmnmge <- List.rev v.mojaejmnmge;
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.mojaejmnmge <- (decode_pb_memfcodlioa (Pbrt.Decoder.nested d)) :: v.mojaejmnmge;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nidknnfjgmp), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mojaejmnmge = v.mojaejmnmge;
  } : nidknnfjgmp)

let rec decode_pb_idlkgpjlfhc d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_modifier_source_none:idlkgpjlfhc)
  | 1 -> (Rogue_modifier_source_dice_roll:idlkgpjlfhc)
  | 2 -> (Rogue_modifier_source_aeon:idlkgpjlfhc)
  | 3 -> (Rogue_modifier_source_board_event:idlkgpjlfhc)
  | 4 -> (Rogue_modifier_source_dialog_event:idlkgpjlfhc)
  | 5 -> (Rogue_modifier_source_miracle:idlkgpjlfhc)
  | 6 -> (Rogue_modifier_source_cell_mark:idlkgpjlfhc)
  | 7 -> (Rogue_modifier_source_aeon_talent:idlkgpjlfhc)
  | 8 -> (Rogue_modifier_source_boss_decay:idlkgpjlfhc)
  | 9 -> (Rogue_modifier_source_dice_branch:idlkgpjlfhc)
  | _ -> Pbrt.Decoder.malformed_variant "idlkgpjlfhc"

let rec decode_pb_oeafacbejbl d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_modifier_content_definite:oeafacbejbl)
  | 1 -> (Rogue_modifier_content_random:oeafacbejbl)
  | _ -> Pbrt.Decoder.malformed_variant "oeafacbejbl"

let rec decode_pb_mehpamalhjm d =
  let v = default_mehpamalhjm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.gmdlifibdfc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mehpamalhjm), field(13)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.gahohjkfkek <- decode_pb_oeafacbejbl d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mehpamalhjm), field(12)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.pelegneejne <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mehpamalhjm), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gmdlifibdfc = v.gmdlifibdfc;
    gahohjkfkek = v.gahohjkfkek;
    pelegneejne = v.pelegneejne;
  } : mehpamalhjm)

let rec decode_pb_fbpkclgkmha d =
  let v = default_fbpkclgkmha_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ppahjhccgea <- List.rev v.ppahjhccgea;
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.mecjmchknde <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fbpkclgkmha), field(11)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.ppahjhccgea <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fbpkclgkmha), field(12)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.adnplkibhog <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fbpkclgkmha), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mecjmchknde = v.mecjmchknde;
    ppahjhccgea = v.ppahjhccgea;
    adnplkibhog = v.adnplkibhog;
  } : fbpkclgkmha)

let rec decode_pb_gflokgogjgh d =
  let v = default_gflokgogjgh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.cbjpfggchfh <- decode_pb_idlkgpjlfhc d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gflokgogjgh), field(1)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.golcnjkeoic <- Some (decode_pb_mehpamalhjm (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gflokgogjgh), field(5)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.ddgkfgjdgeb <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gflokgogjgh), field(7)" pk
    | Some (913, Pbrt.Bytes) -> begin
      v.hhckdkhoecn <- Some (decode_pb_fbpkclgkmha (Pbrt.Decoder.nested d));
    end
    | Some (913, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gflokgogjgh), field(913)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cbjpfggchfh = v.cbjpfggchfh;
    golcnjkeoic = v.golcnjkeoic;
    ddgkfgjdgeb = v.ddgkfgjdgeb;
    hhckdkhoecn = v.hhckdkhoecn;
  } : gflokgogjgh)

let rec decode_pb_bakpidleifi d =
  let v = default_bakpidleifi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.depmnmgkeag <- List.rev v.depmnmgkeag;
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.depmnmgkeag <- (decode_pb_gflokgogjgh (Pbrt.Decoder.nested d)) :: v.depmnmgkeag;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bakpidleifi), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    depmnmgkeag = v.depmnmgkeag;
  } : bakpidleifi)

let rec decode_pb_gbfffjngdfj d =
  let v = default_gbfffjngdfj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.fnhpplpmjcn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gbfffjngdfj), field(7)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.dcipfijnhoi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gbfffjngdfj), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fnhpplpmjcn = v.fnhpplpmjcn;
    dcipfijnhoi = v.dcipfijnhoi;
  } : gbfffjngdfj)

let rec decode_pb_dcbalomaani d =
  let v = default_dcbalomaani_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pdfpgbmampk <- List.rev v.pdfpgbmampk;
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.ddkgbmlkdkk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dcbalomaani), field(10)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.lhigmcoilgo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dcbalomaani), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.nddbnbipbon <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dcbalomaani), field(6)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.pdfpgbmampk <- (decode_pb_gbfffjngdfj (Pbrt.Decoder.nested d)) :: v.pdfpgbmampk;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dcbalomaani), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ddkgbmlkdkk = v.ddkgbmlkdkk;
    lhigmcoilgo = v.lhigmcoilgo;
    nddbnbipbon = v.nddbnbipbon;
    pdfpgbmampk = v.pdfpgbmampk;
  } : dcbalomaani)

let rec decode_pb_jhogcidfaoc d =
  let v = default_jhogcidfaoc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.cbplaahapne <- List.rev v.cbplaahapne;
    ); continue__ := false
    | Some (1139, Pbrt.Varint) -> begin
      v.aneolijdglc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1139, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhogcidfaoc), field(1139)" pk
    | Some (984, Pbrt.Varint) -> begin
      v.kbiicjjlpnd <- Pbrt.Decoder.bool d;
    end
    | Some (984, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhogcidfaoc), field(984)" pk
    | Some (1645, Pbrt.Bytes) -> begin
      v.djaocncjcoa <- Some (decode_pb_gflokgogjgh (Pbrt.Decoder.nested d));
    end
    | Some (1645, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhogcidfaoc), field(1645)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.iojokhhnnaf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhogcidfaoc), field(3)" pk
    | Some (481, Pbrt.Bytes) -> begin
      v.pmngenljclp <- Some (decode_pb_bakpidleifi (Pbrt.Decoder.nested d));
    end
    | Some (481, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhogcidfaoc), field(481)" pk
    | Some (1804, Pbrt.Bytes) -> begin
      v.cbplaahapne <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1804, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhogcidfaoc), field(1804)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.haccokolmcb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhogcidfaoc), field(6)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.pefeejkjmko <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhogcidfaoc), field(5)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.lgjapibjhec <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhogcidfaoc), field(1)" pk
    | Some (1631, Pbrt.Bytes) -> begin
      v.dicpimdppco <- Some (decode_pb_dcbalomaani (Pbrt.Decoder.nested d));
    end
    | Some (1631, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhogcidfaoc), field(1631)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.jheghpmkabh <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhogcidfaoc), field(2)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.ddgbdajebji <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhogcidfaoc), field(4)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.bbcjfajjbof <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhogcidfaoc), field(12)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.jinmpgfgcbc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhogcidfaoc), field(9)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.lkbimfkbocp <- decode_pb_omlpnkhdeog d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhogcidfaoc), field(13)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.gllfonoipoc <- decode_pb_ffcjbkjenjp d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhogcidfaoc), field(11)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.ddfbfpoeima <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhogcidfaoc), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    aneolijdglc = v.aneolijdglc;
    kbiicjjlpnd = v.kbiicjjlpnd;
    djaocncjcoa = v.djaocncjcoa;
    iojokhhnnaf = v.iojokhhnnaf;
    pmngenljclp = v.pmngenljclp;
    cbplaahapne = v.cbplaahapne;
    haccokolmcb = v.haccokolmcb;
    pefeejkjmko = v.pefeejkjmko;
    lgjapibjhec = v.lgjapibjhec;
    dicpimdppco = v.dicpimdppco;
    jheghpmkabh = v.jheghpmkabh;
    ddgbdajebji = v.ddgbdajebji;
    bbcjfajjbof = v.bbcjfajjbof;
    jinmpgfgcbc = v.jinmpgfgcbc;
    lkbimfkbocp = v.lkbimfkbocp;
    gllfonoipoc = v.gllfonoipoc;
    ddfbfpoeima = v.ddfbfpoeima;
  } : jhogcidfaoc)

let rec decode_pb_mgdjkjeikif d =
  let v = default_mgdjkjeikif_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.aoecepofobe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mgdjkjeikif), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    aoecepofobe = v.aoecepofobe;
  } : mgdjkjeikif)

let rec decode_pb_jgialipdago d =
  let v = default_jgialipdago_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.emmkiajfeeh <- Some (decode_pb_jhogcidfaoc (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jgialipdago), field(2)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jgialipdago), field(9)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.ffcidfndcij <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jgialipdago), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    emmkiajfeeh = v.emmkiajfeeh;
    retcode = v.retcode;
    ffcidfndcij = v.ffcidfndcij;
  } : jgialipdago)

let rec decode_pb_gapcdcdlhao d =
  let v = default_gapcdcdlhao_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.pbonhgdihdk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gapcdcdlhao), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pbonhgdihdk = v.pbonhgdihdk;
  } : gapcdcdlhao)

let rec decode_pb_njnoikdeemg d =
  let v = default_njnoikdeemg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njnoikdeemg), field(12)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.pbonhgdihdk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njnoikdeemg), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    pbonhgdihdk = v.pbonhgdihdk;
  } : njnoikdeemg)

let rec decode_pb_aljedjonndl d =
  let v = default_aljedjonndl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.monster_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aljedjonndl), field(12)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.mepjekicoob <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aljedjonndl), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    monster_id = v.monster_id;
    mepjekicoob = v.mepjekicoob;
  } : aljedjonndl)

let rec decode_pb_pifejklcgii d =
  let v = default_pifejklcgii_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jlpgaheinlb <- List.rev v.jlpgaheinlb;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.kjigdihdnaj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pifejklcgii), field(1)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.mecjmchknde <- Pbrt.Decoder.bool d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pifejklcgii), field(12)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.jlpgaheinlb <- (decode_pb_aljedjonndl (Pbrt.Decoder.nested d)) :: v.jlpgaheinlb;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pifejklcgii), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kjigdihdnaj = v.kjigdihdnaj;
    mecjmchknde = v.mecjmchknde;
    jlpgaheinlb = v.jlpgaheinlb;
  } : pifejklcgii)

let rec decode_pb_ppdhjomdhpg d =
  let v = default_ppdhjomdhpg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.kdmnfdglfij <- List.rev v.kdmnfdglfij;
      v.nehaljheool <- List.rev v.nehaljheool;
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.nehaljheool <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ppdhjomdhpg), field(14)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.kdmnfdglfij <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ppdhjomdhpg), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nehaljheool = v.nehaljheool;
    kdmnfdglfij = v.kdmnfdglfij;
  } : ppdhjomdhpg)

let rec decode_pb_dfompdgfppa d =
  let v = default_dfompdgfppa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.jpblhpkdnff <- Some (decode_pb_pifejklcgii (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dfompdgfppa), field(13)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.fhkibjkjnjf <- Some (decode_pb_ppdhjomdhpg (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dfompdgfppa), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jpblhpkdnff = v.jpblhpkdnff;
    fhkibjkjnjf = v.fhkibjkjnjf;
  } : dfompdgfppa)

let rec decode_pb_kkjhocdnhpk d =
  let v = default_kkjhocdnhpk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.jpblhpkdnff <- Some (decode_pb_pifejklcgii (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkjhocdnhpk), field(2)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.fhkibjkjnjf <- Some (decode_pb_ppdhjomdhpg (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkjhocdnhpk), field(5)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.ogicojhhcnf <- Some (decode_pb_dfompdgfppa (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkjhocdnhpk), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jpblhpkdnff = v.jpblhpkdnff;
    fhkibjkjnjf = v.fhkibjkjnjf;
    ogicojhhcnf = v.ogicojhhcnf;
  } : kkjhocdnhpk)

let rec decode_pb_fffkbmhfeed d =
  let v = default_fffkbmhfeed_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.khdgocghkea <- List.rev v.khdgocghkea;
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.mfdelanaicp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fffkbmhfeed), field(5)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.khdgocghkea <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fffkbmhfeed), field(11)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.mmpflgiclpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fffkbmhfeed), field(10)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.fipmfocjcgm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fffkbmhfeed), field(3)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.akfdaaaiich <- Some (decode_pb_kkjhocdnhpk (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fffkbmhfeed), field(4)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fffkbmhfeed), field(2)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.mkpjijjipfe <- decode_pb_idpjmbnedeg d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fffkbmhfeed), field(7)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.pgnccoldebp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fffkbmhfeed), field(13)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.gmchjnfpjdm <- decode_pb_mknnebnfbej d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fffkbmhfeed), field(8)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.ddlinaajdoh <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fffkbmhfeed), field(1)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.dnmhgkbcinm <- Pbrt.Decoder.bool d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fffkbmhfeed), field(9)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.opooflefkol <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fffkbmhfeed), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mfdelanaicp = v.mfdelanaicp;
    khdgocghkea = v.khdgocghkea;
    mmpflgiclpa = v.mmpflgiclpa;
    fipmfocjcgm = v.fipmfocjcgm;
    akfdaaaiich = v.akfdaaaiich;
    id = v.id;
    mkpjijjipfe = v.mkpjijjipfe;
    pgnccoldebp = v.pgnccoldebp;
    gmchjnfpjdm = v.gmchjnfpjdm;
    ddlinaajdoh = v.ddlinaajdoh;
    dnmhgkbcinm = v.dnmhgkbcinm;
    opooflefkol = v.opooflefkol;
  } : fffkbmhfeed)

let rec decode_pb_fdkhifelmcd d =
  let v = default_fdkhifelmcd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hdkkdjobple <- List.rev v.hdkkdjobple;
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.gfphfakjiip <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fdkhifelmcd), field(9)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.hdkkdjobple <- (decode_pb_fffkbmhfeed (Pbrt.Decoder.nested d)) :: v.hdkkdjobple;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fdkhifelmcd), field(2)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.kjfpfijkmic <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fdkhifelmcd), field(12)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.pbegapcffcg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fdkhifelmcd), field(10)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.kgphiiiehfj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fdkhifelmcd), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gfphfakjiip = v.gfphfakjiip;
    hdkkdjobple = v.hdkkdjobple;
    kjfpfijkmic = v.kjfpfijkmic;
    pbegapcffcg = v.pbegapcffcg;
    kgphiiiehfj = v.kgphiiiehfj;
  } : fdkhifelmcd)

let rec decode_pb_dogofabhmnk d =
  let v = default_dogofabhmnk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.mfdelanaicp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dogofabhmnk), field(11)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.pbonhgdihdk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dogofabhmnk), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mfdelanaicp = v.mfdelanaicp;
    pbonhgdihdk = v.pbonhgdihdk;
  } : dogofabhmnk)

let rec decode_pb_kkcpdacdmkm d =
  let v = default_kkcpdacdmkm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.jjfopmclfgp <- Some (decode_pb_bakpidleifi (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkcpdacdmkm), field(6)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.odbonchifmm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkcpdacdmkm), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jjfopmclfgp = v.jjfopmclfgp;
    odbonchifmm = v.odbonchifmm;
  } : kkcpdacdmkm)

let rec decode_pb_iegahkdghjc d =
  let v = default_iegahkdghjc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.lahdpgmdloa <- List.rev v.lahdpgmdloa;
      v.acdpcbenidp <- List.rev v.acdpcbenidp;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.acdpcbenidp <- (decode_pb_dogofabhmnk (Pbrt.Decoder.nested d)) :: v.acdpcbenidp;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iegahkdghjc), field(9)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.ffkkpmlkkcc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iegahkdghjc), field(6)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.bgdnnmcklaf <- decode_pb_mknnebnfbej d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iegahkdghjc), field(10)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.pondjadjphm <- Some (decode_pb_kkcpdacdmkm (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iegahkdghjc), field(2)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.jhbiihbamfp <- Some (decode_pb_fdkhifelmcd (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iegahkdghjc), field(7)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.jaeaoepglog <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iegahkdghjc), field(15)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.lahdpgmdloa <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iegahkdghjc), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    acdpcbenidp = v.acdpcbenidp;
    ffkkpmlkkcc = v.ffkkpmlkkcc;
    bgdnnmcklaf = v.bgdnnmcklaf;
    pondjadjphm = v.pondjadjphm;
    jhbiihbamfp = v.jhbiihbamfp;
    jaeaoepglog = v.jaeaoepglog;
    lahdpgmdloa = v.lahdpgmdloa;
  } : iegahkdghjc)

let rec decode_pb_bincokigfgm d =
  let v = default_bincokigfgm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pcpganjlmml <- List.rev v.pcpganjlmml;
      v.meoekcpafch <- List.rev v.meoekcpafch;
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bincokigfgm), field(13)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.jpjmfomlibc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bincokigfgm), field(15)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.onlcphdmmpm <- Some (decode_pb_iegahkdghjc (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bincokigfgm), field(9)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.glkcbfpeijb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bincokigfgm), field(5)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.palokcoicgp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bincokigfgm), field(10)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.mknhgcengfk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bincokigfgm), field(7)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.meoekcpafch <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bincokigfgm), field(2)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.kdkdheomlmo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bincokigfgm), field(11)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.pcpganjlmml <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bincokigfgm), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
    jpjmfomlibc = v.jpjmfomlibc;
    onlcphdmmpm = v.onlcphdmmpm;
    glkcbfpeijb = v.glkcbfpeijb;
    palokcoicgp = v.palokcoicgp;
    mknhgcengfk = v.mknhgcengfk;
    meoekcpafch = v.meoekcpafch;
    kdkdheomlmo = v.kdkdheomlmo;
    pcpganjlmml = v.pcpganjlmml;
  } : bincokigfgm)

let rec decode_pb_gnhfgpglbae d =
  let v = default_gnhfgpglbae_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.bajeglndfpe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gnhfgpglbae), field(3)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.opmjfaoockc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gnhfgpglbae), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bajeglndfpe = v.bajeglndfpe;
    opmjfaoockc = v.opmjfaoockc;
  } : gnhfgpglbae)

let rec decode_pb_lafgnipaikl d =
  let v = default_lafgnipaikl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.emoohedjinn <- List.rev v.emoohedjinn;
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.emoohedjinn <- (decode_pb_gnhfgpglbae (Pbrt.Decoder.nested d)) :: v.emoohedjinn;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lafgnipaikl), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    emoohedjinn = v.emoohedjinn;
  } : lafgnipaikl)

let rec decode_pb_lhakogbpaen d =
  let v = default_lhakogbpaen_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hbjejpcphbf <- List.rev v.hbjejpcphbf;
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.hbjejpcphbf <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhakogbpaen), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.agndiegkeih <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhakogbpaen), field(6)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.pncgddoigad <- Some (decode_pb_lafgnipaikl (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhakogbpaen), field(10)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.onlljjegjdc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhakogbpaen), field(3)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.jjfopmclfgp <- Some (decode_pb_bakpidleifi (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhakogbpaen), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hbjejpcphbf = v.hbjejpcphbf;
    agndiegkeih = v.agndiegkeih;
    pncgddoigad = v.pncgddoigad;
    onlljjegjdc = v.onlljjegjdc;
    jjfopmclfgp = v.jjfopmclfgp;
  } : lhakogbpaen)

let rec decode_pb_eapcpnbdbbg d =
  let v = default_eapcpnbdbbg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eapcpnbdbbg), field(3)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.mfionjgelel <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eapcpnbdbbg), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id = v.avatar_id;
    mfionjgelel = v.mfionjgelel;
  } : eapcpnbdbbg)

let rec decode_pb_ccohodejlfe d =
  let v = default_ccohodejlfe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.njmnddboopd <- List.rev v.njmnddboopd;
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.boijkbofiid <- Some (decode_pb_micfnaphmnb (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ccohodejlfe), field(6)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.njmnddboopd <- (decode_pb_eapcpnbdbbg (Pbrt.Decoder.nested d)) :: v.njmnddboopd;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ccohodejlfe), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    boijkbofiid = v.boijkbofiid;
    njmnddboopd = v.njmnddboopd;
  } : ccohodejlfe)

let rec decode_pb_cndojeanndh d =
  let v = default_cndojeanndh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ghmkcfhnejp <- List.rev v.ghmkcfhnejp;
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.dajmkddckgh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cndojeanndh), field(11)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.hholaeabopa <- Pbrt.Decoder.bool d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cndojeanndh), field(4)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.ghmkcfhnejp <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cndojeanndh), field(13)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.jbjjpnlonkm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cndojeanndh), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dajmkddckgh = v.dajmkddckgh;
    hholaeabopa = v.hholaeabopa;
    ghmkcfhnejp = v.ghmkcfhnejp;
    jbjjpnlonkm = v.jbjjpnlonkm;
  } : cndojeanndh)

let rec decode_pb_jkggceplagl d =
  let v = default_jkggceplagl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.ljbbdccelmh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jkggceplagl), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ljbbdccelmh = v.ljbbdccelmh;
  } : jkggceplagl)

let rec decode_pb_ahdfkbajdlh d =
  let v = default_ahdfkbajdlh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ikddpmdgcaj <- List.rev v.ikddpmdgcaj;
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.ikddpmdgcaj <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ahdfkbajdlh), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ikddpmdgcaj = v.ikddpmdgcaj;
  } : ahdfkbajdlh)

let rec decode_pb_hbdomioniba d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_common_buff_select_source_type_none:hbdomioniba)
  | 1 -> (Rogue_common_buff_select_source_type_dice_roll:hbdomioniba)
  | 2 -> (Rogue_common_buff_select_source_type_aeon:hbdomioniba)
  | 3 -> (Rogue_common_buff_select_source_type_board_event:hbdomioniba)
  | 4 -> (Rogue_common_buff_select_source_type_level_mechanism:hbdomioniba)
  | _ -> Pbrt.Decoder.malformed_variant "hbdomioniba"

let rec decode_pb_mnicidbdjfi d =
  let v = default_mnicidbdjfi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.pkkfndimmio <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mnicidbdjfi), field(11)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.kehnfboaaig <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mnicidbdjfi), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pkkfndimmio = v.pkkfndimmio;
    kehnfboaaig = v.kehnfboaaig;
  } : mnicidbdjfi)

let rec decode_pb_rogue_common_buff_select_info d =
  let v = default_rogue_common_buff_select_info_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.first_buff_type_list <- List.rev v.first_buff_type_list;
      v.select_buff_list <- List.rev v.select_buff_list;
      v.handbook_unlock_buff_id_list <- List.rev v.handbook_unlock_buff_id_list;
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.roll_buff_cost_data <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_common_buff_select_info), field(5)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.source_type <- decode_pb_hbdomioniba d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_common_buff_select_info), field(8)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.handbook_unlock_buff_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_common_buff_select_info), field(3)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.certain_select_buff_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_common_buff_select_info), field(13)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.select_buff_list <- (decode_pb_mnicidbdjfi (Pbrt.Decoder.nested d)) :: v.select_buff_list;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_common_buff_select_info), field(7)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.source_hint_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_common_buff_select_info), field(11)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.roll_buff_max_count <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_common_buff_select_info), field(6)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.roll_buff_free_count <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_common_buff_select_info), field(9)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.first_buff_type_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_common_buff_select_info), field(2)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.can_roll <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_common_buff_select_info), field(1)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.roll_buff_count <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_common_buff_select_info), field(12)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.source_total_count <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_common_buff_select_info), field(15)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.source_cur_count <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_common_buff_select_info), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    roll_buff_cost_data = v.roll_buff_cost_data;
    source_type = v.source_type;
    handbook_unlock_buff_id_list = v.handbook_unlock_buff_id_list;
    certain_select_buff_id = v.certain_select_buff_id;
    select_buff_list = v.select_buff_list;
    source_hint_id = v.source_hint_id;
    roll_buff_max_count = v.roll_buff_max_count;
    roll_buff_free_count = v.roll_buff_free_count;
    first_buff_type_list = v.first_buff_type_list;
    can_roll = v.can_roll;
    roll_buff_count = v.roll_buff_count;
    source_total_count = v.source_total_count;
    source_cur_count = v.source_cur_count;
  } : rogue_common_buff_select_info)

let rec decode_pb_jgloggkpeip d =
  let v = default_jgloggkpeip_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ckmcdophoho <- List.rev v.ckmcdophoho;
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.ckmcdophoho <- (decode_pb_mnicidbdjfi (Pbrt.Decoder.nested d)) :: v.ckmcdophoho;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jgloggkpeip), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.comnknfemfn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jgloggkpeip), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ckmcdophoho = v.ckmcdophoho;
    comnknfemfn = v.comnknfemfn;
  } : jgloggkpeip)

let rec decode_pb_mmgfijkgejd d =
  let v = default_mmgfijkgejd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ongocpjbeem <- List.rev v.ongocpjbeem;
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.comnknfemfn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmgfijkgejd), field(7)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.ongocpjbeem <- (decode_pb_mnicidbdjfi (Pbrt.Decoder.nested d)) :: v.ongocpjbeem;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmgfijkgejd), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    comnknfemfn = v.comnknfemfn;
    ongocpjbeem = v.ongocpjbeem;
  } : mmgfijkgejd)

let rec decode_pb_lhjijndbjll d =
  let v = default_lhjijndbjll_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jcmhmpmbhko <- List.rev v.jcmhmpmbhko;
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.comnknfemfn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhjijndbjll), field(12)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.jcmhmpmbhko <- (decode_pb_mnicidbdjfi (Pbrt.Decoder.nested d)) :: v.jcmhmpmbhko;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhjijndbjll), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    comnknfemfn = v.comnknfemfn;
    jcmhmpmbhko = v.jcmhmpmbhko;
  } : lhjijndbjll)

let rec decode_pb_ldklmcljplk d =
  let v = default_ldklmcljplk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ohmlalbookj <- List.rev v.ohmlalbookj;
      v.bhpcnblomnh <- List.rev v.bhpcnblomnh;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.bhpcnblomnh <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldklmcljplk), field(9)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.comnknfemfn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldklmcljplk), field(5)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.ohmlalbookj <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldklmcljplk), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bhpcnblomnh = v.bhpcnblomnh;
    comnknfemfn = v.comnknfemfn;
    ohmlalbookj = v.ohmlalbookj;
  } : ldklmcljplk)

let rec decode_pb_blplkibhiok d =
  let v = default_blplkibhiok_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ccdkldffekl <- List.rev v.ccdkldffekl;
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.ccdkldffekl <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blplkibhiok), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ccdkldffekl = v.ccdkldffekl;
  } : blplkibhiok)

let rec decode_pb_gbhdggdnlon d =
  let v = default_gbhdggdnlon_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hfmibieahhl <- List.rev v.hfmibieahhl;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.hfmibieahhl <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gbhdggdnlon), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.comnknfemfn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gbhdggdnlon), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hfmibieahhl = v.hfmibieahhl;
    comnknfemfn = v.comnknfemfn;
  } : gbhdggdnlon)

let rec decode_pb_bbdkccjfpbe d =
  let v = default_bbdkccjfpbe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mkllbpebdjd <- List.rev v.mkllbpebdjd;
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.mkllbpebdjd <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bbdkccjfpbe), field(2)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.comnknfemfn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bbdkccjfpbe), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mkllbpebdjd = v.mkllbpebdjd;
    comnknfemfn = v.comnknfemfn;
  } : bbdkccjfpbe)

let rec decode_pb_mgpnfkhlcpi d =
  let v = default_mgpnfkhlcpi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jpjjnfckpld <- List.rev v.jpjjnfckpld;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.jpjjnfckpld <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mgpnfkhlcpi), field(7)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.comnknfemfn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mgpnfkhlcpi), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jpjjnfckpld = v.jpjjnfckpld;
    comnknfemfn = v.comnknfemfn;
  } : mgpnfkhlcpi)

let rec decode_pb_ojnhhgmefgn d =
  let v = default_ojnhhgmefgn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bogobbncjbf <- List.rev v.bogobbncjbf;
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.bogobbncjbf <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ojnhhgmefgn), field(11)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.comnknfemfn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ojnhhgmefgn), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bogobbncjbf = v.bogobbncjbf;
    comnknfemfn = v.comnknfemfn;
  } : ojnhhgmefgn)

let rec decode_pb_ddbdnlhnole d =
  let v = default_ddbdnlhnole_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.oeeeagkklng <- List.rev v.oeeeagkklng;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.oeeeagkklng <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddbdnlhnole), field(13)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.comnknfemfn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddbdnlhnole), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    oeeeagkklng = v.oeeeagkklng;
    comnknfemfn = v.comnknfemfn;
  } : ddbdnlhnole)

let rec decode_pb_jlaoekngjoc d =
  let v = default_jlaoekngjoc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.oeeeagkklng <- List.rev v.oeeeagkklng;
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.comnknfemfn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jlaoekngjoc), field(7)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.oeeeagkklng <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jlaoekngjoc), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    comnknfemfn = v.comnknfemfn;
    oeeeagkklng = v.oeeeagkklng;
  } : jlaoekngjoc)

let rec decode_pb_lnedlmmamac d =
  let v = default_lnedlmmamac_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ofaekfangcn <- List.rev v.ofaekfangcn;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.ofaekfangcn <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lnedlmmamac), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ofaekfangcn = v.ofaekfangcn;
  } : lnedlmmamac)

let rec decode_pb_rogue_formula_select_info d =
  let v = default_rogue_formula_select_info_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.select_formula_id_list <- List.rev v.select_formula_id_list;
      v.handbook_unlock_formula_id_list <- List.rev v.handbook_unlock_formula_id_list;
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.roll_formula_cost_data <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_formula_select_info), field(5)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.handbook_unlock_formula_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_formula_select_info), field(12)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.hint_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_formula_select_info), field(4)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.select_formula_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_formula_select_info), field(7)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.roll_formula_count <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_formula_select_info), field(3)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.can_roll <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_formula_select_info), field(1)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.roll_formula_max_count <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_formula_select_info), field(13)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.roll_formula_free_count <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_formula_select_info), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    roll_formula_cost_data = v.roll_formula_cost_data;
    handbook_unlock_formula_id_list = v.handbook_unlock_formula_id_list;
    hint_id = v.hint_id;
    select_formula_id_list = v.select_formula_id_list;
    roll_formula_count = v.roll_formula_count;
    can_roll = v.can_roll;
    roll_formula_max_count = v.roll_formula_max_count;
    roll_formula_free_count = v.roll_formula_free_count;
  } : rogue_formula_select_info)

let rec decode_pb_dooghjmkiea d =
  let v = default_dooghjmkiea_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.nmjpafphfam <- List.rev v.nmjpafphfam;
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.comnknfemfn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dooghjmkiea), field(12)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.nmjpafphfam <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dooghjmkiea), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    comnknfemfn = v.comnknfemfn;
    nmjpafphfam = v.nmjpafphfam;
  } : dooghjmkiea)

let rec decode_pb_pgpcmncmpin d =
  let v = default_pgpcmncmpin_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.hfdfkfjfdbb <- Some (decode_pb_rogue_formula_select_info (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgpcmncmpin), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hfdfkfjfdbb = v.hfdfkfjfdbb;
  } : pgpcmncmpin)

let rec decode_pb_eecmgimpdba d =
  let v = default_eecmgimpdba_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1903, Pbrt.Bytes) -> begin
      v.alalgchdbdp <- Some (decode_pb_rogue_common_buff_select_info (Pbrt.Decoder.nested d));
    end
    | Some (1903, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eecmgimpdba), field(1903)" pk
    | Some (207, Pbrt.Bytes) -> begin
      v.khfkakikamk <- Some (decode_pb_jgloggkpeip (Pbrt.Decoder.nested d));
    end
    | Some (207, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eecmgimpdba), field(207)" pk
    | Some (1070, Pbrt.Bytes) -> begin
      v.oigahiohcch <- Some (decode_pb_mmgfijkgejd (Pbrt.Decoder.nested d));
    end
    | Some (1070, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eecmgimpdba), field(1070)" pk
    | Some (455, Pbrt.Bytes) -> begin
      v.okjbmkmmcej <- Some (decode_pb_lhjijndbjll (Pbrt.Decoder.nested d));
    end
    | Some (455, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eecmgimpdba), field(455)" pk
    | Some (338, Pbrt.Bytes) -> begin
      v.fndnbjlkdon <- Some (decode_pb_ldklmcljplk (Pbrt.Decoder.nested d));
    end
    | Some (338, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eecmgimpdba), field(338)" pk
    | Some (1035, Pbrt.Bytes) -> begin
      v.hnokaicpikf <- Some (decode_pb_blplkibhiok (Pbrt.Decoder.nested d));
    end
    | Some (1035, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eecmgimpdba), field(1035)" pk
    | Some (939, Pbrt.Bytes) -> begin
      v.hcjcjnogaia <- Some (decode_pb_gbhdggdnlon (Pbrt.Decoder.nested d));
    end
    | Some (939, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eecmgimpdba), field(939)" pk
    | Some (899, Pbrt.Bytes) -> begin
      v.lejeajjleoh <- Some (decode_pb_bbdkccjfpbe (Pbrt.Decoder.nested d));
    end
    | Some (899, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eecmgimpdba), field(899)" pk
    | Some (1548, Pbrt.Bytes) -> begin
      v.gkjfkoimngd <- Some (decode_pb_mgpnfkhlcpi (Pbrt.Decoder.nested d));
    end
    | Some (1548, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eecmgimpdba), field(1548)" pk
    | Some (147, Pbrt.Bytes) -> begin
      v.agdfeodfcid <- Some (decode_pb_ojnhhgmefgn (Pbrt.Decoder.nested d));
    end
    | Some (147, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eecmgimpdba), field(147)" pk
    | Some (513, Pbrt.Bytes) -> begin
      v.khjkncfhbgm <- Some (decode_pb_ddbdnlhnole (Pbrt.Decoder.nested d));
    end
    | Some (513, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eecmgimpdba), field(513)" pk
    | Some (353, Pbrt.Bytes) -> begin
      v.kckdiphlhfm <- Some (decode_pb_jlaoekngjoc (Pbrt.Decoder.nested d));
    end
    | Some (353, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eecmgimpdba), field(353)" pk
    | Some (1601, Pbrt.Bytes) -> begin
      v.gcflbbikckf <- Some (decode_pb_lnedlmmamac (Pbrt.Decoder.nested d));
    end
    | Some (1601, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eecmgimpdba), field(1601)" pk
    | Some (1335, Pbrt.Bytes) -> begin
      v.hfdfkfjfdbb <- Some (decode_pb_rogue_formula_select_info (Pbrt.Decoder.nested d));
    end
    | Some (1335, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eecmgimpdba), field(1335)" pk
    | Some (114, Pbrt.Bytes) -> begin
      v.jkgbadmlbcf <- Some (decode_pb_dooghjmkiea (Pbrt.Decoder.nested d));
    end
    | Some (114, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eecmgimpdba), field(114)" pk
    | Some (1752, Pbrt.Bytes) -> begin
      v.bmphbiefmbf <- Some (decode_pb_pgpcmncmpin (Pbrt.Decoder.nested d));
    end
    | Some (1752, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eecmgimpdba), field(1752)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    alalgchdbdp = v.alalgchdbdp;
    khfkakikamk = v.khfkakikamk;
    oigahiohcch = v.oigahiohcch;
    okjbmkmmcej = v.okjbmkmmcej;
    fndnbjlkdon = v.fndnbjlkdon;
    hnokaicpikf = v.hnokaicpikf;
    hcjcjnogaia = v.hcjcjnogaia;
    lejeajjleoh = v.lejeajjleoh;
    gkjfkoimngd = v.gkjfkoimngd;
    agdfeodfcid = v.agdfeodfcid;
    khjkncfhbgm = v.khjkncfhbgm;
    kckdiphlhfm = v.kckdiphlhfm;
    gcflbbikckf = v.gcflbbikckf;
    hfdfkfjfdbb = v.hfdfkfjfdbb;
    jkgbadmlbcf = v.jkgbadmlbcf;
    bmphbiefmbf = v.bmphbiefmbf;
  } : eecmgimpdba)

let rec decode_pb_blhhnmhcodp d =
  let v = default_blhhnmhcodp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.ocnjbebhbgo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blhhnmhcodp), field(15)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.mkgoabedjeh <- Some (decode_pb_eecmgimpdba (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blhhnmhcodp), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ocnjbebhbgo = v.ocnjbebhbgo;
    mkgoabedjeh = v.mkgoabedjeh;
  } : blhhnmhcodp)

let rec decode_pb_dkmldddplbi d =
  let v = default_dkmldddplbi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.nfdcfmgbflc <- List.rev v.nfdcfmgbflc;
      v.jgiplhnepil <- List.rev v.jgiplhnepil;
      v.fdfgpknlkag <- List.rev v.fdfgpknlkag;
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.fdfgpknlkag <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dkmldddplbi), field(14)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.pdklekppbkf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dkmldddplbi), field(13)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.gjdghpkgkga <- Pbrt.Decoder.bool d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dkmldddplbi), field(6)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.hholaeabopa <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dkmldddplbi), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.jgiplhnepil <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dkmldddplbi), field(3)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.jokigggoefl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dkmldddplbi), field(10)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.khbgofeemkc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dkmldddplbi), field(12)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.nfdcfmgbflc <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dkmldddplbi), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fdfgpknlkag = v.fdfgpknlkag;
    pdklekppbkf = v.pdklekppbkf;
    gjdghpkgkga = v.gjdghpkgkga;
    hholaeabopa = v.hholaeabopa;
    jgiplhnepil = v.jgiplhnepil;
    jokigggoefl = v.jokigggoefl;
    khbgofeemkc = v.khbgofeemkc;
    nfdcfmgbflc = v.nfdcfmgbflc;
  } : dkmldddplbi)

let rec decode_pb_eijagapkfad d =
  let v = default_eijagapkfad_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.buff_list <- List.rev v.buff_list;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.buff_list <- (decode_pb_mnicidbdjfi (Pbrt.Decoder.nested d)) :: v.buff_list;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eijagapkfad), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    buff_list = v.buff_list;
  } : eijagapkfad)

let rec decode_pb_oobhdlegikm d =
  let v = default_oobhdlegikm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.fanjaobchcg <- Some (decode_pb_eijagapkfad (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oobhdlegikm), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fanjaobchcg = v.fanjaobchcg;
  } : oobhdlegikm)

let rec decode_pb_djpaibjmmoe d =
  let v = default_djpaibjmmoe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.edcaibmdknh <- List.rev v.edcaibmdknh;
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.int32_as_varint d
      ) in
      v.edcaibmdknh <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.edcaibmdknh;
      );
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(djpaibjmmoe), field(3)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.ichkjnfaacl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(djpaibjmmoe), field(11)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.fomcmdmpdcg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(djpaibjmmoe), field(6)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.ekieijdbdhm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(djpaibjmmoe), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    edcaibmdknh = v.edcaibmdknh;
    ichkjnfaacl = v.ichkjnfaacl;
    fomcmdmpdcg = v.fomcmdmpdcg;
    ekieijdbdhm = v.ekieijdbdhm;
  } : djpaibjmmoe)

let rec decode_pb_hpphifdfjjj d =
  let v = default_hpphifdfjjj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pcpkkbfpbeb <- List.rev v.pcpkkbfpbeb;
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.pcpkkbfpbeb <- (decode_pb_djpaibjmmoe (Pbrt.Decoder.nested d)) :: v.pcpkkbfpbeb;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hpphifdfjjj), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pcpkkbfpbeb = v.pcpkkbfpbeb;
  } : hpphifdfjjj)

let rec decode_pb_cgcbkhnbohm d =
  let v = default_cgcbkhnbohm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.gkfjbgdelik <- Some (decode_pb_hpphifdfjjj (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cgcbkhnbohm), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gkfjbgdelik = v.gkfjbgdelik;
  } : cgcbkhnbohm)

let rec decode_pb_cllnjecndkl d =
  let v = default_cllnjecndkl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.phfgnlopnbm <- List.rev v.phfgnlopnbm;
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.int32_as_varint d
      ) in
      v.phfgnlopnbm <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.phfgnlopnbm;
      );
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cllnjecndkl), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    phfgnlopnbm = v.phfgnlopnbm;
  } : cllnjecndkl)

let rec decode_pb_fpilmpnpiel d =
  let v = default_fpilmpnpiel_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.agndiegkeih <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fpilmpnpiel), field(1)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.jjfopmclfgp <- Some (decode_pb_bakpidleifi (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fpilmpnpiel), field(6)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.onlljjegjdc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fpilmpnpiel), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    agndiegkeih = v.agndiegkeih;
    jjfopmclfgp = v.jjfopmclfgp;
    onlljjegjdc = v.onlljjegjdc;
  } : fpilmpnpiel)

let rec decode_pb_eamfankbgkd d =
  let v = default_eamfankbgkd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ikddpmdgcaj <- List.rev v.ikddpmdgcaj;
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.ikddpmdgcaj <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eamfankbgkd), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ikddpmdgcaj = v.ikddpmdgcaj;
  } : eamfankbgkd)

let rec decode_pb_jlgejhomcin d =
  let v = default_jlgejhomcin_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.pfmlckgckob <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jlgejhomcin), field(1)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.fdjjjhbladf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jlgejhomcin), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pfmlckgckob = v.pfmlckgckob;
    fdjjjhbladf = v.fdjjjhbladf;
  } : jlgejhomcin)

let rec decode_pb_iejadeeklgn d =
  let v = default_iejadeeklgn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hhcboafecgp <- List.rev v.hhcboafecgp;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.hhcboafecgp <- (decode_pb_jlgejhomcin (Pbrt.Decoder.nested d)) :: v.hhcboafecgp;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iejadeeklgn), field(13)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.jfacjfdkeio <- Pbrt.Decoder.bool d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iejadeeklgn), field(5)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.bgecmdbfigi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iejadeeklgn), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hhcboafecgp = v.hhcboafecgp;
    jfacjfdkeio = v.jfacjfdkeio;
    bgecmdbfigi = v.bgecmdbfigi;
  } : iejadeeklgn)

let rec decode_pb_pmdmaockcjp d =
  let v = default_pmdmaockcjp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.amiiemieofe <- List.rev v.amiiemieofe;
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.int32_as_varint d
      ) in
      v.amiiemieofe <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.amiiemieofe;
      );
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pmdmaockcjp), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    amiiemieofe = v.amiiemieofe;
  } : pmdmaockcjp)

let rec decode_pb_hhddmdcflml d =
  let v = default_hhddmdcflml_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.joogimckeph <- List.rev v.joogimckeph;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.joogimckeph <- (decode_pb_iejadeeklgn (Pbrt.Decoder.nested d)) :: v.joogimckeph;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhddmdcflml), field(1)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.haggkfjeckg <- Some (decode_pb_pmdmaockcjp (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhddmdcflml), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    joogimckeph = v.joogimckeph;
    haggkfjeckg = v.haggkfjeckg;
  } : hhddmdcflml)

let rec decode_pb_mbokaahegfk d =
  let v = default_mbokaahegfk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.diclgegabnh <- List.rev v.diclgegabnh;
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.bool d
      ) in
      v.diclgegabnh <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.diclgegabnh;
      );
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mbokaahegfk), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    diclgegabnh = v.diclgegabnh;
  } : mbokaahegfk)

let rec decode_pb_dmdkacfejli d =
  let v = default_dmdkacfejli_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_id_list <- List.rev v.avatar_id_list;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dmdkacfejli), field(7)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.joipnmmehbm <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dmdkacfejli), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id_list = v.avatar_id_list;
    joipnmmehbm = v.joipnmmehbm;
  } : dmdkacfejli)

let rec decode_pb_cbgphimaond d =
  let v = default_cbgphimaond_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.pogejanpebj <- Some (decode_pb_oobhdlegikm (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbgphimaond), field(12)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.pmoenkofnla <- Some (decode_pb_cgcbkhnbohm (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbgphimaond), field(9)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.oachfpajdbo <- Some (decode_pb_cllnjecndkl (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbgphimaond), field(2)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.kjicoehehhk <- Some (decode_pb_fpilmpnpiel (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbgphimaond), field(1)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.gjbcapfdgka <- Some (decode_pb_eamfankbgkd (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbgphimaond), field(14)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.kiomcdghhlo <- Some (decode_pb_hhddmdcflml (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbgphimaond), field(3)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.aggmbfmaepl <- Some (decode_pb_mbokaahegfk (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbgphimaond), field(7)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.nnibggkcbdj <- Some (decode_pb_dmdkacfejli (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbgphimaond), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pogejanpebj = v.pogejanpebj;
    pmoenkofnla = v.pmoenkofnla;
    oachfpajdbo = v.oachfpajdbo;
    kjicoehehhk = v.kjicoehehhk;
    gjbcapfdgka = v.gjbcapfdgka;
    kiomcdghhlo = v.kiomcdghhlo;
    aggmbfmaepl = v.aggmbfmaepl;
    nnibggkcbdj = v.nnibggkcbdj;
  } : cbgphimaond)

let rec decode_pb_pdoifoocoll d =
  let v = default_pdoifoocoll_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.mdnnnihndjk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdoifoocoll), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mdnnnihndjk = v.mdnnnihndjk;
  } : pdoifoocoll)

let rec decode_pb_glbffhmcbkd d =
  let v = default_glbffhmcbkd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.ljfkbkphogc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glbffhmcbkd), field(11)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.echifpahiec <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glbffhmcbkd), field(2)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.njfgdmkikpb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glbffhmcbkd), field(1)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.ipoaoopkgla <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glbffhmcbkd), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ljfkbkphogc = v.ljfkbkphogc;
    echifpahiec = v.echifpahiec;
    njfgdmkikpb = v.njfgdmkikpb;
    ipoaoopkgla = v.ipoaoopkgla;
  } : glbffhmcbkd)

let rec decode_pb_jcldbblbapn d =
  let v = default_jcldbblbapn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hifokbodgbe <- List.rev v.hifokbodgbe;
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.ehkdpkipimp <- Some (decode_pb_jkggceplagl (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcldbblbapn), field(3)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.lfleifodebe <- Some (decode_pb_blhhnmhcodp (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcldbblbapn), field(15)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.ekglbfofkkd <- Some (decode_pb_cndojeanndh (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcldbblbapn), field(4)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.nnibggkcbdj <- Some (decode_pb_ccohodejlfe (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcldbblbapn), field(11)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.finbdgjedjo <- Some (decode_pb_dkmldddplbi (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcldbblbapn), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.fhpollcfknc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcldbblbapn), field(6)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.hifokbodgbe <- (decode_pb_cbgphimaond (Pbrt.Decoder.nested d)) :: v.hifokbodgbe;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcldbblbapn), field(10)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.lickecpakcj <- Some (decode_pb_bincokigfgm (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcldbblbapn), field(13)" pk
    | Some (958, Pbrt.Bytes) -> begin
      v.gjbcapfdgka <- Some (decode_pb_ahdfkbajdlh (Pbrt.Decoder.nested d));
    end
    | Some (958, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcldbblbapn), field(958)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.pmoenkofnla <- Some (decode_pb_cgcbkhnbohm (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcldbblbapn), field(1)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.pogejanpebj <- Some (decode_pb_oobhdlegikm (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcldbblbapn), field(7)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.dgohjiekiai <- Some (decode_pb_pdoifoocoll (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcldbblbapn), field(2)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.kjicoehehhk <- Some (decode_pb_lhakogbpaen (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcldbblbapn), field(14)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.ocjhnoaacgc <- Some (decode_pb_glbffhmcbkd (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcldbblbapn), field(9)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.emmkiajfeeh <- Some (decode_pb_jhogcidfaoc (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcldbblbapn), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ehkdpkipimp = v.ehkdpkipimp;
    lfleifodebe = v.lfleifodebe;
    ekglbfofkkd = v.ekglbfofkkd;
    nnibggkcbdj = v.nnibggkcbdj;
    finbdgjedjo = v.finbdgjedjo;
    fhpollcfknc = v.fhpollcfknc;
    hifokbodgbe = v.hifokbodgbe;
    lickecpakcj = v.lickecpakcj;
    gjbcapfdgka = v.gjbcapfdgka;
    pmoenkofnla = v.pmoenkofnla;
    pogejanpebj = v.pogejanpebj;
    dgohjiekiai = v.dgohjiekiai;
    kjicoehehhk = v.kjicoehehhk;
    ocjhnoaacgc = v.ocjhnoaacgc;
    emmkiajfeeh = v.emmkiajfeeh;
  } : jcldbblbapn)

let rec decode_pb_jjablbdmgfj d =
  let v = default_jjablbdmgfj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.dgpfcmkpkii <- List.rev v.dgpfcmkpkii;
      v.kcmmhoijgbh <- List.rev v.kcmmhoijgbh;
      v.pefldkdahmf <- List.rev v.pefldkdahmf;
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.fbgcbokaopf <- decode_pb_cieanjnnbbg d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jjablbdmgfj), field(7)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.pefldkdahmf <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jjablbdmgfj), field(12)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.kcmmhoijgbh <- (decode_pb_dcbalomaani (Pbrt.Decoder.nested d)) :: v.kcmmhoijgbh;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jjablbdmgfj), field(11)" pk
    | Some (10, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.bool d
      ) in
      v.dgpfcmkpkii <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.dgpfcmkpkii;
      );
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jjablbdmgfj), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fbgcbokaopf = v.fbgcbokaopf;
    pefldkdahmf = v.pefldkdahmf;
    kcmmhoijgbh = v.kcmmhoijgbh;
    dgpfcmkpkii = v.dgpfcmkpkii;
  } : jjablbdmgfj)

let rec decode_pb_dbecpakjhjj d =
  let v = default_dbecpakjhjj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bimildojagm <- List.rev v.bimildojagm;
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.bimildojagm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dbecpakjhjj), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bimildojagm = v.bimildojagm;
  } : dbecpakjhjj)

let rec decode_pb_rogue_unlock_progress d =
  let v = default_rogue_unlock_progress_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.unlock_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_unlock_progress), field(4)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.progress <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_unlock_progress), field(13)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.finish <- Pbrt.Decoder.bool d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_unlock_progress), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    unlock_id = v.unlock_id;
    progress = v.progress;
    finish = v.finish;
  } : rogue_unlock_progress)

let rec decode_pb_oimmmlnoicd d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_talent_status_lock:oimmmlnoicd)
  | 1 -> (Rogue_talent_status_unlock:oimmmlnoicd)
  | 2 -> (Rogue_talent_status_enable:oimmmlnoicd)
  | _ -> Pbrt.Decoder.malformed_variant "oimmmlnoicd"

let rec decode_pb_johbdbffgje d =
  let v = default_johbdbffgje_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.happnefcgoc <- List.rev v.happnefcgoc;
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.happnefcgoc <- (decode_pb_rogue_unlock_progress (Pbrt.Decoder.nested d)) :: v.happnefcgoc;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(johbdbffgje), field(6)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.hehehnicpjn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(johbdbffgje), field(5)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.status <- decode_pb_oimmmlnoicd d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(johbdbffgje), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    happnefcgoc = v.happnefcgoc;
    hehehnicpjn = v.hehehnicpjn;
    status = v.status;
  } : johbdbffgje)

let rec decode_pb_lljpmigaffg d =
  let v = default_lljpmigaffg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.kdfddhcicoa <- List.rev v.kdfddhcicoa;
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.kdfddhcicoa <- (decode_pb_johbdbffgje (Pbrt.Decoder.nested d)) :: v.kdfddhcicoa;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lljpmigaffg), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kdfddhcicoa = v.kdfddhcicoa;
  } : lljpmigaffg)

let rec decode_pb_mpjedkpbkbi d =
  let v = default_mpjedkpbkbi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.mdnnnihndjk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mpjedkpbkbi), field(3)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.fnbokobiimm <- Some (decode_pb_lljpmigaffg (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mpjedkpbkbi), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mdnnnihndjk = v.mdnnnihndjk;
    fnbokobiimm = v.fnbokobiimm;
  } : mpjedkpbkbi)

let rec decode_pb_keljbjcgfja d =
  let v = default_keljbjcgfja_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.meoekcpafch <- List.rev v.meoekcpafch;
      v.pcpganjlmml <- List.rev v.pcpganjlmml;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.nbbglnjencp <- Some (decode_pb_jjablbdmgfj (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(keljbjcgfja), field(12)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.dgohjiekiai <- Some (decode_pb_pdoifoocoll (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(keljbjcgfja), field(13)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.gjbcapfdgka <- Some (decode_pb_dbecpakjhjj (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(keljbjcgfja), field(3)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.pcpganjlmml <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(keljbjcgfja), field(7)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.meoekcpafch <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(keljbjcgfja), field(1)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.pncgddoigad <- Some (decode_pb_lafgnipaikl (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(keljbjcgfja), field(6)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.bbanknacajb <- Some (decode_pb_mpjedkpbkbi (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(keljbjcgfja), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nbbglnjencp = v.nbbglnjencp;
    dgohjiekiai = v.dgohjiekiai;
    gjbcapfdgka = v.gjbcapfdgka;
    pcpganjlmml = v.pcpganjlmml;
    meoekcpafch = v.meoekcpafch;
    pncgddoigad = v.pncgddoigad;
    bbanknacajb = v.bbanknacajb;
  } : keljbjcgfja)

let rec decode_pb_ffadoeiaejd d =
  let v = default_ffadoeiaejd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hifokbodgbe <- List.rev v.hifokbodgbe;
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.hifokbodgbe <- (decode_pb_cbgphimaond (Pbrt.Decoder.nested d)) :: v.hifokbodgbe;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ffadoeiaejd), field(8)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.fhpollcfknc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ffadoeiaejd), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hifokbodgbe = v.hifokbodgbe;
    fhpollcfknc = v.fhpollcfknc;
  } : ffadoeiaejd)

let rec decode_pb_mlgkofmempm d =
  let v = default_mlgkofmempm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pcpganjlmml <- List.rev v.pcpganjlmml;
      v.meoekcpafch <- List.rev v.meoekcpafch;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.nbbglnjencp <- Some (decode_pb_jjablbdmgfj (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mlgkofmempm), field(7)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.pncgddoigad <- Some (decode_pb_lafgnipaikl (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mlgkofmempm), field(10)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.meoekcpafch <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mlgkofmempm), field(2)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.bbanknacajb <- Some (decode_pb_mpjedkpbkbi (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mlgkofmempm), field(15)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.pcpganjlmml <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mlgkofmempm), field(6)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.gjbcapfdgka <- Some (decode_pb_dbecpakjhjj (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mlgkofmempm), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nbbglnjencp = v.nbbglnjencp;
    pncgddoigad = v.pncgddoigad;
    meoekcpafch = v.meoekcpafch;
    bbanknacajb = v.bbanknacajb;
    pcpganjlmml = v.pcpganjlmml;
    gjbcapfdgka = v.gjbcapfdgka;
  } : mlgkofmempm)

let rec decode_pb_kgcppamgheh d =
  let v = default_kgcppamgheh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.fealelmejhl <- List.rev v.fealelmejhl;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.kahhjlklcjl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgcppamgheh), field(1)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.fpjdkccalmk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgcppamgheh), field(14)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.hdnieedkagk <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgcppamgheh), field(10)" pk
    | Some (901, Pbrt.Varint) -> begin
      v.akigkkfhhei <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (901, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgcppamgheh), field(901)" pk
    | Some (1227, Pbrt.Varint) -> begin
      v.kbofiolbnan <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1227, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgcppamgheh), field(1227)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.pogejanpebj <- Some (decode_pb_eijagapkfad (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgcppamgheh), field(3)" pk
    | Some (1436, Pbrt.Varint) -> begin
      v.fhpollcfknc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1436, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgcppamgheh), field(1436)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.bjhddalojnh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgcppamgheh), field(8)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.cblhpijhdge <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgcppamgheh), field(13)" pk
    | Some (679, Pbrt.Varint) -> begin
      v.lpgaoolbbfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (679, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgcppamgheh), field(679)" pk
    | Some (1090, Pbrt.Bytes) -> begin
      v.finbdgjedjo <- Some (decode_pb_dkmldddplbi (Pbrt.Decoder.nested d));
    end
    | Some (1090, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgcppamgheh), field(1090)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.ccfbdacgomf <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgcppamgheh), field(9)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.cgcgiimcaaa <- Some (decode_pb_lineup_info (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgcppamgheh), field(2)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.emkjkjbnelj <- decode_pb_pkkjdbmkgck d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgcppamgheh), field(4)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.fealelmejhl <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgcppamgheh), field(7)" pk
    | Some (1118, Pbrt.Varint) -> begin
      v.ilfkfbfheea <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1118, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgcppamgheh), field(1118)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.pmoenkofnla <- Some (decode_pb_hpphifdfjjj (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgcppamgheh), field(5)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.khbgofeemkc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgcppamgheh), field(11)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.fpgaklkbimb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgcppamgheh), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kahhjlklcjl = v.kahhjlklcjl;
    fpjdkccalmk = v.fpjdkccalmk;
    hdnieedkagk = v.hdnieedkagk;
    akigkkfhhei = v.akigkkfhhei;
    kbofiolbnan = v.kbofiolbnan;
    pogejanpebj = v.pogejanpebj;
    fhpollcfknc = v.fhpollcfknc;
    bjhddalojnh = v.bjhddalojnh;
    cblhpijhdge = v.cblhpijhdge;
    lpgaoolbbfm = v.lpgaoolbbfm;
    finbdgjedjo = v.finbdgjedjo;
    ccfbdacgomf = v.ccfbdacgomf;
    cgcgiimcaaa = v.cgcgiimcaaa;
    emkjkjbnelj = v.emkjkjbnelj;
    fealelmejhl = v.fealelmejhl;
    ilfkfbfheea = v.ilfkfbfheea;
    pmoenkofnla = v.pmoenkofnla;
    khbgofeemkc = v.khbgofeemkc;
    fpgaklkbimb = v.fpgaklkbimb;
  } : kgcppamgheh)

let rec decode_pb_lepofdcgpgo d =
  let v = default_lepofdcgpgo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hdkkdjobple <- List.rev v.hdkkdjobple;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.hdkkdjobple <- (decode_pb_fffkbmhfeed (Pbrt.Decoder.nested d)) :: v.hdkkdjobple;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lepofdcgpgo), field(10)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.moegphddhbf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lepofdcgpgo), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hdkkdjobple = v.hdkkdjobple;
    moegphddhbf = v.moegphddhbf;
  } : lepofdcgpgo)

let rec decode_pb_nmkclmlbhgc d =
  let v = default_nmkclmlbhgc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.khbgofeemkc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nmkclmlbhgc), field(11)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.ibcbbnibjai <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nmkclmlbhgc), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    khbgofeemkc = v.khbgofeemkc;
    ibcbbnibjai = v.ibcbbnibjai;
  } : nmkclmlbhgc)

let rec decode_pb_ichpoajgklm d =
  let v = default_ichpoajgklm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.dajmkddckgh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ichpoajgklm), field(15)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.ppahlalicma <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ichpoajgklm), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dajmkddckgh = v.dajmkddckgh;
    ppahlalicma = v.ppahlalicma;
  } : ichpoajgklm)

let rec decode_pb_cdhoocpacib d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(cdhoocpacib)" pk

let rec decode_pb_gmakianogec d =
  let v = default_gmakianogec_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.mmppaiggmon <- Some (decode_pb_keljbjcgfja (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gmakianogec), field(15)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.jpaolljmggn <- Some (decode_pb_jcldbblbapn (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gmakianogec), field(3)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.fecdamigijp <- Some (decode_pb_mlgkofmempm (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gmakianogec), field(14)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gmakianogec), field(13)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.iegpchobmgo <- Some (decode_pb_kgcppamgheh (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gmakianogec), field(7)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.gngfcddjjbi <- Some (decode_pb_ffadoeiaejd (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gmakianogec), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mmppaiggmon = v.mmppaiggmon;
    jpaolljmggn = v.jpaolljmggn;
    fecdamigijp = v.fecdamigijp;
    retcode = v.retcode;
    iegpchobmgo = v.iegpchobmgo;
    gngfcddjjbi = v.gngfcddjjbi;
  } : gmakianogec)

let rec decode_pb_fjkdmgaifpn d =
  let v = default_fjkdmgaifpn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.mnnlebgmeee <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fjkdmgaifpn), field(14)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.pbonhgdihdk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fjkdmgaifpn), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mnnlebgmeee = v.mnnlebgmeee;
    pbonhgdihdk = v.pbonhgdihdk;
  } : fjkdmgaifpn)

let rec decode_pb_goablpdaaph d =
  let v = default_goablpdaaph_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(goablpdaaph), field(12)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.jpaolljmggn <- Some (decode_pb_jcldbblbapn (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(goablpdaaph), field(5)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.akfdaaaiich <- Some (decode_pb_hefgcbjdeem (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(goablpdaaph), field(3)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.gngfcddjjbi <- Some (decode_pb_ffadoeiaejd (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(goablpdaaph), field(1)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.pbonhgdihdk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(goablpdaaph), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    jpaolljmggn = v.jpaolljmggn;
    akfdaaaiich = v.akfdaaaiich;
    gngfcddjjbi = v.gngfcddjjbi;
    pbonhgdihdk = v.pbonhgdihdk;
  } : goablpdaaph)

let rec decode_pb_obhcibfiedf d =
  let v = default_obhcibfiedf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(obhcibfiedf), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
  } : obhcibfiedf)

let rec decode_pb_lhhphednkmj d =
  let v = default_lhhphednkmj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.akfdaaaiich <- Some (decode_pb_hefgcbjdeem (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhhphednkmj), field(7)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.gngfcddjjbi <- Some (decode_pb_ffadoeiaejd (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhhphednkmj), field(9)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.jpaolljmggn <- Some (decode_pb_jcldbblbapn (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhhphednkmj), field(12)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhhphednkmj), field(8)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhhphednkmj), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    akfdaaaiich = v.akfdaaaiich;
    gngfcddjjbi = v.gngfcddjjbi;
    jpaolljmggn = v.jpaolljmggn;
    retcode = v.retcode;
    id = v.id;
  } : lhhphednkmj)

let rec decode_pb_ijocfggamla d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(ijocfggamla)" pk

let rec decode_pb_klajnbalbkc d =
  let v = default_klajnbalbkc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.kjicoehehhk <- Some (decode_pb_lhakogbpaen (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(klajnbalbkc), field(3)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.fecdamigijp <- Some (decode_pb_mlgkofmempm (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(klajnbalbkc), field(1)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.mmppaiggmon <- Some (decode_pb_keljbjcgfja (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(klajnbalbkc), field(7)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.akfdaaaiich <- Some (decode_pb_hefgcbjdeem (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(klajnbalbkc), field(12)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(klajnbalbkc), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kjicoehehhk = v.kjicoehehhk;
    fecdamigijp = v.fecdamigijp;
    mmppaiggmon = v.mmppaiggmon;
    akfdaaaiich = v.akfdaaaiich;
    retcode = v.retcode;
  } : klajnbalbkc)

let rec decode_pb_jmohaodeehg d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(jmohaodeehg)" pk

let rec decode_pb_hfcohkmgeml d =
  let v = default_hfcohkmgeml_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.iegpchobmgo <- Some (decode_pb_kgcppamgheh (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfcohkmgeml), field(10)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.kjicoehehhk <- Some (decode_pb_lhakogbpaen (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfcohkmgeml), field(1)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfcohkmgeml), field(15)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.mmppaiggmon <- Some (decode_pb_keljbjcgfja (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfcohkmgeml), field(11)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.fecdamigijp <- Some (decode_pb_mlgkofmempm (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfcohkmgeml), field(13)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.akfdaaaiich <- Some (decode_pb_hefgcbjdeem (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfcohkmgeml), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    iegpchobmgo = v.iegpchobmgo;
    kjicoehehhk = v.kjicoehehhk;
    retcode = v.retcode;
    mmppaiggmon = v.mmppaiggmon;
    fecdamigijp = v.fecdamigijp;
    akfdaaaiich = v.akfdaaaiich;
  } : hfcohkmgeml)

let rec decode_pb_ckheiddckpi d =
  let v = default_ckheiddckpi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.oocjacfoofn <- List.rev v.oocjacfoofn;
      v.okhflbihfhm <- List.rev v.okhflbihfhm;
      v.base_avatar_id_list <- List.rev v.base_avatar_id_list;
      v.eabjmdoajdk <- List.rev v.eabjmdoajdk;
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.eabjmdoajdk <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ckheiddckpi), field(11)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.bajeglndfpe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ckheiddckpi), field(13)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.base_avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ckheiddckpi), field(15)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.ddkgbmlkdkk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ckheiddckpi), field(1)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.okhflbihfhm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ckheiddckpi), field(10)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.oocjacfoofn <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ckheiddckpi), field(6)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ckheiddckpi), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    eabjmdoajdk = v.eabjmdoajdk;
    bajeglndfpe = v.bajeglndfpe;
    base_avatar_id_list = v.base_avatar_id_list;
    ddkgbmlkdkk = v.ddkgbmlkdkk;
    okhflbihfhm = v.okhflbihfhm;
    oocjacfoofn = v.oocjacfoofn;
    id = v.id;
  } : ckheiddckpi)

let rec decode_pb_pljckbilfkd d =
  let v = default_pljckbilfkd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.jpaolljmggn <- Some (decode_pb_jcldbblbapn (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pljckbilfkd), field(8)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.akfdaaaiich <- Some (decode_pb_hefgcbjdeem (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pljckbilfkd), field(12)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pljckbilfkd), field(11)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.scene <- Some (decode_pb_scene_info (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pljckbilfkd), field(7)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.lineup <- Some (decode_pb_lineup_info (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pljckbilfkd), field(9)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.nimbhcolfld <- Some (decode_pb_lepofdcgpgo (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pljckbilfkd), field(14)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.gngfcddjjbi <- Some (decode_pb_ffadoeiaejd (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pljckbilfkd), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jpaolljmggn = v.jpaolljmggn;
    akfdaaaiich = v.akfdaaaiich;
    retcode = v.retcode;
    scene = v.scene;
    lineup = v.lineup;
    nimbhcolfld = v.nimbhcolfld;
    gngfcddjjbi = v.gngfcddjjbi;
  } : pljckbilfkd)

let rec decode_pb_pinamnlfehm d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(pinamnlfehm)" pk

let rec decode_pb_ancdaaalmie d =
  let v = default_ancdaaalmie_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.jpaolljmggn <- Some (decode_pb_lafgnipaikl (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ancdaaalmie), field(5)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ancdaaalmie), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jpaolljmggn = v.jpaolljmggn;
    retcode = v.retcode;
  } : ancdaaalmie)

let rec decode_pb_gjpomjhoidj d =
  let v = default_gjpomjhoidj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.jpaolljmggn <- Some (decode_pb_gnhfgpglbae (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gjpomjhoidj), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jpaolljmggn = v.jpaolljmggn;
  } : gjpomjhoidj)

let rec decode_pb_ekocemphhkp d =
  let v = default_ekocemphhkp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.mnnlebgmeee <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ekocemphhkp), field(11)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.pbonhgdihdk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ekocemphhkp), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mnnlebgmeee = v.mnnlebgmeee;
    pbonhgdihdk = v.pbonhgdihdk;
  } : ekocemphhkp)

let rec decode_pb_cfmifanddad d =
  let v = default_cfmifanddad_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.pdpfcfglgco <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cfmifanddad), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pdpfcfglgco = v.pdpfcfglgco;
  } : cfmifanddad)

let rec decode_pb_rogue_sync_context_board_event d =
  let v = default_rogue_sync_context_board_event_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.modifier_effect_type <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_sync_context_board_event), field(9)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.board_event_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_sync_context_board_event), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    modifier_effect_type = v.modifier_effect_type;
    board_event_id = v.board_event_id;
  } : rogue_sync_context_board_event)

let rec decode_pb_kiadjegoijf d =
  let v = default_kiadjegoijf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.bpiefglcbmf <- Some (decode_pb_cfmifanddad (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kiadjegoijf), field(2)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.gejnmghhlln <- Some (decode_pb_rogue_sync_context_board_event (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kiadjegoijf), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bpiefglcbmf = v.bpiefglcbmf;
    gejnmghhlln = v.gejnmghhlln;
  } : kiadjegoijf)

let rec decode_pb_dpfekedneha d =
  let v = default_dpfekedneha_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.mnnlebgmeee <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dpfekedneha), field(12)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.pbonhgdihdk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dpfekedneha), field(7)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.pnchhcaekef <- Some (decode_pb_kiadjegoijf (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dpfekedneha), field(1)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dpfekedneha), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mnnlebgmeee = v.mnnlebgmeee;
    pbonhgdihdk = v.pbonhgdihdk;
    pnchhcaekef = v.pnchhcaekef;
    retcode = v.retcode;
  } : dpfekedneha)

let rec decode_pb_hbigniokkbd d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(hbigniokkbd)" pk

let rec decode_pb_ehnicpcloei d =
  let v = default_ehnicpcloei_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ehnicpcloei), field(10)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.jpaolljmggn <- Some (decode_pb_nidknnfjgmp (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ehnicpcloei), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    jpaolljmggn = v.jpaolljmggn;
  } : ehnicpcloei)

let rec decode_pb_jffoofblfgc d =
  let v = default_jffoofblfgc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.idllpehphcb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jffoofblfgc), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    idllpehphcb = v.idllpehphcb;
  } : jffoofblfgc)

let rec decode_pb_efhfafjmnid d =
  let v = default_efhfafjmnid_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.idllpehphcb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(efhfafjmnid), field(14)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(efhfafjmnid), field(8)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.lddenbcdjcm <- Some (decode_pb_memfcodlioa (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(efhfafjmnid), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    idllpehphcb = v.idllpehphcb;
    retcode = v.retcode;
    lddenbcdjcm = v.lddenbcdjcm;
  } : efhfafjmnid)

let rec decode_pb_hfemgjanplj d =
  let v = default_hfemgjanplj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.fealelmejhl <- List.rev v.fealelmejhl;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.fealelmejhl <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfemgjanplj), field(10)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.lickecpakcj <- Some (decode_pb_bincokigfgm (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfemgjanplj), field(9)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.kahhjlklcjl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfemgjanplj), field(14)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.iegpchobmgo <- Some (decode_pb_kgcppamgheh (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfemgjanplj), field(13)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.kdkdheomlmo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfemgjanplj), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fealelmejhl = v.fealelmejhl;
    lickecpakcj = v.lickecpakcj;
    kahhjlklcjl = v.kahhjlklcjl;
    iegpchobmgo = v.iegpchobmgo;
    kdkdheomlmo = v.kdkdheomlmo;
  } : hfemgjanplj)

let rec decode_pb_ikkaedikpbe d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(ikkaedikpbe)" pk

let rec decode_pb_mbbeondnfcn d =
  let v = default_mbbeondnfcn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.pkkfndimmio <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mbbeondnfcn), field(15)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.lohpklihemj <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mbbeondnfcn), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pkkfndimmio = v.pkkfndimmio;
    lohpklihemj = v.lohpklihemj;
  } : mbbeondnfcn)

let rec decode_pb_ddjfkekakdb d =
  let v = default_ddjfkekakdb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.lgbagcehkme <- List.rev v.lgbagcehkme;
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.lgbagcehkme <- (decode_pb_mbbeondnfcn (Pbrt.Decoder.nested d)) :: v.lgbagcehkme;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddjfkekakdb), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lgbagcehkme = v.lgbagcehkme;
  } : ddjfkekakdb)

let rec decode_pb_blpodikpfic d =
  let v = default_blpodikpfic_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blpodikpfic), field(8)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.jkdkdpoblli <- Some (decode_pb_ddjfkekakdb (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blpodikpfic), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    jkdkdpoblli = v.jkdkdpoblli;
  } : blpodikpfic)

let rec decode_pb_bjgiingohfc d =
  let v = default_bjgiingohfc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.paofpgekpfe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bjgiingohfc), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    paofpgekpfe = v.paofpgekpfe;
  } : bjgiingohfc)

let rec decode_pb_nidoadddcnf d =
  let v = default_nidoadddcnf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nidoadddcnf), field(9)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.boeaanepgoc <- Pbrt.Decoder.bool d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nidoadddcnf), field(15)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.amikofgncbo <- Some (decode_pb_mnicidbdjfi (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nidoadddcnf), field(4)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.jkdkdpoblli <- Some (decode_pb_ddjfkekakdb (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nidoadddcnf), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    boeaanepgoc = v.boeaanepgoc;
    amikofgncbo = v.amikofgncbo;
    jkdkdpoblli = v.jkdkdpoblli;
  } : nidoadddcnf)

let rec decode_pb_lkonjahngcd d =
  let v = default_lkonjahngcd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.base_avatar_id_list <- List.rev v.base_avatar_id_list;
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.base_avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lkonjahngcd), field(15)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.prop_entity_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lkonjahngcd), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    base_avatar_id_list = v.base_avatar_id_list;
    prop_entity_id = v.prop_entity_id;
  } : lkonjahngcd)

let rec decode_pb_pabnmaidjgp d =
  let v = default_pabnmaidjgp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.base_avatar_id_list <- List.rev v.base_avatar_id_list;
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.base_avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pabnmaidjgp), field(4)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pabnmaidjgp), field(14)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.nnibggkcbdj <- Some (decode_pb_ccohodejlfe (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pabnmaidjgp), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    base_avatar_id_list = v.base_avatar_id_list;
    retcode = v.retcode;
    nnibggkcbdj = v.nnibggkcbdj;
  } : pabnmaidjgp)

let rec decode_pb_dieombfmkal d =
  let v = default_dieombfmkal_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.base_avatar_id_list <- List.rev v.base_avatar_id_list;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.base_avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dieombfmkal), field(9)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.idcigdfjabi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dieombfmkal), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    base_avatar_id_list = v.base_avatar_id_list;
    idcigdfjabi = v.idcigdfjabi;
  } : dieombfmkal)

let rec decode_pb_epkaofjiehg d =
  let v = default_epkaofjiehg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.base_avatar_id_list <- List.rev v.base_avatar_id_list;
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(epkaofjiehg), field(12)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.boijkbofiid <- Some (decode_pb_micfnaphmnb (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(epkaofjiehg), field(7)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.base_avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(epkaofjiehg), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    boijkbofiid = v.boijkbofiid;
    base_avatar_id_list = v.base_avatar_id_list;
  } : epkaofjiehg)

let rec decode_pb_pihfnpbmhpi d =
  let v = default_pihfnpbmhpi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.boijkbofiid <- Some (decode_pb_micfnaphmnb (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pihfnpbmhpi), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    boijkbofiid = v.boijkbofiid;
  } : pihfnpbmhpi)

let rec decode_pb_molameggbnh d =
  let v = default_molameggbnh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.ocjhnoaacgc <- Some (decode_pb_glbffhmcbkd (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(molameggbnh), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ocjhnoaacgc = v.ocjhnoaacgc;
  } : molameggbnh)

let rec decode_pb_hookmgahiji d =
  let v = default_hookmgahiji_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.emmkiajfeeh <- Some (decode_pb_jhogcidfaoc (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hookmgahiji), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    emmkiajfeeh = v.emmkiajfeeh;
  } : hookmgahiji)

let rec decode_pb_pcbionfiecl d =
  let v = default_pcbionfiecl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.mgdnainpahe <- decode_pb_mmfnjjmglfd d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pcbionfiecl), field(13)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.mknhgcengfk <- decode_pb_kebkmnaehol d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pcbionfiecl), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mgdnainpahe = v.mgdnainpahe;
    mknhgcengfk = v.mknhgcengfk;
  } : pcbionfiecl)

let rec decode_pb_pkbldbjahoj d =
  let v = default_pkbldbjahoj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.lahdpgmdloa <- List.rev v.lahdpgmdloa;
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.miheclofkjj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkbldbjahoj), field(5)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.lahdpgmdloa <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkbldbjahoj), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    miheclofkjj = v.miheclofkjj;
    lahdpgmdloa = v.lahdpgmdloa;
  } : pkbldbjahoj)

let rec decode_pb_nkgplpehibh d =
  let v = default_nkgplpehibh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.fkomandpfne <- Some (decode_pb_fdkhifelmcd (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nkgplpehibh), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fkomandpfne = v.fkomandpfne;
  } : nkgplpehibh)

let rec decode_pb_aengjlbaelj d =
  let v = default_aengjlbaelj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.bajeglndfpe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aengjlbaelj), field(1)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.onlljjegjdc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aengjlbaelj), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bajeglndfpe = v.bajeglndfpe;
    onlljjegjdc = v.onlljjegjdc;
  } : aengjlbaelj)

let rec decode_pb_ikehgclkdnj d =
  let v = default_ikehgclkdnj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.gcgeikpacmj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ikehgclkdnj), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gcgeikpacmj = v.gcgeikpacmj;
  } : ikehgclkdnj)

let rec decode_pb_flofloehlha d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(flofloehlha)" pk

let rec decode_pb_chess_rogue_skip_teaching_level_sc_rsp d =
  let v = default_chess_rogue_skip_teaching_level_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(chess_rogue_skip_teaching_level_sc_rsp), field(15)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.skip_reward_list <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(chess_rogue_skip_teaching_level_sc_rsp), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    skip_reward_list = v.skip_reward_list;
  } : chess_rogue_skip_teaching_level_sc_rsp)

let rec decode_pb_iegdfbolnpn d =
  let v = default_iegdfbolnpn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pcpganjlmml <- List.rev v.pcpganjlmml;
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.pcpganjlmml <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iegdfbolnpn), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pcpganjlmml = v.pcpganjlmml;
  } : iegdfbolnpn)

let rec decode_pb_kpfdplfbohc d =
  let v = default_kpfdplfbohc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.prop_entity_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kpfdplfbohc), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    prop_entity_id = v.prop_entity_id;
  } : kpfdplfbohc)

let rec decode_pb_fagoefkbbcl d =
  let v = default_fagoefkbbcl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.gngfcddjjbi <- Some (decode_pb_ffadoeiaejd (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fagoefkbbcl), field(5)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.kbneaoehnob <- Some (decode_pb_jcldbblbapn (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fagoefkbbcl), field(3)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.akfdaaaiich <- Some (decode_pb_hefgcbjdeem (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fagoefkbbcl), field(2)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.nimbhcolfld <- Some (decode_pb_lepofdcgpgo (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fagoefkbbcl), field(6)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fagoefkbbcl), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gngfcddjjbi = v.gngfcddjjbi;
    kbneaoehnob = v.kbneaoehnob;
    akfdaaaiich = v.akfdaaaiich;
    nimbhcolfld = v.nimbhcolfld;
    retcode = v.retcode;
  } : fagoefkbbcl)

let rec decode_pb_ebkgloopkbg d =
  let v = default_ebkgloopkbg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.aoecepofobe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebkgloopkbg), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    aoecepofobe = v.aoecepofobe;
  } : ebkgloopkbg)

let rec decode_pb_onmlnleopmo d =
  let v = default_onmlnleopmo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.emmkiajfeeh <- Some (decode_pb_jhogcidfaoc (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(onmlnleopmo), field(15)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(onmlnleopmo), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    emmkiajfeeh = v.emmkiajfeeh;
    retcode = v.retcode;
  } : onmlnleopmo)

let rec decode_pb_chhnekmendf d =
  let v = default_chhnekmendf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.aoecepofobe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(chhnekmendf), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    aoecepofobe = v.aoecepofobe;
  } : chhnekmendf)

let rec decode_pb_fdieigbnhnc d =
  let v = default_fdieigbnhnc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fdieigbnhnc), field(7)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.emmkiajfeeh <- Some (decode_pb_jhogcidfaoc (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fdieigbnhnc), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    emmkiajfeeh = v.emmkiajfeeh;
  } : fdieigbnhnc)

let rec decode_pb_leklclkagec d =
  let v = default_leklclkagec_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.aoecepofobe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(leklclkagec), field(13)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.fnhpplpmjcn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(leklclkagec), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    aoecepofobe = v.aoecepofobe;
    fnhpplpmjcn = v.fnhpplpmjcn;
  } : leklclkagec)

let rec decode_pb_djopeekdjlo d =
  let v = default_djopeekdjlo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.emmkiajfeeh <- Some (decode_pb_jhogcidfaoc (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(djopeekdjlo), field(8)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.iphdoglidch <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(djopeekdjlo), field(3)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.fnhpplpmjcn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(djopeekdjlo), field(1)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(djopeekdjlo), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    emmkiajfeeh = v.emmkiajfeeh;
    iphdoglidch = v.iphdoglidch;
    fnhpplpmjcn = v.fnhpplpmjcn;
    retcode = v.retcode;
  } : djopeekdjlo)

let rec decode_pb_almpmbojjki d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(almpmbojjki)" pk

let rec decode_pb_ghkdffbobdn d =
  let v = default_ghkdffbobdn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.ehdpkgafikp <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ghkdffbobdn), field(6)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.emmkiajfeeh <- Some (decode_pb_jhogcidfaoc (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ghkdffbobdn), field(2)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ghkdffbobdn), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ehdpkgafikp = v.ehdpkgafikp;
    emmkiajfeeh = v.emmkiajfeeh;
    retcode = v.retcode;
  } : ghkdffbobdn)

let rec decode_pb_lgdnbmieblp d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(lgdnbmieblp)" pk

let rec decode_pb_pgolkgmjajg d =
  let v = default_pgolkgmjajg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.jpaolljmggn <- Some (decode_pb_jcldbblbapn (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgolkgmjajg), field(1)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.gngfcddjjbi <- Some (decode_pb_ffadoeiaejd (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgolkgmjajg), field(8)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.iegpchobmgo <- Some (decode_pb_kgcppamgheh (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgolkgmjajg), field(14)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.akfdaaaiich <- Some (decode_pb_hefgcbjdeem (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgolkgmjajg), field(10)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgolkgmjajg), field(4)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.lickecpakcj <- Some (decode_pb_bincokigfgm (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgolkgmjajg), field(5)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.kjicoehehhk <- Some (decode_pb_lhakogbpaen (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgolkgmjajg), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.fecdamigijp <- Some (decode_pb_mlgkofmempm (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgolkgmjajg), field(3)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.mmppaiggmon <- Some (decode_pb_keljbjcgfja (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgolkgmjajg), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jpaolljmggn = v.jpaolljmggn;
    gngfcddjjbi = v.gngfcddjjbi;
    iegpchobmgo = v.iegpchobmgo;
    akfdaaaiich = v.akfdaaaiich;
    retcode = v.retcode;
    lickecpakcj = v.lickecpakcj;
    kjicoehehhk = v.kjicoehehhk;
    fecdamigijp = v.fecdamigijp;
    mmppaiggmon = v.mmppaiggmon;
  } : pgolkgmjajg)

let rec decode_pb_iiaonghgoeo d =
  let v = default_iiaonghgoeo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.lickecpakcj <- Some (decode_pb_bincokigfgm (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iiaonghgoeo), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lickecpakcj = v.lickecpakcj;
  } : iiaonghgoeo)

let rec decode_pb_bmpogaffecc d =
  let v = default_bmpogaffecc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.jdhhhgeinmj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bmpogaffecc), field(3)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.mooblpaanag <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bmpogaffecc), field(15)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.jhbiihbamfp <- Some (decode_pb_fdkhifelmcd (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bmpogaffecc), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jdhhhgeinmj = v.jdhhhgeinmj;
    mooblpaanag = v.mooblpaanag;
    jhbiihbamfp = v.jhbiihbamfp;
  } : bmpogaffecc)

let rec decode_pb_fmmcjlgdhoc d =
  let v = default_fmmcjlgdhoc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hdkkdjobple <- List.rev v.hdkkdjobple;
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.hmkjakicjka <- decode_pb_idlkgpjlfhc d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmmcjlgdhoc), field(2)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.mgdnainpahe <- decode_pb_alapdfpdlno d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmmcjlgdhoc), field(6)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.miheclofkjj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmmcjlgdhoc), field(14)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.hdkkdjobple <- (decode_pb_fffkbmhfeed (Pbrt.Decoder.nested d)) :: v.hdkkdjobple;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmmcjlgdhoc), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hmkjakicjka = v.hmkjakicjka;
    mgdnainpahe = v.mgdnainpahe;
    miheclofkjj = v.miheclofkjj;
    hdkkdjobple = v.hdkkdjobple;
  } : fmmcjlgdhoc)

let rec decode_pb_ibibbeddebh d =
  let v = default_ibibbeddebh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.gjbdmneacbj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibibbeddebh), field(1)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.fmjcephcaka <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibibbeddebh), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gjbdmneacbj = v.gjbdmneacbj;
    fmjcephcaka = v.fmjcephcaka;
  } : ibibbeddebh)

let rec decode_pb_ndlofgjnkee d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(ndlofgjnkee)" pk

let rec decode_pb_ehndihmpnan d =
  let v = default_ehndihmpnan_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.eimobfbmipk <- List.rev v.eimobfbmipk;
      v.ilfngpkdijj <- List.rev v.ilfngpkdijj;
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.ilfngpkdijj <- (decode_pb_nmkclmlbhgc (Pbrt.Decoder.nested d)) :: v.ilfngpkdijj;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ehndihmpnan), field(14)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ehndihmpnan), field(6)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.eimobfbmipk <- (decode_pb_ichpoajgklm (Pbrt.Decoder.nested d)) :: v.eimobfbmipk;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ehndihmpnan), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ilfngpkdijj = v.ilfngpkdijj;
    retcode = v.retcode;
    eimobfbmipk = v.eimobfbmipk;
  } : ehndihmpnan)

let rec decode_pb_ajpjjijdnbp d =
  let v = default_ajpjjijdnbp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.nbgahcjbbao <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ajpjjijdnbp), field(7)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.cckegompfdi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ajpjjijdnbp), field(12)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.pdklekppbkf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ajpjjijdnbp), field(3)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.dajmkddckgh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ajpjjijdnbp), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nbgahcjbbao = v.nbgahcjbbao;
    cckegompfdi = v.cckegompfdi;
    pdklekppbkf = v.pdklekppbkf;
    dajmkddckgh = v.dajmkddckgh;
  } : ajpjjijdnbp)

let rec decode_pb_npdkkfojanm d =
  let v = default_npdkkfojanm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.pdklekppbkf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(npdkkfojanm), field(14)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.nbgahcjbbao <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(npdkkfojanm), field(10)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.cckegompfdi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(npdkkfojanm), field(2)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.dajmkddckgh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(npdkkfojanm), field(7)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(npdkkfojanm), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pdklekppbkf = v.pdklekppbkf;
    nbgahcjbbao = v.nbgahcjbbao;
    cckegompfdi = v.cckegompfdi;
    dajmkddckgh = v.dajmkddckgh;
    retcode = v.retcode;
  } : npdkkfojanm)

let rec decode_pb_icleefeiefg d =
  let v = default_icleefeiefg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.nbgahcjbbao <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(icleefeiefg), field(9)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.pdklekppbkf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(icleefeiefg), field(13)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.dajmkddckgh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(icleefeiefg), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nbgahcjbbao = v.nbgahcjbbao;
    pdklekppbkf = v.pdklekppbkf;
    dajmkddckgh = v.dajmkddckgh;
  } : icleefeiefg)

let rec decode_pb_nkhambafchc d =
  let v = default_nkhambafchc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.nbgahcjbbao <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nkhambafchc), field(9)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.khbgofeemkc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nkhambafchc), field(10)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.dajmkddckgh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nkhambafchc), field(12)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nkhambafchc), field(6)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.pdklekppbkf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nkhambafchc), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nbgahcjbbao = v.nbgahcjbbao;
    khbgofeemkc = v.khbgofeemkc;
    dajmkddckgh = v.dajmkddckgh;
    retcode = v.retcode;
    pdklekppbkf = v.pdklekppbkf;
  } : nkhambafchc)

let rec decode_pb_kagcmpmikjb d =
  let v = default_kagcmpmikjb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.palokcoicgp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kagcmpmikjb), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    palokcoicgp = v.palokcoicgp;
  } : kagcmpmikjb)

let rec decode_pb_mggndkkjmla d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(mggndkkjmla)" pk

let rec decode_pb_ajkfhpgmhda d =
  let v = default_ajkfhpgmhda_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.akfdaaaiich <- Some (decode_pb_hefgcbjdeem (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ajkfhpgmhda), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ajkfhpgmhda), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    akfdaaaiich = v.akfdaaaiich;
    retcode = v.retcode;
  } : ajkfhpgmhda)

let rec decode_pb_elcidaalfbo d =
  let v = default_elcidaalfbo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.hgfnojflbcl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(elcidaalfbo), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgfnojflbcl = v.hgfnojflbcl;
  } : elcidaalfbo)

let rec decode_pb_ddofecncbfo d =
  let v = default_ddofecncbfo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.lpflcicnioa <- List.rev v.lpflcicnioa;
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddofecncbfo), field(7)" pk
    | Some (10, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.int32_as_varint d
      ) in
      v.lpflcicnioa <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.lpflcicnioa;
      );
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddofecncbfo), field(10)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.hgfnojflbcl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddofecncbfo), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    lpflcicnioa = v.lpflcicnioa;
    hgfnojflbcl = v.hgfnojflbcl;
  } : ddofecncbfo)

let rec decode_pb_eanjmiidoga d =
  let v = default_eanjmiidoga_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.ibcbbnibjai <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eanjmiidoga), field(10)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.khbgofeemkc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eanjmiidoga), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ibcbbnibjai = v.ibcbbnibjai;
    khbgofeemkc = v.khbgofeemkc;
  } : eanjmiidoga)

let rec decode_pb_coemajoahgi d =
  let v = default_coemajoahgi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.ehkdpkipimp <- Some (decode_pb_jkggceplagl (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(coemajoahgi), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ehkdpkipimp = v.ehkdpkipimp;
  } : coemajoahgi)

let rec decode_pb_dhlldhikfpo d =
  let v = default_dhlldhikfpo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.khbgofeemkc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dhlldhikfpo), field(7)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.status <- decode_pb_emeefgmahof d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dhlldhikfpo), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    khbgofeemkc = v.khbgofeemkc;
    status = v.status;
  } : dhlldhikfpo)

let rec decode_pb_aegpheebldn d =
  let v = default_aegpheebldn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.pdklekppbkf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aegpheebldn), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pdklekppbkf = v.pdklekppbkf;
  } : aegpheebldn)

let rec decode_pb_fjbpionpapm d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(fjbpionpapm)" pk

let rec decode_pb_ldckdflfhpa d =
  let v = default_ldckdflfhpa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ilfngpkdijj <- List.rev v.ilfngpkdijj;
      v.eimobfbmipk <- List.rev v.eimobfbmipk;
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldckdflfhpa), field(15)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.eimobfbmipk <- (decode_pb_aegpheebldn (Pbrt.Decoder.nested d)) :: v.eimobfbmipk;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldckdflfhpa), field(3)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.ilfngpkdijj <- (decode_pb_dhlldhikfpo (Pbrt.Decoder.nested d)) :: v.ilfngpkdijj;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldckdflfhpa), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    eimobfbmipk = v.eimobfbmipk;
    ilfngpkdijj = v.ilfngpkdijj;
  } : ldckdflfhpa)

let rec decode_pb_ifnibapmpae d =
  let v = default_ifnibapmpae_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.pdklekppbkf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifnibapmpae), field(10)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.cckegompfdi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifnibapmpae), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.nbgahcjbbao <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifnibapmpae), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pdklekppbkf = v.pdklekppbkf;
    cckegompfdi = v.cckegompfdi;
    nbgahcjbbao = v.nbgahcjbbao;
  } : ifnibapmpae)

let rec decode_pb_fgbhelkjiab d =
  let v = default_fgbhelkjiab_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.cckegompfdi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fgbhelkjiab), field(6)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.pdklekppbkf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fgbhelkjiab), field(3)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fgbhelkjiab), field(1)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.nbgahcjbbao <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fgbhelkjiab), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cckegompfdi = v.cckegompfdi;
    pdklekppbkf = v.pdklekppbkf;
    retcode = v.retcode;
    nbgahcjbbao = v.nbgahcjbbao;
  } : fgbhelkjiab)

let rec decode_pb_dpglhbhphjh d =
  let v = default_dpglhbhphjh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.nbgahcjbbao <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dpglhbhphjh), field(6)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.pdklekppbkf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dpglhbhphjh), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nbgahcjbbao = v.nbgahcjbbao;
    pdklekppbkf = v.pdklekppbkf;
  } : dpglhbhphjh)

let rec decode_pb_fenoahlblkf d =
  let v = default_fenoahlblkf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.pdklekppbkf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fenoahlblkf), field(3)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fenoahlblkf), field(8)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.nbgahcjbbao <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fenoahlblkf), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pdklekppbkf = v.pdklekppbkf;
    retcode = v.retcode;
    nbgahcjbbao = v.nbgahcjbbao;
  } : fenoahlblkf)

let rec decode_pb_dnfopjcoagg d =
  let v = default_dnfopjcoagg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.pdklekppbkf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dnfopjcoagg), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pdklekppbkf = v.pdklekppbkf;
  } : dnfopjcoagg)

let rec decode_pb_faflfkhkkik d =
  let v = default_faflfkhkkik_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ilfngpkdijj <- List.rev v.ilfngpkdijj;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.ilfngpkdijj <- (decode_pb_dhlldhikfpo (Pbrt.Decoder.nested d)) :: v.ilfngpkdijj;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(faflfkhkkik), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ilfngpkdijj = v.ilfngpkdijj;
  } : faflfkhkkik)

let rec decode_pb_lndljfdkjag d =
  let v = default_lndljfdkjag_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.nbbglnjencp <- Some (decode_pb_dcbalomaani (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lndljfdkjag), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nbbglnjencp = v.nbbglnjencp;
  } : lndljfdkjag)

let rec decode_pb_ndghlaenmgh d =
  let v = default_ndghlaenmgh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.nbbglnjencp <- Some (decode_pb_dcbalomaani (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ndghlaenmgh), field(3)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ndghlaenmgh), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nbbglnjencp = v.nbbglnjencp;
    retcode = v.retcode;
  } : ndghlaenmgh)

let rec decode_pb_ldpnmbfakgo d =
  let v = default_ldpnmbfakgo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.najieibfdnb <- Some (decode_pb_jjablbdmgfj (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldpnmbfakgo), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    najieibfdnb = v.najieibfdnb;
  } : ldpnmbfakgo)

let rec decode_pb_depkckidjjj d =
  let v = default_depkckidjjj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.jcjnhohkpan <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(depkckidjjj), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jcjnhohkpan = v.jcjnhohkpan;
  } : depkckidjjj)

let rec decode_pb_nokgciolbop d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(nokgciolbop)" pk

let rec decode_pb_aebddiinfcf d =
  let v = default_aebddiinfcf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.bbanknacajb <- Some (decode_pb_lljpmigaffg (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aebddiinfcf), field(1)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aebddiinfcf), field(10)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.mdnnnihndjk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aebddiinfcf), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bbanknacajb = v.bbanknacajb;
    retcode = v.retcode;
    mdnnnihndjk = v.mdnnnihndjk;
  } : aebddiinfcf)

let rec decode_pb_hlgbnfinpel d =
  let v = default_hlgbnfinpel_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.hehehnicpjn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hlgbnfinpel), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hehehnicpjn = v.hehehnicpjn;
  } : hlgbnfinpel)

let rec decode_pb_gliplffjdbn d =
  let v = default_gliplffjdbn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.mdnnnihndjk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gliplffjdbn), field(9)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gliplffjdbn), field(15)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.bbanknacajb <- Some (decode_pb_lljpmigaffg (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gliplffjdbn), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mdnnnihndjk = v.mdnnnihndjk;
    retcode = v.retcode;
    bbanknacajb = v.bbanknacajb;
  } : gliplffjdbn)

let rec decode_pb_pheokcclifc d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_clock_park_type_none:pheokcclifc)
  | 7245 -> (Cmd_clock_park_handle_wait_operation_sc_rsp:pheokcclifc)
  | 7206 -> (Cmd_clock_park_quit_script_cs_req:pheokcclifc)
  | 7212 -> (Cmd_clock_park_quit_script_sc_rsp:pheokcclifc)
  | 7223 -> (Cmd_clock_park_start_script_cs_req:pheokcclifc)
  | 7234 -> (Cmd_clock_park_get_ongoing_script_info_cs_req:pheokcclifc)
  | 7224 -> (Cmd_clock_park_get_info_sc_rsp:pheokcclifc)
  | 7208 -> (Cmd_clock_park_unlock_talent_sc_rsp:pheokcclifc)
  | 7225 -> (Cmd_clock_park_finish_script_sc_notify:pheokcclifc)
  | 7248 -> (Cmd_clock_park_battle_end_sc_notify:pheokcclifc)
  | 7207 -> (Cmd_clock_park_get_info_cs_req:pheokcclifc)
  | 7235 -> (Cmd_clock_park_use_buff_sc_rsp:pheokcclifc)
  | 7236 -> (Cmd_clock_park_handle_wait_operation_cs_req:pheokcclifc)
  | 7204 -> (Cmd_clock_park_start_script_sc_rsp:pheokcclifc)
  | 7220 -> (Cmd_clock_park_get_ongoing_script_info_sc_rsp:pheokcclifc)
  | 7211 -> (Cmd_clock_park_unlock_talent_cs_req:pheokcclifc)
  | 7203 -> (Cmd_clock_park_use_buff_cs_req:pheokcclifc)
  | _ -> Pbrt.Decoder.malformed_variant "pheokcclifc"

let rec decode_pb_jfenpgffadc d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Clock_park_play_none:jfenpgffadc)
  | 1 -> (Clock_park_play_normal_death:jfenpgffadc)
  | 2 -> (Clock_park_play_normal_pass:jfenpgffadc)
  | 5 -> (Clock_park_play_finish_script:jfenpgffadc)
  | _ -> Pbrt.Decoder.malformed_variant "jfenpgffadc"

let rec decode_pb_jpcjpojlbff d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(jpcjpojlbff)" pk

let rec decode_pb_lflcalafnbo d =
  let v = default_lflcalafnbo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.kadnckpogfc <- List.rev v.kadnckpogfc;
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.ogkiomjegel <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lflcalafnbo), field(9)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.kadnckpogfc <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lflcalafnbo), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ogkiomjegel = v.ogkiomjegel;
    kadnckpogfc = v.kadnckpogfc;
  } : lflcalafnbo)

let rec decode_pb_fafhmldeiem d =
  let v = default_fafhmldeiem_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.kdfdefeppnh <- List.rev v.kdfdefeppnh;
      v.bekholgcbpf <- List.rev v.bekholgcbpf;
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.progress <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fafhmldeiem), field(9)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fafhmldeiem), field(11)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.gegdnnbdlhe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fafhmldeiem), field(4)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.gndjgaoeccp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fafhmldeiem), field(8)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.bekholgcbpf <- (decode_pb_lflcalafnbo (Pbrt.Decoder.nested d)) :: v.bekholgcbpf;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fafhmldeiem), field(2)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.kdfdefeppnh <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fafhmldeiem), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    progress = v.progress;
    retcode = v.retcode;
    gegdnnbdlhe = v.gegdnnbdlhe;
    gndjgaoeccp = v.gndjgaoeccp;
    bekholgcbpf = v.bekholgcbpf;
    kdfdefeppnh = v.kdfdefeppnh;
  } : fafhmldeiem)

let rec decode_pb_lalaekmflhg d =
  let v = default_lalaekmflhg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.hehehnicpjn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lalaekmflhg), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hehehnicpjn = v.hehehnicpjn;
  } : lalaekmflhg)

let rec decode_pb_efoabakdjig d =
  let v = default_efoabakdjig_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(efoabakdjig), field(14)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.hehehnicpjn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(efoabakdjig), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    hehehnicpjn = v.hehehnicpjn;
  } : efoabakdjig)

let rec decode_pb_jpaeciapkbc d =
  let v = default_jpaeciapkbc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.panfmkbdjnp <- List.rev v.panfmkbdjnp;
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.ogkiomjegel <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jpaeciapkbc), field(8)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.panfmkbdjnp <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jpaeciapkbc), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ogkiomjegel = v.ogkiomjegel;
    panfmkbdjnp = v.panfmkbdjnp;
  } : jpaeciapkbc)

let rec decode_pb_ocencfaabof d =
  let v = default_ocencfaabof_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.ogkiomjegel <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ocencfaabof), field(6)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ocencfaabof), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ogkiomjegel = v.ogkiomjegel;
    retcode = v.retcode;
  } : ocencfaabof)

let rec decode_pb_dlfokjajmmp d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(dlfokjajmmp)" pk

let rec decode_pb_pkbmbpagojn d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(pkbmbpagojn)" pk

let rec decode_pb_cokgknggkaa d =
  let v = default_cokgknggkaa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ihchbmafcen <- List.rev v.ihchbmafcen;
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.jmfddoomihg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokgknggkaa), field(6)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.pkeohpicjkc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokgknggkaa), field(7)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.ihchbmafcen <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokgknggkaa), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jmfddoomihg = v.jmfddoomihg;
    pkeohpicjkc = v.pkeohpicjkc;
    ihchbmafcen = v.ihchbmafcen;
  } : cokgknggkaa)

let rec decode_pb_kpemelkknjb d =
  let v = default_kpemelkknjb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.phklikjmgkn <- List.rev v.phklikjmgkn;
      v.ihchbmafcen <- List.rev v.ihchbmafcen;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.ihchbmafcen <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kpemelkknjb), field(12)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.phklikjmgkn <- (decode_pb_cokgknggkaa (Pbrt.Decoder.nested d)) :: v.phklikjmgkn;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kpemelkknjb), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ihchbmafcen = v.ihchbmafcen;
    phklikjmgkn = v.phklikjmgkn;
  } : kpemelkknjb)

let rec decode_pb_lpcmempnhjk d =
  let v = default_lpcmempnhjk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.gbbbdblomio <- Some (decode_pb_kpemelkknjb (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lpcmempnhjk), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gbbbdblomio = v.gbbbdblomio;
  } : lpcmempnhjk)

let rec decode_pb_golmjbpcaga d =
  let v = default_golmjbpcaga_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.gbbbdblomio <- Some (decode_pb_kpemelkknjb (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(golmjbpcaga), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gbbbdblomio = v.gbbbdblomio;
  } : golmjbpcaga)

let rec decode_pb_jjoghfefnmh d =
  let v = default_jjoghfefnmh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.gbbbdblomio <- Some (decode_pb_kpemelkknjb (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jjoghfefnmh), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gbbbdblomio = v.gbbbdblomio;
  } : jjoghfefnmh)

let rec decode_pb_mefjdljoeaf d =
  let v = default_mefjdljoeaf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.gbbbdblomio <- Some (decode_pb_kpemelkknjb (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mefjdljoeaf), field(2)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.ohmaodidhnl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mefjdljoeaf), field(10)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.pgbbcblgkkh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mefjdljoeaf), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gbbbdblomio = v.gbbbdblomio;
    ohmaodidhnl = v.ohmaodidhnl;
    pgbbcblgkkh = v.pgbbcblgkkh;
  } : mefjdljoeaf)

let rec decode_pb_hmiiahhlhco d =
  let v = default_hmiiahhlhco_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.gbbbdblomio <- Some (decode_pb_kpemelkknjb (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hmiiahhlhco), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gbbbdblomio = v.gbbbdblomio;
  } : hmiiahhlhco)

let rec decode_pb_pjbmmmepaci d =
  let v = default_pjbmmmepaci_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.fbmbjgbkokp <- Pbrt.Decoder.bool d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pjbmmmepaci), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fbmbjgbkokp = v.fbmbjgbkokp;
  } : pjbmmmepaci)

let rec decode_pb_godnbimdidi d =
  let v = default_godnbimdidi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.edpdfcplkpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(godnbimdidi), field(7)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.ilhjcnegkjf <- Pbrt.Decoder.empty_nested d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(godnbimdidi), field(8)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.bkfakhgfilo <- Some (decode_pb_lpcmempnhjk (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(godnbimdidi), field(9)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.pepfpijodhi <- Some (decode_pb_golmjbpcaga (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(godnbimdidi), field(3)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.bfbjbaghama <- Some (decode_pb_jjoghfefnmh (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(godnbimdidi), field(4)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.emmenkcdomi <- Some (decode_pb_mefjdljoeaf (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(godnbimdidi), field(6)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.mdimhompfcm <- Some (decode_pb_hmiiahhlhco (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(godnbimdidi), field(15)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.jghficgepaa <- Some (decode_pb_pjbmmmepaci (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(godnbimdidi), field(2)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.klkhknehfbg <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(godnbimdidi), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    edpdfcplkpa = v.edpdfcplkpa;
    ilhjcnegkjf = v.ilhjcnegkjf;
    bkfakhgfilo = v.bkfakhgfilo;
    pepfpijodhi = v.pepfpijodhi;
    bfbjbaghama = v.bfbjbaghama;
    emmenkcdomi = v.emmenkcdomi;
    mdimhompfcm = v.mdimhompfcm;
    jghficgepaa = v.jghficgepaa;
    klkhknehfbg = v.klkhknehfbg;
  } : godnbimdidi)

let rec decode_pb_blmojdpmnjf d =
  let v = default_blmojdpmnjf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.gaganbkanln <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blmojdpmnjf), field(11)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.fciejeohcja <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blmojdpmnjf), field(1)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.pbndpcofgla <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blmojdpmnjf), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gaganbkanln = v.gaganbkanln;
    fciejeohcja = v.fciejeohcja;
    pbndpcofgla = v.pbndpcofgla;
  } : blmojdpmnjf)

let rec decode_pb_lladomjnlko d =
  let v = default_lladomjnlko_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.pkkfndimmio <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lladomjnlko), field(15)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.ijpcadfeknn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lladomjnlko), field(9)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.unique_id <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lladomjnlko), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pkkfndimmio = v.pkkfndimmio;
    ijpcadfeknn = v.ijpcadfeknn;
    unique_id = v.unique_id;
  } : lladomjnlko)

let rec decode_pb_logafbjdpkc d =
  let v = default_logafbjdpkc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.buff_list <- List.rev v.buff_list;
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.buff_list <- (decode_pb_lladomjnlko (Pbrt.Decoder.nested d)) :: v.buff_list;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(logafbjdpkc), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    buff_list = v.buff_list;
  } : logafbjdpkc)

let rec decode_pb_bpmoddlbhga d =
  let v = default_bpmoddlbhga_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pmgcchiledo <- List.rev v.pmgcchiledo;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.jlgjdhoibma <- Some (decode_pb_godnbimdidi (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpmoddlbhga), field(7)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.pogejanpebj <- Some (decode_pb_logafbjdpkc (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpmoddlbhga), field(1)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.bpnhlfahnkm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpmoddlbhga), field(4)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.elnofkbfhea <- Pbrt.Decoder.string d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpmoddlbhga), field(11)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.cdaemdonfaj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpmoddlbhga), field(9)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.mhhndeiccmp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpmoddlbhga), field(15)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.pmgcchiledo <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpmoddlbhga), field(12)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.ogkiomjegel <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpmoddlbhga), field(6)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.hnloeinfmcg <- Some (decode_pb_blmojdpmnjf (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpmoddlbhga), field(2)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.boibnciibil <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpmoddlbhga), field(10)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.cpkngiamnli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpmoddlbhga), field(5)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpmoddlbhga), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jlgjdhoibma = v.jlgjdhoibma;
    pogejanpebj = v.pogejanpebj;
    bpnhlfahnkm = v.bpnhlfahnkm;
    elnofkbfhea = v.elnofkbfhea;
    cdaemdonfaj = v.cdaemdonfaj;
    mhhndeiccmp = v.mhhndeiccmp;
    pmgcchiledo = v.pmgcchiledo;
    ogkiomjegel = v.ogkiomjegel;
    hnloeinfmcg = v.hnloeinfmcg;
    boibnciibil = v.boibnciibil;
    cpkngiamnli = v.cpkngiamnli;
    retcode = v.retcode;
  } : bpmoddlbhga)

let rec decode_pb_hjnapobgchd d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(hjnapobgchd)" pk

let rec decode_pb_giapdiikfmk d =
  let v = default_giapdiikfmk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.gbbbdblomio <- Some (decode_pb_kpemelkknjb (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(giapdiikfmk), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gbbbdblomio = v.gbbbdblomio;
  } : giapdiikfmk)

let rec decode_pb_jlghaphnkch d =
  let v = default_jlghaphnkch_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.mkdneojkaal <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jlghaphnkch), field(5)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.mmnebfbnoni <- Pbrt.Decoder.bool d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jlghaphnkch), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mkdneojkaal = v.mkdneojkaal;
    mmnebfbnoni = v.mmnebfbnoni;
  } : jlghaphnkch)

let rec decode_pb_miepedklkmi d =
  let v = default_miepedklkmi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_id_list <- List.rev v.avatar_id_list;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(miepedklkmi), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id_list = v.avatar_id_list;
  } : miepedklkmi)

let rec decode_pb_dnbdlbcjbgg d =
  let v = default_dnbdlbcjbgg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.ohmaodidhnl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dnbdlbcjbgg), field(7)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.gpanoppmekp <- Pbrt.Decoder.bool d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dnbdlbcjbgg), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ohmaodidhnl = v.ohmaodidhnl;
    gpanoppmekp = v.gpanoppmekp;
  } : dnbdlbcjbgg)

let rec decode_pb_mpfbakaodom d =
  let v = default_mpfbakaodom_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.mkdneojkaal <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mpfbakaodom), field(10)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.mmnebfbnoni <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mpfbakaodom), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mkdneojkaal = v.mkdneojkaal;
    mmnebfbnoni = v.mmnebfbnoni;
  } : mpfbakaodom)

let rec decode_pb_aifdfhgdmdk d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(aifdfhgdmdk)" pk

let rec decode_pb_kcgbmdfclno d =
  let v = default_kcgbmdfclno_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.ogkiomjegel <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcgbmdfclno), field(2)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.edpdfcplkpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcgbmdfclno), field(15)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.dejnhinclci <- Pbrt.Decoder.empty_nested d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcgbmdfclno), field(14)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.eoecodhkjah <- Some (decode_pb_giapdiikfmk (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcgbmdfclno), field(7)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.gdgfpnoeajd <- Some (decode_pb_jlghaphnkch (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcgbmdfclno), field(13)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.emhomnipcon <- Some (decode_pb_miepedklkmi (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcgbmdfclno), field(5)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.lgkmmlmpdom <- Some (decode_pb_dnbdlbcjbgg (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcgbmdfclno), field(8)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.hnhkbenjmmb <- Some (decode_pb_mpfbakaodom (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcgbmdfclno), field(4)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.enofefmhaca <- Pbrt.Decoder.empty_nested d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcgbmdfclno), field(12)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.cdaemdonfaj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcgbmdfclno), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ogkiomjegel = v.ogkiomjegel;
    edpdfcplkpa = v.edpdfcplkpa;
    dejnhinclci = v.dejnhinclci;
    eoecodhkjah = v.eoecodhkjah;
    gdgfpnoeajd = v.gdgfpnoeajd;
    emhomnipcon = v.emhomnipcon;
    lgkmmlmpdom = v.lgkmmlmpdom;
    hnhkbenjmmb = v.hnhkbenjmmb;
    enofefmhaca = v.enofefmhaca;
    cdaemdonfaj = v.cdaemdonfaj;
  } : kcgbmdfclno)

let rec decode_pb_aaklaachmin d =
  let v = default_aaklaachmin_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aaklaachmin), field(12)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.acjjpgnpdii <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aaklaachmin), field(10)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.ogkiomjegel <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aaklaachmin), field(14)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.progress <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aaklaachmin), field(5)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.mhhndeiccmp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aaklaachmin), field(7)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.jihjhonolea <- Pbrt.Decoder.bool d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aaklaachmin), field(9)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.cpkngiamnli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aaklaachmin), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    reward = v.reward;
    acjjpgnpdii = v.acjjpgnpdii;
    ogkiomjegel = v.ogkiomjegel;
    progress = v.progress;
    mhhndeiccmp = v.mhhndeiccmp;
    jihjhonolea = v.jihjhonolea;
    cpkngiamnli = v.cpkngiamnli;
  } : aaklaachmin)

let rec decode_pb_gpgmjingckf d =
  let v = default_gpgmjingckf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.edpdfcplkpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gpgmjingckf), field(3)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.jecdljepbci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gpgmjingckf), field(13)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.nhbkmmbehka <- decode_pb_jfenpgffadc d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gpgmjingckf), field(9)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.fndhpfbmefj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gpgmjingckf), field(10)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gpgmjingckf), field(1)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gpgmjingckf), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    edpdfcplkpa = v.edpdfcplkpa;
    jecdljepbci = v.jecdljepbci;
    nhbkmmbehka = v.nhbkmmbehka;
    fndhpfbmefj = v.fndhpfbmefj;
    ibllilenejp = v.ibllilenejp;
    retcode = v.retcode;
  } : gpgmjingckf)

let rec decode_pb_edhecinachi d =
  let v = default_edhecinachi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.ejkepfpphed <- Pbrt.Decoder.bool d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(edhecinachi), field(5)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.ogkiomjegel <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(edhecinachi), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ejkepfpphed = v.ejkepfpphed;
    ogkiomjegel = v.ogkiomjegel;
  } : edhecinachi)

let rec decode_pb_kklhdojledj d =
  let v = default_kklhdojledj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kklhdojledj), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : kklhdojledj)

let rec decode_pb_odojpidlebk d =
  let v = default_odojpidlebk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.edpdfcplkpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(odojpidlebk), field(5)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(odojpidlebk), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    edpdfcplkpa = v.edpdfcplkpa;
    retcode = v.retcode;
  } : odojpidlebk)

let rec decode_pb_ebipbjdklnc d =
  let v = default_ebipbjdklnc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.ogkiomjegel <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebipbjdklnc), field(7)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.edpdfcplkpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebipbjdklnc), field(13)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.unique_id <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebipbjdklnc), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ogkiomjegel = v.ogkiomjegel;
    edpdfcplkpa = v.edpdfcplkpa;
    unique_id = v.unique_id;
  } : ebipbjdklnc)

let rec decode_pb_lhpnedjanoe d =
  let v = default_lhpnedjanoe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.edpdfcplkpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhpnedjanoe), field(3)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhpnedjanoe), field(13)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.ogkiomjegel <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhpnedjanoe), field(15)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.pogejanpebj <- Some (decode_pb_logafbjdpkc (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhpnedjanoe), field(12)" pk
    | Some (1363, Pbrt.Bytes) -> begin
      v.gbbbdblomio <- Some (decode_pb_kpemelkknjb (Pbrt.Decoder.nested d));
    end
    | Some (1363, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhpnedjanoe), field(1363)" pk
    | Some (602, Pbrt.Bytes) -> begin
      v.hnloeinfmcg <- Some (decode_pb_blmojdpmnjf (Pbrt.Decoder.nested d));
    end
    | Some (602, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhpnedjanoe), field(602)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    edpdfcplkpa = v.edpdfcplkpa;
    retcode = v.retcode;
    ogkiomjegel = v.ogkiomjegel;
    pogejanpebj = v.pogejanpebj;
    gbbbdblomio = v.gbbbdblomio;
    hnloeinfmcg = v.hnloeinfmcg;
  } : lhpnedjanoe)

let rec decode_pb_opdhfiokgml d =
  let v = default_opdhfiokgml_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.mjhepdejndc <- Some (decode_pb_aaklaachmin (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(opdhfiokgml), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mjhepdejndc = v.mjhepdejndc;
  } : opdhfiokgml)

let rec decode_pb_jnmfgfjpeim d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Message_section_none:jnmfgfjpeim)
  | 1 -> (Message_section_doing:jnmfgfjpeim)
  | 2 -> (Message_section_finish:jnmfgfjpeim)
  | 3 -> (Message_section_frozen:jnmfgfjpeim)
  | _ -> Pbrt.Decoder.malformed_variant "jnmfgfjpeim"

let rec decode_pb_pbcofiploko d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Message_group_none:pbcofiploko)
  | 1 -> (Message_group_doing:pbcofiploko)
  | 2 -> (Message_group_finish:pbcofiploko)
  | 3 -> (Message_group_frozen:pbcofiploko)
  | _ -> Pbrt.Decoder.malformed_variant "pbcofiploko"

let rec decode_pb_okfachfdjei d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Battle_record_none:okfachfdjei)
  | 1 -> (Battle_record_challenge:okfachfdjei)
  | 2 -> (Battle_record_rogue:okfachfdjei)
  | _ -> Pbrt.Decoder.malformed_variant "okfachfdjei"

let rec decode_pb_jnmjmkmbnof d =
  let v = default_jnmjmkmbnof_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.olfhccbiidg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnmjmkmbnof), field(8)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnmjmkmbnof), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    olfhccbiidg = v.olfhccbiidg;
    hgjolgkaofj = v.hgjolgkaofj;
  } : jnmjmkmbnof)

let rec decode_pb_golpjolbjjh d =
  let v = default_golpjolbjjh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(golpjolbjjh), field(8)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(golpjolbjjh), field(5)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.hechfpdiado <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(golpjolbjjh), field(2)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.rank <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(golpjolbjjh), field(9)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.promotion <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(golpjolbjjh), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    exp = v.exp;
    level = v.level;
    hechfpdiado = v.hechfpdiado;
    rank = v.rank;
    promotion = v.promotion;
  } : golpjolbjjh)

let rec decode_pb_bmmefhpfkof d =
  let v = default_bmmefhpfkof_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.sub_affix_list <- List.rev v.sub_affix_list;
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bmmefhpfkof), field(3)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.main_affix_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bmmefhpfkof), field(12)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.sub_affix_list <- (decode_pb_relic_affix (Pbrt.Decoder.nested d)) :: v.sub_affix_list;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bmmefhpfkof), field(9)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bmmefhpfkof), field(13)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.hechfpdiado <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bmmefhpfkof), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    level = v.level;
    main_affix_id = v.main_affix_id;
    sub_affix_list = v.sub_affix_list;
    exp = v.exp;
    hechfpdiado = v.hechfpdiado;
  } : bmmefhpfkof)

let rec decode_pb_echcjdnihko d =
  let v = default_echcjdnihko_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.lpkpmmpdaho <- Some (decode_pb_jnmjmkmbnof (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(echcjdnihko), field(4)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.kfnielbllhi <- Some (decode_pb_golpjolbjjh (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(echcjdnihko), field(5)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.bkpajknnngf <- Some (decode_pb_bmmefhpfkof (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(echcjdnihko), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lpkpmmpdaho = v.lpkpmmpdaho;
    kfnielbllhi = v.kfnielbllhi;
    bkpajknnngf = v.bkpajknnngf;
  } : echcjdnihko)

let rec decode_pb_ffjpgmkmopp d =
  let v = default_ffjpgmkmopp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pdpfcfglgco <- List.rev v.pdpfcfglgco;
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.pdpfcfglgco <- (decode_pb_echcjdnihko (Pbrt.Decoder.nested d)) :: v.pdpfcfglgco;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ffjpgmkmopp), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pdpfcfglgco = v.pdpfcfglgco;
  } : ffjpgmkmopp)

let rec decode_pb_quaternion d =
  let v = default_quaternion_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Bits32) -> begin
      v.x <- Pbrt.Decoder.float_as_bits32 d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(quaternion), field(10)" pk
    | Some (11, Pbrt.Bits32) -> begin
      v.w <- Pbrt.Decoder.float_as_bits32 d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(quaternion), field(11)" pk
    | Some (13, Pbrt.Bits32) -> begin
      v.z <- Pbrt.Decoder.float_as_bits32 d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(quaternion), field(13)" pk
    | Some (15, Pbrt.Bits32) -> begin
      v.y <- Pbrt.Decoder.float_as_bits32 d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(quaternion), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    x = v.x;
    w = v.w;
    z = v.z;
    y = v.y;
  } : quaternion)

let rec decode_pb_flffdckajej d =
  let v = default_flffdckajej_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(flffdckajej), field(1)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.apkmboagcmi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(flffdckajej), field(7)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(flffdckajej), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_type = v.avatar_type;
    apkmboagcmi = v.apkmboagcmi;
    id = v.id;
  } : flffdckajej)

let rec decode_pb_dahcfllbegc d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Content_package_status_none:dahcfllbegc)
  | 1 -> (Content_package_status_init:dahcfllbegc)
  | 2 -> (Content_package_status_doing:dahcfllbegc)
  | 3 -> (Content_package_status_finished:dahcfllbegc)
  | 4 -> (Content_package_status_release:dahcfllbegc)
  | _ -> Pbrt.Decoder.malformed_variant "dahcfllbegc"

let rec decode_pb_canhmpmfmgl d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_content_package_type_none:canhmpmfmgl)
  | 7524 -> (Cmd_content_package_get_data_sc_rsp:canhmpmfmgl)
  | 7517 -> (Cmd_content_package_unlock_cs_req:canhmpmfmgl)
  | 7507 -> (Cmd_content_package_get_data_cs_req:canhmpmfmgl)
  | 7508 -> (Cmd_content_package_transfer_sc_notify:canhmpmfmgl)
  | 7511 -> (Cmd_content_package_unlock_sc_rsp:canhmpmfmgl)
  | 7515 -> (Cmd_content_package_sync_data_sc_notify:canhmpmfmgl)
  | _ -> Pbrt.Decoder.malformed_variant "canhmpmfmgl"

let rec decode_pb_eljjmdjcfip d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(eljjmdjcfip)" pk

let rec decode_pb_dolnimnfefl d =
  let v = default_dolnimnfefl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.status <- decode_pb_dahcfllbegc d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dolnimnfefl), field(12)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.nfcojigifbb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dolnimnfefl), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    status = v.status;
    nfcojigifbb = v.nfcojigifbb;
  } : dolnimnfefl)

let rec decode_pb_nokiblegoej d =
  let v = default_nokiblegoej_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.haeppfknbnm <- List.rev v.haeppfknbnm;
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.emgkdgbhaff <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nokiblegoej), field(2)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.haeppfknbnm <- (decode_pb_dolnimnfefl (Pbrt.Decoder.nested d)) :: v.haeppfknbnm;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nokiblegoej), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    emgkdgbhaff = v.emgkdgbhaff;
    haeppfknbnm = v.haeppfknbnm;
  } : nokiblegoej)

let rec decode_pb_klpphbabnkg d =
  let v = default_klpphbabnkg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(klpphbabnkg), field(8)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.data <- Some (decode_pb_nokiblegoej (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(klpphbabnkg), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    data = v.data;
  } : klpphbabnkg)

let rec decode_pb_bdlnbolokbg d =
  let v = default_bdlnbolokbg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.data <- Some (decode_pb_nokiblegoej (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bdlnbolokbg), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    data = v.data;
  } : bdlnbolokbg)

let rec decode_pb_phndakdnjde d =
  let v = default_phndakdnjde_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.nfcojigifbb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(phndakdnjde), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nfcojigifbb = v.nfcojigifbb;
  } : phndakdnjde)

let rec decode_pb_pllgamkcmjg d =
  let v = default_pllgamkcmjg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.nfcojigifbb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pllgamkcmjg), field(2)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pllgamkcmjg), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nfcojigifbb = v.nfcojigifbb;
    retcode = v.retcode;
  } : pllgamkcmjg)

let rec decode_pb_foihggokfbb d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(foihggokfbb)" pk

let rec decode_pb_hfdplehgcbo d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_daily_active_type_none:hfdplehgcbo)
  | 3306 -> (Cmd_take_ap_reward_sc_rsp:hfdplehgcbo)
  | 3393 -> (Cmd_take_all_ap_reward_cs_req:hfdplehgcbo)
  | 3356 -> (Cmd_daily_active_info_notify:hfdplehgcbo)
  | 3339 -> (Cmd_take_all_ap_reward_sc_rsp:hfdplehgcbo)
  | 3368 -> (Cmd_take_ap_reward_cs_req:hfdplehgcbo)
  | 3343 -> (Cmd_get_daily_active_info_sc_rsp:hfdplehgcbo)
  | 3311 -> (Cmd_get_daily_active_info_cs_req:hfdplehgcbo)
  | _ -> Pbrt.Decoder.malformed_variant "hfdplehgcbo"

let rec decode_pb_icfpaflkela d =
  let v = default_icfpaflkela_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.cabgicnohpe <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(icfpaflkela), field(2)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(icfpaflkela), field(1)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.world_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(icfpaflkela), field(3)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.lbchikhgjeh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(icfpaflkela), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cabgicnohpe = v.cabgicnohpe;
    level = v.level;
    world_level = v.world_level;
    lbchikhgjeh = v.lbchikhgjeh;
  } : icfpaflkela)

let rec decode_pb_lgdgghnmhfn d =
  let v = default_lgdgghnmhfn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lgdgghnmhfn), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    level = v.level;
  } : lgdgghnmhfn)

let rec decode_pb_iicbhcbpphj d =
  let v = default_iicbhcbpphj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iicbhcbpphj), field(8)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iicbhcbpphj), field(7)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iicbhcbpphj), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    level = v.level;
    reward = v.reward;
  } : iicbhcbpphj)

let rec decode_pb_ngdihfikbgh d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(ngdihfikbgh)" pk

let rec decode_pb_jbjfkaalpjj d =
  let v = default_jbjfkaalpjj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jojnmdhhbgn <- List.rev v.jojnmdhhbgn;
      v.gkicdejmadl <- List.rev v.gkicdejmadl;
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.lbchikhgjeh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jbjfkaalpjj), field(9)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.gkicdejmadl <- (decode_pb_icfpaflkela (Pbrt.Decoder.nested d)) :: v.gkicdejmadl;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jbjfkaalpjj), field(8)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jbjfkaalpjj), field(6)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.jojnmdhhbgn <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jbjfkaalpjj), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lbchikhgjeh = v.lbchikhgjeh;
    gkicdejmadl = v.gkicdejmadl;
    retcode = v.retcode;
    jojnmdhhbgn = v.jojnmdhhbgn;
  } : jbjfkaalpjj)

let rec decode_pb_gcgpdfjjnln d =
  let v = default_gcgpdfjjnln_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jojnmdhhbgn <- List.rev v.jojnmdhhbgn;
      v.gkicdejmadl <- List.rev v.gkicdejmadl;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.gkicdejmadl <- (decode_pb_icfpaflkela (Pbrt.Decoder.nested d)) :: v.gkicdejmadl;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gcgpdfjjnln), field(10)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.lbchikhgjeh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gcgpdfjjnln), field(13)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.jojnmdhhbgn <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gcgpdfjjnln), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gkicdejmadl = v.gkicdejmadl;
    lbchikhgjeh = v.lbchikhgjeh;
    jojnmdhhbgn = v.jojnmdhhbgn;
  } : gcgpdfjjnln)

let rec decode_pb_pmnjdlbffep d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(pmnjdlbffep)" pk

let rec decode_pb_iobaelpjman d =
  let v = default_iobaelpjman_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.eoejiijmano <- List.rev v.eoejiijmano;
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iobaelpjman), field(3)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.eoejiijmano <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iobaelpjman), field(9)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iobaelpjman), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    reward = v.reward;
    eoejiijmano = v.eoejiijmano;
    retcode = v.retcode;
  } : iobaelpjman)

let rec decode_pb_lgdmdpinecg d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_drink_maker_type_none:lgdmdpinecg)
  | 6987 -> (Cmd_make_mission_drink_sc_rsp:lgdmdpinecg)
  | 6996 -> (Cmd_make_mission_drink_cs_req:lgdmdpinecg)
  | 6988 -> (Cmd_drink_maker_day_end_sc_notify:lgdmdpinecg)
  | 6992 -> (Cmd_make_drink_cs_req:lgdmdpinecg)
  | 6999 -> (Cmd_get_drink_maker_data_cs_req:lgdmdpinecg)
  | 6982 -> (Cmd_end_drink_maker_sequence_sc_rsp:lgdmdpinecg)
  | 7000 -> (Cmd_make_drink_sc_rsp:lgdmdpinecg)
  | 6993 -> (Cmd_drink_maker_challenge_cs_req:lgdmdpinecg)
  | 6981 -> (Cmd_drink_maker_update_tips_notify:lgdmdpinecg)
  | 6983 -> (Cmd_get_drink_maker_data_sc_rsp:lgdmdpinecg)
  | 6984 -> (Cmd_end_drink_maker_sequence_cs_req:lgdmdpinecg)
  | 6990 -> (Cmd_drink_maker_challenge_sc_rsp:lgdmdpinecg)
  | _ -> Pbrt.Decoder.malformed_variant "lgdmdpinecg"

let rec decode_pb_drink_maker_guest d =
  let v = default_drink_maker_guest_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.unlocked_favor_tag_list <- List.rev v.unlocked_favor_tag_list;
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.faith <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(drink_maker_guest), field(15)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.unlocked_favor_tag_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(drink_maker_guest), field(7)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.guest_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(drink_maker_guest), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    faith = v.faith;
    unlocked_favor_tag_list = v.unlocked_favor_tag_list;
    guest_id = v.guest_id;
  } : drink_maker_guest)

let rec decode_pb_jiohpedmpgh d =
  let v = default_jiohpedmpgh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.imfflnefonh <- List.rev v.imfflnefonh;
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.oppccjnkkol <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jiohpedmpgh), field(6)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.fjaipfboaco <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jiohpedmpgh), field(4)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.dfolakpjbng <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jiohpedmpgh), field(9)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.imfflnefonh <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jiohpedmpgh), field(14)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.dlboofmcbci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jiohpedmpgh), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    oppccjnkkol = v.oppccjnkkol;
    fjaipfboaco = v.fjaipfboaco;
    dfolakpjbng = v.dfolakpjbng;
    imfflnefonh = v.imfflnefonh;
    dlboofmcbci = v.dlboofmcbci;
  } : jiohpedmpgh)

let rec decode_pb_cbojkhimobg d =
  let v = default_cbojkhimobg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.pjnlecpgpjn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbojkhimobg), field(2)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.boeaanepgoc <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbojkhimobg), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pjnlecpgpjn = v.pjnlecpgpjn;
    boeaanepgoc = v.boeaanepgoc;
  } : cbojkhimobg)

let rec decode_pb_bicijfapjfd d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(bicijfapjfd)" pk

let rec decode_pb_kkgmfclponb d =
  let v = default_kkgmfclponb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jlcgnooajli <- List.rev v.jlcgnooajli;
      v.kjgjcgihamm <- List.rev v.kjgjcgihamm;
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.fkekjbialhi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkgmfclponb), field(10)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkgmfclponb), field(3)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.lcbphjfming <- Some (decode_pb_jiohpedmpgh (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkgmfclponb), field(14)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.opekgfgamcn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkgmfclponb), field(9)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.kjgjcgihamm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkgmfclponb), field(1)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.lpdoanmocje <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkgmfclponb), field(15)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkgmfclponb), field(8)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.jlcgnooajli <- (decode_pb_drink_maker_guest (Pbrt.Decoder.nested d)) :: v.jlcgnooajli;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkgmfclponb), field(5)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkgmfclponb), field(2)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.apnalmnfjed <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkgmfclponb), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fkekjbialhi = v.fkekjbialhi;
    exp = v.exp;
    lcbphjfming = v.lcbphjfming;
    opekgfgamcn = v.opekgfgamcn;
    kjgjcgihamm = v.kjgjcgihamm;
    lpdoanmocje = v.lpdoanmocje;
    level = v.level;
    jlcgnooajli = v.jlcgnooajli;
    retcode = v.retcode;
    apnalmnfjed = v.apnalmnfjed;
  } : kkgmfclponb)

let rec decode_pb_pgogcdpljoc d =
  let v = default_pgogcdpljoc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.lpdoanmocje <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgogcdpljoc), field(5)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.okdlpmffmpd <- Some (decode_pb_jiohpedmpgh (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgogcdpljoc), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lpdoanmocje = v.lpdoanmocje;
    okdlpmffmpd = v.okdlpmffmpd;
  } : pgogcdpljoc)

let rec decode_pb_make_drink_sc_rsp d =
  let v = default_make_drink_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.next_chat_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(make_drink_sc_rsp), field(9)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.is_succ <- Pbrt.Decoder.bool d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(make_drink_sc_rsp), field(4)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(make_drink_sc_rsp), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    next_chat_id = v.next_chat_id;
    is_succ = v.is_succ;
    retcode = v.retcode;
  } : make_drink_sc_rsp)

let rec decode_pb_bppikoolpik d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(bppikoolpik)" pk

let rec decode_pb_end_drink_maker_sequence_sc_rsp d =
  let v = default_end_drink_maker_sequence_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.request_list <- List.rev v.request_list;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.guest <- Some (decode_pb_drink_maker_guest (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(end_drink_maker_sequence_sc_rsp), field(10)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.next_sequence_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(end_drink_maker_sequence_sc_rsp), field(12)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.request_list <- (decode_pb_cbojkhimobg (Pbrt.Decoder.nested d)) :: v.request_list;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(end_drink_maker_sequence_sc_rsp), field(1)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(end_drink_maker_sequence_sc_rsp), field(9)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(end_drink_maker_sequence_sc_rsp), field(6)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(end_drink_maker_sequence_sc_rsp), field(8)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.tips <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(end_drink_maker_sequence_sc_rsp), field(3)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(end_drink_maker_sequence_sc_rsp), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    guest = v.guest;
    next_sequence_id = v.next_sequence_id;
    request_list = v.request_list;
    retcode = v.retcode;
    exp = v.exp;
    level = v.level;
    tips = v.tips;
    reward = v.reward;
  } : end_drink_maker_sequence_sc_rsp)

let rec decode_pb_oglifdlpdgh d =
  let v = default_oglifdlpdgh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.chbdfdolhoc <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oglifdlpdgh), field(1)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.okdlpmffmpd <- Some (decode_pb_jiohpedmpgh (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oglifdlpdgh), field(5)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.pjnlecpgpjn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oglifdlpdgh), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    chbdfdolhoc = v.chbdfdolhoc;
    okdlpmffmpd = v.okdlpmffmpd;
    pjnlecpgpjn = v.pjnlecpgpjn;
  } : oglifdlpdgh)

let rec decode_pb_make_mission_drink_sc_rsp d =
  let v = default_make_mission_drink_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.custom_drink <- Some (decode_pb_jiohpedmpgh (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(make_mission_drink_sc_rsp), field(14)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(make_mission_drink_sc_rsp), field(9)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.is_succ <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(make_mission_drink_sc_rsp), field(10)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.is_save <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(make_mission_drink_sc_rsp), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    custom_drink = v.custom_drink;
    retcode = v.retcode;
    is_succ = v.is_succ;
    is_save = v.is_save;
  } : make_mission_drink_sc_rsp)

let rec decode_pb_mfflmglefbc d =
  let v = default_mfflmglefbc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.bfcfeikpjin <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mfflmglefbc), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bfcfeikpjin = v.bfcfeikpjin;
  } : mfflmglefbc)

let rec decode_pb_cckofijijcb d =
  let v = default_cckofijijcb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cckofijijcb), field(12)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.okdlpmffmpd <- Some (decode_pb_jiohpedmpgh (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cckofijijcb), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dcpoeimegli = v.dcpoeimegli;
    okdlpmffmpd = v.okdlpmffmpd;
  } : cckofijijcb)

let rec decode_pb_cedfilghpcm d =
  let v = default_cedfilghpcm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cedfilghpcm), field(15)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.boeaanepgoc <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cedfilghpcm), field(11)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cedfilghpcm), field(7)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cedfilghpcm), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dcpoeimegli = v.dcpoeimegli;
    boeaanepgoc = v.boeaanepgoc;
    reward = v.reward;
    retcode = v.retcode;
  } : cedfilghpcm)

let rec decode_pb_ploaocedhcc d =
  let v = default_ploaocedhcc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.apnalmnfjed <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ploaocedhcc), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    apnalmnfjed = v.apnalmnfjed;
  } : ploaocedhcc)

let rec decode_pb_glhjehobkjb d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_evolve_build_none:glhjehobkjb)
  | 7148 -> (Cmd_evolve_build_shop_ability_up_sc_rsp:glhjehobkjb)
  | 7105 -> (Cmd_evolve_build_shop_ability_up_cs_req:glhjehobkjb)
  | 7127 -> (Cmd_evolve_build_coin_notify:glhjehobkjb)
  | 7120 -> (Cmd_evolve_build_leave_sc_rsp:glhjehobkjb)
  | 7111 -> (Cmd_evolve_build_start_stage_cs_req:glhjehobkjb)
  | 7149 -> (Cmd_evolve_build_unlock_info_notify:glhjehobkjb)
  | 7117 -> (Cmd_evolve_build_start_level_sc_rsp:glhjehobkjb)
  | 7145 -> (Cmd_evolve_build_re_random_stage_cs_req:glhjehobkjb)
  | 7133 -> (Cmd_evolve_build_shop_ability_reset_cs_req:glhjehobkjb)
  | 7134 -> (Cmd_evolve_build_leave_cs_req:glhjehobkjb)
  | 7135 -> (Cmd_evolve_build_take_exp_reward_cs_req:glhjehobkjb)
  | 7107 -> (Cmd_evolve_build_query_info_cs_req:glhjehobkjb)
  | 7106 -> (Cmd_evolve_build_re_random_stage_sc_rsp:glhjehobkjb)
  | 7125 -> (Cmd_evolve_build_take_exp_reward_sc_rsp:glhjehobkjb)
  | 7103 -> (Cmd_evolve_build_shop_ability_down_sc_rsp:glhjehobkjb)
  | 7115 -> (Cmd_evolve_build_start_level_cs_req:glhjehobkjb)
  | 7136 -> (Cmd_evolve_build_finish_sc_notify:glhjehobkjb)
  | 7108 -> (Cmd_evolve_build_start_stage_sc_rsp:glhjehobkjb)
  | 7123 -> (Cmd_evolve_build_giveup_cs_req:glhjehobkjb)
  | 7124 -> (Cmd_evolve_build_query_info_sc_rsp:glhjehobkjb)
  | 7104 -> (Cmd_evolve_build_giveup_sc_rsp:glhjehobkjb)
  | 7121 -> (Cmd_evolve_build_shop_ability_down_cs_req:glhjehobkjb)
  | 7143 -> (Cmd_evolve_build_shop_ability_reset_sc_rsp:glhjehobkjb)
  | _ -> Pbrt.Decoder.malformed_variant "glhjehobkjb"

let rec decode_pb_lldgfmckmof d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Evolve_period_none:lldgfmckmof)
  | 1 -> (Evolve_period_first:lldgfmckmof)
  | 2 -> (Evolve_period_second:lldgfmckmof)
  | 3 -> (Evolve_period_third:lldgfmckmof)
  | 4 -> (Evolve_period_extra:lldgfmckmof)
  | _ -> Pbrt.Decoder.malformed_variant "lldgfmckmof"

let rec decode_pb_alcgocanpjh d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Evolve_battle_result_none:alcgocanpjh)
  | 1 -> (Evolve_battle_result_win:alcgocanpjh)
  | 2 -> (Evolve_battle_result_all_avatar_dead:alcgocanpjh)
  | 3 -> (Evolve_battle_result_no_dead_line:alcgocanpjh)
  | 4 -> (Evolve_battle_result_quit:alcgocanpjh)
  | _ -> Pbrt.Decoder.malformed_variant "alcgocanpjh"

let rec decode_pb_evolve_build_avatar d =
  let v = default_evolve_build_avatar_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_avatar), field(8)" pk
    | Some (2, Pbrt.Bits64) -> begin
      v.damage <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_avatar), field(2)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_avatar), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_type = v.avatar_type;
    damage = v.damage;
    avatar_id = v.avatar_id;
  } : evolve_build_avatar)

let rec decode_pb_evolve_build_level_info d =
  let v = default_evolve_build_level_info_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_list <- List.rev v.avatar_list;
      v.period_id_list <- List.rev v.period_id_list;
      v.battle_target_list <- List.rev v.battle_target_list;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.battle_target_list <- (decode_pb_battle_target (Pbrt.Decoder.nested d)) :: v.battle_target_list;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_level_info), field(9)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.round_cnt <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_level_info), field(5)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.period_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_level_info), field(14)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.avatar_list <- (decode_pb_evolve_build_avatar (Pbrt.Decoder.nested d)) :: v.avatar_list;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_level_info), field(4)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.cur_game_exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_level_info), field(1)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.battle_info <- Some (decode_pb_evolve_build_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_level_info), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    battle_target_list = v.battle_target_list;
    round_cnt = v.round_cnt;
    period_id_list = v.period_id_list;
    avatar_list = v.avatar_list;
    cur_game_exp = v.cur_game_exp;
    battle_info = v.battle_info;
  } : evolve_build_level_info)

let rec decode_pb_iommdlefkle d =
  let v = default_iommdlefkle_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.lcmkbhbmdob <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iommdlefkle), field(13)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.mmkkliclehe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iommdlefkle), field(7)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.gakmanenkmh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iommdlefkle), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lcmkbhbmdob = v.lcmkbhbmdob;
    mmkkliclehe = v.mmkkliclehe;
    gakmanenkmh = v.gakmanenkmh;
  } : iommdlefkle)

let rec decode_pb_hggmojlcdff d =
  let v = default_hggmojlcdff_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hggmojlcdff), field(8)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.emgbcbhhnnh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hggmojlcdff), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    level = v.level;
    emgbcbhhnnh = v.emgbcbhhnnh;
  } : hggmojlcdff)

let rec decode_pb_ndablbkbief d =
  let v = default_ndablbkbief_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.kcafipgelge <- List.rev v.kcafipgelge;
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.lcmkbhbmdob <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ndablbkbief), field(11)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.lilifielcec <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ndablbkbief), field(2)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.ekfjbcahhnf <- Pbrt.Decoder.bool d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ndablbkbief), field(6)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.kcafipgelge <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ndablbkbief), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lcmkbhbmdob = v.lcmkbhbmdob;
    lilifielcec = v.lilifielcec;
    ekfjbcahhnf = v.ekfjbcahhnf;
    kcafipgelge = v.kcafipgelge;
  } : ndablbkbief)

let rec decode_pb_ealaijgkglo d =
  let v = default_ealaijgkglo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.egkfpbokkfb <- List.rev v.egkfpbokkfb;
      v.cnlcfhiilig <- List.rev v.cnlcfhiilig;
      v.lpfgjabpheh <- List.rev v.lpfgjabpheh;
      v.nhfefdfeeee <- List.rev v.nhfefdfeeee;
      v.lcpjnpofamc <- List.rev v.lcpjnpofamc;
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.dbgaojmndmc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ealaijgkglo), field(11)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.lcpjnpofamc <- (decode_pb_ndablbkbief (Pbrt.Decoder.nested d)) :: v.lcpjnpofamc;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ealaijgkglo), field(9)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.nhfefdfeeee <- (decode_pb_iommdlefkle (Pbrt.Decoder.nested d)) :: v.nhfefdfeeee;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ealaijgkglo), field(6)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.lpfgjabpheh <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ealaijgkglo), field(14)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.cnlcfhiilig <- (decode_pb_hggmojlcdff (Pbrt.Decoder.nested d)) :: v.cnlcfhiilig;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ealaijgkglo), field(2)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.nmnkfefpnbi <- Pbrt.Decoder.bool d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ealaijgkglo), field(12)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.looknnadffi <- Pbrt.Decoder.bool d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ealaijgkglo), field(13)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.lhhpfphakkf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ealaijgkglo), field(15)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ealaijgkglo), field(3)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.egkfpbokkfb <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ealaijgkglo), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dbgaojmndmc = v.dbgaojmndmc;
    lcpjnpofamc = v.lcpjnpofamc;
    nhfefdfeeee = v.nhfefdfeeee;
    lpfgjabpheh = v.lpfgjabpheh;
    cnlcfhiilig = v.cnlcfhiilig;
    nmnkfefpnbi = v.nmnkfefpnbi;
    looknnadffi = v.looknnadffi;
    lhhpfphakkf = v.lhhpfphakkf;
    exp = v.exp;
    egkfpbokkfb = v.egkfpbokkfb;
  } : ealaijgkglo)

let rec decode_pb_hbgncknlmck d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(hbgncknlmck)" pk

let rec decode_pb_pmoicnodokk d =
  let v = default_pmoicnodokk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.lickecpakcj <- Some (decode_pb_evolve_build_level_info (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pmoicnodokk), field(1)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pmoicnodokk), field(13)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.gngfcddjjbi <- Some (decode_pb_ealaijgkglo (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pmoicnodokk), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lickecpakcj = v.lickecpakcj;
    retcode = v.retcode;
    gngfcddjjbi = v.gngfcddjjbi;
  } : pmoicnodokk)

let rec decode_pb_ilbbkldbfpf d =
  let v = default_ilbbkldbfpf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_list <- List.rev v.avatar_list;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.pmhjcfngckn <- Some (decode_pb_jjnjilkjjaf (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ilbbkldbfpf), field(13)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.avatar_list <- (decode_pb_evolve_build_avatar (Pbrt.Decoder.nested d)) :: v.avatar_list;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ilbbkldbfpf), field(11)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.lcmkbhbmdob <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ilbbkldbfpf), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pmhjcfngckn = v.pmhjcfngckn;
    avatar_list = v.avatar_list;
    lcmkbhbmdob = v.lcmkbhbmdob;
  } : ilbbkldbfpf)

let rec decode_pb_gageijjpjpi d =
  let v = default_gageijjpjpi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.lickecpakcj <- Some (decode_pb_evolve_build_level_info (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gageijjpjpi), field(11)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gageijjpjpi), field(9)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.cfehgidmfln <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gageijjpjpi), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lickecpakcj = v.lickecpakcj;
    retcode = v.retcode;
    cfehgidmfln = v.cfehgidmfln;
  } : gageijjpjpi)

let rec decode_pb_lmjpbnbkjmj d =
  let v = default_lmjpbnbkjmj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.lcmkbhbmdob <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmjpbnbkjmj), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lcmkbhbmdob = v.lcmkbhbmdob;
  } : lmjpbnbkjmj)

let rec decode_pb_kljhelgcfkg d =
  let v = default_kljhelgcfkg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.cfehgidmfln <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kljhelgcfkg), field(9)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kljhelgcfkg), field(7)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.lickecpakcj <- Some (decode_pb_evolve_build_level_info (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kljhelgcfkg), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cfehgidmfln = v.cfehgidmfln;
    retcode = v.retcode;
    lickecpakcj = v.lickecpakcj;
  } : kljhelgcfkg)

let rec decode_pb_hedeldocgmj d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(hedeldocgmj)" pk

let rec decode_pb_fddgkmbaojb d =
  let v = default_fddgkmbaojb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fddgkmbaojb), field(7)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.lickecpakcj <- Some (decode_pb_evolve_build_level_info (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fddgkmbaojb), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    lickecpakcj = v.lickecpakcj;
  } : fddgkmbaojb)

let rec decode_pb_diglamopjaj d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(diglamopjaj)" pk

let rec decode_pb_nfjggilinle d =
  let v = default_nfjggilinle_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nfjggilinle), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.lickecpakcj <- Some (decode_pb_evolve_build_level_info (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nfjggilinle), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    lickecpakcj = v.lickecpakcj;
  } : nfjggilinle)

let rec decode_pb_evolve_build_finish_sc_notify d =
  let v = default_evolve_build_finish_sc_notify_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.battle_result_type <- decode_pb_alcgocanpjh d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_finish_sc_notify), field(4)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.coin <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_finish_sc_notify), field(9)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.level_info <- Some (decode_pb_evolve_build_level_info (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_finish_sc_notify), field(14)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.level_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_finish_sc_notify), field(12)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.score <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_finish_sc_notify), field(7)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.wave <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_finish_sc_notify), field(6)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.cur_period_type <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_finish_sc_notify), field(8)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_finish_sc_notify), field(3)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.is_lose <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(evolve_build_finish_sc_notify), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    battle_result_type = v.battle_result_type;
    coin = v.coin;
    level_info = v.level_info;
    level_id = v.level_id;
    score = v.score;
    wave = v.wave;
    cur_period_type = v.cur_period_type;
    exp = v.exp;
    is_lose = v.is_lose;
  } : evolve_build_finish_sc_notify)

let rec decode_pb_khkgdappaba d =
  let v = default_khkgdappaba_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.lcmkbhbmdob <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(khkgdappaba), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lcmkbhbmdob = v.lcmkbhbmdob;
  } : khkgdappaba)

let rec decode_pb_ajejhajoaed d =
  let v = default_ajejhajoaed_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.dofaojjibho <- Some (decode_pb_ndablbkbief (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ajejhajoaed), field(3)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ajejhajoaed), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dofaojjibho = v.dofaojjibho;
    retcode = v.retcode;
  } : ajejhajoaed)

let rec decode_pb_ibmcoganhdo d =
  let v = default_ibmcoganhdo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibmcoganhdo), field(14)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.emgbcbhhnnh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibmcoganhdo), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    level = v.level;
    emgbcbhhnnh = v.emgbcbhhnnh;
  } : ibmcoganhdo)

let rec decode_pb_ncimlbjjfma d =
  let v = default_ncimlbjjfma_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ncimlbjjfma), field(15)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ncimlbjjfma), field(11)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.emgbcbhhnnh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ncimlbjjfma), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    level = v.level;
    retcode = v.retcode;
    emgbcbhhnnh = v.emgbcbhhnnh;
  } : ncimlbjjfma)

let rec decode_pb_ljeglglledc d =
  let v = default_ljeglglledc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.emgbcbhhnnh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ljeglglledc), field(4)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ljeglglledc), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    emgbcbhhnnh = v.emgbcbhhnnh;
    level = v.level;
  } : ljeglglledc)

let rec decode_pb_pijcaekfcmm d =
  let v = default_pijcaekfcmm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.emgbcbhhnnh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pijcaekfcmm), field(1)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pijcaekfcmm), field(8)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pijcaekfcmm), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    emgbcbhhnnh = v.emgbcbhhnnh;
    retcode = v.retcode;
    level = v.level;
  } : pijcaekfcmm)

let rec decode_pb_ghaikcokfdm d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(ghaikcokfdm)" pk

let rec decode_pb_okijlmlkdej d =
  let v = default_okijlmlkdej_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(okijlmlkdej), field(11)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(okijlmlkdej), field(9)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.lhhpfphakkf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(okijlmlkdej), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    reward = v.reward;
    lhhpfphakkf = v.lhhpfphakkf;
  } : okijlmlkdej)

let rec decode_pb_pklkahjeako d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(pklkahjeako)" pk

let rec decode_pb_hemcijemcam d =
  let v = default_hemcijemcam_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.cnlcfhiilig <- List.rev v.cnlcfhiilig;
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.dbgaojmndmc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hemcijemcam), field(3)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hemcijemcam), field(15)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.cnlcfhiilig <- (decode_pb_hggmojlcdff (Pbrt.Decoder.nested d)) :: v.cnlcfhiilig;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hemcijemcam), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dbgaojmndmc = v.dbgaojmndmc;
    retcode = v.retcode;
    cnlcfhiilig = v.cnlcfhiilig;
  } : hemcijemcam)

let rec decode_pb_nikfgadelbi d =
  let v = default_nikfgadelbi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.dbgaojmndmc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nikfgadelbi), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dbgaojmndmc = v.dbgaojmndmc;
  } : nikfgadelbi)

let rec decode_pb_glkeieeanpc d =
  let v = default_glkeieeanpc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.looknnadffi <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glkeieeanpc), field(10)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.nmnkfefpnbi <- Pbrt.Decoder.bool d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glkeieeanpc), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    looknnadffi = v.looknnadffi;
    nmnkfefpnbi = v.nmnkfefpnbi;
  } : glkeieeanpc)

let rec decode_pb_gldaljmhppg d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_expedition_type_none:gldaljmhppg)
  | 2539 -> (Cmd_take_expedition_reward_cs_req:gldaljmhppg)
  | 2582 -> (Cmd_take_activity_expedition_reward_sc_rsp:gldaljmhppg)
  | 2554 -> (Cmd_cancel_activity_expedition_cs_req:gldaljmhppg)
  | 2534 -> (Cmd_accept_multiple_expedition_cs_req:gldaljmhppg)
  | 2525 -> (Cmd_take_multiple_expedition_reward_sc_rsp:gldaljmhppg)
  | 2533 -> (Cmd_accept_activity_expedition_cs_req:gldaljmhppg)
  | 2506 -> (Cmd_get_expedition_data_sc_rsp:gldaljmhppg)
  | 2556 -> (Cmd_cancel_expedition_cs_req:gldaljmhppg)
  | 2511 -> (Cmd_accept_expedition_cs_req:gldaljmhppg)
  | 2543 -> (Cmd_accept_expedition_sc_rsp:gldaljmhppg)
  | 2565 -> (Cmd_cancel_activity_expedition_sc_rsp:gldaljmhppg)
  | 2548 -> (Cmd_take_activity_expedition_reward_cs_req:gldaljmhppg)
  | 2599 -> (Cmd_accept_activity_expedition_sc_rsp:gldaljmhppg)
  | 2568 -> (Cmd_get_expedition_data_cs_req:gldaljmhppg)
  | 2551 -> (Cmd_expedition_data_change_sc_notify:gldaljmhppg)
  | 2597 -> (Cmd_accept_multiple_expedition_sc_rsp:gldaljmhppg)
  | 2598 -> (Cmd_take_multiple_expedition_reward_cs_req:gldaljmhppg)
  | 2593 -> (Cmd_cancel_expedition_sc_rsp:gldaljmhppg)
  | 2529 -> (Cmd_take_expedition_reward_sc_rsp:gldaljmhppg)
  | _ -> Pbrt.Decoder.malformed_variant "gldaljmhppg"

let rec decode_pb_bneeceoibjo d =
  let v = default_bneeceoibjo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_id_list <- List.rev v.avatar_id_list;
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bneeceoibjo), field(15)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.pklpfcaegpk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bneeceoibjo), field(11)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bneeceoibjo), field(13)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.hclhbmghdfi <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bneeceoibjo), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
    pklpfcaegpk = v.pklpfcaegpk;
    avatar_id_list = v.avatar_id_list;
    hclhbmghdfi = v.hclhbmghdfi;
  } : bneeceoibjo)

let rec decode_pb_mmioacmpkma d =
  let v = default_mmioacmpkma_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_id_list <- List.rev v.avatar_id_list;
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmioacmpkma), field(5)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.hclhbmghdfi <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmioacmpkma), field(11)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmioacmpkma), field(10)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.accgikfcocn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmioacmpkma), field(4)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.boijjckjecp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmioacmpkma), field(3)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.bakgnipojdh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmioacmpkma), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id_list = v.avatar_id_list;
    hclhbmghdfi = v.hclhbmghdfi;
    id = v.id;
    accgikfcocn = v.accgikfcocn;
    boijjckjecp = v.boijjckjecp;
    bakgnipojdh = v.bakgnipojdh;
  } : mmioacmpkma)

let rec decode_pb_cfdgkgjflln d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(cfdgkgjflln)" pk

let rec decode_pb_ceiomlofmmi d =
  let v = default_ceiomlofmmi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hfkegmkakah <- List.rev v.hfkegmkakah;
      v.dhdakbhkcoe <- List.rev v.dhdakbhkcoe;
      v.gkmmbllhhjc <- List.rev v.gkmmbllhhjc;
      v.llfpgndaaem <- List.rev v.llfpgndaaem;
      v.lglgoiogekc <- List.rev v.lglgoiogekc;
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.acgclmagmjf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ceiomlofmmi), field(15)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ceiomlofmmi), field(14)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.lglgoiogekc <- (decode_pb_mmioacmpkma (Pbrt.Decoder.nested d)) :: v.lglgoiogekc;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ceiomlofmmi), field(3)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.llfpgndaaem <- (decode_pb_bneeceoibjo (Pbrt.Decoder.nested d)) :: v.llfpgndaaem;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ceiomlofmmi), field(10)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.gkmmbllhhjc <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ceiomlofmmi), field(12)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.dhdakbhkcoe <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ceiomlofmmi), field(9)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.hfkegmkakah <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ceiomlofmmi), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    acgclmagmjf = v.acgclmagmjf;
    retcode = v.retcode;
    lglgoiogekc = v.lglgoiogekc;
    llfpgndaaem = v.llfpgndaaem;
    gkmmbllhhjc = v.gkmmbllhhjc;
    dhdakbhkcoe = v.dhdakbhkcoe;
    hfkegmkakah = v.hfkegmkakah;
  } : ceiomlofmmi)

let rec decode_pb_akkgnnilafl d =
  let v = default_akkgnnilafl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.ochjpiphefm <- Some (decode_pb_bneeceoibjo (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(akkgnnilafl), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ochjpiphefm = v.ochjpiphefm;
  } : akkgnnilafl)

let rec decode_pb_flccbmnmhfj d =
  let v = default_flccbmnmhfj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.ochjpiphefm <- Some (decode_pb_bneeceoibjo (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(flccbmnmhfj), field(11)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(flccbmnmhfj), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ochjpiphefm = v.ochjpiphefm;
    retcode = v.retcode;
  } : flccbmnmhfj)

let rec decode_pb_gekhpfaofka d =
  let v = default_gekhpfaofka_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ikmghkjhncf <- List.rev v.ikmghkjhncf;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.ikmghkjhncf <- (decode_pb_bneeceoibjo (Pbrt.Decoder.nested d)) :: v.ikmghkjhncf;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gekhpfaofka), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ikmghkjhncf = v.ikmghkjhncf;
  } : gekhpfaofka)

let rec decode_pb_adncblilpnb d =
  let v = default_adncblilpnb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.nppdmmdjfoe <- List.rev v.nppdmmdjfoe;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.nppdmmdjfoe <- (decode_pb_bneeceoibjo (Pbrt.Decoder.nested d)) :: v.nppdmmdjfoe;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adncblilpnb), field(10)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adncblilpnb), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nppdmmdjfoe = v.nppdmmdjfoe;
    retcode = v.retcode;
  } : adncblilpnb)

let rec decode_pb_beamljlopld d =
  let v = default_beamljlopld_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.hcecpndimnb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(beamljlopld), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hcecpndimnb = v.hcecpndimnb;
  } : beamljlopld)

let rec decode_pb_mmdgggchgkm d =
  let v = default_mmdgggchgkm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmdgggchgkm), field(10)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.hcecpndimnb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmdgggchgkm), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    hcecpndimnb = v.hcecpndimnb;
  } : mmdgggchgkm)

let rec decode_pb_ljfajdccblm d =
  let v = default_ljfajdccblm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.hcecpndimnb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ljfajdccblm), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hcecpndimnb = v.hcecpndimnb;
  } : ljfajdccblm)

let rec decode_pb_fheopjpopld d =
  let v = default_fheopjpopld_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.hcecpndimnb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fheopjpopld), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fheopjpopld), field(3)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fheopjpopld), field(7)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.jdlekhchhpl <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fheopjpopld), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hcecpndimnb = v.hcecpndimnb;
    reward = v.reward;
    retcode = v.retcode;
    jdlekhchhpl = v.jdlekhchhpl;
  } : fheopjpopld)

let rec decode_pb_lbdcpnmdkio d =
  let v = default_lbdcpnmdkio_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mhmiemcbccl <- List.rev v.mhmiemcbccl;
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.mhmiemcbccl <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbdcpnmdkio), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mhmiemcbccl = v.mhmiemcbccl;
  } : lbdcpnmdkio)

let rec decode_pb_mhbblcflegm d =
  let v = default_mhbblcflegm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.clkpoonplnp <- List.rev v.clkpoonplnp;
      v.hgfffpjkodl <- List.rev v.hgfffpjkodl;
      v.hjblaeagbod <- List.rev v.hjblaeagbod;
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.hjblaeagbod <- (decode_pb_item_list (Pbrt.Decoder.nested d)) :: v.hjblaeagbod;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mhbblcflegm), field(2)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.hgfffpjkodl <- (decode_pb_item_list (Pbrt.Decoder.nested d)) :: v.hgfffpjkodl;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mhbblcflegm), field(1)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.jdlekhchhpl <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mhbblcflegm), field(4)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mhbblcflegm), field(6)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.clkpoonplnp <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mhbblcflegm), field(7)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mhbblcflegm), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hjblaeagbod = v.hjblaeagbod;
    hgfffpjkodl = v.hgfffpjkodl;
    jdlekhchhpl = v.jdlekhchhpl;
    retcode = v.retcode;
    clkpoonplnp = v.clkpoonplnp;
    reward = v.reward;
  } : mhbblcflegm)

let rec decode_pb_nomgloommie d =
  let v = default_nomgloommie_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.lglgoiogekc <- List.rev v.lglgoiogekc;
      v.llfpgndaaem <- List.rev v.llfpgndaaem;
      v.gkmmbllhhjc <- List.rev v.gkmmbllhhjc;
      v.hfkegmkakah <- List.rev v.hfkegmkakah;
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.hfkegmkakah <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nomgloommie), field(15)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.gkmmbllhhjc <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nomgloommie), field(2)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.acgclmagmjf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nomgloommie), field(14)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.llfpgndaaem <- (decode_pb_bneeceoibjo (Pbrt.Decoder.nested d)) :: v.llfpgndaaem;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nomgloommie), field(7)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.lglgoiogekc <- (decode_pb_mmioacmpkma (Pbrt.Decoder.nested d)) :: v.lglgoiogekc;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nomgloommie), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hfkegmkakah = v.hfkegmkakah;
    gkmmbllhhjc = v.gkmmbllhhjc;
    acgclmagmjf = v.acgclmagmjf;
    llfpgndaaem = v.llfpgndaaem;
    lglgoiogekc = v.lglgoiogekc;
  } : nomgloommie)

let rec decode_pb_nmieefhdbfn d =
  let v = default_nmieefhdbfn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.dkfmmcbfjca <- Some (decode_pb_mmioacmpkma (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nmieefhdbfn), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dkfmmcbfjca = v.dkfmmcbfjca;
  } : nmieefhdbfn)

let rec decode_pb_jjeebfmobdo d =
  let v = default_jjeebfmobdo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jjeebfmobdo), field(1)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.dkfmmcbfjca <- Some (decode_pb_mmioacmpkma (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jjeebfmobdo), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    dkfmmcbfjca = v.dkfmmcbfjca;
  } : jjeebfmobdo)

let rec decode_pb_bpcmgbkmkci d =
  let v = default_bpcmgbkmkci_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.iffgchlchlm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpcmgbkmkci), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    iffgchlchlm = v.iffgchlchlm;
  } : bpcmgbkmkci)

let rec decode_pb_koepbfdgiap d =
  let v = default_koepbfdgiap_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(koepbfdgiap), field(3)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.iffgchlchlm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(koepbfdgiap), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    iffgchlchlm = v.iffgchlchlm;
  } : koepbfdgiap)

let rec decode_pb_gckdmhcokmj d =
  let v = default_gckdmhcokmj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.iffgchlchlm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gckdmhcokmj), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    iffgchlchlm = v.iffgchlchlm;
  } : gckdmhcokmj)

let rec decode_pb_hkjajbjddaa d =
  let v = default_hkjajbjddaa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.lpgaoolbbfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hkjajbjddaa), field(11)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hkjajbjddaa), field(5)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hkjajbjddaa), field(12)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.jdlekhchhpl <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hkjajbjddaa), field(9)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.iffgchlchlm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hkjajbjddaa), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lpgaoolbbfm = v.lpgaoolbbfm;
    reward = v.reward;
    retcode = v.retcode;
    jdlekhchhpl = v.jdlekhchhpl;
    iffgchlchlm = v.iffgchlchlm;
  } : hkjajbjddaa)

let rec decode_pb_ddncbdinpeg d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_fantastic_story_activity_type_none:ddncbdinpeg)
  | 4943 -> (Cmd_enter_fantastic_story_activity_stage_cs_req:ddncbdinpeg)
  | 4993 -> (Cmd_fantastic_story_activity_battle_end_sc_notify:ddncbdinpeg)
  | 4968 -> (Cmd_get_fantastic_story_activity_data_cs_req:ddncbdinpeg)
  | 4956 -> (Cmd_enter_fantastic_story_activity_stage_sc_rsp:ddncbdinpeg)
  | 4906 -> (Cmd_get_fantastic_story_activity_data_sc_rsp:ddncbdinpeg)
  | 4911 -> (Cmd_finish_chapter_sc_notify:ddncbdinpeg)
  | _ -> Pbrt.Decoder.malformed_variant "ddncbdinpeg"

let rec decode_pb_helmlfaekga d =
  let v = default_helmlfaekga_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(helmlfaekga), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(helmlfaekga), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_type = v.avatar_type;
    avatar_id = v.avatar_id;
  } : helmlfaekga)

let rec decode_pb_oimcalddonh d =
  let v = default_oimcalddonh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.buff_list <- List.rev v.buff_list;
      v.avatar_list <- List.rev v.avatar_list;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.avatar_list <- (decode_pb_helmlfaekga (Pbrt.Decoder.nested d)) :: v.avatar_list;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oimcalddonh), field(7)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.buff_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oimcalddonh), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_list = v.avatar_list;
    buff_list = v.buff_list;
  } : oimcalddonh)

let rec decode_pb_agmeeiifjma d =
  let v = default_agmeeiifjma_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ahbbinilgld <- List.rev v.ahbbinilgld;
      v.cmmpeimdkdl <- List.rev v.cmmpeimdkdl;
      v.jafiagcefhl <- List.rev v.jafiagcefhl;
      v.cmoflobaiod <- List.rev v.cmoflobaiod;
      v.gfjeahnelpp <- List.rev v.gfjeahnelpp;
      v.jfpjojfjeck <- List.rev v.jfpjojfjeck;
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.jfpjojfjeck <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agmeeiifjma), field(2)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.gfjeahnelpp <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agmeeiifjma), field(7)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.jpgoledkkcl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agmeeiifjma), field(13)" pk
    | Some (8, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        decode_pb_oimcalddonh (Pbrt.Decoder.nested d)
      ) in
      v.cmoflobaiod <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.cmoflobaiod;
      );
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agmeeiifjma), field(8)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.jafiagcefhl <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agmeeiifjma), field(4)" pk
    | Some (11, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.int32_as_varint d
      ) in
      v.cmmpeimdkdl <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.cmmpeimdkdl;
      );
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agmeeiifjma), field(11)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.ahbbinilgld <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agmeeiifjma), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jfpjojfjeck = v.jfpjojfjeck;
    gfjeahnelpp = v.gfjeahnelpp;
    jpgoledkkcl = v.jpgoledkkcl;
    cmoflobaiod = v.cmoflobaiod;
    jafiagcefhl = v.jafiagcefhl;
    cmmpeimdkdl = v.cmmpeimdkdl;
    ahbbinilgld = v.ahbbinilgld;
  } : agmeeiifjma)

let rec decode_pb_beefgailkel d =
  let v = default_beefgailkel_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.jpgoledkkcl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(beefgailkel), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jpgoledkkcl = v.jpgoledkkcl;
  } : beefgailkel)

let rec decode_pb_kiepldjlmij d =
  let v = default_kiepldjlmij_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.fijoabhcpgf <- Some (decode_pb_agmeeiifjma (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kiepldjlmij), field(3)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kiepldjlmij), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fijoabhcpgf = v.fijoabhcpgf;
    retcode = v.retcode;
  } : kiepldjlmij)

let rec decode_pb_kondnnncfcl d =
  let v = default_kondnnncfcl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.fijoabhcpgf <- Some (decode_pb_agmeeiifjma (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kondnnncfcl), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fijoabhcpgf = v.fijoabhcpgf;
  } : kondnnncfcl)

let rec decode_pb_pjhhffhpneh d =
  let v = default_pjhhffhpneh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_list <- List.rev v.avatar_list;
      v.buff_list <- List.rev v.buff_list;
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.battle_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pjhhffhpneh), field(13)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.jpgoledkkcl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pjhhffhpneh), field(8)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.buff_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pjhhffhpneh), field(3)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.avatar_list <- (decode_pb_helmlfaekga (Pbrt.Decoder.nested d)) :: v.avatar_list;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pjhhffhpneh), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    battle_id = v.battle_id;
    jpgoledkkcl = v.jpgoledkkcl;
    buff_list = v.buff_list;
    avatar_list = v.avatar_list;
  } : pjhhffhpneh)

let rec decode_pb_mofedkjbcai d =
  let v = default_mofedkjbcai_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mofedkjbcai), field(14)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mofedkjbcai), field(2)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.jpgoledkkcl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mofedkjbcai), field(11)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.battle_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mofedkjbcai), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ibllilenejp = v.ibllilenejp;
    jpgoledkkcl = v.jpgoledkkcl;
    battle_id = v.battle_id;
  } : mofedkjbcai)

let rec decode_pb_nbogodofokj d =
  let v = default_nbogodofokj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.jpgoledkkcl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nbogodofokj), field(1)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.ojdjhonlcoc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nbogodofokj), field(14)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.battle_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nbogodofokj), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jpgoledkkcl = v.jpgoledkkcl;
    ojdjhonlcoc = v.ojdjhonlcoc;
    battle_id = v.battle_id;
  } : nbogodofokj)

let rec decode_pb_adllodgmipe d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_fever_time_activity_type_none:adllodgmipe)
  | 7160 -> (Cmd_get_fever_time_activity_data_cs_req:adllodgmipe)
  | 7154 -> (Cmd_enter_fever_time_activity_stage_sc_rsp:adllodgmipe)
  | 7152 -> (Cmd_get_fever_time_activity_data_sc_rsp:adllodgmipe)
  | 7151 -> (Cmd_enter_fever_time_activity_stage_cs_req:adllodgmipe)
  | 7159 -> (Cmd_fever_time_activity_battle_end_sc_notify:adllodgmipe)
  | _ -> Pbrt.Decoder.malformed_variant "adllodgmipe"

let rec decode_pb_fpofnnofeeh d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Fever_time_battle_rank_c:fpofnnofeeh)
  | 1 -> (Fever_time_battle_rank_b:fpofnnofeeh)
  | 2 -> (Fever_time_battle_rank_a:fpofnnofeeh)
  | 3 -> (Fever_time_battle_rank_s:fpofnnofeeh)
  | 4 -> (Fever_time_battle_rank_ss:fpofnnofeeh)
  | _ -> Pbrt.Decoder.malformed_variant "fpofnnofeeh"

let rec decode_pb_dbphicgdjga d =
  let v = default_dbphicgdjga_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.jccolmabopj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dbphicgdjga), field(6)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.kpiihcgmagg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dbphicgdjga), field(8)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.gjmokpigjag <- decode_pb_fpofnnofeeh d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dbphicgdjga), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jccolmabopj = v.jccolmabopj;
    kpiihcgmagg = v.kpiihcgmagg;
    gjmokpigjag = v.gjmokpigjag;
  } : dbphicgdjga)

let rec decode_pb_acfkhehkkja d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(acfkhehkkja)" pk

let rec decode_pb_idfkboehdbp d =
  let v = default_idfkboehdbp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bdegbfalcni <- List.rev v.bdegbfalcni;
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.bdegbfalcni <- (decode_pb_dbphicgdjga (Pbrt.Decoder.nested d)) :: v.bdegbfalcni;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(idfkboehdbp), field(2)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(idfkboehdbp), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bdegbfalcni = v.bdegbfalcni;
    retcode = v.retcode;
  } : idfkboehdbp)

let rec decode_pb_eookgadnnmb d =
  let v = default_eookgadnnmb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.jgaaeecdfal <- decode_pb_fpofnnofeeh d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eookgadnnmb), field(12)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.igfhcehhhoi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eookgadnnmb), field(7)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eookgadnnmb), field(11)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.mphcmmfkpog <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eookgadnnmb), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jgaaeecdfal = v.jgaaeecdfal;
    igfhcehhhoi = v.igfhcehhhoi;
    id = v.id;
    mphcmmfkpog = v.mphcmmfkpog;
  } : eookgadnnmb)

let rec decode_pb_kmkibfaecip d =
  let v = default_kmkibfaecip_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_list <- List.rev v.avatar_list;
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kmkibfaecip), field(12)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.avatar_list <- (decode_pb_lmamieaaodh (Pbrt.Decoder.nested d)) :: v.avatar_list;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kmkibfaecip), field(13)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.fndnmbljapc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kmkibfaecip), field(5)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.oioglfmcbpe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kmkibfaecip), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
    avatar_list = v.avatar_list;
    fndnmbljapc = v.fndnmbljapc;
    oioglfmcbpe = v.oioglfmcbpe;
  } : kmkibfaecip)

let rec decode_pb_lkfcopmhkci d =
  let v = default_lkfcopmhkci_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lkfcopmhkci), field(6)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lkfcopmhkci), field(1)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lkfcopmhkci), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ibllilenejp = v.ibllilenejp;
    retcode = v.retcode;
    id = v.id;
  } : lkfcopmhkci)

let rec decode_pb_madlanogbob d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_fight_type_none:madlanogbob)
  | 30093 -> (Cmd_fight_heart_beat_sc_rsp:madlanogbob)
  | 30039 -> (Cmd_fight_session_stop_sc_notify:madlanogbob)
  | 30068 -> (Cmd_fight_enter_cs_req:madlanogbob)
  | 30056 -> (Cmd_fight_heart_beat_cs_req:madlanogbob)
  | 30043 -> (Cmd_fight_kick_out_sc_notify:madlanogbob)
  | 30006 -> (Cmd_fight_enter_sc_rsp:madlanogbob)
  | 30011 -> (Cmd_fight_leave_sc_notify:madlanogbob)
  | _ -> Pbrt.Decoder.malformed_variant "madlanogbob"

let rec decode_pb_blpmdeopfmm d =
  let v = default_blpmdeopfmm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.jdjmjenhhhl <- Pbrt.Decoder.string d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blpmdeopfmm), field(5)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.dbgjcbcfaec <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blpmdeopfmm), field(4)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.gmcheopahkc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blpmdeopfmm), field(13)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.khegeddmhme <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blpmdeopfmm), field(1)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.hdnnjibaggl <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blpmdeopfmm), field(9)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blpmdeopfmm), field(14)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.hcgjomkbloh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blpmdeopfmm), field(11)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.pcmajmegbld <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blpmdeopfmm), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jdjmjenhhhl = v.jdjmjenhhhl;
    dbgjcbcfaec = v.dbgjcbcfaec;
    gmcheopahkc = v.gmcheopahkc;
    khegeddmhme = v.khegeddmhme;
    hdnnjibaggl = v.hdnnjibaggl;
    uid = v.uid;
    hcgjomkbloh = v.hcgjomkbloh;
    pcmajmegbld = v.pcmajmegbld;
  } : blpmdeopfmm)

let rec decode_pb_dioeanbidmp d =
  let v = default_dioeanbidmp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.kcicanjloba <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dioeanbidmp), field(11)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.mciakkehiaa <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dioeanbidmp), field(6)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.secret_key_seed <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dioeanbidmp), field(12)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dioeanbidmp), field(2)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.khegeddmhme <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dioeanbidmp), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kcicanjloba = v.kcicanjloba;
    mciakkehiaa = v.mciakkehiaa;
    secret_key_seed = v.secret_key_seed;
    retcode = v.retcode;
    khegeddmhme = v.khegeddmhme;
  } : dioeanbidmp)

let rec decode_pb_aabddaeaapg d =
  let v = default_aabddaeaapg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.mkgnjoaekdm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aabddaeaapg), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mkgnjoaekdm = v.mkgnjoaekdm;
  } : aabddaeaapg)

let rec decode_pb_ikklnkijkho d =
  let v = default_ikklnkijkho_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.kick_type <- decode_pb_iafdbbcgofo d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ikklnkijkho), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kick_type = v.kick_type;
  } : ikklnkijkho)

let rec decode_pb_jnpmfcmbadi d =
  let v = default_jnpmfcmbadi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.client_time_ms <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnpmfcmbadi), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    client_time_ms = v.client_time_ms;
  } : jnpmfcmbadi)

let rec decode_pb_ggnmbncnfmg d =
  let v = default_ggnmbncnfmg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.server_time_ms <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ggnmbncnfmg), field(6)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.client_time_ms <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ggnmbncnfmg), field(14)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ggnmbncnfmg), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    server_time_ms = v.server_time_ms;
    client_time_ms = v.client_time_ms;
    retcode = v.retcode;
  } : ggnmbncnfmg)

let rec decode_pb_hhdbjheacpc d =
  let v = default_hhdbjheacpc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.nchhhomjbdk <- Some (decode_pb_mfoaahgomic (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhdbjheacpc), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nchhhomjbdk = v.nchhhomjbdk;
  } : hhdbjheacpc)

let rec decode_pb_jeiklnahdgi d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_fight_activity_type_none:jeiklnahdgi)
  | 3643 -> (Cmd_enter_fight_activity_stage_cs_req:jeiklnahdgi)
  | 3639 -> (Cmd_take_fight_activity_reward_sc_rsp:jeiklnahdgi)
  | 3606 -> (Cmd_get_fight_activity_data_sc_rsp:jeiklnahdgi)
  | 3668 -> (Cmd_get_fight_activity_data_cs_req:jeiklnahdgi)
  | 3611 -> (Cmd_fight_activity_data_change_sc_notify:jeiklnahdgi)
  | 3656 -> (Cmd_enter_fight_activity_stage_sc_rsp:jeiklnahdgi)
  | 3693 -> (Cmd_take_fight_activity_reward_cs_req:jeiklnahdgi)
  | _ -> Pbrt.Decoder.malformed_variant "jeiklnahdgi"

let rec decode_pb_fight_activity_group d =
  let v = default_fight_activity_group_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.taken_difficulty_level_reward_list <- List.rev v.taken_difficulty_level_reward_list;
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fight_activity_group), field(8)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.endless_max_wave <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fight_activity_group), field(5)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.passed_max_difficulty_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fight_activity_group), field(2)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.taken_difficulty_level_reward_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fight_activity_group), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    group_id = v.group_id;
    endless_max_wave = v.endless_max_wave;
    passed_max_difficulty_level = v.passed_max_difficulty_level;
    taken_difficulty_level_reward_list = v.taken_difficulty_level_reward_list;
  } : fight_activity_group)

let rec decode_pb_fdehcoinapm d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(fdehcoinapm)" pk

let rec decode_pb_hicipecahde d =
  let v = default_hicipecahde_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hnhhdaccogm <- List.rev v.hnhhdaccogm;
      v.eibgbnaebod <- List.rev v.eibgbnaebod;
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hicipecahde), field(2)" pk
    | Some (13, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.int32_as_varint d
      ) in
      v.eibgbnaebod <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.eibgbnaebod;
      );
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hicipecahde), field(13)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.world_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hicipecahde), field(7)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.hnhhdaccogm <- (decode_pb_fight_activity_group (Pbrt.Decoder.nested d)) :: v.hnhhdaccogm;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hicipecahde), field(10)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.biokakgphop <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hicipecahde), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    eibgbnaebod = v.eibgbnaebod;
    world_level = v.world_level;
    hnhhdaccogm = v.hnhhdaccogm;
    biokakgphop = v.biokakgphop;
  } : hicipecahde)

let rec decode_pb_oiacopadblk d =
  let v = default_oiacopadblk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.eibgbnaebod <- List.rev v.eibgbnaebod;
      v.hnhhdaccogm <- List.rev v.hnhhdaccogm;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.hnhhdaccogm <- (decode_pb_fight_activity_group (Pbrt.Decoder.nested d)) :: v.hnhhdaccogm;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oiacopadblk), field(13)" pk
    | Some (2, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.int32_as_varint d
      ) in
      v.eibgbnaebod <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.eibgbnaebod;
      );
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oiacopadblk), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hnhhdaccogm = v.hnhhdaccogm;
    eibgbnaebod = v.eibgbnaebod;
  } : oiacopadblk)

let rec decode_pb_mooihlnlibk d =
  let v = default_mooihlnlibk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mooihlnlibk), field(15)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mooihlnlibk), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id = v.avatar_id;
    avatar_type = v.avatar_type;
  } : mooihlnlibk)

let rec decode_pb_liaagefbjci d =
  let v = default_liaagefbjci_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pdpfcfglgco <- List.rev v.pdpfcfglgco;
      v.avatar_list <- List.rev v.avatar_list;
      v.neakgefbcdd <- List.rev v.neakgefbcdd;
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(liaagefbjci), field(6)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.neakgefbcdd <- (decode_pb_mooihlnlibk (Pbrt.Decoder.nested d)) :: v.neakgefbcdd;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(liaagefbjci), field(5)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.avatar_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(liaagefbjci), field(3)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.odgoeojelah <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(liaagefbjci), field(11)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.pdpfcfglgco <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(liaagefbjci), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    group_id = v.group_id;
    neakgefbcdd = v.neakgefbcdd;
    avatar_list = v.avatar_list;
    odgoeojelah = v.odgoeojelah;
    pdpfcfglgco = v.pdpfcfglgco;
  } : liaagefbjci)

let rec decode_pb_mfgbeapdfbh d =
  let v = default_mfgbeapdfbh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mfgbeapdfbh), field(12)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mfgbeapdfbh), field(4)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mfgbeapdfbh), field(13)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.odgoeojelah <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mfgbeapdfbh), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    group_id = v.group_id;
    retcode = v.retcode;
    ibllilenejp = v.ibllilenejp;
    odgoeojelah = v.odgoeojelah;
  } : mfgbeapdfbh)

let rec decode_pb_pmgpmgiieok d =
  let v = default_pmgpmgiieok_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.odgoeojelah <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pmgpmgiieok), field(14)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pmgpmgiieok), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    odgoeojelah = v.odgoeojelah;
    group_id = v.group_id;
  } : pmgpmgiieok)

let rec decode_pb_effddphipan d =
  let v = default_effddphipan_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(effddphipan), field(7)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(effddphipan), field(14)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(effddphipan), field(12)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.odgoeojelah <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(effddphipan), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    reward = v.reward;
    group_id = v.group_id;
    retcode = v.retcode;
    odgoeojelah = v.odgoeojelah;
  } : effddphipan)

let rec decode_pb_mhopfddhfom d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_fight_fest_type_none:mhopfddhfom)
  | 7274 -> (Cmd_get_fight_fest_data_sc_rsp:mhopfddhfom)
  | 7254 -> (Cmd_fight_fest_update_coin_notify:mhopfddhfom)
  | 7261 -> (Cmd_fight_fest_score_update_notify:mhopfddhfom)
  | 7267 -> (Cmd_start_fight_fest_sc_rsp:mhopfddhfom)
  | 7257 -> (Cmd_get_fight_fest_data_cs_req:mhopfddhfom)
  | 7273 -> (Cmd_fight_fest_update_challenge_record_notify:mhopfddhfom)
  | 7265 -> (Cmd_start_fight_fest_cs_req:mhopfddhfom)
  | 7258 -> (Cmd_fight_fest_unlock_skill_notify:mhopfddhfom)
  | _ -> Pbrt.Decoder.malformed_variant "mhopfddhfom"

let rec decode_pb_pakokghoagp d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Fight_fest_battle_rank_c:pakokghoagp)
  | 1 -> (Fight_fest_battle_rank_b:pakokghoagp)
  | 2 -> (Fight_fest_battle_rank_a:pakokghoagp)
  | 3 -> (Fight_fest_battle_rank_s:pakokghoagp)
  | 4 -> (Fight_fest_battle_rank_ss:pakokghoagp)
  | _ -> Pbrt.Decoder.malformed_variant "pakokghoagp"

let rec decode_pb_ojikhafakmn d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Fight_fest_type_none:ojikhafakmn)
  | 1 -> (Fight_fest_type_main:ojikhafakmn)
  | 2 -> (Fight_fest_type_score:ojikhafakmn)
  | 3 -> (Fight_fest_type_challenge:ojikhafakmn)
  | 4 -> (Fight_fest_type_teach:ojikhafakmn)
  | _ -> Pbrt.Decoder.malformed_variant "ojikhafakmn"

let rec decode_pb_cllckidkjnp d =
  let v = default_cllckidkjnp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.moidpjnooeb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cllckidkjnp), field(12)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.jccolmabopj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cllckidkjnp), field(4)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cllckidkjnp), field(2)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.gjmokpigjag <- decode_pb_pakokghoagp d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cllckidkjnp), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    moidpjnooeb = v.moidpjnooeb;
    jccolmabopj = v.jccolmabopj;
    dcpoeimegli = v.dcpoeimegli;
    gjmokpigjag = v.gjmokpigjag;
  } : cllckidkjnp)

let rec decode_pb_clhaiohidij d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(clhaiohidij)" pk

let rec decode_pb_cooiplcedfe d =
  let v = default_cooiplcedfe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.poiemdhbkoj <- List.rev v.poiemdhbkoj;
      v.cjbdijhedpo <- List.rev v.cjbdijhedpo;
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cooiplcedfe), field(14)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.dbgaojmndmc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cooiplcedfe), field(8)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.cjbdijhedpo <- (decode_pb_cllckidkjnp (Pbrt.Decoder.nested d)) :: v.cjbdijhedpo;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cooiplcedfe), field(13)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.poiemdhbkoj <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cooiplcedfe), field(1)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.lpgaoolbbfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cooiplcedfe), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    dbgaojmndmc = v.dbgaojmndmc;
    cjbdijhedpo = v.cjbdijhedpo;
    poiemdhbkoj = v.poiemdhbkoj;
    lpgaoolbbfm = v.lpgaoolbbfm;
  } : cooiplcedfe)

let rec decode_pb_afgllplofkl d =
  let v = default_afgllplofkl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afgllplofkl), field(7)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afgllplofkl), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_type = v.avatar_type;
    id = v.id;
  } : afgllplofkl)

let rec decode_pb_pijkiokgmep d =
  let v = default_pijkiokgmep_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_list <- List.rev v.avatar_list;
      v.poiemdhbkoj <- List.rev v.poiemdhbkoj;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.poiemdhbkoj <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pijkiokgmep), field(9)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pijkiokgmep), field(12)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.avatar_list <- (decode_pb_afgllplofkl (Pbrt.Decoder.nested d)) :: v.avatar_list;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pijkiokgmep), field(7)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.fgmdoekgpee <- decode_pb_ojikhafakmn d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pijkiokgmep), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    poiemdhbkoj = v.poiemdhbkoj;
    id = v.id;
    avatar_list = v.avatar_list;
    fgmdoekgpee = v.fgmdoekgpee;
  } : pijkiokgmep)

let rec decode_pb_hpndidajned d =
  let v = default_hpndidajned_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.fgmdoekgpee <- decode_pb_ojikhafakmn d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hpndidajned), field(3)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hpndidajned), field(5)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hpndidajned), field(9)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hpndidajned), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fgmdoekgpee = v.fgmdoekgpee;
    retcode = v.retcode;
    id = v.id;
    ibllilenejp = v.ibllilenejp;
  } : hpndidajned)

let rec decode_pb_glhifmjnbka d =
  let v = default_glhifmjnbka_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.lpgaoolbbfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glhifmjnbka), field(4)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.efadknhaeci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glhifmjnbka), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lpgaoolbbfm = v.lpgaoolbbfm;
    efadknhaeci = v.efadknhaeci;
  } : glhifmjnbka)

let rec decode_pb_ajjjfojpcka d =
  let v = default_ajjjfojpcka_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.dginkacilnf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ajjjfojpcka), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dginkacilnf = v.dginkacilnf;
  } : ajjjfojpcka)

let rec decode_pb_hobfkjhmmhp d =
  let v = default_hobfkjhmmhp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.jccolmabopj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hobfkjhmmhp), field(6)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.jahjmcacppe <- decode_pb_pakokghoagp d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hobfkjhmmhp), field(9)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.rank <- decode_pb_pakokghoagp d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hobfkjhmmhp), field(7)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.mphcmmfkpog <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hobfkjhmmhp), field(10)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hobfkjhmmhp), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jccolmabopj = v.jccolmabopj;
    jahjmcacppe = v.jahjmcacppe;
    rank = v.rank;
    mphcmmfkpog = v.mphcmmfkpog;
    dcpoeimegli = v.dcpoeimegli;
  } : hobfkjhmmhp)

let rec decode_pb_egkofpmnofo d =
  let v = default_egkofpmnofo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.dbgaojmndmc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egkofpmnofo), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dbgaojmndmc = v.dbgaojmndmc;
  } : egkofpmnofo)

let rec decode_pb_oicjjpbhahi d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_fight_mathc3_type_none:oicjjpbhahi)
  | 30154 -> (Cmd_fight_match3_force_update_notify:oicjjpbhahi)
  | 30193 -> (Cmd_fight_match3_swap_cs_req:oicjjpbhahi)
  | 30111 -> (Cmd_fight_match3_start_count_down_sc_notify:oicjjpbhahi)
  | 30199 -> (Cmd_fight_match3_chat_sc_notify:oicjjpbhahi)
  | 30168 -> (Cmd_fight_match3_data_cs_req:oicjjpbhahi)
  | 30151 -> (Cmd_fight_match3_chat_cs_req:oicjjpbhahi)
  | 30143 -> (Cmd_fight_match3_turn_start_sc_notify:oicjjpbhahi)
  | 30139 -> (Cmd_fight_match3_swap_sc_rsp:oicjjpbhahi)
  | 30106 -> (Cmd_fight_match3_data_sc_rsp:oicjjpbhahi)
  | 30129 -> (Cmd_fight_match3_opponent_data_sc_notify:oicjjpbhahi)
  | 30156 -> (Cmd_fight_match3_turn_end_sc_notify:oicjjpbhahi)
  | 30133 -> (Cmd_fight_match3_chat_sc_rsp:oicjjpbhahi)
  | _ -> Pbrt.Decoder.malformed_variant "oicjjpbhahi"

let rec decode_pb_ignpcapkdfc d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Match3_state_idle:ignpcapkdfc)
  | 1 -> (Match3_state_start:ignpcapkdfc)
  | 2 -> (Match3_state_match:ignpcapkdfc)
  | 3 -> (Match3_state_game:ignpcapkdfc)
  | 4 -> (Match3_state_halftime:ignpcapkdfc)
  | 5 -> (Match3_state_over:ignpcapkdfc)
  | _ -> Pbrt.Decoder.malformed_variant "ignpcapkdfc"

let rec decode_pb_dblancjjchp d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Match3_player_state_alive:dblancjjchp)
  | 1 -> (Match3_player_state_dying:dblancjjchp)
  | 2 -> (Match3_player_state_dead:dblancjjchp)
  | 3 -> (Match3_player_state_leave:dblancjjchp)
  | _ -> Pbrt.Decoder.malformed_variant "dblancjjchp"

let rec decode_pb_aipongicanm d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Event_begin:aipongicanm)
  | 1 -> (Event_break:aipongicanm)
  | 2 -> (Event_fall:aipongicanm)
  | 3 -> (Event_refresh:aipongicanm)
  | 4 -> (Event_bird_skill:aipongicanm)
  | 5 -> (Event_env:aipongicanm)
  | 6 -> (Event_shuffle:aipongicanm)
  | 7 -> (Event_settle_tag:aipongicanm)
  | _ -> Pbrt.Decoder.malformed_variant "aipongicanm"

let rec decode_pb_abmnfjmimho d =
  let v = default_abmnfjmimho_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.rank <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(abmnfjmimho), field(6)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.mdnckipflpb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(abmnfjmimho), field(1)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.jbfkipajfnk <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(abmnfjmimho), field(11)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.state <- decode_pb_dblancjjchp d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(abmnfjmimho), field(13)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.lpgaoolbbfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(abmnfjmimho), field(2)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.fdomecikbcg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(abmnfjmimho), field(15)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.oabkcckodej <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(abmnfjmimho), field(9)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.hp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(abmnfjmimho), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    rank = v.rank;
    mdnckipflpb = v.mdnckipflpb;
    jbfkipajfnk = v.jbfkipajfnk;
    state = v.state;
    lpgaoolbbfm = v.lpgaoolbbfm;
    fdomecikbcg = v.fdomecikbcg;
    oabkcckodej = v.oabkcckodej;
    hp = v.hp;
  } : abmnfjmimho)

let rec decode_pb_eapbfaifbaf d =
  let v = default_eapbfaifbaf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jbehccpnhfh <- List.rev v.jbehccpnhfh;
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.lpgaoolbbfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eapbfaifbaf), field(3)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.femmkmapjng <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eapbfaifbaf), field(7)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.gfcihemdoga <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eapbfaifbaf), field(11)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.jbehccpnhfh <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eapbfaifbaf), field(14)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.jpbipampend <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eapbfaifbaf), field(5)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.gnmmfgoppki <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eapbfaifbaf), field(2)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.ofeiiikacfl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eapbfaifbaf), field(8)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.ggndffpkohn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eapbfaifbaf), field(1)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.bnageejckgi <- Some (decode_pb_obminlghola (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eapbfaifbaf), field(6)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.gdkmhgekcen <- decode_pb_dblancjjchp d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eapbfaifbaf), field(13)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.anecodblgcb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eapbfaifbaf), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lpgaoolbbfm = v.lpgaoolbbfm;
    femmkmapjng = v.femmkmapjng;
    gfcihemdoga = v.gfcihemdoga;
    jbehccpnhfh = v.jbehccpnhfh;
    jpbipampend = v.jpbipampend;
    gnmmfgoppki = v.gnmmfgoppki;
    ofeiiikacfl = v.ofeiiikacfl;
    ggndffpkohn = v.ggndffpkohn;
    bnageejckgi = v.bnageejckgi;
    gdkmhgekcen = v.gdkmhgekcen;
    anecodblgcb = v.anecodblgcb;
  } : eapbfaifbaf)

let rec decode_pb_kgmgbcpimab d =
  let v = default_kgmgbcpimab_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.dhkokjlaakb <- List.rev v.dhkokjlaakb;
      v.hgjiomhlaoh <- List.rev v.hgjiomhlaoh;
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.hgjiomhlaoh <- (decode_pb_abmnfjmimho (Pbrt.Decoder.nested d)) :: v.hgjiomhlaoh;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgmgbcpimab), field(6)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.ioolphicdme <- decode_pb_ignpcapkdfc d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgmgbcpimab), field(2)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.dhkokjlaakb <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgmgbcpimab), field(10)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.djkomhjmehn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgmgbcpimab), field(13)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.ajdemhpcfmo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgmgbcpimab), field(4)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.lkgpmmckpbg <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgmgbcpimab), field(11)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.akondfcfgek <- Some (decode_pb_eapbfaifbaf (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgmgbcpimab), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgjiomhlaoh = v.hgjiomhlaoh;
    ioolphicdme = v.ioolphicdme;
    dhkokjlaakb = v.dhkokjlaakb;
    djkomhjmehn = v.djkomhjmehn;
    ajdemhpcfmo = v.ajdemhpcfmo;
    lkgpmmckpbg = v.lkgpmmckpbg;
    akondfcfgek = v.akondfcfgek;
  } : kgmgbcpimab)

let rec decode_pb_denoijbaaod d =
  let v = default_denoijbaaod_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.mebdjjncnfg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(denoijbaaod), field(2)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.bmocnnjijdp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(denoijbaaod), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mebdjjncnfg = v.mebdjjncnfg;
    bmocnnjijdp = v.bmocnnjijdp;
  } : denoijbaaod)

let rec decode_pb_oponljijhpa d =
  let v = default_oponljijhpa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.pdamihhlilg <- decode_pb_aipongicanm d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oponljijhpa), field(5)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.jejijnmpehb <- Some (decode_pb_eapbfaifbaf (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oponljijhpa), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pdamihhlilg = v.pdamihhlilg;
    jejijnmpehb = v.jejijnmpehb;
  } : oponljijhpa)

let rec decode_pb_gmljciklojl d =
  let v = default_gmljciklojl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.hckegfdpdml <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gmljciklojl), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hckegfdpdml = v.hckegfdpdml;
  } : gmljciklojl)

let rec decode_pb_ljnlgoohfil d =
  let v = default_ljnlgoohfil_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pcmhnpbecpk <- List.rev v.pcmhnpbecpk;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.pcmhnpbecpk <- (decode_pb_egokacjfaen (Pbrt.Decoder.nested d)) :: v.pcmhnpbecpk;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ljnlgoohfil), field(10)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.data <- Some (decode_pb_kgmgbcpimab (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ljnlgoohfil), field(5)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ljnlgoohfil), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pcmhnpbecpk = v.pcmhnpbecpk;
    data = v.data;
    retcode = v.retcode;
  } : ljnlgoohfil)

let rec decode_pb_djdbegggakl d =
  let v = default_djdbegggakl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.data <- Some (decode_pb_kgmgbcpimab (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(djdbegggakl), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    data = v.data;
  } : djdbegggakl)

let rec decode_pb_iffhpbefklj d =
  let v = default_iffhpbefklj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.djipmgbjenc <- Some (decode_pb_kgmgbcpimab (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iffhpbefklj), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    djipmgbjenc = v.djipmgbjenc;
  } : iffhpbefklj)

let rec decode_pb_egbdfmaknfn d =
  let v = default_egbdfmaknfn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.pajkkaimfck <- Some (decode_pb_kgmgbcpimab (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egbdfmaknfn), field(4)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.bhppkjnffbj <- Some (decode_pb_kgmgbcpimab (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egbdfmaknfn), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pajkkaimfck = v.pajkkaimfck;
    bhppkjnffbj = v.bhppkjnffbj;
  } : egbdfmaknfn)

let rec decode_pb_gjlkimboidh d =
  let v = default_gjlkimboidh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.gbglgkegimi <- List.rev v.gbglgkegimi;
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.cieklmgokpd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gjlkimboidh), field(4)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.bbfkjghijja <- Some (decode_pb_denoijbaaod (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gjlkimboidh), field(12)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.gbglgkegimi <- (decode_pb_oponljijhpa (Pbrt.Decoder.nested d)) :: v.gbglgkegimi;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gjlkimboidh), field(9)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.anajpndkpme <- Some (decode_pb_denoijbaaod (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gjlkimboidh), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cieklmgokpd = v.cieklmgokpd;
    bbfkjghijja = v.bbfkjghijja;
    gbglgkegimi = v.gbglgkegimi;
    anajpndkpme = v.anajpndkpme;
  } : gjlkimboidh)

let rec decode_pb_bcgbgdmfikl d =
  let v = default_bcgbgdmfikl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.mnnnjdmpfni <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bcgbgdmfikl), field(2)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bcgbgdmfikl), field(4)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.pondkmjicai <- Some (decode_pb_eapbfaifbaf (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bcgbgdmfikl), field(10)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.cieklmgokpd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bcgbgdmfikl), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mnnnjdmpfni = v.mnnnjdmpfni;
    retcode = v.retcode;
    pondkmjicai = v.pondkmjicai;
    cieklmgokpd = v.cieklmgokpd;
  } : bcgbgdmfikl)

let rec decode_pb_nbmkjlidaci d =
  let v = default_nbmkjlidaci_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.state <- decode_pb_dblancjjchp d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nbmkjlidaci), field(13)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.hp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nbmkjlidaci), field(7)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.ajdemhpcfmo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nbmkjlidaci), field(8)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.oabkcckodej <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nbmkjlidaci), field(3)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.lpgaoolbbfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nbmkjlidaci), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    state = v.state;
    hp = v.hp;
    ajdemhpcfmo = v.ajdemhpcfmo;
    oabkcckodej = v.oabkcckodej;
    lpgaoolbbfm = v.lpgaoolbbfm;
  } : nbmkjlidaci)

let rec decode_pb_bimejcgcjoo d =
  let v = default_bimejcgcjoo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.choodflmenc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bimejcgcjoo), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    choodflmenc = v.choodflmenc;
  } : bimejcgcjoo)

let rec decode_pb_hmhegjjneid d =
  let v = default_hmhegjjneid_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.choodflmenc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hmhegjjneid), field(2)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hmhegjjneid), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    choodflmenc = v.choodflmenc;
    retcode = v.retcode;
  } : hmhegjjneid)

let rec decode_pb_baebomlpnfe d =
  let v = default_baebomlpnfe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.fbncflddjfe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(baebomlpnfe), field(5)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.choodflmenc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(baebomlpnfe), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fbncflddjfe = v.fbncflddjfe;
    choodflmenc = v.choodflmenc;
  } : baebomlpnfe)

let rec decode_pb_eldpaljlpmj d =
  let v = default_eldpaljlpmj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.data <- Some (decode_pb_kgmgbcpimab (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eldpaljlpmj), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    data = v.data;
  } : eldpaljlpmj)

let rec decode_pb_kpjdlplhkhp d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_friend_type_none:kpjdlplhkhp)
  | 2939 -> (Cmd_apply_friend_cs_req:kpjdlplhkhp)
  | 2969 -> (Cmd_get_friend_login_info_cs_req:kpjdlplhkhp)
  | 2943 -> (Cmd_get_player_detail_info_sc_rsp:kpjdlplhkhp)
  | 2908 -> (Cmd_search_player_cs_req:kpjdlplhkhp)
  | 2976 -> (Cmd_get_cur_assist_sc_rsp:kpjdlplhkhp)
  | 2982 -> (Cmd_sync_delete_friend_sc_notify:kpjdlplhkhp)
  | 2909 -> (Cmd_delete_blacklist_cs_req:kpjdlplhkhp)
  | 2941 -> (Cmd_get_friend_battle_record_detail_cs_req:kpjdlplhkhp)
  | 2995 -> (Cmd_get_platform_player_info_cs_req:kpjdlplhkhp)
  | 2967 -> (Cmd_get_friend_login_info_sc_rsp:kpjdlplhkhp)
  | 2966 -> (Cmd_new_assist_history_notify:kpjdlplhkhp)
  | 2917 -> (Cmd_set_friend_remark_name_cs_req:kpjdlplhkhp)
  | 2965 -> (Cmd_delete_friend_cs_req:kpjdlplhkhp)
  | 2989 -> (Cmd_get_platform_player_info_sc_rsp:kpjdlplhkhp)
  | 2981 -> (Cmd_search_player_sc_rsp:kpjdlplhkhp)
  | 2923 -> (Cmd_set_assist_sc_rsp:kpjdlplhkhp)
  | 2993 -> (Cmd_get_friend_apply_list_info_sc_rsp:kpjdlplhkhp)
  | 2912 -> (Cmd_take_assist_reward_sc_rsp:kpjdlplhkhp)
  | 2984 -> (Cmd_set_assist_cs_req:kpjdlplhkhp)
  | 2949 -> (Cmd_get_assist_history_cs_req:kpjdlplhkhp)
  | 2992 -> (Cmd_set_friend_remark_name_sc_rsp:kpjdlplhkhp)
  | 2945 -> (Cmd_get_assist_history_sc_rsp:kpjdlplhkhp)
  | 2948 -> (Cmd_delete_friend_sc_rsp:kpjdlplhkhp)
  | 2916 -> (Cmd_get_assist_list_sc_rsp:kpjdlplhkhp)
  | 2930 -> (Cmd_cur_assist_changed_notify:kpjdlplhkhp)
  | 2946 -> (Cmd_take_assist_reward_cs_req:kpjdlplhkhp)
  | 2906 -> (Cmd_get_friend_list_info_sc_rsp:kpjdlplhkhp)
  | 2968 -> (Cmd_get_friend_list_info_cs_req:kpjdlplhkhp)
  | 2953 -> (Cmd_get_friend_assist_list_sc_rsp:kpjdlplhkhp)
  | 2903 -> (Cmd_get_friend_development_info_cs_req:kpjdlplhkhp)
  | 2954 -> (Cmd_sync_handle_friend_sc_notify:kpjdlplhkhp)
  | 2956 -> (Cmd_get_friend_apply_list_info_cs_req:kpjdlplhkhp)
  | 3000 -> (Cmd_get_friend_assist_list_cs_req:kpjdlplhkhp)
  | 2958 -> (Cmd_get_friend_challenge_lineup_cs_req:kpjdlplhkhp)
  | 2933 -> (Cmd_handle_friend_cs_req:kpjdlplhkhp)
  | 2929 -> (Cmd_apply_friend_sc_rsp:kpjdlplhkhp)
  | 2940 -> (Cmd_set_friend_mark_cs_req:kpjdlplhkhp)
  | 2959 -> (Cmd_get_friend_challenge_detail_cs_req:kpjdlplhkhp)
  | 2932 -> (Cmd_get_assist_list_cs_req:kpjdlplhkhp)
  | 2951 -> (Cmd_sync_apply_friend_sc_notify:kpjdlplhkhp)
  | 2926 -> (Cmd_get_friend_development_info_sc_rsp:kpjdlplhkhp)
  | 2999 -> (Cmd_handle_friend_sc_rsp:kpjdlplhkhp)
  | 2907 -> (Cmd_get_friend_challenge_detail_sc_rsp:kpjdlplhkhp)
  | 2911 -> (Cmd_get_player_detail_info_cs_req:kpjdlplhkhp)
  | 2998 -> (Cmd_sync_add_blacklist_sc_notify:kpjdlplhkhp)
  | 2928 -> (Cmd_report_player_sc_rsp:kpjdlplhkhp)
  | 2934 -> (Cmd_add_blacklist_cs_req:kpjdlplhkhp)
  | 2978 -> (Cmd_get_cur_assist_cs_req:kpjdlplhkhp)
  | 2947 -> (Cmd_get_friend_challenge_lineup_sc_rsp:kpjdlplhkhp)
  | 2931 -> (Cmd_get_friend_battle_record_detail_sc_rsp:kpjdlplhkhp)
  | 2988 -> (Cmd_delete_blacklist_sc_rsp:kpjdlplhkhp)
  | 2924 -> (Cmd_get_friend_recommend_list_info_sc_rsp:kpjdlplhkhp)
  | 2997 -> (Cmd_add_blacklist_sc_rsp:kpjdlplhkhp)
  | 2915 -> (Cmd_set_forbid_other_apply_friend_cs_req:kpjdlplhkhp)
  | 2925 -> (Cmd_get_friend_recommend_list_info_cs_req:kpjdlplhkhp)
  | 2975 -> (Cmd_set_forbid_other_apply_friend_sc_rsp:kpjdlplhkhp)
  | 2985 -> (Cmd_set_friend_mark_sc_rsp:kpjdlplhkhp)
  | 2990 -> (Cmd_report_player_cs_req:kpjdlplhkhp)
  | _ -> Pbrt.Decoder.malformed_variant "kpjdlplhkhp"

let rec decode_pb_pjgopgmffha d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Friend_online_status_offline:pjgopgmffha)
  | 1 -> (Friend_online_status_online:pjgopgmffha)
  | _ -> Pbrt.Decoder.malformed_variant "pjgopgmffha"

let rec decode_pb_mfhcehbfeng d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Friend_apply_source_none:mfhcehbfeng)
  | 1 -> (Friend_apply_source_search:mfhcehbfeng)
  | 2 -> (Friend_apply_source_recommend:mfhcehbfeng)
  | 3 -> (Friend_apply_source_assist:mfhcehbfeng)
  | 4 -> (Friend_apply_source_recommend_assist:mfhcehbfeng)
  | 5 -> (Friend_apply_source_psn_friend:mfhcehbfeng)
  | 6 -> (Friend_apply_source_assist_reward:mfhcehbfeng)
  | _ -> Pbrt.Decoder.malformed_variant "mfhcehbfeng"

let rec decode_pb_assist_simple_info d =
  let v = default_assist_simple_info_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.pos <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(assist_simple_info), field(6)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(assist_simple_info), field(12)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(assist_simple_info), field(2)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.dressed_skin_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(assist_simple_info), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pos = v.pos;
    level = v.level;
    avatar_id = v.avatar_id;
    dressed_skin_id = v.dressed_skin_id;
  } : assist_simple_info)

let rec decode_pb_jdfpbmlnbjp d =
  let v = default_jdfpbmlnbjp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.nknakibilel <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jdfpbmlnbjp), field(8)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.nncdpbdokbj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jdfpbmlnbjp), field(11)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jdfpbmlnbjp), field(12)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.jfekengnnak <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jdfpbmlnbjp), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nknakibilel = v.nknakibilel;
    nncdpbdokbj = v.nncdpbdokbj;
    group_id = v.group_id;
    jfekengnnak = v.jfekengnnak;
  } : jdfpbmlnbjp)

let rec decode_pb_oikoefdidbh d =
  let v = default_oikoefdidbh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.kdhdjdloanj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oikoefdidbh), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kdhdjdloanj = v.kdhdjdloanj;
  } : oikoefdidbh)

let rec decode_pb_alehlddneko d =
  let v = default_alehlddneko_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hdaomndcpma <- List.rev v.hdaomndcpma;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.hdaomndcpma <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(alehlddneko), field(7)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.kdhdjdloanj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(alehlddneko), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hdaomndcpma = v.hdaomndcpma;
    kdhdjdloanj = v.kdhdjdloanj;
  } : alehlddneko)

let rec decode_pb_bacbclhpcng d =
  let v = default_bacbclhpcng_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.aiifbempaee <- Some (decode_pb_alehlddneko (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bacbclhpcng), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    aiifbempaee = v.aiifbempaee;
  } : bacbclhpcng)

let rec decode_pb_ljpfhbjfjcm d =
  let v = default_ljpfhbjfjcm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.kdnemeljjld <- Some (decode_pb_oikoefdidbh (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ljpfhbjfjcm), field(5)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.lbjomgooifa <- Some (decode_pb_bacbclhpcng (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ljpfhbjfjcm), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kdnemeljjld = v.kdnemeljjld;
    lbjomgooifa = v.lbjomgooifa;
  } : ljpfhbjfjcm)

let rec decode_pb_cbnkemlblen d =
  let v = default_cbnkemlblen_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.gapjajnhglk <- decode_pb_okfachfdjei d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbnkemlblen), field(10)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.mbomdpgaieo <- Some (decode_pb_ljpfhbjfjcm (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbnkemlblen), field(12)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.abefnadegid <- Some (decode_pb_jdfpbmlnbjp (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbnkemlblen), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gapjajnhglk = v.gapjajnhglk;
    mbomdpgaieo = v.mbomdpgaieo;
    abefnadegid = v.abefnadegid;
  } : cbnkemlblen)

let rec decode_pb_pgpeepnclnj d =
  let v = default_pgpeepnclnj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ppdkoalbecc <- List.rev v.ppdkoalbecc;
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.alamlcfpglh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgpeepnclnj), field(5)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.cpkikinabfj <- Pbrt.Decoder.string d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgpeepnclnj), field(6)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.ppdkoalbecc <- (decode_pb_assist_simple_info (Pbrt.Decoder.nested d)) :: v.ppdkoalbecc;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgpeepnclnj), field(1)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.meijfajkmmp <- Pbrt.Decoder.string d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgpeepnclnj), field(10)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.dbgjcbcfaec <- decode_pb_platform_type d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgpeepnclnj), field(3)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.fkgipkjgjob <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgpeepnclnj), field(11)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.bmfhibobmhp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgpeepnclnj), field(8)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgpeepnclnj), field(15)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.pghdpnfjbla <- Pbrt.Decoder.bool d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgpeepnclnj), field(4)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.nickname <- Pbrt.Decoder.string d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgpeepnclnj), field(7)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.helfdhoenhb <- decode_pb_pjgopgmffha d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgpeepnclnj), field(14)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgpeepnclnj), field(12)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.dmdcpeiefkg <- Pbrt.Decoder.string d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgpeepnclnj), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    alamlcfpglh = v.alamlcfpglh;
    cpkikinabfj = v.cpkikinabfj;
    ppdkoalbecc = v.ppdkoalbecc;
    meijfajkmmp = v.meijfajkmmp;
    dbgjcbcfaec = v.dbgjcbcfaec;
    fkgipkjgjob = v.fkgipkjgjob;
    bmfhibobmhp = v.bmfhibobmhp;
    uid = v.uid;
    pghdpnfjbla = v.pghdpnfjbla;
    nickname = v.nickname;
    helfdhoenhb = v.helfdhoenhb;
    level = v.level;
    dmdcpeiefkg = v.dmdcpeiefkg;
  } : pgpeepnclnj)

let rec decode_pb_iflncpapggb d =
  let v = default_iflncpapggb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.hechfpdiado <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iflncpapggb), field(12)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iflncpapggb), field(5)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iflncpapggb), field(2)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.promotion <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iflncpapggb), field(15)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.rank <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iflncpapggb), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hechfpdiado = v.hechfpdiado;
    level = v.level;
    exp = v.exp;
    promotion = v.promotion;
    rank = v.rank;
  } : iflncpapggb)

let rec decode_pb_ngdlamibchp d =
  let v = default_ngdlamibchp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.sub_affix_list <- List.rev v.sub_affix_list;
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ngdlamibchp), field(6)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.sub_affix_list <- (decode_pb_relic_affix (Pbrt.Decoder.nested d)) :: v.sub_affix_list;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ngdlamibchp), field(15)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.hechfpdiado <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ngdlamibchp), field(13)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.fgmdoekgpee <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ngdlamibchp), field(2)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ngdlamibchp), field(9)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.main_affix_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ngdlamibchp), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    level = v.level;
    sub_affix_list = v.sub_affix_list;
    hechfpdiado = v.hechfpdiado;
    fgmdoekgpee = v.fgmdoekgpee;
    exp = v.exp;
    main_affix_id = v.main_affix_id;
  } : ngdlamibchp)

let rec decode_pb_display_avatar_detail_info d =
  let v = default_display_avatar_detail_info_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.relic_list <- List.rev v.relic_list;
      v.skilltree_list <- List.rev v.skilltree_list;
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.dressed_skin_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(display_avatar_detail_info), field(14)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(display_avatar_detail_info), field(1)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.equipment <- Some (decode_pb_iflncpapggb (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(display_avatar_detail_info), field(15)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.pos <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(display_avatar_detail_info), field(5)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(display_avatar_detail_info), field(12)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.rank <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(display_avatar_detail_info), field(10)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.skilltree_list <- (decode_pb_avatar_skill_tree (Pbrt.Decoder.nested d)) :: v.skilltree_list;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(display_avatar_detail_info), field(7)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(display_avatar_detail_info), field(8)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.promotion <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(display_avatar_detail_info), field(6)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.relic_list <- (decode_pb_ngdlamibchp (Pbrt.Decoder.nested d)) :: v.relic_list;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(display_avatar_detail_info), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dressed_skin_id = v.dressed_skin_id;
    avatar_id = v.avatar_id;
    equipment = v.equipment;
    pos = v.pos;
    exp = v.exp;
    rank = v.rank;
    skilltree_list = v.skilltree_list;
    level = v.level;
    promotion = v.promotion;
    relic_list = v.relic_list;
  } : display_avatar_detail_info)

let rec decode_pb_bnfohmhcfeh d =
  let v = default_bnfohmhcfeh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.lejlbfifpef <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bnfohmhcfeh), field(11)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.japackcehbb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bnfohmhcfeh), field(4)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.apjnodeccnm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bnfohmhcfeh), field(8)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.eedccmgbfah <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bnfohmhcfeh), field(10)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.gnnbopjfgma <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bnfohmhcfeh), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lejlbfifpef = v.lejlbfifpef;
    japackcehbb = v.japackcehbb;
    apjnodeccnm = v.apjnodeccnm;
    eedccmgbfah = v.eedccmgbfah;
    gnnbopjfgma = v.gnnbopjfgma;
  } : bnfohmhcfeh)

let rec decode_pb_hcpeplljigk d =
  let v = default_hcpeplljigk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.kcpbmdfjgge <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hcpeplljigk), field(14)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.jhgeicgbakc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hcpeplljigk), field(3)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.pfcjkljpfid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hcpeplljigk), field(10)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.befjfnlleio <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hcpeplljigk), field(6)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.hciobbpgkbe <- Some (decode_pb_bnfohmhcfeh (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hcpeplljigk), field(7)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.inmbaeohokj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hcpeplljigk), field(9)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.fdncldhjmjf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hcpeplljigk), field(15)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.kmkabfpafnk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hcpeplljigk), field(8)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.kpglihhnkac <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hcpeplljigk), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kcpbmdfjgge = v.kcpbmdfjgge;
    jhgeicgbakc = v.jhgeicgbakc;
    pfcjkljpfid = v.pfcjkljpfid;
    befjfnlleio = v.befjfnlleio;
    hciobbpgkbe = v.hciobbpgkbe;
    inmbaeohokj = v.inmbaeohokj;
    fdncldhjmjf = v.fdncldhjmjf;
    kmkabfpafnk = v.kmkabfpafnk;
    kpglihhnkac = v.kpglihhnkac;
  } : hcpeplljigk)

let rec decode_pb_diifjpbaoob d =
  let v = default_diifjpbaoob_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.bkpaceckiia <- Pbrt.Decoder.bool d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(diifjpbaoob), field(6)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.jcnincccakl <- Pbrt.Decoder.bool d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(diifjpbaoob), field(14)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.ggodaiohjif <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(diifjpbaoob), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.hhcgdeocomi <- Pbrt.Decoder.bool d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(diifjpbaoob), field(3)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.kmjdmefgcck <- Pbrt.Decoder.bool d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(diifjpbaoob), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bkpaceckiia = v.bkpaceckiia;
    jcnincccakl = v.jcnincccakl;
    ggodaiohjif = v.ggodaiohjif;
    hhcgdeocomi = v.hhcgdeocomi;
    kmjdmefgcck = v.kmjdmefgcck;
  } : diifjpbaoob)

let rec decode_pb_mbndajpeago d =
  let v = default_mbndajpeago_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.cjbdijhedpo <- List.rev v.cjbdijhedpo;
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.cjbdijhedpo <- (decode_pb_jdfpbmlnbjp (Pbrt.Decoder.nested d)) :: v.cjbdijhedpo;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mbndajpeago), field(6)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.mbomdpgaieo <- Some (decode_pb_ljpfhbjfjcm (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mbndajpeago), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cjbdijhedpo = v.cjbdijhedpo;
    mbomdpgaieo = v.mbomdpgaieo;
  } : mbndajpeago)

let rec decode_pb_pnmjedikenb d =
  let v = default_pnmjedikenb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.gkhnbcojdge <- List.rev v.gkhnbcojdge;
      v.mobolckmgai <- List.rev v.mobolckmgai;
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.nickname <- Pbrt.Decoder.string d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnmjedikenb), field(4)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnmjedikenb), field(15)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.bmfhibobmhp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnmjedikenb), field(8)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.dbgjcbcfaec <- decode_pb_platform_type d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnmjedikenb), field(3)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.world_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnmjedikenb), field(5)" pk
    | Some (1743, Pbrt.Bytes) -> begin
      v.elipgnpmlip <- Some (decode_pb_diifjpbaoob (Pbrt.Decoder.nested d));
    end
    | Some (1743, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnmjedikenb), field(1743)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.mobolckmgai <- (decode_pb_display_avatar_detail_info (Pbrt.Decoder.nested d)) :: v.mobolckmgai;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnmjedikenb), field(11)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.meijfajkmmp <- Pbrt.Decoder.string d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnmjedikenb), field(6)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.iiengikgngm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnmjedikenb), field(9)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnmjedikenb), field(13)" pk
    | Some (1297, Pbrt.Bytes) -> begin
      v.hlbeedlemca <- Some (decode_pb_mbndajpeago (Pbrt.Decoder.nested d));
    end
    | Some (1297, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnmjedikenb), field(1297)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.cpkikinabfj <- Pbrt.Decoder.string d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnmjedikenb), field(14)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.flenmbplfhl <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnmjedikenb), field(1)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.pghdpnfjbla <- Pbrt.Decoder.bool d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnmjedikenb), field(12)" pk
    | Some (1700, Pbrt.Bytes) -> begin
      v.gkhnbcojdge <- (decode_pb_display_avatar_detail_info (Pbrt.Decoder.nested d)) :: v.gkhnbcojdge;
    end
    | Some (1700, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnmjedikenb), field(1700)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.kikoianeodj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnmjedikenb), field(2)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.dmdcpeiefkg <- Pbrt.Decoder.string d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnmjedikenb), field(10)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.nodnhhligdj <- Some (decode_pb_hcpeplljigk (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnmjedikenb), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nickname = v.nickname;
    level = v.level;
    bmfhibobmhp = v.bmfhibobmhp;
    dbgjcbcfaec = v.dbgjcbcfaec;
    world_level = v.world_level;
    elipgnpmlip = v.elipgnpmlip;
    mobolckmgai = v.mobolckmgai;
    meijfajkmmp = v.meijfajkmmp;
    iiengikgngm = v.iiengikgngm;
    uid = v.uid;
    hlbeedlemca = v.hlbeedlemca;
    cpkikinabfj = v.cpkikinabfj;
    flenmbplfhl = v.flenmbplfhl;
    pghdpnfjbla = v.pghdpnfjbla;
    gkhnbcojdge = v.gkhnbcojdge;
    kikoianeodj = v.kikoianeodj;
    dmdcpeiefkg = v.dmdcpeiefkg;
    nodnhhligdj = v.nodnhhligdj;
  } : pnmjedikenb)

let rec decode_pb_kjckllbmhne d =
  let v = default_kjckllbmhne_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.fojelnklcjp <- Some (decode_pb_cbnkemlblen (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kjckllbmhne), field(7)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.jjgkcejglif <- decode_pb_playing_state d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kjckllbmhne), field(3)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.fbgeifghjde <- Pbrt.Decoder.string d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kjckllbmhne), field(13)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.fgilieldboi <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kjckllbmhne), field(8)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.bhfagdddack <- Pbrt.Decoder.bool d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kjckllbmhne), field(4)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.ndplnghkgbk <- Some (decode_pb_pgpeepnclnj (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kjckllbmhne), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fojelnklcjp = v.fojelnklcjp;
    jjgkcejglif = v.jjgkcejglif;
    fbgeifghjde = v.fbgeifghjde;
    fgilieldboi = v.fgilieldboi;
    bhfagdddack = v.bhfagdddack;
    ndplnghkgbk = v.ndplnghkgbk;
  } : kjckllbmhne)

let rec decode_pb_pemmdkhpdfp d =
  let v = default_pemmdkhpdfp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.bnjacmafmid <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pemmdkhpdfp), field(14)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.ndplnghkgbk <- Some (decode_pb_pgpeepnclnj (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pemmdkhpdfp), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bnjacmafmid = v.bnjacmafmid;
    ndplnghkgbk = v.ndplnghkgbk;
  } : pemmdkhpdfp)

let rec decode_pb_pihaeebhppc d =
  let v = default_pihaeebhppc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.ndplnghkgbk <- Some (decode_pb_pgpeepnclnj (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pihaeebhppc), field(14)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.lgibggmcnal <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pihaeebhppc), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ndplnghkgbk = v.ndplnghkgbk;
    lgibggmcnal = v.lgibggmcnal;
  } : pihaeebhppc)

let rec decode_pb_mejkeeapkfn d =
  let v = default_mejkeeapkfn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.ndplnghkgbk <- Some (decode_pb_pgpeepnclnj (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mejkeeapkfn), field(3)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.hiabljmppan <- Some (decode_pb_display_avatar_detail_info (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mejkeeapkfn), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ndplnghkgbk = v.ndplnghkgbk;
    hiabljmppan = v.hiabljmppan;
  } : mejkeeapkfn)

let rec decode_pb_agnjchncimi d =
  let v = default_agnjchncimi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.dmdcpeiefkg <- Pbrt.Decoder.string d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agnjchncimi), field(9)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.fbgeifghjde <- Pbrt.Decoder.string d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agnjchncimi), field(7)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.bmfhibobmhp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agnjchncimi), field(2)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.foiahmcbchb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agnjchncimi), field(4)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agnjchncimi), field(14)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.dbgjcbcfaec <- decode_pb_platform_type d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agnjchncimi), field(6)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.nickname <- Pbrt.Decoder.string d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agnjchncimi), field(15)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agnjchncimi), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dmdcpeiefkg = v.dmdcpeiefkg;
    fbgeifghjde = v.fbgeifghjde;
    bmfhibobmhp = v.bmfhibobmhp;
    foiahmcbchb = v.foiahmcbchb;
    level = v.level;
    dbgjcbcfaec = v.dbgjcbcfaec;
    nickname = v.nickname;
    uid = v.uid;
  } : agnjchncimi)

let rec decode_pb_eijlpffenlk d =
  let v = default_eijlpffenlk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.kbognlnlcle <- List.rev v.kbognlnlcle;
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.knbgpmdmbkc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eijlpffenlk), field(8)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.ndplnghkgbk <- Some (decode_pb_pgpeepnclnj (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eijlpffenlk), field(7)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.fbgeifghjde <- Pbrt.Decoder.string d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eijlpffenlk), field(15)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.bopehbonhll <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eijlpffenlk), field(3)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.lpgaoolbbfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eijlpffenlk), field(11)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.ifckabbiilb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eijlpffenlk), field(4)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.kbognlnlcle <- (decode_pb_mdhdfopebgl (Pbrt.Decoder.nested d)) :: v.kbognlnlcle;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eijlpffenlk), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    knbgpmdmbkc = v.knbgpmdmbkc;
    ndplnghkgbk = v.ndplnghkgbk;
    fbgeifghjde = v.fbgeifghjde;
    bopehbonhll = v.bopehbonhll;
    lpgaoolbbfm = v.lpgaoolbbfm;
    ifckabbiilb = v.ifckabbiilb;
    kbognlnlcle = v.kbognlnlcle;
  } : eijlpffenlk)

let rec decode_pb_mpdiaaijbhd d =
  let v = default_mpdiaaijbhd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mpdiaaijbhd), field(15)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.jfekengnnak <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mpdiaaijbhd), field(6)" pk
    | Some (795, Pbrt.Bytes) -> begin
      v.icoibnhjhec <- Some (decode_pb_khjddbffahk (Pbrt.Decoder.nested d));
    end
    | Some (795, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mpdiaaijbhd), field(795)" pk
    | Some (802, Pbrt.Bytes) -> begin
      v.ckbeijmmbjp <- Some (decode_pb_imiaeepmcje (Pbrt.Decoder.nested d));
    end
    | Some (802, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mpdiaaijbhd), field(802)" pk
    | Some (266, Pbrt.Bytes) -> begin
      v.idcpcalknen <- Some (decode_pb_cinndmfnbij (Pbrt.Decoder.nested d));
    end
    | Some (266, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mpdiaaijbhd), field(266)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    group_id = v.group_id;
    jfekengnnak = v.jfekengnnak;
    icoibnhjhec = v.icoibnhjhec;
    ckbeijmmbjp = v.ckbeijmmbjp;
    idcpcalknen = v.idcpcalknen;
  } : mpdiaaijbhd)

let rec decode_pb_kgljkmgbdnk d =
  let v = default_kgljkmgbdnk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ppfogiaojdp <- List.rev v.ppfogiaojdp;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.ppfogiaojdp <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgljkmgbdnk), field(7)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.bfkeedlccfk <- Pbrt.Decoder.bool d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgljkmgbdnk), field(14)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.hlmejkcafbp <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgljkmgbdnk), field(15)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.bnhepammdhc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgljkmgbdnk), field(8)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.gehhogbhomj <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgljkmgbdnk), field(10)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.lnaconbgbdk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgljkmgbdnk), field(6)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.icplhhghkol <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgljkmgbdnk), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ppfogiaojdp = v.ppfogiaojdp;
    bfkeedlccfk = v.bfkeedlccfk;
    hlmejkcafbp = v.hlmejkcafbp;
    bnhepammdhc = v.bnhepammdhc;
    gehhogbhomj = v.gehhogbhomj;
    lnaconbgbdk = v.lnaconbgbdk;
    icplhhghkol = v.icplhhghkol;
  } : kgljkmgbdnk)

let rec decode_pb_mhmgdpddade d =
  let v = default_mhmgdpddade_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mhmgdpddade), field(4)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mhmgdpddade), field(1)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mhmgdpddade), field(11)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.slot <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mhmgdpddade), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    level = v.level;
    id = v.id;
    avatar_type = v.avatar_type;
    slot = v.slot;
  } : mhmgdpddade)

let rec decode_pb_jfbmlneajki d =
  let v = default_jfbmlneajki_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.pkkfndimmio <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jfbmlneajki), field(7)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jfbmlneajki), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pkkfndimmio = v.pkkfndimmio;
    level = v.level;
  } : jfbmlneajki)

let rec decode_pb_mmkjkmlkpmd d =
  let v = default_mmkjkmlkpmd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.buff_list <- List.rev v.buff_list;
      v.pcpkkbfpbeb <- List.rev v.pcpkkbfpbeb;
      v.avatar_list <- List.rev v.avatar_list;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.avatar_list <- (decode_pb_mhmgdpddade (Pbrt.Decoder.nested d)) :: v.avatar_list;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmkjkmlkpmd), field(7)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.pcpkkbfpbeb <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmkjkmlkpmd), field(8)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.buff_list <- (decode_pb_jfbmlneajki (Pbrt.Decoder.nested d)) :: v.buff_list;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmkjkmlkpmd), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_list = v.avatar_list;
    pcpkkbfpbeb = v.pcpkkbfpbeb;
    buff_list = v.buff_list;
  } : mmkjkmlkpmd)

let rec decode_pb_icajkkidheg d =
  let v = default_icajkkidheg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.lbbcjjkledl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(icajkkidheg), field(6)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.jcjkjhddkcf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(icajkkidheg), field(3)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.lpgaoolbbfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(icajkkidheg), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lbbcjjkledl = v.lbbcjjkledl;
    jcjkjhddkcf = v.jcjkjhddkcf;
    lpgaoolbbfm = v.lpgaoolbbfm;
  } : icajkkidheg)

let rec decode_pb_dpklcgjckmo d =
  let v = default_dpklcgjckmo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hkpeeaonmgo <- List.rev v.hkpeeaonmgo;
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.mahiocfcikf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dpklcgjckmo), field(5)" pk
    | Some (6, Pbrt.Bits32) -> begin
      v.lifplggephc <- Pbrt.Decoder.float_as_bits32 d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dpklcgjckmo), field(6)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.hkpeeaonmgo <- (decode_pb_icajkkidheg (Pbrt.Decoder.nested d)) :: v.hkpeeaonmgo;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dpklcgjckmo), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mahiocfcikf = v.mahiocfcikf;
    lifplggephc = v.lifplggephc;
    hkpeeaonmgo = v.hkpeeaonmgo;
  } : dpklcgjckmo)

let rec decode_pb_dgolpjpbccp d =
  let v = default_dgolpjpbccp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.mhamoedchne <- Some (decode_pb_kgljkmgbdnk (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgolpjpbccp), field(15)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.mmnebfbnoni <- Pbrt.Decoder.bool d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgolpjpbccp), field(5)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.cfeaibpkhec <- Some (decode_pb_kgljkmgbdnk (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgolpjpbccp), field(9)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.lbilkiobkao <- Pbrt.Decoder.bool d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgolpjpbccp), field(12)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.nodnhhligdj <- Some (decode_pb_mmkjkmlkpmd (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgolpjpbccp), field(11)" pk
    | Some (859, Pbrt.Varint) -> begin
      v.ggdaffjnmpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (859, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgolpjpbccp), field(859)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.dlmhmmgphkm <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgolpjpbccp), field(8)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.jaedphkccgk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgolpjpbccp), field(2)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.lkeeonadhee <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgolpjpbccp), field(4)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.dhopbododmb <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgolpjpbccp), field(3)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.bcjeehihkca <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgolpjpbccp), field(6)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.lpgaoolbbfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgolpjpbccp), field(14)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.cniiijodkjf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgolpjpbccp), field(10)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.eebkfnjjooj <- Some (decode_pb_dpklcgjckmo (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgolpjpbccp), field(13)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.gahcmamleil <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgolpjpbccp), field(1)" pk
    | Some (508, Pbrt.Varint) -> begin
      v.ehghgnheijn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (508, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgolpjpbccp), field(508)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.ljfcnfpdmea <- Some (decode_pb_ffjpgmkmopp (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgolpjpbccp), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mhamoedchne = v.mhamoedchne;
    mmnebfbnoni = v.mmnebfbnoni;
    cfeaibpkhec = v.cfeaibpkhec;
    lbilkiobkao = v.lbilkiobkao;
    nodnhhligdj = v.nodnhhligdj;
    ggdaffjnmpa = v.ggdaffjnmpa;
    dlmhmmgphkm = v.dlmhmmgphkm;
    jaedphkccgk = v.jaedphkccgk;
    lkeeonadhee = v.lkeeonadhee;
    dhopbododmb = v.dhopbododmb;
    bcjeehihkca = v.bcjeehihkca;
    lpgaoolbbfm = v.lpgaoolbbfm;
    cniiijodkjf = v.cniiijodkjf;
    eebkfnjjooj = v.eebkfnjjooj;
    gahcmamleil = v.gahcmamleil;
    ehghgnheijn = v.ehghgnheijn;
    ljfcnfpdmea = v.ljfcnfpdmea;
  } : dgolpjpbccp)

let rec decode_pb_cdahklgefeg d =
  let v = default_cdahklgefeg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.lnjapmhfcck <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cdahklgefeg), field(3)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.mjhepdejndc <- Some (decode_pb_dgolpjpbccp (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cdahklgefeg), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lnjapmhfcck = v.lnjapmhfcck;
    mjhepdejndc = v.mjhepdejndc;
  } : cdahklgefeg)

let rec decode_pb_jebbgppcabc d =
  let v = default_jebbgppcabc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.njnkcjmkgkn <- Pbrt.Decoder.bool d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jebbgppcabc), field(7)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.gmfapmahfme <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jebbgppcabc), field(10)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.hocpnpbbbeh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jebbgppcabc), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    njnkcjmkgkn = v.njnkcjmkgkn;
    gmfapmahfme = v.gmfapmahfme;
    hocpnpbbbeh = v.hocpnpbbbeh;
  } : jebbgppcabc)

let rec decode_pb_fnpekjdgohi d =
  let v = default_fnpekjdgohi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.fnecpidkhjb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fnpekjdgohi), field(1)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.njnkcjmkgkn <- Pbrt.Decoder.bool d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fnpekjdgohi), field(12)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.ophdaipbocc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fnpekjdgohi), field(10)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.dkaodoghgcb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fnpekjdgohi), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fnecpidkhjb = v.fnecpidkhjb;
    njnkcjmkgkn = v.njnkcjmkgkn;
    ophdaipbocc = v.ophdaipbocc;
    dkaodoghgcb = v.dkaodoghgcb;
  } : fnpekjdgohi)

let rec decode_pb_ddpeohmlklk d =
  let v = default_ddpeohmlklk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.dgfahpgkgmf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddpeohmlklk), field(10)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.lfleifodebe <- Some (decode_pb_blhhnmhcodp (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddpeohmlklk), field(6)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.fhpollcfknc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddpeohmlklk), field(5)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.ljlinldbbob <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddpeohmlklk), field(13)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.aeheogaoenf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddpeohmlklk), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dgfahpgkgmf = v.dgfahpgkgmf;
    lfleifodebe = v.lfleifodebe;
    fhpollcfknc = v.fhpollcfknc;
    ljlinldbbob = v.ljlinldbbob;
    aeheogaoenf = v.aeheogaoenf;
  } : ddpeohmlklk)

let rec decode_pb_ebeioekofed d =
  let v = default_ebeioekofed_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.hdjffnlmlig <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebeioekofed), field(2)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.dlookjklpff <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebeioekofed), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hdjffnlmlig = v.hdjffnlmlig;
    dlookjklpff = v.dlookjklpff;
  } : ebeioekofed)

let rec decode_pb_dmgmpocpddc d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_tourn_level_status_none:dmgmpocpddc)
  | 1 -> (Rogue_tourn_level_status_processing:dmgmpocpddc)
  | 2 -> (Rogue_tourn_level_status_finished:dmgmpocpddc)
  | 3 -> (Rogue_tourn_level_status_settled:dmgmpocpddc)
  | _ -> Pbrt.Decoder.malformed_variant "dmgmpocpddc"

let rec decode_pb_kgcifmhjoag d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_tourn_room_status_none:kgcifmhjoag)
  | 1 -> (Rogue_tourn_room_status_inited:kgcifmhjoag)
  | 2 -> (Rogue_tourn_room_status_processing:kgcifmhjoag)
  | 3 -> (Rogue_tourn_room_status_finish:kgcifmhjoag)
  | _ -> Pbrt.Decoder.malformed_variant "kgcifmhjoag"

let rec decode_pb_manmbbkbglg d =
  let v = default_manmbbkbglg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.dbphcockkcj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(manmbbkbglg), field(10)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.status <- decode_pb_kgcifmhjoag d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(manmbbkbglg), field(7)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.mfdelanaicp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(manmbbkbglg), field(12)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.lkegecjeppg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(manmbbkbglg), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dbphcockkcj = v.dbphcockkcj;
    status = v.status;
    mfdelanaicp = v.mfdelanaicp;
    lkegecjeppg = v.lkegecjeppg;
  } : manmbbkbglg)

let rec decode_pb_nioandilghd d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_tourn_layer_status_none:nioandilghd)
  | 1 -> (Rogue_tourn_layer_status_processing:nioandilghd)
  | 2 -> (Rogue_tourn_layer_status_finish:nioandilghd)
  | _ -> Pbrt.Decoder.malformed_variant "nioandilghd"

let rec decode_pb_gadcmbokpdi d =
  let v = default_gadcmbokpdi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bfbahjaloli <- List.rev v.bfbahjaloli;
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.kemnjbikaod <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gadcmbokpdi), field(7)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.dbjdnolegif <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gadcmbokpdi), field(6)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.bfbahjaloli <- (decode_pb_manmbbkbglg (Pbrt.Decoder.nested d)) :: v.bfbahjaloli;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gadcmbokpdi), field(5)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.kdkdheomlmo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gadcmbokpdi), field(4)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.status <- decode_pb_nioandilghd d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gadcmbokpdi), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kemnjbikaod = v.kemnjbikaod;
    dbjdnolegif = v.dbjdnolegif;
    bfbahjaloli = v.bfbahjaloli;
    kdkdheomlmo = v.kdkdheomlmo;
    status = v.status;
  } : gadcmbokpdi)

let rec decode_pb_meahibhbfon d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_tourn_settle_reason_none:meahibhbfon)
  | 1 -> (Rogue_tourn_settle_reason_win:meahibhbfon)
  | 2 -> (Rogue_tourn_settle_reason_fail:meahibhbfon)
  | 3 -> (Rogue_tourn_settle_reason_interrupt:meahibhbfon)
  | _ -> Pbrt.Decoder.malformed_variant "meahibhbfon"

let rec decode_pb_cabnkomlnjd d =
  let v = default_cabnkomlnjd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.fogjohmngpc <- List.rev v.fogjohmngpc;
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.status <- decode_pb_dmgmpocpddc d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cabnkomlnjd), field(4)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.fogjohmngpc <- (decode_pb_gadcmbokpdi (Pbrt.Decoder.nested d)) :: v.fogjohmngpc;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cabnkomlnjd), field(10)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.chmmbcgmfho <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cabnkomlnjd), field(11)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.mgdnainpahe <- decode_pb_meahibhbfon d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cabnkomlnjd), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    status = v.status;
    fogjohmngpc = v.fogjohmngpc;
    chmmbcgmfho = v.chmmbcgmfho;
    mgdnainpahe = v.mgdnainpahe;
  } : cabnkomlnjd)

let rec decode_pb_gghlaggamjk d =
  let v = default_gghlaggamjk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ikddpmdgcaj <- List.rev v.ikddpmdgcaj;
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.ikddpmdgcaj <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gghlaggamjk), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ikddpmdgcaj = v.ikddpmdgcaj;
  } : gghlaggamjk)

let rec decode_pb_bfdkodpihgf d =
  let v = default_bfdkodpihgf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.iiiohnncjgi <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bfdkodpihgf), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    iiiohnncjgi = v.iiiohnncjgi;
  } : bfdkodpihgf)

let rec decode_pb_gaijmpghoii d =
  let v = default_gaijmpghoii_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.bgghceflbbi <- Some (decode_pb_ebeioekofed (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gaijmpghoii), field(10)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.level <- Some (decode_pb_cabnkomlnjd (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gaijmpghoii), field(9)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.lineup <- Some (decode_pb_dmdkacfejli (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gaijmpghoii), field(2)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.dbgaojmndmc <- Some (decode_pb_cllnjecndkl (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gaijmpghoii), field(11)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.hjgoaobfdgi <- Some (decode_pb_hhddmdcflml (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gaijmpghoii), field(5)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.bcgeihcnbig <- Some (decode_pb_gghlaggamjk (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gaijmpghoii), field(14)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.bdmoacndcoa <- Some (decode_pb_oobhdlegikm (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gaijmpghoii), field(7)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.memmgmibhdj <- Some (decode_pb_mbokaahegfk (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gaijmpghoii), field(13)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.jhjpgbkblag <- Some (decode_pb_cgcbkhnbohm (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gaijmpghoii), field(4)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.nhollbiknag <- Some (decode_pb_bfdkodpihgf (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gaijmpghoii), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bgghceflbbi = v.bgghceflbbi;
    level = v.level;
    lineup = v.lineup;
    dbgaojmndmc = v.dbgaojmndmc;
    hjgoaobfdgi = v.hjgoaobfdgi;
    bcgeihcnbig = v.bcgeihcnbig;
    bdmoacndcoa = v.bdmoacndcoa;
    memmgmibhdj = v.memmgmibhdj;
    jhjpgbkblag = v.jhjpgbkblag;
    nhollbiknag = v.nhollbiknag;
  } : gaijmpghoii)

let rec decode_pb_hpeecfakjeg d =
  let v = default_hpeecfakjeg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.bemhlbcocdg <- Some (decode_pb_ddpeohmlklk (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hpeecfakjeg), field(13)" pk
    | Some (998, Pbrt.Bytes) -> begin
      v.gblplbejghd <- Some (decode_pb_gaijmpghoii (Pbrt.Decoder.nested d));
    end
    | Some (998, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hpeecfakjeg), field(998)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bemhlbcocdg = v.bemhlbcocdg;
    gblplbejghd = v.gblplbejghd;
  } : hpeecfakjeg)

let rec decode_pb_fpfmjggcnld d =
  let v = default_fpfmjggcnld_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.njnkcjmkgkn <- Pbrt.Decoder.bool d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fpfmjggcnld), field(6)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.kfpjcehiika <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fpfmjggcnld), field(10)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.mekbmaknkhf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fpfmjggcnld), field(8)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.afokcapjpep <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fpfmjggcnld), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    njnkcjmkgkn = v.njnkcjmkgkn;
    kfpjcehiika = v.kfpjcehiika;
    mekbmaknkhf = v.mekbmaknkhf;
    afokcapjpep = v.afokcapjpep;
  } : fpfmjggcnld)

let rec decode_pb_bninelnejfi d =
  let v = default_bninelnejfi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.odcloijfnip <- Some (decode_pb_jebbgppcabc (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bninelnejfi), field(1)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.ofjdnoboneb <- Some (decode_pb_fnpekjdgohi (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bninelnejfi), field(9)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.nnibggkcbdj <- Some (decode_pb_lineup_info (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bninelnejfi), field(2)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.niiingfcpol <- Some (decode_pb_hpeecfakjeg (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bninelnejfi), field(11)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.dceibjclkbb <- Some (decode_pb_fpfmjggcnld (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bninelnejfi), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    odcloijfnip = v.odcloijfnip;
    ofjdnoboneb = v.ofjdnoboneb;
    nnibggkcbdj = v.nnibggkcbdj;
    niiingfcpol = v.niiingfcpol;
    dceibjclkbb = v.dceibjclkbb;
  } : bninelnejfi)

let rec decode_pb_emmlcghkhkc d =
  let v = default_emmlcghkhkc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.agiiieglegk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(emmlcghkhkc), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.pdbobmjedbc <- Some (decode_pb_bninelnejfi (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(emmlcghkhkc), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    agiiieglegk = v.agiiieglegk;
    pdbobmjedbc = v.pdbobmjedbc;
  } : emmlcghkhkc)

let rec decode_pb_adlmgdkboeo d =
  let v = default_adlmgdkboeo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.mgglchabnnh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adlmgdkboeo), field(13)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.ocboiocjeko <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adlmgdkboeo), field(12)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.ggdaffjnmpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adlmgdkboeo), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mgglchabnnh = v.mgglchabnnh;
    ocboiocjeko = v.ocboiocjeko;
    ggdaffjnmpa = v.ggdaffjnmpa;
  } : adlmgdkboeo)

let rec decode_pb_aloefgohkle d =
  let v = default_aloefgohkle_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.ggdaffjnmpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aloefgohkle), field(1)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.nnckjbegijk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aloefgohkle), field(14)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.lndeejkkcjk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aloefgohkle), field(11)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.dlajcfloffl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aloefgohkle), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ggdaffjnmpa = v.ggdaffjnmpa;
    nnckjbegijk = v.nnckjbegijk;
    lndeejkkcjk = v.lndeejkkcjk;
    dlajcfloffl = v.dlajcfloffl;
  } : aloefgohkle)

let rec decode_pb_ngpbemiajal d =
  let v = default_ngpbemiajal_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1301, Pbrt.Bytes) -> begin
      v.nbjmifjbkmg <- Some (decode_pb_cdahklgefeg (Pbrt.Decoder.nested d));
    end
    | Some (1301, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ngpbemiajal), field(1301)" pk
    | Some (1602, Pbrt.Bytes) -> begin
      v.fbagcbhggge <- Some (decode_pb_emmlcghkhkc (Pbrt.Decoder.nested d));
    end
    | Some (1602, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ngpbemiajal), field(1602)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.kolfbcfamem <- Some (decode_pb_adlmgdkboeo (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ngpbemiajal), field(3)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.cbkjlnjjbmg <- Some (decode_pb_aloefgohkle (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ngpbemiajal), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nbjmifjbkmg = v.nbjmifjbkmg;
    fbagcbhggge = v.fbagcbhggge;
    kolfbcfamem = v.kolfbcfamem;
    cbkjlnjjbmg = v.cbkjlnjjbmg;
  } : ngpbemiajal)

let rec decode_pb_mllfmkokjfk d =
  let v = default_mllfmkokjfk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.ggdaffjnmpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mllfmkokjfk), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ggdaffjnmpa = v.ggdaffjnmpa;
  } : mllfmkokjfk)

let rec decode_pb_nioigppbpeh d =
  let v = default_nioigppbpeh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.ggdaffjnmpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nioigppbpeh), field(15)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.dmacejfjohm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nioigppbpeh), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ggdaffjnmpa = v.ggdaffjnmpa;
    dmacejfjohm = v.dmacejfjohm;
  } : nioigppbpeh)

let rec decode_pb_nikomgcpamg d =
  let v = default_nikomgcpamg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nikomgcpamg), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dcpoeimegli = v.dcpoeimegli;
  } : nikomgcpamg)

let rec decode_pb_nddaafenheh d =
  let v = default_nddaafenheh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.bmojlopgked <- decode_pb_development_type d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nddaafenheh), field(12)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nddaafenheh), field(4)" pk
    | Some (1319, Pbrt.Bytes) -> begin
      v.ceofecgihpd <- Some (decode_pb_mllfmkokjfk (Pbrt.Decoder.nested d));
    end
    | Some (1319, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nddaafenheh), field(1319)" pk
    | Some (120, Pbrt.Bytes) -> begin
      v.jkkhadmdbpn <- Some (decode_pb_nikomgcpamg (Pbrt.Decoder.nested d));
    end
    | Some (120, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nddaafenheh), field(120)" pk
    | Some (710, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (710, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nddaafenheh), field(710)" pk
    | Some (149, Pbrt.Varint) -> begin
      v.dkgkfeeajpd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (149, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nddaafenheh), field(149)" pk
    | Some (1496, Pbrt.Varint) -> begin
      v.cpkoeodfpmg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1496, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nddaafenheh), field(1496)" pk
    | Some (1267, Pbrt.Bytes) -> begin
      v.lfhojlfbgdi <- Some (decode_pb_nioigppbpeh (Pbrt.Decoder.nested d));
    end
    | Some (1267, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nddaafenheh), field(1267)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bmojlopgked = v.bmojlopgked;
    time = v.time;
    ceofecgihpd = v.ceofecgihpd;
    jkkhadmdbpn = v.jkkhadmdbpn;
    avatar_id = v.avatar_id;
    dkgkfeeajpd = v.dkgkfeeajpd;
    cpkoeodfpmg = v.cpkoeodfpmg;
    lfhojlfbgdi = v.lfhojlfbgdi;
  } : nddaafenheh)

let rec decode_pb_nnpcbhahcmk d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(nnpcbhahcmk)" pk

let rec decode_pb_fkpeelodgle d =
  let v = default_fkpeelodgle_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.idfijahanmn <- List.rev v.idfijahanmn;
      v.lengogafimb <- List.rev v.lengogafimb;
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.lengogafimb <- (decode_pb_kjckllbmhne (Pbrt.Decoder.nested d)) :: v.lengogafimb;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fkpeelodgle), field(3)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fkpeelodgle), field(10)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.idfijahanmn <- (decode_pb_pgpeepnclnj (Pbrt.Decoder.nested d)) :: v.idfijahanmn;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fkpeelodgle), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lengogafimb = v.lengogafimb;
    retcode = v.retcode;
    idfijahanmn = v.idfijahanmn;
  } : fkpeelodgle)

let rec decode_pb_dnpoaimlole d =
  let v = default_dnpoaimlole_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dnpoaimlole), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    uid = v.uid;
  } : dnpoaimlole)

let rec decode_pb_dghjmjaopjm d =
  let v = default_dghjmjaopjm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dghjmjaopjm), field(2)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.bnjanfgfnjh <- Some (decode_pb_pnmjedikenb (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dghjmjaopjm), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    bnjanfgfnjh = v.bnjanfgfnjh;
  } : dghjmjaopjm)

let rec decode_pb_doifbfcpogl d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(doifbfcpogl)" pk

let rec decode_pb_ndmajbinolo d =
  let v = default_ndmajbinolo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.aodlekmnldh <- List.rev v.aodlekmnldh;
      v.deiipomgdjf <- List.rev v.deiipomgdjf;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ndmajbinolo), field(1)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.deiipomgdjf <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ndmajbinolo), field(13)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.aodlekmnldh <- (decode_pb_pemmdkhpdfp (Pbrt.Decoder.nested d)) :: v.aodlekmnldh;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ndmajbinolo), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    deiipomgdjf = v.deiipomgdjf;
    aodlekmnldh = v.aodlekmnldh;
  } : ndmajbinolo)

let rec decode_pb_pdongajedee d =
  let v = default_pdongajedee_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.gnfpnbgacdf <- decode_pb_mfhcehbfeng d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdongajedee), field(8)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdongajedee), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gnfpnbgacdf = v.gnfpnbgacdf;
    uid = v.uid;
  } : pdongajedee)

let rec decode_pb_jhiedmcehho d =
  let v = default_jhiedmcehho_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhiedmcehho), field(3)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhiedmcehho), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    uid = v.uid;
    retcode = v.retcode;
  } : jhiedmcehho)

let rec decode_pb_clkkkmodmcj d =
  let v = default_clkkkmodmcj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.kfapmddjdec <- Some (decode_pb_pemmdkhpdfp (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(clkkkmodmcj), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kfapmddjdec = v.kfapmddjdec;
  } : clkkkmodmcj)

let rec decode_pb_gohfgmmdkpn d =
  let v = default_gohfgmmdkpn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.pieecaekfgf <- Pbrt.Decoder.bool d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gohfgmmdkpn), field(12)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gohfgmmdkpn), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pieecaekfgf = v.pieecaekfgf;
    uid = v.uid;
  } : gohfgmmdkpn)

let rec decode_pb_mbnhlhdekjd d =
  let v = default_mbnhlhdekjd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mbnhlhdekjd), field(1)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.pieecaekfgf <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mbnhlhdekjd), field(11)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.imlfgeehobj <- Some (decode_pb_kjckllbmhne (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mbnhlhdekjd), field(6)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mbnhlhdekjd), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    pieecaekfgf = v.pieecaekfgf;
    imlfgeehobj = v.imlfgeehobj;
    uid = v.uid;
  } : mbnhlhdekjd)

let rec decode_pb_gpgbheghmdg d =
  let v = default_gpgbheghmdg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.pieecaekfgf <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gpgbheghmdg), field(2)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gpgbheghmdg), field(5)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.imlfgeehobj <- Some (decode_pb_kjckllbmhne (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gpgbheghmdg), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pieecaekfgf = v.pieecaekfgf;
    uid = v.uid;
    imlfgeehobj = v.imlfgeehobj;
  } : gpgbheghmdg)

let rec decode_pb_idjkfjeodbh d =
  let v = default_idjkfjeodbh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(idjkfjeodbh), field(12)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.egidfmlgcjo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(idjkfjeodbh), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    uid = v.uid;
    egidfmlgcjo = v.egidfmlgcjo;
  } : idjkfjeodbh)

let rec decode_pb_cahgejgdeoi d =
  let v = default_cahgejgdeoi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cahgejgdeoi), field(14)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cahgejgdeoi), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    uid = v.uid;
    retcode = v.retcode;
  } : cahgejgdeoi)

let rec decode_pb_faecclcogab d =
  let v = default_faecclcogab_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(faecclcogab), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    uid = v.uid;
  } : faecclcogab)

let rec decode_pb_hpipfdbgeii d =
  let v = default_hpipfdbgeii_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hpipfdbgeii), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    uid = v.uid;
  } : hpipfdbgeii)

let rec decode_pb_ogkjjkbjnfk d =
  let v = default_ogkjjkbjnfk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ogkjjkbjnfk), field(1)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.black_info <- Some (decode_pb_pgpeepnclnj (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ogkjjkbjnfk), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    black_info = v.black_info;
  } : ogkjjkbjnfk)

let rec decode_pb_golhljkpnga d =
  let v = default_golhljkpnga_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(golhljkpnga), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    uid = v.uid;
  } : golhljkpnga)

let rec decode_pb_dndjfjinahl d =
  let v = default_dndjfjinahl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.nbaheekiadi <- Pbrt.Decoder.bool d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dndjfjinahl), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nbaheekiadi = v.nbaheekiadi;
  } : dndjfjinahl)

let rec decode_pb_nlcmgpajimj d =
  let v = default_nlcmgpajimj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.giagnhmaocd <- List.rev v.giagnhmaocd;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.giagnhmaocd <- (decode_pb_pihaeebhppc (Pbrt.Decoder.nested d)) :: v.giagnhmaocd;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlcmgpajimj), field(12)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlcmgpajimj), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    giagnhmaocd = v.giagnhmaocd;
    retcode = v.retcode;
  } : nlcmgpajimj)

let rec decode_pb_injlohpekga d =
  let v = default_injlohpekga_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.fbgeifghjde <- Pbrt.Decoder.string d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(injlohpekga), field(10)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.mgdnainpahe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(injlohpekga), field(4)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(injlohpekga), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fbgeifghjde = v.fbgeifghjde;
    mgdnainpahe = v.mgdnainpahe;
    uid = v.uid;
  } : injlohpekga)

let rec decode_pb_kgceiojjkba d =
  let v = default_kgceiojjkba_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgceiojjkba), field(12)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgceiojjkba), field(4)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.fbgeifghjde <- Pbrt.Decoder.string d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgceiojjkba), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    uid = v.uid;
    fbgeifghjde = v.fbgeifghjde;
  } : kgceiojjkba)

let rec decode_pb_clcipohohgg d =
  let v = default_clcipohohgg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.hpcebekndge <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(clcipohohgg), field(1)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.hfnnbmdgpld <- Pbrt.Decoder.string d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(clcipohohgg), field(11)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(clcipohohgg), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hpcebekndge = v.hpcebekndge;
    hfnnbmdgpld = v.hfnnbmdgpld;
    uid = v.uid;
  } : clcipohohgg)

let rec decode_pb_kabkahihoid d =
  let v = default_kabkahihoid_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kabkahihoid), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : kabkahihoid)

let rec decode_pb_piejofpnlmi d =
  let v = default_piejofpnlmi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(piejofpnlmi), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    uid = v.uid;
  } : piejofpnlmi)

let rec decode_pb_iekkoalegef d =
  let v = default_iekkoalegef_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iekkoalegef), field(7)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iekkoalegef), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    uid = v.uid;
  } : iekkoalegef)

let rec decode_pb_pdfhmlndkna d =
  let v = default_pdfhmlndkna_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pknbckelhkm <- List.rev v.pknbckelhkm;
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.pknbckelhkm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdfhmlndkna), field(6)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.nbaheekiadi <- Pbrt.Decoder.bool d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdfhmlndkna), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pknbckelhkm = v.pknbckelhkm;
    nbaheekiadi = v.nbaheekiadi;
  } : pdfhmlndkna)

let rec decode_pb_acfamcmejbi d =
  let v = default_acfamcmejbi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bemfclhconk <- List.rev v.bemfclhconk;
      v.aimapkogmab <- List.rev v.aimapkogmab;
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.aimapkogmab <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(acfamcmejbi), field(6)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(acfamcmejbi), field(9)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.bemfclhconk <- (decode_pb_pgpeepnclnj (Pbrt.Decoder.nested d)) :: v.bemfclhconk;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(acfamcmejbi), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    aimapkogmab = v.aimapkogmab;
    retcode = v.retcode;
    bemfclhconk = v.bemfclhconk;
  } : acfamcmejbi)

let rec decode_pb_ijbekhlpglj d =
  let v = default_ijbekhlpglj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.nbaheekiadi <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ijbekhlpglj), field(2)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.kboahkmenfc <- Pbrt.Decoder.bool d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ijbekhlpglj), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nbaheekiadi = v.nbaheekiadi;
    kboahkmenfc = v.kboahkmenfc;
  } : ijbekhlpglj)

let rec decode_pb_cdmnbfnpoci d =
  let v = default_cdmnbfnpoci_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.dhmebnhcebe <- List.rev v.dhmebnhcebe;
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cdmnbfnpoci), field(4)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.dhmebnhcebe <- (decode_pb_mejkeeapkfn (Pbrt.Decoder.nested d)) :: v.dhmebnhcebe;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cdmnbfnpoci), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    dhmebnhcebe = v.dhmebnhcebe;
  } : cdmnbfnpoci)

let rec decode_pb_dghpjblnheh d =
  let v = default_dghpjblnheh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dghpjblnheh), field(7)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dghpjblnheh), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id = v.avatar_id;
    uid = v.uid;
  } : dghpjblnheh)

let rec decode_pb_kkjeclpipmd d =
  let v = default_kkjeclpipmd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkjeclpipmd), field(15)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkjeclpipmd), field(5)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkjeclpipmd), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    uid = v.uid;
    retcode = v.retcode;
    avatar_id = v.avatar_id;
  } : kkjeclpipmd)

let rec decode_pb_ijcmhjpfbfk d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(ijcmhjpfbfk)" pk

let rec decode_pb_eiogijifkli d =
  let v = default_eiogijifkli_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.lbmpcolonhb <- Some (decode_pb_mejkeeapkfn (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eiogijifkli), field(2)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eiogijifkli), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lbmpcolonhb = v.lbmpcolonhb;
    retcode = v.retcode;
  } : eiogijifkli)

let rec decode_pb_dgnhfokcmpc d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(dgnhfokcmpc)" pk

let rec decode_pb_lbdhkabpkhh d =
  let v = default_lbdhkabpkhh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.iolgafdolmj <- List.rev v.iolgafdolmj;
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.egngmiieand <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbdhkabpkhh), field(13)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbdhkabpkhh), field(15)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.iohhmeeaaoe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbdhkabpkhh), field(3)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.iolgafdolmj <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbdhkabpkhh), field(5)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.bhdidahbfpc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbdhkabpkhh), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    egngmiieand = v.egngmiieand;
    retcode = v.retcode;
    iohhmeeaaoe = v.iohhmeeaaoe;
    iolgafdolmj = v.iolgafdolmj;
    bhdidahbfpc = v.bhdidahbfpc;
  } : lbdhkabpkhh)

let rec decode_pb_pkafbnnfkbj d =
  let v = default_pkafbnnfkbj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.egngmiieand <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkafbnnfkbj), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    egngmiieand = v.egngmiieand;
  } : pkafbnnfkbj)

let rec decode_pb_nihmjkiclpe d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(nihmjkiclpe)" pk

let rec decode_pb_eicjcjkdcef d =
  let v = default_eicjcjkdcef_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.clhkfmmlaji <- List.rev v.clhkfmmlaji;
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eicjcjkdcef), field(8)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.clhkfmmlaji <- (decode_pb_agnjchncimi (Pbrt.Decoder.nested d)) :: v.clhkfmmlaji;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eicjcjkdcef), field(14)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eicjcjkdcef), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    clhkfmmlaji = v.clhkfmmlaji;
    reward = v.reward;
  } : eicjcjkdcef)

let rec decode_pb_inehlccdmab d =
  let v = default_inehlccdmab_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.lbmpcolonhb <- Some (decode_pb_mejkeeapkfn (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(inehlccdmab), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lbmpcolonhb = v.lbmpcolonhb;
  } : inehlccdmab)

let rec decode_pb_aifafmlhjbc d =
  let v = default_aifafmlhjbc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ffhkfkdapln <- List.rev v.ffhkfkdapln;
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.dbgjcbcfaec <- decode_pb_platform_type d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aifafmlhjbc), field(12)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.ffhkfkdapln <- (Pbrt.Decoder.string d) :: v.ffhkfkdapln;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aifafmlhjbc), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dbgjcbcfaec = v.dbgjcbcfaec;
    ffhkfkdapln = v.ffhkfkdapln;
  } : aifafmlhjbc)

let rec decode_pb_ognjcfngimi d =
  let v = default_ognjcfngimi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.giagnhmaocd <- List.rev v.giagnhmaocd;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.giagnhmaocd <- (decode_pb_pgpeepnclnj (Pbrt.Decoder.nested d)) :: v.giagnhmaocd;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ognjcfngimi), field(10)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ognjcfngimi), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    giagnhmaocd = v.giagnhmaocd;
    retcode = v.retcode;
  } : ognjcfngimi)

let rec decode_pb_mpmgmiipgml d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(mpmgmiipgml)" pk

let rec decode_pb_fhpfifghcjl d =
  let v = default_fhpfifghcjl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mnacbpjeche <- List.rev v.mnacbpjeche;
      v.fljpnipdjmh <- List.rev v.fljpnipdjmh;
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.llcmgmlcjca <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fhpfifghcjl), field(11)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.degafpjnikk <- Pbrt.Decoder.bool d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fhpfifghcjl), field(4)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.fljpnipdjmh <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fhpfifghcjl), field(7)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.mnacbpjeche <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fhpfifghcjl), field(9)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fhpfifghcjl), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    llcmgmlcjca = v.llcmgmlcjca;
    degafpjnikk = v.degafpjnikk;
    fljpnipdjmh = v.fljpnipdjmh;
    mnacbpjeche = v.mnacbpjeche;
    retcode = v.retcode;
  } : fhpfifghcjl)

let rec decode_pb_mmfihgpblcc d =
  let v = default_mmfihgpblcc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.dklbecnllgj <- Pbrt.Decoder.bool d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmfihgpblcc), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dklbecnllgj = v.dklbecnllgj;
  } : mmfihgpblcc)

let rec decode_pb_ghjmjggjcle d =
  let v = default_ghjmjggjcle_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.dklbecnllgj <- Pbrt.Decoder.bool d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ghjmjggjcle), field(3)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ghjmjggjcle), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dklbecnllgj = v.dklbecnllgj;
    retcode = v.retcode;
  } : ghjmjggjcle)

let rec decode_pb_pjmdialakjb d =
  let v = default_pjmdialakjb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pjmdialakjb), field(15)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.ijlbnijghcg <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pjmdialakjb), field(11)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.mgdnainpahe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pjmdialakjb), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    uid = v.uid;
    ijlbnijghcg = v.ijlbnijghcg;
    mgdnainpahe = v.mgdnainpahe;
  } : pjmdialakjb)

let rec decode_pb_ghdjcmejofl d =
  let v = default_ghdjcmejofl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.ijlbnijghcg <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ghdjcmejofl), field(10)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ghdjcmejofl), field(8)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ghdjcmejofl), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ijlbnijghcg = v.ijlbnijghcg;
    uid = v.uid;
    retcode = v.retcode;
  } : ghdjcmejofl)

let rec decode_pb_eiefajnopee d =
  let v = default_eiefajnopee_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mcochdjinng <- List.rev v.mcochdjinng;
      v.kaippbfklgo <- List.rev v.kaippbfklgo;
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.kaippbfklgo <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eiefajnopee), field(8)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.mcochdjinng <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eiefajnopee), field(1)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.bmgnoinbocb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eiefajnopee), field(13)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.hojailmlleb <- decode_pb_assist_avatar_type d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eiefajnopee), field(9)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.nbaheekiadi <- Pbrt.Decoder.bool d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eiefajnopee), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kaippbfklgo = v.kaippbfklgo;
    mcochdjinng = v.mcochdjinng;
    bmgnoinbocb = v.bmgnoinbocb;
    hojailmlleb = v.hojailmlleb;
    nbaheekiadi = v.nbaheekiadi;
  } : eiefajnopee)

let rec decode_pb_mpfhhdoanpo d =
  let v = default_mpfhhdoanpo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.dhmebnhcebe <- List.rev v.dhmebnhcebe;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.dhmebnhcebe <- (decode_pb_mejkeeapkfn (Pbrt.Decoder.nested d)) :: v.dhmebnhcebe;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mpfhhdoanpo), field(13)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.bmgnoinbocb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mpfhhdoanpo), field(12)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mpfhhdoanpo), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dhmebnhcebe = v.dhmebnhcebe;
    bmgnoinbocb = v.bmgnoinbocb;
    retcode = v.retcode;
  } : mpfhhdoanpo)

let rec decode_pb_mldhbildkna d =
  let v = default_mldhbildkna_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mldhbildkna), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dcpoeimegli = v.dcpoeimegli;
  } : mldhbildkna)

let rec decode_pb_kebdplkjjeb d =
  let v = default_kebdplkjjeb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bdjmhpbiaag <- List.rev v.bdjmhpbiaag;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kebdplkjjeb), field(1)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.cnmpneilgga <- Pbrt.Decoder.bool d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kebdplkjjeb), field(9)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.bdjmhpbiaag <- (decode_pb_eijlpffenlk (Pbrt.Decoder.nested d)) :: v.bdjmhpbiaag;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kebdplkjjeb), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    cnmpneilgga = v.cnmpneilgga;
    bdjmhpbiaag = v.bdjmhpbiaag;
  } : kebdplkjjeb)

let rec decode_pb_eadfmjgdmhi d =
  let v = default_eadfmjgdmhi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eadfmjgdmhi), field(3)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eadfmjgdmhi), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    uid = v.uid;
    dcpoeimegli = v.dcpoeimegli;
  } : eadfmjgdmhi)

let rec decode_pb_mnaniimlgjh d =
  let v = default_mnaniimlgjh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.iclpomplljg <- List.rev v.iclpomplljg;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.iclpomplljg <- (decode_pb_display_avatar_detail_info (Pbrt.Decoder.nested d)) :: v.iclpomplljg;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mnaniimlgjh), field(10)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mnaniimlgjh), field(1)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mnaniimlgjh), field(9)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mnaniimlgjh), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    iclpomplljg = v.iclpomplljg;
    dcpoeimegli = v.dcpoeimegli;
    uid = v.uid;
    retcode = v.retcode;
  } : mnaniimlgjh)

let rec decode_pb_bldpehfcick d =
  let v = default_bldpehfcick_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bldpehfcick), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    uid = v.uid;
  } : bldpehfcick)

let rec decode_pb_kdgefjmdoii d =
  let v = default_kdgefjmdoii_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.fdijjcafkcc <- List.rev v.fdijjcafkcc;
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.bjehkpdclfe <- Some (decode_pb_ngpbemiajal (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kdgefjmdoii), field(4)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.fdijjcafkcc <- (decode_pb_mpdiaaijbhd (Pbrt.Decoder.nested d)) :: v.fdijjcafkcc;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kdgefjmdoii), field(3)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kdgefjmdoii), field(14)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kdgefjmdoii), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bjehkpdclfe = v.bjehkpdclfe;
    fdijjcafkcc = v.fdijjcafkcc;
    uid = v.uid;
    retcode = v.retcode;
  } : kdgefjmdoii)

let rec decode_pb_cclmggmiaan d =
  let v = default_cclmggmiaan_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cclmggmiaan), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    uid = v.uid;
  } : cclmggmiaan)

let rec decode_pb_opdmheamomd d =
  let v = default_opdmheamomd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ggcjfgepjjd <- List.rev v.ggcjfgepjjd;
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(opdmheamomd), field(9)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(opdmheamomd), field(3)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.ggcjfgepjjd <- (decode_pb_nddaafenheh (Pbrt.Decoder.nested d)) :: v.ggcjfgepjjd;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(opdmheamomd), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    uid = v.uid;
    ggcjfgepjjd = v.ggcjfgepjjd;
  } : opdmheamomd)

let rec decode_pb_ajpcolgfmpe d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_gacha_type_none:ajpcolgfmpe)
  | 1939 -> (Cmd_exchange_gacha_ceiling_cs_req:ajpcolgfmpe)
  | 1968 -> (Cmd_get_gacha_info_cs_req:ajpcolgfmpe)
  | 1993 -> (Cmd_get_gacha_ceiling_sc_rsp:ajpcolgfmpe)
  | 1943 -> (Cmd_do_gacha_sc_rsp:ajpcolgfmpe)
  | 1911 -> (Cmd_do_gacha_cs_req:ajpcolgfmpe)
  | 1906 -> (Cmd_get_gacha_info_sc_rsp:ajpcolgfmpe)
  | 1929 -> (Cmd_exchange_gacha_ceiling_sc_rsp:ajpcolgfmpe)
  | 1956 -> (Cmd_get_gacha_ceiling_cs_req:ajpcolgfmpe)
  | _ -> Pbrt.Decoder.malformed_variant "ajpcolgfmpe"

let rec decode_pb_ckjpkncomob d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(ckjpkncomob)" pk

let rec decode_pb_gacha_ceiling_avatar d =
  let v = default_gacha_ceiling_avatar_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.repeated_cnt <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gacha_ceiling_avatar), field(5)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gacha_ceiling_avatar), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    repeated_cnt = v.repeated_cnt;
    avatar_id = v.avatar_id;
  } : gacha_ceiling_avatar)

let rec decode_pb_glmolhnjdpa d =
  let v = default_glmolhnjdpa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_list <- List.rev v.avatar_list;
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.avatar_list <- (decode_pb_gacha_ceiling_avatar (Pbrt.Decoder.nested d)) :: v.avatar_list;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glmolhnjdpa), field(3)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.ikfepnpdgdh <- Pbrt.Decoder.bool d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glmolhnjdpa), field(15)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.cehdiclpdmc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glmolhnjdpa), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_list = v.avatar_list;
    ikfepnpdgdh = v.ikfepnpdgdh;
    cehdiclpdmc = v.cehdiclpdmc;
  } : glmolhnjdpa)

let rec decode_pb_kdfnajlkgnm d =
  let v = default_kdfnajlkgnm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pjlidoghbhb <- List.rev v.pjlidoghbhb;
      v.ocgpmookjid <- List.rev v.ocgpmookjid;
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.iponcaehhgl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kdfnajlkgnm), field(13)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.gmhfmbknian <- Some (decode_pb_glmolhnjdpa (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kdfnajlkgnm), field(15)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.ocgpmookjid <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kdfnajlkgnm), field(2)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.dopfcokpjei <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kdfnajlkgnm), field(11)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.begin_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kdfnajlkgnm), field(6)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.pjlidoghbhb <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kdfnajlkgnm), field(4)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.ecapcfaefbo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kdfnajlkgnm), field(1)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.diafdnfnbfj <- Pbrt.Decoder.string d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kdfnajlkgnm), field(10)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.end_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kdfnajlkgnm), field(5)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.feigoefidio <- Pbrt.Decoder.string d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kdfnajlkgnm), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    iponcaehhgl = v.iponcaehhgl;
    gmhfmbknian = v.gmhfmbknian;
    ocgpmookjid = v.ocgpmookjid;
    dopfcokpjei = v.dopfcokpjei;
    begin_time = v.begin_time;
    pjlidoghbhb = v.pjlidoghbhb;
    ecapcfaefbo = v.ecapcfaefbo;
    diafdnfnbfj = v.diafdnfnbfj;
    end_time = v.end_time;
    feigoefidio = v.feigoefidio;
  } : kdfnajlkgnm)

let rec decode_pb_fkliongbomo d =
  let v = default_fkliongbomo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mdnaaembmpd <- List.rev v.mdnaaembmpd;
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fkliongbomo), field(7)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.ohmaodidhnl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fkliongbomo), field(2)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.chmfglghlcf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fkliongbomo), field(6)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.mdnaaembmpd <- (decode_pb_kdfnajlkgnm (Pbrt.Decoder.nested d)) :: v.mdnaaembmpd;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fkliongbomo), field(3)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.lmbmncbfgpj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fkliongbomo), field(12)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.hgaoeennejc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fkliongbomo), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ohmaodidhnl = v.ohmaodidhnl;
    chmfglghlcf = v.chmfglghlcf;
    mdnaaembmpd = v.mdnaaembmpd;
    lmbmncbfgpj = v.lmbmncbfgpj;
    hgaoeennejc = v.hgaoeennejc;
  } : fkliongbomo)

let rec decode_pb_dfglnfedeph d =
  let v = default_dfglnfedeph_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.oecedagjedd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dfglnfedeph), field(8)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.lnillbflgnj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dfglnfedeph), field(2)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.ohmaodidhnl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dfglnfedeph), field(9)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.dopfcokpjei <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dfglnfedeph), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    oecedagjedd = v.oecedagjedd;
    lnillbflgnj = v.lnillbflgnj;
    ohmaodidhnl = v.ohmaodidhnl;
    dopfcokpjei = v.dopfcokpjei;
  } : dfglnfedeph)

let rec decode_pb_fggllplkaim d =
  let v = default_fggllplkaim_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.kollpgccdil <- Pbrt.Decoder.bool d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fggllplkaim), field(13)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.oaobpakmgcg <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fggllplkaim), field(4)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.cgninlppfle <- Some (decode_pb_item (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fggllplkaim), field(1)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.fepjfbdhojc <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fggllplkaim), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kollpgccdil = v.kollpgccdil;
    oaobpakmgcg = v.oaobpakmgcg;
    cgninlppfle = v.cgninlppfle;
    fepjfbdhojc = v.fepjfbdhojc;
  } : fggllplkaim)

let rec decode_pb_nglmecbodjd d =
  let v = default_nglmecbodjd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.gndidejjmhc <- List.rev v.gndidejjmhc;
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nglmecbodjd), field(4)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.ialfoddhdkp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nglmecbodjd), field(1)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.ecapcfaefbo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nglmecbodjd), field(10)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.iponcaehhgl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nglmecbodjd), field(15)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.gndidejjmhc <- (decode_pb_fggllplkaim (Pbrt.Decoder.nested d)) :: v.gndidejjmhc;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nglmecbodjd), field(12)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.oecedagjedd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nglmecbodjd), field(8)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.cehdiclpdmc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nglmecbodjd), field(7)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.dopfcokpjei <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nglmecbodjd), field(6)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.hgaoeennejc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nglmecbodjd), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ialfoddhdkp = v.ialfoddhdkp;
    ecapcfaefbo = v.ecapcfaefbo;
    iponcaehhgl = v.iponcaehhgl;
    gndidejjmhc = v.gndidejjmhc;
    oecedagjedd = v.oecedagjedd;
    cehdiclpdmc = v.cehdiclpdmc;
    dopfcokpjei = v.dopfcokpjei;
    hgaoeennejc = v.hgaoeennejc;
  } : nglmecbodjd)

let rec decode_pb_eemcgfnfocn d =
  let v = default_eemcgfnfocn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.cfgmbhjglbd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eemcgfnfocn), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cfgmbhjglbd = v.cfgmbhjglbd;
  } : eemcgfnfocn)

let rec decode_pb_bjndgooecif d =
  let v = default_bjndgooecif_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.gmhfmbknian <- Some (decode_pb_glmolhnjdpa (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bjndgooecif), field(4)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bjndgooecif), field(7)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.cfgmbhjglbd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bjndgooecif), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gmhfmbknian = v.gmhfmbknian;
    retcode = v.retcode;
    cfgmbhjglbd = v.cfgmbhjglbd;
  } : bjndgooecif)

let rec decode_pb_ecgcblcgmkb d =
  let v = default_ecgcblcgmkb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ecgcblcgmkb), field(13)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.cfgmbhjglbd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ecgcblcgmkb), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id = v.avatar_id;
    cfgmbhjglbd = v.cfgmbhjglbd;
  } : ecgcblcgmkb)

let rec decode_pb_nnginbbbpfj d =
  let v = default_nnginbbbpfj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nnginbbbpfj), field(4)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nnginbbbpfj), field(1)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.gmhfmbknian <- Some (decode_pb_glmolhnjdpa (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nnginbbbpfj), field(15)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.cfgmbhjglbd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nnginbbbpfj), field(14)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.oaobpakmgcg <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nnginbbbpfj), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    avatar_id = v.avatar_id;
    gmhfmbknian = v.gmhfmbknian;
    cfgmbhjglbd = v.cfgmbhjglbd;
    oaobpakmgcg = v.oaobpakmgcg;
  } : nnginbbbpfj)

let rec decode_pb_njiblanlkod d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_heartdial_type_none:njiblanlkod)
  | 6351 -> (Cmd_heart_dial_script_change_sc_notify:njiblanlkod)
  | 6343 -> (Cmd_change_script_emotion_sc_rsp:njiblanlkod)
  | 6399 -> (Cmd_heart_dial_trace_script_sc_rsp:njiblanlkod)
  | 6368 -> (Cmd_get_heart_dial_info_cs_req:njiblanlkod)
  | 6306 -> (Cmd_get_heart_dial_info_sc_rsp:njiblanlkod)
  | 6333 -> (Cmd_heart_dial_trace_script_cs_req:njiblanlkod)
  | 6311 -> (Cmd_change_script_emotion_cs_req:njiblanlkod)
  | 6339 -> (Cmd_finish_emotion_dialogue_performance_cs_req:njiblanlkod)
  | 6356 -> (Cmd_submit_emotion_item_cs_req:njiblanlkod)
  | 6393 -> (Cmd_submit_emotion_item_sc_rsp:njiblanlkod)
  | 6329 -> (Cmd_finish_emotion_dialogue_performance_sc_rsp:njiblanlkod)
  | _ -> Pbrt.Decoder.malformed_variant "njiblanlkod"

let rec decode_pb_hijpilajhcm d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Heart_dial_emotion_type_peace:hijpilajhcm)
  | 1 -> (Heart_dial_emotion_type_anger:hijpilajhcm)
  | 2 -> (Heart_dial_emotion_type_happy:hijpilajhcm)
  | 3 -> (Heart_dial_emotion_type_sad:hijpilajhcm)
  | _ -> Pbrt.Decoder.malformed_variant "hijpilajhcm"

let rec decode_pb_mcejjmodajg d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Heart_dial_step_type_missing:mcejjmodajg)
  | 1 -> (Heart_dial_step_type_full:mcejjmodajg)
  | 2 -> (Heart_dial_step_type_lock:mcejjmodajg)
  | 3 -> (Heart_dial_step_type_unlock:mcejjmodajg)
  | 4 -> (Heart_dial_step_type_normal:mcejjmodajg)
  | 5 -> (Heart_dial_step_type_control:mcejjmodajg)
  | _ -> Pbrt.Decoder.malformed_variant "mcejjmodajg"

let rec decode_pb_acmdlmdecmj d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Heart_dial_unlock_status_lock:acmdlmdecmj)
  | 1 -> (Heart_dial_unlock_status_unlock_single:acmdlmdecmj)
  | 2 -> (Heart_dial_unlock_status_unlock_all:acmdlmdecmj)
  | _ -> Pbrt.Decoder.malformed_variant "acmdlmdecmj"

let rec decode_pb_okndmaemman d =
  let v = default_okndmaemman_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.nhjfhkflonm <- Pbrt.Decoder.bool d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(okndmaemman), field(9)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.joeicfcdnem <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(okndmaemman), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nhjfhkflonm = v.nhjfhkflonm;
    joeicfcdnem = v.joeicfcdnem;
  } : okndmaemman)

let rec decode_pb_ghomiilpjlm d =
  let v = default_ghomiilpjlm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.cmmkodhdjga <- Pbrt.Decoder.bool d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ghomiilpjlm), field(9)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.pioeiidnhaa <- decode_pb_hijpilajhcm d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ghomiilpjlm), field(14)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.step <- decode_pb_mcejjmodajg d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ghomiilpjlm), field(13)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.ogkiomjegel <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ghomiilpjlm), field(8)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.fppllcnicea <- Pbrt.Decoder.bool d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ghomiilpjlm), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cmmkodhdjga = v.cmmkodhdjga;
    pioeiidnhaa = v.pioeiidnhaa;
    step = v.step;
    ogkiomjegel = v.ogkiomjegel;
    fppllcnicea = v.fppllcnicea;
  } : ghomiilpjlm)

let rec decode_pb_flikgghikfg d =
  let v = default_flikgghikfg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.ogkiomjegel <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(flikgghikfg), field(11)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.iakfjjgoehb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(flikgghikfg), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ogkiomjegel = v.ogkiomjegel;
    iakfjjgoehb = v.iakfjjgoehb;
  } : flikgghikfg)

let rec decode_pb_aofkaaiifbh d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(aofkaaiifbh)" pk

let rec decode_pb_cbhapnpjnkb d =
  let v = default_cbhapnpjnkb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.cakbfkmlddj <- List.rev v.cakbfkmlddj;
      v.dmhfgcnnlnf <- List.rev v.dmhfgcnnlnf;
      v.cpphjpajnol <- List.rev v.cpphjpajnol;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.pbodiibccdh <- decode_pb_acmdlmdecmj d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbhapnpjnkb), field(1)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.cpphjpajnol <- (decode_pb_ghomiilpjlm (Pbrt.Decoder.nested d)) :: v.cpphjpajnol;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbhapnpjnkb), field(12)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.dmhfgcnnlnf <- (decode_pb_flikgghikfg (Pbrt.Decoder.nested d)) :: v.dmhfgcnnlnf;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbhapnpjnkb), field(4)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.cakbfkmlddj <- (decode_pb_okndmaemman (Pbrt.Decoder.nested d)) :: v.cakbfkmlddj;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbhapnpjnkb), field(6)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbhapnpjnkb), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pbodiibccdh = v.pbodiibccdh;
    cpphjpajnol = v.cpphjpajnol;
    dmhfgcnnlnf = v.dmhfgcnnlnf;
    cakbfkmlddj = v.cakbfkmlddj;
    retcode = v.retcode;
  } : cbhapnpjnkb)

let rec decode_pb_bljekckdglc d =
  let v = default_bljekckdglc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.ipkjompgpok <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bljekckdglc), field(13)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.ogkiomjegel <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bljekckdglc), field(11)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.cphllgeadmf <- decode_pb_hijpilajhcm d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bljekckdglc), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ipkjompgpok = v.ipkjompgpok;
    ogkiomjegel = v.ogkiomjegel;
    cphllgeadmf = v.cphllgeadmf;
  } : bljekckdglc)

let rec decode_pb_lololekfldd d =
  let v = default_lololekfldd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.bfajfamllah <- decode_pb_hijpilajhcm d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lololekfldd), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.ogkiomjegel <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lololekfldd), field(5)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lololekfldd), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bfajfamllah = v.bfajfamllah;
    ogkiomjegel = v.ogkiomjegel;
    retcode = v.retcode;
  } : lololekfldd)

let rec decode_pb_pnomhdddcio d =
  let v = default_pnomhdddcio_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.ipkjompgpok <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnomhdddcio), field(7)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.ogkiomjegel <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnomhdddcio), field(3)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.pdpfcfglgco <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnomhdddcio), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ipkjompgpok = v.ipkjompgpok;
    ogkiomjegel = v.ogkiomjegel;
    pdpfcfglgco = v.pdpfcfglgco;
  } : pnomhdddcio)

let rec decode_pb_jnhkkljllil d =
  let v = default_jnhkkljllil_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnhkkljllil), field(14)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.ogkiomjegel <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnhkkljllil), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ogkiomjegel = v.ogkiomjegel;
  } : jnhkkljllil)

let rec decode_pb_badomabhanf d =
  let v = default_badomabhanf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.ogkiomjegel <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(badomabhanf), field(1)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.joeicfcdnem <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(badomabhanf), field(6)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.ipkjompgpok <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(badomabhanf), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ogkiomjegel = v.ogkiomjegel;
    joeicfcdnem = v.joeicfcdnem;
    ipkjompgpok = v.ipkjompgpok;
  } : badomabhanf)

let rec decode_pb_lamebfpllpg d =
  let v = default_lamebfpllpg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.dekonpmjeen <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lamebfpllpg), field(8)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.ogkiomjegel <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lamebfpllpg), field(3)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.joeicfcdnem <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lamebfpllpg), field(5)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lamebfpllpg), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dekonpmjeen = v.dekonpmjeen;
    ogkiomjegel = v.ogkiomjegel;
    joeicfcdnem = v.joeicfcdnem;
    retcode = v.retcode;
  } : lamebfpllpg)

let rec decode_pb_jdjhfoaokhp d =
  let v = default_jdjhfoaokhp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.opedeflpfck <- List.rev v.opedeflpfck;
      v.pfocfplopkf <- List.rev v.pfocfplopkf;
      v.dmhfgcnnlnf <- List.rev v.dmhfgcnnlnf;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.dmhfgcnnlnf <- (decode_pb_flikgghikfg (Pbrt.Decoder.nested d)) :: v.dmhfgcnnlnf;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jdjhfoaokhp), field(9)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.pfocfplopkf <- (decode_pb_okndmaemman (Pbrt.Decoder.nested d)) :: v.pfocfplopkf;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jdjhfoaokhp), field(11)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.pbodiibccdh <- decode_pb_acmdlmdecmj d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jdjhfoaokhp), field(7)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.opedeflpfck <- (decode_pb_ghomiilpjlm (Pbrt.Decoder.nested d)) :: v.opedeflpfck;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jdjhfoaokhp), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dmhfgcnnlnf = v.dmhfgcnnlnf;
    pfocfplopkf = v.pfocfplopkf;
    pbodiibccdh = v.pbodiibccdh;
    opedeflpfck = v.opedeflpfck;
  } : jdjhfoaokhp)

let rec decode_pb_ccghcafjcpm d =
  let v = default_ccghcafjcpm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.pgccbpjlkmk <- Some (decode_pb_flikgghikfg (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ccghcafjcpm), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pgccbpjlkmk = v.pgccbpjlkmk;
  } : ccghcafjcpm)

let rec decode_pb_hcachphghki d =
  let v = default_hcachphghki_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hcachphghki), field(6)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.pgccbpjlkmk <- Some (decode_pb_flikgghikfg (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hcachphghki), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    pgccbpjlkmk = v.pgccbpjlkmk;
  } : hcachphghki)

let rec decode_pb_gkjkmkfnhfp d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_heliobus_type_none:gkjkmkfnhfp)
  | 5824 -> (Cmd_heliobus_enter_battle_cs_req:gkjkmkfnhfp)
  | 5892 -> (Cmd_heliobus_start_raid_cs_req:gkjkmkfnhfp)
  | 5817 -> (Cmd_heliobus_enter_battle_sc_rsp:gkjkmkfnhfp)
  | 5833 -> (Cmd_heliobus_sns_comment_sc_rsp:gkjkmkfnhfp)
  | 5854 -> (Cmd_heliobus_info_changed_sc_notify:gkjkmkfnhfp)
  | 5829 -> (Cmd_heliobus_sns_like_sc_rsp:gkjkmkfnhfp)
  | 5882 -> (Cmd_heliobus_unlock_skill_sc_notify:gkjkmkfnhfp)
  | 5856 -> (Cmd_heliobus_sns_post_cs_req:gkjkmkfnhfp)
  | 5806 -> (Cmd_heliobus_activity_data_sc_rsp:gkjkmkfnhfp)
  | 5865 -> (Cmd_heliobus_upgrade_level_cs_req:gkjkmkfnhfp)
  | 5839 -> (Cmd_heliobus_sns_like_cs_req:gkjkmkfnhfp)
  | 5868 -> (Cmd_heliobus_activity_data_cs_req:gkjkmkfnhfp)
  | 5811 -> (Cmd_heliobus_sns_read_cs_req:gkjkmkfnhfp)
  | 5899 -> (Cmd_heliobus_sns_update_sc_notify:gkjkmkfnhfp)
  | 5843 -> (Cmd_heliobus_sns_read_sc_rsp:gkjkmkfnhfp)
  | 5893 -> (Cmd_heliobus_sns_post_sc_rsp:gkjkmkfnhfp)
  | 5848 -> (Cmd_heliobus_upgrade_level_sc_rsp:gkjkmkfnhfp)
  | 5851 -> (Cmd_heliobus_sns_comment_cs_req:gkjkmkfnhfp)
  | 5834 -> (Cmd_heliobus_select_skill_cs_req:gkjkmkfnhfp)
  | 5809 -> (Cmd_heliobus_lineup_update_sc_notify:gkjkmkfnhfp)
  | 5828 -> (Cmd_heliobus_challenge_update_sc_notify:gkjkmkfnhfp)
  | 5890 -> (Cmd_heliobus_start_raid_sc_rsp:gkjkmkfnhfp)
  | 5897 -> (Cmd_heliobus_select_skill_sc_rsp:gkjkmkfnhfp)
  | _ -> Pbrt.Decoder.malformed_variant "gkjkmkfnhfp"

let rec decode_pb_ebligdnnpjk d =
  let v = default_ebligdnnpjk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hccebdhpdke <- List.rev v.hccebdhpdke;
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.hccebdhpdke <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebligdnnpjk), field(8)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.nppeghdfaen <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebligdnnpjk), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hccebdhpdke = v.hccebdhpdke;
    nppeghdfaen = v.nppeghdfaen;
  } : ebligdnnpjk)

let rec decode_pb_aflbhhdjdef d =
  let v = default_aflbhhdjdef_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.pamafmppefi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aflbhhdjdef), field(2)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.dcpoeimegli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aflbhhdjdef), field(10)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.lpgaoadlgnd <- Pbrt.Decoder.bool d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aflbhhdjdef), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pamafmppefi = v.pamafmppefi;
    dcpoeimegli = v.dcpoeimegli;
    lpgaoadlgnd = v.lpgaoadlgnd;
  } : aflbhhdjdef)

let rec decode_pb_heliobus_challenge_lineup d =
  let v = default_heliobus_challenge_lineup_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_id_list <- List.rev v.avatar_id_list;
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(heliobus_challenge_lineup), field(11)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(heliobus_challenge_lineup), field(3)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.skill_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(heliobus_challenge_lineup), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    group_id = v.group_id;
    avatar_id_list = v.avatar_id_list;
    skill_id = v.skill_id;
  } : heliobus_challenge_lineup)

let rec decode_pb_kgfpidkdljb d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(kgfpidkdljb)" pk

let rec decode_pb_mjpmcapibfn d =
  let v = default_mjpmcapibfn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.dgbjoolhhng <- List.rev v.dgbjoolhhng;
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.dgbjoolhhng <- (decode_pb_mjpmcapibfn (Pbrt.Decoder.nested d)) :: v.dgbjoolhhng;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjpmcapibfn), field(6)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.hcpjodhafbn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjpmcapibfn), field(2)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.phblfpkjdka <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjpmcapibfn), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dgbjoolhhng = v.dgbjoolhhng;
    hcpjodhafbn = v.hcpjodhafbn;
    phblfpkjdka = v.phblfpkjdka;
  } : mjpmcapibfn)

let rec decode_pb_hncbeeioldh d =
  let v = default_hncbeeioldh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.fmnilimjdda <- List.rev v.fmnilimjdda;
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.emhkjbeckic <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hncbeeioldh), field(12)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.djjmhikpmjl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hncbeeioldh), field(14)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.idegcfnalkn <- Pbrt.Decoder.bool d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hncbeeioldh), field(15)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.fgfcafjgjln <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hncbeeioldh), field(10)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.fmnilimjdda <- (decode_pb_mjpmcapibfn (Pbrt.Decoder.nested d)) :: v.fmnilimjdda;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hncbeeioldh), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.lbobjldondf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hncbeeioldh), field(6)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.nneoodacfgl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hncbeeioldh), field(2)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.bdoimbnnlnb <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hncbeeioldh), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    emhkjbeckic = v.emhkjbeckic;
    djjmhikpmjl = v.djjmhikpmjl;
    idegcfnalkn = v.idegcfnalkn;
    fgfcafjgjln = v.fgfcafjgjln;
    fmnilimjdda = v.fmnilimjdda;
    lbobjldondf = v.lbobjldondf;
    nneoodacfgl = v.nneoodacfgl;
    bdoimbnnlnb = v.bdoimbnnlnb;
  } : hncbeeioldh)

let rec decode_pb_hgnjkalcidb d =
  let v = default_hgnjkalcidb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.nedgdblobgk <- List.rev v.nedgdblobgk;
      v.giclbghfpjg <- List.rev v.giclbghfpjg;
      v.cjbdijhedpo <- List.rev v.cjbdijhedpo;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.hhapkchnbea <- Some (decode_pb_ebligdnnpjk (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgnjkalcidb), field(9)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgnjkalcidb), field(5)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.djemibiamha <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgnjkalcidb), field(8)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.ginenhkpkmk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgnjkalcidb), field(4)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgnjkalcidb), field(3)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.cjbdijhedpo <- (decode_pb_aflbhhdjdef (Pbrt.Decoder.nested d)) :: v.cjbdijhedpo;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgnjkalcidb), field(13)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.jmbmfaglcke <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgnjkalcidb), field(6)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.giclbghfpjg <- (decode_pb_heliobus_challenge_lineup (Pbrt.Decoder.nested d)) :: v.giclbghfpjg;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgnjkalcidb), field(2)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.hbnoljogigk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgnjkalcidb), field(1)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.nedgdblobgk <- (decode_pb_hncbeeioldh (Pbrt.Decoder.nested d)) :: v.nedgdblobgk;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgnjkalcidb), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hhapkchnbea = v.hhapkchnbea;
    retcode = v.retcode;
    djemibiamha = v.djemibiamha;
    ginenhkpkmk = v.ginenhkpkmk;
    level = v.level;
    cjbdijhedpo = v.cjbdijhedpo;
    jmbmfaglcke = v.jmbmfaglcke;
    giclbghfpjg = v.giclbghfpjg;
    hbnoljogigk = v.hbnoljogigk;
    nedgdblobgk = v.nedgdblobgk;
  } : hgnjkalcidb)

let rec decode_pb_jhdmapjnpoo d =
  let v = default_jhdmapjnpoo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.fgfcafjgjln <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhdmapjnpoo), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fgfcafjgjln = v.fgfcafjgjln;
  } : jhdmapjnpoo)

let rec decode_pb_ihhcmclehgo d =
  let v = default_ihhcmclehgo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.fgfcafjgjln <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ihhcmclehgo), field(13)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ihhcmclehgo), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fgfcafjgjln = v.fgfcafjgjln;
    retcode = v.retcode;
  } : ihhcmclehgo)

let rec decode_pb_ghjfebpdooh d =
  let v = default_ghjfebpdooh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.djjmhikpmjl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ghjfebpdooh), field(12)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.fgfcafjgjln <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ghjfebpdooh), field(9)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.lbobjldondf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ghjfebpdooh), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    djjmhikpmjl = v.djjmhikpmjl;
    fgfcafjgjln = v.fgfcafjgjln;
    lbobjldondf = v.lbobjldondf;
  } : ghjfebpdooh)

let rec decode_pb_fpilmflopgh d =
  let v = default_fpilmflopgh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.hjcbomofobf <- Some (decode_pb_hncbeeioldh (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fpilmflopgh), field(10)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fpilmflopgh), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hjcbomofobf = v.hjcbomofobf;
    retcode = v.retcode;
  } : fpilmflopgh)

let rec decode_pb_gjjhoepllah d =
  let v = default_gjjhoepllah_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.fgfcafjgjln <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gjjhoepllah), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fgfcafjgjln = v.fgfcafjgjln;
  } : gjjhoepllah)

let rec decode_pb_ifkgomfnmaa d =
  let v = default_ifkgomfnmaa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.fgfcafjgjln <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifkgomfnmaa), field(1)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifkgomfnmaa), field(8)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.idegcfnalkn <- Pbrt.Decoder.bool d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifkgomfnmaa), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fgfcafjgjln = v.fgfcafjgjln;
    retcode = v.retcode;
    idegcfnalkn = v.idegcfnalkn;
  } : ifkgomfnmaa)

let rec decode_pb_daignniobkk d =
  let v = default_daignniobkk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.limdkgpmgoe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(daignniobkk), field(1)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.fgfcafjgjln <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(daignniobkk), field(6)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.hcpjodhafbn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(daignniobkk), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    limdkgpmgoe = v.limdkgpmgoe;
    fgfcafjgjln = v.fgfcafjgjln;
    hcpjodhafbn = v.hcpjodhafbn;
  } : daignniobkk)

let rec decode_pb_mipldfahhdi d =
  let v = default_mipldfahhdi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mipldfahhdi), field(12)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.hjcbomofobf <- Some (decode_pb_hncbeeioldh (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mipldfahhdi), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    hjcbomofobf = v.hjcbomofobf;
  } : mipldfahhdi)

let rec decode_pb_kaiacbkbgjo d =
  let v = default_kaiacbkbgjo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hmhmdaggfni <- List.rev v.hmhmdaggfni;
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.hmhmdaggfni <- (decode_pb_hncbeeioldh (Pbrt.Decoder.nested d)) :: v.hmhmdaggfni;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kaiacbkbgjo), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hmhmdaggfni = v.hmhmdaggfni;
  } : kaiacbkbgjo)

let rec decode_pb_kalbhbfbgbi d =
  let v = default_kalbhbfbgbi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hmhmdaggfni <- List.rev v.hmhmdaggfni;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.hmhmdaggfni <- (decode_pb_hncbeeioldh (Pbrt.Decoder.nested d)) :: v.hmhmdaggfni;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kalbhbfbgbi), field(13)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.hbnoljogigk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kalbhbfbgbi), field(8)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.djemibiamha <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kalbhbfbgbi), field(3)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.ginenhkpkmk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kalbhbfbgbi), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hmhmdaggfni = v.hmhmdaggfni;
    hbnoljogigk = v.hbnoljogigk;
    djemibiamha = v.djemibiamha;
    ginenhkpkmk = v.ginenhkpkmk;
  } : kalbhbfbgbi)

let rec decode_pb_jddfhajhdph d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(jddfhajhdph)" pk

let rec decode_pb_eknlaglphdi d =
  let v = default_eknlaglphdi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eknlaglphdi), field(13)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eknlaglphdi), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    level = v.level;
    retcode = v.retcode;
  } : eknlaglphdi)

let rec decode_pb_bfjkhkhilai d =
  let v = default_bfjkhkhilai_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.hgnfloilneg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bfjkhkhilai), field(15)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.nppeghdfaen <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bfjkhkhilai), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgnfloilneg = v.hgnfloilneg;
    nppeghdfaen = v.nppeghdfaen;
  } : bfjkhkhilai)

let rec decode_pb_pmlbcokemme d =
  let v = default_pmlbcokemme_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_id_list <- List.rev v.avatar_id_list;
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pmlbcokemme), field(7)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pmlbcokemme), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.hgnfloilneg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pmlbcokemme), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ohibnloihci = v.ohibnloihci;
    avatar_id_list = v.avatar_id_list;
    hgnfloilneg = v.hgnfloilneg;
  } : pmlbcokemme)

let rec decode_pb_alepdepldll d =
  let v = default_alepdepldll_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(alepdepldll), field(11)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(alepdepldll), field(15)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(alepdepldll), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ibllilenejp = v.ibllilenejp;
    retcode = v.retcode;
    ohibnloihci = v.ohibnloihci;
  } : alepdepldll)

let rec decode_pb_naagikaillg d =
  let v = default_naagikaillg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.hgnfloilneg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(naagikaillg), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgnfloilneg = v.hgnfloilneg;
  } : naagikaillg)

let rec decode_pb_mjfmcmdhnkg d =
  let v = default_mjfmcmdhnkg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjfmcmdhnkg), field(3)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.hgnfloilneg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjfmcmdhnkg), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    hgnfloilneg = v.hgnfloilneg;
  } : mjfmcmdhnkg)

let rec decode_pb_akbbkfokide d =
  let v = default_akbbkfokide_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.ocdbilliofd <- Some (decode_pb_aflbhhdjdef (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(akbbkfokide), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ocdbilliofd = v.ocdbilliofd;
  } : akbbkfokide)

let rec decode_pb_ipockoabfmh d =
  let v = default_ipockoabfmh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.lineup <- Some (decode_pb_heliobus_challenge_lineup (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ipockoabfmh), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lineup = v.lineup;
  } : ipockoabfmh)

let rec decode_pb_balokbjaphf d =
  let v = default_balokbjaphf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_list <- List.rev v.avatar_list;
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.hgnfloilneg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(balokbjaphf), field(3)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.ikpjplopmjk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(balokbjaphf), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.bnpfaleifaj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(balokbjaphf), field(6)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.chbdfdolhoc <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(balokbjaphf), field(11)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.prop_entity_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(balokbjaphf), field(4)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.avatar_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(balokbjaphf), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgnfloilneg = v.hgnfloilneg;
    ikpjplopmjk = v.ikpjplopmjk;
    bnpfaleifaj = v.bnpfaleifaj;
    chbdfdolhoc = v.chbdfdolhoc;
    prop_entity_id = v.prop_entity_id;
    avatar_list = v.avatar_list;
  } : balokbjaphf)

let rec decode_pb_dnlbhaceial d =
  let v = default_dnlbhaceial_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.akkgoefpgdl <- Some (decode_pb_scene_info (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dnlbhaceial), field(11)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.lineup <- Some (decode_pb_lineup_info (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dnlbhaceial), field(15)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.world_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dnlbhaceial), field(4)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.ikpjplopmjk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dnlbhaceial), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    akkgoefpgdl = v.akkgoefpgdl;
    lineup = v.lineup;
    world_level = v.world_level;
    ikpjplopmjk = v.ikpjplopmjk;
  } : dnlbhaceial)

let rec decode_pb_lkgnphblpef d =
  let v = default_lkgnphblpef_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.scene <- Some (decode_pb_dnlbhaceial (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lkgnphblpef), field(3)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lkgnphblpef), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    scene = v.scene;
    retcode = v.retcode;
  } : lkgnphblpef)

let rec decode_pb_dobigncaofo d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_item_type_none:dobigncaofo)
  | 549 -> (Cmd_mark_item_cs_req:dobigncaofo)
  | 593 -> (Cmd_lock_equipment_sc_rsp:dobigncaofo)
  | 509 -> (Cmd_compose_selected_relic_sc_rsp:dobigncaofo)
  | 566 -> (Cmd_cancel_mark_item_notify:dobigncaofo)
  | 546 -> (Cmd_sync_turn_food_notify:dobigncaofo)
  | 532 -> (Cmd_compose_limit_num_complete_notify:dobigncaofo)
  | 507 -> (Cmd_delete_relic_filter_plan_cs_req:dobigncaofo)
  | 512 -> (Cmd_set_turn_food_switch_cs_req:dobigncaofo)
  | 517 -> (Cmd_recharge_succ_notify:dobigncaofo)
  | 556 -> (Cmd_lock_equipment_cs_req:dobigncaofo)
  | 565 -> (Cmd_compose_item_cs_req:dobigncaofo)
  | 529 -> (Cmd_use_item_sc_rsp:dobigncaofo)
  | 558 -> (Cmd_add_relic_filter_plan_sc_rsp:dobigncaofo)
  | 576 -> (Cmd_get_mark_item_list_sc_rsp:dobigncaofo)
  | 567 -> (Cmd_relic_recommend_cs_req:dobigncaofo)
  | 506 -> (Cmd_get_bag_sc_rsp:dobigncaofo)
  | 511 -> (Cmd_promote_equipment_cs_req:dobigncaofo)
  | 523 -> (Cmd_destroy_item_sc_rsp:dobigncaofo)
  | 533 -> (Cmd_rank_up_equipment_sc_rsp:dobigncaofo)
  | 539 -> (Cmd_use_item_cs_req:dobigncaofo)
  | 595 -> (Cmd_general_virtual_item_data_notify:dobigncaofo)
  | 530 -> (Cmd_set_turn_food_switch_sc_rsp:dobigncaofo)
  | 588 -> (Cmd_add_equipment_sc_notify:dobigncaofo)
  | 569 -> (Cmd_discard_relic_sc_rsp:dobigncaofo)
  | 541 -> (Cmd_delete_relic_filter_plan_sc_rsp:dobigncaofo)
  | 515 -> (Cmd_relic_recommend_sc_rsp:dobigncaofo)
  | 516 -> (Cmd_compose_limit_num_update_notify:dobigncaofo)
  | 547 -> (Cmd_modify_relic_filter_plan_cs_req:dobigncaofo)
  | 584 -> (Cmd_destroy_item_cs_req:dobigncaofo)
  | 554 -> (Cmd_exp_up_equipment_sc_rsp:dobigncaofo)
  | 540 -> (Cmd_relic_avatar_recommend_sc_rsp:dobigncaofo)
  | 528 -> (Cmd_compose_selected_relic_cs_req:dobigncaofo)
  | 553 -> (Cmd_add_relic_filter_plan_cs_req:dobigncaofo)
  | 597 -> (Cmd_lock_relic_cs_req:dobigncaofo)
  | 590 -> (Cmd_exchange_hcoin_sc_rsp:dobigncaofo)
  | 524 -> (Cmd_sell_item_sc_rsp:dobigncaofo)
  | 525 -> (Cmd_sell_item_cs_req:dobigncaofo)
  | 559 -> (Cmd_modify_relic_filter_plan_sc_rsp:dobigncaofo)
  | 568 -> (Cmd_get_bag_cs_req:dobigncaofo)
  | 534 -> (Cmd_exp_up_relic_sc_rsp:dobigncaofo)
  | 531 -> (Cmd_mark_relic_filter_plan_cs_req:dobigncaofo)
  | 575 -> (Cmd_relic_avatar_recommend_cs_req:dobigncaofo)
  | 592 -> (Cmd_exchange_hcoin_cs_req:dobigncaofo)
  | 578 -> (Cmd_get_mark_item_list_cs_req:dobigncaofo)
  | 543 -> (Cmd_promote_equipment_sc_rsp:dobigncaofo)
  | 599 -> (Cmd_exp_up_equipment_cs_req:dobigncaofo)
  | 508 -> (Cmd_get_recyle_time_cs_req:dobigncaofo)
  | 589 -> (Cmd_discard_relic_cs_req:dobigncaofo)
  | 548 -> (Cmd_compose_item_sc_rsp:dobigncaofo)
  | 545 -> (Cmd_mark_item_sc_rsp:dobigncaofo)
  | 598 -> (Cmd_lock_relic_sc_rsp:dobigncaofo)
  | 503 -> (Cmd_mark_relic_filter_plan_sc_rsp:dobigncaofo)
  | 526 -> (Cmd_relic_filter_plan_clear_name_sc_notify:dobigncaofo)
  | 551 -> (Cmd_rank_up_equipment_cs_req:dobigncaofo)
  | 585 -> (Cmd_get_relic_filter_plan_cs_req:dobigncaofo)
  | 582 -> (Cmd_exp_up_relic_cs_req:dobigncaofo)
  | 581 -> (Cmd_get_recyle_time_sc_rsp:dobigncaofo)
  | 600 -> (Cmd_get_relic_filter_plan_sc_rsp:dobigncaofo)
  | _ -> Pbrt.Decoder.malformed_variant "dobigncaofo"

let rec decode_pb_koedfpccpch d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Turn_food_switch_none:koedfpccpch)
  | 1 -> (Turn_food_switch_attack:koedfpccpch)
  | 2 -> (Turn_food_switch_define:koedfpccpch)
  | _ -> Pbrt.Decoder.malformed_variant "koedfpccpch"

let rec decode_pb_flkcekmkejm d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(flkcekmkejm)" pk

let rec decode_pb_mdlbakehplp d =
  let v = default_mdlbakehplp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.rank <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mdlbakehplp), field(7)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.promotion <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mdlbakehplp), field(12)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mdlbakehplp), field(10)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.unique_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mdlbakehplp), field(8)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mdlbakehplp), field(6)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.alelfancgei <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mdlbakehplp), field(5)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.mkmllbdhmbf <- Pbrt.Decoder.bool d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mdlbakehplp), field(14)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.hechfpdiado <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mdlbakehplp), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    rank = v.rank;
    promotion = v.promotion;
    exp = v.exp;
    unique_id = v.unique_id;
    level = v.level;
    alelfancgei = v.alelfancgei;
    mkmllbdhmbf = v.mkmllbdhmbf;
    hechfpdiado = v.hechfpdiado;
  } : mdlbakehplp)

let rec decode_pb_lhpihhdiplm d =
  let v = default_lhpihhdiplm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.sub_affix_list <- List.rev v.sub_affix_list;
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.midlnaigncg <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhpihhdiplm), field(11)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.main_affix_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhpihhdiplm), field(15)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhpihhdiplm), field(6)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.unique_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhpihhdiplm), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhpihhdiplm), field(2)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.hechfpdiado <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhpihhdiplm), field(12)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.alelfancgei <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhpihhdiplm), field(8)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.sub_affix_list <- (decode_pb_relic_affix (Pbrt.Decoder.nested d)) :: v.sub_affix_list;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhpihhdiplm), field(10)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.mkmllbdhmbf <- Pbrt.Decoder.bool d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhpihhdiplm), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    midlnaigncg = v.midlnaigncg;
    main_affix_id = v.main_affix_id;
    exp = v.exp;
    unique_id = v.unique_id;
    level = v.level;
    hechfpdiado = v.hechfpdiado;
    alelfancgei = v.alelfancgei;
    sub_affix_list = v.sub_affix_list;
    mkmllbdhmbf = v.mkmllbdhmbf;
  } : lhpihhdiplm)

let rec decode_pb_aoacdcgcmej d =
  let v = default_aoacdcgcmej_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.hechfpdiado <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aoacdcgcmej), field(6)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.npcgokkdhdf <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aoacdcgcmej), field(9)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.kagnbjdmamf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aoacdcgcmej), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hechfpdiado = v.hechfpdiado;
    npcgokkdhdf = v.npcgokkdhdf;
    kagnbjdmamf = v.kagnbjdmamf;
  } : aoacdcgcmej)

let rec decode_pb_ipcffjhaijg d =
  let v = default_ipcffjhaijg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.kagnbjdmamf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ipcffjhaijg), field(12)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.hechfpdiado <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ipcffjhaijg), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kagnbjdmamf = v.kagnbjdmamf;
    hechfpdiado = v.hechfpdiado;
  } : ipcffjhaijg)

let rec decode_pb_lglodndhijb d =
  let v = default_lglodndhijb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.kagnbjdmamf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lglodndhijb), field(7)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.npcgokkdhdf <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lglodndhijb), field(8)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.hechfpdiado <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lglodndhijb), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kagnbjdmamf = v.kagnbjdmamf;
    npcgokkdhdf = v.npcgokkdhdf;
    hechfpdiado = v.hechfpdiado;
  } : lglodndhijb)

let rec decode_pb_mcapbopbnaj d =
  let v = default_mcapbopbnaj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.kjibmefiben <- List.rev v.kjibmefiben;
      v.egmlhakbkmc <- List.rev v.egmlhakbkmc;
      v.jlkdhmeecjm <- List.rev v.jlkdhmeecjm;
      v.equipment_list <- List.rev v.equipment_list;
      v.ngegmhahglm <- List.rev v.ngegmhahglm;
      v.flnjichokac <- List.rev v.flnjichokac;
      v.relic_list <- List.rev v.relic_list;
      v.epbibaobeoj <- List.rev v.epbibaobeoj;
      v.iinhlljekcd <- List.rev v.iinhlljekcd;
      v.deadfemndnk <- List.rev v.deadfemndnk;
      v.ibigdplhfkc <- List.rev v.ibigdplhfkc;
      v.ikhicomcdhp <- List.rev v.ikhicomcdhp;
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.ikhicomcdhp <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mcapbopbnaj), field(2)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.ibigdplhfkc <- (decode_pb_aoacdcgcmej (Pbrt.Decoder.nested d)) :: v.ibigdplhfkc;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mcapbopbnaj), field(11)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.deadfemndnk <- (decode_pb_ipcffjhaijg (Pbrt.Decoder.nested d)) :: v.deadfemndnk;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mcapbopbnaj), field(4)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.iinhlljekcd <- (decode_pb_pile_item (Pbrt.Decoder.nested d)) :: v.iinhlljekcd;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mcapbopbnaj), field(5)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.epbibaobeoj <- (decode_pb_lglodndhijb (Pbrt.Decoder.nested d)) :: v.epbibaobeoj;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mcapbopbnaj), field(15)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.relic_list <- (decode_pb_lhpihhdiplm (Pbrt.Decoder.nested d)) :: v.relic_list;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mcapbopbnaj), field(10)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.flnjichokac <- (decode_pb_lglodndhijb (Pbrt.Decoder.nested d)) :: v.flnjichokac;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mcapbopbnaj), field(13)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mcapbopbnaj), field(9)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.geidcjnjmma <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mcapbopbnaj), field(3)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.ngegmhahglm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mcapbopbnaj), field(12)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.equipment_list <- (decode_pb_mdlbakehplp (Pbrt.Decoder.nested d)) :: v.equipment_list;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mcapbopbnaj), field(6)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.jlkdhmeecjm <- (decode_pb_koedfpccpch d) :: v.jlkdhmeecjm;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mcapbopbnaj), field(8)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.egmlhakbkmc <- (decode_pb_aoacdcgcmej (Pbrt.Decoder.nested d)) :: v.egmlhakbkmc;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mcapbopbnaj), field(1)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.kjibmefiben <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mcapbopbnaj), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ikhicomcdhp = v.ikhicomcdhp;
    ibigdplhfkc = v.ibigdplhfkc;
    deadfemndnk = v.deadfemndnk;
    iinhlljekcd = v.iinhlljekcd;
    epbibaobeoj = v.epbibaobeoj;
    relic_list = v.relic_list;
    flnjichokac = v.flnjichokac;
    retcode = v.retcode;
    geidcjnjmma = v.geidcjnjmma;
    ngegmhahglm = v.ngegmhahglm;
    equipment_list = v.equipment_list;
    jlkdhmeecjm = v.jlkdhmeecjm;
    egmlhakbkmc = v.egmlhakbkmc;
    kjibmefiben = v.kjibmefiben;
  } : mcapbopbnaj)

let rec decode_pb_hfjepdgbohe d =
  let v = default_hfjepdgbohe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.lohpklihemj <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfjepdgbohe), field(15)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.fbieckfjhid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfjepdgbohe), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lohpklihemj = v.lohpklihemj;
    fbieckfjhid = v.fbieckfjhid;
  } : hfjepdgbohe)

let rec decode_pb_gdmeoillmgg d =
  let v = default_gdmeoillmgg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gdmeoillmgg), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : gdmeoillmgg)

let rec decode_pb_jeobbmnfndi d =
  let v = default_jeobbmnfndi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jhpabfhpimo <- List.rev v.jhpabfhpimo;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.jhpabfhpimo <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jeobbmnfndi), field(10)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.figgbmnlcdb <- Pbrt.Decoder.bool d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jeobbmnfndi), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jhpabfhpimo = v.jhpabfhpimo;
    figgbmnlcdb = v.figgbmnlcdb;
  } : jeobbmnfndi)

let rec decode_pb_jhnkccepneb d =
  let v = default_jhnkccepneb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhnkccepneb), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : jhnkccepneb)

let rec decode_pb_kmkdljlllec d =
  let v = default_kmkdljlllec_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.apbdbeabddj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kmkdljlllec), field(15)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.feonppdpkoj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kmkdljlllec), field(13)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.nejlfhfmjgb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kmkdljlllec), field(11)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.efjhleknapg <- Pbrt.Decoder.bool d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kmkdljlllec), field(7)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.kohajfmhiio <- decode_pb_avatar_type d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kmkdljlllec), field(1)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.base_avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kmkdljlllec), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    apbdbeabddj = v.apbdbeabddj;
    feonppdpkoj = v.feonppdpkoj;
    nejlfhfmjgb = v.nejlfhfmjgb;
    efjhleknapg = v.efjhleknapg;
    kohajfmhiio = v.kohajfmhiio;
    base_avatar_id = v.base_avatar_id;
  } : kmkdljlllec)

let rec decode_pb_emhlhjhbmam d =
  let v = default_emhlhjhbmam_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.feonppdpkoj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(emhlhjhbmam), field(13)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.ngkaoednndn <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(emhlhjhbmam), field(4)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.ohpbgbelimn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(emhlhjhbmam), field(3)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.nejlfhfmjgb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(emhlhjhbmam), field(12)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(emhlhjhbmam), field(14)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.afmgandnccg <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(emhlhjhbmam), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    feonppdpkoj = v.feonppdpkoj;
    ngkaoednndn = v.ngkaoednndn;
    ohpbgbelimn = v.ohpbgbelimn;
    nejlfhfmjgb = v.nejlfhfmjgb;
    retcode = v.retcode;
    afmgandnccg = v.afmgandnccg;
  } : emhlhjhbmam)

let rec decode_pb_ikilhkgmpgo d =
  let v = default_ikilhkgmpgo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.lohpklihemj <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ikilhkgmpgo), field(8)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.fbieckfjhid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ikilhkgmpgo), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lohpklihemj = v.lohpklihemj;
    fbieckfjhid = v.fbieckfjhid;
  } : ikilhkgmpgo)

let rec decode_pb_ganlnnedpfp d =
  let v = default_ganlnnedpfp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ganlnnedpfp), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : ganlnnedpfp)

let rec decode_pb_ijaofbkgbfo d =
  let v = default_ijaofbkgbfo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.lohpklihemj <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ijaofbkgbfo), field(12)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.fbieckfjhid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ijaofbkgbfo), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lohpklihemj = v.lohpklihemj;
    fbieckfjhid = v.fbieckfjhid;
  } : ijaofbkgbfo)

let rec decode_pb_fhoadbjimao d =
  let v = default_fhoadbjimao_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.return_item_list <- List.rev v.return_item_list;
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fhoadbjimao), field(15)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.return_item_list <- (decode_pb_pile_item (Pbrt.Decoder.nested d)) :: v.return_item_list;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fhoadbjimao), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    return_item_list = v.return_item_list;
  } : fhoadbjimao)

let rec decode_pb_hmlkkldifnp d =
  let v = default_hmlkkldifnp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.gbejhehoojg <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hmlkkldifnp), field(3)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.count <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hmlkkldifnp), field(6)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.kcededdikfd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hmlkkldifnp), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gbejhehoojg = v.gbejhehoojg;
    count = v.count;
    kcededdikfd = v.kcededdikfd;
  } : hmlkkldifnp)

let rec decode_pb_oniajnkdgah d =
  let v = default_oniajnkdgah_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oniajnkdgah), field(14)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.return_item_list <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oniajnkdgah), field(8)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.count <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oniajnkdgah), field(2)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.kcededdikfd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oniajnkdgah), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    return_item_list = v.return_item_list;
    count = v.count;
    kcededdikfd = v.kcededdikfd;
  } : oniajnkdgah)

let rec decode_pb_lejkofpfmeg d =
  let v = default_lejkofpfmeg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.gbejhehoojg <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lejkofpfmeg), field(10)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.dacmhmgikdn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lejkofpfmeg), field(7)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.kcededdikfd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lejkofpfmeg), field(14)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.count <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lejkofpfmeg), field(8)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.main_affix_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lejkofpfmeg), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gbejhehoojg = v.gbejhehoojg;
    dacmhmgikdn = v.dacmhmgikdn;
    kcededdikfd = v.kcededdikfd;
    count = v.count;
    main_affix_id = v.main_affix_id;
  } : lejkofpfmeg)

let rec decode_pb_mfacgpoflcm d =
  let v = default_mfacgpoflcm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.return_item_list <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mfacgpoflcm), field(8)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mfacgpoflcm), field(10)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.kcededdikfd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mfacgpoflcm), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    return_item_list = v.return_item_list;
    retcode = v.retcode;
    kcededdikfd = v.kcededdikfd;
  } : mfacgpoflcm)

let rec decode_pb_noinphijimb d =
  let v = default_noinphijimb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.nfjcagcjbib <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(noinphijimb), field(11)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.lohpklihemj <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(noinphijimb), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nfjcagcjbib = v.nfjcagcjbib;
    lohpklihemj = v.lohpklihemj;
  } : noinphijimb)

let rec decode_pb_ldobfgmocga d =
  let v = default_ldobfgmocga_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.return_item_list <- List.rev v.return_item_list;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.return_item_list <- (decode_pb_pile_item (Pbrt.Decoder.nested d)) :: v.return_item_list;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldobfgmocga), field(10)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldobfgmocga), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    return_item_list = v.return_item_list;
    retcode = v.retcode;
  } : ldobfgmocga)

let rec decode_pb_aclpgkbjijb d =
  let v = default_aclpgkbjijb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bkjpbalpell <- List.rev v.bkjpbalpell;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.lkamihdhkbe <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aclpgkbjijb), field(1)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.bkjpbalpell <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aclpgkbjijb), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.figgbmnlcdb <- Pbrt.Decoder.bool d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aclpgkbjijb), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lkamihdhkbe = v.lkamihdhkbe;
    bkjpbalpell = v.bkjpbalpell;
    figgbmnlcdb = v.figgbmnlcdb;
  } : aclpgkbjijb)

let rec decode_pb_ifcjmpeohmd d =
  let v = default_ifcjmpeohmd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifcjmpeohmd), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : ifcjmpeohmd)

let rec decode_pb_pobgcfghpic d =
  let v = default_pobgcfghpic_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bkjpbalpell <- List.rev v.bkjpbalpell;
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.bdfbfehlfgf <- Pbrt.Decoder.bool d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pobgcfghpic), field(6)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.bkjpbalpell <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pobgcfghpic), field(3)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.lkamihdhkbe <- Pbrt.Decoder.bool d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pobgcfghpic), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bdfbfehlfgf = v.bdfbfehlfgf;
    bkjpbalpell = v.bkjpbalpell;
    lkamihdhkbe = v.lkamihdhkbe;
  } : pobgcfghpic)

let rec decode_pb_klemlcaknap d =
  let v = default_klemlcaknap_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(klemlcaknap), field(3)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.bdfbfehlfgf <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(klemlcaknap), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    bdfbfehlfgf = v.bdfbfehlfgf;
  } : klemlcaknap)

let rec decode_pb_pcjhdmjibck d =
  let v = default_pcjhdmjibck_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.lohpklihemj <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pcjhdmjibck), field(5)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.fkodidbfdfn <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pcjhdmjibck), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lohpklihemj = v.lohpklihemj;
    fkodidbfdfn = v.fkodidbfdfn;
  } : pcjhdmjibck)

let rec decode_pb_lfjfcpdbgkk d =
  let v = default_lfjfcpdbgkk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.return_item_list <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lfjfcpdbgkk), field(5)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lfjfcpdbgkk), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    return_item_list = v.return_item_list;
    retcode = v.retcode;
  } : lfjfcpdbgkk)

let rec decode_pb_recharge_succ_notify d =
  let v = default_recharge_succ_notify_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.item_list <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(recharge_succ_notify), field(7)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.product_id <- Pbrt.Decoder.string d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(recharge_succ_notify), field(13)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.channel_order_no <- Pbrt.Decoder.string d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(recharge_succ_notify), field(5)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.month_card_outdate_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(recharge_succ_notify), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    item_list = v.item_list;
    product_id = v.product_id;
    channel_order_no = v.channel_order_no;
    month_card_outdate_time = v.month_card_outdate_time;
  } : recharge_succ_notify)

let rec decode_pb_cjgmgileblk d =
  let v = default_cjgmgileblk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.kagnbjdmamf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cjgmgileblk), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kagnbjdmamf = v.kagnbjdmamf;
  } : cjgmgileblk)

let rec decode_pb_exchange_hcoin_sc_rsp d =
  let v = default_exchange_hcoin_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.num <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(exchange_hcoin_sc_rsp), field(4)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(exchange_hcoin_sc_rsp), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    num = v.num;
    retcode = v.retcode;
  } : exchange_hcoin_sc_rsp)

let rec decode_pb_cjijjahdjpa d =
  let v = default_cjijjahdjpa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.dkgkfeeajpd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cjijjahdjpa), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dkgkfeeajpd = v.dkgkfeeajpd;
  } : cjijjahdjpa)

let rec decode_pb_jkokdmdgidk d =
  let v = default_jkokdmdgidk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.icopfphppdi <- List.rev v.icopfphppdi;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.icopfphppdi <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jkokdmdgidk), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    icopfphppdi = v.icopfphppdi;
  } : jkokdmdgidk)

let rec decode_pb_aaimdlacgcn d =
  let v = default_aaimdlacgcn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.flnjichokac <- List.rev v.flnjichokac;
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aaimdlacgcn), field(3)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.flnjichokac <- (decode_pb_lglodndhijb (Pbrt.Decoder.nested d)) :: v.flnjichokac;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aaimdlacgcn), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    flnjichokac = v.flnjichokac;
  } : aaimdlacgcn)

let rec decode_pb_kochkckdbhe d =
  let v = default_kochkckdbhe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.memkmmilpkd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kochkckdbhe), field(11)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.bgecmdbfigi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kochkckdbhe), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    memkmmilpkd = v.memkmmilpkd;
    bgecmdbfigi = v.bgecmdbfigi;
  } : kochkckdbhe)

let rec decode_pb_dbidbcochhl d =
  let v = default_dbidbcochhl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.nehijgifbke <- List.rev v.nehijgifbke;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.nehijgifbke <- (decode_pb_kochkckdbhe (Pbrt.Decoder.nested d)) :: v.nehijgifbke;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dbidbcochhl), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nehijgifbke = v.nehijgifbke;
  } : dbidbcochhl)

let rec decode_pb_eackoplgbme d =
  let v = default_eackoplgbme_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.elnbhiipadp <- Some (decode_pb_kochkckdbhe (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eackoplgbme), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    elnbhiipadp = v.elnbhiipadp;
  } : eackoplgbme)

let rec decode_pb_hacbjelpoac d =
  let v = default_hacbjelpoac_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.olfhccbiidg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hacbjelpoac), field(1)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.elkbpopdpjg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hacbjelpoac), field(12)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hacbjelpoac), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    olfhccbiidg = v.olfhccbiidg;
    elkbpopdpjg = v.elkbpopdpjg;
    hgjolgkaofj = v.hgjolgkaofj;
  } : hacbjelpoac)

let rec decode_pb_mnedfmiemjm d =
  let v = default_mnedfmiemjm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.elkbpopdpjg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mnedfmiemjm), field(13)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mnedfmiemjm), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    elkbpopdpjg = v.elkbpopdpjg;
    retcode = v.retcode;
  } : mnedfmiemjm)

let rec decode_pb_oocjhkkkoog d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(oocjhkkkoog)" pk

let rec decode_pb_ikhfcbbolnd d =
  let v = default_ikhfcbbolnd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.gddbahogfki <- List.rev v.gddbahogfki;
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.gddbahogfki <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ikhfcbbolnd), field(8)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ikhfcbbolnd), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gddbahogfki = v.gddbahogfki;
    retcode = v.retcode;
  } : ikhfcbbolnd)

let rec decode_pb_cnceleggnlo d =
  let v = default_cnceleggnlo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnceleggnlo), field(11)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.bplpnnijlji <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnceleggnlo), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgjolgkaofj = v.hgjolgkaofj;
    bplpnnijlji = v.bplpnnijlji;
  } : cnceleggnlo)

let rec decode_pb_efomgnkkdgd d =
  let v = default_efomgnkkdgd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(efomgnkkdgd), field(8)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(efomgnkkdgd), field(12)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.bplpnnijlji <- Pbrt.Decoder.bool d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(efomgnkkdgd), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    hgjolgkaofj = v.hgjolgkaofj;
    bplpnnijlji = v.bplpnnijlji;
  } : efomgnkkdgd)

let rec decode_pb_fnbfccfghfn d =
  let v = default_fnbfccfghfn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fnbfccfghfn), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgjolgkaofj = v.hgjolgkaofj;
  } : fnbfccfghfn)

let rec decode_pb_lhimlhffkmg d =
  let v = default_lhimlhffkmg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jlkdhmeecjm <- List.rev v.jlkdhmeecjm;
      v.kjibmefiben <- List.rev v.kjibmefiben;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.kjibmefiben <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhimlhffkmg), field(13)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.jlkdhmeecjm <- (decode_pb_koedfpccpch d) :: v.jlkdhmeecjm;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhimlhffkmg), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kjibmefiben = v.kjibmefiben;
    jlkdhmeecjm = v.jlkdhmeecjm;
  } : lhimlhffkmg)

let rec decode_pb_gkjmimbbdnl d =
  let v = default_gkjmimbbdnl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.lcidaenomif <- Pbrt.Decoder.bool d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gkjmimbbdnl), field(4)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.dpigkeokfmk <- decode_pb_koedfpccpch d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gkjmimbbdnl), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lcidaenomif = v.lcidaenomif;
    dpigkeokfmk = v.dpigkeokfmk;
  } : gkjmimbbdnl)

let rec decode_pb_mjbmdpigdlk d =
  let v = default_mjbmdpigdlk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.lcidaenomif <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjbmdpigdlk), field(1)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjbmdpigdlk), field(9)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.dpigkeokfmk <- decode_pb_koedfpccpch d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjbmdpigdlk), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lcidaenomif = v.lcidaenomif;
    retcode = v.retcode;
    dpigkeokfmk = v.dpigkeokfmk;
  } : mjbmdpigdlk)

let rec decode_pb_kikenjaacap d =
  let v = default_kikenjaacap_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.gekinokmmci <- List.rev v.gekinokmmci;
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.gekinokmmci <- (decode_pb_pile_item (Pbrt.Decoder.nested d)) :: v.gekinokmmci;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kikenjaacap), field(15)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.ncfldodhkod <- Pbrt.Decoder.bool d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kikenjaacap), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gekinokmmci = v.gekinokmmci;
    ncfldodhkod = v.ncfldodhkod;
  } : kikenjaacap)

let rec decode_pb_njfonlgigpk d =
  let v = default_njfonlgigpk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.kbhcaajjkeh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njfonlgigpk), field(11)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.hmofppjjpfn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njfonlgigpk), field(9)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.dkgiphjmpih <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njfonlgigpk), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kbhcaajjkeh = v.kbhcaajjkeh;
    hmofppjjpfn = v.hmofppjjpfn;
    dkgiphjmpih = v.dkgiphjmpih;
  } : njfonlgigpk)

let rec decode_pb_penkoafkhkl d =
  let v = default_penkoafkhkl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.ojmhmiobhoi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(penkoafkhkl), field(15)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.hmofppjjpfn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(penkoafkhkl), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ojmhmiobhoi = v.ojmhmiobhoi;
    hmofppjjpfn = v.hmofppjjpfn;
  } : penkoafkhkl)

let rec decode_pb_hicihjimcmh d =
  let v = default_hicihjimcmh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hicihjimcmh), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id = v.avatar_id;
  } : hicihjimcmh)

let rec decode_pb_fmeeecoggkf d =
  let v = default_fmeeecoggkf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.noocbpmnmac <- List.rev v.noocbpmnmac;
      v.eekmlegahha <- List.rev v.eekmlegahha;
      v.moangckpldg <- List.rev v.moangckpldg;
      v.lmogiabffla <- List.rev v.lmogiabffla;
      v.bomphgjmnib <- List.rev v.bomphgjmnib;
      v.ohdnajnckog <- List.rev v.ohdnajnckog;
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.hdpcekiljkc <- Pbrt.Decoder.bool d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmeeecoggkf), field(6)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmeeecoggkf), field(8)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmeeecoggkf), field(10)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.ohdnajnckog <- (decode_pb_penkoafkhkl (Pbrt.Decoder.nested d)) :: v.ohdnajnckog;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmeeecoggkf), field(1)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.bomphgjmnib <- (decode_pb_penkoafkhkl (Pbrt.Decoder.nested d)) :: v.bomphgjmnib;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmeeecoggkf), field(3)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.lmogiabffla <- (decode_pb_njfonlgigpk (Pbrt.Decoder.nested d)) :: v.lmogiabffla;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmeeecoggkf), field(14)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.moangckpldg <- (decode_pb_penkoafkhkl (Pbrt.Decoder.nested d)) :: v.moangckpldg;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmeeecoggkf), field(9)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.eekmlegahha <- (decode_pb_njfonlgigpk (Pbrt.Decoder.nested d)) :: v.eekmlegahha;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmeeecoggkf), field(5)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.noocbpmnmac <- (decode_pb_penkoafkhkl (Pbrt.Decoder.nested d)) :: v.noocbpmnmac;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmeeecoggkf), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hdpcekiljkc = v.hdpcekiljkc;
    retcode = v.retcode;
    avatar_id = v.avatar_id;
    ohdnajnckog = v.ohdnajnckog;
    bomphgjmnib = v.bomphgjmnib;
    lmogiabffla = v.lmogiabffla;
    moangckpldg = v.moangckpldg;
    eekmlegahha = v.eekmlegahha;
    noocbpmnmac = v.noocbpmnmac;
  } : fmeeecoggkf)

let rec decode_pb_joegfcinapg d =
  let v = default_joegfcinapg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.ncplfkbobdj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(joegfcinapg), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ncplfkbobdj = v.ncplfkbobdj;
  } : joegfcinapg)

let rec decode_pb_glcehkpmbjo d =
  let v = default_glcehkpmbjo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_id_list <- List.rev v.avatar_id_list;
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.hdpcekiljkc <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glcehkpmbjo), field(10)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.ncplfkbobdj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glcehkpmbjo), field(5)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glcehkpmbjo), field(13)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glcehkpmbjo), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hdpcekiljkc = v.hdpcekiljkc;
    ncplfkbobdj = v.ncplfkbobdj;
    retcode = v.retcode;
    avatar_id_list = v.avatar_id_list;
  } : glcehkpmbjo)

let rec decode_pb_relic_filter_plan_icon d =
  let v = default_relic_filter_plan_icon_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.is_avatar_icon <- Pbrt.Decoder.bool d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(relic_filter_plan_icon), field(6)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.icon_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(relic_filter_plan_icon), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    is_avatar_icon = v.is_avatar_icon;
    icon_id = v.icon_id;
  } : relic_filter_plan_icon)

let rec decode_pb_relic_filter_plan d =
  let v = default_relic_filter_plan_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.icon <- Some (decode_pb_relic_filter_plan_icon (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(relic_filter_plan), field(3)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.update_timestamp <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(relic_filter_plan), field(5)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.settings <- Some (decode_pb_relic_filter_plan_settings (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(relic_filter_plan), field(8)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.name <- Pbrt.Decoder.string d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(relic_filter_plan), field(12)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.slot_index <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(relic_filter_plan), field(15)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.is_marked <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(relic_filter_plan), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    icon = v.icon;
    update_timestamp = v.update_timestamp;
    settings = v.settings;
    name = v.name;
    slot_index = v.slot_index;
    is_marked = v.is_marked;
  } : relic_filter_plan)

let rec decode_pb_fihcjogacni d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(fihcjogacni)" pk

let rec decode_pb_get_relic_filter_plan_sc_rsp d =
  let v = default_get_relic_filter_plan_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.relic_filter_plan_list <- List.rev v.relic_filter_plan_list;
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_relic_filter_plan_sc_rsp), field(7)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.relic_filter_plan_list <- (decode_pb_relic_filter_plan (Pbrt.Decoder.nested d)) :: v.relic_filter_plan_list;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_relic_filter_plan_sc_rsp), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    relic_filter_plan_list = v.relic_filter_plan_list;
  } : get_relic_filter_plan_sc_rsp)

let rec decode_pb_add_relic_filter_plan_cs_req d =
  let v = default_add_relic_filter_plan_cs_req_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.icon <- Some (decode_pb_relic_filter_plan_icon (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(add_relic_filter_plan_cs_req), field(14)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.is_marked <- Pbrt.Decoder.bool d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(add_relic_filter_plan_cs_req), field(4)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.settings <- Some (decode_pb_relic_filter_plan_settings (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(add_relic_filter_plan_cs_req), field(13)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.name <- Pbrt.Decoder.string d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(add_relic_filter_plan_cs_req), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    icon = v.icon;
    is_marked = v.is_marked;
    settings = v.settings;
    name = v.name;
  } : add_relic_filter_plan_cs_req)

let rec decode_pb_add_relic_filter_plan_sc_rsp d =
  let v = default_add_relic_filter_plan_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.plan <- Some (decode_pb_relic_filter_plan (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(add_relic_filter_plan_sc_rsp), field(10)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(add_relic_filter_plan_sc_rsp), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    plan = v.plan;
    retcode = v.retcode;
  } : add_relic_filter_plan_sc_rsp)

let rec decode_pb_modify_relic_filter_plan_cs_req d =
  let v = default_modify_relic_filter_plan_cs_req_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.slot_index <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(modify_relic_filter_plan_cs_req), field(1)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.name <- Pbrt.Decoder.string d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(modify_relic_filter_plan_cs_req), field(5)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.icon <- Some (decode_pb_relic_filter_plan_icon (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(modify_relic_filter_plan_cs_req), field(8)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.settings <- Some (decode_pb_relic_filter_plan_settings (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(modify_relic_filter_plan_cs_req), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    slot_index = v.slot_index;
    name = v.name;
    icon = v.icon;
    settings = v.settings;
  } : modify_relic_filter_plan_cs_req)

let rec decode_pb_modify_relic_filter_plan_sc_rsp d =
  let v = default_modify_relic_filter_plan_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(modify_relic_filter_plan_sc_rsp), field(1)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.slot_index <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(modify_relic_filter_plan_sc_rsp), field(7)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.update_timestamp <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(modify_relic_filter_plan_sc_rsp), field(3)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.name <- Pbrt.Decoder.string d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(modify_relic_filter_plan_sc_rsp), field(14)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.icon <- Some (decode_pb_relic_filter_plan_icon (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(modify_relic_filter_plan_sc_rsp), field(4)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.settings <- Some (decode_pb_relic_filter_plan_settings (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(modify_relic_filter_plan_sc_rsp), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    slot_index = v.slot_index;
    update_timestamp = v.update_timestamp;
    name = v.name;
    icon = v.icon;
    settings = v.settings;
  } : modify_relic_filter_plan_sc_rsp)

let rec decode_pb_delete_relic_filter_plan_cs_req d =
  let v = default_delete_relic_filter_plan_cs_req_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.slot_index_list <- List.rev v.slot_index_list;
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.is_batch_op <- Pbrt.Decoder.bool d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(delete_relic_filter_plan_cs_req), field(5)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.slot_index_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(delete_relic_filter_plan_cs_req), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    is_batch_op = v.is_batch_op;
    slot_index_list = v.slot_index_list;
  } : delete_relic_filter_plan_cs_req)

let rec decode_pb_pnldeoafcne d =
  let v = default_pnldeoafcne_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.npedodmagkl <- List.rev v.npedodmagkl;
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnldeoafcne), field(5)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.npedodmagkl <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnldeoafcne), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    npedodmagkl = v.npedodmagkl;
  } : pnldeoafcne)

let rec decode_pb_mark_relic_filter_plan_cs_req d =
  let v = default_mark_relic_filter_plan_cs_req_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.slot_index_list <- List.rev v.slot_index_list;
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.is_batch_op <- Pbrt.Decoder.bool d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mark_relic_filter_plan_cs_req), field(3)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.is_mark <- Pbrt.Decoder.bool d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mark_relic_filter_plan_cs_req), field(13)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.slot_index_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mark_relic_filter_plan_cs_req), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    is_batch_op = v.is_batch_op;
    is_mark = v.is_mark;
    slot_index_list = v.slot_index_list;
  } : mark_relic_filter_plan_cs_req)

let rec decode_pb_mark_relic_filter_plan_sc_rsp d =
  let v = default_mark_relic_filter_plan_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.slot_index_list <- List.rev v.slot_index_list;
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.is_mark <- Pbrt.Decoder.bool d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mark_relic_filter_plan_sc_rsp), field(9)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.slot_index_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mark_relic_filter_plan_sc_rsp), field(10)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mark_relic_filter_plan_sc_rsp), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    is_mark = v.is_mark;
    slot_index_list = v.slot_index_list;
    retcode = v.retcode;
  } : mark_relic_filter_plan_sc_rsp)

let rec decode_pb_ecjbbepkkmj d =
  let v = default_ecjbbepkkmj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.afefamkndoo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ecjbbepkkmj), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    afefamkndoo = v.afefamkndoo;
  } : ecjbbepkkmj)

let rec decode_pb_dkfoeihhpkf d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_jukebox_type_none:dkfoeihhpkf)
  | 3111 -> (Cmd_play_back_ground_music_cs_req:dkfoeihhpkf)
  | 3139 -> (Cmd_trial_back_ground_music_cs_req:dkfoeihhpkf)
  | 3106 -> (Cmd_get_jukebox_data_sc_rsp:dkfoeihhpkf)
  | 3193 -> (Cmd_unlock_back_ground_music_sc_rsp:dkfoeihhpkf)
  | 3129 -> (Cmd_trial_back_ground_music_sc_rsp:dkfoeihhpkf)
  | 3143 -> (Cmd_play_back_ground_music_sc_rsp:dkfoeihhpkf)
  | 3168 -> (Cmd_get_jukebox_data_cs_req:dkfoeihhpkf)
  | 3156 -> (Cmd_unlock_back_ground_music_cs_req:dkfoeihhpkf)
  | _ -> Pbrt.Decoder.malformed_variant "dkfoeihhpkf"

let rec decode_pb_knfclkceeah d =
  let v = default_knfclkceeah_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(knfclkceeah), field(15)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(knfclkceeah), field(11)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.efnegejdilo <- Pbrt.Decoder.bool d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(knfclkceeah), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
    group_id = v.group_id;
    efnegejdilo = v.efnegejdilo;
  } : knfclkceeah)

let rec decode_pb_cookpmfnbpj d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(cookpmfnbpj)" pk

let rec decode_pb_jehaofaoeok d =
  let v = default_jehaofaoeok_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jadihfhpmkh <- List.rev v.jadihfhpmkh;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.jadihfhpmkh <- (decode_pb_knfclkceeah (Pbrt.Decoder.nested d)) :: v.jadihfhpmkh;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jehaofaoeok), field(1)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.hbdienejlfn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jehaofaoeok), field(10)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jehaofaoeok), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jadihfhpmkh = v.jadihfhpmkh;
    hbdienejlfn = v.hbdienejlfn;
    retcode = v.retcode;
  } : jehaofaoeok)

let rec decode_pb_hphkmadefmi d =
  let v = default_hphkmadefmi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.dhppkijmkjg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hphkmadefmi), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dhppkijmkjg = v.dhppkijmkjg;
  } : hphkmadefmi)

let rec decode_pb_glakeaclkli d =
  let v = default_glakeaclkli_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glakeaclkli), field(1)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.dhppkijmkjg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glakeaclkli), field(7)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.hbdienejlfn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glakeaclkli), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    dhppkijmkjg = v.dhppkijmkjg;
    hbdienejlfn = v.hbdienejlfn;
  } : glakeaclkli)

let rec decode_pb_egdjkildooa d =
  let v = default_egdjkildooa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.lejnihkjibm <- List.rev v.lejnihkjibm;
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.lejnihkjibm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egdjkildooa), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lejnihkjibm = v.lejnihkjibm;
  } : egdjkildooa)

let rec decode_pb_hpogjbmmnaa d =
  let v = default_hpogjbmmnaa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bbjgjddfgdi <- List.rev v.bbjgjddfgdi;
      v.jadihfhpmkh <- List.rev v.jadihfhpmkh;
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.jadihfhpmkh <- (decode_pb_knfclkceeah (Pbrt.Decoder.nested d)) :: v.jadihfhpmkh;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hpogjbmmnaa), field(2)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hpogjbmmnaa), field(1)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.bbjgjddfgdi <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hpogjbmmnaa), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jadihfhpmkh = v.jadihfhpmkh;
    retcode = v.retcode;
    bbjgjddfgdi = v.bbjgjddfgdi;
  } : hpogjbmmnaa)

let rec decode_pb_dkbnpdmbhoa d =
  let v = default_dkbnpdmbhoa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.aohkoelbjjc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dkbnpdmbhoa), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    aohkoelbjjc = v.aohkoelbjjc;
  } : dkbnpdmbhoa)

let rec decode_pb_gfmjolhdmld d =
  let v = default_gfmjolhdmld_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfmjolhdmld), field(6)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.aohkoelbjjc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfmjolhdmld), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    aohkoelbjjc = v.aohkoelbjjc;
  } : gfmjolhdmld)

let rec decode_pb_ajnedhhocjk d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_lineup_type_none:ajnedhhocjk)
  | 798 -> (Cmd_set_lineup_name_cs_req:ajnedhhocjk)
  | 729 -> (Cmd_quit_lineup_sc_rsp:ajnedhhocjk)
  | 743 -> (Cmd_get_cur_lineup_data_sc_rsp:ajnedhhocjk)
  | 724 -> (Cmd_get_all_lineup_data_cs_req:ajnedhhocjk)
  | 725 -> (Cmd_set_lineup_name_sc_rsp:ajnedhhocjk)
  | 793 -> (Cmd_join_lineup_sc_rsp:ajnedhhocjk)
  | 782 -> (Cmd_change_lineup_leader_sc_rsp:ajnedhhocjk)
  | 734 -> (Cmd_switch_lineup_index_cs_req:ajnedhhocjk)
  | 751 -> (Cmd_swap_lineup_cs_req:ajnedhhocjk)
  | 733 -> (Cmd_swap_lineup_sc_rsp:ajnedhhocjk)
  | 728 -> (Cmd_replace_lineup_sc_rsp:ajnedhhocjk)
  | 717 -> (Cmd_get_all_lineup_data_sc_rsp:ajnedhhocjk)
  | 754 -> (Cmd_get_lineup_avatar_data_cs_req:ajnedhhocjk)
  | 706 -> (Cmd_get_stage_lineup_sc_rsp:ajnedhhocjk)
  | 765 -> (Cmd_get_lineup_avatar_data_sc_rsp:ajnedhhocjk)
  | 756 -> (Cmd_join_lineup_cs_req:ajnedhhocjk)
  | 768 -> (Cmd_get_stage_lineup_cs_req:ajnedhhocjk)
  | 790 -> (Cmd_replace_lineup_cs_req:ajnedhhocjk)
  | 799 -> (Cmd_sync_lineup_notify:ajnedhhocjk)
  | 711 -> (Cmd_get_cur_lineup_data_cs_req:ajnedhhocjk)
  | 797 -> (Cmd_switch_lineup_index_sc_rsp:ajnedhhocjk)
  | 709 -> (Cmd_extra_lineup_destroy_notify:ajnedhhocjk)
  | 748 -> (Cmd_change_lineup_leader_cs_req:ajnedhhocjk)
  | 739 -> (Cmd_quit_lineup_cs_req:ajnedhhocjk)
  | 792 -> (Cmd_virtual_lineup_destroy_notify:ajnedhhocjk)
  | _ -> Pbrt.Decoder.malformed_variant "ajnedhhocjk"

let rec decode_pb_lineup_type d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Lineup_type_none:lineup_type)
  | 1 -> (Lineup_type_preset:lineup_type)
  | 2 -> (Lineup_type_virtual:lineup_type)
  | 3 -> (Lineup_type_extra:lineup_type)
  | 4 -> (Lineup_type_story_line:lineup_type)
  | _ -> Pbrt.Decoder.malformed_variant "lineup_type"

let rec decode_pb_sync_lineup_reason d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Sync_reason_none:sync_lineup_reason)
  | 1 -> (Sync_reason_mp_add:sync_lineup_reason)
  | 2 -> (Sync_reason_mp_add_prop_hit:sync_lineup_reason)
  | 3 -> (Sync_reason_hp_add:sync_lineup_reason)
  | 4 -> (Sync_reason_hp_add_prop_hit:sync_lineup_reason)
  | _ -> Pbrt.Decoder.malformed_variant "sync_lineup_reason"

let rec decode_pb_lbmibllpikl d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(lbmibllpikl)" pk

let rec decode_pb_gcfbakphcpf d =
  let v = default_gcfbakphcpf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.pkmpoapokhl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gcfbakphcpf), field(1)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.nmedaaeibfk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gcfbakphcpf), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pkmpoapokhl = v.pkmpoapokhl;
    nmedaaeibfk = v.nmedaaeibfk;
  } : gcfbakphcpf)

let rec decode_pb_knhhjmcbnea d =
  let v = default_knhhjmcbnea_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bdgmfbaffnm <- List.rev v.bdgmfbaffnm;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.bdgmfbaffnm <- (decode_pb_gcfbakphcpf (Pbrt.Decoder.nested d)) :: v.bdgmfbaffnm;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(knhhjmcbnea), field(1)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(knhhjmcbnea), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bdgmfbaffnm = v.bdgmfbaffnm;
    retcode = v.retcode;
  } : knhhjmcbnea)

let rec decode_pb_get_cur_lineup_data_cs_req d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(get_cur_lineup_data_cs_req)" pk

let rec decode_pb_get_cur_lineup_data_sc_rsp d =
  let v = default_get_cur_lineup_data_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.lineup <- Some (decode_pb_lineup_info (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_cur_lineup_data_sc_rsp), field(15)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_cur_lineup_data_sc_rsp), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lineup = v.lineup;
    retcode = v.retcode;
  } : get_cur_lineup_data_sc_rsp)

let rec decode_pb_ojallcafkeo d =
  let v = default_ojallcafkeo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.slot <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ojallcafkeo), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.index <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ojallcafkeo), field(3)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.base_avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ojallcafkeo), field(11)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.is_virtual <- Pbrt.Decoder.bool d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ojallcafkeo), field(13)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ojallcafkeo), field(15)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.plane_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ojallcafkeo), field(14)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.extra_lineup_type <- decode_pb_extra_lineup_type d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ojallcafkeo), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    slot = v.slot;
    index = v.index;
    base_avatar_id = v.base_avatar_id;
    is_virtual = v.is_virtual;
    avatar_type = v.avatar_type;
    plane_id = v.plane_id;
    extra_lineup_type = v.extra_lineup_type;
  } : ojallcafkeo)

let rec decode_pb_ohfahbfdpoj d =
  let v = default_ohfahbfdpoj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ohfahbfdpoj), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : ohfahbfdpoj)

let rec decode_pb_ffglfjgkkep d =
  let v = default_ffglfjgkkep_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.extra_lineup_type <- decode_pb_extra_lineup_type d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ffglfjgkkep), field(11)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ffglfjgkkep), field(10)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.base_avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ffglfjgkkep), field(8)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.index <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ffglfjgkkep), field(14)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.is_virtual <- Pbrt.Decoder.bool d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ffglfjgkkep), field(7)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.plane_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ffglfjgkkep), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    extra_lineup_type = v.extra_lineup_type;
    avatar_type = v.avatar_type;
    base_avatar_id = v.base_avatar_id;
    index = v.index;
    is_virtual = v.is_virtual;
    plane_id = v.plane_id;
  } : ffglfjgkkep)

let rec decode_pb_cjeipadcdjl d =
  let v = default_cjeipadcdjl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.is_virtual <- Pbrt.Decoder.bool d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cjeipadcdjl), field(13)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.aeoafelaneo <- Pbrt.Decoder.bool d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cjeipadcdjl), field(4)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.base_avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cjeipadcdjl), field(1)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cjeipadcdjl), field(10)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.plane_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cjeipadcdjl), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    is_virtual = v.is_virtual;
    aeoafelaneo = v.aeoafelaneo;
    base_avatar_id = v.base_avatar_id;
    retcode = v.retcode;
    plane_id = v.plane_id;
  } : cjeipadcdjl)

let rec decode_pb_kniinhmfihm d =
  let v = default_kniinhmfihm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.is_virtual <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kniinhmfihm), field(10)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.bdkilpahpgb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kniinhmfihm), field(4)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.extra_lineup_type <- decode_pb_extra_lineup_type d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kniinhmfihm), field(9)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.index <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kniinhmfihm), field(13)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.plane_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kniinhmfihm), field(11)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.agkkdgnhcbh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kniinhmfihm), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    is_virtual = v.is_virtual;
    bdkilpahpgb = v.bdkilpahpgb;
    extra_lineup_type = v.extra_lineup_type;
    index = v.index;
    plane_id = v.plane_id;
    agkkdgnhcbh = v.agkkdgnhcbh;
  } : kniinhmfihm)

let rec decode_pb_dpjippgdpac d =
  let v = default_dpjippgdpac_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dpjippgdpac), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : dpjippgdpac)

let rec decode_pb_sync_lineup_notify d =
  let v = default_sync_lineup_notify_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.reason_list <- List.rev v.reason_list;
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.reason_list <- (decode_pb_sync_lineup_reason d) :: v.reason_list;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(sync_lineup_notify), field(3)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.lineup <- Some (decode_pb_lineup_info (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(sync_lineup_notify), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    reason_list = v.reason_list;
    lineup = v.lineup;
  } : sync_lineup_notify)

let rec decode_pb_bcmbjlmlbnc d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(bcmbjlmlbnc)" pk

let rec decode_pb_pkokliocjho d =
  let v = default_pkokliocjho_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkokliocjho), field(6)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.hp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkokliocjho), field(11)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkokliocjho), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_type = v.avatar_type;
    hp = v.hp;
    id = v.id;
  } : pkokliocjho)

let rec decode_pb_dfdcahepikp d =
  let v = default_dfdcahepikp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.opimhcppnbc <- List.rev v.opimhcppnbc;
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.opimhcppnbc <- (decode_pb_pkokliocjho (Pbrt.Decoder.nested d)) :: v.opimhcppnbc;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dfdcahepikp), field(11)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dfdcahepikp), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    opimhcppnbc = v.opimhcppnbc;
    retcode = v.retcode;
  } : dfdcahepikp)

let rec decode_pb_lnheeohdggj d =
  let v = default_lnheeohdggj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.slot <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lnheeohdggj), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    slot = v.slot;
  } : lnheeohdggj)

let rec decode_pb_abmheggkjlj d =
  let v = default_abmheggkjlj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(abmheggkjlj), field(11)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.slot <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(abmheggkjlj), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    slot = v.slot;
  } : abmheggkjlj)

let rec decode_pb_efpogadjkbf d =
  let v = default_efpogadjkbf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.index <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(efpogadjkbf), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    index = v.index;
  } : efpogadjkbf)

let rec decode_pb_alpmagelkdp d =
  let v = default_alpmagelkdp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.index <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(alpmagelkdp), field(7)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(alpmagelkdp), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    index = v.index;
    retcode = v.retcode;
  } : alpmagelkdp)

let rec decode_pb_jmmngdpfccf d =
  let v = default_jmmngdpfccf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.name <- Pbrt.Decoder.string d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jmmngdpfccf), field(9)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.index <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jmmngdpfccf), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    name = v.name;
    index = v.index;
  } : jmmngdpfccf)

let rec decode_pb_empobajddco d =
  let v = default_empobajddco_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(empobajddco), field(12)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.name <- Pbrt.Decoder.string d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(empobajddco), field(5)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.index <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(empobajddco), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    name = v.name;
    index = v.index;
  } : empobajddco)

let rec decode_pb_jablakijdea d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(jablakijdea)" pk

let rec decode_pb_aclgjhedfaa d =
  let v = default_aclgjhedfaa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.kbognlnlcle <- List.rev v.kbognlnlcle;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.hifmklongnc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aclgjhedfaa), field(1)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.kbognlnlcle <- (decode_pb_lineup_info (Pbrt.Decoder.nested d)) :: v.kbognlnlcle;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aclgjhedfaa), field(6)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aclgjhedfaa), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hifmklongnc = v.hifmklongnc;
    kbognlnlcle = v.kbognlnlcle;
    retcode = v.retcode;
  } : aclgjhedfaa)

let rec decode_pb_aocfcjppedm d =
  let v = default_aocfcjppedm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.plane_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aocfcjppedm), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    plane_id = v.plane_id;
  } : aocfcjppedm)

let rec decode_pb_hiakofmgdlp d =
  let v = default_hiakofmgdlp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hiakofmgdlp), field(10)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hiakofmgdlp), field(11)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.slot <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hiakofmgdlp), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
    avatar_type = v.avatar_type;
    slot = v.slot;
  } : hiakofmgdlp)

let rec decode_pb_fibefodmgem d =
  let v = default_fibefodmgem_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mpeggadcgge <- List.rev v.mpeggadcgge;
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.is_virtual <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fibefodmgem), field(10)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.ijnpccndcgi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fibefodmgem), field(4)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.plane_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fibefodmgem), field(7)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.extra_lineup_type <- decode_pb_extra_lineup_type d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fibefodmgem), field(12)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.kclnaimofdl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fibefodmgem), field(3)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.mpeggadcgge <- (decode_pb_hiakofmgdlp (Pbrt.Decoder.nested d)) :: v.mpeggadcgge;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fibefodmgem), field(9)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.index <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fibefodmgem), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    is_virtual = v.is_virtual;
    ijnpccndcgi = v.ijnpccndcgi;
    plane_id = v.plane_id;
    extra_lineup_type = v.extra_lineup_type;
    kclnaimofdl = v.kclnaimofdl;
    mpeggadcgge = v.mpeggadcgge;
    index = v.index;
  } : fibefodmgem)

let rec decode_pb_ahbjhkinbil d =
  let v = default_ahbjhkinbil_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ahbjhkinbil), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : ahbjhkinbil)

let rec decode_pb_ekmckmcokia d =
  let v = default_ekmckmcokia_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.extra_lineup_type <- decode_pb_extra_lineup_type d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ekmckmcokia), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    extra_lineup_type = v.extra_lineup_type;
  } : ekmckmcokia)

let rec decode_pb_idooiaenifb d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_lobby_type_none:idooiaenifb)
  | 7362 -> (Cmd_lobby_quit_cs_req:idooiaenifb)
  | 7356 -> (Cmd_lobby_invite_sc_rsp:idooiaenifb)
  | 7361 -> (Cmd_lobby_begin_cs_req:idooiaenifb)
  | 7367 -> (Cmd_lobby_join_sc_rsp:idooiaenifb)
  | 7365 -> (Cmd_lobby_join_cs_req:idooiaenifb)
  | 7354 -> (Cmd_lobby_modify_player_info_sc_rsp:idooiaenifb)
  | 7384 -> (Cmd_lobby_kick_out_cs_req:idooiaenifb)
  | 7371 -> (Cmd_lobby_get_info_sc_rsp:idooiaenifb)
  | 7370 -> (Cmd_lobby_kick_out_sc_rsp:idooiaenifb)
  | 7398 -> (Cmd_lobby_get_info_cs_req:idooiaenifb)
  | 7358 -> (Cmd_lobby_begin_sc_rsp:idooiaenifb)
  | 7374 -> (Cmd_lobby_create_sc_rsp:idooiaenifb)
  | 7357 -> (Cmd_lobby_create_cs_req:idooiaenifb)
  | 7386 -> (Cmd_lobby_sync_info_sc_notify:idooiaenifb)
  | 7395 -> (Cmd_lobby_invite_cs_req:idooiaenifb)
  | 7373 -> (Cmd_lobby_modify_player_info_cs_req:idooiaenifb)
  | 7389 -> (Cmd_lobby_quit_sc_rsp:idooiaenifb)
  | 7355 -> (Cmd_lobby_invite_sc_notify:idooiaenifb)
  | _ -> Pbrt.Decoder.malformed_variant "idooiaenifb"

let rec decode_pb_lbjfonmlbmj d =
  let v = default_lbjfonmlbmj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.iiidiaplofb <- Some (decode_pb_lnnkgnfmmll (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbjfonmlbmj), field(12)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.dfpkdpmefac <- decode_pb_gkkpbgmoodd d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbjfonmlbmj), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    iiidiaplofb = v.iiidiaplofb;
    dfpkdpmefac = v.dfpkdpmefac;
  } : lbjfonmlbmj)

let rec decode_pb_clpnbpcgldl d =
  let v = default_clpnbpcgldl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pcmhnpbecpk <- List.rev v.pcmhnpbecpk;
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.mfdelanaicp <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(clpnbpcgldl), field(12)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(clpnbpcgldl), field(3)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.dfpkdpmefac <- decode_pb_gkkpbgmoodd d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(clpnbpcgldl), field(13)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.pcmhnpbecpk <- (decode_pb_egokacjfaen (Pbrt.Decoder.nested d)) :: v.pcmhnpbecpk;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(clpnbpcgldl), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mfdelanaicp = v.mfdelanaicp;
    retcode = v.retcode;
    dfpkdpmefac = v.dfpkdpmefac;
    pcmhnpbecpk = v.pcmhnpbecpk;
  } : clpnbpcgldl)

let rec decode_pb_ofpmcomndcd d =
  let v = default_ofpmcomndcd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pknbckelhkm <- List.rev v.pknbckelhkm;
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.pknbckelhkm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ofpmcomndcd), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pknbckelhkm = v.pknbckelhkm;
  } : ofpmcomndcd)

let rec decode_pb_pafhbihlbca d =
  let v = default_pafhbihlbca_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pknbckelhkm <- List.rev v.pknbckelhkm;
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pafhbihlbca), field(4)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.pknbckelhkm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pafhbihlbca), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    pknbckelhkm = v.pknbckelhkm;
  } : pafhbihlbca)

let rec decode_pb_gbhfcbmhghk d =
  let v = default_gbhfcbmhghk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.mfdelanaicp <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gbhfcbmhghk), field(10)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.iiidiaplofb <- Some (decode_pb_lnnkgnfmmll (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gbhfcbmhghk), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mfdelanaicp = v.mfdelanaicp;
    iiidiaplofb = v.iiidiaplofb;
  } : gbhfcbmhghk)

let rec decode_pb_kikicpknoeb d =
  let v = default_kikicpknoeb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pcmhnpbecpk <- List.rev v.pcmhnpbecpk;
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.mfdelanaicp <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kikicpknoeb), field(14)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kikicpknoeb), field(10)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.pcmhnpbecpk <- (decode_pb_egokacjfaen (Pbrt.Decoder.nested d)) :: v.pcmhnpbecpk;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kikicpknoeb), field(15)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.dfpkdpmefac <- decode_pb_gkkpbgmoodd d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kikicpknoeb), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mfdelanaicp = v.mfdelanaicp;
    retcode = v.retcode;
    pcmhnpbecpk = v.pcmhnpbecpk;
    dfpkdpmefac = v.dfpkdpmefac;
  } : kikicpknoeb)

let rec decode_pb_nlhggbldnba d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(nlhggbldnba)" pk

let rec decode_pb_gjofkipdifm d =
  let v = default_gjofkipdifm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gjofkipdifm), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : gjofkipdifm)

let rec decode_pb_haffbknmhfm d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(haffbknmhfm)" pk

let rec decode_pb_jaeonekdhmo d =
  let v = default_jaeonekdhmo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pcmhnpbecpk <- List.rev v.pcmhnpbecpk;
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jaeonekdhmo), field(12)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.pcmhnpbecpk <- (decode_pb_egokacjfaen (Pbrt.Decoder.nested d)) :: v.pcmhnpbecpk;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jaeonekdhmo), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    pcmhnpbecpk = v.pcmhnpbecpk;
  } : jaeonekdhmo)

let rec decode_pb_bnhoegcoljl d =
  let v = default_bnhoegcoljl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.fgmdoekgpee <- decode_pb_ejnhbdlcndj d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bnhoegcoljl), field(2)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.hfhghfhomfn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bnhoegcoljl), field(6)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.iiidiaplofb <- Some (decode_pb_lnnkgnfmmll (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bnhoegcoljl), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fgmdoekgpee = v.fgmdoekgpee;
    hfhghfhomfn = v.hfhghfhomfn;
    iiidiaplofb = v.iiidiaplofb;
  } : bnhoegcoljl)

let rec decode_pb_npnpnbjahki d =
  let v = default_npnpnbjahki_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(npnpnbjahki), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : npnpnbjahki)

let rec decode_pb_dhhnemhmgma d =
  let v = default_dhhnemhmgma_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pcmhnpbecpk <- List.rev v.pcmhnpbecpk;
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dhhnemhmgma), field(12)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.fgmdoekgpee <- decode_pb_ejnhbdlcndj d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dhhnemhmgma), field(5)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.pcmhnpbecpk <- (decode_pb_egokacjfaen (Pbrt.Decoder.nested d)) :: v.pcmhnpbecpk;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dhhnemhmgma), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    uid = v.uid;
    fgmdoekgpee = v.fgmdoekgpee;
    pcmhnpbecpk = v.pcmhnpbecpk;
  } : dhhnemhmgma)

let rec decode_pb_lfkkogmpbao d =
  let v = default_lfkkogmpbao_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lfkkogmpbao), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    uid = v.uid;
  } : lfkkogmpbao)

let rec decode_pb_npcdkngjimc d =
  let v = default_npcdkngjimc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(npcdkngjimc), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : npcdkngjimc)

let rec decode_pb_geddfnpdnao d =
  let v = default_geddfnpdnao_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.ehjdlppngmf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(geddfnpdnao), field(10)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.dfpkdpmefac <- decode_pb_gkkpbgmoodd d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(geddfnpdnao), field(15)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.mfdelanaicp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(geddfnpdnao), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ehjdlppngmf = v.ehjdlppngmf;
    dfpkdpmefac = v.dfpkdpmefac;
    mfdelanaicp = v.mfdelanaicp;
  } : geddfnpdnao)

let rec decode_pb_hhbnnogdkpi d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(hhbnnogdkpi)" pk

let rec decode_pb_ifanbeggfke d =
  let v = default_ifanbeggfke_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pcmhnpbecpk <- List.rev v.pcmhnpbecpk;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.pcmhnpbecpk <- (decode_pb_egokacjfaen (Pbrt.Decoder.nested d)) :: v.pcmhnpbecpk;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifanbeggfke), field(7)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.jgkindfbegl <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifanbeggfke), field(4)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.mfdelanaicp <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifanbeggfke), field(11)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.dfpkdpmefac <- decode_pb_gkkpbgmoodd d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifanbeggfke), field(14)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifanbeggfke), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pcmhnpbecpk = v.pcmhnpbecpk;
    jgkindfbegl = v.jgkindfbegl;
    mfdelanaicp = v.mfdelanaicp;
    dfpkdpmefac = v.dfpkdpmefac;
    retcode = v.retcode;
  } : ifanbeggfke)

let rec decode_pb_keacmibmbaf d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_mail_type_none:keacmibmbaf)
  | 806 -> (Cmd_get_mail_sc_rsp:keacmibmbaf)
  | 811 -> (Cmd_mark_read_mail_cs_req:keacmibmbaf)
  | 868 -> (Cmd_get_mail_cs_req:keacmibmbaf)
  | 843 -> (Cmd_mark_read_mail_sc_rsp:keacmibmbaf)
  | 851 -> (Cmd_new_mail_sc_notify:keacmibmbaf)
  | 893 -> (Cmd_del_mail_sc_rsp:keacmibmbaf)
  | 829 -> (Cmd_take_mail_attachment_sc_rsp:keacmibmbaf)
  | 856 -> (Cmd_del_mail_cs_req:keacmibmbaf)
  | 839 -> (Cmd_take_mail_attachment_cs_req:keacmibmbaf)
  | _ -> Pbrt.Decoder.malformed_variant "keacmibmbaf"

let rec decode_pb_boikhbbncba d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Mail_type_normal:boikhbbncba)
  | 1 -> (Mail_type_star:boikhbbncba)
  | _ -> Pbrt.Decoder.malformed_variant "boikhbbncba"

let rec decode_pb_hbjjhaendfo d =
  let v = default_hbjjhaendfo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.afiomfffjda <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hbjjhaendfo), field(12)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.enffacoigfn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hbjjhaendfo), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    afiomfffjda = v.afiomfffjda;
    enffacoigfn = v.enffacoigfn;
  } : hbjjhaendfo)

let rec decode_pb_client_mail d =
  let v = default_client_mail_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.para_list <- List.rev v.para_list;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.title <- Pbrt.Decoder.string d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(client_mail), field(1)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.attachment <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(client_mail), field(14)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(client_mail), field(12)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.content <- Pbrt.Decoder.string d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(client_mail), field(11)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.para_list <- (Pbrt.Decoder.string d) :: v.para_list;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(client_mail), field(9)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.template_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(client_mail), field(8)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.mail_type <- decode_pb_boikhbbncba d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(client_mail), field(4)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(client_mail), field(15)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.expire_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(client_mail), field(3)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.is_read <- Pbrt.Decoder.bool d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(client_mail), field(13)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.sender <- Pbrt.Decoder.string d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(client_mail), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    title = v.title;
    attachment = v.attachment;
    id = v.id;
    content = v.content;
    para_list = v.para_list;
    template_id = v.template_id;
    mail_type = v.mail_type;
    time = v.time;
    expire_time = v.expire_time;
    is_read = v.is_read;
    sender = v.sender;
  } : client_mail)

let rec decode_pb_get_mail_sc_rsp d =
  let v = default_get_mail_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mail_list <- List.rev v.mail_list;
      v.notice_mail_list <- List.rev v.notice_mail_list;
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.is_end <- Pbrt.Decoder.bool d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_mail_sc_rsp), field(8)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.start <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_mail_sc_rsp), field(1)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.notice_mail_list <- (decode_pb_client_mail (Pbrt.Decoder.nested d)) :: v.notice_mail_list;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_mail_sc_rsp), field(4)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.total_num <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_mail_sc_rsp), field(10)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_mail_sc_rsp), field(14)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.mail_list <- (decode_pb_client_mail (Pbrt.Decoder.nested d)) :: v.mail_list;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_mail_sc_rsp), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    is_end = v.is_end;
    start = v.start;
    notice_mail_list = v.notice_mail_list;
    total_num = v.total_num;
    retcode = v.retcode;
    mail_list = v.mail_list;
  } : get_mail_sc_rsp)

let rec decode_pb_clmibfaghgk d =
  let v = default_clmibfaghgk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(clmibfaghgk), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
  } : clmibfaghgk)

let rec decode_pb_ealjpafdbnc d =
  let v = default_ealjpafdbnc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ealjpafdbnc), field(10)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ealjpafdbnc), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    id = v.id;
  } : ealjpafdbnc)

let rec decode_pb_inhibijgmff d =
  let v = default_inhibijgmff_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.kflgilkbmpn <- List.rev v.kflgilkbmpn;
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.kflgilkbmpn <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(inhibijgmff), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kflgilkbmpn = v.kflgilkbmpn;
  } : inhibijgmff)

let rec decode_pb_del_mail_sc_rsp d =
  let v = default_del_mail_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.id_list <- List.rev v.id_list;
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(del_mail_sc_rsp), field(15)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(del_mail_sc_rsp), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id_list = v.id_list;
    retcode = v.retcode;
  } : del_mail_sc_rsp)

let rec decode_pb_ahgfoojjjkb d =
  let v = default_ahgfoojjjkb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ckpljojpmmm <- List.rev v.ckpljojpmmm;
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.apbdbeabddj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ahgfoojjjkb), field(5)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.ckpljojpmmm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ahgfoojjjkb), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    apbdbeabddj = v.apbdbeabddj;
    ckpljojpmmm = v.ckpljojpmmm;
  } : ahgfoojjjkb)

let rec decode_pb_ejglipokcki d =
  let v = default_ejglipokcki_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.dkhggieoebb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ejglipokcki), field(15)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ejglipokcki), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dkhggieoebb = v.dkhggieoebb;
    hgjolgkaofj = v.hgjolgkaofj;
  } : ejglipokcki)

let rec decode_pb_take_mail_attachment_sc_rsp d =
  let v = default_take_mail_attachment_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.fail_mail_list <- List.rev v.fail_mail_list;
      v.succ_mail_id_list <- List.rev v.succ_mail_id_list;
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(take_mail_attachment_sc_rsp), field(15)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.attachment <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(take_mail_attachment_sc_rsp), field(14)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.succ_mail_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(take_mail_attachment_sc_rsp), field(12)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.fail_mail_list <- (decode_pb_ejglipokcki (Pbrt.Decoder.nested d)) :: v.fail_mail_list;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(take_mail_attachment_sc_rsp), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    attachment = v.attachment;
    succ_mail_id_list = v.succ_mail_id_list;
    fail_mail_list = v.fail_mail_list;
  } : take_mail_attachment_sc_rsp)

let rec decode_pb_new_mail_sc_notify d =
  let v = default_new_mail_sc_notify_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mail_id_list <- List.rev v.mail_id_list;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.mail_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(new_mail_sc_notify), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mail_id_list = v.mail_id_list;
  } : new_mail_sc_notify)

let rec decode_pb_jhbepgcaplh d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_map_rotation_type_none:jhbepgcaplh)
  | 6865 -> (Cmd_reset_map_rotation_region_cs_req:jhbepgcaplh)
  | 6824 -> (Cmd_update_rotater_sc_notify:jhbepgcaplh)
  | 6893 -> (Cmd_deploy_rotater_sc_rsp:jhbepgcaplh)
  | 6839 -> (Cmd_rotate_map_cs_req:jhbepgcaplh)
  | 6843 -> (Cmd_interact_charger_sc_rsp:jhbepgcaplh)
  | 6899 -> (Cmd_get_map_rotation_data_cs_req:jhbepgcaplh)
  | 6811 -> (Cmd_interact_charger_cs_req:jhbepgcaplh)
  | 6897 -> (Cmd_update_map_rotation_data_sc_notify:jhbepgcaplh)
  | 6833 -> (Cmd_leave_map_rotation_region_sc_rsp:jhbepgcaplh)
  | 6834 -> (Cmd_update_energy_sc_notify:jhbepgcaplh)
  | 6882 -> (Cmd_leave_map_rotation_region_sc_notify:jhbepgcaplh)
  | 6806 -> (Cmd_enter_map_rotation_region_sc_rsp:jhbepgcaplh)
  | 6854 -> (Cmd_get_map_rotation_data_sc_rsp:jhbepgcaplh)
  | 6851 -> (Cmd_leave_map_rotation_region_cs_req:jhbepgcaplh)
  | 6848 -> (Cmd_reset_map_rotation_region_sc_rsp:jhbepgcaplh)
  | 6829 -> (Cmd_rotate_map_sc_rsp:jhbepgcaplh)
  | 6856 -> (Cmd_deploy_rotater_cs_req:jhbepgcaplh)
  | 6825 -> (Cmd_remove_rotater_sc_rsp:jhbepgcaplh)
  | 6868 -> (Cmd_enter_map_rotation_region_cs_req:jhbepgcaplh)
  | 6898 -> (Cmd_remove_rotater_cs_req:jhbepgcaplh)
  | _ -> Pbrt.Decoder.malformed_variant "jhbepgcaplh"

let rec decode_pb_khfdnccflpd d =
  let v = default_khfdnccflpd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.ohoibnhjifg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(khfdnccflpd), field(3)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(khfdnccflpd), field(15)" pk
    | Some (14, Pbrt.Bits32) -> begin
      v.fpmlllfheph <- Pbrt.Decoder.float_as_bits32 d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(khfdnccflpd), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ohoibnhjifg = v.ohoibnhjifg;
    group_id = v.group_id;
    fpmlllfheph = v.fpmlllfheph;
  } : khfdnccflpd)

let rec decode_pb_ocbfmoemnpp d =
  let v = default_ocbfmoemnpp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.ohoibnhjifg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ocbfmoemnpp), field(9)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ocbfmoemnpp), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ohoibnhjifg = v.ohoibnhjifg;
    group_id = v.group_id;
  } : ocbfmoemnpp)

let rec decode_pb_gnagomfpbhh d =
  let v = default_gnagomfpbhh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.aobmafbkdll <- Some (decode_pb_quaternion (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gnagomfpbhh), field(3)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.hgkfdihpfdm <- Some (decode_pb_vector (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gnagomfpbhh), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    aobmafbkdll = v.aobmafbkdll;
    hgkfdihpfdm = v.hgkfdihpfdm;
  } : gnagomfpbhh)

let rec decode_pb_ihgimimcdpj d =
  let v = default_ihgimimcdpj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.hkohlnhlgnb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ihgimimcdpj), field(14)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.eolhlhcahff <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ihgimimcdpj), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hkohlnhlgnb = v.hkohlnhlgnb;
    eolhlhcahff = v.eolhlhcahff;
  } : ihgimimcdpj)

let rec decode_pb_cioeahefpln d =
  let v = default_cioeahefpln_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bhckkplnonj <- List.rev v.bhckkplnonj;
      v.biefgmhpign <- List.rev v.biefgmhpign;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.fmcegofhmgc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cioeahefpln), field(1)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.chmbglidkmm <- Pbrt.Decoder.bool d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cioeahefpln), field(6)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.biefgmhpign <- (decode_pb_khfdnccflpd (Pbrt.Decoder.nested d)) :: v.biefgmhpign;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cioeahefpln), field(4)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.bhckkplnonj <- (decode_pb_ocbfmoemnpp (Pbrt.Decoder.nested d)) :: v.bhckkplnonj;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cioeahefpln), field(12)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.afdjikffnjd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cioeahefpln), field(13)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.imelchpnpgc <- Some (decode_pb_gnagomfpbhh (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cioeahefpln), field(8)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.anecodblgcb <- Some (decode_pb_ihgimimcdpj (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cioeahefpln), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fmcegofhmgc = v.fmcegofhmgc;
    chmbglidkmm = v.chmbglidkmm;
    biefgmhpign = v.biefgmhpign;
    bhckkplnonj = v.bhckkplnonj;
    afdjikffnjd = v.afdjikffnjd;
    imelchpnpgc = v.imelchpnpgc;
    anecodblgcb = v.anecodblgcb;
  } : cioeahefpln)

let rec decode_pb_ldobaeloakm d =
  let v = default_ldobaeloakm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.afdjikffnjd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldobaeloakm), field(4)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.fmcegofhmgc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldobaeloakm), field(1)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.jililehmdkg <- Some (decode_pb_motion_info (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldobaeloakm), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    afdjikffnjd = v.afdjikffnjd;
    fmcegofhmgc = v.fmcegofhmgc;
    jililehmdkg = v.jililehmdkg;
  } : ldobaeloakm)

let rec decode_pb_malmdonmidf d =
  let v = default_malmdonmidf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.anecodblgcb <- Some (decode_pb_ihgimimcdpj (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(malmdonmidf), field(14)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(malmdonmidf), field(15)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.fmcegofhmgc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(malmdonmidf), field(8)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.micgnniimak <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(malmdonmidf), field(2)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.afdjikffnjd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(malmdonmidf), field(12)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.jililehmdkg <- Some (decode_pb_motion_info (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(malmdonmidf), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    anecodblgcb = v.anecodblgcb;
    retcode = v.retcode;
    fmcegofhmgc = v.fmcegofhmgc;
    micgnniimak = v.micgnniimak;
    afdjikffnjd = v.afdjikffnjd;
    jililehmdkg = v.jililehmdkg;
  } : malmdonmidf)

let rec decode_pb_mmdlhgjdmjg d =
  let v = default_mmdlhgjdmjg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.hiceoeaiape <- Some (decode_pb_ocbfmoemnpp (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmdlhgjdmjg), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hiceoeaiape = v.hiceoeaiape;
  } : mmdlhgjdmjg)

let rec decode_pb_apcieeocild d =
  let v = default_apcieeocild_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(apcieeocild), field(14)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.anecodblgcb <- Some (decode_pb_ihgimimcdpj (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(apcieeocild), field(8)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.hiceoeaiape <- Some (decode_pb_ocbfmoemnpp (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(apcieeocild), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    anecodblgcb = v.anecodblgcb;
    hiceoeaiape = v.hiceoeaiape;
  } : apcieeocild)

let rec decode_pb_lnfjkiojdib d =
  let v = default_lnfjkiojdib_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.hoakecnahpp <- Some (decode_pb_khfdnccflpd (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lnfjkiojdib), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hoakecnahpp = v.hoakecnahpp;
  } : lnfjkiojdib)

let rec decode_pb_ahlcaeifmin d =
  let v = default_ahlcaeifmin_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.anecodblgcb <- Some (decode_pb_ihgimimcdpj (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ahlcaeifmin), field(4)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.hoakecnahpp <- Some (decode_pb_khfdnccflpd (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ahlcaeifmin), field(10)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ahlcaeifmin), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    anecodblgcb = v.anecodblgcb;
    hoakecnahpp = v.hoakecnahpp;
    retcode = v.retcode;
  } : ahlcaeifmin)

let rec decode_pb_bebfhlmmlke d =
  let v = default_bebfhlmmlke_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.jililehmdkg <- Some (decode_pb_motion_info (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bebfhlmmlke), field(3)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bebfhlmmlke), field(6)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.imelchpnpgc <- Some (decode_pb_gnagomfpbhh (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bebfhlmmlke), field(11)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.ohoibnhjifg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bebfhlmmlke), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jililehmdkg = v.jililehmdkg;
    group_id = v.group_id;
    imelchpnpgc = v.imelchpnpgc;
    ohoibnhjifg = v.ohoibnhjifg;
  } : bebfhlmmlke)

let rec decode_pb_ibhoeeiidfk d =
  let v = default_ibhoeeiidfk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibhoeeiidfk), field(11)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.jililehmdkg <- Some (decode_pb_motion_info (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibhoeeiidfk), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.micgnniimak <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibhoeeiidfk), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    jililehmdkg = v.jililehmdkg;
    micgnniimak = v.micgnniimak;
  } : ibhoeeiidfk)

let rec decode_pb_dnccfjilnia d =
  let v = default_dnccfjilnia_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.jililehmdkg <- Some (decode_pb_motion_info (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dnccfjilnia), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jililehmdkg = v.jililehmdkg;
  } : dnccfjilnia)

let rec decode_pb_nelmkofibag d =
  let v = default_nelmkofibag_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.micgnniimak <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nelmkofibag), field(14)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nelmkofibag), field(7)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.jililehmdkg <- Some (decode_pb_motion_info (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nelmkofibag), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    micgnniimak = v.micgnniimak;
    retcode = v.retcode;
    jililehmdkg = v.jililehmdkg;
  } : nelmkofibag)

let rec decode_pb_mepliogppbm d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(mepliogppbm)" pk

let rec decode_pb_pogkoedgank d =
  let v = default_pogkoedgank_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.biefgmhpign <- List.rev v.biefgmhpign;
      v.bhckkplnonj <- List.rev v.bhckkplnonj;
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.imelchpnpgc <- Some (decode_pb_gnagomfpbhh (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pogkoedgank), field(15)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.afdjikffnjd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pogkoedgank), field(8)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.imfipeiffei <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pogkoedgank), field(10)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.anecodblgcb <- Some (decode_pb_ihgimimcdpj (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pogkoedgank), field(6)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.bhckkplnonj <- (decode_pb_ocbfmoemnpp (Pbrt.Decoder.nested d)) :: v.bhckkplnonj;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pogkoedgank), field(3)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.fmcegofhmgc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pogkoedgank), field(11)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pogkoedgank), field(4)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.biefgmhpign <- (decode_pb_khfdnccflpd (Pbrt.Decoder.nested d)) :: v.biefgmhpign;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pogkoedgank), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    imelchpnpgc = v.imelchpnpgc;
    afdjikffnjd = v.afdjikffnjd;
    imfipeiffei = v.imfipeiffei;
    anecodblgcb = v.anecodblgcb;
    bhckkplnonj = v.bhckkplnonj;
    fmcegofhmgc = v.fmcegofhmgc;
    retcode = v.retcode;
    biefgmhpign = v.biefgmhpign;
  } : pogkoedgank)

let rec decode_pb_enilegjbbda d =
  let v = default_enilegjbbda_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.jililehmdkg <- Some (decode_pb_motion_info (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(enilegjbbda), field(8)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.imelchpnpgc <- Some (decode_pb_gnagomfpbhh (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(enilegjbbda), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jililehmdkg = v.jililehmdkg;
    imelchpnpgc = v.imelchpnpgc;
  } : enilegjbbda)

let rec decode_pb_bjofngoldef d =
  let v = default_bjofngoldef_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bjofngoldef), field(8)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.micgnniimak <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bjofngoldef), field(3)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.jililehmdkg <- Some (decode_pb_motion_info (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bjofngoldef), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    micgnniimak = v.micgnniimak;
    jililehmdkg = v.jililehmdkg;
  } : bjofngoldef)

let rec decode_pb_jcnjjjamoej d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(jcnjjjamoej)" pk

let rec decode_pb_nbdameobjml d =
  let v = default_nbdameobjml_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.anecodblgcb <- Some (decode_pb_ihgimimcdpj (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nbdameobjml), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    anecodblgcb = v.anecodblgcb;
  } : nbdameobjml)

let rec decode_pb_cohjcefhcmd d =
  let v = default_cohjcefhcmd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.biefgmhpign <- List.rev v.biefgmhpign;
      v.bhckkplnonj <- List.rev v.bhckkplnonj;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.bhckkplnonj <- (decode_pb_ocbfmoemnpp (Pbrt.Decoder.nested d)) :: v.bhckkplnonj;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cohjcefhcmd), field(10)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.anecodblgcb <- Some (decode_pb_ihgimimcdpj (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cohjcefhcmd), field(6)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.imfipeiffei <- Pbrt.Decoder.bool d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cohjcefhcmd), field(5)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.biefgmhpign <- (decode_pb_khfdnccflpd (Pbrt.Decoder.nested d)) :: v.biefgmhpign;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cohjcefhcmd), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.fmcegofhmgc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cohjcefhcmd), field(3)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.afdjikffnjd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cohjcefhcmd), field(8)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.imelchpnpgc <- Some (decode_pb_gnagomfpbhh (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cohjcefhcmd), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bhckkplnonj = v.bhckkplnonj;
    anecodblgcb = v.anecodblgcb;
    imfipeiffei = v.imfipeiffei;
    biefgmhpign = v.biefgmhpign;
    fmcegofhmgc = v.fmcegofhmgc;
    afdjikffnjd = v.afdjikffnjd;
    imelchpnpgc = v.imelchpnpgc;
  } : cohjcefhcmd)

let rec decode_pb_aigabbmnbpi d =
  let v = default_aigabbmnbpi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.hoakecnahpp <- Some (decode_pb_khfdnccflpd (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aigabbmnbpi), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hoakecnahpp = v.hoakecnahpp;
  } : aigabbmnbpi)

let rec decode_pb_dckpmapfemc d =
  let v = default_dckpmapfemc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.hoakecnahpp <- Some (decode_pb_khfdnccflpd (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dckpmapfemc), field(7)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dckpmapfemc), field(15)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.anecodblgcb <- Some (decode_pb_ihgimimcdpj (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dckpmapfemc), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hoakecnahpp = v.hoakecnahpp;
    retcode = v.retcode;
    anecodblgcb = v.anecodblgcb;
  } : dckpmapfemc)

let rec decode_pb_jpjihefieki d =
  let v = default_jpjihefieki_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.biefgmhpign <- List.rev v.biefgmhpign;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.biefgmhpign <- (decode_pb_khfdnccflpd (Pbrt.Decoder.nested d)) :: v.biefgmhpign;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jpjihefieki), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    biefgmhpign = v.biefgmhpign;
  } : jpjihefieki)

let rec decode_pb_ahoodboincp d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_match_type_none:ahoodboincp)
  | 7311 -> (Cmd_match_result_sc_notify:ahoodboincp)
  | 7324 -> (Cmd_start_match_sc_rsp:ahoodboincp)
  | 7317 -> (Cmd_cancel_match_sc_rsp:ahoodboincp)
  | 7307 -> (Cmd_start_match_cs_req:ahoodboincp)
  | 7308 -> (Cmd_get_cross_info_cs_req:ahoodboincp)
  | 7315 -> (Cmd_cancel_match_cs_req:ahoodboincp)
  | 7323 -> (Cmd_get_cross_info_sc_rsp:ahoodboincp)
  | _ -> Pbrt.Decoder.malformed_variant "ahoodboincp"

let rec decode_pb_bglacpgnfnh d =
  let v = default_bglacpgnfnh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.dfpkdpmefac <- decode_pb_gkkpbgmoodd d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bglacpgnfnh), field(1)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.iiidiaplofb <- Some (decode_pb_lnnkgnfmmll (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bglacpgnfnh), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dfpkdpmefac = v.dfpkdpmefac;
    iiidiaplofb = v.iiidiaplofb;
  } : bglacpgnfnh)

let rec decode_pb_hilcokekkin d =
  let v = default_hilcokekkin_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hilcokekkin), field(2)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.iiidiaplofb <- Some (decode_pb_lnnkgnfmmll (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hilcokekkin), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    iiidiaplofb = v.iiidiaplofb;
  } : hilcokekkin)

let rec decode_pb_hghfdhlfdka d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(hghfdhlfdka)" pk

let rec decode_pb_phindajhpal d =
  let v = default_phindajhpal_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(phindajhpal), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : phindajhpal)

let rec decode_pb_ankmamoalla d =
  let v = default_ankmamoalla_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pcmhnpbecpk <- List.rev v.pcmhnpbecpk;
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ankmamoalla), field(9)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.pcmhnpbecpk <- (decode_pb_egokacjfaen (Pbrt.Decoder.nested d)) :: v.pcmhnpbecpk;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ankmamoalla), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    pcmhnpbecpk = v.pcmhnpbecpk;
  } : ankmamoalla)

let rec decode_pb_hnfjoglaejj d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(hnfjoglaejj)" pk

let rec decode_pb_jjkhhndmplc d =
  let v = default_jjkhhndmplc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jjkhhndmplc), field(8)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.mfdelanaicp <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jjkhhndmplc), field(11)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.jgkindfbegl <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jjkhhndmplc), field(9)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.dfpkdpmefac <- decode_pb_gkkpbgmoodd d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jjkhhndmplc), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    mfdelanaicp = v.mfdelanaicp;
    jgkindfbegl = v.jgkindfbegl;
    dfpkdpmefac = v.dfpkdpmefac;
  } : jjkhhndmplc)

let rec decode_pb_gogeiggmpdf d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_match_three_module_type_none:gogeiggmpdf)
  | 7415 -> (Cmd_match_three_level_end_cs_req:gogeiggmpdf)
  | 7407 -> (Cmd_match_three_get_data_cs_req:gogeiggmpdf)
  | 7408 -> (Cmd_match_three_set_bird_pos_cs_req:gogeiggmpdf)
  | 7417 -> (Cmd_match_three_level_end_sc_rsp:gogeiggmpdf)
  | 7423 -> (Cmd_match_three_set_bird_pos_sc_rsp:gogeiggmpdf)
  | 7424 -> (Cmd_match_three_get_data_sc_rsp:gogeiggmpdf)
  | 7411 -> (Cmd_match_three_sync_data_sc_notify:gogeiggmpdf)
  | _ -> Pbrt.Decoder.malformed_variant "gogeiggmpdf"

let rec decode_pb_obnecljmhjj d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Match_three_statistics_none:obnecljmhjj)
  | 1 -> (Match_three_statistics_first:obnecljmhjj)
  | 2 -> (Match_three_statistics_second:obnecljmhjj)
  | 3 -> (Match_three_statistics_third:obnecljmhjj)
  | 4 -> (Match_three_statistics_fruit:obnecljmhjj)
  | 5 -> (Match_three_statistics_skill:obnecljmhjj)
  | 6 -> (Match_three_statistics_defeat:obnecljmhjj)
  | 7 -> (Match_three_statistics_bomb:obnecljmhjj)
  | 8 -> (Match_three_statistics_damage:obnecljmhjj)
  | 9 -> (Match_three_statistics_energy:obnecljmhjj)
  | 10 -> (Match_three_statistics_swap_bomb:obnecljmhjj)
  | _ -> Pbrt.Decoder.malformed_variant "obnecljmhjj"

let rec decode_pb_dagjmdgimmm d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(dagjmdgimmm)" pk

let rec decode_pb_ngdfidbleeg d =
  let v = default_ngdfidbleeg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.dfmnolgmcag <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ngdfidbleeg), field(6)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.lcmkbhbmdob <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ngdfidbleeg), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dfmnolgmcag = v.dfmnolgmcag;
    lcmkbhbmdob = v.lcmkbhbmdob;
  } : ngdfidbleeg)

let rec decode_pb_ibilogboici d =
  let v = default_ibilogboici_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.kkgeojnphcn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibilogboici), field(7)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.count <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibilogboici), field(15)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.pos <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibilogboici), field(12)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.eoegloalcho <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibilogboici), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kkgeojnphcn = v.kkgeojnphcn;
    count = v.count;
    pos = v.pos;
    eoegloalcho = v.eoegloalcho;
  } : ibilogboici)

let rec decode_pb_dfopglpmagj d =
  let v = default_dfopglpmagj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.blnfdkplien <- List.rev v.blnfdkplien;
      v.agmoeffpkfe <- List.rev v.agmoeffpkfe;
      v.pjbahhanmfh <- List.rev v.pjbahhanmfh;
      v.bojmeheaade <- List.rev v.bojmeheaade;
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.bojmeheaade <- (decode_pb_ngdfidbleeg (Pbrt.Decoder.nested d)) :: v.bojmeheaade;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dfopglpmagj), field(3)" pk
    | Some (14, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.int32_as_varint d
      ) in
      v.pjbahhanmfh <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.pjbahhanmfh;
      );
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dfopglpmagj), field(14)" pk
    | Some (13, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.int32_as_varint d
      ) in
      v.agmoeffpkfe <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.agmoeffpkfe;
      );
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dfopglpmagj), field(13)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.blnfdkplien <- (decode_pb_ibilogboici (Pbrt.Decoder.nested d)) :: v.blnfdkplien;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dfopglpmagj), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bojmeheaade = v.bojmeheaade;
    pjbahhanmfh = v.pjbahhanmfh;
    agmoeffpkfe = v.agmoeffpkfe;
    blnfdkplien = v.blnfdkplien;
  } : dfopglpmagj)

let rec decode_pb_ecppcfackjp d =
  let v = default_ecppcfackjp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ecppcfackjp), field(8)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.khliailcpno <- Some (decode_pb_dfopglpmagj (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ecppcfackjp), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    khliailcpno = v.khliailcpno;
  } : ecppcfackjp)

let rec decode_pb_cpfflpikfcj d =
  let v = default_cpfflpikfcj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.agmoeffpkfe <- List.rev v.agmoeffpkfe;
      v.ebibccdkihb <- List.rev v.ebibccdkihb;
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.dfmnolgmcag <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cpfflpikfcj), field(6)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.lcmkbhbmdob <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cpfflpikfcj), field(7)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.ebibccdkihb <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cpfflpikfcj), field(12)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.eoegloalcho <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cpfflpikfcj), field(1)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.mbmegghhkjl <- Pbrt.Decoder.string d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cpfflpikfcj), field(3)" pk
    | Some (15, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.int32_as_varint d
      ) in
      v.agmoeffpkfe <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.agmoeffpkfe;
      );
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cpfflpikfcj), field(15)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.kkgeojnphcn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cpfflpikfcj), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dfmnolgmcag = v.dfmnolgmcag;
    lcmkbhbmdob = v.lcmkbhbmdob;
    ebibccdkihb = v.ebibccdkihb;
    eoegloalcho = v.eoegloalcho;
    mbmegghhkjl = v.mbmegghhkjl;
    agmoeffpkfe = v.agmoeffpkfe;
    kkgeojnphcn = v.kkgeojnphcn;
  } : cpfflpikfcj)

let rec decode_pb_bcoocleapmc d =
  let v = default_bcoocleapmc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bcoocleapmc), field(8)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.lcmkbhbmdob <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bcoocleapmc), field(15)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.dfmnolgmcag <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bcoocleapmc), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    lcmkbhbmdob = v.lcmkbhbmdob;
    dfmnolgmcag = v.dfmnolgmcag;
  } : bcoocleapmc)

let rec decode_pb_llldfbeojkh d =
  let v = default_llldfbeojkh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.khliailcpno <- Some (decode_pb_dfopglpmagj (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(llldfbeojkh), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    khliailcpno = v.khliailcpno;
  } : llldfbeojkh)

let rec decode_pb_ieggdbjkahf d =
  let v = default_ieggdbjkahf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.pos <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ieggdbjkahf), field(15)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.kkgeojnphcn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ieggdbjkahf), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pos = v.pos;
    kkgeojnphcn = v.kkgeojnphcn;
  } : ieggdbjkahf)

let rec decode_pb_lkddgonhhma d =
  let v = default_lkddgonhhma_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.pos <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lkddgonhhma), field(7)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lkddgonhhma), field(8)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.kkgeojnphcn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lkddgonhhma), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pos = v.pos;
    retcode = v.retcode;
    kkgeojnphcn = v.kkgeojnphcn;
  } : lkddgonhhma)

let rec decode_pb_menenehdenk d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_message_type_none:menenehdenk)
  | 2793 -> (Cmd_finish_item_id_sc_rsp:menenehdenk)
  | 2733 -> (Cmd_finish_perform_section_id_sc_rsp:menenehdenk)
  | 2729 -> (Cmd_finish_section_id_sc_rsp:menenehdenk)
  | 2739 -> (Cmd_finish_section_id_cs_req:menenehdenk)
  | 2706 -> (Cmd_get_npc_message_group_sc_rsp:menenehdenk)
  | 2751 -> (Cmd_finish_perform_section_id_cs_req:menenehdenk)
  | 2756 -> (Cmd_finish_item_id_cs_req:menenehdenk)
  | 2743 -> (Cmd_get_npc_status_sc_rsp:menenehdenk)
  | 2768 -> (Cmd_get_npc_message_group_cs_req:menenehdenk)
  | 2711 -> (Cmd_get_npc_status_cs_req:menenehdenk)
  | _ -> Pbrt.Decoder.malformed_variant "menenehdenk"

let rec decode_pb_ielhgjjhmeg d =
  let v = default_ielhgjjhmeg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ebbgmahfino <- List.rev v.ebbgmahfino;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.ebbgmahfino <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ielhgjjhmeg), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ebbgmahfino = v.ebbgmahfino;
  } : ielhgjjhmeg)

let rec decode_pb_jlibphmclik d =
  let v = default_jlibphmclik_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.oohldgfnabj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jlibphmclik), field(6)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jlibphmclik), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    oohldgfnabj = v.oohldgfnabj;
    hgjolgkaofj = v.hgjolgkaofj;
  } : jlibphmclik)

let rec decode_pb_fmnjhfhbjdi d =
  let v = default_fmnjhfhbjdi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pdpfcfglgco <- List.rev v.pdpfcfglgco;
      v.mcpchaempop <- List.rev v.mcpchaempop;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.mcpchaempop <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmnjhfhbjdi), field(9)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.pdpfcfglgco <- (decode_pb_jlibphmclik (Pbrt.Decoder.nested d)) :: v.pdpfcfglgco;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmnjhfhbjdi), field(6)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmnjhfhbjdi), field(14)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.status <- decode_pb_jnmfgfjpeim d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmnjhfhbjdi), field(11)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.hiiadaioiip <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmnjhfhbjdi), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mcpchaempop = v.mcpchaempop;
    pdpfcfglgco = v.pdpfcfglgco;
    id = v.id;
    status = v.status;
    hiiadaioiip = v.hiiadaioiip;
  } : fmnjhfhbjdi)

let rec decode_pb_adgfohedeog d =
  let v = default_adgfohedeog_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.kkadhofegle <- List.rev v.kkadhofegle;
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.cbclgknhnib <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adgfohedeog), field(9)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.flnokepmaph <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adgfohedeog), field(11)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adgfohedeog), field(1)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.kkadhofegle <- (decode_pb_fmnjhfhbjdi (Pbrt.Decoder.nested d)) :: v.kkadhofegle;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adgfohedeog), field(3)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.status <- decode_pb_pbcofiploko d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adgfohedeog), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cbclgknhnib = v.cbclgknhnib;
    flnokepmaph = v.flnokepmaph;
    id = v.id;
    kkadhofegle = v.kkadhofegle;
    status = v.status;
  } : adgfohedeog)

let rec decode_pb_dapaodjlepf d =
  let v = default_dapaodjlepf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.gimdcaalgei <- List.rev v.gimdcaalgei;
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.gimdcaalgei <- (decode_pb_adgfohedeog (Pbrt.Decoder.nested d)) :: v.gimdcaalgei;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dapaodjlepf), field(11)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dapaodjlepf), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gimdcaalgei = v.gimdcaalgei;
    retcode = v.retcode;
  } : dapaodjlepf)

let rec decode_pb_gpaafmajnie d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(gpaafmajnie)" pk

let rec decode_pb_gopahcfeind d =
  let v = default_gopahcfeind_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.hdnieedkagk <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gopahcfeind), field(2)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.pnigjhppmln <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gopahcfeind), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hdnieedkagk = v.hdnieedkagk;
    pnigjhppmln = v.pnigjhppmln;
  } : gopahcfeind)

let rec decode_pb_dejjkifldfb d =
  let v = default_dejjkifldfb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dejjkifldfb), field(9)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.cbclgknhnib <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dejjkifldfb), field(5)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.ppfbnlefano <- decode_pb_pbcofiploko d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dejjkifldfb), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    group_id = v.group_id;
    cbclgknhnib = v.cbclgknhnib;
    ppfbnlefano = v.ppfbnlefano;
  } : dejjkifldfb)

let rec decode_pb_jnicjgmnafm d =
  let v = default_jnicjgmnafm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.lpfpcbhelle <- decode_pb_jnmfgfjpeim d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnicjgmnafm), field(9)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.hgkmoddpamj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnicjgmnafm), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lpfpcbhelle = v.lpfpcbhelle;
    hgkmoddpamj = v.hgkmoddpamj;
  } : jnicjgmnafm)

let rec decode_pb_ecofcnjhkli d =
  let v = default_ecofcnjhkli_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bjhgmjdmodb <- List.rev v.bjhgmjdmodb;
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ecofcnjhkli), field(15)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.bjhgmjdmodb <- (decode_pb_gopahcfeind (Pbrt.Decoder.nested d)) :: v.bjhgmjdmodb;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ecofcnjhkli), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    bjhgmjdmodb = v.bjhgmjdmodb;
  } : ecofcnjhkli)

let rec decode_pb_bgehccfmoje d =
  let v = default_bgehccfmoje_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bgehccfmoje), field(9)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.oohldgfnabj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bgehccfmoje), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgjolgkaofj = v.hgjolgkaofj;
    oohldgfnabj = v.oohldgfnabj;
  } : bgehccfmoje)

let rec decode_pb_pahneciakhd d =
  let v = default_pahneciakhd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pahneciakhd), field(12)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.oohldgfnabj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pahneciakhd), field(7)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pahneciakhd), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    oohldgfnabj = v.oohldgfnabj;
    hgjolgkaofj = v.hgjolgkaofj;
  } : pahneciakhd)

let rec decode_pb_cdnampmbamd d =
  let v = default_cdnampmbamd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.hgkmoddpamj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cdnampmbamd), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgkmoddpamj = v.hgkmoddpamj;
  } : cdnampmbamd)

let rec decode_pb_admghjdoklf d =
  let v = default_admghjdoklf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.hgkmoddpamj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(admghjdoklf), field(7)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(admghjdoklf), field(5)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(admghjdoklf), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgkmoddpamj = v.hgkmoddpamj;
    reward = v.reward;
    retcode = v.retcode;
  } : admghjdoklf)

let rec decode_pb_ibpiaefkdgp d =
  let v = default_ibpiaefkdgp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pdpfcfglgco <- List.rev v.pdpfcfglgco;
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.hgkmoddpamj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibpiaefkdgp), field(5)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.pdpfcfglgco <- (decode_pb_jlibphmclik (Pbrt.Decoder.nested d)) :: v.pdpfcfglgco;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibpiaefkdgp), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgkmoddpamj = v.hgkmoddpamj;
    pdpfcfglgco = v.pdpfcfglgco;
  } : ibpiaefkdgp)

let rec decode_pb_hndgmaplmgk d =
  let v = default_hndgmaplmgk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pdpfcfglgco <- List.rev v.pdpfcfglgco;
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hndgmaplmgk), field(3)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.pdpfcfglgco <- (decode_pb_jlibphmclik (Pbrt.Decoder.nested d)) :: v.pdpfcfglgco;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hndgmaplmgk), field(12)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.hgkmoddpamj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hndgmaplmgk), field(10)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hndgmaplmgk), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    reward = v.reward;
    pdpfcfglgco = v.pdpfcfglgco;
    hgkmoddpamj = v.hgkmoddpamj;
    retcode = v.retcode;
  } : hndgmaplmgk)

let rec decode_pb_mnnpgmjjgml d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_misc_module_type_none:mnnpgmjjgml)
  | 4123 -> (Cmd_difficulty_adjustment_update_data_sc_rsp:mnnpgmjjgml)
  | 4182 -> (Cmd_submit_origami_item_cs_req:mnnpgmjjgml)
  | 4184 -> (Cmd_difficulty_adjustment_update_data_cs_req:mnnpgmjjgml)
  | 4154 -> (Cmd_security_report_sc_rsp:mnnpgmjjgml)
  | 4188 -> (Cmd_get_gun_play_data_sc_rsp:mnnpgmjjgml)
  | 4132 -> (Cmd_difficulty_adjustment_get_data_cs_req:mnnpgmjjgml)
  | 4117 -> (Cmd_get_movie_racing_data_cs_req:mnnpgmjjgml)
  | 4143 -> (Cmd_get_share_data_sc_rsp:mnnpgmjjgml)
  | 4116 -> (Cmd_difficulty_adjustment_get_data_sc_rsp:mnnpgmjjgml)
  | 4199 -> (Cmd_security_report_cs_req:mnnpgmjjgml)
  | 4151 -> (Cmd_cancel_cache_notify_cs_req:mnnpgmjjgml)
  | 4168 -> (Cmd_share_cs_req:mnnpgmjjgml)
  | 4111 -> (Cmd_get_share_data_cs_req:mnnpgmjjgml)
  | 4193 -> (Cmd_take_picture_sc_rsp:mnnpgmjjgml)
  | 4133 -> (Cmd_cancel_cache_notify_sc_rsp:mnnpgmjjgml)
  | 4181 -> (Cmd_update_gun_play_data_sc_rsp:mnnpgmjjgml)
  | 4109 -> (Cmd_get_gun_play_data_cs_req:mnnpgmjjgml)
  | 4156 -> (Cmd_take_picture_cs_req:mnnpgmjjgml)
  | 4192 -> (Cmd_get_movie_racing_data_sc_rsp:mnnpgmjjgml)
  | 4128 -> (Cmd_update_movie_racing_data_sc_rsp:mnnpgmjjgml)
  | 4106 -> (Cmd_share_sc_rsp:mnnpgmjjgml)
  | 4148 -> (Cmd_trigger_voice_sc_rsp:mnnpgmjjgml)
  | 4108 -> (Cmd_update_gun_play_data_cs_req:mnnpgmjjgml)
  | 4190 -> (Cmd_update_movie_racing_data_cs_req:mnnpgmjjgml)
  | 4134 -> (Cmd_submit_origami_item_sc_rsp:mnnpgmjjgml)
  | 4165 -> (Cmd_trigger_voice_cs_req:mnnpgmjjgml)
  | _ -> Pbrt.Decoder.malformed_variant "mnnpgmjjgml"

let rec decode_pb_mcfficiioho d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cache_notify_type_none:mcfficiioho)
  | 1 -> (Cache_notify_type_recycle:mcfficiioho)
  | 2 -> (Cache_notify_type_recharge:mcfficiioho)
  | _ -> Pbrt.Decoder.malformed_variant "mcfficiioho"

let rec decode_pb_gnankafabkp d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Movie_racing_over_take:gnankafabkp)
  | 1 -> (Movie_racing_over_take_endless:gnankafabkp)
  | 2 -> (Movie_racing_shooting:gnankafabkp)
  | 3 -> (Movie_racing_shooting_endless:gnankafabkp)
  | _ -> Pbrt.Decoder.malformed_variant "gnankafabkp"

let rec decode_pb_gdkighgodkj d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Difficulty_ajustment_type_default:gdkighgodkj)
  | 1 -> (Difficulty_ajustment_type_easy:gdkighgodkj)
  | _ -> Pbrt.Decoder.malformed_variant "gdkighgodkj"

let rec decode_pb_pchdmnlenjo d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Difficulty_ajustment_source_none:pchdmnlenjo)
  | 1 -> (Difficulty_ajustment_source_raid:pchdmnlenjo)
  | 2 -> (Difficulty_ajustment_source_event:pchdmnlenjo)
  | _ -> Pbrt.Decoder.malformed_variant "pchdmnlenjo"

let rec decode_pb_cimoknigome d =
  let v = default_cimoknigome_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.kbelpfdopde <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cimoknigome), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kbelpfdopde = v.kbelpfdopde;
  } : cimoknigome)

let rec decode_pb_fjmmkcjfnfi d =
  let v = default_fjmmkcjfnfi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.kbelpfdopde <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fjmmkcjfnfi), field(7)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.jllfcnnhobk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fjmmkcjfnfi), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kbelpfdopde = v.kbelpfdopde;
    jllfcnnhobk = v.jllfcnnhobk;
  } : fjmmkcjfnfi)

let rec decode_pb_ddbejjkchmi d =
  let v = default_ddbejjkchmi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddbejjkchmi), field(14)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.dcacgeojnnn <- Some (decode_pb_fjmmkcjfnfi (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddbejjkchmi), field(1)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddbejjkchmi), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    reward = v.reward;
    dcacgeojnnn = v.dcacgeojnnn;
    retcode = v.retcode;
  } : ddbejjkchmi)

let rec decode_pb_eifoakckafl d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(eifoakckafl)" pk

let rec decode_pb_jnmjhnkonli d =
  let v = default_jnmjhnkonli_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.lkanmknegeh <- List.rev v.lkanmknegeh;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.lkanmknegeh <- (decode_pb_fjmmkcjfnfi (Pbrt.Decoder.nested d)) :: v.lkanmknegeh;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnmjhnkonli), field(7)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnmjhnkonli), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lkanmknegeh = v.lkanmknegeh;
    retcode = v.retcode;
  } : jnmjhnkonli)

let rec decode_pb_mnbegceholg d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(mnbegceholg)" pk

let rec decode_pb_gcjmjchkhcj d =
  let v = default_gcjmjchkhcj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gcjmjchkhcj), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : gcjmjchkhcj)

let rec decode_pb_oglabaalopb d =
  let v = default_oglabaalopb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hjgdifcandc <- List.rev v.hjgdifcandc;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.hjgdifcandc <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oglabaalopb), field(9)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.empkpmmfmof <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oglabaalopb), field(15)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.fgmdoekgpee <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oglabaalopb), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hjgdifcandc = v.hjgdifcandc;
    empkpmmfmof = v.empkpmmfmof;
    fgmdoekgpee = v.fgmdoekgpee;
  } : oglabaalopb)

let rec decode_pb_hbmmebdbdaa d =
  let v = default_hbmmebdbdaa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.afknhaijkmd <- List.rev v.afknhaijkmd;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.afknhaijkmd <- (decode_pb_oglabaalopb (Pbrt.Decoder.nested d)) :: v.afknhaijkmd;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hbmmebdbdaa), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    afknhaijkmd = v.afknhaijkmd;
  } : hbmmebdbdaa)

let rec decode_pb_dicmfnmipif d =
  let v = default_dicmfnmipif_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dicmfnmipif), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : dicmfnmipif)

let rec decode_pb_hgeajlclkpg d =
  let v = default_hgeajlclkpg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hccjhiilppi <- List.rev v.hccjhiilppi;
      v.pldifcohmkm <- List.rev v.pldifcohmkm;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.pldifcohmkm <- (Pbrt.Decoder.string d) :: v.pldifcohmkm;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgeajlclkpg), field(12)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.fgmdoekgpee <- decode_pb_mcfficiioho d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgeajlclkpg), field(4)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.hccjhiilppi <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgeajlclkpg), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pldifcohmkm = v.pldifcohmkm;
    fgmdoekgpee = v.fgmdoekgpee;
    hccjhiilppi = v.hccjhiilppi;
  } : hgeajlclkpg)

let rec decode_pb_onblgihcbeh d =
  let v = default_onblgihcbeh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(onblgihcbeh), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : onblgihcbeh)

let rec decode_pb_lfbcmjdgkii d =
  let v = default_lfbcmjdgkii_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.ipnkbphbnco <- Pbrt.Decoder.string d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lfbcmjdgkii), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ipnkbphbnco = v.ipnkbphbnco;
  } : lfbcmjdgkii)

let rec decode_pb_hkbpkcfanoa d =
  let v = default_hkbpkcfanoa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hkbpkcfanoa), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : hkbpkcfanoa)

let rec decode_pb_lpmaoheeohn d =
  let v = default_lpmaoheeohn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lpmaoheeohn), field(6)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.cifpalnlidj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lpmaoheeohn), field(11)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.fgmdoekgpee <- decode_pb_gnankafabkp d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lpmaoheeohn), field(13)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.fikedopgmdl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lpmaoheeohn), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    level = v.level;
    cifpalnlidj = v.cifpalnlidj;
    fgmdoekgpee = v.fgmdoekgpee;
    fikedopgmdl = v.fikedopgmdl;
  } : lpmaoheeohn)

let rec decode_pb_mbkinmiiklg d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(mbkinmiiklg)" pk

let rec decode_pb_pfenlcjgjhb d =
  let v = default_pfenlcjgjhb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pnlfdfhaejh <- List.rev v.pnlfdfhaejh;
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pfenlcjgjhb), field(8)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.pnlfdfhaejh <- (decode_pb_lpmaoheeohn (Pbrt.Decoder.nested d)) :: v.pnlfdfhaejh;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pfenlcjgjhb), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    pnlfdfhaejh = v.pnlfdfhaejh;
  } : pfenlcjgjhb)

let rec decode_pb_ogjjlnpokco d =
  let v = default_ogjjlnpokco_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.ejoalpnccgc <- Some (decode_pb_lpmaoheeohn (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ogjjlnpokco), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ejoalpnccgc = v.ejoalpnccgc;
  } : ogjjlnpokco)

let rec decode_pb_jibjbnbadcp d =
  let v = default_jibjbnbadcp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.ejoalpnccgc <- Some (decode_pb_lpmaoheeohn (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jibjbnbadcp), field(1)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jibjbnbadcp), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ejoalpnccgc = v.ejoalpnccgc;
    retcode = v.retcode;
  } : jibjbnbadcp)

let rec decode_pb_fdiljlmlmhp d =
  let v = default_fdiljlmlmhp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.fljmjmfonan <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fdiljlmlmhp), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fljmjmfonan = v.fljmjmfonan;
  } : fdiljlmlmhp)

let rec decode_pb_pffiiiednci d =
  let v = default_pffiiiednci_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.fljmjmfonan <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pffiiiednci), field(1)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pffiiiednci), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fljmjmfonan = v.fljmjmfonan;
    retcode = v.retcode;
  } : pffiiiednci)

let rec decode_pb_dpnmfccfjbe d =
  let v = default_dpnmfccfjbe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.jkaodlmplme <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dpnmfccfjbe), field(2)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.fikedopgmdl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dpnmfccfjbe), field(5)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.jpinjmnfgec <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dpnmfccfjbe), field(1)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dpnmfccfjbe), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jkaodlmplme = v.jkaodlmplme;
    fikedopgmdl = v.fikedopgmdl;
    jpinjmnfgec = v.jpinjmnfgec;
    level = v.level;
  } : dpnmfccfjbe)

let rec decode_pb_pckhbnhnkab d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(pckhbnhnkab)" pk

let rec decode_pb_impcibghklj d =
  let v = default_impcibghklj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hbomckbjaif <- List.rev v.hbomckbjaif;
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(impcibghklj), field(5)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.hbomckbjaif <- (decode_pb_dpnmfccfjbe (Pbrt.Decoder.nested d)) :: v.hbomckbjaif;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(impcibghklj), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    hbomckbjaif = v.hbomckbjaif;
  } : impcibghklj)

let rec decode_pb_alhadjbdlmh d =
  let v = default_alhadjbdlmh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(alhadjbdlmh), field(15)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.kgmjhehlioi <- Some (decode_pb_dpnmfccfjbe (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(alhadjbdlmh), field(13)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.ecgebkmcfcn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(alhadjbdlmh), field(10)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.mbmegghhkjl <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(alhadjbdlmh), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    group_id = v.group_id;
    kgmjhehlioi = v.kgmjhehlioi;
    ecgebkmcfcn = v.ecgebkmcfcn;
    mbmegghhkjl = v.mbmegghhkjl;
  } : alhadjbdlmh)

let rec decode_pb_hgnbbdiojbh d =
  let v = default_hgnbbdiojbh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.kgmjhehlioi <- Some (decode_pb_dpnmfccfjbe (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgnbbdiojbh), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgnbbdiojbh), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kgmjhehlioi = v.kgmjhehlioi;
    retcode = v.retcode;
  } : hgnbbdiojbh)

let rec decode_pb_ffimgfmpcdg d =
  let v = default_ffimgfmpcdg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.lnmamccmdpa <- decode_pb_gdkighgodkj d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ffimgfmpcdg), field(11)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ffimgfmpcdg), field(10)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.cbjpfggchfh <- decode_pb_pchdmnlenjo d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ffimgfmpcdg), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lnmamccmdpa = v.lnmamccmdpa;
    id = v.id;
    cbjpfggchfh = v.cbjpfggchfh;
  } : ffimgfmpcdg)

let rec decode_pb_ldfaedmjpnj d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(ldfaedmjpnj)" pk

let rec decode_pb_mgopkflejhe d =
  let v = default_mgopkflejhe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.haeppfknbnm <- List.rev v.haeppfknbnm;
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mgopkflejhe), field(12)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.haeppfknbnm <- (decode_pb_ffimgfmpcdg (Pbrt.Decoder.nested d)) :: v.haeppfknbnm;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mgopkflejhe), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    haeppfknbnm = v.haeppfknbnm;
  } : mgopkflejhe)

let rec decode_pb_gnicmkcbepl d =
  let v = default_gnicmkcbepl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.data <- Some (decode_pb_ffimgfmpcdg (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gnicmkcbepl), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    data = v.data;
  } : gnicmkcbepl)

let rec decode_pb_bmbfidhchpd d =
  let v = default_bmbfidhchpd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.haeppfknbnm <- List.rev v.haeppfknbnm;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.data <- Some (decode_pb_ffimgfmpcdg (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bmbfidhchpd), field(1)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bmbfidhchpd), field(7)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.haeppfknbnm <- (decode_pb_ffimgfmpcdg (Pbrt.Decoder.nested d)) :: v.haeppfknbnm;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bmbfidhchpd), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    data = v.data;
    retcode = v.retcode;
    haeppfknbnm = v.haeppfknbnm;
  } : bmbfidhchpd)

let rec decode_pb_llohcehmngd d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_mission_type_none:llohcehmngd)
  | 1229 -> (Cmd_daily_task_data_sc_notify:llohcehmngd)
  | 1225 -> (Cmd_accept_mission_event_sc_rsp:llohcehmngd)
  | 1293 -> (Cmd_sync_task_cs_req:llohcehmngd)
  | 1249 -> (Cmd_mission_accept_sc_notify:llohcehmngd)
  | 1209 -> (Cmd_set_mission_event_progress_sc_rsp:llohcehmngd)
  | 1228 -> (Cmd_set_mission_event_progress_cs_req:llohcehmngd)
  | 1232 -> (Cmd_start_finish_sub_mission_sc_notify:llohcehmngd)
  | 1254 -> (Cmd_mission_group_warn_sc_notify:llohcehmngd)
  | 1217 -> (Cmd_get_mission_status_sc_rsp:llohcehmngd)
  | 1268 -> (Cmd_get_mission_data_cs_req:llohcehmngd)
  | 1265 -> (Cmd_finish_cosume_item_mission_cs_req:llohcehmngd)
  | 1223 -> (Cmd_accept_main_mission_sc_rsp:llohcehmngd)
  | 1224 -> (Cmd_get_mission_status_cs_req:llohcehmngd)
  | 1234 -> (Cmd_get_mission_event_data_sc_rsp:llohcehmngd)
  | 1243 -> (Cmd_finish_talk_mission_sc_rsp:llohcehmngd)
  | 1239 -> (Cmd_sync_task_sc_rsp:llohcehmngd)
  | 1248 -> (Cmd_finish_cosume_item_mission_sc_rsp:llohcehmngd)
  | 1284 -> (Cmd_accept_main_mission_cs_req:llohcehmngd)
  | 1276 -> (Cmd_get_main_mission_custom_value_sc_rsp:llohcehmngd)
  | 1216 -> (Cmd_start_finish_main_mission_sc_notify:llohcehmngd)
  | 1288 -> (Cmd_sub_mission_reward_sc_notify:llohcehmngd)
  | 1292 -> (Cmd_interrupt_mission_event_cs_req:llohcehmngd)
  | 1206 -> (Cmd_get_mission_data_sc_rsp:llohcehmngd)
  | 1211 -> (Cmd_finish_talk_mission_cs_req:llohcehmngd)
  | 1282 -> (Cmd_get_mission_event_data_cs_req:llohcehmngd)
  | 1281 -> (Cmd_teleport_to_mission_reset_point_sc_rsp:llohcehmngd)
  | 1278 -> (Cmd_get_main_mission_custom_value_cs_req:llohcehmngd)
  | 1297 -> (Cmd_mission_event_reward_sc_notify:llohcehmngd)
  | 1256 -> (Cmd_mission_reward_sc_notify:llohcehmngd)
  | 1246 -> (Cmd_update_track_main_mission_id_sc_rsp:llohcehmngd)
  | 1298 -> (Cmd_accept_mission_event_cs_req:llohcehmngd)
  | 1266 -> (Cmd_update_track_main_mission_id_cs_req:llohcehmngd)
  | 1208 -> (Cmd_teleport_to_mission_reset_point_cs_req:llohcehmngd)
  | 1290 -> (Cmd_interrupt_mission_event_sc_rsp:llohcehmngd)
  | _ -> Pbrt.Decoder.malformed_variant "llohcehmngd"

let rec decode_pb_kefklcglpbb d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Mission_sync_record_none:kefklcglpbb)
  | 1 -> (Mission_sync_record_main_mission_accept:kefklcglpbb)
  | 2 -> (Mission_sync_record_main_mission_start:kefklcglpbb)
  | 3 -> (Mission_sync_record_main_mission_finish:kefklcglpbb)
  | 4 -> (Mission_sync_record_main_mission_delete:kefklcglpbb)
  | 11 -> (Mission_sync_record_mission_accept:kefklcglpbb)
  | 12 -> (Mission_sync_record_mission_start:kefklcglpbb)
  | 13 -> (Mission_sync_record_mission_finish:kefklcglpbb)
  | 14 -> (Mission_sync_record_mission_delete:kefklcglpbb)
  | 15 -> (Mission_sync_record_mission_progress:kefklcglpbb)
  | _ -> Pbrt.Decoder.malformed_variant "kefklcglpbb"

let rec decode_pb_kgmjpadefpp d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Main_mission_sync_none:kgmjpadefpp)
  | 1 -> (Main_mission_sync_mcv:kgmjpadefpp)
  | _ -> Pbrt.Decoder.malformed_variant "kgmjpadefpp"

let rec decode_pb_hkmebfmeeko d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Track_main_mission_update_none:hkmebfmeeko)
  | 1 -> (Track_main_mission_update_auto:hkmebfmeeko)
  | 2 -> (Track_main_mission_update_manual:hkmebfmeeko)
  | 3 -> (Track_main_mission_update_login_report:hkmebfmeeko)
  | _ -> Pbrt.Decoder.malformed_variant "hkmebfmeeko"

let rec decode_pb_gnefnfaflgi d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(gnefnfaflgi)" pk

let rec decode_pb_ihgeeangifc d =
  let v = default_ihgeeangifc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.fgmdoekgpee <- decode_pb_kefklcglpbb d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ihgeeangifc), field(15)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.iihookopmmk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ihgeeangifc), field(9)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ihgeeangifc), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fgmdoekgpee = v.fgmdoekgpee;
    iihookopmmk = v.iihookopmmk;
    id = v.id;
  } : ihgeeangifc)

let rec decode_pb_pbnceknojon d =
  let v = default_pbnceknojon_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.klmfdjlahkg <- List.rev v.klmfdjlahkg;
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pbnceknojon), field(5)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.klmfdjlahkg <- (decode_pb_jbianonhjfo (Pbrt.Decoder.nested d)) :: v.klmfdjlahkg;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pbnceknojon), field(9)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.status <- decode_pb_mission_status d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pbnceknojon), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
    klmfdjlahkg = v.klmfdjlahkg;
    status = v.status;
  } : pbnceknojon)

let rec decode_pb_dlompnobmja d =
  let v = default_dlompnobmja_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dlompnobmja), field(15)" pk
    | Some (649, Pbrt.Bytes) -> begin
      v.klmfdjlahkg <- Some (decode_pb_hhmofllojag (Pbrt.Decoder.nested d));
    end
    | Some (649, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dlompnobmja), field(649)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
    klmfdjlahkg = v.klmfdjlahkg;
  } : dlompnobmja)

let rec decode_pb_eeapjcmdjml d =
  let v = default_eeapjcmdjml_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hjnfpofkanm <- List.rev v.hjnfpofkanm;
      v.efmknejbpdn <- List.rev v.efmknejbpdn;
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eeapjcmdjml), field(10)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.efmknejbpdn <- (decode_pb_pbnceknojon (Pbrt.Decoder.nested d)) :: v.efmknejbpdn;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eeapjcmdjml), field(12)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.nbgdkmbadki <- Pbrt.Decoder.bool d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eeapjcmdjml), field(15)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.kcpgeandlei <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eeapjcmdjml), field(13)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.hjnfpofkanm <- (decode_pb_mission (Pbrt.Decoder.nested d)) :: v.hjnfpofkanm;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eeapjcmdjml), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    efmknejbpdn = v.efmknejbpdn;
    nbgdkmbadki = v.nbgdkmbadki;
    kcpgeandlei = v.kcpgeandlei;
    hjnfpofkanm = v.hjnfpofkanm;
  } : eeapjcmdjml)

let rec decode_pb_eaonfecplik d =
  let v = default_eaonfecplik_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.idlneeekpjl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eaonfecplik), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    idlneeekpjl = v.idlneeekpjl;
  } : eaonfecplik)

let rec decode_pb_aicicamofge d =
  let v = default_aicicamofge_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aicicamofge), field(4)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.idlneeekpjl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aicicamofge), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    idlneeekpjl = v.idlneeekpjl;
  } : aicicamofge)

let rec decode_pb_ahconmhbloa d =
  let v = default_ahconmhbloa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.klmfdjlahkg <- List.rev v.klmfdjlahkg;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.klmfdjlahkg <- (decode_pb_jbianonhjfo (Pbrt.Decoder.nested d)) :: v.klmfdjlahkg;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ahconmhbloa), field(10)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.clkbeandjfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ahconmhbloa), field(14)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.gkanpgfhgpc <- Pbrt.Decoder.string d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ahconmhbloa), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    klmfdjlahkg = v.klmfdjlahkg;
    clkbeandjfm = v.clkbeandjfm;
    gkanpgfhgpc = v.gkanpgfhgpc;
  } : ahconmhbloa)

let rec decode_pb_kodjldnfgop d =
  let v = default_kodjldnfgop_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.klmfdjlahkg <- List.rev v.klmfdjlahkg;
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.clkbeandjfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kodjldnfgop), field(10)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kodjldnfgop), field(8)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.gkanpgfhgpc <- Pbrt.Decoder.string d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kodjldnfgop), field(11)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.klmfdjlahkg <- (decode_pb_jbianonhjfo (Pbrt.Decoder.nested d)) :: v.klmfdjlahkg;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kodjldnfgop), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    clkbeandjfm = v.clkbeandjfm;
    retcode = v.retcode;
    gkanpgfhgpc = v.gkanpgfhgpc;
    klmfdjlahkg = v.klmfdjlahkg;
  } : kodjldnfgop)

let rec decode_pb_onepplibcki d =
  let v = default_onepplibcki_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(onepplibcki), field(8)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.idlneeekpjl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(onepplibcki), field(12)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.clkbeandjfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(onepplibcki), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    reward = v.reward;
    idlneeekpjl = v.idlneeekpjl;
    clkbeandjfm = v.clkbeandjfm;
  } : onepplibcki)

let rec decode_pb_kocancofkjn d =
  let v = default_kocancofkjn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.clkbeandjfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kocancofkjn), field(9)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kocancofkjn), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    clkbeandjfm = v.clkbeandjfm;
    reward = v.reward;
  } : kocancofkjn)

let rec decode_pb_ekamlkohmlm d =
  let v = default_ekamlkohmlm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.pfmlckgckob <- Pbrt.Decoder.string d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ekamlkohmlm), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pfmlckgckob = v.pfmlckgckob;
  } : ekamlkohmlm)

let rec decode_pb_afifpimnnfo d =
  let v = default_afifpimnnfo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afifpimnnfo), field(1)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.pfmlckgckob <- Pbrt.Decoder.string d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afifpimnnfo), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    pfmlckgckob = v.pfmlckgckob;
  } : afifpimnnfo)

let rec decode_pb_dbddhlanhnh d =
  let v = default_dbddhlanhnh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.idlneeekpjl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dbddhlanhnh), field(3)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.nhbjkfibgbk <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dbddhlanhnh), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    idlneeekpjl = v.idlneeekpjl;
    nhbjkfibgbk = v.nhbjkfibgbk;
  } : dbddhlanhnh)

let rec decode_pb_egnbldpighd d =
  let v = default_egnbldpighd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.emfdkaekpcm <- List.rev v.emfdkaekpcm;
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.emfdkaekpcm <- (decode_pb_dbddhlanhnh (Pbrt.Decoder.nested d)) :: v.emfdkaekpcm;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egnbldpighd), field(6)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.paefafilbjg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egnbldpighd), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    emfdkaekpcm = v.emfdkaekpcm;
    paefafilbjg = v.paefafilbjg;
  } : egnbldpighd)

let rec decode_pb_lpmbfoclibj d =
  let v = default_lpmbfoclibj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.fddhalpeaon <- List.rev v.fddhalpeaon;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.fddhalpeaon <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lpmbfoclibj), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fddhalpeaon = v.fddhalpeaon;
  } : lpmbfoclibj)

let rec decode_pb_mdnpngbibbi d =
  let v = default_mdnpngbibbi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.pdpfcfglgco <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mdnpngbibbi), field(6)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.clkbeandjfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mdnpngbibbi), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pdpfcfglgco = v.pdpfcfglgco;
    clkbeandjfm = v.clkbeandjfm;
  } : mdnpngbibbi)

let rec decode_pb_pjefcmjonic d =
  let v = default_pjefcmjonic_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.clkbeandjfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pjefcmjonic), field(6)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pjefcmjonic), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    clkbeandjfm = v.clkbeandjfm;
    retcode = v.retcode;
  } : pjefcmjonic)

let rec decode_pb_hipfnccdlia d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(hipfnccdlia)" pk

let rec decode_pb_gmbggkdligk d =
  let v = default_gmbggkdligk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mkbbddpdmoi <- List.rev v.mkbbddpdmoi;
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.nhfpcalobcc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gmbggkdligk), field(12)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gmbggkdligk), field(3)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.mkbbddpdmoi <- (decode_pb_mission (Pbrt.Decoder.nested d)) :: v.mkbbddpdmoi;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gmbggkdligk), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nhfpcalobcc = v.nhfpcalobcc;
    retcode = v.retcode;
    mkbbddpdmoi = v.mkbbddpdmoi;
  } : gmbggkdligk)

let rec decode_pb_mimakllblna d =
  let v = default_mimakllblna_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.fajohchbaen <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mimakllblna), field(5)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mimakllblna), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fajohchbaen = v.fajohchbaen;
    reward = v.reward;
  } : mimakllblna)

let rec decode_pb_kecfpmdiopb d =
  let v = default_kecfpmdiopb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.fajohchbaen <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kecfpmdiopb), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fajohchbaen = v.fajohchbaen;
  } : kecfpmdiopb)

let rec decode_pb_hpgplgcbcbe d =
  let v = default_hpgplgcbcbe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.fpgjpmgijom <- Some (decode_pb_mission (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hpgplgcbcbe), field(7)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hpgplgcbcbe), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fpgjpmgijom = v.fpgjpmgijom;
    retcode = v.retcode;
  } : hpgplgcbcbe)

let rec decode_pb_get_mission_status_cs_req d =
  let v = default_get_mission_status_cs_req_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.sub_mission_id_list <- List.rev v.sub_mission_id_list;
      v.main_mission_id_list <- List.rev v.main_mission_id_list;
      v.mission_event_id_list <- List.rev v.mission_event_id_list;
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.mission_event_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_mission_status_cs_req), field(8)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.main_mission_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_mission_status_cs_req), field(11)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.sub_mission_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_mission_status_cs_req), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mission_event_id_list = v.mission_event_id_list;
    main_mission_id_list = v.main_mission_id_list;
    sub_mission_id_list = v.sub_mission_id_list;
  } : get_mission_status_cs_req)

let rec decode_pb_get_mission_status_sc_rsp d =
  let v = default_get_mission_status_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.disabled_main_mission_id_list <- List.rev v.disabled_main_mission_id_list;
      v.main_mission_mcv_list <- List.rev v.main_mission_mcv_list;
      v.unfinished_main_mission_id_list <- List.rev v.unfinished_main_mission_id_list;
      v.sub_mission_status_list <- List.rev v.sub_mission_status_list;
      v.finished_main_mission_id_list <- List.rev v.finished_main_mission_id_list;
      v.mission_event_status_list <- List.rev v.mission_event_status_list;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.mission_event_status_list <- (decode_pb_mission (Pbrt.Decoder.nested d)) :: v.mission_event_status_list;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_mission_status_sc_rsp), field(9)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.finished_main_mission_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_mission_status_sc_rsp), field(6)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.sub_mission_status_list <- (decode_pb_mission (Pbrt.Decoder.nested d)) :: v.sub_mission_status_list;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_mission_status_sc_rsp), field(8)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.unfinished_main_mission_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_mission_status_sc_rsp), field(1)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.main_mission_mcv_list <- (decode_pb_klciikcjohp (Pbrt.Decoder.nested d)) :: v.main_mission_mcv_list;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_mission_status_sc_rsp), field(15)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_mission_status_sc_rsp), field(10)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.disabled_main_mission_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_mission_status_sc_rsp), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mission_event_status_list = v.mission_event_status_list;
    finished_main_mission_id_list = v.finished_main_mission_id_list;
    sub_mission_status_list = v.sub_mission_status_list;
    unfinished_main_mission_id_list = v.unfinished_main_mission_id_list;
    main_mission_mcv_list = v.main_mission_mcv_list;
    retcode = v.retcode;
    disabled_main_mission_id_list = v.disabled_main_mission_id_list;
  } : get_mission_status_sc_rsp)

let rec decode_pb_nhkdfjaklfc d =
  let v = default_nhkdfjaklfc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.fajohchbaen <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhkdfjaklfc), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fajohchbaen = v.fajohchbaen;
  } : nhkdfjaklfc)

let rec decode_pb_ccolbngjjka d =
  let v = default_ccolbngjjka_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.fajohchbaen <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ccolbngjjka), field(2)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ccolbngjjka), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fajohchbaen = v.fajohchbaen;
    retcode = v.retcode;
  } : ccolbngjjka)

let rec decode_pb_bmolkdbaold d =
  let v = default_bmolkdbaold_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.fajohchbaen <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bmolkdbaold), field(6)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.progress <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bmolkdbaold), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fajohchbaen = v.fajohchbaen;
    progress = v.progress;
  } : bmolkdbaold)

let rec decode_pb_pahbclhfcoi d =
  let v = default_pahbclhfcoi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pahbclhfcoi), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : pahbclhfcoi)

let rec decode_pb_jknakoeidkk d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(jknakoeidkk)" pk

let rec decode_pb_hkcpodmepff d =
  let v = default_hkcpodmepff_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.micgnniimak <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hkcpodmepff), field(2)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hkcpodmepff), field(11)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.jililehmdkg <- Some (decode_pb_motion_info (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hkcpodmepff), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    micgnniimak = v.micgnniimak;
    retcode = v.retcode;
    jililehmdkg = v.jililehmdkg;
  } : hkcpodmepff)

let rec decode_pb_gohnnldpomc d =
  let v = default_gohnnldpomc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.clkbeandjfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gohnnldpomc), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    clkbeandjfm = v.clkbeandjfm;
  } : gohnnldpomc)

let rec decode_pb_kgdjnmoibdn d =
  let v = default_kgdjnmoibdn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.idlneeekpjl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgdjnmoibdn), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    idlneeekpjl = v.idlneeekpjl;
  } : kgdjnmoibdn)

let rec decode_pb_lliikjdjobb d =
  let v = default_lliikjdjobb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mission_event_id_list <- List.rev v.mission_event_id_list;
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.mission_event_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lliikjdjobb), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mission_event_id_list = v.mission_event_id_list;
  } : lliikjdjobb)

let rec decode_pb_cabdaemkaha d =
  let v = default_cabdaemkaha_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.efmknejbpdn <- List.rev v.efmknejbpdn;
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.efmknejbpdn <- (decode_pb_pbnceknojon (Pbrt.Decoder.nested d)) :: v.efmknejbpdn;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cabdaemkaha), field(15)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cabdaemkaha), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    efmknejbpdn = v.efmknejbpdn;
    retcode = v.retcode;
  } : cabdaemkaha)

let rec decode_pb_nabdijonbia d =
  let v = default_nabdijonbia_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.sub_mission_id_list <- List.rev v.sub_mission_id_list;
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.sub_mission_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nabdijonbia), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    sub_mission_id_list = v.sub_mission_id_list;
  } : nabdijonbia)

let rec decode_pb_epchbjbjcck d =
  let v = default_epchbjbjcck_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.kcpgeandlei <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(epchbjbjcck), field(7)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.ngeicmomnee <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(epchbjbjcck), field(12)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.gajbbcihmlg <- decode_pb_hkmebfmeeko d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(epchbjbjcck), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kcpgeandlei = v.kcpgeandlei;
    ngeicmomnee = v.ngeicmomnee;
    gajbbcihmlg = v.gajbbcihmlg;
  } : epchbjbjcck)

let rec decode_pb_khconlgbnkp d =
  let v = default_khconlgbnkp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(khconlgbnkp), field(9)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.ilgfnknhjea <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(khconlgbnkp), field(10)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.kcpgeandlei <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(khconlgbnkp), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ilgfnknhjea = v.ilgfnknhjea;
    kcpgeandlei = v.kcpgeandlei;
  } : khconlgbnkp)

let rec decode_pb_phjadhpnljo d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_monopoly_type_none:phjadhpnljo)
  | 7050 -> (Cmd_monopoly_scrach_raffle_ticket_sc_rsp:phjadhpnljo)
  | 7051 -> (Cmd_monopoly_move_sc_rsp:phjadhpnljo)
  | 7058 -> (Cmd_get_monopoly_friend_ranking_list_cs_req:phjadhpnljo)
  | 7098 -> (Cmd_monopoly_re_roll_random_sc_rsp:phjadhpnljo)
  | 7078 -> (Cmd_monopoly_game_gacha_cs_req:phjadhpnljo)
  | 7047 -> (Cmd_get_monopoly_friend_ranking_list_sc_rsp:phjadhpnljo)
  | 7067 -> (Cmd_monopoly_guess_draw_sc_notify:phjadhpnljo)
  | 7005 -> (Cmd_monopoly_get_region_progress_sc_rsp:phjadhpnljo)
  | 7068 -> (Cmd_get_monopoly_info_cs_req:phjadhpnljo)
  | 7017 -> (Cmd_monopoly_buy_goods_cs_req:phjadhpnljo)
  | 7061 -> (Cmd_monopoly_take_phase_reward_cs_req:phjadhpnljo)
  | 7016 -> (Cmd_monopoly_game_raise_ratio_cs_req:phjadhpnljo)
  | 7033 -> (Cmd_monopoly_select_option_cs_req:phjadhpnljo)
  | 7042 -> (Cmd_monopoly_get_raffle_ticket_cs_req:phjadhpnljo)
  | 7043 -> (Cmd_monopoly_cell_update_notify:phjadhpnljo)
  | 7062 -> (Cmd_get_monopoly_mbti_report_reward_cs_req:phjadhpnljo)
  | 7048 -> (Cmd_daily_first_enter_monopoly_activity_sc_rsp:phjadhpnljo)
  | 7073 -> (Cmd_delete_social_event_server_cache_sc_rsp:phjadhpnljo)
  | 7089 -> (Cmd_monopoly_guess_buy_information_cs_req:phjadhpnljo)
  | 7009 -> (Cmd_monopoly_give_up_cur_content_cs_req:phjadhpnljo)
  | 7011 -> (Cmd_monopoly_action_result_sc_notify:phjadhpnljo)
  | 7029 -> (Cmd_monopoly_move_cs_req:phjadhpnljo)
  | 7090 -> (Cmd_monopoly_upgrade_asset_cs_req:phjadhpnljo)
  | 7059 -> (Cmd_monopoly_like_cs_req:phjadhpnljo)
  | 7038 -> (Cmd_monopoly_click_mbti_report_cs_req:phjadhpnljo)
  | 7084 -> (Cmd_monopoly_game_raise_ratio_sc_rsp:phjadhpnljo)
  | 7008 -> (Cmd_monopoly_cheat_dice_cs_req:phjadhpnljo)
  | 7001 -> (Cmd_get_monopoly_mbti_report_reward_sc_rsp:phjadhpnljo)
  | 7045 -> (Cmd_monopoly_game_bingo_flip_card_sc_rsp:phjadhpnljo)
  | 7082 -> (Cmd_monopoly_roll_random_cs_req:phjadhpnljo)
  | 7095 -> (Cmd_monopoly_guess_choose_sc_rsp:phjadhpnljo)
  | 7088 -> (Cmd_monopoly_give_up_cur_content_sc_rsp:phjadhpnljo)
  | 7093 -> (Cmd_monopoly_roll_dice_cs_req:phjadhpnljo)
  | 7006 -> (Cmd_get_monopoly_info_sc_rsp:phjadhpnljo)
  | 7025 -> (Cmd_monopoly_confirm_random_cs_req:phjadhpnljo)
  | 7053 -> (Cmd_monopoly_daily_settle_sc_notify:phjadhpnljo)
  | 7020 -> (Cmd_get_monopoly_daily_report_sc_rsp:phjadhpnljo)
  | 7022 -> (Cmd_get_social_event_server_cache_cs_req:phjadhpnljo)
  | 7023 -> (Cmd_monopoly_game_settle_sc_notify:phjadhpnljo)
  | 7052 -> (Cmd_monopoly_event_load_update_sc_notify:phjadhpnljo)
  | 7066 -> (Cmd_monopoly_accept_quiz_cs_req:phjadhpnljo)
  | 7032 -> (Cmd_monopoly_content_update_sc_notify:phjadhpnljo)
  | 7077 -> (Cmd_monopoly_get_daily_init_item_cs_req:phjadhpnljo)
  | 7083 -> (Cmd_monopoly_get_raffle_ticket_sc_rsp:phjadhpnljo)
  | 7097 -> (Cmd_monopoly_re_roll_random_cs_req:phjadhpnljo)
  | 7041 -> (Cmd_monopoly_like_sc_notify:phjadhpnljo)
  | 7076 -> (Cmd_monopoly_game_gacha_sc_rsp:phjadhpnljo)
  | 7021 -> (Cmd_get_social_event_server_cache_sc_rsp:phjadhpnljo)
  | 7072 -> (Cmd_monopoly_get_region_progress_cs_req:phjadhpnljo)
  | 7014 -> (Cmd_monopoly_social_event_effect_sc_notify:phjadhpnljo)
  | 7064 -> (Cmd_monopoly_get_raffle_pool_info_cs_req:phjadhpnljo)
  | 7034 -> (Cmd_monopoly_roll_random_sc_rsp:phjadhpnljo)
  | 7070 -> (Cmd_monopoly_get_raffle_pool_info_sc_rsp:phjadhpnljo)
  | 7007 -> (Cmd_monopoly_like_sc_rsp:phjadhpnljo)
  | 7027 -> (Cmd_monopoly_click_cell_sc_rsp:phjadhpnljo)
  | 7028 -> (Cmd_monopoly_upgrade_asset_sc_rsp:phjadhpnljo)
  | 7049 -> (Cmd_monopoly_game_bingo_flip_card_cs_req:phjadhpnljo)
  | 7080 -> (Cmd_monopoly_click_mbti_report_sc_rsp:phjadhpnljo)
  | 7055 -> (Cmd_monopoly_get_daily_init_item_sc_rsp:phjadhpnljo)
  | 7026 -> (Cmd_monopoly_event_select_friend_cs_req:phjadhpnljo)
  | 7036 -> (Cmd_monopoly_take_raffle_ticket_reward_sc_rsp:phjadhpnljo)
  | 7039 -> (Cmd_monopoly_roll_dice_sc_rsp:phjadhpnljo)
  | 7081 -> (Cmd_monopoly_cheat_dice_sc_rsp:phjadhpnljo)
  | 7003 -> (Cmd_get_mbti_report_sc_rsp:phjadhpnljo)
  | 7063 -> (Cmd_monopoly_condition_update_sc_notify:phjadhpnljo)
  | 7099 -> (Cmd_monopoly_select_option_sc_rsp:phjadhpnljo)
  | 7012 -> (Cmd_monopoly_game_create_sc_notify:phjadhpnljo)
  | 7069 -> (Cmd_monopoly_guess_buy_information_sc_rsp:phjadhpnljo)
  | 7015 -> (Cmd_monopoly_quiz_duration_change_sc_notify:phjadhpnljo)
  | 7079 -> (Cmd_monopoly_take_phase_reward_sc_rsp:phjadhpnljo)
  | 7031 -> (Cmd_get_mbti_report_cs_req:phjadhpnljo)
  | 7092 -> (Cmd_monopoly_buy_goods_sc_rsp:phjadhpnljo)
  | 7046 -> (Cmd_monopoly_accept_quiz_sc_rsp:phjadhpnljo)
  | 7091 -> (Cmd_get_monopoly_daily_report_cs_req:phjadhpnljo)
  | 7002 -> (Cmd_monopoly_stt_update_sc_notify:phjadhpnljo)
  | 7096 -> (Cmd_monopoly_take_raffle_ticket_reward_cs_req:phjadhpnljo)
  | 7030 -> (Cmd_monopoly_guess_choose_cs_req:phjadhpnljo)
  | 7013 -> (Cmd_monopoly_event_select_friend_sc_rsp:phjadhpnljo)
  | 7065 -> (Cmd_daily_first_enter_monopoly_activity_cs_req:phjadhpnljo)
  | 7024 -> (Cmd_monopoly_confirm_random_sc_rsp:phjadhpnljo)
  | 7071 -> (Cmd_delete_social_event_server_cache_cs_req:phjadhpnljo)
  | 7010 -> (Cmd_monopoly_scrach_raffle_ticket_cs_req:phjadhpnljo)
  | 7057 -> (Cmd_monopoly_click_cell_cs_req:phjadhpnljo)
  | _ -> Pbrt.Decoder.malformed_variant "phjadhpnljo"

let rec decode_pb_nbbdamgnjpn d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Monopoly_social_event_status_none:nbbdamgnjpn)
  | 1 -> (Monopoly_social_event_status_waiting_select_friend:nbbdamgnjpn)
  | _ -> Pbrt.Decoder.malformed_variant "nbbdamgnjpn"

let rec decode_pb_efjdphpapii d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Monopoly_cell_state_idle:efjdphpapii)
  | 1 -> (Monopoly_cell_state_barrier:efjdphpapii)
  | 2 -> (Monopoly_cell_state_ground:efjdphpapii)
  | 3 -> (Monopoly_cell_state_finish:efjdphpapii)
  | _ -> Pbrt.Decoder.malformed_variant "efjdphpapii"

let rec decode_pb_ciaoikeanea d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Monopoly_action_result_source_type_none:ciaoikeanea)
  | 1 -> (Monopoly_action_result_source_type_effect:ciaoikeanea)
  | 2 -> (Monopoly_action_result_source_type_asset_bonus:ciaoikeanea)
  | 3 -> (Monopoly_action_result_source_type_asset_tax:ciaoikeanea)
  | 4 -> (Monopoly_action_result_source_type_asset_upgrade:ciaoikeanea)
  | 5 -> (Monopoly_action_result_source_type_game_settle:ciaoikeanea)
  | 6 -> (Monopoly_action_result_source_type_buy_goods:ciaoikeanea)
  | 7 -> (Monopoly_action_result_source_type_click:ciaoikeanea)
  | 8 -> (Monopoly_action_result_source_type_social_event:ciaoikeanea)
  | 9 -> (Monopoly_action_result_source_type_like:ciaoikeanea)
  | 10 -> (Monopoly_action_result_source_type_quiz_game_settle:ciaoikeanea)
  | _ -> Pbrt.Decoder.malformed_variant "ciaoikeanea"

let rec decode_pb_dgidimidfpn d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(dgidimidfpn)" pk

let rec decode_pb_joepajdgphk d =
  let v = default_joepajdgphk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.clnpkcniekd <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(joepajdgphk), field(10)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.ppjbokfgmjh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(joepajdgphk), field(3)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.minoahpjnmh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(joepajdgphk), field(6)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.dbgaojmndmc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(joepajdgphk), field(2)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.kpjafhgjmne <- Pbrt.Decoder.bool d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(joepajdgphk), field(15)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.hngcgmnnlej <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(joepajdgphk), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    clnpkcniekd = v.clnpkcniekd;
    ppjbokfgmjh = v.ppjbokfgmjh;
    minoahpjnmh = v.minoahpjnmh;
    dbgaojmndmc = v.dbgaojmndmc;
    kpjafhgjmne = v.kpjafhgjmne;
    hngcgmnnlej = v.hngcgmnnlej;
  } : joepajdgphk)

let rec decode_pb_mgghehlpfmh d =
  let v = default_mgghehlpfmh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.nahadojjmfc <- List.rev v.nahadojjmfc;
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.nahadojjmfc <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mgghehlpfmh), field(2)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.ckmejojcafi <- decode_pb_nbbdamgnjpn d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mgghehlpfmh), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nahadojjmfc = v.nahadojjmfc;
    ckmejojcafi = v.ckmejojcafi;
  } : mgghehlpfmh)

let rec decode_pb_jhaibieoogh d =
  let v = default_jhaibieoogh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.ggbdddiffbd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhaibieoogh), field(14)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.progress <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhaibieoogh), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ggbdddiffbd = v.ggbdddiffbd;
    progress = v.progress;
  } : jhaibieoogh)

let rec decode_pb_ajofeagbhof d =
  let v = default_ajofeagbhof_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.npokjeodakc <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ajofeagbhof), field(14)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.pedicfiaamc <- Pbrt.Decoder.bool d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ajofeagbhof), field(4)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.mkideamcloh <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ajofeagbhof), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    npokjeodakc = v.npokjeodakc;
    pedicfiaamc = v.pedicfiaamc;
    mkideamcloh = v.mkideamcloh;
  } : ajofeagbhof)

let rec decode_pb_pohjkgbpdho d =
  let v = default_pohjkgbpdho_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.elegbecbahh <- List.rev v.elegbecbahh;
      v.bggigohgmmb <- List.rev v.bggigohgmmb;
      v.ijabojodcao <- List.rev v.ijabojodcao;
      v.pajlebhmocf <- List.rev v.pajlebhmocf;
      v.pdmjjhpbogd <- List.rev v.pdmjjhpbogd;
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.pdmjjhpbogd <- (decode_pb_ajofeagbhof (Pbrt.Decoder.nested d)) :: v.pdmjjhpbogd;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pohjkgbpdho), field(6)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.phimeblpkfi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pohjkgbpdho), field(4)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.dhkbkjkdnei <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pohjkgbpdho), field(12)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.ijccfagbnbc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pohjkgbpdho), field(14)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.pajlebhmocf <- (decode_pb_jhaibieoogh (Pbrt.Decoder.nested d)) :: v.pajlebhmocf;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pohjkgbpdho), field(11)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.fmhcopcakec <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pohjkgbpdho), field(10)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.mphncdpfiaj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pohjkgbpdho), field(3)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.kopeolbbgel <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pohjkgbpdho), field(15)" pk
    | Some (812, Pbrt.Bytes) -> begin
      v.ilcfognhfck <- Pbrt.Decoder.string d;
    end
    | Some (812, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pohjkgbpdho), field(812)" pk
    | Some (1779, Pbrt.Bytes) -> begin
      v.abmeooeakfk <- Pbrt.Decoder.string d;
    end
    | Some (1779, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pohjkgbpdho), field(1779)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.bnhepammdhc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pohjkgbpdho), field(2)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.ijabojodcao <- (decode_pb_jhaibieoogh (Pbrt.Decoder.nested d)) :: v.ijabojodcao;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pohjkgbpdho), field(9)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.bggigohgmmb <- (decode_pb_jhaibieoogh (Pbrt.Decoder.nested d)) :: v.bggigohgmmb;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pohjkgbpdho), field(1)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.bdcnikjepnp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pohjkgbpdho), field(7)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.elegbecbahh <- (decode_pb_jhaibieoogh (Pbrt.Decoder.nested d)) :: v.elegbecbahh;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pohjkgbpdho), field(13)" pk
    | Some (1714, Pbrt.Bytes) -> begin
      v.klodmjekmjj <- Pbrt.Decoder.string d;
    end
    | Some (1714, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pohjkgbpdho), field(1714)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.abggoedcbgi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pohjkgbpdho), field(5)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.cccchhlbkdn <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pohjkgbpdho), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pdmjjhpbogd = v.pdmjjhpbogd;
    phimeblpkfi = v.phimeblpkfi;
    dhkbkjkdnei = v.dhkbkjkdnei;
    ijccfagbnbc = v.ijccfagbnbc;
    pajlebhmocf = v.pajlebhmocf;
    fmhcopcakec = v.fmhcopcakec;
    mphncdpfiaj = v.mphncdpfiaj;
    kopeolbbgel = v.kopeolbbgel;
    ilcfognhfck = v.ilcfognhfck;
    abmeooeakfk = v.abmeooeakfk;
    bnhepammdhc = v.bnhepammdhc;
    ijabojodcao = v.ijabojodcao;
    bggigohgmmb = v.bggigohgmmb;
    bdcnikjepnp = v.bdcnikjepnp;
    elegbecbahh = v.elegbecbahh;
    klodmjekmjj = v.klodmjekmjj;
    abggoedcbgi = v.abggoedcbgi;
    cccchhlbkdn = v.cccchhlbkdn;
  } : pohjkgbpdho)

let rec decode_pb_gioddoihlcn d =
  let v = default_gioddoihlcn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pniomdhkgan <- List.rev v.pniomdhkgan;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.pniomdhkgan <- (decode_pb_pohjkgbpdho (Pbrt.Decoder.nested d)) :: v.pniomdhkgan;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gioddoihlcn), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pniomdhkgan = v.pniomdhkgan;
  } : gioddoihlcn)

let rec decode_pb_lidhmbfbhao d =
  let v = default_lidhmbfbhao_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.nchpghpfkkb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lidhmbfbhao), field(6)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.legjggfllkm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lidhmbfbhao), field(13)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lidhmbfbhao), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nchpghpfkkb = v.nchpghpfkkb;
    legjggfllkm = v.legjggfllkm;
    level = v.level;
  } : lidhmbfbhao)

let rec decode_pb_ljmjpodbcae d =
  let v = default_ljmjpodbcae_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.khhhjkbcekl <- List.rev v.khhhjkbcekl;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.khhhjkbcekl <- (decode_pb_lidhmbfbhao (Pbrt.Decoder.nested d)) :: v.khhhjkbcekl;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ljmjpodbcae), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    khhhjkbcekl = v.khhhjkbcekl;
  } : ljmjpodbcae)

let rec decode_pb_bocmnkonppn d =
  let v = default_bocmnkonppn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.lnjapmhfcck <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bocmnkonppn), field(10)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.pbonhgdihdk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bocmnkonppn), field(6)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.fjaomhojlmn <- decode_pb_efjdphpapii d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bocmnkonppn), field(14)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.molclcecklo <- Pbrt.Decoder.bool d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bocmnkonppn), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lnjapmhfcck = v.lnjapmhfcck;
    pbonhgdihdk = v.pbonhgdihdk;
    fjaomhojlmn = v.fjaomhojlmn;
    molclcecklo = v.molclcecklo;
  } : bocmnkonppn)

let rec decode_pb_oopngmhcnnn d =
  let v = default_oopngmhcnnn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mbgmhaapdce <- List.rev v.mbgmhaapdce;
      v.gjbkhmihmif <- List.rev v.gjbkhmihmif;
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.bfgejigdmfh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oopngmhcnnn), field(2)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.gedkbbfkdlm <- Some (decode_pb_bocmnkonppn (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oopngmhcnnn), field(4)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.gjbkhmihmif <- (decode_pb_bocmnkonppn (Pbrt.Decoder.nested d)) :: v.gjbkhmihmif;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oopngmhcnnn), field(3)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.dhfdgnilgih <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oopngmhcnnn), field(7)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.mbgmhaapdce <- (decode_pb_bocmnkonppn (Pbrt.Decoder.nested d)) :: v.mbgmhaapdce;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oopngmhcnnn), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bfgejigdmfh = v.bfgejigdmfh;
    gedkbbfkdlm = v.gedkbbfkdlm;
    gjbkhmihmif = v.gjbkhmihmif;
    dhfdgnilgih = v.dhfdgnilgih;
    mbgmhaapdce = v.mbgmhaapdce;
  } : oopngmhcnnn)

let rec decode_pb_aihopmoclam d =
  let v = default_aihopmoclam_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.nghdgacfjep <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aihopmoclam), field(14)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.ppdbmfkjpel <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aihopmoclam), field(9)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.pkkfndimmio <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aihopmoclam), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nghdgacfjep = v.nghdgacfjep;
    ppdbmfkjpel = v.ppdbmfkjpel;
    pkkfndimmio = v.pkkfndimmio;
  } : aihopmoclam)

let rec decode_pb_ckffbacigpg d =
  let v = default_ckffbacigpg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.buff_list <- List.rev v.buff_list;
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.buff_list <- (decode_pb_aihopmoclam (Pbrt.Decoder.nested d)) :: v.buff_list;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ckffbacigpg), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    buff_list = v.buff_list;
  } : ckffbacigpg)

let rec decode_pb_defmcecjjbi d =
  let v = default_defmcecjjbi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jfpnkcbdief <- List.rev v.jfpnkcbdief;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.jfpnkcbdief <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(defmcecjjbi), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jfpnkcbdief = v.jfpnkcbdief;
  } : defmcecjjbi)

let rec decode_pb_eonniefdoci d =
  let v = default_eonniefdoci_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.npholaehbkh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eonniefdoci), field(14)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.okpcgdecjgg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eonniefdoci), field(9)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.johpnmpfnia <- Pbrt.Decoder.bool d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eonniefdoci), field(4)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.aekimehjnkj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eonniefdoci), field(1)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.bamhmcfcibo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eonniefdoci), field(11)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.ddjolnlfedi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eonniefdoci), field(10)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.cikefdlgdhi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eonniefdoci), field(5)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.ebmiflnkgel <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eonniefdoci), field(7)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.dkppejnhahh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eonniefdoci), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    npholaehbkh = v.npholaehbkh;
    okpcgdecjgg = v.okpcgdecjgg;
    johpnmpfnia = v.johpnmpfnia;
    aekimehjnkj = v.aekimehjnkj;
    bamhmcfcibo = v.bamhmcfcibo;
    ddjolnlfedi = v.ddjolnlfedi;
    cikefdlgdhi = v.cikefdlgdhi;
    ebmiflnkgel = v.ebmiflnkgel;
    dkppejnhahh = v.dkppejnhahh;
  } : eonniefdoci)

let rec decode_pb_kfbeaplbefb d =
  let v = default_kfbeaplbefb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.imiekbcbdhb <- List.rev v.imiekbcbdhb;
      v.fdobhgepecn <- List.rev v.fdobhgepecn;
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.fdobhgepecn <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kfbeaplbefb), field(2)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.imiekbcbdhb <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kfbeaplbefb), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fdobhgepecn = v.fdobhgepecn;
    imiekbcbdhb = v.imiekbcbdhb;
  } : kfbeaplbefb)

let rec decode_pb_gkklbmppoic d =
  let v = default_gkklbmppoic_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bjcfdgchakl <- List.rev v.bjcfdgchakl;
      v.ihonjmelbij <- List.rev v.ihonjmelbij;
      v.fhbjogfkibm <- List.rev v.fhbjogfkibm;
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.fhbjogfkibm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gkklbmppoic), field(14)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.lbecppeobhb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gkklbmppoic), field(9)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.ihonjmelbij <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gkklbmppoic), field(15)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.bjcfdgchakl <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gkklbmppoic), field(5)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.nnoncigblll <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gkklbmppoic), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fhbjogfkibm = v.fhbjogfkibm;
    lbecppeobhb = v.lbecppeobhb;
    ihonjmelbij = v.ihonjmelbij;
    bjcfdgchakl = v.bjcfdgchakl;
    nnoncigblll = v.nnoncigblll;
  } : gkklbmppoic)

let rec decode_pb_pignanpdklj d =
  let v = default_pignanpdklj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.gbohojajppb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pignanpdklj), field(4)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.pfkglcgcmcj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pignanpdklj), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gbohojajppb = v.gbohojajppb;
    pfkglcgcmcj = v.pfkglcgcmcj;
  } : pignanpdklj)

let rec decode_pb_hgbafdfikfj d =
  let v = default_hgbafdfikfj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.aiialahiamp <- List.rev v.aiialahiamp;
      v.agifahnpich <- List.rev v.agifahnpich;
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.hpmckfbmmhp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgbafdfikfj), field(12)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.jahclmgmafe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgbafdfikfj), field(6)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.agifahnpich <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgbafdfikfj), field(11)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.pgidogdgncj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgbafdfikfj), field(8)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.gcbdccnejli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgbafdfikfj), field(10)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.aiialahiamp <- (decode_pb_pignanpdklj (Pbrt.Decoder.nested d)) :: v.aiialahiamp;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgbafdfikfj), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hpmckfbmmhp = v.hpmckfbmmhp;
    jahclmgmafe = v.jahclmgmafe;
    agifahnpich = v.agifahnpich;
    pgidogdgncj = v.pgidogdgncj;
    gcbdccnejli = v.gcbdccnejli;
    aiialahiamp = v.aiialahiamp;
  } : hgbafdfikfj)

let rec decode_pb_kkcblmehbff d =
  let v = default_kkcblmehbff_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.onjlkkdkdbg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkcblmehbff), field(12)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.bghkmklgngf <- Pbrt.Decoder.bool d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkcblmehbff), field(4)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.hkbeefmhlbb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkcblmehbff), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    onjlkkdkdbg = v.onjlkkdkdbg;
    bghkmklgngf = v.bghkmklgngf;
    hkbeefmhlbb = v.hkbeefmhlbb;
  } : kkcblmehbff)

let rec decode_pb_pcfeibpmokl d =
  let v = default_pcfeibpmokl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.jahpoofngeb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pcfeibpmokl), field(15)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.nigmipgijon <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pcfeibpmokl), field(4)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.pfbnanpcdjh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pcfeibpmokl), field(9)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.mapdfgdaddp <- Some (decode_pb_gkklbmppoic (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pcfeibpmokl), field(1)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.ipcpibkdmib <- Some (decode_pb_hgbafdfikfj (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pcfeibpmokl), field(5)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.enagncneopb <- Some (decode_pb_kkcblmehbff (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pcfeibpmokl), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jahpoofngeb = v.jahpoofngeb;
    nigmipgijon = v.nigmipgijon;
    pfbnanpcdjh = v.pfbnanpcdjh;
    mapdfgdaddp = v.mapdfgdaddp;
    ipcpibkdmib = v.ipcpibkdmib;
    enagncneopb = v.enagncneopb;
  } : pcfeibpmokl)

let rec decode_pb_niojaoakejp d =
  let v = default_niojaoakejp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.mekdpjkdapc <- Pbrt.Decoder.bool d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(niojaoakejp), field(14)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.dnhmlmodpnb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(niojaoakejp), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mekdpjkdapc = v.mekdpjkdapc;
    dnhmlmodpnb = v.dnhmlmodpnb;
  } : niojaoakejp)

let rec decode_pb_jogiagpfdml d =
  let v = default_jogiagpfdml_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jhobbdnmfkb <- List.rev v.jhobbdnmfkb;
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.jhobbdnmfkb <- (decode_pb_pcfeibpmokl (Pbrt.Decoder.nested d)) :: v.jhobbdnmfkb;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jogiagpfdml), field(8)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.enaildglncl <- Some (decode_pb_pcfeibpmokl (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jogiagpfdml), field(2)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.dalmjhmldgm <- Some (decode_pb_niojaoakejp (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jogiagpfdml), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jhobbdnmfkb = v.jhobbdnmfkb;
    enaildglncl = v.enaildglncl;
    dalmjhmldgm = v.dalmjhmldgm;
  } : jogiagpfdml)

let rec decode_pb_fckifndejlc d =
  let v = default_fckifndejlc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fckifndejlc), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ohibnloihci = v.ohibnloihci;
  } : fckifndejlc)

let rec decode_pb_pockofmndag d =
  let v = default_pockofmndag_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pockofmndag), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ohibnloihci = v.ohibnloihci;
  } : pockofmndag)

let rec decode_pb_flijbnilblk d =
  let v = default_flijbnilblk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.cgjnknmgjfo <- List.rev v.cgjnknmgjfo;
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.ojkjbeilgdc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(flijbnilblk), field(12)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.fabndlfdfda <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(flijbnilblk), field(9)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.cgjnknmgjfo <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(flijbnilblk), field(10)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(flijbnilblk), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ojkjbeilgdc = v.ojkjbeilgdc;
    fabndlfdfda = v.fabndlfdfda;
    cgjnknmgjfo = v.cgjnknmgjfo;
    ohibnloihci = v.ohibnloihci;
  } : flijbnilblk)

let rec decode_pb_hdkjdnogijc d =
  let v = default_hdkjdnogijc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.legjggfllkm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hdkjdnogijc), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    legjggfllkm = v.legjggfllkm;
  } : hdkjdnogijc)

let rec decode_pb_kdajldoonep d =
  let v = default_kdajldoonep_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.fgohomljegm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kdajldoonep), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fgohomljegm = v.fgohomljegm;
  } : kdajldoonep)

let rec decode_pb_nfkbeabdapm d =
  let v = default_nfkbeabdapm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.hokpfbhcehj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nfkbeabdapm), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hokpfbhcehj = v.hokpfbhcehj;
  } : nfkbeabdapm)

let rec decode_pb_hofaekpedln d =
  let v = default_hofaekpedln_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.ebdmffdjebm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hofaekpedln), field(9)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.dhcakofmnjp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hofaekpedln), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ebdmffdjebm = v.ebdmffdjebm;
    dhcakofmnjp = v.dhcakofmnjp;
  } : hofaekpedln)

let rec decode_pb_gigdeinndjo d =
  let v = default_gigdeinndjo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.cgjnknmgjfo <- List.rev v.cgjnknmgjfo;
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.cgjnknmgjfo <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gigdeinndjo), field(8)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.fabndlfdfda <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gigdeinndjo), field(7)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gigdeinndjo), field(10)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.pinikigmpkm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gigdeinndjo), field(4)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.fmehjldopnj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gigdeinndjo), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cgjnknmgjfo = v.cgjnknmgjfo;
    fabndlfdfda = v.fabndlfdfda;
    ohibnloihci = v.ohibnloihci;
    pinikigmpkm = v.pinikigmpkm;
    fmehjldopnj = v.fmehjldopnj;
  } : gigdeinndjo)

let rec decode_pb_fmaebngghpd d =
  let v = default_fmaebngghpd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.nghdgacfjep <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmaebngghpd), field(2)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.ofjbcpnedpd <- Some (decode_pb_fckifndejlc (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmaebngghpd), field(8)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.cflafjbmepk <- Some (decode_pb_pockofmndag (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmaebngghpd), field(7)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.pkjhlljjldp <- Some (decode_pb_flijbnilblk (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmaebngghpd), field(9)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.nhgioeaffbe <- Some (decode_pb_hdkjdnogijc (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmaebngghpd), field(14)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.eemdaiemepm <- Some (decode_pb_kdajldoonep (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmaebngghpd), field(1)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.hfcakgghnim <- Some (decode_pb_nfkbeabdapm (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmaebngghpd), field(11)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.jmbhhodnidd <- Some (decode_pb_hofaekpedln (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmaebngghpd), field(12)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.agpimeoajoj <- Some (decode_pb_gigdeinndjo (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmaebngghpd), field(10)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.jocfgknbpdh <- Some (decode_pb_bfinjohikfn (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmaebngghpd), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nghdgacfjep = v.nghdgacfjep;
    ofjbcpnedpd = v.ofjbcpnedpd;
    cflafjbmepk = v.cflafjbmepk;
    pkjhlljjldp = v.pkjhlljjldp;
    nhgioeaffbe = v.nhgioeaffbe;
    eemdaiemepm = v.eemdaiemepm;
    hfcakgghnim = v.hfcakgghnim;
    jmbhhodnidd = v.jmbhhodnidd;
    agpimeoajoj = v.agpimeoajoj;
    jocfgknbpdh = v.jocfgknbpdh;
  } : fmaebngghpd)

and decode_pb_bfinjohikfn d =
  let v = default_bfinjohikfn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.accbhmpbojc <- List.rev v.accbhmpbojc;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.accbhmpbojc <- (decode_pb_fmaebngghpd (Pbrt.Decoder.nested d)) :: v.accbhmpbojc;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bfinjohikfn), field(13)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.dojmahgdgcc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bfinjohikfn), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    accbhmpbojc = v.accbhmpbojc;
    dojmahgdgcc = v.dojmahgdgcc;
  } : bfinjohikfn)

let rec decode_pb_khdobjbgpnh d =
  let v = default_khdobjbgpnh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.ckioboniohf <- Some (decode_pb_fmaebngghpd (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(khdobjbgpnh), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ckioboniohf = v.ckioboniohf;
  } : khdobjbgpnh)

let rec decode_pb_ebbnakjiafk d =
  let v = default_ebbnakjiafk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.nhknhpjdhlh <- List.rev v.nhknhpjdhlh;
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.imbgbpepfnl <- Some (decode_pb_ljmjpodbcae (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebbnakjiafk), field(4)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.imelchpnpgc <- Some (decode_pb_oopngmhcnnn (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebbnakjiafk), field(14)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.nhknhpjdhlh <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebbnakjiafk), field(15)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.elfjfncodan <- Some (decode_pb_mgghehlpfmh (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebbnakjiafk), field(13)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.pogejanpebj <- Some (decode_pb_ckffbacigpg (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebbnakjiafk), field(9)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.plolpndhblk <- Some (decode_pb_defmcecjjbi (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebbnakjiafk), field(11)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.odldbbohhkb <- Some (decode_pb_gioddoihlcn (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebbnakjiafk), field(12)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.pgbilhdciol <- Some (decode_pb_joepajdgphk (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebbnakjiafk), field(5)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.pbjhjhdcafb <- Some (decode_pb_eonniefdoci (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebbnakjiafk), field(6)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebbnakjiafk), field(2)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.ppkofopmfjc <- Some (decode_pb_kfbeaplbefb (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebbnakjiafk), field(1)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.chnjjmhncap <- Some (decode_pb_jogiagpfdml (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebbnakjiafk), field(3)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.ogfdpdidmhn <- Some (decode_pb_khdobjbgpnh (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebbnakjiafk), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    imbgbpepfnl = v.imbgbpepfnl;
    imelchpnpgc = v.imelchpnpgc;
    nhknhpjdhlh = v.nhknhpjdhlh;
    elfjfncodan = v.elfjfncodan;
    pogejanpebj = v.pogejanpebj;
    plolpndhblk = v.plolpndhblk;
    odldbbohhkb = v.odldbbohhkb;
    pgbilhdciol = v.pgbilhdciol;
    pbjhjhdcafb = v.pbjhjhdcafb;
    retcode = v.retcode;
    ppkofopmfjc = v.ppkofopmfjc;
    chnjjmhncap = v.chnjjmhncap;
    ogfdpdidmhn = v.ogfdpdidmhn;
  } : ebbnakjiafk)

let rec decode_pb_pmonigcbapn d =
  let v = default_pmonigcbapn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.plolpndhblk <- Some (decode_pb_defmcecjjbi (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pmonigcbapn), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    plolpndhblk = v.plolpndhblk;
  } : pmonigcbapn)

let rec decode_pb_pkadmfglmpn d =
  let v = default_pkadmfglmpn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.ppkofopmfjc <- Some (decode_pb_kfbeaplbefb (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkadmfglmpn), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ppkofopmfjc = v.ppkofopmfjc;
  } : pkadmfglmpn)

let rec decode_pb_jelebjjfjip d =
  let v = default_jelebjjfjip_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mbgmhaapdce <- List.rev v.mbgmhaapdce;
      v.gjbkhmihmif <- List.rev v.gjbkhmihmif;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.gjbkhmihmif <- (decode_pb_bocmnkonppn (Pbrt.Decoder.nested d)) :: v.gjbkhmihmif;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jelebjjfjip), field(13)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.mbgmhaapdce <- (decode_pb_bocmnkonppn (Pbrt.Decoder.nested d)) :: v.mbgmhaapdce;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jelebjjfjip), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gjbkhmihmif = v.gjbkhmihmif;
    mbgmhaapdce = v.mbgmhaapdce;
  } : jelebjjfjip)

let rec decode_pb_fgfifjmmjcp d =
  let v = default_fgfifjmmjcp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.ckioboniohf <- Some (decode_pb_fmaebngghpd (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fgfifjmmjcp), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ckioboniohf = v.ckioboniohf;
  } : fgfifjmmjcp)

let rec decode_pb_bpmbhaaklmc d =
  let v = default_bpmbhaaklmc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.gedkbbfkdlm <- Some (decode_pb_bocmnkonppn (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpmbhaaklmc), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gedkbbfkdlm = v.gedkbbfkdlm;
  } : bpmbhaaklmc)

let rec decode_pb_hjakepglbfd d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(hjakepglbfd)" pk

let rec decode_pb_bnoncaefinb d =
  let v = default_bnoncaefinb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.lnjppbjacmf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bnoncaefinb), field(11)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bnoncaefinb), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lnjppbjacmf = v.lnjppbjacmf;
    retcode = v.retcode;
  } : bnoncaefinb)

let rec decode_pb_npiijenphib d =
  let v = default_npiijenphib_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.jdfifidndhf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(npiijenphib), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jdfifidndhf = v.jdfifidndhf;
  } : npiijenphib)

let rec decode_pb_haobnmicopa d =
  let v = default_haobnmicopa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(haobnmicopa), field(4)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.jdfifidndhf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(haobnmicopa), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    jdfifidndhf = v.jdfifidndhf;
  } : haobnmicopa)

let rec decode_pb_mankodpdeed d =
  let v = default_mankodpdeed_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.opfpijmggal <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mankodpdeed), field(14)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.bljdbkkdlgd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mankodpdeed), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    opfpijmggal = v.opfpijmggal;
    bljdbkkdlgd = v.bljdbkkdlgd;
  } : mankodpdeed)

let rec decode_pb_dfmcdagbcmk d =
  let v = default_dfmcdagbcmk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ejogkjoehfb <- List.rev v.ejogkjoehfb;
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dfmcdagbcmk), field(11)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.ejogkjoehfb <- (decode_pb_bocmnkonppn (Pbrt.Decoder.nested d)) :: v.ejogkjoehfb;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dfmcdagbcmk), field(1)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.imelchpnpgc <- Some (decode_pb_oopngmhcnnn (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dfmcdagbcmk), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ejogkjoehfb = v.ejogkjoehfb;
    imelchpnpgc = v.imelchpnpgc;
  } : dfmcdagbcmk)

let rec decode_pb_dhejioligcn d =
  let v = default_dhejioligcn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.ojkjbeilgdc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dhejioligcn), field(6)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dhejioligcn), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ojkjbeilgdc = v.ojkjbeilgdc;
    ohibnloihci = v.ohibnloihci;
  } : dhejioligcn)

let rec decode_pb_fjckjdbjkfd d =
  let v = default_fjckjdbjkfd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.ojkjbeilgdc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fjckjdbjkfd), field(1)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.edifglcdjlo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fjckjdbjkfd), field(11)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fjckjdbjkfd), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ojkjbeilgdc = v.ojkjbeilgdc;
    edifglcdjlo = v.edifglcdjlo;
    ohibnloihci = v.ohibnloihci;
  } : fjckjdbjkfd)

let rec decode_pb_ocijbfdkhad d =
  let v = default_ocijbfdkhad_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ckikjffkgfk <- List.rev v.ckikjffkgfk;
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.ckikjffkgfk <- (decode_pb_fjckjdbjkfd (Pbrt.Decoder.nested d)) :: v.ckikjffkgfk;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ocijbfdkhad), field(15)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ocijbfdkhad), field(14)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.ojkjbeilgdc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ocijbfdkhad), field(11)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ocijbfdkhad), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.ogfdpdidmhn <- Some (decode_pb_fmaebngghpd (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ocijbfdkhad), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ckikjffkgfk = v.ckikjffkgfk;
    retcode = v.retcode;
    ojkjbeilgdc = v.ojkjbeilgdc;
    ohibnloihci = v.ohibnloihci;
    ogfdpdidmhn = v.ogfdpdidmhn;
  } : ocijbfdkhad)

let rec decode_pb_boooodbdecg d =
  let v = default_boooodbdecg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(boooodbdecg), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ohibnloihci = v.ohibnloihci;
  } : boooodbdecg)

let rec decode_pb_amplplldlmc d =
  let v = default_amplplldlmc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(amplplldlmc), field(12)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(amplplldlmc), field(15)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.ogfdpdidmhn <- Some (decode_pb_fmaebngghpd (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(amplplldlmc), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ohibnloihci = v.ohibnloihci;
    ogfdpdidmhn = v.ogfdpdidmhn;
  } : amplplldlmc)

let rec decode_pb_hfhmkhodonh d =
  let v = default_hfhmkhodonh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfhmkhodonh), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ohibnloihci = v.ohibnloihci;
  } : hfhmkhodonh)

let rec decode_pb_moeoggefkjg d =
  let v = default_moeoggefkjg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(moeoggefkjg), field(2)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(moeoggefkjg), field(9)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.ogfdpdidmhn <- Some (decode_pb_fmaebngghpd (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(moeoggefkjg), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ohibnloihci = v.ohibnloihci;
    retcode = v.retcode;
    ogfdpdidmhn = v.ogfdpdidmhn;
  } : moeoggefkjg)

let rec decode_pb_hoohjgiilid d =
  let v = default_hoohjgiilid_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hoohjgiilid), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ohibnloihci = v.ohibnloihci;
  } : hoohjgiilid)

let rec decode_pb_cbfcpchblif d =
  let v = default_cbfcpchblif_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbfcpchblif), field(1)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.ogfdpdidmhn <- Some (decode_pb_fmaebngghpd (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbfcpchblif), field(15)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbfcpchblif), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ohibnloihci = v.ohibnloihci;
    ogfdpdidmhn = v.ogfdpdidmhn;
    retcode = v.retcode;
  } : cbfcpchblif)

let rec decode_pb_gjnfhooabhh d =
  let v = default_gjnfhooabhh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.ififlmjnmdk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gjnfhooabhh), field(2)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.fgohomljegm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gjnfhooabhh), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ififlmjnmdk = v.ififlmjnmdk;
    fgohomljegm = v.fgohomljegm;
  } : gjnfhooabhh)

let rec decode_pb_hfkkejakcdl d =
  let v = default_hfkkejakcdl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfkkejakcdl), field(10)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.ififlmjnmdk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfkkejakcdl), field(13)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.fgohomljegm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfkkejakcdl), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ififlmjnmdk = v.ififlmjnmdk;
    fgohomljegm = v.fgohomljegm;
  } : hfkkejakcdl)

let rec decode_pb_ckiajdgpeai d =
  let v = default_ckiajdgpeai_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.legjggfllkm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ckiajdgpeai), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    legjggfllkm = v.legjggfllkm;
  } : ckiajdgpeai)

let rec decode_pb_bgeincnaijf d =
  let v = default_bgeincnaijf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.legjggfllkm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bgeincnaijf), field(14)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bgeincnaijf), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    legjggfllkm = v.legjggfllkm;
    retcode = v.retcode;
  } : bgeincnaijf)

let rec decode_pb_jdonaaefnia d =
  let v = default_jdonaaefnia_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.nfcojigifbb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jdonaaefnia), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nfcojigifbb = v.nfcojigifbb;
  } : jdonaaefnia)

let rec decode_pb_bkdgohbbalj d =
  let v = default_bkdgohbbalj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bkdgohbbalj), field(13)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.nfcojigifbb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bkdgohbbalj), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    nfcojigifbb = v.nfcojigifbb;
  } : bkdgohbbalj)

let rec decode_pb_pponmcdlhkg d =
  let v = default_pponmcdlhkg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.dcedopcicik <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pponmcdlhkg), field(2)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.dhchppbnfeg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pponmcdlhkg), field(15)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pponmcdlhkg), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dcedopcicik = v.dcedopcicik;
    dhchppbnfeg = v.dhchppbnfeg;
    hgjolgkaofj = v.hgjolgkaofj;
  } : pponmcdlhkg)

let rec decode_pb_jpehgoiagfp d =
  let v = default_jpehgoiagfp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.oicjkpkgila <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jpehgoiagfp), field(1)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.fbmbomknfjo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jpehgoiagfp), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    oicjkpkgila = v.oicjkpkgila;
    fbmbomknfjo = v.fbmbomknfjo;
  } : jpehgoiagfp)

let rec decode_pb_fedimadblfd d =
  let v = default_fedimadblfd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.gjcnecgjfde <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fedimadblfd), field(5)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.cpjlmihbgcp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fedimadblfd), field(4)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.kfclndkhilm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fedimadblfd), field(8)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.kdckaamonab <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fedimadblfd), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gjcnecgjfde = v.gjcnecgjfde;
    cpjlmihbgcp = v.cpjlmihbgcp;
    kfclndkhilm = v.kfclndkhilm;
    kdckaamonab = v.kdckaamonab;
  } : fedimadblfd)

let rec decode_pb_mhkhjomblhm d =
  let v = default_mhkhjomblhm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.anjbkgdpepn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mhkhjomblhm), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    anjbkgdpepn = v.anjbkgdpepn;
  } : mhkhjomblhm)

let rec decode_pb_bakgcckjdlk d =
  let v = default_bakgcckjdlk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.hmfokfnpnfk <- Some (decode_pb_pponmcdlhkg (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bakgcckjdlk), field(13)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.bbdbepekdie <- Some (decode_pb_pponmcdlhkg (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bakgcckjdlk), field(3)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.odbjpecmcgc <- Some (decode_pb_lidhmbfbhao (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bakgcckjdlk), field(8)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.kbhchoicmhc <- Some (decode_pb_lidhmbfbhao (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bakgcckjdlk), field(15)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.hjcdfejpjcl <- Some (decode_pb_aihopmoclam (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bakgcckjdlk), field(4)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.emghnkdicbf <- Some (decode_pb_aihopmoclam (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bakgcckjdlk), field(14)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.kkiehkfelck <- Some (decode_pb_jpehgoiagfp (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bakgcckjdlk), field(6)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.pblkdhccmdi <- Some (decode_pb_jpehgoiagfp (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bakgcckjdlk), field(12)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.iohofdgmoka <- Some (decode_pb_niojaoakejp (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bakgcckjdlk), field(2)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.gohgfgbcbfh <- Some (decode_pb_fedimadblfd (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bakgcckjdlk), field(1)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.dlieaipfolf <- Some (decode_pb_aihopmoclam (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bakgcckjdlk), field(5)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.nilkfplpaka <- Some (decode_pb_jpehgoiagfp (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bakgcckjdlk), field(7)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.jjcbfhnhale <- Some (decode_pb_mhkhjomblhm (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bakgcckjdlk), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hmfokfnpnfk = v.hmfokfnpnfk;
    bbdbepekdie = v.bbdbepekdie;
    odbjpecmcgc = v.odbjpecmcgc;
    kbhchoicmhc = v.kbhchoicmhc;
    hjcdfejpjcl = v.hjcdfejpjcl;
    emghnkdicbf = v.emghnkdicbf;
    kkiehkfelck = v.kkiehkfelck;
    pblkdhccmdi = v.pblkdhccmdi;
    iohofdgmoka = v.iohofdgmoka;
    gohgfgbcbfh = v.gohgfgbcbfh;
    dlieaipfolf = v.dlieaipfolf;
    nilkfplpaka = v.nilkfplpaka;
    jjcbfhnhale = v.jjcbfhnhale;
  } : bakgcckjdlk)

let rec decode_pb_monopoly_action_result d =
  let v = default_monopoly_action_result_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.click_cell_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(monopoly_action_result), field(10)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.trigger_cell_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(monopoly_action_result), field(4)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.detail <- Some (decode_pb_bakgcckjdlk (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(monopoly_action_result), field(11)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.source_type <- decode_pb_ciaoikeanea d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(monopoly_action_result), field(12)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.effect_type <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(monopoly_action_result), field(9)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.trigger_map_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(monopoly_action_result), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.click_map_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(monopoly_action_result), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    click_cell_id = v.click_cell_id;
    trigger_cell_id = v.trigger_cell_id;
    detail = v.detail;
    source_type = v.source_type;
    effect_type = v.effect_type;
    trigger_map_id = v.trigger_map_id;
    click_map_id = v.click_map_id;
  } : monopoly_action_result)

let rec decode_pb_ojifedpgpnj d =
  let v = default_ojifedpgpnj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.fhjpmiigkin <- List.rev v.fhjpmiigkin;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.fhjpmiigkin <- (decode_pb_monopoly_action_result (Pbrt.Decoder.nested d)) :: v.fhjpmiigkin;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ojifedpgpnj), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fhjpmiigkin = v.fhjpmiigkin;
  } : ojifedpgpnj)

let rec decode_pb_jlgkjbbjang d =
  let v = default_jlgkjbbjang_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.pffecnompke <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jlgkjbbjang), field(12)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.pdpfcfglgco <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jlgkjbbjang), field(1)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.hfcakgghnim <- Some (decode_pb_pcfeibpmokl (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jlgkjbbjang), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pffecnompke = v.pffecnompke;
    pdpfcfglgco = v.pdpfcfglgco;
    hfcakgghnim = v.hfcakgghnim;
  } : jlgkjbbjang)

let rec decode_pb_jhbnabecblc d =
  let v = default_jhbnabecblc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.dalmjhmldgm <- Some (decode_pb_niojaoakejp (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhbnabecblc), field(10)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.hfcakgghnim <- Some (decode_pb_pcfeibpmokl (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhbnabecblc), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dalmjhmldgm = v.dalmjhmldgm;
    hfcakgghnim = v.hfcakgghnim;
  } : jhbnabecblc)

let rec decode_pb_poklnoillmi d =
  let v = default_poklnoillmi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.jahpoofngeb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(poklnoillmi), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jahpoofngeb = v.jahpoofngeb;
  } : poklnoillmi)

let rec decode_pb_monopoly_game_raise_ratio_sc_rsp d =
  let v = default_monopoly_game_raise_ratio_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.ratio <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(monopoly_game_raise_ratio_sc_rsp), field(6)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(monopoly_game_raise_ratio_sc_rsp), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ratio = v.ratio;
    retcode = v.retcode;
  } : monopoly_game_raise_ratio_sc_rsp)

let rec decode_pb_kojejdchlhh d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(kojejdchlhh)" pk

let rec decode_pb_cpaehmckljf d =
  let v = default_cpaehmckljf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.ebajcfkinhn <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cpaehmckljf), field(2)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.bpbbnbklkdc <- Pbrt.Decoder.bool d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cpaehmckljf), field(8)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cpaehmckljf), field(7)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.igepfimgalc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cpaehmckljf), field(10)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.pbjhjhdcafb <- Some (decode_pb_eonniefdoci (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cpaehmckljf), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ebajcfkinhn = v.ebajcfkinhn;
    bpbbnbklkdc = v.bpbbnbklkdc;
    retcode = v.retcode;
    igepfimgalc = v.igepfimgalc;
    pbjhjhdcafb = v.pbjhjhdcafb;
  } : cpaehmckljf)

let rec decode_pb_kgonikbbdak d =
  let v = default_kgonikbbdak_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.kbdmkfogkfj <- Pbrt.Decoder.bool d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgonikbbdak), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kbdmkfogkfj = v.kbdmkfogkfj;
  } : kgonikbbdak)

let rec decode_pb_nhohbpmdnbh d =
  let v = default_nhohbpmdnbh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.ebajcfkinhn <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhohbpmdnbh), field(15)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.ngpobeifhfc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhohbpmdnbh), field(1)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.knhfnfblnlk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhohbpmdnbh), field(12)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.lballjhgmib <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhohbpmdnbh), field(6)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhohbpmdnbh), field(11)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.ifiikolllkn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhohbpmdnbh), field(8)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.likidkoepla <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhohbpmdnbh), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ebajcfkinhn = v.ebajcfkinhn;
    ngpobeifhfc = v.ngpobeifhfc;
    knhfnfblnlk = v.knhfnfblnlk;
    lballjhgmib = v.lballjhgmib;
    retcode = v.retcode;
    ifiikolllkn = v.ifiikolllkn;
    likidkoepla = v.likidkoepla;
  } : nhohbpmdnbh)

let rec decode_pb_imniaamofcn d =
  let v = default_imniaamofcn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.hajiidccbmn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(imniaamofcn), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hajiidccbmn = v.hajiidccbmn;
  } : imniaamofcn)

let rec decode_pb_dnckobgnihn d =
  let v = default_dnckobgnihn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.fhbjogfkibm <- List.rev v.fhbjogfkibm;
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.mahiocfcikf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dnckobgnihn), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dnckobgnihn), field(4)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.nnoncigblll <- Pbrt.Decoder.bool d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dnckobgnihn), field(14)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.fhbjogfkibm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dnckobgnihn), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mahiocfcikf = v.mahiocfcikf;
    retcode = v.retcode;
    nnoncigblll = v.nnoncigblll;
    fhbjogfkibm = v.fhbjogfkibm;
  } : dnckobgnihn)

let rec decode_pb_jliemnlahcd d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(jliemnlahcd)" pk

let rec decode_pb_monopoly_game_gacha_sc_rsp d =
  let v = default_monopoly_game_gacha_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.result_list <- List.rev v.result_list;
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.result_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(monopoly_game_gacha_sc_rsp), field(14)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(monopoly_game_gacha_sc_rsp), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    result_list = v.result_list;
    retcode = v.retcode;
  } : monopoly_game_gacha_sc_rsp)

let rec decode_pb_dhkfhhmkgdd d =
  let v = default_dhkfhhmkgdd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.aiialahiamp <- List.rev v.aiialahiamp;
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.aiialahiamp <- (decode_pb_pignanpdklj (Pbrt.Decoder.nested d)) :: v.aiialahiamp;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dhkfhhmkgdd), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    aiialahiamp = v.aiialahiamp;
  } : dhkfhhmkgdd)

let rec decode_pb_bpkdaacghcm d =
  let v = default_bpkdaacghcm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.ipcpibkdmib <- Some (decode_pb_hgbafdfikfj (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpkdaacghcm), field(8)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpkdaacghcm), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ipcpibkdmib = v.ipcpibkdmib;
    retcode = v.retcode;
  } : bpkdaacghcm)

let rec decode_pb_dhklbllkbal d =
  let v = default_dhklbllkbal_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.jahclmgmafe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dhklbllkbal), field(5)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.bhlfhhjhpja <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dhklbllkbal), field(8)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.goolmcbeakp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dhklbllkbal), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jahclmgmafe = v.jahclmgmafe;
    bhlfhhjhpja = v.bhlfhhjhpja;
    goolmcbeakp = v.goolmcbeakp;
  } : dhklbllkbal)

let rec decode_pb_gfcbokjcjlk d =
  let v = default_gfcbokjcjlk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.lhcalbfcfjl <- List.rev v.lhcalbfcfjl;
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.lhcalbfcfjl <- (decode_pb_dhklbllkbal (Pbrt.Decoder.nested d)) :: v.lhcalbfcfjl;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfcbokjcjlk), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lhcalbfcfjl = v.lhcalbfcfjl;
  } : gfcbokjcjlk)

let rec decode_pb_hcejcpnpnbn d =
  let v = default_hcejcpnpnbn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.onjlkkdkdbg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hcejcpnpnbn), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    onjlkkdkdbg = v.onjlkkdkdbg;
  } : hcejcpnpnbn)

let rec decode_pb_hinkjiefgpj d =
  let v = default_hinkjiefgpj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hinkjiefgpj), field(14)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.onjlkkdkdbg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hinkjiefgpj), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    onjlkkdkdbg = v.onjlkkdkdbg;
  } : hinkjiefgpj)

let rec decode_pb_fmhgmbmhkcb d =
  let v = default_fmhgmbmhkcb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.pjfilkjbojg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmhgmbmhkcb), field(6)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.hkbeefmhlbb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmhgmbmhkcb), field(3)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.pdpfcfglgco <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmhgmbmhkcb), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pjfilkjbojg = v.pjfilkjbojg;
    hkbeefmhlbb = v.hkbeefmhlbb;
    pdpfcfglgco = v.pdpfcfglgco;
  } : fmhgmbmhkcb)

let rec decode_pb_gdmhmadmend d =
  let v = default_gdmhmadmend_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.cgjhaghgclh <- List.rev v.cgjhaghgclh;
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.cgjhaghgclh <- (decode_pb_fmhgmbmhkcb (Pbrt.Decoder.nested d)) :: v.cgjhaghgclh;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gdmhmadmend), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cgjhaghgclh = v.cgjhaghgclh;
  } : gdmhmadmend)

let rec decode_pb_iaejadjfpho d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(iaejadjfpho)" pk

let rec decode_pb_pidiloglgnn d =
  let v = default_pidiloglgnn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pidiloglgnn), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : pidiloglgnn)

let rec decode_pb_bjpjdlgmoen d =
  let v = default_bjpjdlgmoen_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.pbjhjhdcafb <- Some (decode_pb_eonniefdoci (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bjpjdlgmoen), field(9)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.igepfimgalc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bjpjdlgmoen), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pbjhjhdcafb = v.pbjhjhdcafb;
    igepfimgalc = v.igepfimgalc;
  } : bjpjdlgmoen)

let rec decode_pb_hnlpaajffok d =
  let v = default_hnlpaajffok_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.dkppejnhahh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hnlpaajffok), field(7)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.lbmgpjobhdp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hnlpaajffok), field(1)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.ddjolnlfedi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hnlpaajffok), field(15)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.hflkkoinaeo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hnlpaajffok), field(9)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hnlpaajffok), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dkppejnhahh = v.dkppejnhahh;
    lbmgpjobhdp = v.lbmgpjobhdp;
    ddjolnlfedi = v.ddjolnlfedi;
    hflkkoinaeo = v.hflkkoinaeo;
    uid = v.uid;
  } : hnlpaajffok)

let rec decode_pb_opbfdjbbhlf d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(opbfdjbbhlf)" pk

let rec decode_pb_eelooogfiep d =
  let v = default_eelooogfiep_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.nofclllibdd <- List.rev v.nofclllibdd;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.elcdinampjf <- Some (decode_pb_hnlpaajffok (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eelooogfiep), field(13)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eelooogfiep), field(10)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.nofclllibdd <- (decode_pb_hnlpaajffok (Pbrt.Decoder.nested d)) :: v.nofclllibdd;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eelooogfiep), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    elcdinampjf = v.elcdinampjf;
    retcode = v.retcode;
    nofclllibdd = v.nofclllibdd;
  } : eelooogfiep)

let rec decode_pb_oppjogblncg d =
  let v = default_oppjogblncg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.ejpljgbiaic <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oppjogblncg), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ejpljgbiaic = v.ejpljgbiaic;
  } : oppjogblncg)

let rec decode_pb_kolcimmmjhb d =
  let v = default_kolcimmmjhb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.ejpljgbiaic <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kolcimmmjhb), field(1)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.dekonpmjeen <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kolcimmmjhb), field(5)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kolcimmmjhb), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ejpljgbiaic = v.ejpljgbiaic;
    dekonpmjeen = v.dekonpmjeen;
    retcode = v.retcode;
  } : kolcimmmjhb)

let rec decode_pb_pfjiapghecn d =
  let v = default_pfjiapghecn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.nahadojjmfc <- List.rev v.nahadojjmfc;
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.nahadojjmfc <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pfjiapghecn), field(4)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.lbmgpjobhdp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pfjiapghecn), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nahadojjmfc = v.nahadojjmfc;
    lbmgpjobhdp = v.lbmgpjobhdp;
  } : pfjiapghecn)

let rec decode_pb_boaopmiiplm d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(boaopmiiplm)" pk

let rec decode_pb_khpljlniphc d =
  let v = default_khpljlniphc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.mjihjbdnbkk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(khpljlniphc), field(5)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.cnt <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(khpljlniphc), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mjihjbdnbkk = v.mjihjbdnbkk;
    cnt = v.cnt;
  } : khpljlniphc)

let rec decode_pb_kilboolgkpa d =
  let v = default_kilboolgkpa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ckikjffkgfk <- List.rev v.ckikjffkgfk;
      v.dkmdjiclemf <- List.rev v.dkmdjiclemf;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.dkmdjiclemf <- (decode_pb_khpljlniphc (Pbrt.Decoder.nested d)) :: v.dkmdjiclemf;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kilboolgkpa), field(7)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.mkideamcloh <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kilboolgkpa), field(10)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.dmfpklplbbi <- Pbrt.Decoder.bool d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kilboolgkpa), field(13)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kilboolgkpa), field(6)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.ckikjffkgfk <- (decode_pb_fjckjdbjkfd (Pbrt.Decoder.nested d)) :: v.ckikjffkgfk;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kilboolgkpa), field(3)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.dpmofpdmpab <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kilboolgkpa), field(12)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.lkajhecfpji <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kilboolgkpa), field(15)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.progress <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kilboolgkpa), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dkmdjiclemf = v.dkmdjiclemf;
    mkideamcloh = v.mkideamcloh;
    dmfpklplbbi = v.dmfpklplbbi;
    retcode = v.retcode;
    ckikjffkgfk = v.ckikjffkgfk;
    dpmofpdmpab = v.dpmofpdmpab;
    lkajhecfpji = v.lkajhecfpji;
    progress = v.progress;
  } : kilboolgkpa)

let rec decode_pb_plpbgpgeenh d =
  let v = default_plpbgpgeenh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.boijjckjecp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(plpbgpgeenh), field(12)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.edeglgnkjdj <- Pbrt.Decoder.bool d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(plpbgpgeenh), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    boijjckjecp = v.boijjckjecp;
    edeglgnkjdj = v.edeglgnkjdj;
  } : plpbgpgeenh)

let rec decode_pb_gglknfikmjo d =
  let v = default_gglknfikmjo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.ebdmffdjebm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gglknfikmjo), field(11)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.dhcakofmnjp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gglknfikmjo), field(13)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.gedkbbfkdlm <- Some (decode_pb_bocmnkonppn (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gglknfikmjo), field(7)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gglknfikmjo), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ebdmffdjebm = v.ebdmffdjebm;
    dhcakofmnjp = v.dhcakofmnjp;
    gedkbbfkdlm = v.gedkbbfkdlm;
    retcode = v.retcode;
  } : gglknfikmjo)

let rec decode_pb_social_event_server_cache d =
  let v = default_social_event_server_cache_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.src_uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(social_event_server_cache), field(11)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.sub_coin <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(social_event_server_cache), field(13)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(social_event_server_cache), field(4)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.add_coin <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(social_event_server_cache), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    src_uid = v.src_uid;
    sub_coin = v.sub_coin;
    id = v.id;
    add_coin = v.add_coin;
  } : social_event_server_cache)

let rec decode_pb_fdkgkflnomh d =
  let v = default_fdkgkflnomh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.calpgdnbiaa <- List.rev v.calpgdnbiaa;
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.calpgdnbiaa <- (decode_pb_social_event_server_cache (Pbrt.Decoder.nested d)) :: v.calpgdnbiaa;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fdkgkflnomh), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    calpgdnbiaa = v.calpgdnbiaa;
  } : fdkgkflnomh)

let rec decode_pb_afedkeknocc d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(afedkeknocc)" pk

let rec decode_pb_npkeaphgcbp d =
  let v = default_npkeaphgcbp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.calpgdnbiaa <- List.rev v.calpgdnbiaa;
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.calpgdnbiaa <- (decode_pb_social_event_server_cache (Pbrt.Decoder.nested d)) :: v.calpgdnbiaa;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(npkeaphgcbp), field(2)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(npkeaphgcbp), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    calpgdnbiaa = v.calpgdnbiaa;
    retcode = v.retcode;
  } : npkeaphgcbp)

let rec decode_pb_kocpagpjklg d =
  let v = default_kocpagpjklg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bbphnlfjfia <- List.rev v.bbphnlfjfia;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.bbphnlfjfia <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kocpagpjklg), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bbphnlfjfia = v.bbphnlfjfia;
  } : kocpagpjklg)

let rec decode_pb_hgmhhjpoech d =
  let v = default_hgmhhjpoech_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.lfbdpogonmk <- List.rev v.lfbdpogonmk;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.lfbdpogonmk <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgmhhjpoech), field(1)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgmhhjpoech), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lfbdpogonmk = v.lfbdpogonmk;
    retcode = v.retcode;
  } : hgmhhjpoech)

let rec decode_pb_ofabhekkgji d =
  let v = default_ofabhekkgji_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.bnhepammdhc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ofabhekkgji), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bnhepammdhc = v.bnhepammdhc;
  } : ofabhekkgji)

let rec decode_pb_ppnhdbldehi d =
  let v = default_ppnhdbldehi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.lagojcpbhbb <- List.rev v.lagojcpbhbb;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.lagojcpbhbb <- (decode_pb_ajofeagbhof (Pbrt.Decoder.nested d)) :: v.lagojcpbhbb;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ppnhdbldehi), field(9)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.bnhepammdhc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ppnhdbldehi), field(5)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ppnhdbldehi), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lagojcpbhbb = v.lagojcpbhbb;
    bnhepammdhc = v.bnhepammdhc;
    retcode = v.retcode;
  } : ppnhdbldehi)

let rec decode_pb_ipbhdhlonkl d =
  let v = default_ipbhdhlonkl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.ahbalikpnil <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ipbhdhlonkl), field(14)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.bnhepammdhc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ipbhdhlonkl), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ahbalikpnil = v.ahbalikpnil;
    bnhepammdhc = v.bnhepammdhc;
  } : ipbhdhlonkl)

let rec decode_pb_onhionphhpe d =
  let v = default_onhionphhpe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.bnhepammdhc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(onhionphhpe), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.dekonpmjeen <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(onhionphhpe), field(2)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(onhionphhpe), field(6)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.ahbalikpnil <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(onhionphhpe), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bnhepammdhc = v.bnhepammdhc;
    dekonpmjeen = v.dekonpmjeen;
    retcode = v.retcode;
    ahbalikpnil = v.ahbalikpnil;
  } : onhionphhpe)

let rec decode_pb_emgndkeoddi d =
  let v = default_emgndkeoddi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.ahbalikpnil <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(emgndkeoddi), field(8)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.bnhepammdhc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(emgndkeoddi), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ahbalikpnil = v.ahbalikpnil;
    bnhepammdhc = v.bnhepammdhc;
  } : emgndkeoddi)

let rec decode_pb_kjpbgihpnpk d =
  let v = default_kjpbgihpnpk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.bnhepammdhc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kjpbgihpnpk), field(9)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kjpbgihpnpk), field(2)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.ahbalikpnil <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kjpbgihpnpk), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bnhepammdhc = v.bnhepammdhc;
    retcode = v.retcode;
    ahbalikpnil = v.ahbalikpnil;
  } : kjpbgihpnpk)

let rec decode_pb_maiibnepbkj d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(maiibnepbkj)" pk

let rec decode_pb_deecamaadno d =
  let v = default_deecamaadno_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.hflkkoinaeo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(deecamaadno), field(8)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(deecamaadno), field(3)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.lkfmpcmabal <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(deecamaadno), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hflkkoinaeo = v.hflkkoinaeo;
    retcode = v.retcode;
    lkfmpcmabal = v.lkfmpcmabal;
  } : deecamaadno)

let rec decode_pb_ideeolipmcm d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(ideeolipmcm)" pk

let rec decode_pb_agfjdjchdcf d =
  let v = default_agfjdjchdcf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agfjdjchdcf), field(15)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.odldbbohhkb <- Some (decode_pb_gioddoihlcn (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agfjdjchdcf), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    odldbbohhkb = v.odldbbohhkb;
  } : agfjdjchdcf)

let rec decode_pb_cmiicmpcpce d =
  let v = default_cmiicmpcpce_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.lcimodmphno <- List.rev v.lcimodmphno;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.lcimodmphno <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cmiicmpcpce), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lcimodmphno = v.lcimodmphno;
  } : cmiicmpcpce)

let rec decode_pb_knefbegaapc d =
  let v = default_knefbegaapc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.lcimodmphno <- List.rev v.lcimodmphno;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.dekonpmjeen <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(knefbegaapc), field(7)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.lcimodmphno <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(knefbegaapc), field(11)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(knefbegaapc), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dekonpmjeen = v.dekonpmjeen;
    lcimodmphno = v.lcimodmphno;
    retcode = v.retcode;
  } : knefbegaapc)

let rec decode_pb_kcgkeidjmea d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(kcgkeidjmea)" pk

let rec decode_pb_dcclgmmfhbc d =
  let v = default_dcclgmmfhbc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dcclgmmfhbc), field(7)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.dekonpmjeen <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dcclgmmfhbc), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    dekonpmjeen = v.dekonpmjeen;
  } : dcclgmmfhbc)

let rec decode_pb_bnkcoklflkk d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(bnkcoklflkk)" pk

let rec decode_pb_hfgbgjmmnfk d =
  let v = default_hfgbgjmmnfk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfgbgjmmnfk), field(8)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.pbjhjhdcafb <- Some (decode_pb_eonniefdoci (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfgbgjmmnfk), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    pbjhjhdcafb = v.pbjhjhdcafb;
  } : hfgbgjmmnfk)

let rec decode_pb_chdcojajjcb d =
  let v = default_chdcojajjcb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.lnjapmhfcck <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(chdcojajjcb), field(2)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.pbonhgdihdk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(chdcojajjcb), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lnjapmhfcck = v.lnjapmhfcck;
    pbonhgdihdk = v.pbonhgdihdk;
  } : chdcojajjcb)

let rec decode_pb_ceghamagdkm d =
  let v = default_ceghamagdkm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ceghamagdkm), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.lnjapmhfcck <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ceghamagdkm), field(3)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.pbonhgdihdk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ceghamagdkm), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    lnjapmhfcck = v.lnjapmhfcck;
    pbonhgdihdk = v.pbonhgdihdk;
  } : ceghamagdkm)

let rec decode_pb_jlgocoobfoi d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(jlgocoobfoi)" pk

let rec decode_pb_pjnahfbkmob d =
  let v = default_pjnahfbkmob_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pjnahfbkmob), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : pjnahfbkmob)

let rec decode_pb_jkahomjihll d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_multiplayer_type_none:jkahomjihll)
  | 1056 -> (Cmd_multiplayer_fight_give_up_cs_req:jkahomjihll)
  | 1043 -> (Cmd_multiplayer_get_fight_gate_sc_rsp:jkahomjihll)
  | 1029 -> (Cmd_multiplayer_fight_game_finish_sc_notify:jkahomjihll)
  | 1068 -> (Cmd_multiplayer_fight_game_state_cs_req:jkahomjihll)
  | 1006 -> (Cmd_multiplayer_fight_game_state_sc_rsp:jkahomjihll)
  | 1039 -> (Cmd_multiplayer_fight_game_start_sc_notify:jkahomjihll)
  | 1051 -> (Cmd_multiplayer_match3_finish_sc_notify:jkahomjihll)
  | 1093 -> (Cmd_multiplayer_fight_give_up_sc_rsp:jkahomjihll)
  | 1011 -> (Cmd_multiplayer_get_fight_gate_cs_req:jkahomjihll)
  | _ -> Pbrt.Decoder.malformed_variant "jkahomjihll"

let rec decode_pb_nmliohboebj d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(nmliohboebj)" pk

let rec decode_pb_kbdgpkiddla d =
  let v = default_kbdgpkiddla_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pcmhnpbecpk <- List.rev v.pcmhnpbecpk;
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbdgpkiddla), field(8)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.pcmhnpbecpk <- (decode_pb_egokacjfaen (Pbrt.Decoder.nested d)) :: v.pcmhnpbecpk;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbdgpkiddla), field(5)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.nchhhomjbdk <- Some (decode_pb_mfoaahgomic (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbdgpkiddla), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    pcmhnpbecpk = v.pcmhnpbecpk;
    nchhhomjbdk = v.nchhhomjbdk;
  } : kbdgpkiddla)

let rec decode_pb_oibemlbhfei d =
  let v = default_oibemlbhfei_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.hckegfdpdml <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oibemlbhfei), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hckegfdpdml = v.hckegfdpdml;
  } : oibemlbhfei)

let rec decode_pb_habpbddflme d =
  let v = default_habpbddflme_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.jdmpkhbijmn <- Pbrt.Decoder.string d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(habpbddflme), field(3)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.cfanklgaeoi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(habpbddflme), field(8)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.jgkindfbegl <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(habpbddflme), field(1)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(habpbddflme), field(4)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.jdjmjenhhhl <- Pbrt.Decoder.string d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(habpbddflme), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jdmpkhbijmn = v.jdmpkhbijmn;
    cfanklgaeoi = v.cfanklgaeoi;
    jgkindfbegl = v.jgkindfbegl;
    retcode = v.retcode;
    jdjmjenhhhl = v.jdjmjenhhhl;
  } : habpbddflme)

let rec decode_pb_bnkgpngjhkp d =
  let v = default_bnkgpngjhkp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.jgkindfbegl <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bnkgpngjhkp), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jgkindfbegl = v.jgkindfbegl;
  } : bnkgpngjhkp)

let rec decode_pb_bkmgppjcaoa d =
  let v = default_bkmgppjcaoa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bkmgppjcaoa), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : bkmgppjcaoa)

let rec decode_pb_pdfcmfifanj d =
  let v = default_pdfcmfifanj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pcmhnpbecpk <- List.rev v.pcmhnpbecpk;
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.pcmhnpbecpk <- (decode_pb_egokacjfaen (Pbrt.Decoder.nested d)) :: v.pcmhnpbecpk;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdfcmfifanj), field(15)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.nchhhomjbdk <- Some (decode_pb_mfoaahgomic (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pdfcmfifanj), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pcmhnpbecpk = v.pcmhnpbecpk;
    nchhhomjbdk = v.nchhhomjbdk;
  } : pdfcmfifanj)

let rec decode_pb_pnegdinkbpo d =
  let v = default_pnegdinkbpo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.nchhhomjbdk <- Some (decode_pb_mfoaahgomic (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnegdinkbpo), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nchhhomjbdk = v.nchhhomjbdk;
  } : pnegdinkbpo)

let rec decode_pb_phnoojigfhp d =
  let v = default_phnoojigfhp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.mgdnainpahe <- decode_pb_donhpbjnknp d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(phnoojigfhp), field(12)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.bnageejckgi <- Some (decode_pb_obminlghola (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(phnoojigfhp), field(2)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.ebeabgeoean <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(phnoojigfhp), field(5)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.bkhhkejcomc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(phnoojigfhp), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mgdnainpahe = v.mgdnainpahe;
    bnageejckgi = v.bnageejckgi;
    ebeabgeoean = v.ebeabgeoean;
    bkhhkejcomc = v.bkhhkejcomc;
  } : phnoojigfhp)

let rec decode_pb_nglgknnfibf d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_multiple_drop_type_none:nglgknnfibf)
  | 4693 -> (Cmd_multiple_drop_info_notify:nglgknnfibf)
  | 4668 -> (Cmd_get_multiple_drop_info_cs_req:nglgknnfibf)
  | 4606 -> (Cmd_get_multiple_drop_info_sc_rsp:nglgknnfibf)
  | 4611 -> (Cmd_multiple_drop_info_sc_notify:nglgknnfibf)
  | 4643 -> (Cmd_get_player_return_multi_drop_info_cs_req:nglgknnfibf)
  | 4656 -> (Cmd_get_player_return_multi_drop_info_sc_rsp:nglgknnfibf)
  | _ -> Pbrt.Decoder.malformed_variant "nglgknnfibf"

let rec decode_pb_imjaneejcfp d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(imjaneejcfp)" pk

let rec decode_pb_cneaelnihbo d =
  let v = default_cneaelnihbo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.neaokpcagnl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cneaelnihbo), field(2)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cneaelnihbo), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    neaokpcagnl = v.neaokpcagnl;
    id = v.id;
  } : cneaelnihbo)

let rec decode_pb_pplkceifckf d =
  let v = default_pplkceifckf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.okcfllaampl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pplkceifckf), field(7)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.ekieijdbdhm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pplkceifckf), field(13)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.clmeaokeoaf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pplkceifckf), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.fjlnncjahng <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pplkceifckf), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    okcfllaampl = v.okcfllaampl;
    ekieijdbdhm = v.ekieijdbdhm;
    clmeaokeoaf = v.clmeaokeoaf;
    fjlnncjahng = v.fjlnncjahng;
  } : pplkceifckf)

let rec decode_pb_chokajgcamp d =
  let v = default_chokajgcamp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.dbkfefjmndk <- List.rev v.dbkfefjmndk;
      v.jphnpjmpmbm <- List.rev v.jphnpjmpmbm;
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.jphnpjmpmbm <- (decode_pb_pplkceifckf (Pbrt.Decoder.nested d)) :: v.jphnpjmpmbm;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(chokajgcamp), field(15)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(chokajgcamp), field(8)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.dbkfefjmndk <- (decode_pb_cneaelnihbo (Pbrt.Decoder.nested d)) :: v.dbkfefjmndk;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(chokajgcamp), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jphnpjmpmbm = v.jphnpjmpmbm;
    retcode = v.retcode;
    dbkfefjmndk = v.dbkfefjmndk;
  } : chokajgcamp)

let rec decode_pb_dkaijciobno d =
  let v = default_dkaijciobno_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.dbkfefjmndk <- List.rev v.dbkfefjmndk;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.dbkfefjmndk <- (decode_pb_cneaelnihbo (Pbrt.Decoder.nested d)) :: v.dbkfefjmndk;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dkaijciobno), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dbkfefjmndk = v.dbkfefjmndk;
  } : dkaijciobno)

let rec decode_pb_kabippgdpah d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(kabippgdpah)" pk

let rec decode_pb_hkknlapklmg d =
  let v = default_hkknlapklmg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.hihamdaadoi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hkknlapklmg), field(3)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.efbfdfnaiak <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hkknlapklmg), field(15)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.ppkgjnfchbg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hkknlapklmg), field(7)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.fjlnncjahng <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hkknlapklmg), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hihamdaadoi = v.hihamdaadoi;
    efbfdfnaiak = v.efbfdfnaiak;
    ppkgjnfchbg = v.ppkgjnfchbg;
    fjlnncjahng = v.fjlnncjahng;
  } : hkknlapklmg)

let rec decode_pb_hlmmnbaiaen d =
  let v = default_hlmmnbaiaen_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jphnpjmpmbm <- List.rev v.jphnpjmpmbm;
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hlmmnbaiaen), field(4)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.jphnpjmpmbm <- (decode_pb_pplkceifckf (Pbrt.Decoder.nested d)) :: v.jphnpjmpmbm;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hlmmnbaiaen), field(1)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.cfjfdcakbpd <- Some (decode_pb_hkknlapklmg (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hlmmnbaiaen), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    jphnpjmpmbm = v.jphnpjmpmbm;
    cfjfdcakbpd = v.cfjfdcakbpd;
  } : hlmmnbaiaen)

let rec decode_pb_hfjlillecgk d =
  let v = default_hfjlillecgk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.dbkfefjmndk <- List.rev v.dbkfefjmndk;
      v.jphnpjmpmbm <- List.rev v.jphnpjmpmbm;
      v.icbiaedlngb <- List.rev v.icbiaedlngb;
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.icbiaedlngb <- (decode_pb_hkknlapklmg (Pbrt.Decoder.nested d)) :: v.icbiaedlngb;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfjlillecgk), field(15)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.jphnpjmpmbm <- (decode_pb_pplkceifckf (Pbrt.Decoder.nested d)) :: v.jphnpjmpmbm;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfjlillecgk), field(13)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.dbkfefjmndk <- (decode_pb_cneaelnihbo (Pbrt.Decoder.nested d)) :: v.dbkfefjmndk;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfjlillecgk), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    icbiaedlngb = v.icbiaedlngb;
    jphnpjmpmbm = v.jphnpjmpmbm;
    dbkfefjmndk = v.dbkfefjmndk;
  } : hfjlillecgk)

let rec decode_pb_npcfpipllda d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_museum_type_none:npcfpipllda)
  | 4348 -> (Cmd_upgrade_area_sc_rsp:npcfpipllda)
  | 4328 -> (Cmd_museum_dispatch_finished_sc_notify:npcfpipllda)
  | 4365 -> (Cmd_upgrade_area_cs_req:npcfpipllda)
  | 4388 -> (Cmd_museum_target_mission_finish_notify:npcfpipllda)
  | 4324 -> (Cmd_museum_random_event_query_cs_req:npcfpipllda)
  | 4333 -> (Cmd_get_exhibit_sc_notify:npcfpipllda)
  | 4343 -> (Cmd_buy_npc_stuff_sc_rsp:npcfpipllda)
  | 4317 -> (Cmd_museum_random_event_query_sc_rsp:npcfpipllda)
  | 4356 -> (Cmd_set_stuff_to_area_cs_req:npcfpipllda)
  | 4339 -> (Cmd_remove_stuff_from_area_cs_req:npcfpipllda)
  | 4308 -> (Cmd_museum_target_reward_notify:npcfpipllda)
  | 4325 -> (Cmd_museum_random_event_start_sc_notify:npcfpipllda)
  | 4390 -> (Cmd_museum_random_event_select_sc_rsp:npcfpipllda)
  | 4354 -> (Cmd_finish_cur_turn_sc_rsp:npcfpipllda)
  | 4398 -> (Cmd_museum_funds_changed_sc_notify:npcfpipllda)
  | 4332 -> (Cmd_museum_take_collect_reward_sc_rsp:npcfpipllda)
  | 4368 -> (Cmd_get_museum_info_cs_req:npcfpipllda)
  | 4306 -> (Cmd_get_museum_info_sc_rsp:npcfpipllda)
  | 4393 -> (Cmd_set_stuff_to_area_sc_rsp:npcfpipllda)
  | 4334 -> (Cmd_upgrade_area_stat_sc_rsp:npcfpipllda)
  | 4381 -> (Cmd_museum_take_collect_reward_cs_req:npcfpipllda)
  | 4382 -> (Cmd_upgrade_area_stat_cs_req:npcfpipllda)
  | 4309 -> (Cmd_museum_target_start_notify:npcfpipllda)
  | 4311 -> (Cmd_buy_npc_stuff_cs_req:npcfpipllda)
  | 4399 -> (Cmd_finish_cur_turn_cs_req:npcfpipllda)
  | 4351 -> (Cmd_get_stuff_sc_notify:npcfpipllda)
  | 4392 -> (Cmd_museum_random_event_select_cs_req:npcfpipllda)
  | 4329 -> (Cmd_remove_stuff_from_area_sc_rsp:npcfpipllda)
  | 4397 -> (Cmd_museum_info_changed_sc_notify:npcfpipllda)
  | _ -> Pbrt.Decoder.malformed_variant "npcfpipllda"

let rec decode_pb_khpkejjhene d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Museum_random_event_state_none:khpkejjhene)
  | 1 -> (Museum_random_event_state_start:khpkejjhene)
  | 2 -> (Museum_random_event_state_processing:khpkejjhene)
  | 3 -> (Museum_random_event_state_finish:khpkejjhene)
  | _ -> Pbrt.Decoder.malformed_variant "khpkejjhene"

let rec decode_pb_ibmkpfblcop d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Work_pos_none:ibmkpfblcop)
  | 1 -> (Work_pos_1:ibmkpfblcop)
  | 2 -> (Work_pos_2:ibmkpfblcop)
  | 3 -> (Work_pos_3:ibmkpfblcop)
  | _ -> Pbrt.Decoder.malformed_variant "ibmkpfblcop"

let rec decode_pb_fkieenabkbi d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Stat_type_none:fkieenabkbi)
  | 1 -> (Stat_type_art:fkieenabkbi)
  | 2 -> (Stat_type_culture:fkieenabkbi)
  | 3 -> (Stat_type_popular:fkieenabkbi)
  | _ -> Pbrt.Decoder.malformed_variant "fkieenabkbi"

let rec decode_pb_gdophdklfdg d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Unknow:gdophdklfdg)
  | 1 -> (Mission_reward:gdophdklfdg)
  | 2 -> (Event_buy_stuff:gdophdklfdg)
  | 3 -> (Market_buy_stuff:gdophdklfdg)
  | 4 -> (Quest_reward:gdophdklfdg)
  | 5 -> (Initial:gdophdklfdg)
  | 6 -> (Phase_finish_reward:gdophdklfdg)
  | _ -> Pbrt.Decoder.malformed_variant "gdophdklfdg"

let rec decode_pb_agacmpmknah d =
  let v = default_agacmpmknah_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.ehbklolppkd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agacmpmknah), field(15)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.pos <- decode_pb_ibmkpfblcop d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agacmpmknah), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ehbklolppkd = v.ehbklolppkd;
    pos = v.pos;
  } : agacmpmknah)

let rec decode_pb_hekmjicgnok d =
  let v = default_hekmjicgnok_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ckacngonkjj <- List.rev v.ckacngonkjj;
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.hjggnmndjad <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hekmjicgnok), field(5)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.ckacngonkjj <- (decode_pb_agacmpmknah (Pbrt.Decoder.nested d)) :: v.ckacngonkjj;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hekmjicgnok), field(11)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hekmjicgnok), field(13)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.lnbhmcphfdh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hekmjicgnok), field(7)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.fhmfhbjkfad <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hekmjicgnok), field(12)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.ggdaffjnmpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hekmjicgnok), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hjggnmndjad = v.hjggnmndjad;
    ckacngonkjj = v.ckacngonkjj;
    level = v.level;
    lnbhmcphfdh = v.lnbhmcphfdh;
    fhmfhbjkfad = v.fhmfhbjkfad;
    ggdaffjnmpa = v.ggdaffjnmpa;
  } : hekmjicgnok)

let rec decode_pb_fipbhpcfnnn d =
  let v = default_fipbhpcfnnn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.hdnieedkagk <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fipbhpcfnnn), field(2)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.jimincbjkpg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fipbhpcfnnn), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hdnieedkagk = v.hdnieedkagk;
    jimincbjkpg = v.jimincbjkpg;
  } : fipbhpcfnnn)

let rec decode_pb_hmjgeckckmm d =
  let v = default_hmjgeckckmm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hibkehghjkj <- List.rev v.hibkehghjkj;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.hibkehghjkj <- (decode_pb_fipbhpcfnnn (Pbrt.Decoder.nested d)) :: v.hibkehghjkj;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hmjgeckckmm), field(9)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.polheomfihp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hmjgeckckmm), field(7)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.llcmhphhafg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hmjgeckckmm), field(5)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.doeadajcpcd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hmjgeckckmm), field(15)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.djifmbakafg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hmjgeckckmm), field(10)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.loacdlcljkl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hmjgeckckmm), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hibkehghjkj = v.hibkehghjkj;
    polheomfihp = v.polheomfihp;
    llcmhphhafg = v.llcmhphhafg;
    doeadajcpcd = v.doeadajcpcd;
    djifmbakafg = v.djifmbakafg;
    loacdlcljkl = v.loacdlcljkl;
  } : hmjgeckckmm)

let rec decode_pb_kopbmgbkabe d =
  let v = default_kopbmgbkabe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.amiejgmmbnn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kopbmgbkabe), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.ehbklolppkd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kopbmgbkabe), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    amiejgmmbnn = v.amiejgmmbnn;
    ehbklolppkd = v.ehbklolppkd;
  } : kopbmgbkabe)

let rec decode_pb_pabjleadhde d =
  let v = default_pabjleadhde_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.nhnbiglcmae <- List.rev v.nhnbiglcmae;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.enponpnkhhd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pabjleadhde), field(1)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.ilbidmacbhl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pabjleadhde), field(14)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.state <- decode_pb_khpkejjhene d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pabjleadhde), field(12)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pabjleadhde), field(10)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.ipcpammkkdf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pabjleadhde), field(5)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.jmbbphkojmc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pabjleadhde), field(9)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.nhnbiglcmae <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pabjleadhde), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    enponpnkhhd = v.enponpnkhhd;
    ilbidmacbhl = v.ilbidmacbhl;
    state = v.state;
    ohibnloihci = v.ohibnloihci;
    ipcpammkkdf = v.ipcpammkkdf;
    jmbbphkojmc = v.jmbbphkojmc;
    nhnbiglcmae = v.nhnbiglcmae;
  } : pabjleadhde)

let rec decode_pb_lpnaapgcinf d =
  let v = default_lpnaapgcinf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.fghkkkkbohf <- List.rev v.fghkkkkbohf;
      v.llhoijjnhbc <- List.rev v.llhoijjnhbc;
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.kahdopkmaaa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lpnaapgcinf), field(4)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.llhoijjnhbc <- (decode_pb_pabjleadhde (Pbrt.Decoder.nested d)) :: v.llhoijjnhbc;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lpnaapgcinf), field(15)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.fghkkkkbohf <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lpnaapgcinf), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kahdopkmaaa = v.kahdopkmaaa;
    llhoijjnhbc = v.llhoijjnhbc;
    fghkkkkbohf = v.fghkkkkbohf;
  } : lpnaapgcinf)

let rec decode_pb_iklgpokopno d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(iklgpokopno)" pk

let rec decode_pb_hhenfenpfmp d =
  let v = default_hhenfenpfmp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ckacngonkjj <- List.rev v.ckacngonkjj;
      v.cdgdabeaeam <- List.rev v.cdgdabeaeam;
      v.akogjjegako <- List.rev v.akogjjegako;
      v.opbbglfipjf <- List.rev v.opbbglfipjf;
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhenfenpfmp), field(7)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.dplempnahkh <- Some (decode_pb_lpnaapgcinf (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhenfenpfmp), field(2)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.njhmoljoand <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhenfenpfmp), field(12)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.opbbglfipjf <- (decode_pb_hekmjicgnok (Pbrt.Decoder.nested d)) :: v.opbbglfipjf;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhenfenpfmp), field(8)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.fddiajpmfki <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhenfenpfmp), field(9)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.akogjjegako <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhenfenpfmp), field(13)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.lokhhakogkh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhenfenpfmp), field(14)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.okejfjflidc <- Some (decode_pb_hmjgeckckmm (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhenfenpfmp), field(10)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhenfenpfmp), field(4)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.ebggiceiaee <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhenfenpfmp), field(15)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.cdgdabeaeam <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhenfenpfmp), field(11)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.ckacngonkjj <- (decode_pb_kopbmgbkabe (Pbrt.Decoder.nested d)) :: v.ckacngonkjj;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhenfenpfmp), field(1)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.pkjhlljjldp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhenfenpfmp), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhenfenpfmp), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    dplempnahkh = v.dplempnahkh;
    njhmoljoand = v.njhmoljoand;
    opbbglfipjf = v.opbbglfipjf;
    fddiajpmfki = v.fddiajpmfki;
    akogjjegako = v.akogjjegako;
    lokhhakogkh = v.lokhhakogkh;
    okejfjflidc = v.okejfjflidc;
    level = v.level;
    ebggiceiaee = v.ebggiceiaee;
    cdgdabeaeam = v.cdgdabeaeam;
    ckacngonkjj = v.ckacngonkjj;
    pkjhlljjldp = v.pkjhlljjldp;
    exp = v.exp;
  } : hhenfenpfmp)

let rec decode_pb_dobbjmgakhk d =
  let v = default_dobbjmgakhk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.ehbklolppkd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dobbjmgakhk), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ehbklolppkd = v.ehbklolppkd;
  } : dobbjmgakhk)

let rec decode_pb_nlbjjifeahl d =
  let v = default_nlbjjifeahl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlbjjifeahl), field(4)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.ehbklolppkd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlbjjifeahl), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ehbklolppkd = v.ehbklolppkd;
  } : nlbjjifeahl)

let rec decode_pb_lgcgdbekgen d =
  let v = default_lgcgdbekgen_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.amiejgmmbnn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lgcgdbekgen), field(7)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.pos <- decode_pb_ibmkpfblcop d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lgcgdbekgen), field(3)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.ehbklolppkd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lgcgdbekgen), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    amiejgmmbnn = v.amiejgmmbnn;
    pos = v.pos;
    ehbklolppkd = v.ehbklolppkd;
  } : lgcgdbekgen)

let rec decode_pb_lkpgdmangog d =
  let v = default_lkpgdmangog_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lkpgdmangog), field(3)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.ehbklolppkd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lkpgdmangog), field(1)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.amiejgmmbnn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lkpgdmangog), field(15)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.pos <- decode_pb_ibmkpfblcop d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lkpgdmangog), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ehbklolppkd = v.ehbklolppkd;
    amiejgmmbnn = v.amiejgmmbnn;
    pos = v.pos;
  } : lkpgdmangog)

let rec decode_pb_eaglpghjhep d =
  let v = default_eaglpghjhep_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.ehbklolppkd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eaglpghjhep), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ehbklolppkd = v.ehbklolppkd;
  } : eaglpghjhep)

let rec decode_pb_pfdiknclbgh d =
  let v = default_pfdiknclbgh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pfdiknclbgh), field(13)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.ehbklolppkd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pfdiknclbgh), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ehbklolppkd = v.ehbklolppkd;
  } : pfdiknclbgh)

let rec decode_pb_lclkpncbbhg d =
  let v = default_lclkpncbbhg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.ehbklolppkd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lclkpncbbhg), field(13)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.cmnihjigino <- decode_pb_gdophdklfdg d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lclkpncbbhg), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ehbklolppkd = v.ehbklolppkd;
    cmnihjigino = v.cmnihjigino;
  } : lclkpncbbhg)

let rec decode_pb_pfacpieijfn d =
  let v = default_pfacpieijfn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.ldmpandhbcm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pfacpieijfn), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ldmpandhbcm = v.ldmpandhbcm;
  } : pfacpieijfn)

let rec decode_pb_jmonjimkcnb d =
  let v = default_jmonjimkcnb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.plpnefmoile <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jmonjimkcnb), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    plpnefmoile = v.plpnefmoile;
  } : jmonjimkcnb)

let rec decode_pb_gkbapmfchgp d =
  let v = default_gkbapmfchgp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gkbapmfchgp), field(13)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.negakoplbfk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gkbapmfchgp), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    negakoplbfk = v.negakoplbfk;
  } : gkbapmfchgp)

let rec decode_pb_ginopghobbg d =
  let v = default_ginopghobbg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.ggdaffjnmpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ginopghobbg), field(14)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ginopghobbg), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ggdaffjnmpa = v.ggdaffjnmpa;
    level = v.level;
  } : ginopghobbg)

let rec decode_pb_kpafaechgfl d =
  let v = default_kpafaechgfl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.ggdaffjnmpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kpafaechgfl), field(10)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kpafaechgfl), field(3)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kpafaechgfl), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ggdaffjnmpa = v.ggdaffjnmpa;
    retcode = v.retcode;
    level = v.level;
  } : kpafaechgfl)

let rec decode_pb_njppmfpmemf d =
  let v = default_njppmfpmemf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njppmfpmemf), field(8)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.apimbkdepgd <- decode_pb_fkieenabkbi d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njppmfpmemf), field(15)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.ggdaffjnmpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njppmfpmemf), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    level = v.level;
    apimbkdepgd = v.apimbkdepgd;
    ggdaffjnmpa = v.ggdaffjnmpa;
  } : njppmfpmemf)

let rec decode_pb_dkebghbnkee d =
  let v = default_dkebghbnkee_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.apimbkdepgd <- decode_pb_fkieenabkbi d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dkebghbnkee), field(13)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dkebghbnkee), field(11)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dkebghbnkee), field(1)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.ggdaffjnmpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dkebghbnkee), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    apimbkdepgd = v.apimbkdepgd;
    retcode = v.retcode;
    level = v.level;
    ggdaffjnmpa = v.ggdaffjnmpa;
  } : dkebghbnkee)

let rec decode_pb_plbkibglbnd d =
  let v = default_plbkibglbnd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ckacngonkjj <- List.rev v.ckacngonkjj;
      v.cdgdabeaeam <- List.rev v.cdgdabeaeam;
      v.akogjjegako <- List.rev v.akogjjegako;
      v.opbbglfipjf <- List.rev v.opbbglfipjf;
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(plbkibglbnd), field(7)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.dplempnahkh <- Some (decode_pb_lpnaapgcinf (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(plbkibglbnd), field(6)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.opbbglfipjf <- (decode_pb_hekmjicgnok (Pbrt.Decoder.nested d)) :: v.opbbglfipjf;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(plbkibglbnd), field(2)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.lokhhakogkh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(plbkibglbnd), field(4)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.akogjjegako <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(plbkibglbnd), field(8)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.njhmoljoand <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(plbkibglbnd), field(5)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.ebggiceiaee <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(plbkibglbnd), field(9)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(plbkibglbnd), field(15)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.pkjhlljjldp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(plbkibglbnd), field(11)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.okejfjflidc <- Some (decode_pb_hmjgeckckmm (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(plbkibglbnd), field(12)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.fddiajpmfki <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(plbkibglbnd), field(14)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.cdgdabeaeam <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(plbkibglbnd), field(3)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.ckacngonkjj <- (decode_pb_kopbmgbkabe (Pbrt.Decoder.nested d)) :: v.ckacngonkjj;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(plbkibglbnd), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    level = v.level;
    dplempnahkh = v.dplempnahkh;
    opbbglfipjf = v.opbbglfipjf;
    lokhhakogkh = v.lokhhakogkh;
    akogjjegako = v.akogjjegako;
    njhmoljoand = v.njhmoljoand;
    ebggiceiaee = v.ebggiceiaee;
    exp = v.exp;
    pkjhlljjldp = v.pkjhlljjldp;
    okejfjflidc = v.okejfjflidc;
    fddiajpmfki = v.fddiajpmfki;
    cdgdabeaeam = v.cdgdabeaeam;
    ckacngonkjj = v.ckacngonkjj;
  } : plbkibglbnd)

let rec decode_pb_bbjjglacdne d =
  let v = default_bbjjglacdne_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.jpaolljmggn <- Some (decode_pb_pabjleadhde (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bbjjglacdne), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jpaolljmggn = v.jpaolljmggn;
  } : bbjjglacdne)

let rec decode_pb_ebdhkimflce d =
  let v = default_ebdhkimflce_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.kccleanfoef <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebdhkimflce), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kccleanfoef = v.kccleanfoef;
  } : ebdhkimflce)

let rec decode_pb_occahnklaim d =
  let v = default_occahnklaim_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.jpaolljmggn <- Some (decode_pb_lpnaapgcinf (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(occahnklaim), field(3)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(occahnklaim), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jpaolljmggn = v.jpaolljmggn;
    retcode = v.retcode;
  } : occahnklaim)

let rec decode_pb_kekkmfdigne d =
  let v = default_kekkmfdigne_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kekkmfdigne), field(10)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.jmbbphkojmc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kekkmfdigne), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ohibnloihci = v.ohibnloihci;
    jmbbphkojmc = v.jmbbphkojmc;
  } : kekkmfdigne)

let rec decode_pb_afhajlkjocl d =
  let v = default_afhajlkjocl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afhajlkjocl), field(1)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.jmbbphkojmc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afhajlkjocl), field(14)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afhajlkjocl), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ohibnloihci = v.ohibnloihci;
    jmbbphkojmc = v.jmbbphkojmc;
    retcode = v.retcode;
  } : afhajlkjocl)

let rec decode_pb_adalbkfkjji d =
  let v = default_adalbkfkjji_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.njhmoljoand <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adalbkfkjji), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    njhmoljoand = v.njhmoljoand;
  } : adalbkfkjji)

let rec decode_pb_mbpnljhddip d =
  let v = default_mbpnljhddip_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.oaedchilhgj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mbpnljhddip), field(6)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.fpjnhijobaj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mbpnljhddip), field(11)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.njhmoljoand <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mbpnljhddip), field(10)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.ehbklolppkd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mbpnljhddip), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    oaedchilhgj = v.oaedchilhgj;
    fpjnhijobaj = v.fpjnhijobaj;
    njhmoljoand = v.njhmoljoand;
    ehbklolppkd = v.ehbklolppkd;
  } : mbpnljhddip)

let rec decode_pb_ilfmakefhbm d =
  let v = default_ilfmakefhbm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.djifmbakafg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ilfmakefhbm), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    djifmbakafg = v.djifmbakafg;
  } : ilfmakefhbm)

let rec decode_pb_djalilghapg d =
  let v = default_djalilghapg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jimincbjkpg <- List.rev v.jimincbjkpg;
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.jimincbjkpg <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(djalilghapg), field(4)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.djifmbakafg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(djalilghapg), field(11)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.loemopmkinb <- Pbrt.Decoder.bool d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(djalilghapg), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jimincbjkpg = v.jimincbjkpg;
    djifmbakafg = v.djifmbakafg;
    loemopmkinb = v.loemopmkinb;
  } : djalilghapg)

let rec decode_pb_jcpphggjadn d =
  let v = default_jcpphggjadn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcpphggjadn), field(14)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.djifmbakafg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcpphggjadn), field(3)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.olfhccbiidg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcpphggjadn), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgjolgkaofj = v.hgjolgkaofj;
    djifmbakafg = v.djifmbakafg;
    olfhccbiidg = v.olfhccbiidg;
  } : jcpphggjadn)

let rec decode_pb_emegifcfcjn d =
  let v = default_emegifcfcjn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(emegifcfcjn), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgjolgkaofj = v.hgjolgkaofj;
  } : emegifcfcjn)

let rec decode_pb_egmpcjhcjbk d =
  let v = default_egmpcjhcjbk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egmpcjhcjbk), field(6)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egmpcjhcjbk), field(4)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egmpcjhcjbk), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgjolgkaofj = v.hgjolgkaofj;
    reward = v.reward;
    retcode = v.retcode;
  } : egmpcjhcjbk)

let rec decode_pb_mlfpcehlfnb d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_offering_type_none:mlfpcehlfnb)
  | 6923 -> (Cmd_get_offering_info_sc_rsp:mlfpcehlfnb)
  | 6924 -> (Cmd_take_offering_reward_cs_req:mlfpcehlfnb)
  | 6922 -> (Cmd_take_offering_reward_sc_rsp:mlfpcehlfnb)
  | 6940 -> (Cmd_submit_offering_item_sc_rsp:mlfpcehlfnb)
  | 6932 -> (Cmd_submit_offering_item_cs_req:mlfpcehlfnb)
  | 6936 -> (Cmd_offering_info_sc_notify:mlfpcehlfnb)
  | 6939 -> (Cmd_get_offering_info_cs_req:mlfpcehlfnb)
  | _ -> Pbrt.Decoder.malformed_variant "mlfpcehlfnb"

let rec decode_pb_cmebpgjmefe d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Offering_state_none:cmebpgjmefe)
  | 1 -> (Offering_state_lock:cmebpgjmefe)
  | 2 -> (Offering_state_open:cmebpgjmefe)
  | _ -> Pbrt.Decoder.malformed_variant "cmebpgjmefe"

let rec decode_pb_epmngcpcbkl d =
  let v = default_epmngcpcbkl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.gjjipefijck <- List.rev v.gjjipefijck;
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.kheopnihaff <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(epmngcpcbkl), field(13)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.cfbjmkdbhai <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(epmngcpcbkl), field(1)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.ippjhngkgjo <- decode_pb_cmebpgjmefe d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(epmngcpcbkl), field(12)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.gbclnihogem <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(epmngcpcbkl), field(6)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.glnpnnmnand <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(epmngcpcbkl), field(7)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.gjjipefijck <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(epmngcpcbkl), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kheopnihaff = v.kheopnihaff;
    cfbjmkdbhai = v.cfbjmkdbhai;
    ippjhngkgjo = v.ippjhngkgjo;
    gbclnihogem = v.gbclnihogem;
    glnpnnmnand = v.glnpnnmnand;
    gjjipefijck = v.gjjipefijck;
  } : epmngcpcbkl)

let rec decode_pb_nckfngfopgm d =
  let v = default_nckfngfopgm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mpoedocjenp <- List.rev v.mpoedocjenp;
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.mpoedocjenp <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nckfngfopgm), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mpoedocjenp = v.mpoedocjenp;
  } : nckfngfopgm)

let rec decode_pb_ookkhpnopmj d =
  let v = default_ookkhpnopmj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.fgdljmbkbam <- List.rev v.fgdljmbkbam;
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ookkhpnopmj), field(12)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.fgdljmbkbam <- (decode_pb_epmngcpcbkl (Pbrt.Decoder.nested d)) :: v.fgdljmbkbam;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ookkhpnopmj), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    fgdljmbkbam = v.fgdljmbkbam;
  } : ookkhpnopmj)

let rec decode_pb_ojlpkgeolmh d =
  let v = default_ojlpkgeolmh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.gbclnihogem <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ojlpkgeolmh), field(3)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.idcigdfjabi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ojlpkgeolmh), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gbclnihogem = v.gbclnihogem;
    idcigdfjabi = v.idcigdfjabi;
  } : ojlpkgeolmh)

let rec decode_pb_ifjbadlimjc d =
  let v = default_ifjbadlimjc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.fkamaeepnki <- Some (decode_pb_epmngcpcbkl (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifjbadlimjc), field(8)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifjbadlimjc), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fkamaeepnki = v.fkamaeepnki;
    retcode = v.retcode;
  } : ifjbadlimjc)

let rec decode_pb_lncjkacchpc d =
  let v = default_lncjkacchpc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.eoejiijmano <- List.rev v.eoejiijmano;
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.eoejiijmano <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lncjkacchpc), field(6)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.idcigdfjabi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lncjkacchpc), field(3)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.gbclnihogem <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lncjkacchpc), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    eoejiijmano = v.eoejiijmano;
    idcigdfjabi = v.idcigdfjabi;
    gbclnihogem = v.gbclnihogem;
  } : lncjkacchpc)

let rec decode_pb_oeoiecpgdde d =
  let v = default_oeoiecpgdde_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oeoiecpgdde), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.fkamaeepnki <- Some (decode_pb_epmngcpcbkl (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oeoiecpgdde), field(3)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oeoiecpgdde), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    reward = v.reward;
    fkamaeepnki = v.fkamaeepnki;
    retcode = v.retcode;
  } : oeoiecpgdde)

let rec decode_pb_hlmjajcepgj d =
  let v = default_hlmjajcepgj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.fkamaeepnki <- Some (decode_pb_epmngcpcbkl (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hlmjajcepgj), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fkamaeepnki = v.fkamaeepnki;
  } : hlmjajcepgj)

let rec decode_pb_bnijldmhgfa d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_pam_mission_type_none:bnijldmhgfa)
  | 4068 -> (Cmd_accepted_pam_mission_expire_cs_req:bnijldmhgfa)
  | 4006 -> (Cmd_accepted_pam_mission_expire_sc_rsp:bnijldmhgfa)
  | 4011 -> (Cmd_sync_accepted_pam_mission_notify:bnijldmhgfa)
  | _ -> Pbrt.Decoder.malformed_variant "bnijldmhgfa"

let rec decode_pb_maadcgflnec d =
  let v = default_maadcgflnec_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.idlneeekpjl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(maadcgflnec), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    idlneeekpjl = v.idlneeekpjl;
  } : maadcgflnec)

let rec decode_pb_nhgjajlgbfb d =
  let v = default_nhgjajlgbfb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhgjajlgbfb), field(1)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.idlneeekpjl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhgjajlgbfb), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    idlneeekpjl = v.idlneeekpjl;
  } : nhgjajlgbfb)

let rec decode_pb_flondkdobfn d =
  let v = default_flondkdobfn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.idlneeekpjl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(flondkdobfn), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.fkglfpgdhic <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(flondkdobfn), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    idlneeekpjl = v.idlneeekpjl;
    fkglfpgdhic = v.fkglfpgdhic;
  } : flondkdobfn)

let rec decode_pb_mjolclhenkg d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_pet_type_none:mjolclhenkg)
  | 7608 -> (Cmd_recall_pet_sc_rsp:mjolclhenkg)
  | 7611 -> (Cmd_recall_pet_cs_req:mjolclhenkg)
  | 7623 -> (Cmd_cur_pet_changed_sc_notify:mjolclhenkg)
  | 7607 -> (Cmd_get_pet_data_cs_req:mjolclhenkg)
  | 7624 -> (Cmd_get_pet_data_sc_rsp:mjolclhenkg)
  | 7617 -> (Cmd_summon_pet_sc_rsp:mjolclhenkg)
  | 7615 -> (Cmd_summon_pet_cs_req:mjolclhenkg)
  | _ -> Pbrt.Decoder.malformed_variant "mjolclhenkg"

let rec decode_pb_fkaajneaocj d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(fkaajneaocj)" pk

let rec decode_pb_fcgnnhbbenm d =
  let v = default_fcgnnhbbenm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.giipokombda <- List.rev v.giipokombda;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.giipokombda <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fcgnnhbbenm), field(10)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fcgnnhbbenm), field(6)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.pdgeengkjke <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fcgnnhbbenm), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    giipokombda = v.giipokombda;
    retcode = v.retcode;
    pdgeengkjke = v.pdgeengkjke;
  } : fcgnnhbbenm)

let rec decode_pb_fmbnjkmnjnh d =
  let v = default_fmbnjkmnjnh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.dljbepbhekm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmbnjkmnjnh), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dljbepbhekm = v.dljbepbhekm;
  } : fmbnjkmnjnh)

let rec decode_pb_jbmeobcimpi d =
  let v = default_jbmeobcimpi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.bmcoijcmnnc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jbmeobcimpi), field(6)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jbmeobcimpi), field(11)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.pdgeengkjke <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jbmeobcimpi), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bmcoijcmnnc = v.bmcoijcmnnc;
    retcode = v.retcode;
    pdgeengkjke = v.pdgeengkjke;
  } : jbmeobcimpi)

let rec decode_pb_lgpllmnldic d =
  let v = default_lgpllmnldic_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.dljbepbhekm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lgpllmnldic), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dljbepbhekm = v.dljbepbhekm;
  } : lgpllmnldic)

let rec decode_pb_gpealbnelpe d =
  let v = default_gpealbnelpe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gpealbnelpe), field(14)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.bmcoijcmnnc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gpealbnelpe), field(7)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.pdgeengkjke <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gpealbnelpe), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    bmcoijcmnnc = v.bmcoijcmnnc;
    pdgeengkjke = v.pdgeengkjke;
  } : gpealbnelpe)

let rec decode_pb_magblgbbnha d =
  let v = default_magblgbbnha_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.pdgeengkjke <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(magblgbbnha), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pdgeengkjke = v.pdgeengkjke;
  } : magblgbbnha)

let rec decode_pb_nmcfcoggnmj d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_phone_type_none:nmcfcoggnmj)
  | 5156 -> (Cmd_unlock_chat_bubble_sc_notify:nmcfcoggnmj)
  | 5168 -> (Cmd_get_phone_data_cs_req:nmcfcoggnmj)
  | 5106 -> (Cmd_get_phone_data_sc_rsp:nmcfcoggnmj)
  | 5143 -> (Cmd_select_chat_bubble_sc_rsp:nmcfcoggnmj)
  | 5129 -> (Cmd_unlock_phone_theme_sc_notify:nmcfcoggnmj)
  | 5139 -> (Cmd_select_phone_theme_sc_rsp:nmcfcoggnmj)
  | 5193 -> (Cmd_select_phone_theme_cs_req:nmcfcoggnmj)
  | 5111 -> (Cmd_select_chat_bubble_cs_req:nmcfcoggnmj)
  | _ -> Pbrt.Decoder.malformed_variant "nmcfcoggnmj"

let rec decode_pb_aebnbkfhgof d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(aebnbkfhgof)" pk

let rec decode_pb_kiapanmhjob d =
  let v = default_kiapanmhjob_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.gbljjpfnjdc <- List.rev v.gbljjpfnjdc;
      v.dmplokpnddp <- List.rev v.dmplokpnddp;
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.ilcffmcedan <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kiapanmhjob), field(3)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.dmplokpnddp <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kiapanmhjob), field(6)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.lamdfhjndpe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kiapanmhjob), field(2)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kiapanmhjob), field(1)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.gbljjpfnjdc <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kiapanmhjob), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ilcffmcedan = v.ilcffmcedan;
    dmplokpnddp = v.dmplokpnddp;
    lamdfhjndpe = v.lamdfhjndpe;
    retcode = v.retcode;
    gbljjpfnjdc = v.gbljjpfnjdc;
  } : kiapanmhjob)

let rec decode_pb_fiflmmabnkj d =
  let v = default_fiflmmabnkj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.flefoflohfn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fiflmmabnkj), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    flefoflohfn = v.flefoflohfn;
  } : fiflmmabnkj)

let rec decode_pb_jhccgjallic d =
  let v = default_jhccgjallic_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhccgjallic), field(11)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.iilafoldjig <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhccgjallic), field(3)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.ilcffmcedan <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhccgjallic), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    iilafoldjig = v.iilafoldjig;
    ilcffmcedan = v.ilcffmcedan;
  } : jhccgjallic)

let rec decode_pb_ihonfpmoaon d =
  let v = default_ihonfpmoaon_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.flefoflohfn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ihonfpmoaon), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    flefoflohfn = v.flefoflohfn;
  } : ihonfpmoaon)

let rec decode_pb_ncnfiancepd d =
  let v = default_ncnfiancepd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.lgofedpnbol <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ncnfiancepd), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lgofedpnbol = v.lgofedpnbol;
  } : ncnfiancepd)

let rec decode_pb_egcilkjklpd d =
  let v = default_egcilkjklpd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.lamdfhjndpe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egcilkjklpd), field(5)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.adjfaimlabe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egcilkjklpd), field(11)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egcilkjklpd), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lamdfhjndpe = v.lamdfhjndpe;
    adjfaimlabe = v.adjfaimlabe;
    retcode = v.retcode;
  } : egcilkjklpd)

let rec decode_pb_obcjgodlghn d =
  let v = default_obcjgodlghn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.lgofedpnbol <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(obcjgodlghn), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lgofedpnbol = v.lgofedpnbol;
  } : obcjgodlghn)

let rec decode_pb_jdmlnacnhkn d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_player_type_none:jdmlnacnhkn)
  | 42 -> (Cmd_get_video_version_key_cs_req:jdmlnacnhkn)
  | 48 -> (Cmd_exchange_stamina_cs_req:jdmlnacnhkn)
  | 86 -> (Cmd_player_login_finish_sc_rsp:jdmlnacnhkn)
  | 95 -> (Cmd_set_player_info_sc_rsp:jdmlnacnhkn)
  | 85 -> (Cmd_get_basic_info_sc_rsp:jdmlnacnhkn)
  | 93 -> (Cmd_player_get_token_sc_rsp:jdmlnacnhkn)
  | 82 -> (Cmd_exchange_stamina_sc_rsp:jdmlnacnhkn)
  | 59 -> (Cmd_ace_anti_cheater_sc_rsp:jdmlnacnhkn)
  | 63 -> (Cmd_unlock_avatar_path_cs_req:jdmlnacnhkn)
  | 70 -> (Cmd_update_player_setting_sc_rsp:jdmlnacnhkn)
  | 80 -> (Cmd_set_multiple_avatar_paths_cs_req:jdmlnacnhkn)
  | 43 -> (Cmd_player_logout_sc_rsp:jdmlnacnhkn)
  | 9 -> (Cmd_get_level_reward_sc_rsp:jdmlnacnhkn)
  | 50 -> (Cmd_reserve_stamina_exchange_cs_req:jdmlnacnhkn)
  | 77 -> (Cmd_get_multi_path_avatar_info_sc_rsp:jdmlnacnhkn)
  | 99 -> (Cmd_gm_talk_sc_rsp:jdmlnacnhkn)
  | 41 -> (Cmd_retcode_notify:jdmlnacnhkn)
  | 15 -> (Cmd_client_download_data_sc_notify:jdmlnacnhkn)
  | 6 -> (Cmd_player_login_sc_rsp:jdmlnacnhkn)
  | 13 -> (Cmd_feature_switch_closed_sc_notify:jdmlnacnhkn)
  | 81 -> (Cmd_set_language_cs_req:jdmlnacnhkn)
  | 28 -> (Cmd_get_level_reward_cs_req:jdmlnacnhkn)
  | 47 -> (Cmd_ace_anti_cheater_cs_req:jdmlnacnhkn)
  | 5 -> (Cmd_stamina_info_sc_notify:jdmlnacnhkn)
  | 3 -> (Cmd_player_heart_beat_sc_rsp:jdmlnacnhkn)
  | 17 -> (Cmd_set_nickname_sc_rsp:jdmlnacnhkn)
  | 25 -> (Cmd_anti_addict_sc_notify:jdmlnacnhkn)
  | 2 -> (Cmd_update_psn_settings_info_cs_req:jdmlnacnhkn)
  | 83 -> (Cmd_get_video_version_key_sc_rsp:jdmlnacnhkn)
  | 61 -> (Cmd_client_obj_download_data_sc_notify:jdmlnacnhkn)
  | 11 -> (Cmd_player_logout_cs_req:jdmlnacnhkn)
  | 24 -> (Cmd_set_nickname_cs_req:jdmlnacnhkn)
  | 68 -> (Cmd_player_login_cs_req:jdmlnacnhkn)
  | 100 -> (Cmd_daily_refresh_notify:jdmlnacnhkn)
  | 72 -> (Cmd_reserve_stamina_exchange_sc_rsp:jdmlnacnhkn)
  | 97 -> (Cmd_get_authkey_sc_rsp:jdmlnacnhkn)
  | 40 -> (Cmd_get_basic_info_cs_req:jdmlnacnhkn)
  | 96 -> (Cmd_set_red_point_status_sc_notify:jdmlnacnhkn)
  | 32 -> (Cmd_set_language_sc_rsp:jdmlnacnhkn)
  | 75 -> (Cmd_update_feature_switch_sc_notify:jdmlnacnhkn)
  | 30 -> (Cmd_set_player_info_cs_req:jdmlnacnhkn)
  | 16 -> (Cmd_server_announce_notify:jdmlnacnhkn)
  | 67 -> (Cmd_query_product_info_sc_rsp:jdmlnacnhkn)
  | 38 -> (Cmd_unlock_avatar_path_sc_rsp:jdmlnacnhkn)
  | 29 -> (Cmd_gm_talk_sc_notify:jdmlnacnhkn)
  | 20 -> (Cmd_set_avatar_path_cs_req:jdmlnacnhkn)
  | 27 -> (Cmd_get_multi_path_avatar_info_cs_req:jdmlnacnhkn)
  | 55 -> (Cmd_avatar_path_changed_notify:jdmlnacnhkn)
  | 92 -> (Cmd_get_level_reward_taken_list_cs_req:jdmlnacnhkn)
  | 7 -> (Cmd_month_card_reward_notify:jdmlnacnhkn)
  | 31 -> (Cmd_player_heart_beat_cs_req:jdmlnacnhkn)
  | 98 -> (Cmd_region_stop_sc_notify:jdmlnacnhkn)
  | 73 -> (Cmd_player_login_finish_cs_req:jdmlnacnhkn)
  | 57 -> (Cmd_set_avatar_path_sc_rsp:jdmlnacnhkn)
  | 21 -> (Cmd_get_secret_key_info_cs_req:jdmlnacnhkn)
  | 79 -> (Cmd_client_obj_upload_cs_req:jdmlnacnhkn)
  | 12 -> (Cmd_set_gender_sc_rsp:jdmlnacnhkn)
  | 62 -> (Cmd_update_psn_settings_info_sc_rsp:jdmlnacnhkn)
  | 56 -> (Cmd_player_get_token_cs_req:jdmlnacnhkn)
  | 52 -> (Cmd_client_obj_upload_sc_rsp:jdmlnacnhkn)
  | 4 -> (Cmd_set_multiple_avatar_paths_sc_rsp:jdmlnacnhkn)
  | 46 -> (Cmd_set_gender_cs_req:jdmlnacnhkn)
  | 33 -> (Cmd_gm_talk_cs_req:jdmlnacnhkn)
  | 34 -> (Cmd_get_authkey_cs_req:jdmlnacnhkn)
  | 69 -> (Cmd_query_product_info_cs_req:jdmlnacnhkn)
  | 58 -> (Cmd_set_gameplay_birthday_sc_rsp:jdmlnacnhkn)
  | 64 -> (Cmd_update_player_setting_cs_req:jdmlnacnhkn)
  | 53 -> (Cmd_set_gameplay_birthday_cs_req:jdmlnacnhkn)
  | 26 -> (Cmd_gate_server_sc_notify:jdmlnacnhkn)
  | 71 -> (Cmd_get_secret_key_info_sc_rsp:jdmlnacnhkn)
  | 51 -> (Cmd_player_kick_out_sc_notify:jdmlnacnhkn)
  | 90 -> (Cmd_get_level_reward_taken_list_sc_rsp:jdmlnacnhkn)
  | _ -> Pbrt.Decoder.malformed_variant "jdmlnacnhkn"

let rec decode_pb_mnekimdfhaf d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Authkey_sign_type_none:mnekimdfhaf)
  | 1 -> (Authkey_sign_type_default:mnekimdfhaf)
  | 2 -> (Authkey_sign_type_rsa:mnekimdfhaf)
  | _ -> Pbrt.Decoder.malformed_variant "mnekimdfhaf"

let rec decode_pb_player_login_cs_req d =
  let v = default_player_login_cs_req_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.bajjablkfab <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_cs_req), field(13)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.bcijkmpjfni <- Pbrt.Decoder.string d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_cs_req), field(14)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.difcdhddfbp <- Pbrt.Decoder.string d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_cs_req), field(9)" pk
    | Some (1253, Pbrt.Varint) -> begin
      v.lmjolnigkkc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1253, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_cs_req), field(1253)" pk
    | Some (540, Pbrt.Varint) -> begin
      v.blclkkidljh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (540, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_cs_req), field(540)" pk
    | Some (1012, Pbrt.Bytes) -> begin
      v.pkgmnimcpdh <- Pbrt.Decoder.string d;
    end
    | Some (1012, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_cs_req), field(1012)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.language <- decode_pb_language_type d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_cs_req), field(10)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.dbgjcbcfaec <- decode_pb_platform_type d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_cs_req), field(5)" pk
    | Some (1657, Pbrt.Bytes) -> begin
      v.cpmikdbdcpg <- Some (decode_pb_lbofjhojgph (Pbrt.Decoder.nested d));
    end
    | Some (1657, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_cs_req), field(1657)" pk
    | Some (1976, Pbrt.Varint) -> begin
      v.kjfcoglhkfk <- Pbrt.Decoder.bool d;
    end
    | Some (1976, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_cs_req), field(1976)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.pafnmmndegp <- Pbrt.Decoder.string d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_cs_req), field(6)" pk
    | Some (1866, Pbrt.Bytes) -> begin
      v.ochimkelcde <- Pbrt.Decoder.string d;
    end
    | Some (1866, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_cs_req), field(1866)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.pdidijddcno <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_cs_req), field(8)" pk
    | Some (1393, Pbrt.Bytes) -> begin
      v.dmdcpeiefkg <- Pbrt.Decoder.string d;
    end
    | Some (1393, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_cs_req), field(1393)" pk
    | Some (624, Pbrt.Bytes) -> begin
      v.bhoanekljhm <- Pbrt.Decoder.string d;
    end
    | Some (624, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_cs_req), field(624)" pk
    | Some (354, Pbrt.Bytes) -> begin
      v.meijfajkmmp <- Pbrt.Decoder.string d;
    end
    | Some (354, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_cs_req), field(354)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.mkkdakgkkhe <- Pbrt.Decoder.string d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_cs_req), field(11)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.ogilamajgio <- Pbrt.Decoder.string d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_cs_req), field(7)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.ghaifpffmog <- Pbrt.Decoder.string d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_cs_req), field(3)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.fecdamigijp <- Pbrt.Decoder.string d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_cs_req), field(15)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.mddiipbifek <- Pbrt.Decoder.string d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_cs_req), field(12)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.cpkikinabfj <- Pbrt.Decoder.string d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_cs_req), field(2)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.hcgjomkbloh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_cs_req), field(4)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.mhmockcmeje <- Pbrt.Decoder.string d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_cs_req), field(1)" pk
    | Some (1358, Pbrt.Varint) -> begin
      v.fgahpfhnncl <- Pbrt.Decoder.bool d;
    end
    | Some (1358, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_cs_req), field(1358)" pk
    | Some (1183, Pbrt.Bytes) -> begin
      v.pjieaeapgnl <- Pbrt.Decoder.string d;
    end
    | Some (1183, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_cs_req), field(1183)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bajjablkfab = v.bajjablkfab;
    bcijkmpjfni = v.bcijkmpjfni;
    difcdhddfbp = v.difcdhddfbp;
    lmjolnigkkc = v.lmjolnigkkc;
    blclkkidljh = v.blclkkidljh;
    pkgmnimcpdh = v.pkgmnimcpdh;
    language = v.language;
    dbgjcbcfaec = v.dbgjcbcfaec;
    cpmikdbdcpg = v.cpmikdbdcpg;
    kjfcoglhkfk = v.kjfcoglhkfk;
    pafnmmndegp = v.pafnmmndegp;
    ochimkelcde = v.ochimkelcde;
    pdidijddcno = v.pdidijddcno;
    dmdcpeiefkg = v.dmdcpeiefkg;
    bhoanekljhm = v.bhoanekljhm;
    meijfajkmmp = v.meijfajkmmp;
    mkkdakgkkhe = v.mkkdakgkkhe;
    ogilamajgio = v.ogilamajgio;
    ghaifpffmog = v.ghaifpffmog;
    fecdamigijp = v.fecdamigijp;
    mddiipbifek = v.mddiipbifek;
    cpkikinabfj = v.cpkikinabfj;
    hcgjomkbloh = v.hcgjomkbloh;
    mhmockcmeje = v.mhmockcmeje;
    fgahpfhnncl = v.fgahpfhnncl;
    pjieaeapgnl = v.pjieaeapgnl;
  } : player_login_cs_req)

let rec decode_pb_player_login_sc_rsp d =
  let v = default_player_login_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.pdidijddcno <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_sc_rsp), field(13)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.meilhlkmgfn <- Pbrt.Decoder.string d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_sc_rsp), field(2)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.pnhfbdbkpci <- Pbrt.Decoder.string d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_sc_rsp), field(14)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.kcicanjloba <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_sc_rsp), field(1)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.dlicepdamib <- Pbrt.Decoder.bool d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_sc_rsp), field(4)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.basic_info <- Some (decode_pb_player_basic_info (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_sc_rsp), field(5)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_sc_rsp), field(7)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.stamina <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_sc_rsp), field(6)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.biinmckjhen <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_sc_rsp), field(3)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.mciakkehiaa <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_login_sc_rsp), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pdidijddcno = v.pdidijddcno;
    meilhlkmgfn = v.meilhlkmgfn;
    pnhfbdbkpci = v.pnhfbdbkpci;
    kcicanjloba = v.kcicanjloba;
    dlicepdamib = v.dlicepdamib;
    basic_info = v.basic_info;
    retcode = v.retcode;
    stamina = v.stamina;
    biinmckjhen = v.biinmckjhen;
    mciakkehiaa = v.mciakkehiaa;
  } : player_login_sc_rsp)

let rec decode_pb_player_logout_cs_req d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(player_logout_cs_req)" pk

let rec decode_pb_player_get_token_cs_req d =
  let v = default_player_get_token_cs_req_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.dbgjcbcfaec <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_get_token_cs_req), field(3)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.oiegbkkceda <- Pbrt.Decoder.string d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_get_token_cs_req), field(4)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.blclkkidljh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_get_token_cs_req), field(7)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.cpdkcijkohd <- Pbrt.Decoder.string d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_get_token_cs_req), field(10)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.lkgbcdgefjf <- Pbrt.Decoder.string d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_get_token_cs_req), field(5)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.gmcheopahkc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_get_token_cs_req), field(2)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.pcmajmegbld <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_get_token_cs_req), field(14)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_get_token_cs_req), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dbgjcbcfaec = v.dbgjcbcfaec;
    oiegbkkceda = v.oiegbkkceda;
    blclkkidljh = v.blclkkidljh;
    cpdkcijkohd = v.cpdkcijkohd;
    lkgbcdgefjf = v.lkgbcdgefjf;
    gmcheopahkc = v.gmcheopahkc;
    pcmajmegbld = v.pcmajmegbld;
    uid = v.uid;
  } : player_get_token_cs_req)

let rec decode_pb_player_get_token_sc_rsp d =
  let v = default_player_get_token_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_get_token_sc_rsp), field(10)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_get_token_sc_rsp), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.secret_key_seed <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_get_token_sc_rsp), field(5)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.black_info <- Some (decode_pb_black_info (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_get_token_sc_rsp), field(12)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.msg <- Pbrt.Decoder.string d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_get_token_sc_rsp), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    uid = v.uid;
    secret_key_seed = v.secret_key_seed;
    black_info = v.black_info;
    msg = v.msg;
  } : player_get_token_sc_rsp)

let rec decode_pb_inhhlgadneo d =
  let v = default_inhhlgadneo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.msg <- Pbrt.Decoder.string d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(inhhlgadneo), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    msg = v.msg;
  } : inhhlgadneo)

let rec decode_pb_kick_type d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Nfmnkphlpji:kick_type)
  | 1 -> (Pncbimmkgpp:kick_type)
  | 2 -> (Ddpbgjjdmhl:kick_type)
  | 3 -> (Lodfdopnidg:kick_type)
  | 4 -> (Dpnogoadhhl:kick_type)
  | 5 -> (Hlhnikjghnb:kick_type)
  | _ -> Pbrt.Decoder.malformed_variant "kick_type"

let rec decode_pb_player_kick_out_sc_notify d =
  let v = default_player_kick_out_sc_notify_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.black_info <- Some (decode_pb_black_info (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_kick_out_sc_notify), field(4)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.kick_type <- decode_pb_kick_type d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_kick_out_sc_notify), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    black_info = v.black_info;
    kick_type = v.kick_type;
  } : player_kick_out_sc_notify)

let rec decode_pb_gm_talk_cs_req d =
  let v = default_gm_talk_cs_req_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.msg <- Pbrt.Decoder.string d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gm_talk_cs_req), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    msg = v.msg;
  } : gm_talk_cs_req)

let rec decode_pb_gm_talk_sc_rsp d =
  let v = default_gm_talk_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gm_talk_sc_rsp), field(7)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.retmsg <- Pbrt.Decoder.string d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gm_talk_sc_rsp), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    retmsg = v.retmsg;
  } : gm_talk_sc_rsp)

let rec decode_pb_get_basic_info_cs_req d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(get_basic_info_cs_req)" pk

let rec decode_pb_player_setting_info d =
  let v = default_player_setting_info_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.jcnincccakl <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_setting_info), field(2)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.nhknohpdocc <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_setting_info), field(1)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.hhcgdeocomi <- Pbrt.Decoder.bool d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_setting_info), field(3)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.ookalmpeleg <- Pbrt.Decoder.bool d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_setting_info), field(15)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.defkcpiepnb <- Pbrt.Decoder.bool d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_setting_info), field(9)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.ggodaiohjif <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_setting_info), field(11)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.kmjdmefgcck <- Pbrt.Decoder.bool d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_setting_info), field(12)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.dedidajjmcj <- Pbrt.Decoder.bool d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_setting_info), field(7)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.bkpaceckiia <- Pbrt.Decoder.bool d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_setting_info), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jcnincccakl = v.jcnincccakl;
    nhknohpdocc = v.nhknohpdocc;
    hhcgdeocomi = v.hhcgdeocomi;
    ookalmpeleg = v.ookalmpeleg;
    defkcpiepnb = v.defkcpiepnb;
    ggodaiohjif = v.ggodaiohjif;
    kmjdmefgcck = v.kmjdmefgcck;
    dedidajjmcj = v.dedidajjmcj;
    bkpaceckiia = v.bkpaceckiia;
  } : player_setting_info)

let rec decode_pb_get_basic_info_sc_rsp d =
  let v = default_get_basic_info_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.gender <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_basic_info_sc_rsp), field(4)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.cur_day <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_basic_info_sc_rsp), field(10)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.player_setting_info <- Some (decode_pb_player_setting_info (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_basic_info_sc_rsp), field(1)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.next_recover_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_basic_info_sc_rsp), field(8)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.is_gender_set <- Pbrt.Decoder.bool d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_basic_info_sc_rsp), field(7)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.gameplay_birthday <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_basic_info_sc_rsp), field(2)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_basic_info_sc_rsp), field(11)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.week_cocoon_finished_count <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_basic_info_sc_rsp), field(5)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.exchange_times <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_basic_info_sc_rsp), field(14)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.last_set_nickname_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_basic_info_sc_rsp), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gender = v.gender;
    cur_day = v.cur_day;
    player_setting_info = v.player_setting_info;
    next_recover_time = v.next_recover_time;
    is_gender_set = v.is_gender_set;
    gameplay_birthday = v.gameplay_birthday;
    retcode = v.retcode;
    week_cocoon_finished_count = v.week_cocoon_finished_count;
    exchange_times = v.exchange_times;
    last_set_nickname_time = v.last_set_nickname_time;
  } : get_basic_info_sc_rsp)

let rec decode_pb_exchange_stamina_cs_req d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(exchange_stamina_cs_req)" pk

let rec decode_pb_exchange_stamina_sc_rsp d =
  let v = default_exchange_stamina_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.item_cost_list <- List.rev v.item_cost_list;
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.exchange_times <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(exchange_stamina_sc_rsp), field(10)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.last_recover_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(exchange_stamina_sc_rsp), field(3)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.stamina_add <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(exchange_stamina_sc_rsp), field(9)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(exchange_stamina_sc_rsp), field(8)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.item_cost_list <- (decode_pb_item_cost (Pbrt.Decoder.nested d)) :: v.item_cost_list;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(exchange_stamina_sc_rsp), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    exchange_times = v.exchange_times;
    last_recover_time = v.last_recover_time;
    stamina_add = v.stamina_add;
    retcode = v.retcode;
    item_cost_list = v.item_cost_list;
  } : exchange_stamina_sc_rsp)

let rec decode_pb_ilhiemhgmbm d =
  let v = default_ilhiemhgmbm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.mdipcjnjlpb <- Pbrt.Decoder.string d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ilhiemhgmbm), field(5)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.sign_type <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ilhiemhgmbm), field(13)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.dhigcieoome <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ilhiemhgmbm), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mdipcjnjlpb = v.mdipcjnjlpb;
    sign_type = v.sign_type;
    dhigcieoome = v.dhigcieoome;
  } : ilhiemhgmbm)

let rec decode_pb_lkhllhkhkki d =
  let v = default_lkhllhkhkki_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lkhllhkhkki), field(7)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.lcdjcjmimmi <- Pbrt.Decoder.string d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lkhllhkhkki), field(6)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.mdipcjnjlpb <- Pbrt.Decoder.string d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lkhllhkhkki), field(8)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.dhigcieoome <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lkhllhkhkki), field(11)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.sign_type <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lkhllhkhkki), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    lcdjcjmimmi = v.lcdjcjmimmi;
    mdipcjnjlpb = v.mdipcjnjlpb;
    dhigcieoome = v.dhigcieoome;
    sign_type = v.sign_type;
  } : lkhllhkhkki)

let rec decode_pb_hcibichlmaa d =
  let v = default_hcibichlmaa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.mlcpkfihkko <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hcibichlmaa), field(2)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.hhpakondiob <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hcibichlmaa), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mlcpkfihkko = v.mlcpkfihkko;
    hhpakondiob = v.hhpakondiob;
  } : hcibichlmaa)

let rec decode_pb_anti_addict_sc_notify d =
  let v = default_anti_addict_sc_notify_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.level <- Pbrt.Decoder.string d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(anti_addict_sc_notify), field(8)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.msg <- Pbrt.Decoder.string d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(anti_addict_sc_notify), field(4)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.msg_type <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(anti_addict_sc_notify), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    level = v.level;
    msg = v.msg;
    msg_type = v.msg_type;
  } : anti_addict_sc_notify)

let rec decode_pb_set_nickname_cs_req d =
  let v = default_set_nickname_cs_req_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.is_modify <- Pbrt.Decoder.bool d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(set_nickname_cs_req), field(13)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.nickname <- Pbrt.Decoder.string d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(set_nickname_cs_req), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    is_modify = v.is_modify;
    nickname = v.nickname;
  } : set_nickname_cs_req)

let rec decode_pb_set_nickname_sc_rsp d =
  let v = default_set_nickname_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.nlgoggmaeod <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(set_nickname_sc_rsp), field(1)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.is_modify <- Pbrt.Decoder.bool d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(set_nickname_sc_rsp), field(8)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(set_nickname_sc_rsp), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nlgoggmaeod = v.nlgoggmaeod;
    is_modify = v.is_modify;
    retcode = v.retcode;
  } : set_nickname_sc_rsp)

let rec decode_pb_get_level_reward_taken_list_cs_req d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(get_level_reward_taken_list_cs_req)" pk

let rec decode_pb_get_level_reward_taken_list_sc_rsp d =
  let v = default_get_level_reward_taken_list_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.taken_level_list <- List.rev v.taken_level_list;
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_level_reward_taken_list_sc_rsp), field(8)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.taken_level_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_level_reward_taken_list_sc_rsp), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    taken_level_list = v.taken_level_list;
  } : get_level_reward_taken_list_sc_rsp)

let rec decode_pb_fkemblmibgd d =
  let v = default_fkemblmibgd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fkemblmibgd), field(8)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.idcigdfjabi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fkemblmibgd), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    level = v.level;
    idcigdfjabi = v.idcigdfjabi;
  } : fkemblmibgd)

let rec decode_pb_pjfenccabaa d =
  let v = default_pjfenccabaa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pjfenccabaa), field(7)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pjfenccabaa), field(15)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pjfenccabaa), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    level = v.level;
    reward = v.reward;
    retcode = v.retcode;
  } : pjfenccabaa)

let rec decode_pb_bdkfldgnelf d =
  let v = default_bdkfldgnelf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.language <- decode_pb_language_type d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bdkfldgnelf), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    language = v.language;
  } : bdkfldgnelf)

let rec decode_pb_ihcijilblji d =
  let v = default_ihcijilblji_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.language <- decode_pb_language_type d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ihcijilblji), field(9)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ihcijilblji), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    language = v.language;
    retcode = v.retcode;
  } : ihcijilblji)

let rec decode_pb_efgokaehlcl d =
  let v = default_efgokaehlcl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.flnaoghpbna <- Pbrt.Decoder.string d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(efgokaehlcl), field(5)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.khihdnfapob <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(efgokaehlcl), field(3)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.end_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(efgokaehlcl), field(7)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.begin_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(efgokaehlcl), field(11)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.iliojodbdeb <- Pbrt.Decoder.string d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(efgokaehlcl), field(2)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.ohbhkcgmfek <- Pbrt.Decoder.bool d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(efgokaehlcl), field(9)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.bhmegdiiglh <- Pbrt.Decoder.string d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(efgokaehlcl), field(4)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.manomfgafia <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(efgokaehlcl), field(12)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.pfbnanpcdjh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(efgokaehlcl), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    flnaoghpbna = v.flnaoghpbna;
    khihdnfapob = v.khihdnfapob;
    end_time = v.end_time;
    begin_time = v.begin_time;
    iliojodbdeb = v.iliojodbdeb;
    ohbhkcgmfek = v.ohbhkcgmfek;
    bhmegdiiglh = v.bhmegdiiglh;
    manomfgafia = v.manomfgafia;
    pfbnanpcdjh = v.pfbnanpcdjh;
  } : efgokaehlcl)

let rec decode_pb_innjajipelm d =
  let v = default_innjajipelm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.alefnglnfdd <- List.rev v.alefnglnfdd;
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.alefnglnfdd <- (decode_pb_efgokaehlcl (Pbrt.Decoder.nested d)) :: v.alefnglnfdd;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(innjajipelm), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    alefnglnfdd = v.alefnglnfdd;
  } : innjajipelm)

let rec decode_pb_cokohpcdnfo d =
  let v = default_cokohpcdnfo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.khclmhjlopk <- List.rev v.khclmhjlopk;
    ); continue__ := false
    | Some (1566, Pbrt.Varint) -> begin
      v.cmelkdaaapf <- Pbrt.Decoder.bool d;
    end
    | Some (1566, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1566)" pk
    | Some (1952, Pbrt.Varint) -> begin
      v.ophmlpkgkij <- Pbrt.Decoder.bool d;
    end
    | Some (1952, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1952)" pk
    | Some (563, Pbrt.Bytes) -> begin
      v.mmcjggcenpp <- Pbrt.Decoder.string d;
    end
    | Some (563, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(563)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.pllenlninnh <- Pbrt.Decoder.string d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(5)" pk
    | Some (1457, Pbrt.Varint) -> begin
      v.lamjdogmfam <- Pbrt.Decoder.bool d;
    end
    | Some (1457, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1457)" pk
    | Some (716, Pbrt.Bytes) -> begin
      v.bblkofdgpap <- Pbrt.Decoder.string d;
    end
    | Some (716, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(716)" pk
    | Some (1220, Pbrt.Bytes) -> begin
      v.ephafkmpmif <- Pbrt.Decoder.string d;
    end
    | Some (1220, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1220)" pk
    | Some (1192, Pbrt.Bytes) -> begin
      v.gmdfmaapebc <- Pbrt.Decoder.string d;
    end
    | Some (1192, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1192)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.mlcpkfihkko <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(15)" pk
    | Some (593, Pbrt.Varint) -> begin
      v.bgpcckkddmb <- Pbrt.Decoder.bool d;
    end
    | Some (593, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(593)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.kejpmagdbai <- Pbrt.Decoder.string d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(14)" pk
    | Some (677, Pbrt.Bytes) -> begin
      v.nkfnaojjlph <- Pbrt.Decoder.string d;
    end
    | Some (677, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(677)" pk
    | Some (405, Pbrt.Bytes) -> begin
      v.hkdmdpmahem <- Pbrt.Decoder.string d;
    end
    | Some (405, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(405)" pk
    | Some (1113, Pbrt.Bytes) -> begin
      v.onkpibmdmpi <- Pbrt.Decoder.string d;
    end
    | Some (1113, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1113)" pk
    | Some (87, Pbrt.Bytes) -> begin
      v.fbobagpbbha <- Pbrt.Decoder.string d;
    end
    | Some (87, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(87)" pk
    | Some (1808, Pbrt.Bytes) -> begin
      v.mjjbccmcplk <- Pbrt.Decoder.string d;
    end
    | Some (1808, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1808)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.cfanklgaeoi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(2)" pk
    | Some (1570, Pbrt.Bytes) -> begin
      v.anegjdlagll <- Pbrt.Decoder.string d;
    end
    | Some (1570, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1570)" pk
    | Some (1915, Pbrt.Varint) -> begin
      v.gepfimnioke <- Pbrt.Decoder.bool d;
    end
    | Some (1915, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1915)" pk
    | Some (1629, Pbrt.Bytes) -> begin
      v.lpnoekiaocp <- Pbrt.Decoder.string d;
    end
    | Some (1629, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1629)" pk
    | Some (1583, Pbrt.Bytes) -> begin
      v.fgkgddonpkm <- Pbrt.Decoder.string d;
    end
    | Some (1583, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1583)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.nejihdfafbe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(13)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.hafcipegpin <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.kghpigijmbp <- Pbrt.Decoder.string d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(8)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.msg <- Pbrt.Decoder.string d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(11)" pk
    | Some (915, Pbrt.Bytes) -> begin
      v.molbpmljolo <- Pbrt.Decoder.string d;
    end
    | Some (915, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(915)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.didfenikjdg <- Pbrt.Decoder.string d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(3)" pk
    | Some (1028, Pbrt.Varint) -> begin
      v.kjadmknddjl <- Pbrt.Decoder.bool d;
    end
    | Some (1028, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1028)" pk
    | Some (663, Pbrt.Bytes) -> begin
      v.khclmhjlopk <- (Pbrt.Decoder.string d) :: v.khclmhjlopk;
    end
    | Some (663, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(663)" pk
    | Some (661, Pbrt.Bytes) -> begin
      v.jmaggbeaiib <- Pbrt.Decoder.string d;
    end
    | Some (661, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(661)" pk
    | Some (1462, Pbrt.Bytes) -> begin
      v.okplkdhmohc <- Pbrt.Decoder.string d;
    end
    | Some (1462, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1462)" pk
    | Some (1236, Pbrt.Bytes) -> begin
      v.ooeapiaafnb <- Pbrt.Decoder.string d;
    end
    | Some (1236, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1236)" pk
    | Some (1773, Pbrt.Bytes) -> begin
      v.jelgnociekj <- Pbrt.Decoder.string d;
    end
    | Some (1773, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1773)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.hhpakondiob <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(9)" pk
    | Some (297, Pbrt.Varint) -> begin
      v.opgmnlinakc <- Pbrt.Decoder.bool d;
    end
    | Some (297, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(297)" pk
    | Some (1754, Pbrt.Varint) -> begin
      v.begfcjlkmob <- Pbrt.Decoder.bool d;
    end
    | Some (1754, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1754)" pk
    | Some (1132, Pbrt.Bytes) -> begin
      v.nnhognglfbd <- Pbrt.Decoder.string d;
    end
    | Some (1132, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1132)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(12)" pk
    | Some (148, Pbrt.Bytes) -> begin
      v.kgljfhdhdek <- Pbrt.Decoder.string d;
    end
    | Some (148, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(148)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.cjnjnfglick <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(6)" pk
    | Some (614, Pbrt.Bytes) -> begin
      v.ncdioakalen <- Pbrt.Decoder.string d;
    end
    | Some (614, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(614)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.jdmpkhbijmn <- Pbrt.Decoder.string d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(4)" pk
    | Some (1486, Pbrt.Varint) -> begin
      v.gediongpdha <- Pbrt.Decoder.bool d;
    end
    | Some (1486, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1486)" pk
    | Some (414, Pbrt.Varint) -> begin
      v.mbdacjejamf <- Pbrt.Decoder.bool d;
    end
    | Some (414, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(414)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.ificjdejjdn <- Pbrt.Decoder.string d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(10)" pk
    | Some (1012, Pbrt.Bytes) -> begin
      v.dmdahpindno <- Pbrt.Decoder.string d;
    end
    | Some (1012, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1012)" pk
    | Some (1176, Pbrt.Varint) -> begin
      v.gjaeghbeaio <- Pbrt.Decoder.bool d;
    end
    | Some (1176, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1176)" pk
    | Some (1710, Pbrt.Varint) -> begin
      v.ddohlaegeah <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1710, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1710)" pk
    | Some (1430, Pbrt.Bytes) -> begin
      v.bfoekehoejp <- Pbrt.Decoder.string d;
    end
    | Some (1430, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1430)" pk
    | Some (1370, Pbrt.Bytes) -> begin
      v.chnmpglhncm <- Pbrt.Decoder.string d;
    end
    | Some (1370, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1370)" pk
    | Some (873, Pbrt.Bytes) -> begin
      v.pggjoogfgfc <- Pbrt.Decoder.string d;
    end
    | Some (873, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(873)" pk
    | Some (1523, Pbrt.Varint) -> begin
      v.dklchemciai <- Pbrt.Decoder.bool d;
    end
    | Some (1523, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1523)" pk
    | Some (512, Pbrt.Bytes) -> begin
      v.migeegecjcb <- Pbrt.Decoder.string d;
    end
    | Some (512, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(512)" pk
    | Some (312, Pbrt.Bytes) -> begin
      v.ciinblfopda <- Pbrt.Decoder.string d;
    end
    | Some (312, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(312)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.fkenkkhlhhd <- Pbrt.Decoder.bool d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(7)" pk
    | Some (1420, Pbrt.Bytes) -> begin
      v.hjbndbbicdo <- Pbrt.Decoder.string d;
    end
    | Some (1420, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1420)" pk
    | Some (571, Pbrt.Bytes) -> begin
      v.fggmipmoook <- Pbrt.Decoder.string d;
    end
    | Some (571, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(571)" pk
    | Some (825, Pbrt.Varint) -> begin
      v.moikmlhoiap <- Pbrt.Decoder.bool d;
    end
    | Some (825, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(825)" pk
    | Some (1750, Pbrt.Bytes) -> begin
      v.imffkkjpojc <- Pbrt.Decoder.string d;
    end
    | Some (1750, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cokohpcdnfo), field(1750)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cmelkdaaapf = v.cmelkdaaapf;
    ophmlpkgkij = v.ophmlpkgkij;
    mmcjggcenpp = v.mmcjggcenpp;
    pllenlninnh = v.pllenlninnh;
    lamjdogmfam = v.lamjdogmfam;
    bblkofdgpap = v.bblkofdgpap;
    ephafkmpmif = v.ephafkmpmif;
    gmdfmaapebc = v.gmdfmaapebc;
    mlcpkfihkko = v.mlcpkfihkko;
    bgpcckkddmb = v.bgpcckkddmb;
    kejpmagdbai = v.kejpmagdbai;
    nkfnaojjlph = v.nkfnaojjlph;
    hkdmdpmahem = v.hkdmdpmahem;
    onkpibmdmpi = v.onkpibmdmpi;
    fbobagpbbha = v.fbobagpbbha;
    mjjbccmcplk = v.mjjbccmcplk;
    cfanklgaeoi = v.cfanklgaeoi;
    anegjdlagll = v.anegjdlagll;
    gepfimnioke = v.gepfimnioke;
    lpnoekiaocp = v.lpnoekiaocp;
    fgkgddonpkm = v.fgkgddonpkm;
    nejihdfafbe = v.nejihdfafbe;
    hafcipegpin = v.hafcipegpin;
    kghpigijmbp = v.kghpigijmbp;
    msg = v.msg;
    molbpmljolo = v.molbpmljolo;
    didfenikjdg = v.didfenikjdg;
    kjadmknddjl = v.kjadmknddjl;
    khclmhjlopk = v.khclmhjlopk;
    jmaggbeaiib = v.jmaggbeaiib;
    okplkdhmohc = v.okplkdhmohc;
    ooeapiaafnb = v.ooeapiaafnb;
    jelgnociekj = v.jelgnociekj;
    hhpakondiob = v.hhpakondiob;
    opgmnlinakc = v.opgmnlinakc;
    begfcjlkmob = v.begfcjlkmob;
    nnhognglfbd = v.nnhognglfbd;
    retcode = v.retcode;
    kgljfhdhdek = v.kgljfhdhdek;
    cjnjnfglick = v.cjnjnfglick;
    ncdioakalen = v.ncdioakalen;
    jdmpkhbijmn = v.jdmpkhbijmn;
    gediongpdha = v.gediongpdha;
    mbdacjejamf = v.mbdacjejamf;
    ificjdejjdn = v.ificjdejjdn;
    dmdahpindno = v.dmdahpindno;
    gjaeghbeaio = v.gjaeghbeaio;
    ddohlaegeah = v.ddohlaegeah;
    bfoekehoejp = v.bfoekehoejp;
    chnmpglhncm = v.chnmpglhncm;
    pggjoogfgfc = v.pggjoogfgfc;
    dklchemciai = v.dklchemciai;
    migeegecjcb = v.migeegecjcb;
    ciinblfopda = v.ciinblfopda;
    fkenkkhlhhd = v.fkenkkhlhhd;
    hjbndbbicdo = v.hjbndbbicdo;
    fggmipmoook = v.fggmipmoook;
    moikmlhoiap = v.moikmlhoiap;
    imffkkjpojc = v.imffkkjpojc;
  } : cokohpcdnfo)

let rec decode_pb_feofohjeheo d =
  let v = default_feofohjeheo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.mmlefkndolf <- Pbrt.Decoder.string d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(feofohjeheo), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mmlefkndolf = v.mmlefkndolf;
  } : feofohjeheo)

let rec decode_pb_multi_path_avatar d =
  let v = default_multi_path_avatar_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.equip_relic_list <- List.rev v.equip_relic_list;
      v.alfcdfljlef <- List.rev v.alfcdfljlef;
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.alfcdfljlef <- (decode_pb_avatar_skill_tree (Pbrt.Decoder.nested d)) :: v.alfcdfljlef;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(multi_path_avatar), field(4)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.rank <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(multi_path_avatar), field(7)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.cfehgipoikg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(multi_path_avatar), field(10)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.avatar_id <- decode_pb_multi_path_avatar_type d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(multi_path_avatar), field(2)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.equip_relic_list <- (decode_pb_equip_relic (Pbrt.Decoder.nested d)) :: v.equip_relic_list;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(multi_path_avatar), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    alfcdfljlef = v.alfcdfljlef;
    rank = v.rank;
    cfehgipoikg = v.cfehgipoikg;
    avatar_id = v.avatar_id;
    equip_relic_list = v.equip_relic_list;
  } : multi_path_avatar)

let rec decode_pb_jblpadknjeg d =
  let v = default_jblpadknjeg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.avatar_id <- decode_pb_multi_path_avatar_type d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jblpadknjeg), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id = v.avatar_id;
  } : jblpadknjeg)

let rec decode_pb_hkoboiogoan d =
  let v = default_hkoboiogoan_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hkoboiogoan), field(9)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.avatar_id <- decode_pb_multi_path_avatar_type d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hkoboiogoan), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    avatar_id = v.avatar_id;
  } : hkoboiogoan)

let rec decode_pb_eeibaolcgme d =
  let v = default_eeibaolcgme_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_id_list <- List.rev v.avatar_id_list;
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.avatar_id_list <- (decode_pb_multi_path_avatar_type d) :: v.avatar_id_list;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eeibaolcgme), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id_list = v.avatar_id_list;
  } : eeibaolcgme)

let rec decode_pb_ckfndpojijk d =
  let v = default_ckfndpojijk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ckfndpojijk), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : ckfndpojijk)

let rec decode_pb_get_multi_path_avatar_info_cs_req d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(get_multi_path_avatar_info_cs_req)" pk

let rec decode_pb_get_multi_path_avatar_info_sc_rsp d =
  let v = default_get_multi_path_avatar_info_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.cur_path_type_map <- List.rev v.cur_path_type_map;
      v.dbkjfgdlemk <- List.rev v.dbkjfgdlemk;
      v.epdnicajoli <- List.rev v.epdnicajoli;
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_multi_path_avatar_info_sc_rsp), field(3)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.epdnicajoli <- (decode_pb_multi_path_avatar (Pbrt.Decoder.nested d)) :: v.epdnicajoli;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_multi_path_avatar_info_sc_rsp), field(2)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.dbkjfgdlemk <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_multi_path_avatar_info_sc_rsp), field(4)" pk
    | Some (13, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        decode_pb_multi_path_avatar_type d
      ) in
      v.cur_path_type_map <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.cur_path_type_map;
      );
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_multi_path_avatar_info_sc_rsp), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    epdnicajoli = v.epdnicajoli;
    dbkjfgdlemk = v.dbkjfgdlemk;
    cur_path_type_map = v.cur_path_type_map;
  } : get_multi_path_avatar_info_sc_rsp)

let rec decode_pb_jnfhfddncdh d =
  let v = default_jnfhfddncdh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.avatar_id <- decode_pb_multi_path_avatar_type d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnfhfddncdh), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id = v.avatar_id;
  } : jnfhfddncdh)

let rec decode_pb_nfkgjkbpiop d =
  let v = default_nfkgjkbpiop_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.dbkjfgdlemk <- List.rev v.dbkjfgdlemk;
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.avatar_id <- decode_pb_multi_path_avatar_type d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nfkgjkbpiop), field(7)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nfkgjkbpiop), field(3)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nfkgjkbpiop), field(1)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.dbkjfgdlemk <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nfkgjkbpiop), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id = v.avatar_id;
    reward = v.reward;
    retcode = v.retcode;
    dbkjfgdlemk = v.dbkjfgdlemk;
  } : nfkgjkbpiop)

let rec decode_pb_gnommghhgik d =
  let v = default_gnommghhgik_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.base_avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gnommghhgik), field(3)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.nbbomjghppd <- decode_pb_multi_path_avatar_type d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gnommghhgik), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    base_avatar_id = v.base_avatar_id;
    nbbomjghppd = v.nbbomjghppd;
  } : gnommghhgik)

let rec decode_pb_peiohgepkil d =
  let v = default_peiohgepkil_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.ilpdljcncon <- decode_pb_gender d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(peiohgepkil), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ilpdljcncon = v.ilpdljcncon;
  } : peiohgepkil)

let rec decode_pb_oapapodfeaa d =
  let v = default_oapapodfeaa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.iekbaibeoib <- List.rev v.iekbaibeoib;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.iekbaibeoib <- (decode_pb_multi_path_avatar (Pbrt.Decoder.nested d)) :: v.iekbaibeoib;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oapapodfeaa), field(7)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oapapodfeaa), field(13)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.cfncjocmmho <- decode_pb_multi_path_avatar_type d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oapapodfeaa), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    iekbaibeoib = v.iekbaibeoib;
    retcode = v.retcode;
    cfncjocmmho = v.cfncjocmmho;
  } : oapapodfeaa)

let rec decode_pb_galkddajoge d =
  let v = default_galkddajoge_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.ilpdljcncon <- decode_pb_gender d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(galkddajoge), field(7)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.nickname <- Pbrt.Decoder.string d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(galkddajoge), field(11)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.is_modify <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(galkddajoge), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ilpdljcncon = v.ilpdljcncon;
    nickname = v.nickname;
    is_modify = v.is_modify;
  } : galkddajoge)

let rec decode_pb_aiibjgampbh d =
  let v = default_aiibjgampbh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.iekbaibeoib <- List.rev v.iekbaibeoib;
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.cfncjocmmho <- decode_pb_multi_path_avatar_type d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aiibjgampbh), field(2)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.nlgoggmaeod <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aiibjgampbh), field(14)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.iekbaibeoib <- (decode_pb_multi_path_avatar (Pbrt.Decoder.nested d)) :: v.iekbaibeoib;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aiibjgampbh), field(9)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aiibjgampbh), field(4)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.is_modify <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aiibjgampbh), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cfncjocmmho = v.cfncjocmmho;
    nlgoggmaeod = v.nlgoggmaeod;
    iekbaibeoib = v.iekbaibeoib;
    retcode = v.retcode;
    is_modify = v.is_modify;
  } : aiibjgampbh)

let rec decode_pb_bknoejidmkn d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(bknoejidmkn)" pk

let rec decode_pb_kcnobmpglpa d =
  let v = default_kcnobmpglpa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.npmgknjajho <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcnobmpglpa), field(2)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.bojlpifgmag <- Pbrt.Decoder.bool d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcnobmpglpa), field(8)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.kicpdkalbmn <- Pbrt.Decoder.string d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcnobmpglpa), field(15)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.pacmaejclee <- Pbrt.Decoder.string d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcnobmpglpa), field(6)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.aahjlfbfjbd <- decode_pb_pifanmpbmaj d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcnobmpglpa), field(14)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.mfcdfkjanna <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcnobmpglpa), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    npmgknjajho = v.npmgknjajho;
    bojlpifgmag = v.bojlpifgmag;
    kicpdkalbmn = v.kicpdkalbmn;
    pacmaejclee = v.pacmaejclee;
    aahjlfbfjbd = v.aahjlfbfjbd;
    mfcdfkjanna = v.mfcdfkjanna;
  } : kcnobmpglpa)

let rec decode_pb_hejbmlnejlj d =
  let v = default_hejbmlnejlj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.gmhjjigjffd <- List.rev v.gmhjjigjffd;
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.afmgandnccg <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hejbmlnejlj), field(5)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hejbmlnejlj), field(3)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.fkdbgepognd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hejbmlnejlj), field(6)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.lhpldhjkdkp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hejbmlnejlj), field(8)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.gmhjjigjffd <- (decode_pb_kcnobmpglpa (Pbrt.Decoder.nested d)) :: v.gmhjjigjffd;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hejbmlnejlj), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    afmgandnccg = v.afmgandnccg;
    retcode = v.retcode;
    fkdbgepognd = v.fkdbgepognd;
    lhpldhjkdkp = v.lhpldhjkdkp;
    gmhjjigjffd = v.gmhjjigjffd;
  } : hejbmlnejlj)

let rec decode_pb_doekpfaafpa d =
  let v = default_doekpfaafpa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(doekpfaafpa), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    reward = v.reward;
  } : doekpfaafpa)

let rec decode_pb_jlgifffnckb d =
  let v = default_jlgifffnckb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.download_data <- Some (decode_pb_client_download_data (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jlgifffnckb), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    download_data = v.download_data;
  } : jlgifffnckb)

let rec decode_pb_hlmccoifdmj d =
  let v = default_hlmccoifdmj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.data <- Some (decode_pb_client_obj_download_data (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hlmccoifdmj), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    data = v.data;
  } : hlmccoifdmj)

let rec decode_pb_update_feature_switch_sc_notify d =
  let v = default_update_feature_switch_sc_notify_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.switch_info_list <- List.rev v.switch_info_list;
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.switch_info_list <- (decode_pb_feature_switch_info (Pbrt.Decoder.nested d)) :: v.switch_info_list;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(update_feature_switch_sc_notify), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    switch_info_list = v.switch_info_list;
  } : update_feature_switch_sc_notify)

let rec decode_pb_oiphpmdgaof d =
  let v = default_oiphpmdgaof_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.adiialnejmk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oiphpmdgaof), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    adiialnejmk = v.adiialnejmk;
  } : oiphpmdgaof)

let rec decode_pb_anhilnpolho d =
  let v = default_anhilnpolho_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.hejdlhijgna <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(anhilnpolho), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hejdlhijgna = v.hejdlhijgna;
  } : anhilnpolho)

let rec decode_pb_fpmdbnalpfg d =
  let v = default_fpmdbnalpfg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fpmdbnalpfg), field(13)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.hejdlhijgna <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fpmdbnalpfg), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    hejdlhijgna = v.hejdlhijgna;
  } : fpmdbnalpfg)

let rec decode_pb_ihifkjipeeh d =
  let v = default_ihifkjipeeh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.eokoalkmebo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ihifkjipeeh), field(2)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.ipnkbphbnco <- Pbrt.Decoder.string d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ihifkjipeeh), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    eokoalkmebo = v.eokoalkmebo;
    ipnkbphbnco = v.ipnkbphbnco;
  } : ihifkjipeeh)

let rec decode_pb_oeokelkocae d =
  let v = default_oeokelkocae_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oeokelkocae), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : oeokelkocae)

let rec decode_pb_lidenhkbbkf d =
  let v = default_lidenhkbbkf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bofegpjagop <- List.rev v.bofegpjagop;
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lidenhkbbkf), field(13)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.bofegpjagop <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lidenhkbbkf), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    bofegpjagop = v.bofegpjagop;
  } : lidenhkbbkf)

let rec decode_pb_player_heart_beat_cs_req d =
  let v = default_player_heart_beat_cs_req_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.upload_data <- Some (decode_pb_client_upload_data (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_heart_beat_cs_req), field(8)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.fhbehdlecea <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_heart_beat_cs_req), field(5)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.client_time_ms <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_heart_beat_cs_req), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    upload_data = v.upload_data;
    fhbehdlecea = v.fhbehdlecea;
    client_time_ms = v.client_time_ms;
  } : player_heart_beat_cs_req)

let rec decode_pb_player_heart_beat_sc_rsp d =
  let v = default_player_heart_beat_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.server_time_ms <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_heart_beat_sc_rsp), field(12)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.client_time_ms <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_heart_beat_sc_rsp), field(11)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.download_data <- Some (decode_pb_client_download_data (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_heart_beat_sc_rsp), field(10)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(player_heart_beat_sc_rsp), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    server_time_ms = v.server_time_ms;
    client_time_ms = v.client_time_ms;
    download_data = v.download_data;
    retcode = v.retcode;
  } : player_heart_beat_sc_rsp)

let rec decode_pb_ikgcpjdmdna d =
  let v = default_ikgcpjdmdna_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.kghcdbdmdki <- decode_pb_feature_switch_type d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ikgcpjdmdna), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kghcdbdmdki = v.kghcdbdmdki;
  } : ikgcpjdmdna)

let rec decode_pb_lajmnegeami d =
  let v = default_lajmnegeami_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.fgmdoekgpee <- decode_pb_hchcnfgecjj d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lajmnegeami), field(8)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.chlibbgdmco <- Pbrt.Decoder.string d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lajmnegeami), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fgmdoekgpee = v.fgmdoekgpee;
    chlibbgdmco = v.chlibbgdmco;
  } : lajmnegeami)

let rec decode_pb_kjffbpgnmjf d =
  let v = default_kjffbpgnmjf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.monicakdnei <- Pbrt.Decoder.bytes d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kjffbpgnmjf), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    monicakdnei = v.monicakdnei;
  } : kjffbpgnmjf)

let rec decode_pb_cfagkddbaib d =
  let v = default_cfagkddbaib_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pefekdhjbce <- List.rev v.pefekdhjbce;
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.pefekdhjbce <- (decode_pb_lajmnegeami (Pbrt.Decoder.nested d)) :: v.pefekdhjbce;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cfagkddbaib), field(14)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.iaeneafaogo <- Pbrt.Decoder.bytes d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cfagkddbaib), field(8)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cfagkddbaib), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pefekdhjbce = v.pefekdhjbce;
    iaeneafaogo = v.iaeneafaogo;
    retcode = v.retcode;
  } : cfagkddbaib)

let rec decode_pb_icpodpepelm d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(icpodpepelm)" pk

let rec decode_pb_cobbfmhbgkd d =
  let v = default_cobbfmhbgkd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cobbfmhbgkd), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : cobbfmhbgkd)

let rec decode_pb_ifjegahkoic d =
  let v = default_ifjegahkoic_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.ocoogaapion <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifjegahkoic), field(6)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifjegahkoic), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ocoogaapion = v.ocoogaapion;
    id = v.id;
  } : ifjegahkoic)

let rec decode_pb_hbgacfhandm d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(hbgacfhandm)" pk

let rec decode_pb_ehnknlejadd d =
  let v = default_ehnknlejadd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.nofmnpkaljn <- List.rev v.nofmnpkaljn;
      v.hilakbadccb <- List.rev v.hilakbadccb;
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ehnknlejadd), field(5)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.hilakbadccb <- (decode_pb_ifjegahkoic (Pbrt.Decoder.nested d)) :: v.hilakbadccb;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ehnknlejadd), field(7)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.nofmnpkaljn <- (decode_pb_ifjegahkoic (Pbrt.Decoder.nested d)) :: v.nofmnpkaljn;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ehnknlejadd), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    hilakbadccb = v.hilakbadccb;
    nofmnpkaljn = v.nofmnpkaljn;
  } : ehnknlejadd)

let rec decode_pb_ikiomheofcd d =
  let v = default_ikiomheofcd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.pdpjiakgpbf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ikiomheofcd), field(4)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.gdfbnkagmgi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ikiomheofcd), field(6)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.ogkdpgnkfmc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ikiomheofcd), field(7)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.nfcojigifbb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ikiomheofcd), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pdpjiakgpbf = v.pdpjiakgpbf;
    gdfbnkagmgi = v.gdfbnkagmgi;
    ogkdpgnkfmc = v.ogkdpgnkfmc;
    nfcojigifbb = v.nfcojigifbb;
  } : ikiomheofcd)

let rec decode_pb_ojligkojemk d =
  let v = default_ojligkojemk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ibfbefobfbd <- List.rev v.ibfbefobfbd;
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.gdfbnkagmgi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ojligkojemk), field(10)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.nfcojigifbb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ojligkojemk), field(9)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.ogkdpgnkfmc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ojligkojemk), field(1)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.ibfbefobfbd <- (decode_pb_ikiomheofcd (Pbrt.Decoder.nested d)) :: v.ibfbefobfbd;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ojligkojemk), field(15)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ojligkojemk), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gdfbnkagmgi = v.gdfbnkagmgi;
    nfcojigifbb = v.nfcojigifbb;
    ogkdpgnkfmc = v.ogkdpgnkfmc;
    ibfbefobfbd = v.ibfbefobfbd;
    uid = v.uid;
  } : ojligkojemk)

let rec decode_pb_fhhkmlboidi d =
  let v = default_fhhkmlboidi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.kagnbjdmamf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fhhkmlboidi), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kagnbjdmamf = v.kagnbjdmamf;
  } : fhhkmlboidi)

let rec decode_pb_reserve_stamina_exchange_sc_rsp d =
  let v = default_reserve_stamina_exchange_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(reserve_stamina_exchange_sc_rsp), field(14)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.num <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(reserve_stamina_exchange_sc_rsp), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    num = v.num;
  } : reserve_stamina_exchange_sc_rsp)

let rec decode_pb_liaainkncng d =
  let v = default_liaainkncng_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.ggndaapphak <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(liaainkncng), field(5)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.stamina <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(liaainkncng), field(13)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.dlpphgglpbo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(liaainkncng), field(2)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.gbdgbkkjfel <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(liaainkncng), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ggndaapphak = v.ggndaapphak;
    stamina = v.stamina;
    dlpphgglpbo = v.dlpphgglpbo;
    gbdgbkkjfel = v.gbdgbkkjfel;
  } : liaainkncng)

let rec decode_pb_jlbjgfcddal d =
  let v = default_jlbjgfcddal_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.ookalmpeleg <- Pbrt.Decoder.bool d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jlbjgfcddal), field(9)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.defkcpiepnb <- Pbrt.Decoder.bool d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jlbjgfcddal), field(7)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.dedidajjmcj <- Pbrt.Decoder.bool d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jlbjgfcddal), field(6)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.hhcgdeocomi <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jlbjgfcddal), field(11)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.ggodaiohjif <- Pbrt.Decoder.bool d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jlbjgfcddal), field(14)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.jcnincccakl <- Pbrt.Decoder.bool d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jlbjgfcddal), field(15)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.bkpaceckiia <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jlbjgfcddal), field(10)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.kmjdmefgcck <- Pbrt.Decoder.bool d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jlbjgfcddal), field(13)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.nhknohpdocc <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jlbjgfcddal), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ookalmpeleg = v.ookalmpeleg;
    defkcpiepnb = v.defkcpiepnb;
    dedidajjmcj = v.dedidajjmcj;
    hhcgdeocomi = v.hhcgdeocomi;
    ggodaiohjif = v.ggodaiohjif;
    jcnincccakl = v.jcnincccakl;
    bkpaceckiia = v.bkpaceckiia;
    kmjdmefgcck = v.kmjdmefgcck;
    nhknohpdocc = v.nhknohpdocc;
  } : jlbjgfcddal)

let rec decode_pb_jkddhpneldk d =
  let v = default_jkddhpneldk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.mbnknhhaaik <- Some (decode_pb_jlbjgfcddal (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jkddhpneldk), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mbnknhhaaik = v.mbnknhhaaik;
  } : jkddhpneldk)

let rec decode_pb_pbjhmijpmgc d =
  let v = default_pbjhmijpmgc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.mbnknhhaaik <- Some (decode_pb_jlbjgfcddal (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pbjhmijpmgc), field(4)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pbjhmijpmgc), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mbnknhhaaik = v.mbnknhhaaik;
    retcode = v.retcode;
  } : pbjhmijpmgc)

let rec decode_pb_jlabhnlhoad d =
  let v = default_jlabhnlhoad_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.upload_data <- Pbrt.Decoder.bytes d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jlabhnlhoad), field(7)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.fhbehdlecea <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jlabhnlhoad), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    upload_data = v.upload_data;
    fhbehdlecea = v.fhbehdlecea;
  } : jlabhnlhoad)

let rec decode_pb_kbjjciagnij d =
  let v = default_kbjjciagnij_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbjjciagnij), field(9)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.data <- Some (decode_pb_client_obj_download_data (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbjjciagnij), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    data = v.data;
  } : kbjjciagnij)

let rec decode_pb_mebodoaicgh d =
  let v = default_mebodoaicgh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.nlacdgkpceg <- List.rev v.nlacdgkpceg;
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.nlacdgkpceg <- (Pbrt.Decoder.string d) :: v.nlacdgkpceg;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mebodoaicgh), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nlacdgkpceg = v.nlacdgkpceg;
  } : mebodoaicgh)

let rec decode_pb_cnjenhgpijg d =
  let v = default_cnjenhgpijg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.gmjgmcecogm <- Pbrt.Decoder.bool d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnjenhgpijg), field(7)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.idfijahanmn <- Some (decode_pb_mebodoaicgh (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnjenhgpijg), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gmjgmcecogm = v.gmjgmcecogm;
    idfijahanmn = v.idfijahanmn;
  } : cnjenhgpijg)

let rec decode_pb_ofgpbmpjfkn d =
  let v = default_ofgpbmpjfkn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (738, Pbrt.Varint) -> begin
      v.gmjgmcecogm <- Pbrt.Decoder.bool d;
    end
    | Some (738, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ofgpbmpjfkn), field(738)" pk
    | Some (668, Pbrt.Bytes) -> begin
      v.mkjnmafpgji <- Some (decode_pb_mebodoaicgh (Pbrt.Decoder.nested d));
    end
    | Some (668, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ofgpbmpjfkn), field(668)" pk
    | Some (293, Pbrt.Bytes) -> begin
      v.hfnmlhlcjbd <- Some (decode_pb_mebodoaicgh (Pbrt.Decoder.nested d));
    end
    | Some (293, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ofgpbmpjfkn), field(293)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gmjgmcecogm = v.gmjgmcecogm;
    mkjnmafpgji = v.mkjnmafpgji;
    hfnmlhlcjbd = v.hfnmlhlcjbd;
  } : ofgpbmpjfkn)

let rec decode_pb_iakigocmcji d =
  let v = default_iakigocmcji_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1986, Pbrt.Bytes) -> begin
      v.ipeeimmbfnh <- Some (decode_pb_cnjenhgpijg (Pbrt.Decoder.nested d));
    end
    | Some (1986, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iakigocmcji), field(1986)" pk
    | Some (708, Pbrt.Bytes) -> begin
      v.bblbengbiof <- Some (decode_pb_ofgpbmpjfkn (Pbrt.Decoder.nested d));
    end
    | Some (708, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iakigocmcji), field(708)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ipeeimmbfnh = v.ipeeimmbfnh;
    bblbengbiof = v.bblbengbiof;
  } : iakigocmcji)

let rec decode_pb_hhogbpfijkl d =
  let v = default_hhogbpfijkl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhogbpfijkl), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : hhogbpfijkl)

let rec decode_pb_gdcclebbecc d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_player_board_type_none:gdcclebbecc)
  | 2843 -> (Cmd_set_head_icon_sc_rsp:gdcclebbecc)
  | 2839 -> (Cmd_set_is_display_avatar_info_cs_req:gdcclebbecc)
  | 2806 -> (Cmd_get_player_board_data_sc_rsp:gdcclebbecc)
  | 2865 -> (Cmd_set_assist_avatar_sc_rsp:gdcclebbecc)
  | 2833 -> (Cmd_set_signature_cs_req:gdcclebbecc)
  | 2811 -> (Cmd_set_head_icon_cs_req:gdcclebbecc)
  | 2893 -> (Cmd_set_display_avatar_sc_rsp:gdcclebbecc)
  | 2851 -> (Cmd_unlock_head_icon_sc_notify:gdcclebbecc)
  | 2899 -> (Cmd_set_signature_sc_rsp:gdcclebbecc)
  | 2868 -> (Cmd_get_player_board_data_cs_req:gdcclebbecc)
  | 2854 -> (Cmd_set_assist_avatar_cs_req:gdcclebbecc)
  | 2856 -> (Cmd_set_display_avatar_cs_req:gdcclebbecc)
  | 2829 -> (Cmd_set_is_display_avatar_info_sc_rsp:gdcclebbecc)
  | _ -> Pbrt.Decoder.malformed_variant "gdcclebbecc"

let rec decode_pb_ilmpdolbflp d =
  let v = default_ilmpdolbflp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ilmpdolbflp), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
  } : ilmpdolbflp)

let rec decode_pb_jioifojmhgg d =
  let v = default_jioifojmhgg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.pos <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jioifojmhgg), field(13)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jioifojmhgg), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pos = v.pos;
    avatar_id = v.avatar_id;
  } : jioifojmhgg)

let rec decode_pb_acighdhodol d =
  let v = default_acighdhodol_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hoannlkcmoj <- List.rev v.hoannlkcmoj;
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.ebiebipemmp <- Pbrt.Decoder.bool d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(acighdhodol), field(8)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.hoannlkcmoj <- (decode_pb_jioifojmhgg (Pbrt.Decoder.nested d)) :: v.hoannlkcmoj;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(acighdhodol), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ebiebipemmp = v.ebiebipemmp;
    hoannlkcmoj = v.hoannlkcmoj;
  } : acighdhodol)

let rec decode_pb_pdbhegkejnn d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(pdbhegkejnn)" pk

let rec decode_pb_ejjbfalmlpl d =
  let v = default_ejjbfalmlpl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.fejkecfmdnc <- List.rev v.fejkecfmdnc;
      v.djjdncbpmfk <- List.rev v.djjdncbpmfk;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.djjdncbpmfk <- (decode_pb_ilmpdolbflp (Pbrt.Decoder.nested d)) :: v.djjdncbpmfk;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ejjbfalmlpl), field(12)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.fejkecfmdnc <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ejjbfalmlpl), field(1)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.cpkikinabfj <- Pbrt.Decoder.string d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ejjbfalmlpl), field(13)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.mffdmonhkah <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ejjbfalmlpl), field(14)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.ecgmfoohejj <- Some (decode_pb_acighdhodol (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ejjbfalmlpl), field(4)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ejjbfalmlpl), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    djjdncbpmfk = v.djjdncbpmfk;
    fejkecfmdnc = v.fejkecfmdnc;
    cpkikinabfj = v.cpkikinabfj;
    mffdmonhkah = v.mffdmonhkah;
    ecgmfoohejj = v.ecgmfoohejj;
    retcode = v.retcode;
  } : ejjbfalmlpl)

let rec decode_pb_pnhppeakeme d =
  let v = default_pnhppeakeme_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnhppeakeme), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
  } : pnhppeakeme)

let rec decode_pb_djpcljoklmh d =
  let v = default_djpcljoklmh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(djpcljoklmh), field(14)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.mffdmonhkah <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(djpcljoklmh), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    mffdmonhkah = v.mffdmonhkah;
  } : djpcljoklmh)

let rec decode_pb_omdgafjddhp d =
  let v = default_omdgafjddhp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hoannlkcmoj <- List.rev v.hoannlkcmoj;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.hoannlkcmoj <- (decode_pb_jioifojmhgg (Pbrt.Decoder.nested d)) :: v.hoannlkcmoj;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(omdgafjddhp), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hoannlkcmoj = v.hoannlkcmoj;
  } : omdgafjddhp)

let rec decode_pb_hlghliokhof d =
  let v = default_hlghliokhof_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hoannlkcmoj <- List.rev v.hoannlkcmoj;
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hlghliokhof), field(5)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.hoannlkcmoj <- (decode_pb_jioifojmhgg (Pbrt.Decoder.nested d)) :: v.hoannlkcmoj;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hlghliokhof), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    hoannlkcmoj = v.hoannlkcmoj;
  } : hlghliokhof)

let rec decode_pb_mfeefdlinbd d =
  let v = default_mfeefdlinbd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.ebiebipemmp <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mfeefdlinbd), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ebiebipemmp = v.ebiebipemmp;
  } : mfeefdlinbd)

let rec decode_pb_fegfiolhldb d =
  let v = default_fegfiolhldb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.ebiebipemmp <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fegfiolhldb), field(1)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fegfiolhldb), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ebiebipemmp = v.ebiebipemmp;
    retcode = v.retcode;
  } : fegfiolhldb)

let rec decode_pb_egioindghap d =
  let v = default_egioindghap_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.cpkikinabfj <- Pbrt.Decoder.string d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egioindghap), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cpkikinabfj = v.cpkikinabfj;
  } : egioindghap)

let rec decode_pb_opcelbkmodd d =
  let v = default_opcelbkmodd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.cpkikinabfj <- Pbrt.Decoder.string d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(opcelbkmodd), field(10)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(opcelbkmodd), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cpkikinabfj = v.cpkikinabfj;
    retcode = v.retcode;
  } : opcelbkmodd)

let rec decode_pb_bfjeegoifjh d =
  let v = default_bfjeegoifjh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_id_list <- List.rev v.avatar_id_list;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bfjeegoifjh), field(1)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bfjeegoifjh), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id = v.avatar_id;
    avatar_id_list = v.avatar_id_list;
  } : bfjeegoifjh)

let rec decode_pb_fbmllcgdeaj d =
  let v = default_fbmllcgdeaj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_id_list <- List.rev v.avatar_id_list;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fbmllcgdeaj), field(7)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fbmllcgdeaj), field(11)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fbmllcgdeaj), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id_list = v.avatar_id_list;
    avatar_id = v.avatar_id;
    retcode = v.retcode;
  } : fbmllcgdeaj)

let rec decode_pb_kcmabmfmigk d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_player_return_type_none:kcmabmfmigk)
  | 4511 -> (Cmd_player_return_sign_sc_rsp:kcmabmfmigk)
  | 4593 -> (Cmd_player_return_take_point_reward_sc_rsp:kcmabmfmigk)
  | 4568 -> (Cmd_player_return_start_sc_notify:kcmabmfmigk)
  | 4551 -> (Cmd_player_return_info_query_cs_req:kcmabmfmigk)
  | 4539 -> (Cmd_player_return_take_reward_cs_req:kcmabmfmigk)
  | 4506 -> (Cmd_player_return_sign_cs_req:kcmabmfmigk)
  | 4599 -> (Cmd_player_return_force_finish_sc_notify:kcmabmfmigk)
  | 4529 -> (Cmd_player_return_take_reward_sc_rsp:kcmabmfmigk)
  | 4556 -> (Cmd_player_return_take_point_reward_cs_req:kcmabmfmigk)
  | 4543 -> (Cmd_player_return_point_change_sc_notify:kcmabmfmigk)
  | 4533 -> (Cmd_player_return_info_query_sc_rsp:kcmabmfmigk)
  | _ -> Pbrt.Decoder.malformed_variant "kcmabmfmigk"

let rec decode_pb_nnbobagndpf d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Player_return_none:nnbobagndpf)
  | 1 -> (Player_return_processing:nnbobagndpf)
  | 2 -> (Player_return_finish:nnbobagndpf)
  | _ -> Pbrt.Decoder.malformed_variant "nnbobagndpf"

let rec decode_pb_jgednnjphao d =
  let v = default_jgednnjphao_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.chpmfbghopb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jgednnjphao), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    chpmfbghopb = v.chpmfbghopb;
  } : jgednnjphao)

let rec decode_pb_cbabjjnejcj d =
  let v = default_cbabjjnejcj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ijifekbfnha <- List.rev v.ijifekbfnha;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.ijifekbfnha <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbabjjnejcj), field(9)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.ebfcemokigl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbabjjnejcj), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ijifekbfnha = v.ijifekbfnha;
    ebfcemokigl = v.ebfcemokigl;
  } : cbabjjnejcj)

let rec decode_pb_ofhpmpnmdgi d =
  let v = default_ofhpmpnmdgi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mplohdemggi <- List.rev v.mplohdemggi;
      v.ijifekbfnha <- List.rev v.ijifekbfnha;
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.ijifekbfnha <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ofhpmpnmdgi), field(5)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.mplohdemggi <- (decode_pb_item_list (Pbrt.Decoder.nested d)) :: v.mplohdemggi;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ofhpmpnmdgi), field(3)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ofhpmpnmdgi), field(6)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.ebfcemokigl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ofhpmpnmdgi), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ijifekbfnha = v.ijifekbfnha;
    mplohdemggi = v.mplohdemggi;
    retcode = v.retcode;
    ebfcemokigl = v.ebfcemokigl;
  } : ofhpmpnmdgi)

let rec decode_pb_bblkpnmpogi d =
  let v = default_bblkpnmpogi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.opmjfaoockc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bblkpnmpogi), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    opmjfaoockc = v.opmjfaoockc;
  } : bblkpnmpogi)

let rec decode_pb_lcpbfjjpbli d =
  let v = default_lcpbfjjpbli_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.fdbihcbjfpk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lcpbfjjpbli), field(1)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.okbfdiconjo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lcpbfjjpbli), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fdbihcbjfpk = v.fdbihcbjfpk;
    okbfdiconjo = v.okbfdiconjo;
  } : lcpbfjjpbli)

let rec decode_pb_komjjhcpkcl d =
  let v = default_komjjhcpkcl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.okbfdiconjo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(komjjhcpkcl), field(5)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.fdbihcbjfpk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(komjjhcpkcl), field(8)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(komjjhcpkcl), field(1)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.lhkcfidldjf <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(komjjhcpkcl), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    okbfdiconjo = v.okbfdiconjo;
    fdbihcbjfpk = v.fdbihcbjfpk;
    retcode = v.retcode;
    lhkcfidldjf = v.lhkcfidldjf;
  } : komjjhcpkcl)

let rec decode_pb_oejfjpbbhnd d =
  let v = default_oejfjpbbhnd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.kccleanfoef <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oejfjpbbhnd), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kccleanfoef = v.kccleanfoef;
  } : oejfjpbbhnd)

let rec decode_pb_mehnpknnhfl d =
  let v = default_mehnpknnhfl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mehnpknnhfl), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : mehnpknnhfl)

let rec decode_pb_mmbiokjgagb d =
  let v = default_mmbiokjgagb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.kccleanfoef <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmbiokjgagb), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kccleanfoef = v.kccleanfoef;
  } : mmbiokjgagb)

let rec decode_pb_kkeojconope d =
  let v = default_kkeojconope_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jlpokcllpoi <- List.rev v.jlpokcllpoi;
      v.ijifekbfnha <- List.rev v.ijifekbfnha;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.ijifekbfnha <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkeojconope), field(10)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.hecfjbignbo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkeojconope), field(13)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.jlpokcllpoi <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkeojconope), field(6)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.nfonlnipina <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkeojconope), field(4)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.opmjfaoockc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkeojconope), field(8)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.status <- decode_pb_nnbobagndpf d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkeojconope), field(12)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.mkideamcloh <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkeojconope), field(11)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.efooffoifnf <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkeojconope), field(3)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.nokicjcmako <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkeojconope), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ijifekbfnha = v.ijifekbfnha;
    hecfjbignbo = v.hecfjbignbo;
    jlpokcllpoi = v.jlpokcllpoi;
    nfonlnipina = v.nfonlnipina;
    opmjfaoockc = v.opmjfaoockc;
    status = v.status;
    mkideamcloh = v.mkideamcloh;
    efooffoifnf = v.efooffoifnf;
    nokicjcmako = v.nokicjcmako;
  } : kkeojconope)

let rec decode_pb_jgpajdafmnb d =
  let v = default_jgpajdafmnb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jgpajdafmnb), field(14)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.fjldoaefpfo <- Some (decode_pb_kkeojconope (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jgpajdafmnb), field(6)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.cbajboeeomd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jgpajdafmnb), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    fjldoaefpfo = v.fjldoaefpfo;
    cbajboeeomd = v.cbajboeeomd;
  } : jgpajdafmnb)

let rec decode_pb_eejjcahpekl d =
  let v = default_eejjcahpekl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.fjldoaefpfo <- Some (decode_pb_kkeojconope (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eejjcahpekl), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fjldoaefpfo = v.fjldoaefpfo;
  } : eejjcahpekl)

let rec decode_pb_pnnnehdhbgn d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_plot_type_none:pnnnehdhbgn)
  | 1106 -> (Cmd_finish_plot_sc_rsp:pnnnehdhbgn)
  | 1168 -> (Cmd_finish_plot_cs_req:pnnnehdhbgn)
  | _ -> Pbrt.Decoder.malformed_variant "pnnnehdhbgn"

let rec decode_pb_hcgpfgeaemh d =
  let v = default_hcgpfgeaemh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.bbdpimddalm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hcgpfgeaemh), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bbdpimddalm = v.bbdpimddalm;
  } : hcgpfgeaemh)

let rec decode_pb_nnjkpmjkbhg d =
  let v = default_nnjkpmjkbhg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nnjkpmjkbhg), field(5)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.bbdpimddalm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nnjkpmjkbhg), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    bbdpimddalm = v.bbdpimddalm;
  } : nnjkpmjkbhg)

let rec decode_pb_clplinbmjbm d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_punk_lord_type_none:clplinbmjbm)
  | 3278 -> (Cmd_get_punk_lord_battle_record_sc_rsp:clplinbmjbm)
  | 3225 -> (Cmd_punk_lord_raid_time_out_sc_notify:clplinbmjbm)
  | 3256 -> (Cmd_share_punk_lord_monster_cs_req:clplinbmjbm)
  | 3293 -> (Cmd_share_punk_lord_monster_sc_rsp:clplinbmjbm)
  | 3284 -> (Cmd_punk_lord_data_change_notify:clplinbmjbm)
  | 3229 -> (Cmd_summon_punk_lord_monster_sc_rsp:clplinbmjbm)
  | 3228 -> (Cmd_get_killed_punk_lord_monster_data_cs_req:clplinbmjbm)
  | 3248 -> (Cmd_take_punk_lord_point_reward_sc_rsp:clplinbmjbm)
  | 3297 -> (Cmd_get_punk_lord_data_sc_rsp:clplinbmjbm)
  | 3211 -> (Cmd_start_punk_lord_raid_cs_req:clplinbmjbm)
  | 3234 -> (Cmd_get_punk_lord_data_cs_req:clplinbmjbm)
  | 3282 -> (Cmd_punk_lord_monster_info_sc_notify:clplinbmjbm)
  | 3239 -> (Cmd_summon_punk_lord_monster_cs_req:clplinbmjbm)
  | 3290 -> (Cmd_punk_lord_battle_result_sc_notify:clplinbmjbm)
  | 3206 -> (Cmd_get_punk_lord_monster_data_sc_rsp:clplinbmjbm)
  | 3232 -> (Cmd_take_killed_punk_lord_monster_score_cs_req:clplinbmjbm)
  | 3243 -> (Cmd_start_punk_lord_raid_sc_rsp:clplinbmjbm)
  | 3216 -> (Cmd_take_killed_punk_lord_monster_score_sc_rsp:clplinbmjbm)
  | 3281 -> (Cmd_punk_lord_monster_killed_notify:clplinbmjbm)
  | 3223 -> (Cmd_get_punk_lord_battle_record_cs_req:clplinbmjbm)
  | 3265 -> (Cmd_take_punk_lord_point_reward_cs_req:clplinbmjbm)
  | 3209 -> (Cmd_get_killed_punk_lord_monster_data_sc_rsp:clplinbmjbm)
  | 3268 -> (Cmd_get_punk_lord_monster_data_cs_req:clplinbmjbm)
  | _ -> Pbrt.Decoder.malformed_variant "clplinbmjbm"

let rec decode_pb_anphoopdlbn d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Punk_lord_operation_none:anphoopdlbn)
  | 1 -> (Punk_lord_operation_refresh:anphoopdlbn)
  | 2 -> (Punk_lord_operation_share:anphoopdlbn)
  | 3 -> (Punk_lord_operation_start_raid:anphoopdlbn)
  | 4 -> (Punk_lord_operation_get_battle_record:anphoopdlbn)
  | _ -> Pbrt.Decoder.malformed_variant "anphoopdlbn"

let rec decode_pb_coalhafipng d =
  let v = default_coalhafipng_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.ddihfbmjacj <- Some (decode_pb_fgljkmekiom (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(coalhafipng), field(7)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.licghlgbmla <- decode_pb_punk_lord_attacker_status d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(coalhafipng), field(6)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.ipobnmhpfee <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(coalhafipng), field(8)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.basic_info <- Some (decode_pb_aapoalmfpan (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(coalhafipng), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ddihfbmjacj = v.ddihfbmjacj;
    licghlgbmla = v.licghlgbmla;
    ipobnmhpfee = v.ipobnmhpfee;
    basic_info = v.basic_info;
  } : coalhafipng)

let rec decode_pb_kmnmjombhjl d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(kmnmjombhjl)" pk

let rec decode_pb_glnelhcpcpo d =
  let v = default_glnelhcpcpo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.nnbfbfanojd <- List.rev v.nnbfbfanojd;
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glnelhcpcpo), field(12)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.nnbfbfanojd <- (decode_pb_coalhafipng (Pbrt.Decoder.nested d)) :: v.nnbfbfanojd;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glnelhcpcpo), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    nnbfbfanojd = v.nnbfbfanojd;
  } : glnelhcpcpo)

let rec decode_pb_icndgmffmhn d =
  let v = default_icndgmffmhn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.hombibbpmjk <- Pbrt.Decoder.bool d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(icndgmffmhn), field(14)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.monster_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(icndgmffmhn), field(8)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(icndgmffmhn), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hombibbpmjk = v.hombibbpmjk;
    monster_id = v.monster_id;
    uid = v.uid;
  } : icndgmffmhn)

let rec decode_pb_mlefcdfhiha d =
  let v = default_mlefcdfhiha_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bfdolepkbod <- List.rev v.bfdolepkbod;
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.kkkabkogeii <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mlefcdfhiha), field(3)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.hombibbpmjk <- Pbrt.Decoder.bool d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mlefcdfhiha), field(8)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mlefcdfhiha), field(12)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.bfdolepkbod <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mlefcdfhiha), field(5)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.scene <- Some (decode_pb_dnlbhaceial (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mlefcdfhiha), field(9)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.gdlljbeglci <- Some (decode_pb_coalhafipng (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mlefcdfhiha), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kkkabkogeii = v.kkkabkogeii;
    hombibbpmjk = v.hombibbpmjk;
    retcode = v.retcode;
    bfdolepkbod = v.bfdolepkbod;
    scene = v.scene;
    gdlljbeglci = v.gdlljbeglci;
  } : mlefcdfhiha)

let rec decode_pb_mjakmiepdjo d =
  let v = default_mjakmiepdjo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.cpefaednmcc <- decode_pb_punk_lord_share_type d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjakmiepdjo), field(10)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.monster_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjakmiepdjo), field(5)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjakmiepdjo), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cpefaednmcc = v.cpefaednmcc;
    monster_id = v.monster_id;
    uid = v.uid;
  } : mjakmiepdjo)

let rec decode_pb_jopjgmdmfhh d =
  let v = default_jopjgmdmfhh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.uid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jopjgmdmfhh), field(6)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.cpefaednmcc <- decode_pb_punk_lord_share_type d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jopjgmdmfhh), field(10)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.monster_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jopjgmdmfhh), field(4)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jopjgmdmfhh), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    uid = v.uid;
    cpefaednmcc = v.cpefaednmcc;
    monster_id = v.monster_id;
    retcode = v.retcode;
  } : jopjgmdmfhh)

let rec decode_pb_gmlancnhncj d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(gmlancnhncj)" pk

let rec decode_pb_gnhkpibagdn d =
  let v = default_gnhkpibagdn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gnhkpibagdn), field(4)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.gdlljbeglci <- Some (decode_pb_coalhafipng (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gnhkpibagdn), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    gdlljbeglci = v.gdlljbeglci;
  } : gnhkpibagdn)

let rec decode_pb_haliddbdjlp d =
  let v = default_haliddbdjlp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(haliddbdjlp), field(1)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.mhegpegfggg <- Pbrt.Decoder.bool d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(haliddbdjlp), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    level = v.level;
    mhegpegfggg = v.mhegpegfggg;
  } : haliddbdjlp)

let rec decode_pb_lohjjbdekdb d =
  let v = default_lohjjbdekdb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.mhegpegfggg <- Pbrt.Decoder.bool d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lohjjbdekdb), field(9)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lohjjbdekdb), field(3)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lohjjbdekdb), field(1)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lohjjbdekdb), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mhegpegfggg = v.mhegpegfggg;
    retcode = v.retcode;
    level = v.level;
    reward = v.reward;
  } : lohjjbdekdb)

let rec decode_pb_acegholnboi d =
  let v = default_acegholnboi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bfdolepkbod <- List.rev v.bfdolepkbod;
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.mgdnainpahe <- decode_pb_punk_lord_monster_info_notify_reason d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(acegholnboi), field(13)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.ddihfbmjacj <- Some (decode_pb_punk_lord_battle_record (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(acegholnboi), field(8)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.bfdolepkbod <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(acegholnboi), field(11)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.basic_info <- Some (decode_pb_aapoalmfpan (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(acegholnboi), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mgdnainpahe = v.mgdnainpahe;
    ddihfbmjacj = v.ddihfbmjacj;
    bfdolepkbod = v.bfdolepkbod;
    basic_info = v.basic_info;
  } : acegholnboi)

let rec decode_pb_pgkolkmnkmn d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(pgkolkmnkmn)" pk

let rec decode_pb_dimdoakchag d =
  let v = default_dimdoakchag_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ihkmfjnfjlk <- List.rev v.ihkmfjnfjlk;
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.figonclcnhj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dimdoakchag), field(6)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.jcaainbemcb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dimdoakchag), field(3)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.pmpdkbcelef <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dimdoakchag), field(12)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.pojkpinipio <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dimdoakchag), field(1)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.fijcinagcbc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dimdoakchag), field(10)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.ogelbpicnhe <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dimdoakchag), field(8)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.ihkmfjnfjlk <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dimdoakchag), field(11)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dimdoakchag), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    figonclcnhj = v.figonclcnhj;
    jcaainbemcb = v.jcaainbemcb;
    pmpdkbcelef = v.pmpdkbcelef;
    pojkpinipio = v.pojkpinipio;
    fijcinagcbc = v.fijcinagcbc;
    ogelbpicnhe = v.ogelbpicnhe;
    ihkmfjnfjlk = v.ihkmfjnfjlk;
    retcode = v.retcode;
  } : dimdoakchag)

let rec decode_pb_idfhehkpdhn d =
  let v = default_idfhehkpdhn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.gdlljbeglci <- Some (decode_pb_aapoalmfpan (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(idfhehkpdhn), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gdlljbeglci = v.gdlljbeglci;
  } : idfhehkpdhn)

let rec decode_pb_ojdimogobok d =
  let v = default_ojdimogobok_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.gdlljbeglci <- Some (decode_pb_aapoalmfpan (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ojdimogobok), field(3)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.ddihfbmjacj <- Some (decode_pb_punk_lord_battle_record (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ojdimogobok), field(12)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.epjmalbjbfl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ojdimogobok), field(10)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.dkjohfibjfb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ojdimogobok), field(13)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.inncjmgfgip <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ojdimogobok), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gdlljbeglci = v.gdlljbeglci;
    ddihfbmjacj = v.ddihfbmjacj;
    epjmalbjbfl = v.epjmalbjbfl;
    dkjohfibjfb = v.dkjohfibjfb;
    inncjmgfgip = v.inncjmgfgip;
  } : ojdimogobok)

let rec decode_pb_iffmlndfbim d =
  let v = default_iffmlndfbim_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.jgghhdjnepo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iffmlndfbim), field(4)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.monster_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iffmlndfbim), field(12)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.fgilieldboi <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iffmlndfbim), field(6)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.world_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iffmlndfbim), field(2)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.kjpdknocoeo <- Pbrt.Decoder.bool d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iffmlndfbim), field(5)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.pfbnanpcdjh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iffmlndfbim), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jgghhdjnepo = v.jgghhdjnepo;
    monster_id = v.monster_id;
    fgilieldboi = v.fgilieldboi;
    world_level = v.world_level;
    kjpdknocoeo = v.kjpdknocoeo;
    pfbnanpcdjh = v.pfbnanpcdjh;
  } : iffmlndfbim)

let rec decode_pb_hkfkcmjlfdl d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(hkfkcmjlfdl)" pk

let rec decode_pb_jfdfegkckae d =
  let v = default_jfdfegkckae_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.enlhpceoajj <- List.rev v.enlhpceoajj;
      v.ppbaggdodle <- List.rev v.ppbaggdodle;
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jfdfegkckae), field(5)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.ppbaggdodle <- (decode_pb_hbbaohkdklj (Pbrt.Decoder.nested d)) :: v.ppbaggdodle;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jfdfegkckae), field(1)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.enlhpceoajj <- (decode_pb_iffmlndfbim (Pbrt.Decoder.nested d)) :: v.enlhpceoajj;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jfdfegkckae), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ppbaggdodle = v.ppbaggdodle;
    enlhpceoajj = v.enlhpceoajj;
  } : jfdfegkckae)

let rec decode_pb_kjnjdnhcdik d =
  let v = default_kjnjdnhcdik_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.fckknkkgaal <- Some (decode_pb_iffmlndfbim (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kjnjdnhcdik), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fckknkkgaal = v.fckknkkgaal;
  } : kjnjdnhcdik)

let rec decode_pb_dgbpdpgampb d =
  let v = default_dgbpdpgampb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.fjnpddmldld <- Some (decode_pb_hbbaohkdklj (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgbpdpgampb), field(15)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.ikcpmimknmj <- Pbrt.Decoder.bool d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgbpdpgampb), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fjnpddmldld = v.fjnpddmldld;
    ikcpmimknmj = v.ikcpmimknmj;
  } : dgbpdpgampb)

let rec decode_pb_pgomokjlnia d =
  let v = default_pgomokjlnia_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jmeheohdpek <- List.rev v.jmeheohdpek;
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgomokjlnia), field(12)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.ikcpmimknmj <- Pbrt.Decoder.bool d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgomokjlnia), field(5)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.lpgaoolbbfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgomokjlnia), field(15)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.jmeheohdpek <- (decode_pb_hbbaohkdklj (Pbrt.Decoder.nested d)) :: v.jmeheohdpek;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgomokjlnia), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ikcpmimknmj = v.ikcpmimknmj;
    lpgaoolbbfm = v.lpgaoolbbfm;
    jmeheohdpek = v.jmeheohdpek;
  } : pgomokjlnia)

let rec decode_pb_miohefaegmd d =
  let v = default_miohefaegmd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.jcaainbemcb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(miohefaegmd), field(8)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.pojkpinipio <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(miohefaegmd), field(14)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.figonclcnhj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(miohefaegmd), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jcaainbemcb = v.jcaainbemcb;
    pojkpinipio = v.pojkpinipio;
    figonclcnhj = v.figonclcnhj;
  } : miohefaegmd)

let rec decode_pb_dhdcjejdhoh d =
  let v = default_dhdcjejdhoh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.fjnpddmldld <- Some (decode_pb_hbbaohkdklj (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dhdcjejdhoh), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fjnpddmldld = v.fjnpddmldld;
  } : dhdcjejdhoh)

let rec decode_pb_aimdhjaenjj d =
  let v = default_aimdhjaenjj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.eolalkfgdal <- List.rev v.eolalkfgdal;
      v.fodcominece <- List.rev v.fodcominece;
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aimdhjaenjj), field(3)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.fodcominece <- (decode_pb_punk_lord_battle_replay (Pbrt.Decoder.nested d)) :: v.fodcominece;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aimdhjaenjj), field(1)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.fjnpddmldld <- Some (decode_pb_hbbaohkdklj (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aimdhjaenjj), field(10)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.eolalkfgdal <- (decode_pb_punk_lord_battle_record (Pbrt.Decoder.nested d)) :: v.eolalkfgdal;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aimdhjaenjj), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    fodcominece = v.fodcominece;
    fjnpddmldld = v.fjnpddmldld;
    eolalkfgdal = v.eolalkfgdal;
  } : aimdhjaenjj)

let rec decode_pb_cpgjejnngoe d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_quest_type_none:cpgjejnngoe)
  | 934 -> (Cmd_batch_get_quest_data_sc_rsp:cpgjejnngoe)
  | 968 -> (Cmd_get_quest_data_cs_req:cpgjejnngoe)
  | 965 -> (Cmd_take_quest_optional_reward_sc_rsp:cpgjejnngoe)
  | 951 -> (Cmd_quest_record_sc_notify:cpgjejnngoe)
  | 999 -> (Cmd_finish_quest_sc_rsp:cpgjejnngoe)
  | 982 -> (Cmd_batch_get_quest_data_cs_req:cpgjejnngoe)
  | 939 -> (Cmd_get_quest_record_cs_req:cpgjejnngoe)
  | 954 -> (Cmd_take_quest_optional_reward_cs_req:cpgjejnngoe)
  | 906 -> (Cmd_get_quest_data_sc_rsp:cpgjejnngoe)
  | 911 -> (Cmd_take_quest_reward_cs_req:cpgjejnngoe)
  | 933 -> (Cmd_finish_quest_cs_req:cpgjejnngoe)
  | 943 -> (Cmd_take_quest_reward_sc_rsp:cpgjejnngoe)
  | 929 -> (Cmd_get_quest_record_sc_rsp:cpgjejnngoe)
  | _ -> Pbrt.Decoder.malformed_variant "cpgjejnngoe"

let rec decode_pb_jjofecmhbon d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Quest_none:jjofecmhbon)
  | 1 -> (Quest_doing:jjofecmhbon)
  | 2 -> (Quest_finish:jjofecmhbon)
  | 3 -> (Quest_close:jjofecmhbon)
  | 4 -> (Quest_delete:jjofecmhbon)
  | _ -> Pbrt.Decoder.malformed_variant "jjofecmhbon"

let rec decode_pb_oblnmhfpkob d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(oblnmhfpkob)" pk

let rec decode_pb_eejpmepikga d =
  let v = default_eejpmepikga_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pnkhfhpabgb <- List.rev v.pnkhfhpabgb;
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.nfonlnipina <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eejpmepikga), field(13)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eejpmepikga), field(10)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.status <- decode_pb_jjofecmhbon d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eejpmepikga), field(15)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.progress <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eejpmepikga), field(6)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.pnkhfhpabgb <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eejpmepikga), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nfonlnipina = v.nfonlnipina;
    id = v.id;
    status = v.status;
    progress = v.progress;
    pnkhfhpabgb = v.pnkhfhpabgb;
  } : eejpmepikga)

let rec decode_pb_lmnopfmjoco d =
  let v = default_lmnopfmjoco_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pnlbagbglfd <- List.rev v.pnlbagbglfd;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.pnlbagbglfd <- (decode_pb_eejpmepikga (Pbrt.Decoder.nested d)) :: v.pnlbagbglfd;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmnopfmjoco), field(13)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.igcimdmbdfa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmnopfmjoco), field(15)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmnopfmjoco), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pnlbagbglfd = v.pnlbagbglfd;
    igcimdmbdfa = v.igcimdmbdfa;
    retcode = v.retcode;
  } : lmnopfmjoco)

let rec decode_pb_bboncngkkfh d =
  let v = default_bboncngkkfh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.chcdpcmpihk <- List.rev v.chcdpcmpihk;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.chcdpcmpihk <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bboncngkkfh), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    chcdpcmpihk = v.chcdpcmpihk;
  } : bboncngkkfh)

let rec decode_pb_take_quest_reward_sc_rsp d =
  let v = default_take_quest_reward_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.succ_quest_id_list <- List.rev v.succ_quest_id_list;
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(take_quest_reward_sc_rsp), field(6)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.succ_quest_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(take_quest_reward_sc_rsp), field(10)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(take_quest_reward_sc_rsp), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    succ_quest_id_list = v.succ_quest_id_list;
    reward = v.reward;
  } : take_quest_reward_sc_rsp)

let rec decode_pb_gimgmgjgkni d =
  let v = default_gimgmgjgkni_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.gjbdmneacbj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gimgmgjgkni), field(13)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.apbdbeabddj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gimgmgjgkni), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gjbdmneacbj = v.gjbdmneacbj;
    apbdbeabddj = v.apbdbeabddj;
  } : gimgmgjgkni)

let rec decode_pb_mcekcfpcaap d =
  let v = default_mcekcfpcaap_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mcekcfpcaap), field(7)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.gjbdmneacbj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mcekcfpcaap), field(2)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mcekcfpcaap), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    reward = v.reward;
    gjbdmneacbj = v.gjbdmneacbj;
    retcode = v.retcode;
  } : mcekcfpcaap)

let rec decode_pb_kmffdlklgng d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(kmffdlklgng)" pk

let rec decode_pb_kmgpadlinip d =
  let v = default_kmgpadlinip_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.progress <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kmgpadlinip), field(5)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.kkbjlhilfen <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kmgpadlinip), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    progress = v.progress;
    kkbjlhilfen = v.kkbjlhilfen;
  } : kmgpadlinip)

let rec decode_pb_hfdblljhijn d =
  let v = default_hfdblljhijn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jjichfkkmjl <- List.rev v.jjichfkkmjl;
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.jjichfkkmjl <- (decode_pb_kmgpadlinip (Pbrt.Decoder.nested d)) :: v.jjichfkkmjl;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfdblljhijn), field(6)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfdblljhijn), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jjichfkkmjl = v.jjichfkkmjl;
    retcode = v.retcode;
  } : hfdblljhijn)

let rec decode_pb_pnhijbbmjhk d =
  let v = default_pnhijbbmjhk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.kklhgagcopa <- Some (decode_pb_kmgpadlinip (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnhijbbmjhk), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kklhgagcopa = v.kklhgagcopa;
  } : pnhijbbmjhk)

let rec decode_pb_hckfdajnjec d =
  let v = default_hckfdajnjec_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.prop_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hckfdajnjec), field(1)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.gjbdmneacbj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hckfdajnjec), field(11)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hckfdajnjec), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    prop_id = v.prop_id;
    gjbdmneacbj = v.gjbdmneacbj;
    group_id = v.group_id;
  } : hckfdajnjec)

let rec decode_pb_lpcjcddpmeo d =
  let v = default_lpcjcddpmeo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lpcjcddpmeo), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : lpcjcddpmeo)

let rec decode_pb_mdgdpmjnbnp d =
  let v = default_mdgdpmjnbnp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pnlbagbglfd <- List.rev v.pnlbagbglfd;
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.pnlbagbglfd <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mdgdpmjnbnp), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pnlbagbglfd = v.pnlbagbglfd;
  } : mdgdpmjnbnp)

let rec decode_pb_lehcpjafdea d =
  let v = default_lehcpjafdea_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pnlbagbglfd <- List.rev v.pnlbagbglfd;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.pnlbagbglfd <- (decode_pb_eejpmepikga (Pbrt.Decoder.nested d)) :: v.pnlbagbglfd;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lehcpjafdea), field(9)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lehcpjafdea), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pnlbagbglfd = v.pnlbagbglfd;
    retcode = v.retcode;
  } : lehcpjafdea)

let rec decode_pb_chechglhkhl d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_raid_type_none:chechglhkhl)
  | 2206 -> (Cmd_start_raid_sc_rsp:chechglhkhl)
  | 2239 -> (Cmd_get_challenge_raid_info_sc_rsp:chechglhkhl)
  | 2268 -> (Cmd_start_raid_cs_req:chechglhkhl)
  | 2265 -> (Cmd_set_client_raid_target_count_cs_req:chechglhkhl)
  | 2224 -> (Cmd_raid_kick_by_server_sc_notify:chechglhkhl)
  | 2234 -> (Cmd_get_save_raid_sc_rsp:chechglhkhl)
  | 2297 -> (Cmd_get_all_save_raid_cs_req:chechglhkhl)
  | 2233 -> (Cmd_challenge_raid_notify:chechglhkhl)
  | 2256 -> (Cmd_raid_info_notify:chechglhkhl)
  | 2211 -> (Cmd_leave_raid_cs_req:chechglhkhl)
  | 2298 -> (Cmd_get_all_save_raid_sc_rsp:chechglhkhl)
  | 2254 -> (Cmd_get_raid_info_sc_rsp:chechglhkhl)
  | 2229 -> (Cmd_take_challenge_raid_reward_cs_req:chechglhkhl)
  | 2299 -> (Cmd_get_raid_info_cs_req:chechglhkhl)
  | 2225 -> (Cmd_del_save_raid_sc_notify:chechglhkhl)
  | 2251 -> (Cmd_take_challenge_raid_reward_sc_rsp:chechglhkhl)
  | 2248 -> (Cmd_set_client_raid_target_count_sc_rsp:chechglhkhl)
  | 2282 -> (Cmd_get_save_raid_cs_req:chechglhkhl)
  | 2243 -> (Cmd_leave_raid_sc_rsp:chechglhkhl)
  | 2293 -> (Cmd_get_challenge_raid_info_cs_req:chechglhkhl)
  | _ -> Pbrt.Decoder.malformed_variant "chechglhkhl"

let rec decode_pb_phlppgocmfk d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Raid_status_none:phlppgocmfk)
  | 1 -> (Raid_status_doing:phlppgocmfk)
  | 2 -> (Raid_status_finish:phlppgocmfk)
  | 3 -> (Raid_status_failed:phlppgocmfk)
  | _ -> Pbrt.Decoder.malformed_variant "phlppgocmfk"

let rec decode_pb_lgbplphaacb d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Raid_target_status_none:lgbplphaacb)
  | 1 -> (Raid_target_status_doing:lgbplphaacb)
  | 2 -> (Raid_target_status_finish:lgbplphaacb)
  | _ -> Pbrt.Decoder.malformed_variant "lgbplphaacb"

let rec decode_pb_ehhjocaaaba d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Raid_kick_reason_none:ehhjocaaaba)
  | 1 -> (Raid_kick_reason_activity_schedule_finish:ehhjocaaaba)
  | _ -> Pbrt.Decoder.malformed_variant "ehhjocaaaba"

let rec decode_pb_jpfgmcipjmm d =
  let v = default_jpfgmcipjmm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_list <- List.rev v.avatar_list;
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.prop_entity_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jpfgmcipjmm), field(15)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.avatar_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jpfgmcipjmm), field(14)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.ikpjplopmjk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jpfgmcipjmm), field(10)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.chbdfdolhoc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jpfgmcipjmm), field(12)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.world_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jpfgmcipjmm), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    prop_entity_id = v.prop_entity_id;
    avatar_list = v.avatar_list;
    ikpjplopmjk = v.ikpjplopmjk;
    chbdfdolhoc = v.chbdfdolhoc;
    world_level = v.world_level;
  } : jpfgmcipjmm)

let rec decode_pb_ndjiajphifk d =
  let v = default_ndjiajphifk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ndjiajphifk), field(5)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.scene <- Some (decode_pb_dnlbhaceial (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ndjiajphifk), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    scene = v.scene;
  } : ndjiajphifk)

let rec decode_pb_fjhkfgdlibf d =
  let v = default_fjhkfgdlibf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.chbdfdolhoc <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fjhkfgdlibf), field(11)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.ikpjplopmjk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fjhkfgdlibf), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    chbdfdolhoc = v.chbdfdolhoc;
    ikpjplopmjk = v.ikpjplopmjk;
  } : fjhkfgdlibf)

let rec decode_pb_djabebmofde d =
  let v = default_djabebmofde_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(djabebmofde), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : djabebmofde)

let rec decode_pb_hhikhceehbb d =
  let v = default_hhikhceehbb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.koinobbmjaa <- decode_pb_lgbplphaacb d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhikhceehbb), field(1)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.glaokkggino <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhikhceehbb), field(7)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.dpepdejdlka <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhikhceehbb), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    koinobbmjaa = v.koinobbmjaa;
    glaokkggino = v.glaokkggino;
    dpepdejdlka = v.dpepdejdlka;
  } : hhikhceehbb)

let rec decode_pb_knjianifiba d =
  let v = default_knjianifiba_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hhnnjledapn <- List.rev v.hhnnjledapn;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.pdpfcfglgco <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(knjianifiba), field(1)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.status <- decode_pb_phlppgocmfk d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(knjianifiba), field(6)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.mpfnjpaeobp <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(knjianifiba), field(4)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.world_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(knjianifiba), field(10)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.hhnnjledapn <- (decode_pb_hhikhceehbb (Pbrt.Decoder.nested d)) :: v.hhnnjledapn;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(knjianifiba), field(3)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.ikpjplopmjk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(knjianifiba), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pdpfcfglgco = v.pdpfcfglgco;
    status = v.status;
    mpfnjpaeobp = v.mpfnjpaeobp;
    world_level = v.world_level;
    hhnnjledapn = v.hhnnjledapn;
    ikpjplopmjk = v.ikpjplopmjk;
  } : knjianifiba)

let rec decode_pb_adffgpcjffg d =
  let v = default_adffgpcjffg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.gakmanenkmh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adffgpcjffg), field(2)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.ikpjplopmjk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adffgpcjffg), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gakmanenkmh = v.gakmanenkmh;
    ikpjplopmjk = v.ikpjplopmjk;
  } : adffgpcjffg)

let rec decode_pb_jcifaehlamo d =
  let v = default_jcifaehlamo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.goccbdenfle <- List.rev v.goccbdenfle;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.goccbdenfle <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcifaehlamo), field(12)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.world_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcifaehlamo), field(13)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.ikpjplopmjk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcifaehlamo), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    goccbdenfle = v.goccbdenfle;
    world_level = v.world_level;
    ikpjplopmjk = v.ikpjplopmjk;
  } : jcifaehlamo)

let rec decode_pb_iikolamhenh d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(iikolamhenh)" pk

let rec decode_pb_get_raid_info_sc_rsp d =
  let v = default_get_raid_info_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.finished_raid_info_list <- List.rev v.finished_raid_info_list;
      v.challenge_raid_list <- List.rev v.challenge_raid_list;
      v.challenge_taken_reward_id_list <- List.rev v.challenge_taken_reward_id_list;
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.challenge_taken_reward_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_raid_info_sc_rsp), field(4)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.challenge_raid_list <- (decode_pb_adffgpcjffg (Pbrt.Decoder.nested d)) :: v.challenge_raid_list;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_raid_info_sc_rsp), field(14)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.finished_raid_info_list <- (decode_pb_jcifaehlamo (Pbrt.Decoder.nested d)) :: v.finished_raid_info_list;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_raid_info_sc_rsp), field(13)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_raid_info_sc_rsp), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    challenge_taken_reward_id_list = v.challenge_taken_reward_id_list;
    challenge_raid_list = v.challenge_raid_list;
    finished_raid_info_list = v.finished_raid_info_list;
    retcode = v.retcode;
  } : get_raid_info_sc_rsp)

let rec decode_pb_koocbfbkebc d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(koocbfbkebc)" pk

let rec decode_pb_kohffnboocd d =
  let v = default_kohffnboocd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ghchnanjdfb <- List.rev v.ghchnanjdfb;
      v.clbadgogepf <- List.rev v.clbadgogepf;
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kohffnboocd), field(11)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.clbadgogepf <- (decode_pb_adffgpcjffg (Pbrt.Decoder.nested d)) :: v.clbadgogepf;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kohffnboocd), field(5)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.ghchnanjdfb <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kohffnboocd), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    clbadgogepf = v.clbadgogepf;
    ghchnanjdfb = v.ghchnanjdfb;
  } : kohffnboocd)

let rec decode_pb_haiedplfomf d =
  let v = default_haiedplfomf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.bhcnfehdnfg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(haiedplfomf), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bhcnfehdnfg = v.bhcnfehdnfg;
  } : haiedplfomf)

let rec decode_pb_goobncpndib d =
  let v = default_goobncpndib_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(goobncpndib), field(4)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.bhcnfehdnfg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(goobncpndib), field(7)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(goobncpndib), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    reward = v.reward;
    bhcnfehdnfg = v.bhcnfehdnfg;
    retcode = v.retcode;
  } : goobncpndib)

let rec decode_pb_eliccgkomcl d =
  let v = default_eliccgkomcl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.onhjiaijhop <- Some (decode_pb_adffgpcjffg (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eliccgkomcl), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    onhjiaijhop = v.onhjiaijhop;
  } : eliccgkomcl)

let rec decode_pb_fjiefeeohjh d =
  let v = default_fjiefeeohjh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.progress <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fjiefeeohjh), field(1)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.kpibjmjbjod <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fjiefeeohjh), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    progress = v.progress;
    kpibjmjbjod = v.kpibjmjbjod;
  } : fjiefeeohjh)

let rec decode_pb_gbmeonklkdc d =
  let v = default_gbmeonklkdc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gbmeonklkdc), field(12)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.kpibjmjbjod <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gbmeonklkdc), field(2)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.progress <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gbmeonklkdc), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    kpibjmjbjod = v.kpibjmjbjod;
    progress = v.progress;
  } : gbmeonklkdc)

let rec decode_pb_cgmldddjpfl d =
  let v = default_cgmldddjpfl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.world_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cgmldddjpfl), field(5)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.ikpjplopmjk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cgmldddjpfl), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    world_level = v.world_level;
    ikpjplopmjk = v.ikpjplopmjk;
  } : cgmldddjpfl)

let rec decode_pb_mldbcfbgieb d =
  let v = default_mldbcfbgieb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hhnnjledapn <- List.rev v.hhnnjledapn;
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.world_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mldbcfbgieb), field(12)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mldbcfbgieb), field(9)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.ikpjplopmjk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mldbcfbgieb), field(1)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.chbdfdolhoc <- Pbrt.Decoder.bool d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mldbcfbgieb), field(7)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.hhnnjledapn <- (decode_pb_hhikhceehbb (Pbrt.Decoder.nested d)) :: v.hhnnjledapn;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mldbcfbgieb), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    world_level = v.world_level;
    retcode = v.retcode;
    ikpjplopmjk = v.ikpjplopmjk;
    chbdfdolhoc = v.chbdfdolhoc;
    hhnnjledapn = v.hhnnjledapn;
  } : mldbcfbgieb)

let rec decode_pb_hmcbkcliekg d =
  let v = default_hmcbkcliekg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hhnnjledapn <- List.rev v.hhnnjledapn;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.hhnnjledapn <- (decode_pb_hhikhceehbb (Pbrt.Decoder.nested d)) :: v.hhnnjledapn;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hmcbkcliekg), field(13)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.ikpjplopmjk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hmcbkcliekg), field(15)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.world_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hmcbkcliekg), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hhnnjledapn = v.hhnnjledapn;
    ikpjplopmjk = v.ikpjplopmjk;
    world_level = v.world_level;
  } : hmcbkcliekg)

let rec decode_pb_dinmibgodol d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(dinmibgodol)" pk

let rec decode_pb_klidemocfdg d =
  let v = default_klidemocfdg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ejkajanlmkl <- List.rev v.ejkajanlmkl;
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.ejkajanlmkl <- (decode_pb_hmcbkcliekg (Pbrt.Decoder.nested d)) :: v.ejkajanlmkl;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(klidemocfdg), field(8)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(klidemocfdg), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ejkajanlmkl = v.ejkajanlmkl;
    retcode = v.retcode;
  } : klidemocfdg)

let rec decode_pb_oeajhnfofoc d =
  let v = default_oeajhnfofoc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.ikpjplopmjk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oeajhnfofoc), field(5)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.world_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oeajhnfofoc), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ikpjplopmjk = v.ikpjplopmjk;
    world_level = v.world_level;
  } : oeajhnfofoc)

let rec decode_pb_njcahpomndl d =
  let v = default_njcahpomndl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.mgdnainpahe <- decode_pb_ehhjocaaaba d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njcahpomndl), field(1)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.lineup <- Some (decode_pb_lineup_info (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njcahpomndl), field(5)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.world_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njcahpomndl), field(12)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.ikpjplopmjk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njcahpomndl), field(6)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.scene <- Some (decode_pb_scene_info (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njcahpomndl), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mgdnainpahe = v.mgdnainpahe;
    lineup = v.lineup;
    world_level = v.world_level;
    ikpjplopmjk = v.ikpjplopmjk;
    scene = v.scene;
  } : njcahpomndl)

let rec decode_pb_hflgjkjjmim d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_raid_collection_type_none:hflgjkjjmim)
  | 6960 -> (Cmd_raid_collection_enter_next_raid_cs_req:hflgjkjjmim)
  | 6944 -> (Cmd_raid_collection_enter_next_raid_sc_rsp:hflgjkjjmim)
  | 6952 -> (Cmd_raid_collection_data_sc_notify:hflgjkjjmim)
  | 6943 -> (Cmd_raid_collection_data_sc_rsp:hflgjkjjmim)
  | 6959 -> (Cmd_raid_collection_data_cs_req:hflgjkjjmim)
  | _ -> Pbrt.Decoder.malformed_variant "hflgjkjjmim"

let rec decode_pb_bkaomcmepci d =
  let v = default_bkaomcmepci_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.infplhaigop <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bkaomcmepci), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    infplhaigop = v.infplhaigop;
  } : bkaomcmepci)

let rec decode_pb_ppijcmkiogi d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(ppijcmkiogi)" pk

let rec decode_pb_fgkfloacjen d =
  let v = default_fgkfloacjen_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.cjbdijhedpo <- List.rev v.cjbdijhedpo;
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fgkfloacjen), field(14)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.cjbdijhedpo <- (decode_pb_bkaomcmepci (Pbrt.Decoder.nested d)) :: v.cjbdijhedpo;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fgkfloacjen), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    cjbdijhedpo = v.cjbdijhedpo;
  } : fgkfloacjen)

let rec decode_pb_hjpgejdfpae d =
  let v = default_hjpgejdfpae_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.hciobbpgkbe <- Some (decode_pb_bkaomcmepci (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjpgejdfpae), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hciobbpgkbe = v.hciobbpgkbe;
  } : hjpgejdfpae)

let rec decode_pb_bliiedplbfc d =
  let v = default_bliiedplbfc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_list <- List.rev v.avatar_list;
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.world_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bliiedplbfc), field(5)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.ikpjplopmjk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bliiedplbfc), field(2)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.chbdfdolhoc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bliiedplbfc), field(14)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.avatar_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bliiedplbfc), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    world_level = v.world_level;
    ikpjplopmjk = v.ikpjplopmjk;
    chbdfdolhoc = v.chbdfdolhoc;
    avatar_list = v.avatar_list;
  } : bliiedplbfc)

let rec decode_pb_efgangejahe d =
  let v = default_efgangejahe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.scene <- Some (decode_pb_dnlbhaceial (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(efgangejahe), field(7)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(efgangejahe), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    scene = v.scene;
    retcode = v.retcode;
  } : efgangejahe)

let rec decode_pb_iipfogjkbdd d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_red_dot_type_none:iipfogjkbdd)
  | 5911 -> (Cmd_update_red_dot_data_cs_req:iipfogjkbdd)
  | 5956 -> (Cmd_get_single_red_dot_param_group_cs_req:iipfogjkbdd)
  | 5993 -> (Cmd_get_single_red_dot_param_group_sc_rsp:iipfogjkbdd)
  | 5968 -> (Cmd_get_all_red_dot_data_cs_req:iipfogjkbdd)
  | 5943 -> (Cmd_update_red_dot_data_sc_rsp:iipfogjkbdd)
  | 5906 -> (Cmd_get_all_red_dot_data_sc_rsp:iipfogjkbdd)
  | _ -> Pbrt.Decoder.malformed_variant "iipfogjkbdd"

let rec decode_pb_ljhkjfilggp d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Update_reddot_none:ljhkjfilggp)
  | 1 -> (Update_reddot_add:ljhkjfilggp)
  | 2 -> (Update_reddot_replace:ljhkjfilggp)
  | _ -> Pbrt.Decoder.malformed_variant "ljhkjfilggp"

let rec decode_pb_pljklolgala d =
  let v = default_pljklolgala_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.odjegmnefag <- List.rev v.odjegmnefag;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.odjegmnefag <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pljklolgala), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    odjegmnefag = v.odjegmnefag;
  } : pljklolgala)

let rec decode_pb_oefagcankoa d =
  let v = default_oefagcankoa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jhoejhpfmme <- List.rev v.jhoejhpfmme;
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.lejmmaeibga <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oefagcankoa), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.fjlnncjahng <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oefagcankoa), field(4)" pk
    | Some (2, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        decode_pb_pljklolgala (Pbrt.Decoder.nested d)
      ) in
      v.jhoejhpfmme <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.jhoejhpfmme;
      );
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oefagcankoa), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lejmmaeibga = v.lejmmaeibga;
    fjlnncjahng = v.fjlnncjahng;
    jhoejhpfmme = v.jhoejhpfmme;
  } : oefagcankoa)

let rec decode_pb_cllhoejpnlc d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(cllhoejpnlc)" pk

let rec decode_pb_bdpfmlechij d =
  let v = default_bdpfmlechij_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ldganldgeln <- List.rev v.ldganldgeln;
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.ldganldgeln <- (decode_pb_oefagcankoa (Pbrt.Decoder.nested d)) :: v.ldganldgeln;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bdpfmlechij), field(15)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bdpfmlechij), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ldganldgeln = v.ldganldgeln;
    retcode = v.retcode;
  } : bdpfmlechij)

let rec decode_pb_cnaimppnfcb d =
  let v = default_cnaimppnfcb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.param_list <- List.rev v.param_list;
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.lejmmaeibga <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnaimppnfcb), field(8)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.param_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnaimppnfcb), field(11)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnaimppnfcb), field(1)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.fjlnncjahng <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnaimppnfcb), field(12)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.kifpepeebco <- decode_pb_ljhkjfilggp d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnaimppnfcb), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lejmmaeibga = v.lejmmaeibga;
    param_list = v.param_list;
    group_id = v.group_id;
    fjlnncjahng = v.fjlnncjahng;
    kifpepeebco = v.kifpepeebco;
  } : cnaimppnfcb)

let rec decode_pb_cfloccjogdo d =
  let v = default_cfloccjogdo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cfloccjogdo), field(9)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cfloccjogdo), field(15)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.lejmmaeibga <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cfloccjogdo), field(1)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.fjlnncjahng <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cfloccjogdo), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    group_id = v.group_id;
    retcode = v.retcode;
    lejmmaeibga = v.lejmmaeibga;
    fjlnncjahng = v.fjlnncjahng;
  } : cfloccjogdo)

let rec decode_pb_jiddlbiohfe d =
  let v = default_jiddlbiohfe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.fjlnncjahng <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jiddlbiohfe), field(5)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.lejmmaeibga <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jiddlbiohfe), field(7)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jiddlbiohfe), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fjlnncjahng = v.fjlnncjahng;
    lejmmaeibga = v.lejmmaeibga;
    group_id = v.group_id;
  } : jiddlbiohfe)

let rec decode_pb_hplgncaacpa d =
  let v = default_hplgncaacpa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.lejmmaeibga <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hplgncaacpa), field(13)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hplgncaacpa), field(10)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.fjlnncjahng <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hplgncaacpa), field(1)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.lgghoaagahj <- Some (decode_pb_pljklolgala (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hplgncaacpa), field(9)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hplgncaacpa), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lejmmaeibga = v.lejmmaeibga;
    group_id = v.group_id;
    fjlnncjahng = v.fjlnncjahng;
    lgghoaagahj = v.lgghoaagahj;
    retcode = v.retcode;
  } : hplgncaacpa)

let rec decode_pb_pfmnoejepaf d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_replay_type_none:pfmnoejepaf)
  | 3506 -> (Cmd_get_replay_token_sc_rsp:pfmnoejepaf)
  | 3568 -> (Cmd_get_replay_token_cs_req:pfmnoejepaf)
  | 3511 -> (Cmd_get_player_replay_info_cs_req:pfmnoejepaf)
  | 3543 -> (Cmd_get_player_replay_info_sc_rsp:pfmnoejepaf)
  | _ -> Pbrt.Decoder.malformed_variant "pfmnoejepaf"

let rec decode_pb_bbiaodgpdie d =
  let v = default_bbiaodgpdie_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.dmlnkapjjni <- Pbrt.Decoder.string d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bbiaodgpdie), field(15)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bbiaodgpdie), field(4)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.oeoikijbcfg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bbiaodgpdie), field(9)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.blnoeiceljf <- decode_pb_replay_type d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bbiaodgpdie), field(6)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.laneigjfepk <- Pbrt.Decoder.string d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bbiaodgpdie), field(10)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.lfnjmcnfhha <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bbiaodgpdie), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dmlnkapjjni = v.dmlnkapjjni;
    stage_id = v.stage_id;
    oeoikijbcfg = v.oeoikijbcfg;
    blnoeiceljf = v.blnoeiceljf;
    laneigjfepk = v.laneigjfepk;
    lfnjmcnfhha = v.lfnjmcnfhha;
  } : bbiaodgpdie)

let rec decode_pb_kbnonoecgia d =
  let v = default_kbnonoecgia_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbnonoecgia), field(13)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.blnoeiceljf <- decode_pb_replay_type d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbnonoecgia), field(6)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbnonoecgia), field(8)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.oiegbkkceda <- Pbrt.Decoder.string d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbnonoecgia), field(14)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.laneigjfepk <- Pbrt.Decoder.string d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbnonoecgia), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    blnoeiceljf = v.blnoeiceljf;
    stage_id = v.stage_id;
    oiegbkkceda = v.oiegbkkceda;
    laneigjfepk = v.laneigjfepk;
  } : kbnonoecgia)

let rec decode_pb_amejgemekhj d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(amejgemekhj)" pk

let rec decode_pb_mgbehfompfh d =
  let v = default_mgbehfompfh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.negllhlgeni <- List.rev v.negllhlgeni;
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mgbehfompfh), field(4)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.negllhlgeni <- (decode_pb_nlhgcplikkp (Pbrt.Decoder.nested d)) :: v.negllhlgeni;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mgbehfompfh), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    negllhlgeni = v.negllhlgeni;
  } : mgbehfompfh)

let rec decode_pb_mjejbpdgghg d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_rnd_option_type_none:mjejbpdgghg)
  | 3443 -> (Cmd_daily_first_meet_pam_sc_rsp:mjejbpdgghg)
  | 3468 -> (Cmd_get_rnd_option_cs_req:mjejbpdgghg)
  | 3406 -> (Cmd_get_rnd_option_sc_rsp:mjejbpdgghg)
  | 3411 -> (Cmd_daily_first_meet_pam_cs_req:mjejbpdgghg)
  | _ -> Pbrt.Decoder.malformed_variant "mjejbpdgghg"

let rec decode_pb_kkpoiboahff d =
  let v = default_kkpoiboahff_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkpoiboahff), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
  } : kkpoiboahff)

let rec decode_pb_apghjcccmob d =
  let v = default_apghjcccmob_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ljpbjpagadf <- List.rev v.ljpbjpagadf;
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(apghjcccmob), field(14)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.ljpbjpagadf <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(apghjcccmob), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ljpbjpagadf = v.ljpbjpagadf;
  } : apghjcccmob)

let rec decode_pb_dlckmkconlg d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(dlckmkconlg)" pk

let rec decode_pb_dcjhfjbaedn d =
  let v = default_dcjhfjbaedn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dcjhfjbaedn), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : dcjhfjbaedn)

let rec decode_pb_fgllegeeied d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_rogue_type_none:fgllegeeied)
  | 1868 -> (Cmd_get_rogue_info_cs_req:fgllegeeied)
  | 1890 -> (Cmd_get_rogue_buff_enhance_info_cs_req:fgllegeeied)
  | 1803 -> (Cmd_exchange_rogue_reward_key_sc_rsp:fgllegeeied)
  | 1849 -> (Cmd_sync_rogue_explore_win_sc_notify:fgllegeeied)
  | 1887 -> (Cmd_sync_rogue_status_sc_notify:fgllegeeied)
  | 1829 -> (Cmd_leave_rogue_sc_rsp:fgllegeeied)
  | 1806 -> (Cmd_get_rogue_info_sc_rsp:fgllegeeied)
  | 1817 -> (Cmd_take_rogue_score_reward_cs_req:fgllegeeied)
  | 1870 -> (Cmd_sync_rogue_aeon_level_up_reward_sc_notify:fgllegeeied)
  | 1855 -> (Cmd_finish_aeon_dialogue_group_sc_rsp:fgllegeeied)
  | 1880 -> (Cmd_enable_rogue_talent_cs_req:fgllegeeied)
  | 1841 -> (Cmd_open_rogue_chest_sc_rsp:fgllegeeied)
  | 1861 -> (Cmd_get_rogue_score_reward_info_cs_req:fgllegeeied)
  | 1818 -> (Cmd_sync_rogue_reward_info_sc_notify:fgllegeeied)
  | 1825 -> (Cmd_revive_rogue_avatar_cs_req:fgllegeeied)
  | 1895 -> (Cmd_get_rogue_initial_score_cs_req:fgllegeeied)
  | 1856 -> (Cmd_enter_rogue_cs_req:fgllegeeied)
  | 1877 -> (Cmd_finish_aeon_dialogue_group_cs_req:fgllegeeied)
  | 1838 -> (Cmd_get_rogue_talent_info_sc_rsp:fgllegeeied)
  | 1810 -> (Cmd_take_rogue_aeon_level_reward_cs_req:fgllegeeied)
  | 1878 -> (Cmd_quit_rogue_sc_rsp:fgllegeeied)
  | 1839 -> (Cmd_leave_rogue_cs_req:fgllegeeied)
  | 1850 -> (Cmd_take_rogue_aeon_level_reward_sc_rsp:fgllegeeied)
  | 1827 -> (Cmd_get_rogue_aeon_info_sc_rsp:fgllegeeied)
  | 1879 -> (Cmd_get_rogue_score_reward_info_sc_rsp:fgllegeeied)
  | 1896 -> (Cmd_sync_rogue_area_unlock_sc_notify:fgllegeeied)
  | 1888 -> (Cmd_enhance_rogue_buff_sc_rsp:fgllegeeied)
  | 1812 -> (Cmd_enter_rogue_map_room_cs_req:fgllegeeied)
  | 1824 -> (Cmd_revive_rogue_avatar_sc_rsp:fgllegeeied)
  | 1834 -> (Cmd_pick_rogue_avatar_cs_req:fgllegeeied)
  | 1883 -> (Cmd_sync_rogue_aeon_sc_notify:fgllegeeied)
  | 1819 -> (Cmd_sync_rogue_virtual_item_info_sc_notify:fgllegeeied)
  | 1807 -> (Cmd_open_rogue_chest_cs_req:fgllegeeied)
  | 1893 -> (Cmd_enter_rogue_sc_rsp:fgllegeeied)
  | 1836 -> (Cmd_sync_rogue_get_item_sc_notify:fgllegeeied)
  | 1835 -> (Cmd_sync_rogue_pick_avatar_info_sc_notify:fgllegeeied)
  | 1809 -> (Cmd_enhance_rogue_buff_cs_req:fgllegeeied)
  | 1892 -> (Cmd_take_rogue_score_reward_sc_rsp:fgllegeeied)
  | 1831 -> (Cmd_exchange_rogue_reward_key_cs_req:fgllegeeied)
  | 1828 -> (Cmd_get_rogue_buff_enhance_info_sc_rsp:fgllegeeied)
  | 1804 -> (Cmd_enable_rogue_talent_sc_rsp:fgllegeeied)
  | 1857 -> (Cmd_get_rogue_aeon_info_cs_req:fgllegeeied)
  | 1823 -> (Cmd_quit_rogue_cs_req:fgllegeeied)
  | 1884 -> (Cmd_sync_rogue_revive_info_sc_notify:fgllegeeied)
  | 1863 -> (Cmd_get_rogue_talent_info_cs_req:fgllegeeied)
  | 1869 -> (Cmd_sync_rogue_map_room_sc_notify:fgllegeeied)
  | 1882 -> (Cmd_sync_rogue_finish_sc_notify:fgllegeeied)
  | 1845 -> (Cmd_sync_rogue_season_finish_sc_notify:fgllegeeied)
  | 1897 -> (Cmd_pick_rogue_avatar_sc_rsp:fgllegeeied)
  | 1889 -> (Cmd_get_rogue_initial_score_sc_rsp:fgllegeeied)
  | 1811 -> (Cmd_start_rogue_cs_req:fgllegeeied)
  | 1830 -> (Cmd_enter_rogue_map_room_sc_rsp:fgllegeeied)
  | 1843 -> (Cmd_start_rogue_sc_rsp:fgllegeeied)
  | _ -> Pbrt.Decoder.malformed_variant "fgllegeeied"

let rec decode_pb_ofhnfenfeai d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_status_none:ofhnfenfeai)
  | 1 -> (Rogue_status_doing:ofhnfenfeai)
  | 2 -> (Rogue_status_pending:ofhnfenfeai)
  | 3 -> (Rogue_status_endless:ofhnfenfeai)
  | 4 -> (Rogue_status_finish:ofhnfenfeai)
  | _ -> Pbrt.Decoder.malformed_variant "ofhnfenfeai"

let rec decode_pb_mbnocjilejg d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_room_status_none:mbnocjilejg)
  | 1 -> (Rogue_room_status_lock:mbnocjilejg)
  | 2 -> (Rogue_room_status_unlock:mbnocjilejg)
  | 3 -> (Rogue_room_status_play:mbnocjilejg)
  | 4 -> (Rogue_room_status_finish:mbnocjilejg)
  | _ -> Pbrt.Decoder.malformed_variant "mbnocjilejg"

let rec decode_pb_gjdmagoenld d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_area_status_lock:gjdmagoenld)
  | 1 -> (Rogue_area_status_unlock:gjdmagoenld)
  | 2 -> (Rogue_area_status_first_pass:gjdmagoenld)
  | 3 -> (Rogue_area_status_close:gjdmagoenld)
  | _ -> Pbrt.Decoder.malformed_variant "gjdmagoenld"

let rec decode_pb_nnnopllagge d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_buff_source_type_none:nnnopllagge)
  | 1 -> (Rogue_buff_source_type_select:nnnopllagge)
  | 2 -> (Rogue_buff_source_type_enhance:nnnopllagge)
  | 3 -> (Rogue_buff_source_type_miracle:nnnopllagge)
  | 4 -> (Rogue_buff_source_type_dialogue:nnnopllagge)
  | 5 -> (Rogue_buff_source_type_bonus:nnnopllagge)
  | 6 -> (Rogue_buff_source_type_maze_skill:nnnopllagge)
  | 7 -> (Rogue_buff_source_type_shop:nnnopllagge)
  | 8 -> (Rogue_buff_source_type_level_mechanism:nnnopllagge)
  | 9 -> (Rogue_buff_source_type_endless_level_start:nnnopllagge)
  | _ -> Pbrt.Decoder.malformed_variant "nnnopllagge"

let rec decode_pb_dblpgacnlah d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_miracle_source_type_none:dblpgacnlah)
  | 1 -> (Rogue_miracle_source_type_select:dblpgacnlah)
  | 2 -> (Rogue_miracle_source_type_dialogue:dblpgacnlah)
  | 3 -> (Rogue_miracle_source_type_bonus:dblpgacnlah)
  | 4 -> (Rogue_miracle_source_type_use:dblpgacnlah)
  | 5 -> (Rogue_miracle_source_type_reset:dblpgacnlah)
  | 6 -> (Rogue_miracle_source_type_replace:dblpgacnlah)
  | 7 -> (Rogue_miracle_source_type_trade:dblpgacnlah)
  | 8 -> (Rogue_miracle_source_type_get:dblpgacnlah)
  | 9 -> (Rogue_miracle_source_type_shop:dblpgacnlah)
  | 10 -> (Rogue_miracle_source_type_maze_skill:dblpgacnlah)
  | 11 -> (Rogue_miracle_source_type_level_mechanism:dblpgacnlah)
  | 12 -> (Rogue_miracle_source_type_endless_level_start:dblpgacnlah)
  | _ -> Pbrt.Decoder.malformed_variant "dblpgacnlah"

let rec decode_pb_npbmfealpda d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_dialogue_result_succ:npbmfealpda)
  | 1 -> (Rogue_dialogue_result_fail:npbmfealpda)
  | _ -> Pbrt.Decoder.malformed_variant "npbmfealpda"

let rec decode_pb_lffandejddm d =
  let v = default_lffandejddm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.buff_list <- List.rev v.buff_list;
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.buff_list <- (decode_pb_jfbmlneajki (Pbrt.Decoder.nested d)) :: v.buff_list;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lffandejddm), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    buff_list = v.buff_list;
  } : lffandejddm)

let rec decode_pb_ifiajgbcpfe d =
  let v = default_ifiajgbcpfe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.niiplnimbdh <- decode_pb_mbnocjilejg d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifiajgbcpfe), field(8)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.ioijcfnndfi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifiajgbcpfe), field(12)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.mfdelanaicp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifiajgbcpfe), field(7)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.bnbhejbnipl <- decode_pb_mbnocjilejg d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifiajgbcpfe), field(11)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.dmlfebgjkkb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifiajgbcpfe), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    niiplnimbdh = v.niiplnimbdh;
    ioijcfnndfi = v.ioijcfnndfi;
    mfdelanaicp = v.mfdelanaicp;
    bnbhejbnipl = v.bnbhejbnipl;
    dmlfebgjkkb = v.dmlfebgjkkb;
  } : ifiajgbcpfe)

let rec decode_pb_kcoenpcpemg d =
  let v = default_kcoenpcpemg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jmmfccfiepc <- List.rev v.jmmfccfiepc;
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.lnjapmhfcck <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcoenpcpemg), field(13)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.gflhplhjaeh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcoenpcpemg), field(15)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.ggdaffjnmpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcoenpcpemg), field(4)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.dgigimbnnlb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcoenpcpemg), field(12)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.jmmfccfiepc <- (decode_pb_ifiajgbcpfe (Pbrt.Decoder.nested d)) :: v.jmmfccfiepc;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcoenpcpemg), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lnjapmhfcck = v.lnjapmhfcck;
    gflhplhjaeh = v.gflhplhjaeh;
    ggdaffjnmpa = v.ggdaffjnmpa;
    dgigimbnnlb = v.dgigimbnnlb;
    jmmfccfiepc = v.jmmfccfiepc;
  } : kcoenpcpemg)

let rec decode_pb_gkhpicdajdl d =
  let v = default_gkhpicdajdl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.lnjapmhfcck <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gkhpicdajdl), field(5)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.ggdaffjnmpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gkhpicdajdl), field(3)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.emcojpeknnm <- decode_pb_gjdmagoenld d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gkhpicdajdl), field(9)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.ennhncalcjj <- Pbrt.Decoder.bool d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gkhpicdajdl), field(13)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.ediopngagap <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gkhpicdajdl), field(10)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.bejkhpkacji <- decode_pb_ofhnfenfeai d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gkhpicdajdl), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lnjapmhfcck = v.lnjapmhfcck;
    ggdaffjnmpa = v.ggdaffjnmpa;
    emcojpeknnm = v.emcojpeknnm;
    ennhncalcjj = v.ennhncalcjj;
    ediopngagap = v.ediopngagap;
    bejkhpkacji = v.bejkhpkacji;
  } : gkhpicdajdl)

let rec decode_pb_iacnppnpccc d =
  let v = default_iacnppnpccc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.nehaljheool <- List.rev v.nehaljheool;
      v.jjnpbehjnjb <- List.rev v.jjnpbehjnjb;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.jjnpbehjnjb <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iacnppnpccc), field(13)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.fliodcbfcfb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iacnppnpccc), field(1)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.cggbcjdjmcm <- Pbrt.Decoder.bool d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iacnppnpccc), field(8)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.phnnlfhkehl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iacnppnpccc), field(6)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.njohallnnnf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iacnppnpccc), field(12)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.cbjpfggchfh <- decode_pb_hbdomioniba d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iacnppnpccc), field(3)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.okgomocdmna <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iacnppnpccc), field(7)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.pagddbhndgi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iacnppnpccc), field(10)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.leggojccbin <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iacnppnpccc), field(4)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.aionnejpeag <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iacnppnpccc), field(11)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.nehaljheool <- (decode_pb_jfbmlneajki (Pbrt.Decoder.nested d)) :: v.nehaljheool;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iacnppnpccc), field(5)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.hdialjfomdi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iacnppnpccc), field(2)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.kfnmpcoanof <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iacnppnpccc), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jjnpbehjnjb = v.jjnpbehjnjb;
    fliodcbfcfb = v.fliodcbfcfb;
    cggbcjdjmcm = v.cggbcjdjmcm;
    phnnlfhkehl = v.phnnlfhkehl;
    njohallnnnf = v.njohallnnnf;
    cbjpfggchfh = v.cbjpfggchfh;
    okgomocdmna = v.okgomocdmna;
    pagddbhndgi = v.pagddbhndgi;
    leggojccbin = v.leggojccbin;
    aionnejpeag = v.aionnejpeag;
    nehaljheool = v.nehaljheool;
    hdialjfomdi = v.hdialjfomdi;
    kfnmpcoanof = v.kfnmpcoanof;
  } : iacnppnpccc)

let rec decode_pb_ihjjjmhfaan d =
  let v = default_ihjjjmhfaan_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bjijcdggdde <- List.rev v.bjijcdggdde;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.bjijcdggdde <- (decode_pb_jfbmlneajki (Pbrt.Decoder.nested d)) :: v.bjijcdggdde;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ihjjjmhfaan), field(10)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.hjcdfejpjcl <- Some (decode_pb_jfbmlneajki (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ihjjjmhfaan), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bjijcdggdde = v.bjijcdggdde;
    hjcdfejpjcl = v.hjcdfejpjcl;
  } : ihjjjmhfaan)

let rec decode_pb_omfcngipdgf d =
  let v = default_omfcngipdgf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ckmcdophoho <- List.rev v.ckmcdophoho;
      v.eikoihamlka <- List.rev v.eikoihamlka;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.eikoihamlka <- (decode_pb_jfbmlneajki (Pbrt.Decoder.nested d)) :: v.eikoihamlka;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(omfcngipdgf), field(9)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.ckmcdophoho <- (decode_pb_jfbmlneajki (Pbrt.Decoder.nested d)) :: v.ckmcdophoho;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(omfcngipdgf), field(3)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.comnknfemfn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(omfcngipdgf), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    eikoihamlka = v.eikoihamlka;
    ckmcdophoho = v.ckmcdophoho;
    comnknfemfn = v.comnknfemfn;
  } : omfcngipdgf)

let rec decode_pb_jgadagdbegl d =
  let v = default_jgadagdbegl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.pkkfndimmio <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jgadagdbegl), field(5)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.lohpklihemj <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jgadagdbegl), field(7)" pk
    | Some (8, Pbrt.Bits32) -> begin
      v.knaoedajjai <- Pbrt.Decoder.float_as_bits32 d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jgadagdbegl), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pkkfndimmio = v.pkkfndimmio;
    lohpklihemj = v.lohpklihemj;
    knaoedajjai = v.knaoedajjai;
  } : jgadagdbegl)

let rec decode_pb_oeahdnkofon d =
  let v = default_oeahdnkofon_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.lgbagcehkme <- List.rev v.lgbagcehkme;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.lgbagcehkme <- (decode_pb_jgadagdbegl (Pbrt.Decoder.nested d)) :: v.lgbagcehkme;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oeahdnkofon), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lgbagcehkme = v.lgbagcehkme;
  } : oeahdnkofon)

let rec decode_pb_fohcbjkjedg d =
  let v = default_fohcbjkjedg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.edcaibmdknh <- List.rev v.edcaibmdknh;
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.afefamkndoo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fohcbjkjedg), field(9)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.ichkjnfaacl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fohcbjkjedg), field(13)" pk
    | Some (12, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.int32_as_varint d
      ) in
      v.edcaibmdknh <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.edcaibmdknh;
      );
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fohcbjkjedg), field(12)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.ekieijdbdhm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fohcbjkjedg), field(6)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.fomcmdmpdcg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fohcbjkjedg), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    afefamkndoo = v.afefamkndoo;
    ichkjnfaacl = v.ichkjnfaacl;
    edcaibmdknh = v.edcaibmdknh;
    ekieijdbdhm = v.ekieijdbdhm;
    fomcmdmpdcg = v.fomcmdmpdcg;
  } : fohcbjkjedg)

let rec decode_pb_oekndgfgeji d =
  let v = default_oekndgfgeji_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pcpkkbfpbeb <- List.rev v.pcpkkbfpbeb;
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.lpmiommhiek <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oekndgfgeji), field(2)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.pcpkkbfpbeb <- (decode_pb_fohcbjkjedg (Pbrt.Decoder.nested d)) :: v.pcpkkbfpbeb;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oekndgfgeji), field(12)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.aoolkgbeieh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oekndgfgeji), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lpmiommhiek = v.lpmiommhiek;
    pcpkkbfpbeb = v.pcpkkbfpbeb;
    aoolkgbeieh = v.aoolkgbeieh;
  } : oekndgfgeji)

let rec decode_pb_liidngdpinl d =
  let v = default_liidngdpinl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ohmlalbookj <- List.rev v.ohmlalbookj;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.ohmlalbookj <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(liidngdpinl), field(10)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.pmoenkofnla <- Some (decode_pb_oekndgfgeji (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(liidngdpinl), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ohmlalbookj = v.ohmlalbookj;
    pmoenkofnla = v.pmoenkofnla;
  } : liidngdpinl)

let rec decode_pb_bfaggjhfpdi d =
  let v = default_bfaggjhfpdi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ccdkldffekl <- List.rev v.ccdkldffekl;
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.ccdkldffekl <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bfaggjhfpdi), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ccdkldffekl = v.ccdkldffekl;
  } : bfaggjhfpdi)

let rec decode_pb_enhkgahlnjm d =
  let v = default_enhkgahlnjm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ofaekfangcn <- List.rev v.ofaekfangcn;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.ofaekfangcn <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(enhkgahlnjm), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ofaekfangcn = v.ofaekfangcn;
  } : enhkgahlnjm)

let rec decode_pb_ogekjemplng d =
  let v = default_ogekjemplng_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.amdnjffegfp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ogekjemplng), field(10)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.ekpahpdniff <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ogekjemplng), field(3)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.oddcohjamko <- Some (decode_pb_lffandejddm (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ogekjemplng), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    amdnjffegfp = v.amdnjffegfp;
    ekpahpdniff = v.ekpahpdniff;
    oddcohjamko = v.oddcohjamko;
  } : ogekjemplng)

let rec decode_pb_mhbicckbklh d =
  let v = default_mhbicckbklh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.felfdbckgbe <- List.rev v.felfdbckgbe;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.joipnmmehbm <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mhbicckbklh), field(1)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.felfdbckgbe <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mhbicckbklh), field(15)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.japlhpdhbci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mhbicckbklh), field(6)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.efiaofpjjan <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mhbicckbklh), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    joipnmmehbm = v.joipnmmehbm;
    felfdbckgbe = v.felfdbckgbe;
    japlhpdhbci = v.japlhpdhbci;
    efiaofpjjan = v.efiaofpjjan;
  } : mhbicckbklh)

let rec decode_pb_ikpacpiajlh d =
  let v = default_ikpacpiajlh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.foenmmipefp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ikpacpiajlh), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    foenmmipefp = v.foenmmipefp;
  } : ikpacpiajlh)

let rec decode_pb_keenhmggipf d =
  let v = default_keenhmggipf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.gannhbnhjmp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(keenhmggipf), field(6)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.okgomocdmna <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(keenhmggipf), field(1)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.ihlccndmjfi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(keenhmggipf), field(8)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.cfffhjomjao <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(keenhmggipf), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gannhbnhjmp = v.gannhbnhjmp;
    okgomocdmna = v.okgomocdmna;
    ihlccndmjfi = v.ihlccndmjfi;
    cfffhjomjao = v.cfffhjomjao;
  } : keenhmggipf)

let rec decode_pb_gdeajeoinom d =
  let v = default_gdeajeoinom_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.base_avatar_id_list <- List.rev v.base_avatar_id_list;
      v.dfkpgckchah <- List.rev v.dfkpgckchah;
      v.okhflbihfhm <- List.rev v.okhflbihfhm;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.okhflbihfhm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gdeajeoinom), field(9)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.boijkbofiid <- Some (decode_pb_mhbicckbklh (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gdeajeoinom), field(10)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.dfkpgckchah <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gdeajeoinom), field(4)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.base_avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gdeajeoinom), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    okhflbihfhm = v.okhflbihfhm;
    boijkbofiid = v.boijkbofiid;
    dfkpgckchah = v.dfkpgckchah;
    base_avatar_id_list = v.base_avatar_id_list;
  } : gdeajeoinom)

let rec decode_pb_lbcnahcogfm d =
  let v = default_lbcnahcogfm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.pmoenkofnla <- Some (decode_pb_oekndgfgeji (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbcnahcogfm), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pmoenkofnla = v.pmoenkofnla;
  } : lbcnahcogfm)

let rec decode_pb_ppachbcgdfe d =
  let v = default_ppachbcgdfe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.gcmeendacok <- List.rev v.gcmeendacok;
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.gcmeendacok <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ppachbcgdfe), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gcmeendacok = v.gcmeendacok;
  } : ppachbcgdfe)

let rec decode_pb_nhnblapbcjc d =
  let v = default_nhnblapbcjc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.efejfkooglh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhnblapbcjc), field(3)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.aobifgleena <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhnblapbcjc), field(10)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.agndiegkeih <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhnblapbcjc), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    efejfkooglh = v.efejfkooglh;
    aobifgleena = v.aobifgleena;
    agndiegkeih = v.agndiegkeih;
  } : nhnblapbcjc)

let rec decode_pb_fkmaamoekbp d =
  let v = default_fkmaamoekbp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.nehaljheool <- List.rev v.nehaljheool;
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.nehaljheool <- (decode_pb_jfbmlneajki (Pbrt.Decoder.nested d)) :: v.nehaljheool;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fkmaamoekbp), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nehaljheool = v.nehaljheool;
  } : fkmaamoekbp)

let rec decode_pb_mnkgimgdlhm d =
  let v = default_mnkgimgdlhm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.nnibggkcbdj <- Some (decode_pb_gdeajeoinom (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mnkgimgdlhm), field(4)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.pmoenkofnla <- Some (decode_pb_lbcnahcogfm (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mnkgimgdlhm), field(9)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.fchbbphcclc <- Some (decode_pb_ppachbcgdfe (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mnkgimgdlhm), field(8)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.lfleifodebe <- Some (decode_pb_blhhnmhcodp (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mnkgimgdlhm), field(2)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.imelchpnpgc <- Some (decode_pb_kcoenpcpemg (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mnkgimgdlhm), field(13)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.blgceifkfbp <- Pbrt.Decoder.bool d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mnkgimgdlhm), field(5)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.kjicoehehhk <- Some (decode_pb_nhnblapbcjc (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mnkgimgdlhm), field(10)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.status <- decode_pb_ofhnfenfeai d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mnkgimgdlhm), field(7)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.ocjhnoaacgc <- Some (decode_pb_glbffhmcbkd (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mnkgimgdlhm), field(6)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.pogejanpebj <- Some (decode_pb_fkmaamoekbp (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mnkgimgdlhm), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nnibggkcbdj = v.nnibggkcbdj;
    pmoenkofnla = v.pmoenkofnla;
    fchbbphcclc = v.fchbbphcclc;
    lfleifodebe = v.lfleifodebe;
    imelchpnpgc = v.imelchpnpgc;
    blgceifkfbp = v.blgceifkfbp;
    kjicoehehhk = v.kjicoehehhk;
    status = v.status;
    ocjhnoaacgc = v.ocjhnoaacgc;
    pogejanpebj = v.pogejanpebj;
  } : mnkgimgdlhm)

let rec decode_pb_hfknoalpegg d =
  let v = default_hfknoalpegg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.aegcbbajcgf <- List.rev v.aegcbbajcgf;
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.aegcbbajcgf <- (decode_pb_gkhpicdajdl (Pbrt.Decoder.nested d)) :: v.aegcbbajcgf;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfknoalpegg), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    aegcbbajcgf = v.aegcbbajcgf;
  } : hfknoalpegg)

let rec decode_pb_ilbadbbdfbm d =
  let v = default_ilbadbbdfbm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.gahcmamleil <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ilbadbbdfbm), field(10)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.cgbmpnplkfj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ilbadbbdfbm), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gahcmamleil = v.gahcmamleil;
    cgbmpnplkfj = v.cgbmpnplkfj;
  } : ilbadbbdfbm)

let rec decode_pb_kfibbcigege d =
  let v = default_kfibbcigege_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hbjejpcphbf <- List.rev v.hbjejpcphbf;
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.efejfkooglh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kfibbcigege), field(4)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.hbjejpcphbf <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kfibbcigege), field(13)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.aobifgleena <- Pbrt.Decoder.bool d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kfibbcigege), field(7)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.gijofajjcak <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kfibbcigege), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    efejfkooglh = v.efejfkooglh;
    hbjejpcphbf = v.hbjejpcphbf;
    aobifgleena = v.aobifgleena;
    gijofajjcak = v.gijofajjcak;
  } : kfibbcigege)

let rec decode_pb_hdpejplkedj d =
  let v = default_hdpejplkedj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.end_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hdpejplkedj), field(6)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.begin_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hdpejplkedj), field(7)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.ookciddhnhn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hdpejplkedj), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    end_time = v.end_time;
    begin_time = v.begin_time;
    ookciddhnhn = v.ookciddhnhn;
  } : hdpejplkedj)

let rec decode_pb_mlieimmance d =
  let v = default_mlieimmance_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.deafkpjjgab <- Some (decode_pb_hfknoalpegg (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mlieimmance), field(2)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.dgohjiekiai <- Some (decode_pb_ilbadbbdfbm (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mlieimmance), field(11)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.kjicoehehhk <- Some (decode_pb_kfibbcigege (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mlieimmance), field(10)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.ejcijjnlahl <- Some (decode_pb_kgljkmgbdnk (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mlieimmance), field(3)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.njokhdgdfcm <- Some (decode_pb_hdpejplkedj (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mlieimmance), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    deafkpjjgab = v.deafkpjjgab;
    dgohjiekiai = v.dgohjiekiai;
    kjicoehehhk = v.kjicoehehhk;
    ejcijjnlahl = v.ejcijjnlahl;
    njokhdgdfcm = v.njokhdgdfcm;
  } : mlieimmance)

let rec decode_pb_jklldafipmj d =
  let v = default_jklldafipmj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1019, Pbrt.Bytes) -> begin
      v.gngfcddjjbi <- Some (decode_pb_mnkgimgdlhm (Pbrt.Decoder.nested d));
    end
    | Some (1019, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jklldafipmj), field(1019)" pk
    | Some (306, Pbrt.Bytes) -> begin
      v.fecdamigijp <- Some (decode_pb_mlieimmance (Pbrt.Decoder.nested d));
    end
    | Some (306, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jklldafipmj), field(306)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gngfcddjjbi = v.gngfcddjjbi;
    fecdamigijp = v.fecdamigijp;
  } : jklldafipmj)

let rec decode_pb_flaiejgpbla d =
  let v = default_flaiejgpbla_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.gcflbbikckf <- Some (decode_pb_enhkgahlnjm (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(flaiejgpbla), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gcflbbikckf = v.gcflbbikckf;
  } : flaiejgpbla)

let rec decode_pb_glbeljclheb d =
  let v = default_glbeljclheb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hbjejpcphbf <- List.rev v.hbjejpcphbf;
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.efejfkooglh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glbeljclheb), field(8)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.aobifgleena <- Pbrt.Decoder.bool d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glbeljclheb), field(15)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.hbjejpcphbf <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glbeljclheb), field(11)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.agndiegkeih <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glbeljclheb), field(4)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.gijofajjcak <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glbeljclheb), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    efejfkooglh = v.efejfkooglh;
    aobifgleena = v.aobifgleena;
    hbjejpcphbf = v.hbjejpcphbf;
    agndiegkeih = v.agndiegkeih;
    gijofajjcak = v.gijofajjcak;
  } : glbeljclheb)

let rec decode_pb_boilblgpbkn d =
  let v = default_boilblgpbkn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(boilblgpbkn), field(14)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.nncdpbdokbj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(boilblgpbkn), field(6)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(boilblgpbkn), field(10)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.bajeglndfpe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(boilblgpbkn), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    level = v.level;
    nncdpbdokbj = v.nncdpbdokbj;
    exp = v.exp;
    bajeglndfpe = v.bajeglndfpe;
  } : boilblgpbkn)

let rec decode_pb_rogue_dialogue_event_param d =
  let v = default_rogue_dialogue_event_param_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.is_valid <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_dialogue_event_param), field(11)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.dialogue_event_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_dialogue_event_param), field(13)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.int_value <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_dialogue_event_param), field(15)" pk
    | Some (6, Pbrt.Bits32) -> begin
      v.ratio <- Pbrt.Decoder.float_as_bits32 d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_dialogue_event_param), field(6)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.arg_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_dialogue_event_param), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    is_valid = v.is_valid;
    dialogue_event_id = v.dialogue_event_id;
    int_value = v.int_value;
    ratio = v.ratio;
    arg_id = v.arg_id;
  } : rogue_dialogue_event_param)

let rec decode_pb_hdhjljcibih d =
  let v = default_hdhjljcibih_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jpiojenbgdi <- List.rev v.jpiojenbgdi;
      v.dppfaapfama <- List.rev v.dppfaapfama;
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.dppfaapfama <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hdhjljcibih), field(4)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.jpiojenbgdi <- (decode_pb_rogue_dialogue_event_param (Pbrt.Decoder.nested d)) :: v.jpiojenbgdi;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hdhjljcibih), field(1)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.ebffkdhgkgl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hdhjljcibih), field(15)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.jnboodjdmho <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hdhjljcibih), field(13)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.game_mode_type <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hdhjljcibih), field(9)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.hgfnojflbcl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hdhjljcibih), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dppfaapfama = v.dppfaapfama;
    jpiojenbgdi = v.jpiojenbgdi;
    ebffkdhgkgl = v.ebffkdhgkgl;
    jnboodjdmho = v.jnboodjdmho;
    game_mode_type = v.game_mode_type;
    hgfnojflbcl = v.hgfnojflbcl;
  } : hdhjljcibih)

let rec decode_pb_gplahfgkjfi d =
  let v = default_gplahfgkjfi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.fkkedckadhe <- List.rev v.fkkedckadhe;
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.hkbihdlbllh <- decode_pb_npbmfealpda d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gplahfgkjfi), field(5)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.fkkedckadhe <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gplahfgkjfi), field(4)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.ekpahpdniff <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gplahfgkjfi), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hkbihdlbllh = v.hkbihdlbllh;
    fkkedckadhe = v.fkkedckadhe;
    ekpahpdniff = v.ekpahpdniff;
  } : gplahfgkjfi)

let rec decode_pb_edehjanelbl d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(edehjanelbl)" pk

let rec decode_pb_elbfiobopib d =
  let v = default_elbfiobopib_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(elbfiobopib), field(1)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.kbneaoehnob <- Some (decode_pb_jklldafipmj (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(elbfiobopib), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    kbneaoehnob = v.kbneaoehnob;
  } : elbfiobopib)

let rec decode_pb_lpimpachcfm d =
  let v = default_lpimpachcfm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.okhflbihfhm <- List.rev v.okhflbihfhm;
      v.base_avatar_id_list <- List.rev v.base_avatar_id_list;
      v.eabjmdoajdk <- List.rev v.eabjmdoajdk;
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.idcigdfjabi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lpimpachcfm), field(14)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.bajeglndfpe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lpimpachcfm), field(11)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.eabjmdoajdk <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lpimpachcfm), field(8)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.ggdaffjnmpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lpimpachcfm), field(13)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.base_avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lpimpachcfm), field(7)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.okhflbihfhm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lpimpachcfm), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    idcigdfjabi = v.idcigdfjabi;
    bajeglndfpe = v.bajeglndfpe;
    eabjmdoajdk = v.eabjmdoajdk;
    ggdaffjnmpa = v.ggdaffjnmpa;
    base_avatar_id_list = v.base_avatar_id_list;
    okhflbihfhm = v.okhflbihfhm;
  } : lpimpachcfm)

let rec decode_pb_eijoglklgmn d =
  let v = default_eijoglklgmn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.scene <- Some (decode_pb_scene_info (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eijoglklgmn), field(12)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.kbneaoehnob <- Some (decode_pb_jklldafipmj (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eijoglklgmn), field(9)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.pnbpdbgfffd <- Some (decode_pb_cioeahefpln (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eijoglklgmn), field(11)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.lineup <- Some (decode_pb_lineup_info (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eijoglklgmn), field(1)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eijoglklgmn), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    scene = v.scene;
    kbneaoehnob = v.kbneaoehnob;
    pnbpdbgfffd = v.pnbpdbgfffd;
    lineup = v.lineup;
    retcode = v.retcode;
  } : eijoglklgmn)

let rec decode_pb_hkbaifbfaic d =
  let v = default_hkbaifbfaic_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.ggdaffjnmpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hkbaifbfaic), field(13)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.idcigdfjabi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hkbaifbfaic), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ggdaffjnmpa = v.ggdaffjnmpa;
    idcigdfjabi = v.idcigdfjabi;
  } : hkbaifbfaic)

let rec decode_pb_lekhmhfkdjf d =
  let v = default_lekhmhfkdjf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lekhmhfkdjf), field(1)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.lineup <- Some (decode_pb_lineup_info (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lekhmhfkdjf), field(4)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.pnbpdbgfffd <- Some (decode_pb_cioeahefpln (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lekhmhfkdjf), field(10)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.kbneaoehnob <- Some (decode_pb_jklldafipmj (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lekhmhfkdjf), field(2)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.scene <- Some (decode_pb_scene_info (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lekhmhfkdjf), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    lineup = v.lineup;
    pnbpdbgfffd = v.pnbpdbgfffd;
    kbneaoehnob = v.kbneaoehnob;
    scene = v.scene;
  } : lekhmhfkdjf)

let rec decode_pb_idodjdfmdfo d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(idodjdfmdfo)" pk

let rec decode_pb_ckegndkdnno d =
  let v = default_ckegndkdnno_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.scene <- Some (decode_pb_scene_info (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ckegndkdnno), field(2)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.pnbpdbgfffd <- Some (decode_pb_cioeahefpln (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ckegndkdnno), field(10)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.lineup <- Some (decode_pb_lineup_info (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ckegndkdnno), field(14)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ckegndkdnno), field(1)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.kbneaoehnob <- Some (decode_pb_jklldafipmj (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ckegndkdnno), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    scene = v.scene;
    pnbpdbgfffd = v.pnbpdbgfffd;
    lineup = v.lineup;
    retcode = v.retcode;
    kbneaoehnob = v.kbneaoehnob;
  } : ckegndkdnno)

let rec decode_pb_anlgfnikibd d =
  let v = default_anlgfnikibd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.mjhepdejndc <- Some (decode_pb_dgolpjpbccp (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(anlgfnikibd), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mjhepdejndc = v.mjhepdejndc;
  } : anlgfnikibd)

let rec decode_pb_neffgondoan d =
  let v = default_neffgondoan_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.base_avatar_id_list <- List.rev v.base_avatar_id_list;
      v.okhflbihfhm <- List.rev v.okhflbihfhm;
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.okhflbihfhm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(neffgondoan), field(4)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.base_avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(neffgondoan), field(2)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.prop_entity_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(neffgondoan), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    okhflbihfhm = v.okhflbihfhm;
    base_avatar_id_list = v.base_avatar_id_list;
    prop_entity_id = v.prop_entity_id;
  } : neffgondoan)

let rec decode_pb_moeggpbedmb d =
  let v = default_moeggpbedmb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.base_avatar_id_list <- List.rev v.base_avatar_id_list;
      v.okhflbihfhm <- List.rev v.okhflbihfhm;
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(moeggpbedmb), field(6)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.okhflbihfhm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(moeggpbedmb), field(12)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.base_avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(moeggpbedmb), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    okhflbihfhm = v.okhflbihfhm;
    base_avatar_id_list = v.base_avatar_id_list;
  } : moeggpbedmb)

let rec decode_pb_kgbineghcnh d =
  let v = default_kgbineghcnh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.okhflbihfhm <- List.rev v.okhflbihfhm;
      v.base_avatar_id_list <- List.rev v.base_avatar_id_list;
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.base_avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgbineghcnh), field(14)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.base_avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgbineghcnh), field(6)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.idcigdfjabi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgbineghcnh), field(15)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.okhflbihfhm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgbineghcnh), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    base_avatar_id_list = v.base_avatar_id_list;
    base_avatar_id = v.base_avatar_id;
    idcigdfjabi = v.idcigdfjabi;
    okhflbihfhm = v.okhflbihfhm;
  } : kgbineghcnh)

let rec decode_pb_aaiajmednek d =
  let v = default_aaiajmednek_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.base_avatar_id_list <- List.rev v.base_avatar_id_list;
      v.okhflbihfhm <- List.rev v.okhflbihfhm;
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.boijkbofiid <- Some (decode_pb_mhbicckbklh (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aaiajmednek), field(14)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.fkhdphhhdff <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aaiajmednek), field(11)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.base_avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aaiajmednek), field(7)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aaiajmednek), field(13)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.okhflbihfhm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aaiajmednek), field(3)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.base_avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aaiajmednek), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    boijkbofiid = v.boijkbofiid;
    fkhdphhhdff = v.fkhdphhhdff;
    base_avatar_id = v.base_avatar_id;
    retcode = v.retcode;
    okhflbihfhm = v.okhflbihfhm;
    base_avatar_id_list = v.base_avatar_id_list;
  } : aaiajmednek)

let rec decode_pb_ofjdflhcbno d =
  let v = default_ofjdflhcbno_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.boijkbofiid <- Some (decode_pb_mhbicckbklh (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ofjdflhcbno), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    boijkbofiid = v.boijkbofiid;
  } : ofjdflhcbno)

let rec decode_pb_hgfggbgbkma d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(hgfggbgbkma)" pk

let rec decode_pb_bmnacahlhkf d =
  let v = default_bmnacahlhkf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.jkdkdpoblli <- Some (decode_pb_oeahdnkofon (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bmnacahlhkf), field(8)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bmnacahlhkf), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jkdkdpoblli = v.jkdkdpoblli;
    retcode = v.retcode;
  } : bmnacahlhkf)

let rec decode_pb_ikmcocgkpfb d =
  let v = default_ikmcocgkpfb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.paofpgekpfe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ikmcocgkpfb), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    paofpgekpfe = v.paofpgekpfe;
  } : ikmcocgkpfb)

let rec decode_pb_hmphcjllhlg d =
  let v = default_hmphcjllhlg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hmphcjllhlg), field(6)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.boeaanepgoc <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hmphcjllhlg), field(1)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.amikofgncbo <- Some (decode_pb_jfbmlneajki (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hmphcjllhlg), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    boeaanepgoc = v.boeaanepgoc;
    amikofgncbo = v.amikofgncbo;
  } : hmphcjllhlg)

let rec decode_pb_egakdgnfohg d =
  let v = default_egakdgnfohg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.ggdaffjnmpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egakdgnfohg), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ggdaffjnmpa = v.ggdaffjnmpa;
  } : egakdgnfohg)

let rec decode_pb_penkmieihcg d =
  let v = default_penkmieihcg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.mjhepdejndc <- Some (decode_pb_dgolpjpbccp (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(penkmieihcg), field(7)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.kbneaoehnob <- Some (decode_pb_jklldafipmj (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(penkmieihcg), field(8)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(penkmieihcg), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mjhepdejndc = v.mjhepdejndc;
    kbneaoehnob = v.kbneaoehnob;
    retcode = v.retcode;
  } : penkmieihcg)

let rec decode_pb_lcepafndlhi d =
  let v = default_lcepafndlhi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.blgceifkfbp <- Pbrt.Decoder.bool d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lcepafndlhi), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    blgceifkfbp = v.blgceifkfbp;
  } : lcepafndlhi)

let rec decode_pb_mpebchgcinh d =
  let v = default_mpebchgcinh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.ejcijjnlahl <- Some (decode_pb_kgljkmgbdnk (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mpebchgcinh), field(11)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.mjhepdejndc <- Some (decode_pb_dgolpjpbccp (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mpebchgcinh), field(4)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.lineup <- Some (decode_pb_lineup_info (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mpebchgcinh), field(9)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.scene <- Some (decode_pb_scene_info (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mpebchgcinh), field(12)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.amcmdlgpofj <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mpebchgcinh), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ejcijjnlahl = v.ejcijjnlahl;
    mjhepdejndc = v.mjhepdejndc;
    lineup = v.lineup;
    scene = v.scene;
    amcmdlgpofj = v.amcmdlgpofj;
  } : mpebchgcinh)

let rec decode_pb_llnijpmjopo d =
  let v = default_llnijpmjopo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.ioijcfnndfi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(llnijpmjopo), field(1)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.mfdelanaicp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(llnijpmjopo), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ioijcfnndfi = v.ioijcfnndfi;
    mfdelanaicp = v.mfdelanaicp;
  } : llnijpmjopo)

let rec decode_pb_jgcndbojpog d =
  let v = default_jgcndbojpog_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.pnbpdbgfffd <- Some (decode_pb_cioeahefpln (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jgcndbojpog), field(12)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jgcndbojpog), field(8)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.dgigimbnnlb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jgcndbojpog), field(6)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.lineup <- Some (decode_pb_lineup_info (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jgcndbojpog), field(14)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.scene <- Some (decode_pb_scene_info (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jgcndbojpog), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pnbpdbgfffd = v.pnbpdbgfffd;
    retcode = v.retcode;
    dgigimbnnlb = v.dgigimbnnlb;
    lineup = v.lineup;
    scene = v.scene;
  } : jgcndbojpog)

let rec decode_pb_glljcdfnpem d =
  let v = default_glljcdfnpem_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.lnjapmhfcck <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glljcdfnpem), field(1)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.glbbhlbjecp <- Some (decode_pb_ifiajgbcpfe (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glljcdfnpem), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lnjapmhfcck = v.lnjapmhfcck;
    glbbhlbjecp = v.glbbhlbjecp;
  } : glljcdfnpem)

let rec decode_pb_gchjjpflnkb d =
  let v = default_gchjjpflnkb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.gehbffmbgmi <- Pbrt.Decoder.bool d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gchjjpflnkb), field(9)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.idcigdfjabi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gchjjpflnkb), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gehbffmbgmi = v.gehbffmbgmi;
    idcigdfjabi = v.idcigdfjabi;
  } : gchjjpflnkb)

let rec decode_pb_hofgmeoijfj d =
  let v = default_hofgmeoijfj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hofgmeoijfj), field(11)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hofgmeoijfj), field(9)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.acpoidmpoae <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hofgmeoijfj), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    reward = v.reward;
    acpoidmpoae = v.acpoidmpoae;
  } : hofgmeoijfj)

let rec decode_pb_bpmdjhmbdkl d =
  let v = default_bpmdjhmbdkl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.count <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpmdjhmbdkl), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    count = v.count;
  } : bpmdjhmbdkl)

let rec decode_pb_exchange_rogue_reward_key_sc_rsp d =
  let v = default_exchange_rogue_reward_key_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.count <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(exchange_rogue_reward_key_sc_rsp), field(1)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(exchange_rogue_reward_key_sc_rsp), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    count = v.count;
    retcode = v.retcode;
  } : exchange_rogue_reward_key_sc_rsp)

let rec decode_pb_aeioghldhlc d =
  let v = default_aeioghldhlc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.ggdaffjnmpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aeioghldhlc), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ggdaffjnmpa = v.ggdaffjnmpa;
  } : aeioghldhlc)

let rec decode_pb_hodomdmcjol d =
  let v = default_hodomdmcjol_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.dihnhalhcih <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hodomdmcjol), field(10)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.donbbmfeogl <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hodomdmcjol), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dihnhalhcih = v.dihnhalhcih;
    donbbmfeogl = v.donbbmfeogl;
  } : hodomdmcjol)

let rec decode_pb_bcbecaaneef d =
  let v = default_bcbecaaneef_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bcbecaaneef), field(14)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.bajeglndfpe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bcbecaaneef), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    level = v.level;
    bajeglndfpe = v.bajeglndfpe;
  } : bcbecaaneef)

let rec decode_pb_nofljpbanih d =
  let v = default_nofljpbanih_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nofljpbanih), field(5)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nofljpbanih), field(1)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.bajeglndfpe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nofljpbanih), field(9)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nofljpbanih), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    reward = v.reward;
    bajeglndfpe = v.bajeglndfpe;
    level = v.level;
  } : nofljpbanih)

let rec decode_pb_bmplpcnnkec d =
  let v = default_bmplpcnnkec_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bmplpcnnkec), field(15)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.bajeglndfpe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bmplpcnnkec), field(1)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bmplpcnnkec), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    level = v.level;
    bajeglndfpe = v.bajeglndfpe;
    reward = v.reward;
  } : bmplpcnnkec)

let rec decode_pb_mhednfmeopa d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(mhednfmeopa)" pk

let rec decode_pb_ckblkmocjmf d =
  let v = default_ckblkmocjmf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.jpaolljmggn <- Some (decode_pb_kgljkmgbdnk (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ckblkmocjmf), field(1)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ckblkmocjmf), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jpaolljmggn = v.jpaolljmggn;
    retcode = v.retcode;
  } : ckblkmocjmf)

let rec decode_pb_jgajkhkkeio d =
  let v = default_jgajkhkkeio_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.dcadeobidnh <- List.rev v.dcadeobidnh;
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.bnhepammdhc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jgajkhkkeio), field(9)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.dcadeobidnh <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jgajkhkkeio), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bnhepammdhc = v.bnhepammdhc;
    dcadeobidnh = v.dcadeobidnh;
  } : jgajkhkkeio)

let rec decode_pb_lkofhppadca d =
  let v = default_lkofhppadca_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.bnhepammdhc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lkofhppadca), field(1)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.ejcijjnlahl <- Some (decode_pb_kgljkmgbdnk (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lkofhppadca), field(3)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lkofhppadca), field(7)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lkofhppadca), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bnhepammdhc = v.bnhepammdhc;
    ejcijjnlahl = v.ejcijjnlahl;
    reward = v.reward;
    retcode = v.retcode;
  } : lkofhppadca)

let rec decode_pb_fkmaillmohj d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(fkmaillmohj)" pk

let rec decode_pb_lknpoemfdno d =
  let v = default_lknpoemfdno_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.ejcijjnlahl <- Some (decode_pb_kgljkmgbdnk (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lknpoemfdno), field(7)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lknpoemfdno), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ejcijjnlahl = v.ejcijjnlahl;
    retcode = v.retcode;
  } : lknpoemfdno)

let rec decode_pb_pggpopocflm d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(pggpopocflm)" pk

let rec decode_pb_elhiacmnajc d =
  let v = default_elhiacmnajc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ihneplfgmdc <- List.rev v.ihneplfgmdc;
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(elhiacmnajc), field(10)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.ihneplfgmdc <- (decode_pb_boilblgpbkn (Pbrt.Decoder.nested d)) :: v.ihneplfgmdc;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(elhiacmnajc), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ihneplfgmdc = v.ihneplfgmdc;
  } : elhiacmnajc)

let rec decode_pb_hbfjgoicaol d =
  let v = default_hbfjgoicaol_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.bajeglndfpe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hbfjgoicaol), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bajeglndfpe = v.bajeglndfpe;
  } : hbfjgoicaol)

let rec decode_pb_jigppbjhmnp d =
  let v = default_jigppbjhmnp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.kjicoehehhk <- Some (decode_pb_boilblgpbkn (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jigppbjhmnp), field(8)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jigppbjhmnp), field(9)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jigppbjhmnp), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kjicoehehhk = v.kjicoehehhk;
    reward = v.reward;
    retcode = v.retcode;
  } : jigppbjhmnp)

let rec decode_pb_moagaeodfnn d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(moagaeodfnn)" pk

let rec decode_pb_lbfbelnigfh d =
  let v = default_lbfbelnigfh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbfbelnigfh), field(14)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.bbanknacajb <- Some (decode_pb_lljpmigaffg (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbfbelnigfh), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    bbanknacajb = v.bbanknacajb;
  } : lbfbelnigfh)

let rec decode_pb_baglomejene d =
  let v = default_baglomejene_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.hehehnicpjn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(baglomejene), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hehehnicpjn = v.hehehnicpjn;
  } : baglomejene)

let rec decode_pb_kdgaocegfdf d =
  let v = default_kdgaocegfdf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kdgaocegfdf), field(1)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.bbanknacajb <- Some (decode_pb_lljpmigaffg (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kdgaocegfdf), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    bbanknacajb = v.bbanknacajb;
  } : kdgaocegfdf)

let rec decode_pb_fjijhabofak d =
  let v = default_fjijhabofak_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.dgohjiekiai <- Some (decode_pb_keenhmggipf (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fjijhabofak), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dgohjiekiai = v.dgohjiekiai;
  } : fjijhabofak)

let rec decode_pb_jnibnndccka d =
  let v = default_jnibnndccka_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.ddknigaggof <- Pbrt.Decoder.bool d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnibnndccka), field(15)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.status <- decode_pb_ofhnfenfeai d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnibnndccka), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ddknigaggof = v.ddknigaggof;
    status = v.status;
  } : jnibnndccka)

let rec decode_pb_amnocflooda d =
  let v = default_amnocflooda_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.ejcijjnlahl <- Some (decode_pb_kgljkmgbdnk (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(amnocflooda), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ejcijjnlahl = v.ejcijjnlahl;
  } : amnocflooda)

let rec decode_pb_kmhcdlibnek d =
  let v = default_kmhcdlibnek_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.base_avatar_id_list <- List.rev v.base_avatar_id_list;
      v.okhflbihfhm <- List.rev v.okhflbihfhm;
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.okhflbihfhm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kmhcdlibnek), field(6)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.base_avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kmhcdlibnek), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    okhflbihfhm = v.okhflbihfhm;
    base_avatar_id_list = v.base_avatar_id_list;
  } : kmhcdlibnek)

let rec decode_pb_oidpdohncaa d =
  let v = default_oidpdohncaa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.ijmlpfaaino <- Some (decode_pb_glbeljclheb (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oidpdohncaa), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ijmlpfaaino = v.ijmlpfaaino;
  } : oidpdohncaa)

let rec decode_pb_ogoiebcjefd d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_rogue_arcade_type_none:ogoiebcjefd)
  | 7665 -> (Cmd_rogue_arcade_leave_cs_req:ogoiebcjefd)
  | 7657 -> (Cmd_rogue_arcade_start_cs_req:ogoiebcjefd)
  | 7661 -> (Cmd_rogue_arcade_restart_cs_req:ogoiebcjefd)
  | 7673 -> (Cmd_rogue_arcade_get_info_cs_req:ogoiebcjefd)
  | 7654 -> (Cmd_rogue_arcade_get_info_sc_rsp:ogoiebcjefd)
  | 7667 -> (Cmd_rogue_arcade_leave_sc_rsp:ogoiebcjefd)
  | 7674 -> (Cmd_rogue_arcade_start_sc_rsp:ogoiebcjefd)
  | 7658 -> (Cmd_rogue_arcade_restart_sc_rsp:ogoiebcjefd)
  | _ -> Pbrt.Decoder.malformed_variant "ogoiebcjefd"

let rec decode_pb_ddignhhjpae d =
  let v = default_ddignhhjpae_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.lineup <- Some (decode_pb_lineup_info (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddignhhjpae), field(15)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.pnbpdbgfffd <- Some (decode_pb_cioeahefpln (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddignhhjpae), field(6)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.scene <- Some (decode_pb_scene_info (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddignhhjpae), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lineup = v.lineup;
    pnbpdbgfffd = v.pnbpdbgfffd;
    scene = v.scene;
  } : ddignhhjpae)

let rec decode_pb_fhlefpomfno d =
  let v = default_fhlefpomfno_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.base_avatar_id_list <- List.rev v.base_avatar_id_list;
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.base_avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fhlefpomfno), field(2)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.mfdelanaicp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fhlefpomfno), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    base_avatar_id_list = v.base_avatar_id_list;
    mfdelanaicp = v.mfdelanaicp;
  } : fhlefpomfno)

let rec decode_pb_kkmphcoinno d =
  let v = default_kkmphcoinno_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkmphcoinno), field(15)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.mfdelanaicp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkmphcoinno), field(3)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.hiacklcdijn <- Some (decode_pb_ddignhhjpae (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kkmphcoinno), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    mfdelanaicp = v.mfdelanaicp;
    hiacklcdijn = v.hiacklcdijn;
  } : kkmphcoinno)

let rec decode_pb_lkaelkhnclo d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(lkaelkhnclo)" pk

let rec decode_pb_jfncdjjoiln d =
  let v = default_jfncdjjoiln_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jfncdjjoiln), field(7)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.hiacklcdijn <- Some (decode_pb_ddignhhjpae (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jfncdjjoiln), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    hiacklcdijn = v.hiacklcdijn;
  } : jfncdjjoiln)

let rec decode_pb_hhkmgndniim d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(hhkmgndniim)" pk

let rec decode_pb_keejcoilnoh d =
  let v = default_keejcoilnoh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(keejcoilnoh), field(1)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.hiacklcdijn <- Some (decode_pb_ddignhhjpae (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(keejcoilnoh), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    hiacklcdijn = v.hiacklcdijn;
  } : keejcoilnoh)

let rec decode_pb_kodhakndeeg d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(kodhakndeeg)" pk

let rec decode_pb_gjfcgaliifa d =
  let v = default_gjfcgaliifa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gjfcgaliifa), field(6)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.mfdelanaicp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gjfcgaliifa), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    mfdelanaicp = v.mfdelanaicp;
  } : gjfcgaliifa)

let rec decode_pb_mkgcjlllhmo d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_rogue_common_type_none:mkgcjlllhmo)
  | 5659 -> (Cmd_handle_rogue_common_pending_action_sc_rsp:mkgcjlllhmo)
  | 5631 -> (Cmd_common_rogue_update_sc_notify:mkgcjlllhmo)
  | 5677 -> (Cmd_rogue_workbench_select_func_cs_req:mkgcjlllhmo)
  | 5630 -> (Cmd_take_rogue_miracle_handbook_reward_cs_req:mkgcjlllhmo)
  | 5655 -> (Cmd_rogue_workbench_select_func_sc_rsp:mkgcjlllhmo)
  | 5696 -> (Cmd_rogue_workbench_handle_func_cs_req:mkgcjlllhmo)
  | 5615 -> (Cmd_sync_rogue_common_pending_action_sc_notify:mkgcjlllhmo)
  | 5610 -> (Cmd_get_rogue_collection_cs_req:mkgcjlllhmo)
  | 5639 -> (Cmd_get_rogue_shop_buff_info_sc_rsp:mkgcjlllhmo)
  | 5606 -> (Cmd_prepare_rogue_adventure_room_cs_req:mkgcjlllhmo)
  | 5621 -> (Cmd_finish_rogue_common_dialogue_sc_rsp:mkgcjlllhmo)
  | 5642 -> (Cmd_rogue_workbench_get_info_cs_req:mkgcjlllhmo)
  | 5669 -> (Cmd_take_rogue_event_handbook_reward_sc_rsp:mkgcjlllhmo)
  | 5636 -> (Cmd_rogue_workbench_handle_func_sc_rsp:mkgcjlllhmo)
  | 5691 -> (Cmd_rogue_get_gamble_info_cs_req:mkgcjlllhmo)
  | 5672 -> (Cmd_set_rogue_collection_cs_req:mkgcjlllhmo)
  | 5654 -> (Cmd_rogue_npc_disappear_cs_req:mkgcjlllhmo)
  | 5671 -> (Cmd_sync_rogue_common_dialogue_data_sc_notify:mkgcjlllhmo)
  | 5661 -> (Cmd_set_rogue_exhibition_cs_req:mkgcjlllhmo)
  | 5682 -> (Cmd_get_rogue_adventure_room_info_sc_rsp:mkgcjlllhmo)
  | 5643 -> (Cmd_get_rogue_shop_miracle_info_cs_req:mkgcjlllhmo)
  | 5629 -> (Cmd_buy_rogue_shop_miracle_cs_req:mkgcjlllhmo)
  | 5692 -> (Cmd_get_enhance_common_rogue_buff_info_sc_rsp:mkgcjlllhmo)
  | 5607 -> (Cmd_common_rogue_query_cs_req:mkgcjlllhmo)
  | 5683 -> (Cmd_rogue_workbench_get_info_sc_rsp:mkgcjlllhmo)
  | 5620 -> (Cmd_rogue_get_gamble_info_sc_rsp:mkgcjlllhmo)
  | 5647 -> (Cmd_handle_rogue_common_pending_action_cs_req:mkgcjlllhmo)
  | 5612 -> (Cmd_sync_rogue_handbook_data_update_sc_notify:mkgcjlllhmo)
  | 5603 -> (Cmd_get_rogue_common_dialogue_data_cs_req:mkgcjlllhmo)
  | 5665 -> (Cmd_rogue_npc_disappear_sc_rsp:mkgcjlllhmo)
  | 5686 -> (Cmd_common_rogue_component_update_sc_notify:mkgcjlllhmo)
  | 5670 -> (Cmd_get_rogue_exhibition_sc_rsp:mkgcjlllhmo)
  | 5651 -> (Cmd_buy_rogue_shop_miracle_sc_rsp:mkgcjlllhmo)
  | 5675 -> (Cmd_update_rogue_adventure_room_score_cs_req:mkgcjlllhmo)
  | 5626 -> (Cmd_get_rogue_common_dialogue_data_sc_rsp:mkgcjlllhmo)
  | 5646 -> (Cmd_get_rogue_handbook_data_sc_rsp:mkgcjlllhmo)
  | 5611 -> (Cmd_prepare_rogue_adventure_room_sc_rsp:mkgcjlllhmo)
  | 5679 -> (Cmd_set_rogue_exhibition_sc_rsp:mkgcjlllhmo)
  | 5609 -> (Cmd_stop_rogue_adventure_room_cs_req:mkgcjlllhmo)
  | 5664 -> (Cmd_get_rogue_exhibition_cs_req:mkgcjlllhmo)
  | 5650 -> (Cmd_get_rogue_collection_sc_rsp:mkgcjlllhmo)
  | 5666 -> (Cmd_get_rogue_handbook_data_cs_req:mkgcjlllhmo)
  | 5617 -> (Cmd_get_enhance_common_rogue_buff_info_cs_req:mkgcjlllhmo)
  | 5668 -> (Cmd_sync_rogue_adventure_room_info_sc_notify:mkgcjlllhmo)
  | 5613 -> (Cmd_select_rogue_common_dialogue_option_cs_req:mkgcjlllhmo)
  | 5624 -> (Cmd_exchange_rogue_buff_with_miracle_sc_rsp:mkgcjlllhmo)
  | 5625 -> (Cmd_exchange_rogue_buff_with_miracle_cs_req:mkgcjlllhmo)
  | 5640 -> (Cmd_update_rogue_adventure_room_score_sc_rsp:mkgcjlllhmo)
  | 5656 -> (Cmd_get_rogue_shop_miracle_info_sc_rsp:mkgcjlllhmo)
  | 5685 -> (Cmd_sync_rogue_common_virtual_item_info_sc_notify:mkgcjlllhmo)
  | 5673 -> (Cmd_sync_rogue_common_dialogue_option_finish_sc_notify:mkgcjlllhmo)
  | 5614 -> (Cmd_select_rogue_common_dialogue_option_sc_rsp:mkgcjlllhmo)
  | 5690 -> (Cmd_enhance_common_rogue_buff_cs_req:mkgcjlllhmo)
  | 5641 -> (Cmd_common_rogue_query_sc_rsp:mkgcjlllhmo)
  | 5622 -> (Cmd_finish_rogue_common_dialogue_cs_req:mkgcjlllhmo)
  | 5693 -> (Cmd_get_rogue_shop_buff_info_cs_req:mkgcjlllhmo)
  | 5688 -> (Cmd_stop_rogue_adventure_room_sc_rsp:mkgcjlllhmo)
  | 5633 -> (Cmd_buy_rogue_shop_buff_cs_req:mkgcjlllhmo)
  | 5605 -> (Cmd_set_rogue_collection_sc_rsp:mkgcjlllhmo)
  | 5657 -> (Cmd_rogue_do_gamble_cs_req:mkgcjlllhmo)
  | 5667 -> (Cmd_sync_rogue_common_action_result_sc_notify:mkgcjlllhmo)
  | 5628 -> (Cmd_enhance_common_rogue_buff_sc_rsp:mkgcjlllhmo)
  | 5699 -> (Cmd_buy_rogue_shop_buff_sc_rsp:mkgcjlllhmo)
  | 5689 -> (Cmd_take_rogue_event_handbook_reward_cs_req:mkgcjlllhmo)
  | 5648 -> (Cmd_get_rogue_adventure_room_info_cs_req:mkgcjlllhmo)
  | 5627 -> (Cmd_rogue_do_gamble_sc_rsp:mkgcjlllhmo)
  | 5695 -> (Cmd_take_rogue_miracle_handbook_reward_sc_rsp:mkgcjlllhmo)
  | _ -> Pbrt.Decoder.malformed_variant "mkgcjlllhmo"

let rec decode_pb_hjbbihgchli d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_adventure_room_status_none:hjbbihgchli)
  | 1 -> (Rogue_adventure_room_status_prepare:hjbbihgchli)
  | 2 -> (Rogue_adventure_room_status_started:hjbbihgchli)
  | 3 -> (Rogue_adventure_room_status_stopped:hjbbihgchli)
  | _ -> Pbrt.Decoder.malformed_variant "hjbbihgchli"

let rec decode_pb_oodgnonfgkc d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_unlock_function_type_miracle:oodgnonfgkc)
  | 1 -> (Rogue_unlock_function_type_show_hint:oodgnonfgkc)
  | 2 -> (Rogue_unlock_function_type_cosmos_ban_aeon:oodgnonfgkc)
  | 3 -> (Rogue_unlock_funtion_type_exhibition:oodgnonfgkc)
  | 4 -> (Rogue_unlock_funtion_type_collection:oodgnonfgkc)
  | _ -> Pbrt.Decoder.malformed_variant "oodgnonfgkc"

let rec decode_pb_mmgfibbpbmh d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_common_miracle_select_source_type_none:mmgfibbpbmh)
  | 1 -> (Rogue_common_miracle_select_source_type_dice_roll:mmgfibbpbmh)
  | 2 -> (Rogue_common_miracle_select_source_type_aeon:mmgfibbpbmh)
  | 3 -> (Rogue_common_miracle_select_source_type_board_event:mmgfibbpbmh)
  | 4 -> (Rogue_common_miracle_select_source_type_level_mechanism:mmgfibbpbmh)
  | _ -> Pbrt.Decoder.malformed_variant "mmgfibbpbmh"

let rec decode_pb_cmocllepeoj d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_common_buff_display_type_none:cmocllepeoj)
  | 1 -> (Rogue_common_buff_display_type_add:cmocllepeoj)
  | 2 -> (Rogue_common_buff_display_type_remove:cmocllepeoj)
  | _ -> Pbrt.Decoder.malformed_variant "cmocllepeoj"

let rec decode_pb_fnfcolliige d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_common_miracle_display_type_none:fnfcolliige)
  | 1 -> (Rogue_common_miracle_display_type_add:fnfcolliige)
  | 2 -> (Rogue_common_miracle_display_type_remove:fnfcolliige)
  | 3 -> (Rogue_common_miracle_display_type_repair:fnfcolliige)
  | _ -> Pbrt.Decoder.malformed_variant "fnfcolliige"

let rec decode_pb_jeefcjoabhc d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_common_item_display_type_none:jeefcjoabhc)
  | 1 -> (Rogue_common_item_display_type_add:jeefcjoabhc)
  | 2 -> (Rogue_common_item_display_type_remove:jeefcjoabhc)
  | _ -> Pbrt.Decoder.malformed_variant "jeefcjoabhc"

let rec decode_pb_bnlkbheaggj d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_common_action_result_display_type_none:bnlkbheaggj)
  | 1 -> (Rogue_common_action_result_display_type_single:bnlkbheaggj)
  | 2 -> (Rogue_common_action_result_display_type_multi:bnlkbheaggj)
  | _ -> Pbrt.Decoder.malformed_variant "bnlkbheaggj"

let rec decode_pb_npkhcnmhkdp d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_common_action_result_source_type_none:npkhcnmhkdp)
  | 1 -> (Rogue_common_action_result_source_type_select:npkhcnmhkdp)
  | 2 -> (Rogue_common_action_result_source_type_enhance:npkhcnmhkdp)
  | 3 -> (Rogue_common_action_result_source_type_miracle:npkhcnmhkdp)
  | 4 -> (Rogue_common_action_result_source_type_dialogue:npkhcnmhkdp)
  | 5 -> (Rogue_common_action_result_source_type_bonus:npkhcnmhkdp)
  | 6 -> (Rogue_common_action_result_source_type_shop:npkhcnmhkdp)
  | 7 -> (Rogue_common_action_result_source_type_dice:npkhcnmhkdp)
  | 8 -> (Rogue_common_action_result_source_type_aeon:npkhcnmhkdp)
  | 9 -> (Rogue_common_action_result_source_type_board_event:npkhcnmhkdp)
  | 10 -> (Rogue_common_action_result_source_type_maze_skill:npkhcnmhkdp)
  | 11 -> (Rogue_common_action_result_source_type_level_mechanism:npkhcnmhkdp)
  | 12 -> (Rogue_common_action_result_source_type_buff:npkhcnmhkdp)
  | 13 -> (Rogue_common_action_result_source_type_reforge:npkhcnmhkdp)
  | _ -> Pbrt.Decoder.malformed_variant "npkhcnmhkdp"

let rec decode_pb_kogippjmdkb d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_collection_operate_none:kogippjmdkb)
  | 1 -> (Rogue_collection_operate_set:kogippjmdkb)
  | 2 -> (Rogue_collection_operate_unset:kogippjmdkb)
  | _ -> Pbrt.Decoder.malformed_variant "kogippjmdkb"

let rec decode_pb_bpibjehipof d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_booth_none:bpibjehipof)
  | 1 -> (Rogue_booth_empty:bpibjehipof)
  | 2 -> (Rogue_booth_display:bpibjehipof)
  | _ -> Pbrt.Decoder.malformed_variant "bpibjehipof"

let rec decode_pb_eeaceekbbik d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_collection_none:eeaceekbbik)
  | 1 -> (Rogue_collection_unlocked:eeaceekbbik)
  | 2 -> (Rogue_collection_display:eeaceekbbik)
  | _ -> Pbrt.Decoder.malformed_variant "eeaceekbbik"

let rec decode_pb_odijleidcnd d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_exhibition_none:odijleidcnd)
  | 1 -> (Rogue_exhibition_unlocked:odijleidcnd)
  | 2 -> (Rogue_exhibition_display:odijleidcnd)
  | _ -> Pbrt.Decoder.malformed_variant "odijleidcnd"

let rec decode_pb_ikhcpmbdbll d =
  let v = default_ikhcpmbdbll_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.eojifjnkhij <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ikhcpmbdbll), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    eojifjnkhij = v.eojifjnkhij;
  } : ikhcpmbdbll)

let rec decode_pb_bmnobkdmpbh d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(bmnobkdmpbh)" pk

let rec decode_pb_njccbnlfkcn d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(njccbnlfkcn)" pk

let rec decode_pb_hbnambacbfh d =
  let v = default_hbnambacbfh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.alalgchdbdp <- Some (decode_pb_rogue_common_buff_select_info (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hbnambacbfh), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    alalgchdbdp = v.alalgchdbdp;
  } : hbnambacbfh)

let rec decode_pb_bfjilkicklf d =
  let v = default_bfjilkicklf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.eikoihamlka <- List.rev v.eikoihamlka;
      v.ckmcdophoho <- List.rev v.ckmcdophoho;
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.comnknfemfn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bfjilkicklf), field(10)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.ckmcdophoho <- (decode_pb_mnicidbdjfi (Pbrt.Decoder.nested d)) :: v.ckmcdophoho;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bfjilkicklf), field(7)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.eikoihamlka <- (decode_pb_mnicidbdjfi (Pbrt.Decoder.nested d)) :: v.eikoihamlka;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bfjilkicklf), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    comnknfemfn = v.comnknfemfn;
    ckmcdophoho = v.ckmcdophoho;
    eikoihamlka = v.eikoihamlka;
  } : bfjilkicklf)

let rec decode_pb_fijoihplgfi d =
  let v = default_fijoihplgfi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.hiddgkclnhg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fijoihplgfi), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hiddgkclnhg = v.hiddgkclnhg;
  } : fijoihplgfi)

let rec decode_pb_hiijcocijbc d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(hiijcocijbc)" pk

let rec decode_pb_lhmgpkeoghe d =
  let v = default_lhmgpkeoghe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.eojifjnkhij <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhmgpkeoghe), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    eojifjnkhij = v.eojifjnkhij;
  } : lhmgpkeoghe)

let rec decode_pb_flijafinaac d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(flijafinaac)" pk

let rec decode_pb_nbjgogbhokm d =
  let v = default_nbjgogbhokm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.eojifjnkhij <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nbjgogbhokm), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    eojifjnkhij = v.eojifjnkhij;
  } : nbjgogbhokm)

let rec decode_pb_agmibdajooi d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(agmibdajooi)" pk

let rec decode_pb_oagmnkadfbi d =
  let v = default_oagmnkadfbi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.kfancbcgdmp <- Some (decode_pb_djpaibjmmoe (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oagmnkadfbi), field(7)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.jbjpjpilfam <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oagmnkadfbi), field(13)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.dkmcfgheefh <- Pbrt.Decoder.bool d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oagmnkadfbi), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kfancbcgdmp = v.kfancbcgdmp;
    jbjpjpilfam = v.jbjpjpilfam;
    dkmcfgheefh = v.dkmcfgheefh;
  } : oagmnkadfbi)

let rec decode_pb_clobgmgklja d =
  let v = default_clobgmgklja_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.jhjpgbkblag <- Some (decode_pb_djpaibjmmoe (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(clobgmgklja), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jhjpgbkblag = v.jhjpgbkblag;
  } : clobgmgklja)

let rec decode_pb_nneegnafcfg d =
  let v = default_nneegnafcfg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.ichkjnfaacl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nneegnafcfg), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ichkjnfaacl = v.ichkjnfaacl;
  } : nneegnafcfg)

let rec decode_pb_pefkaoobihi d =
  let v = default_pefkaoobihi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.jhjpgbkblag <- Some (decode_pb_djpaibjmmoe (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pefkaoobihi), field(4)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.aheiodcbaae <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pefkaoobihi), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jhjpgbkblag = v.jhjpgbkblag;
    aheiodcbaae = v.aheiodcbaae;
  } : pefkaoobihi)

let rec decode_pb_bklejdedngm d =
  let v = default_bklejdedngm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.jhjpgbkblag <- Some (decode_pb_djpaibjmmoe (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bklejdedngm), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jhjpgbkblag = v.jhjpgbkblag;
  } : bklejdedngm)

let rec decode_pb_okdkilkjabn d =
  let v = default_okdkilkjabn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.jbjpjpilfam <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(okdkilkjabn), field(14)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.kfancbcgdmp <- Some (decode_pb_djpaibjmmoe (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(okdkilkjabn), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jbjpjpilfam = v.jbjpjpilfam;
    kfancbcgdmp = v.kfancbcgdmp;
  } : okdkilkjabn)

let rec decode_pb_ifnnhfbomnh d =
  let v = default_ifnnhfbomnh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.jhjpgbkblag <- Some (decode_pb_djpaibjmmoe (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ifnnhfbomnh), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jhjpgbkblag = v.jhjpgbkblag;
  } : ifnnhfbomnh)

let rec decode_pb_bkoniegkimo d =
  let v = default_bkoniegkimo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.cobljdcahcb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bkoniegkimo), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cobljdcahcb = v.cobljdcahcb;
  } : bkoniegkimo)

let rec decode_pb_plkliapjkcd d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(plkliapjkcd)" pk

let rec decode_pb_enolgaiddgi d =
  let v = default_enolgaiddgi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.khhcaendfei <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(enolgaiddgi), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    khhcaendfei = v.khhcaendfei;
  } : enolgaiddgi)

let rec decode_pb_ndjjekapdgl d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(ndjjekapdgl)" pk

let rec decode_pb_okaoepbdlkg d =
  let v = default_okaoepbdlkg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.gieginhphpb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(okaoepbdlkg), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gieginhphpb = v.gieginhphpb;
  } : okaoepbdlkg)

let rec decode_pb_gplcnpbojpa d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(gplcnpbojpa)" pk

let rec decode_pb_bdljnoiiooh d =
  let v = default_bdljnoiiooh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.cdeedkpknfo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bdljnoiiooh), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cdeedkpknfo = v.cdeedkpknfo;
  } : bdljnoiiooh)

let rec decode_pb_bnmibbknggo d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(bnmibbknggo)" pk

let rec decode_pb_gndkaolnaic d =
  let v = default_gndkaolnaic_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.cmhkhpemokh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gndkaolnaic), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cmhkhpemokh = v.cmhkhpemokh;
  } : gndkaolnaic)

let rec decode_pb_eohkjanfhmp d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(eohkjanfhmp)" pk

let rec decode_pb_jogglahdihp d =
  let v = default_jogglahdihp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.cobljdcahcb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jogglahdihp), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cobljdcahcb = v.cobljdcahcb;
  } : jogglahdihp)

let rec decode_pb_dghcpkmijia d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(dghcpkmijia)" pk

let rec decode_pb_pnhmjikaamk d =
  let v = default_pnhmjikaamk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.cobljdcahcb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pnhmjikaamk), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cobljdcahcb = v.cobljdcahcb;
  } : pnhmjikaamk)

let rec decode_pb_ckedjfdfdkg d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(ckedjfdfdkg)" pk

let rec decode_pb_gplpibkcldk d =
  let v = default_gplpibkcldk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.gngdoajbfea <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gplpibkcldk), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gngdoajbfea = v.gngdoajbfea;
  } : gplpibkcldk)

let rec decode_pb_hahidlnbdid d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(hahidlnbdid)" pk

let rec decode_pb_flhognnpcee d =
  let v = default_flhognnpcee_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.gapjajnhglk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(flhognnpcee), field(6)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.kagnbjdmamf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(flhognnpcee), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gapjajnhglk = v.gapjajnhglk;
    kagnbjdmamf = v.kagnbjdmamf;
  } : flhognnpcee)

let rec decode_pb_keijecmckle d =
  let v = default_keijecmckle_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(keijecmckle), field(8)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(keijecmckle), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id = v.avatar_id;
    avatar_type = v.avatar_type;
  } : keijecmckle)

let rec decode_pb_mhjehlnicfp d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(mhjehlnicfp)" pk

let rec decode_pb_fkpilfbkdla d =
  let v = default_fkpilfbkdla_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.count <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fkpilfbkdla), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    count = v.count;
  } : fkpilfbkdla)

let rec decode_pb_lnkggapbplf d =
  let v = default_lnkggapbplf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.ichkjnfaacl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lnkggapbplf), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ichkjnfaacl = v.ichkjnfaacl;
  } : lnkggapbplf)

let rec decode_pb_jjobhoedlho d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(jjobhoedlho)" pk

let rec decode_pb_rogue_adventure_room_gameplay_wolf_gun_target d =
  let v = default_rogue_adventure_room_gameplay_wolf_gun_target_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.target_none <- Pbrt.Decoder.empty_nested d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_adventure_room_gameplay_wolf_gun_target), field(10)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.target_coin <- Some (decode_pb_fkpilfbkdla (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_adventure_room_gameplay_wolf_gun_target), field(8)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.target_miracle <- Some (decode_pb_lnkggapbplf (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_adventure_room_gameplay_wolf_gun_target), field(4)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.target_ruanmei <- Pbrt.Decoder.empty_nested d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(rogue_adventure_room_gameplay_wolf_gun_target), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    target_none = v.target_none;
    target_coin = v.target_coin;
    target_miracle = v.target_miracle;
    target_ruanmei = v.target_ruanmei;
  } : rogue_adventure_room_gameplay_wolf_gun_target)

let rec decode_pb_kghbncadpbj d =
  let v = default_kghbncadpbj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.nkpcaindgao <- List.rev v.nkpcaindgao;
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.pcejljofmag <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kghbncadpbj), field(4)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.nkpcaindgao <- (decode_pb_rogue_adventure_room_gameplay_wolf_gun_target (Pbrt.Decoder.nested d)) :: v.nkpcaindgao;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kghbncadpbj), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pcejljofmag = v.pcejljofmag;
    nkpcaindgao = v.nkpcaindgao;
  } : kghbncadpbj)

let rec decode_pb_kpaflmlbaig d =
  let v = default_kpaflmlbaig_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.ilcgmkpbmgm <- Some (decode_pb_kghbncadpbj (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kpaflmlbaig), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ilcgmkpbmgm = v.ilcgmkpbmgm;
  } : kpaflmlbaig)

let rec decode_pb_jnoilndnkbj d =
  let v = default_jnoilndnkbj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.lpgaoolbbfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnoilndnkbj), field(2)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.mmppaiggmon <- Some (decode_pb_kpaflmlbaig (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnoilndnkbj), field(15)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.status <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnoilndnkbj), field(6)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.hgdjmjhnhhp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnoilndnkbj), field(8)" pk
    | Some (1, Pbrt.Bits64) -> begin
      v.gdkaebolcdi <- Pbrt.Decoder.float_as_bits64 d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnoilndnkbj), field(1)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.addadjcedkh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnoilndnkbj), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lpgaoolbbfm = v.lpgaoolbbfm;
    mmppaiggmon = v.mmppaiggmon;
    status = v.status;
    hgdjmjhnhhp = v.hgdjmjhnhhp;
    gdkaebolcdi = v.gdkaebolcdi;
    addadjcedkh = v.addadjcedkh;
  } : jnoilndnkbj)

let rec decode_pb_hpohpkijbaj d =
  let v = default_hpohpkijbaj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.pdhjencainp <- Some (decode_pb_jnoilndnkbj (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hpohpkijbaj), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pdhjencainp = v.pdhjencainp;
  } : hpohpkijbaj)

let rec decode_pb_jfddjekmgge d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(jfddjekmgge)" pk

let rec decode_pb_lledefmjmdh d =
  let v = default_lledefmjmdh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lledefmjmdh), field(13)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.pdhjencainp <- Some (decode_pb_jnoilndnkbj (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lledefmjmdh), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    pdhjencainp = v.pdhjencainp;
  } : lledefmjmdh)

let rec decode_pb_lihdfgpjagn d =
  let v = default_lihdfgpjagn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.eonnofjkjfl <- List.rev v.eonnofjkjfl;
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.ifalllhbdod <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lihdfgpjagn), field(13)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.eonnofjkjfl <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lihdfgpjagn), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ifalllhbdod = v.ifalllhbdod;
    eonnofjkjfl = v.eonnofjkjfl;
  } : lihdfgpjagn)

let rec decode_pb_kldmdkabcho d =
  let v = default_kldmdkabcho_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kldmdkabcho), field(6)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.pdhjencainp <- Some (decode_pb_jnoilndnkbj (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kldmdkabcho), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    pdhjencainp = v.pdhjencainp;
  } : kldmdkabcho)

let rec decode_pb_cejllbjkhih d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(cejllbjkhih)" pk

let rec decode_pb_jcnfdimlfmc d =
  let v = default_jcnfdimlfmc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcnfdimlfmc), field(14)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.pdhjencainp <- Some (decode_pb_jnoilndnkbj (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcnfdimlfmc), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    pdhjencainp = v.pdhjencainp;
  } : jcnfdimlfmc)

let rec decode_pb_bgaflmnodli d =
  let v = default_bgaflmnodli_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.lpgaoolbbfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bgaflmnodli), field(10)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.foflcmnhakn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bgaflmnodli), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lpgaoolbbfm = v.lpgaoolbbfm;
    foflcmnhakn = v.foflcmnhakn;
  } : bgaflmnodli)

let rec decode_pb_cggnemiplld d =
  let v = default_cggnemiplld_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cggnemiplld), field(4)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.pdhjencainp <- Some (decode_pb_jnoilndnkbj (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cggnemiplld), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    pdhjencainp = v.pdhjencainp;
  } : cggnemiplld)

let rec decode_pb_knmignnohnj d =
  let v = default_knmignnohnj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.lohpklihemj <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(knmignnohnj), field(10)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.ichkjnfaacl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(knmignnohnj), field(8)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.gcdniclhoga <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(knmignnohnj), field(12)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.jdaejcpfkil <- Pbrt.Decoder.bool d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(knmignnohnj), field(3)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.dcejfokjpod <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(knmignnohnj), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lohpklihemj = v.lohpklihemj;
    ichkjnfaacl = v.ichkjnfaacl;
    gcdniclhoga = v.gcdniclhoga;
    jdaejcpfkil = v.jdaejcpfkil;
    dcejfokjpod = v.dcejfokjpod;
  } : knmignnohnj)

let rec decode_pb_pgghnkhkkog d =
  let v = default_pgghnkhkkog_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.jdaejcpfkil <- Pbrt.Decoder.bool d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgghnkhkkog), field(5)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.lohpklihemj <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgghnkhkkog), field(11)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.pkkfndimmio <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgghnkhkkog), field(8)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.gcdniclhoga <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgghnkhkkog), field(4)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.odfbamohefb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgghnkhkkog), field(15)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.dcejfokjpod <- Pbrt.Decoder.bool d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgghnkhkkog), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jdaejcpfkil = v.jdaejcpfkil;
    lohpklihemj = v.lohpklihemj;
    pkkfndimmio = v.pkkfndimmio;
    gcdniclhoga = v.gcdniclhoga;
    odfbamohefb = v.odfbamohefb;
    dcejfokjpod = v.dcejfokjpod;
  } : pgghnkhkkog)

let rec decode_pb_occpiocibei d =
  let v = default_occpiocibei_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pcpkkbfpbeb <- List.rev v.pcpkkbfpbeb;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.pcpkkbfpbeb <- (decode_pb_knmignnohnj (Pbrt.Decoder.nested d)) :: v.pcpkkbfpbeb;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(occpiocibei), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pcpkkbfpbeb = v.pcpkkbfpbeb;
  } : occpiocibei)

let rec decode_pb_dbmldhmcphn d =
  let v = default_dbmldhmcphn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.buff_list <- List.rev v.buff_list;
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.buff_list <- (decode_pb_pgghnkhkkog (Pbrt.Decoder.nested d)) :: v.buff_list;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dbmldhmcphn), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    buff_list = v.buff_list;
  } : dbmldhmcphn)

let rec decode_pb_fnpcmgicfkk d =
  let v = default_fnpcmgicfkk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.aieeiiggfmj <- Pbrt.Decoder.bool d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fnpcmgicfkk), field(3)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.idcigdfjabi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fnpcmgicfkk), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    aieeiiggfmj = v.aieeiiggfmj;
    idcigdfjabi = v.idcigdfjabi;
  } : fnpcmgicfkk)

let rec decode_pb_mkilmbbefoo d =
  let v = default_mkilmbbefoo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.bfkodbfknbl <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mkilmbbefoo), field(15)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.pogejanpebj <- Some (decode_pb_dbmldhmcphn (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mkilmbbefoo), field(6)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mkilmbbefoo), field(3)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.npbgklkbgdi <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mkilmbbefoo), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bfkodbfknbl = v.bfkodbfknbl;
    pogejanpebj = v.pogejanpebj;
    retcode = v.retcode;
    npbgklkbgdi = v.npbgklkbgdi;
  } : mkilmbbefoo)

let rec decode_pb_adckamembmd d =
  let v = default_adckamembmd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.aieeiiggfmj <- Pbrt.Decoder.bool d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adckamembmd), field(4)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.idcigdfjabi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adckamembmd), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    aieeiiggfmj = v.aieeiiggfmj;
    idcigdfjabi = v.idcigdfjabi;
  } : adckamembmd)

let rec decode_pb_nbchjcnhemh d =
  let v = default_nbchjcnhemh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.pmoenkofnla <- Some (decode_pb_occpiocibei (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nbchjcnhemh), field(4)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nbchjcnhemh), field(11)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.npbgklkbgdi <- Pbrt.Decoder.bool d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nbchjcnhemh), field(14)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.bfkodbfknbl <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nbchjcnhemh), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pmoenkofnla = v.pmoenkofnla;
    retcode = v.retcode;
    npbgklkbgdi = v.npbgklkbgdi;
    bfkodbfknbl = v.bfkodbfknbl;
  } : nbchjcnhemh)

let rec decode_pb_ldiemhcahcb d =
  let v = default_ldiemhcahcb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.idcigdfjabi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldiemhcahcb), field(7)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.ichkjnfaacl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldiemhcahcb), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    idcigdfjabi = v.idcigdfjabi;
    ichkjnfaacl = v.ichkjnfaacl;
  } : ldiemhcahcb)

let rec decode_pb_mdoiknkenbl d =
  let v = default_mdoiknkenbl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.emabnjbclgd <- List.rev v.emabnjbclgd;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.emabnjbclgd <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mdoiknkenbl), field(9)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.idcigdfjabi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mdoiknkenbl), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    emabnjbclgd = v.emabnjbclgd;
    idcigdfjabi = v.idcigdfjabi;
  } : mdoiknkenbl)

let rec decode_pb_hhmoihmdiao d =
  let v = default_hhmoihmdiao_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.pmoenkofnla <- Some (decode_pb_occpiocibei (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhmoihmdiao), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhmoihmdiao), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pmoenkofnla = v.pmoenkofnla;
    retcode = v.retcode;
  } : hhmoihmdiao)

let rec decode_pb_mcaddfogkcm d =
  let v = default_mcaddfogkcm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mcaddfogkcm), field(9)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.pogejanpebj <- Some (decode_pb_dbmldhmcphn (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mcaddfogkcm), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    pogejanpebj = v.pogejanpebj;
  } : mcaddfogkcm)

let rec decode_pb_bgblclfikdl d =
  let v = default_bgblclfikdl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.ichkjnfaacl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bgblclfikdl), field(11)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.idcigdfjabi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bgblclfikdl), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ichkjnfaacl = v.ichkjnfaacl;
    idcigdfjabi = v.idcigdfjabi;
  } : bgblclfikdl)

let rec decode_pb_cenhmaccfkm d =
  let v = default_cenhmaccfkm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.bdmoacndcoa <- Some (decode_pb_mnicidbdjfi (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cenhmaccfkm), field(14)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cenhmaccfkm), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bdmoacndcoa = v.bdmoacndcoa;
    retcode = v.retcode;
  } : cenhmaccfkm)

let rec decode_pb_mhinmgakigi d =
  let v = default_mhinmgakigi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.pndblfbllmj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mhinmgakigi), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pndblfbllmj = v.pndblfbllmj;
  } : mhinmgakigi)

let rec decode_pb_mghjipocegb d =
  let v = default_mghjipocegb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mghjipocegb), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : mghjipocegb)

let rec decode_pb_lkleecbabea d =
  let v = default_lkleecbabea_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.idcigdfjabi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lkleecbabea), field(14)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.paofpgekpfe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lkleecbabea), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    idcigdfjabi = v.idcigdfjabi;
    paofpgekpfe = v.paofpgekpfe;
  } : lkleecbabea)

let rec decode_pb_cmpglffeblp d =
  let v = default_cmpglffeblp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.amikofgncbo <- Some (decode_pb_mnicidbdjfi (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cmpglffeblp), field(5)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.boeaanepgoc <- Pbrt.Decoder.bool d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cmpglffeblp), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cmpglffeblp), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    amikofgncbo = v.amikofgncbo;
    boeaanepgoc = v.boeaanepgoc;
    retcode = v.retcode;
  } : cmpglffeblp)

let rec decode_pb_kjmbiclggjd d =
  let v = default_kjmbiclggjd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.idcigdfjabi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kjmbiclggjd), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    idcigdfjabi = v.idcigdfjabi;
  } : kjmbiclggjd)

let rec decode_pb_get_enhance_common_rogue_buff_info_sc_rsp d =
  let v = default_get_enhance_common_rogue_buff_info_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.enhanced_buff_id_list <- List.rev v.enhanced_buff_id_list;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.enhanced_buff_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_enhance_common_rogue_buff_info_sc_rsp), field(1)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_enhance_common_rogue_buff_info_sc_rsp), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    enhanced_buff_id_list = v.enhanced_buff_id_list;
    retcode = v.retcode;
  } : get_enhance_common_rogue_buff_info_sc_rsp)

let rec decode_pb_jimphabffnp d =
  let v = default_jimphabffnp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.mkoeknaflmj <- Some (decode_pb_iejadeeklgn (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jimphabffnp), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mkoeknaflmj = v.mkoeknaflmj;
  } : jimphabffnp)

let rec decode_pb_hbdelaiadlb d =
  let v = default_hbdelaiadlb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.mkoeknaflmj <- Some (decode_pb_iejadeeklgn (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hbdelaiadlb), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mkoeknaflmj = v.mkoeknaflmj;
  } : hbdelaiadlb)

let rec decode_pb_hcpcpcigmpg d =
  let v = default_hcpcpcigmpg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.mkoeknaflmj <- Some (decode_pb_iejadeeklgn (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hcpcpcigmpg), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mkoeknaflmj = v.mkoeknaflmj;
  } : hcpcpcigmpg)

let rec decode_pb_lipcpilkehi d =
  let v = default_lipcpilkehi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.mkoeknaflmj <- Some (decode_pb_iejadeeklgn (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lipcpilkehi), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mkoeknaflmj = v.mkoeknaflmj;
  } : lipcpilkehi)

let rec decode_pb_joamhogigdi d =
  let v = default_joamhogigdi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.value <- Some (decode_pb_pmdmaockcjp (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(joamhogigdi), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    value = v.value;
  } : joamhogigdi)

let rec decode_pb_jcipijmgbbp d =
  let v = default_jcipijmgbbp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.fbiaimddiej <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcipijmgbbp), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fbiaimddiej = v.fbiaimddiej;
  } : jcipijmgbbp)

let rec decode_pb_dcflakjicbi d =
  let v = default_dcflakjicbi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.fbiaimddiej <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dcflakjicbi), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fbiaimddiej = v.fbiaimddiej;
  } : dcflakjicbi)

let rec decode_pb_pkgfjolojec d =
  let v = default_pkgfjolojec_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.dhcakofmnjp <- Some (decode_pb_flhognnpcee (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkgfjolojec), field(4)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.pbnahdfdakb <- Some (decode_pb_flhognnpcee (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkgfjolojec), field(10)" pk
    | Some (378, Pbrt.Bytes) -> begin
      v.hjcdfejpjcl <- Some (decode_pb_mnicidbdjfi (Pbrt.Decoder.nested d));
    end
    | Some (378, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkgfjolojec), field(378)" pk
    | Some (1314, Pbrt.Bytes) -> begin
      v.emghnkdicbf <- Some (decode_pb_mnicidbdjfi (Pbrt.Decoder.nested d));
    end
    | Some (1314, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkgfjolojec), field(1314)" pk
    | Some (1167, Pbrt.Bytes) -> begin
      v.ppnmgedbfel <- Some (decode_pb_clobgmgklja (Pbrt.Decoder.nested d));
    end
    | Some (1167, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkgfjolojec), field(1167)" pk
    | Some (900, Pbrt.Bytes) -> begin
      v.okbkccnfdlb <- Some (decode_pb_nneegnafcfg (Pbrt.Decoder.nested d));
    end
    | Some (900, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkgfjolojec), field(900)" pk
    | Some (1194, Pbrt.Bytes) -> begin
      v.bbjbennbhgi <- Some (decode_pb_pefkaoobihi (Pbrt.Decoder.nested d));
    end
    | Some (1194, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkgfjolojec), field(1194)" pk
    | Some (361, Pbrt.Bytes) -> begin
      v.kmdciieifgn <- Some (decode_pb_bklejdedngm (Pbrt.Decoder.nested d));
    end
    | Some (361, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkgfjolojec), field(361)" pk
    | Some (195, Pbrt.Bytes) -> begin
      v.jppfinpapdi <- Some (decode_pb_okdkilkjabn (Pbrt.Decoder.nested d));
    end
    | Some (195, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkgfjolojec), field(195)" pk
    | Some (357, Pbrt.Bytes) -> begin
      v.llaenjaahgl <- Some (decode_pb_ifnnhfbomnh (Pbrt.Decoder.nested d));
    end
    | Some (357, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkgfjolojec), field(357)" pk
    | Some (868, Pbrt.Bytes) -> begin
      v.cekcaaddhlm <- Some (decode_pb_keijecmckle (Pbrt.Decoder.nested d));
    end
    | Some (868, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkgfjolojec), field(868)" pk
    | Some (332, Pbrt.Bytes) -> begin
      v.bjpgdnebdla <- Some (decode_pb_jimphabffnp (Pbrt.Decoder.nested d));
    end
    | Some (332, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkgfjolojec), field(332)" pk
    | Some (735, Pbrt.Bytes) -> begin
      v.hhjdhhjpgkk <- Some (decode_pb_hbdelaiadlb (Pbrt.Decoder.nested d));
    end
    | Some (735, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkgfjolojec), field(735)" pk
    | Some (1668, Pbrt.Bytes) -> begin
      v.nfbeklebbgc <- Some (decode_pb_hcpcpcigmpg (Pbrt.Decoder.nested d));
    end
    | Some (1668, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkgfjolojec), field(1668)" pk
    | Some (608, Pbrt.Bytes) -> begin
      v.elaolkochpi <- Some (decode_pb_lipcpilkehi (Pbrt.Decoder.nested d));
    end
    | Some (608, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkgfjolojec), field(608)" pk
    | Some (788, Pbrt.Bytes) -> begin
      v.gbdphogibae <- Some (decode_pb_joamhogigdi (Pbrt.Decoder.nested d));
    end
    | Some (788, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkgfjolojec), field(788)" pk
    | Some (1557, Pbrt.Bytes) -> begin
      v.khifepcfdlc <- Some (decode_pb_jcipijmgbbp (Pbrt.Decoder.nested d));
    end
    | Some (1557, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkgfjolojec), field(1557)" pk
    | Some (455, Pbrt.Bytes) -> begin
      v.lpjpaggolke <- Some (decode_pb_dcflakjicbi (Pbrt.Decoder.nested d));
    end
    | Some (455, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkgfjolojec), field(455)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dhcakofmnjp = v.dhcakofmnjp;
    pbnahdfdakb = v.pbnahdfdakb;
    hjcdfejpjcl = v.hjcdfejpjcl;
    emghnkdicbf = v.emghnkdicbf;
    ppnmgedbfel = v.ppnmgedbfel;
    okbkccnfdlb = v.okbkccnfdlb;
    bbjbennbhgi = v.bbjbennbhgi;
    kmdciieifgn = v.kmdciieifgn;
    jppfinpapdi = v.jppfinpapdi;
    llaenjaahgl = v.llaenjaahgl;
    cekcaaddhlm = v.cekcaaddhlm;
    bjpgdnebdla = v.bjpgdnebdla;
    hhjdhhjpgkk = v.hhjdhhjpgkk;
    nfbeklebbgc = v.nfbeklebbgc;
    elaolkochpi = v.elaolkochpi;
    gbdphogibae = v.gbdphogibae;
    khifepcfdlc = v.khifepcfdlc;
    lpjpaggolke = v.lpjpaggolke;
  } : pkgfjolojec)

let rec decode_pb_jfaepfgabpp d =
  let v = default_jfaepfgabpp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.gnfpnbgacdf <- decode_pb_npkhcnmhkdp d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jfaepfgabpp), field(2)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.mkgoabedjeh <- Some (decode_pb_pkgfjolojec (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jfaepfgabpp), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gnfpnbgacdf = v.gnfpnbgacdf;
    mkgoabedjeh = v.mkgoabedjeh;
  } : jfaepfgabpp)

let rec decode_pb_empneaapcke d =
  let v = default_empneaapcke_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jmfablhemno <- List.rev v.jmfablhemno;
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.gapjajnhglk <- decode_pb_bnlkbheaggj d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(empneaapcke), field(8)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.fhpollcfknc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(empneaapcke), field(12)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.jmfablhemno <- (decode_pb_jfaepfgabpp (Pbrt.Decoder.nested d)) :: v.jmfablhemno;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(empneaapcke), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gapjajnhglk = v.gapjajnhglk;
    fhpollcfknc = v.fhpollcfknc;
    jmfablhemno = v.jmfablhemno;
  } : empneaapcke)

let rec decode_pb_okkklfebmlg d =
  let v = default_okkklfebmlg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.cjapbkbgjde <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(okkklfebmlg), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cjapbkbgjde = v.cjapbkbgjde;
  } : okkklfebmlg)

let rec decode_pb_okdccjpmfkc d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(okdccjpmfkc)" pk

let rec decode_pb_hdcjnnpgeid d =
  let v = default_hdcjnnpgeid_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.cjapbkbgjde <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hdcjnnpgeid), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cjapbkbgjde = v.cjapbkbgjde;
  } : hdcjnnpgeid)

let rec decode_pb_nbajphmodno d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(nbajphmodno)" pk

let rec decode_pb_jhdeaoonple d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(jhdeaoonple)" pk

let rec decode_pb_jjdgojacafe d =
  let v = default_jjdgojacafe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.hfdfkfjfdbb <- Some (decode_pb_rogue_formula_select_info (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jjdgojacafe), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hfdfkfjfdbb = v.hfdfkfjfdbb;
  } : jjdgojacafe)

let rec decode_pb_keadkpndpml d =
  let v = default_keadkpndpml_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.cjapbkbgjde <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(keadkpndpml), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cjapbkbgjde = v.cjapbkbgjde;
  } : keadkpndpml)

let rec decode_pb_ffkilkhoebh d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(ffkilkhoebh)" pk

let rec decode_pb_jdplmldakec d =
  let v = default_jdplmldakec_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.ghhnoefibke <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jdplmldakec), field(1)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.mmnebfbnoni <- Pbrt.Decoder.bool d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jdplmldakec), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ghhnoefibke = v.ghhnoefibke;
    mmnebfbnoni = v.mmnebfbnoni;
  } : jdplmldakec)

let rec decode_pb_dimcddnhfgn d =
  let v = default_dimcddnhfgn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.cfjdmlpfdoc <- Some (decode_pb_blhhnmhcodp (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dimcddnhfgn), field(15)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.fhpollcfknc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dimcddnhfgn), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cfjdmlpfdoc = v.cfjdmlpfdoc;
    fhpollcfknc = v.fhpollcfknc;
  } : dimcddnhfgn)

let rec decode_pb_bpcliochekj d =
  let v = default_bpcliochekj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.efigohhfcpp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpcliochekj), field(13)" pk
    | Some (737, Pbrt.Bytes) -> begin
      v.mmmkbhidohp <- Some (decode_pb_ikhcpmbdbll (Pbrt.Decoder.nested d));
    end
    | Some (737, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpcliochekj), field(737)" pk
    | Some (481, Pbrt.Bytes) -> begin
      v.pbdgajfecic <- Some (decode_pb_fijoihplgfi (Pbrt.Decoder.nested d));
    end
    | Some (481, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpcliochekj), field(481)" pk
    | Some (1202, Pbrt.Bytes) -> begin
      v.pgcjdnfdkni <- Some (decode_pb_lhmgpkeoghe (Pbrt.Decoder.nested d));
    end
    | Some (1202, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpcliochekj), field(1202)" pk
    | Some (1753, Pbrt.Bytes) -> begin
      v.lddnkidmhlh <- Pbrt.Decoder.empty_nested d;
    end
    | Some (1753, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpcliochekj), field(1753)" pk
    | Some (226, Pbrt.Bytes) -> begin
      v.mpomggfehlo <- Some (decode_pb_nbjgogbhokm (Pbrt.Decoder.nested d));
    end
    | Some (226, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpcliochekj), field(226)" pk
    | Some (1596, Pbrt.Bytes) -> begin
      v.anbajffabll <- Some (decode_pb_bkoniegkimo (Pbrt.Decoder.nested d));
    end
    | Some (1596, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpcliochekj), field(1596)" pk
    | Some (1019, Pbrt.Bytes) -> begin
      v.ddkfkjpgcaf <- Some (decode_pb_enolgaiddgi (Pbrt.Decoder.nested d));
    end
    | Some (1019, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpcliochekj), field(1019)" pk
    | Some (735, Pbrt.Bytes) -> begin
      v.kdeiabffjhe <- Some (decode_pb_okaoepbdlkg (Pbrt.Decoder.nested d));
    end
    | Some (735, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpcliochekj), field(735)" pk
    | Some (935, Pbrt.Bytes) -> begin
      v.oecoiehbkof <- Some (decode_pb_bdljnoiiooh (Pbrt.Decoder.nested d));
    end
    | Some (935, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpcliochekj), field(935)" pk
    | Some (252, Pbrt.Bytes) -> begin
      v.pgpeffkechj <- Some (decode_pb_gndkaolnaic (Pbrt.Decoder.nested d));
    end
    | Some (252, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpcliochekj), field(252)" pk
    | Some (2011, Pbrt.Bytes) -> begin
      v.mipdhlckcjd <- Some (decode_pb_jogglahdihp (Pbrt.Decoder.nested d));
    end
    | Some (2011, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpcliochekj), field(2011)" pk
    | Some (76, Pbrt.Bytes) -> begin
      v.giefnjkkopn <- Some (decode_pb_pnhmjikaamk (Pbrt.Decoder.nested d));
    end
    | Some (76, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpcliochekj), field(76)" pk
    | Some (1105, Pbrt.Bytes) -> begin
      v.ggoclminbog <- Some (decode_pb_gplpibkcldk (Pbrt.Decoder.nested d));
    end
    | Some (1105, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpcliochekj), field(1105)" pk
    | Some (908, Pbrt.Bytes) -> begin
      v.nfjgnhjkaoh <- Some (decode_pb_okkklfebmlg (Pbrt.Decoder.nested d));
    end
    | Some (908, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpcliochekj), field(908)" pk
    | Some (1349, Pbrt.Bytes) -> begin
      v.badchlhlile <- Pbrt.Decoder.empty_nested d;
    end
    | Some (1349, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpcliochekj), field(1349)" pk
    | Some (564, Pbrt.Bytes) -> begin
      v.filbnenmkhl <- Some (decode_pb_hdcjnnpgeid (Pbrt.Decoder.nested d));
    end
    | Some (564, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpcliochekj), field(564)" pk
    | Some (1450, Pbrt.Bytes) -> begin
      v.ficafpbocad <- Some (decode_pb_keadkpndpml (Pbrt.Decoder.nested d));
    end
    | Some (1450, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpcliochekj), field(1450)" pk
    | Some (210810, Pbrt.Bytes) -> begin
      v.ldahfbiambi <- Some (decode_pb_jdplmldakec (Pbrt.Decoder.nested d));
    end
    | Some (210810, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bpcliochekj), field(210810)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    efigohhfcpp = v.efigohhfcpp;
    mmmkbhidohp = v.mmmkbhidohp;
    pbdgajfecic = v.pbdgajfecic;
    pgcjdnfdkni = v.pgcjdnfdkni;
    lddnkidmhlh = v.lddnkidmhlh;
    mpomggfehlo = v.mpomggfehlo;
    anbajffabll = v.anbajffabll;
    ddkfkjpgcaf = v.ddkfkjpgcaf;
    kdeiabffjhe = v.kdeiabffjhe;
    oecoiehbkof = v.oecoiehbkof;
    pgpeffkechj = v.pgpeffkechj;
    mipdhlckcjd = v.mipdhlckcjd;
    giefnjkkopn = v.giefnjkkopn;
    ggoclminbog = v.ggoclminbog;
    nfjgnhjkaoh = v.nfjgnhjkaoh;
    badchlhlile = v.badchlhlile;
    filbnenmkhl = v.filbnenmkhl;
    ficafpbocad = v.ficafpbocad;
    ldahfbiambi = v.ldahfbiambi;
  } : bpcliochekj)

let rec decode_pb_afnbfhnonmi d =
  let v = default_afnbfhnonmi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.ocnjbebhbgo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afnbfhnonmi), field(5)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.efigohhfcpp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afnbfhnonmi), field(10)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afnbfhnonmi), field(2)" pk
    | Some (1733, Pbrt.Bytes) -> begin
      v.mjfnbidjnkn <- Pbrt.Decoder.empty_nested d;
    end
    | Some (1733, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afnbfhnonmi), field(1733)" pk
    | Some (1604, Pbrt.Bytes) -> begin
      v.jklhkhholdi <- Pbrt.Decoder.empty_nested d;
    end
    | Some (1604, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afnbfhnonmi), field(1604)" pk
    | Some (90, Pbrt.Bytes) -> begin
      v.ademmhhnhml <- Pbrt.Decoder.empty_nested d;
    end
    | Some (90, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afnbfhnonmi), field(90)" pk
    | Some (461, Pbrt.Bytes) -> begin
      v.pbjjcmlfeaf <- Some (decode_pb_hbnambacbfh (Pbrt.Decoder.nested d));
    end
    | Some (461, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afnbfhnonmi), field(461)" pk
    | Some (384, Pbrt.Bytes) -> begin
      v.ebbdfigldjb <- Pbrt.Decoder.empty_nested d;
    end
    | Some (384, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afnbfhnonmi), field(384)" pk
    | Some (898, Pbrt.Bytes) -> begin
      v.kccfoefijmc <- Pbrt.Decoder.empty_nested d;
    end
    | Some (898, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afnbfhnonmi), field(898)" pk
    | Some (965, Pbrt.Bytes) -> begin
      v.kpcmhpobjdg <- Pbrt.Decoder.empty_nested d;
    end
    | Some (965, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afnbfhnonmi), field(965)" pk
    | Some (1884, Pbrt.Bytes) -> begin
      v.pmhhkoghphd <- Pbrt.Decoder.empty_nested d;
    end
    | Some (1884, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afnbfhnonmi), field(1884)" pk
    | Some (698, Pbrt.Bytes) -> begin
      v.eonpahabipm <- Pbrt.Decoder.empty_nested d;
    end
    | Some (698, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afnbfhnonmi), field(698)" pk
    | Some (1823, Pbrt.Bytes) -> begin
      v.blkkpofefoe <- Pbrt.Decoder.empty_nested d;
    end
    | Some (1823, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afnbfhnonmi), field(1823)" pk
    | Some (541, Pbrt.Bytes) -> begin
      v.oclinajcnnk <- Pbrt.Decoder.empty_nested d;
    end
    | Some (541, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afnbfhnonmi), field(541)" pk
    | Some (1332, Pbrt.Bytes) -> begin
      v.didenehjgkl <- Pbrt.Decoder.empty_nested d;
    end
    | Some (1332, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afnbfhnonmi), field(1332)" pk
    | Some (1580, Pbrt.Bytes) -> begin
      v.dlfnhmhfhfn <- Pbrt.Decoder.empty_nested d;
    end
    | Some (1580, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afnbfhnonmi), field(1580)" pk
    | Some (1374, Pbrt.Bytes) -> begin
      v.baockdmjcof <- Pbrt.Decoder.empty_nested d;
    end
    | Some (1374, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afnbfhnonmi), field(1374)" pk
    | Some (1530, Pbrt.Bytes) -> begin
      v.dgohlalpnij <- Some (decode_pb_jjdgojacafe (Pbrt.Decoder.nested d));
    end
    | Some (1530, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afnbfhnonmi), field(1530)" pk
    | Some (1725, Pbrt.Bytes) -> begin
      v.dlpnooadeki <- Pbrt.Decoder.empty_nested d;
    end
    | Some (1725, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afnbfhnonmi), field(1725)" pk
    | Some (1706, Pbrt.Bytes) -> begin
      v.nlfdmpbnhgh <- Pbrt.Decoder.empty_nested d;
    end
    | Some (1706, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afnbfhnonmi), field(1706)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ocnjbebhbgo = v.ocnjbebhbgo;
    efigohhfcpp = v.efigohhfcpp;
    retcode = v.retcode;
    mjfnbidjnkn = v.mjfnbidjnkn;
    jklhkhholdi = v.jklhkhholdi;
    ademmhhnhml = v.ademmhhnhml;
    pbjjcmlfeaf = v.pbjjcmlfeaf;
    ebbdfigldjb = v.ebbdfigldjb;
    kccfoefijmc = v.kccfoefijmc;
    kpcmhpobjdg = v.kpcmhpobjdg;
    pmhhkoghphd = v.pmhhkoghphd;
    eonpahabipm = v.eonpahabipm;
    blkkpofefoe = v.blkkpofefoe;
    oclinajcnnk = v.oclinajcnnk;
    didenehjgkl = v.didenehjgkl;
    dlfnhmhfhfn = v.dlfnhmhfhfn;
    baockdmjcof = v.baockdmjcof;
    dgohlalpnij = v.dgohlalpnij;
    dlpnooadeki = v.dlpnooadeki;
    nlfdmpbnhgh = v.nlfdmpbnhgh;
  } : afnbfhnonmi)

let rec decode_pb_flbopemokdm d =
  let v = default_flbopemokdm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.paofpgekpfe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(flbopemokdm), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    paofpgekpfe = v.paofpgekpfe;
  } : flbopemokdm)

let rec decode_pb_pfchkldhojh d =
  let v = default_pfchkldhojh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.ennhncalcjj <- Pbrt.Decoder.bool d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pfchkldhojh), field(12)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.bpdfcfjdkbd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pfchkldhojh), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ennhncalcjj = v.ennhncalcjj;
    bpdfcfjdkbd = v.bpdfcfjdkbd;
  } : pfchkldhojh)

let rec decode_pb_cbilelfjaom d =
  let v = default_cbilelfjaom_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.ennhncalcjj <- Pbrt.Decoder.bool d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbilelfjaom), field(6)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.ehobobppchc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbilelfjaom), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ennhncalcjj = v.ennhncalcjj;
    ehobobppchc = v.ehobobppchc;
  } : cbilelfjaom)

let rec decode_pb_cgolnlcjphm d =
  let v = default_cgolnlcjphm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.cpkmmhenjof <- List.rev v.cpkmmhenjof;
      v.jkonpkkialg <- List.rev v.jkonpkkialg;
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.jkonpkkialg <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cgolnlcjphm), field(11)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cgolnlcjphm), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cgolnlcjphm), field(2)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.bajeglndfpe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cgolnlcjphm), field(4)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.cpkmmhenjof <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cgolnlcjphm), field(9)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.nncdpbdokbj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cgolnlcjphm), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jkonpkkialg = v.jkonpkkialg;
    exp = v.exp;
    level = v.level;
    bajeglndfpe = v.bajeglndfpe;
    cpkmmhenjof = v.cpkmmhenjof;
    nncdpbdokbj = v.nncdpbdokbj;
  } : cgolnlcjphm)

let rec decode_pb_dpfccobpjpo d =
  let v = default_dpfccobpjpo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.llhoijjnhbc <- List.rev v.llhoijjnhbc;
      v.ihneplfgmdc <- List.rev v.ihneplfgmdc;
      v.buff_list <- List.rev v.buff_list;
      v.pcpkkbfpbeb <- List.rev v.pcpkkbfpbeb;
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.pcpkkbfpbeb <- (decode_pb_pfchkldhojh (Pbrt.Decoder.nested d)) :: v.pcpkkbfpbeb;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dpfccobpjpo), field(2)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.buff_list <- (decode_pb_flbopemokdm (Pbrt.Decoder.nested d)) :: v.buff_list;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dpfccobpjpo), field(5)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.ihneplfgmdc <- (decode_pb_cgolnlcjphm (Pbrt.Decoder.nested d)) :: v.ihneplfgmdc;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dpfccobpjpo), field(10)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.llhoijjnhbc <- (decode_pb_cbilelfjaom (Pbrt.Decoder.nested d)) :: v.llhoijjnhbc;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dpfccobpjpo), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pcpkkbfpbeb = v.pcpkkbfpbeb;
    buff_list = v.buff_list;
    ihneplfgmdc = v.ihneplfgmdc;
    llhoijjnhbc = v.llhoijjnhbc;
  } : dpfccobpjpo)

let rec decode_pb_ebdjhabanno d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(ebdjhabanno)" pk

let rec decode_pb_get_rogue_handbook_data_sc_rsp d =
  let v = default_get_rogue_handbook_data_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_rogue_handbook_data_sc_rsp), field(5)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.handbook_info <- Some (decode_pb_dpfccobpjpo (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_rogue_handbook_data_sc_rsp), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    handbook_info = v.handbook_info;
  } : get_rogue_handbook_data_sc_rsp)

let rec decode_pb_mkkhlondele d =
  let v = default_mkkhlondele_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.kjcjmogejck <- List.rev v.kjcjmogejck;
      v.kcidphehmgh <- List.rev v.kcidphehmgh;
      v.gopjpjhhpdl <- List.rev v.gopjpjhhpdl;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.gopjpjhhpdl <- (decode_pb_flbopemokdm (Pbrt.Decoder.nested d)) :: v.gopjpjhhpdl;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mkkhlondele), field(13)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.kcidphehmgh <- (decode_pb_pfchkldhojh (Pbrt.Decoder.nested d)) :: v.kcidphehmgh;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mkkhlondele), field(12)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.kjcjmogejck <- (decode_pb_cbilelfjaom (Pbrt.Decoder.nested d)) :: v.kjcjmogejck;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mkkhlondele), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gopjpjhhpdl = v.gopjpjhhpdl;
    kcidphehmgh = v.kcidphehmgh;
    kjcjmogejck = v.kjcjmogejck;
  } : mkkhlondele)

let rec decode_pb_kfifjffgkja d =
  let v = default_kfifjffgkja_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.cfaellfidkf <- List.rev v.cfaellfidkf;
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.cfaellfidkf <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kfifjffgkja), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cfaellfidkf = v.cfaellfidkf;
  } : kfifjffgkja)

let rec decode_pb_lleckakggaa d =
  let v = default_lleckakggaa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hkpdigncbac <- List.rev v.hkpdigncbac;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lleckakggaa), field(12)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.hkpdigncbac <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lleckakggaa), field(6)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lleckakggaa), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    reward = v.reward;
    hkpdigncbac = v.hkpdigncbac;
    retcode = v.retcode;
  } : lleckakggaa)

let rec decode_pb_kdnoklalckb d =
  let v = default_kdnoklalckb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.nnijgeiepnp <- List.rev v.nnijgeiepnp;
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.nnijgeiepnp <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kdnoklalckb), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nnijgeiepnp = v.nnijgeiepnp;
  } : kdnoklalckb)

let rec decode_pb_khbgcebnmch d =
  let v = default_khbgcebnmch_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.nacknnppfog <- List.rev v.nacknnppfog;
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(khbgcebnmch), field(2)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(khbgcebnmch), field(7)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.nacknnppfog <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(khbgcebnmch), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    reward = v.reward;
    nacknnppfog = v.nacknnppfog;
  } : khbgcebnmch)

let rec decode_pb_aepjfkbjmpm d =
  let v = default_aepjfkbjmpm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hifokbodgbe <- List.rev v.hifokbodgbe;
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.aeheogaoenf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aepjfkbjmpm), field(8)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.hifokbodgbe <- (decode_pb_cbgphimaond (Pbrt.Decoder.nested d)) :: v.hifokbodgbe;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aepjfkbjmpm), field(14)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.dgfahpgkgmf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aepjfkbjmpm), field(9)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.fhpollcfknc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aepjfkbjmpm), field(12)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.ljlinldbbob <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aepjfkbjmpm), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    aeheogaoenf = v.aeheogaoenf;
    hifokbodgbe = v.hifokbodgbe;
    dgfahpgkgmf = v.dgfahpgkgmf;
    fhpollcfknc = v.fhpollcfknc;
    ljlinldbbob = v.ljlinldbbob;
  } : aepjfkbjmpm)

let rec decode_pb_ihcikgmbhlg d =
  let v = default_ihcikgmbhlg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.hmpniejbcbk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ihcikgmbhlg), field(3)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.lhlaejpmpjj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ihcikgmbhlg), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hmpniejbcbk = v.hmpniejbcbk;
    lhlaejpmpjj = v.lhlaejpmpjj;
  } : ihcikgmbhlg)

let rec decode_pb_papkfcpnkoe d =
  let v = default_papkfcpnkoe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.iajfipnhdec <- List.rev v.iajfipnhdec;
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.iajfipnhdec <- (decode_pb_ihcikgmbhlg (Pbrt.Decoder.nested d)) :: v.iajfipnhdec;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(papkfcpnkoe), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    iajfipnhdec = v.iajfipnhdec;
  } : papkfcpnkoe)

let rec decode_pb_kmlckpdeahn d =
  let v = default_kmlckpdeahn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.ohilclmamkk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kmlckpdeahn), field(5)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.einnfebcmlj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kmlckpdeahn), field(3)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.cfejldhielm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kmlckpdeahn), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ohilclmamkk = v.ohilclmamkk;
    einnfebcmlj = v.einnfebcmlj;
    cfejldhielm = v.cfejldhielm;
  } : kmlckpdeahn)

let rec decode_pb_mmkjpfjceck d =
  let v = default_mmkjpfjceck_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ellpcknbemn <- List.rev v.ellpcknbemn;
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.ellpcknbemn <- (decode_pb_oodgnonfgkc d) :: v.ellpcknbemn;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmkjpfjceck), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ellpcknbemn = v.ellpcknbemn;
  } : mmkjpfjceck)

let rec decode_pb_fgebaafiedj d =
  let v = default_fgebaafiedj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.bdaldfbhcjl <- Some (decode_pb_mmkjpfjceck (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fgebaafiedj), field(13)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.deafkpjjgab <- Some (decode_pb_kmlckpdeahn (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fgebaafiedj), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bdaldfbhcjl = v.bdaldfbhcjl;
    deafkpjjgab = v.deafkpjjgab;
  } : fgebaafiedj)

let rec decode_pb_odcdpcpopbn d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(odcdpcpopbn)" pk

let rec decode_pb_jmdcaknnaad d =
  let v = default_jmdcaknnaad_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.cmddpkpeoli <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jmdcaknnaad), field(15)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jmdcaknnaad), field(2)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.fecdamigijp <- Some (decode_pb_fgebaafiedj (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jmdcaknnaad), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cmddpkpeoli = v.cmddpkpeoli;
    retcode = v.retcode;
    fecdamigijp = v.fecdamigijp;
  } : jmdcaknnaad)

let rec decode_pb_hhjmihldoeh d =
  let v = default_hhjmihldoeh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.deafkpjjgab <- Some (decode_pb_kmlckpdeahn (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhjmihldoeh), field(2)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.bdaldfbhcjl <- Some (decode_pb_mmkjpfjceck (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhjmihldoeh), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    deafkpjjgab = v.deafkpjjgab;
    bdaldfbhcjl = v.bdaldfbhcjl;
  } : hhjmihldoeh)

let rec decode_pb_hhoonanlchd d =
  let v = default_hhoonanlchd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.ebffkdhgkgl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhoonanlchd), field(7)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.hgfnojflbcl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhoonanlchd), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ebffkdhgkgl = v.ebffkdhgkgl;
    hgfnojflbcl = v.hgfnojflbcl;
  } : hhoonanlchd)

let rec decode_pb_jhfnbcaknap d =
  let v = default_jhfnbcaknap_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.hgpelgifadf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jhfnbcaknap), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgpelgifadf = v.hgpelgifadf;
  } : jhfnbcaknap)

let rec decode_pb_agicbcnpmbf d =
  let v = default_agicbcnpmbf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.hgpelgifadf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agicbcnpmbf), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgpelgifadf = v.hgpelgifadf;
  } : agicbcnpmbf)

let rec decode_pb_lmfccgildoh d =
  let v = default_lmfccgildoh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.bgecmdbfigi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmfccgildoh), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bgecmdbfigi = v.bgecmdbfigi;
  } : lmfccgildoh)

let rec decode_pb_pbalhihkole d =
  let v = default_pbalhihkole_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.kamplnhefpi <- Some (decode_pb_hhoonanlchd (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pbalhihkole), field(4)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.knhahdliapf <- Some (decode_pb_jhfnbcaknap (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pbalhihkole), field(5)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.aolafephjfe <- Some (decode_pb_agicbcnpmbf (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pbalhihkole), field(12)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.cjfhhfcgdda <- Some (decode_pb_lmfccgildoh (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pbalhihkole), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kamplnhefpi = v.kamplnhefpi;
    knhahdliapf = v.knhahdliapf;
    aolafephjfe = v.aolafephjfe;
    cjfhhfcgdda = v.cjfhhfcgdda;
  } : pbalhihkole)

let rec decode_pb_cdgbdhbjbaf d =
  let v = default_cdgbdhbjbaf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bits32) -> begin
      v.aeggdogmiea <- Pbrt.Decoder.float_as_bits32 d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cdgbdhbjbaf), field(7)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.dkaehkamkfi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cdgbdhbjbaf), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    aeggdogmiea = v.aeggdogmiea;
    dkaehkamkfi = v.dkaehkamkfi;
  } : cdgbdhbjbaf)

let rec decode_pb_chbifnppnke d =
  let v = default_chbifnppnke_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.ghhnoefibke <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(chbifnppnke), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ghhnoefibke = v.ghhnoefibke;
  } : chbifnppnke)

let rec decode_pb_ilnklkjeikf d =
  let v = default_ilnklkjeikf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.apmgjmappjl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ilnklkjeikf), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    apmgjmappjl = v.apmgjmappjl;
  } : ilnklkjeikf)

let rec decode_pb_embkjecncmm d =
  let v = default_embkjecncmm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.ikfkmimaeon <- Some (decode_pb_chbifnppnke (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(embkjecncmm), field(14)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.njfnjkjpnap <- Some (decode_pb_ilnklkjeikf (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(embkjecncmm), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ikfkmimaeon = v.ikfkmimaeon;
    njfnjkjpnap = v.njfnjkjpnap;
  } : embkjecncmm)

let rec decode_pb_kmppenfheel d =
  let v = default_kmppenfheel_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ipfkcfhigmk <- List.rev v.ipfkcfhigmk;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.ipfkcfhigmk <- (decode_pb_embkjecncmm (Pbrt.Decoder.nested d)) :: v.ipfkcfhigmk;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kmppenfheel), field(12)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.iihookopmmk <- Some (decode_pb_cdgbdhbjbaf (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kmppenfheel), field(11)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.hfadhgefiea <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kmppenfheel), field(1)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.ojkjbeilgdc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kmppenfheel), field(6)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.jhojoicfldl <- Pbrt.Decoder.bool d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kmppenfheel), field(5)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.mecjmchknde <- Pbrt.Decoder.bool d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kmppenfheel), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ipfkcfhigmk = v.ipfkcfhigmk;
    iihookopmmk = v.iihookopmmk;
    hfadhgefiea = v.hfadhgefiea;
    ojkjbeilgdc = v.ojkjbeilgdc;
    jhojoicfldl = v.jhojoicfldl;
    mecjmchknde = v.mecjmchknde;
  } : kmppenfheel)

let rec decode_pb_hdmoboniihl d =
  let v = default_hdmoboniihl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ejjmffbhbgk <- List.rev v.ejjmffbhbgk;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.oeoffmaepgl <- Some (decode_pb_pbalhihkole (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hdmoboniihl), field(1)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.jnboodjdmho <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hdmoboniihl), field(8)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.ejjmffbhbgk <- (decode_pb_kmppenfheel (Pbrt.Decoder.nested d)) :: v.ejjmffbhbgk;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hdmoboniihl), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    oeoffmaepgl = v.oeoffmaepgl;
    jnboodjdmho = v.jnboodjdmho;
    ejjmffbhbgk = v.ejjmffbhbgk;
  } : hdmoboniihl)

let rec decode_pb_begalnkfdgo d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(begalnkfdgo)" pk

let rec decode_pb_jcmbmhjjdal d =
  let v = default_jcmbmhjjdal_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mjomgfdpmnj <- List.rev v.mjomgfdpmnj;
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcmbmhjjdal), field(8)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.mjomgfdpmnj <- (decode_pb_hdmoboniihl (Pbrt.Decoder.nested d)) :: v.mjomgfdpmnj;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcmbmhjjdal), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    mjomgfdpmnj = v.mjomgfdpmnj;
  } : jcmbmhjjdal)

let rec decode_pb_pgaeehgmbhd d =
  let v = default_pgaeehgmbhd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.jnboodjdmho <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgaeehgmbhd), field(14)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.ojkjbeilgdc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pgaeehgmbhd), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jnboodjdmho = v.jnboodjdmho;
    ojkjbeilgdc = v.ojkjbeilgdc;
  } : pgaeehgmbhd)

let rec decode_pb_eakdfjkkkac d =
  let v = default_eakdfjkkkac_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.fbcfkkknldf <- List.rev v.fbcfkkknldf;
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.ecohlncenkk <- Pbrt.Decoder.bool d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eakdfjkkkac), field(6)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.jnboodjdmho <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eakdfjkkkac), field(9)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.ojkjbeilgdc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eakdfjkkkac), field(2)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eakdfjkkkac), field(8)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.fbcfkkknldf <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eakdfjkkkac), field(3)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.oplnemnkmhf <- Some (decode_pb_hdmoboniihl (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eakdfjkkkac), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ecohlncenkk = v.ecohlncenkk;
    jnboodjdmho = v.jnboodjdmho;
    ojkjbeilgdc = v.ojkjbeilgdc;
    retcode = v.retcode;
    fbcfkkknldf = v.fbcfkkknldf;
    oplnemnkmhf = v.oplnemnkmhf;
  } : eakdfjkkkac)

let rec decode_pb_lmfiimlalfm d =
  let v = default_lmfiimlalfm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.jnboodjdmho <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmfiimlalfm), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jnboodjdmho = v.jnboodjdmho;
  } : lmfiimlalfm)

let rec decode_pb_cjhfohgjked d =
  let v = default_cjhfohgjked_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cjhfohgjked), field(13)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.jnboodjdmho <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cjhfohgjked), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    jnboodjdmho = v.jnboodjdmho;
  } : cjhfohgjked)

let rec decode_pb_iglcopligcj d =
  let v = default_iglcopligcj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mjomgfdpmnj <- List.rev v.mjomgfdpmnj;
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.mjomgfdpmnj <- (decode_pb_hdmoboniihl (Pbrt.Decoder.nested d)) :: v.mjomgfdpmnj;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iglcopligcj), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mjomgfdpmnj = v.mjomgfdpmnj;
  } : iglcopligcj)

let rec decode_pb_hoadcaanbha d =
  let v = default_hoadcaanbha_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.oplnemnkmhf <- Some (decode_pb_hdmoboniihl (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hoadcaanbha), field(13)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.bjfgfbjlffg <- Some (decode_pb_kmppenfheel (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hoadcaanbha), field(12)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.ojkjbeilgdc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hoadcaanbha), field(9)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.jnboodjdmho <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hoadcaanbha), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    oplnemnkmhf = v.oplnemnkmhf;
    bjfgfbjlffg = v.bjfgfbjlffg;
    ojkjbeilgdc = v.ojkjbeilgdc;
    jnboodjdmho = v.jnboodjdmho;
  } : hoadcaanbha)

let rec decode_pb_domkmpnnebe d =
  let v = default_domkmpnnebe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.mnhgojliepj <- Some (decode_pb_cbgphimaond (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(domkmpnnebe), field(11)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.ljlinldbbob <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(domkmpnnebe), field(13)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.dgfahpgkgmf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(domkmpnnebe), field(8)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.fhpollcfknc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(domkmpnnebe), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mnhgojliepj = v.mnhgojliepj;
    ljlinldbbob = v.ljlinldbbob;
    dgfahpgkgmf = v.dgfahpgkgmf;
    fhpollcfknc = v.fhpollcfknc;
  } : domkmpnnebe)

let rec decode_pb_hodkonakgab d =
  let v = default_hodkonakgab_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.kigccmchfaa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hodkonakgab), field(4)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.prop_entity_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hodkonakgab), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kigccmchfaa = v.kigccmchfaa;
    prop_entity_id = v.prop_entity_id;
  } : hodkonakgab)

let rec decode_pb_onlamhijjda d =
  let v = default_onlamhijjda_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.jjbohkkebeg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(onlamhijjda), field(3)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.akemgnajflc <- Pbrt.Decoder.bool d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(onlamhijjda), field(5)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.fmifpcfleij <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(onlamhijjda), field(12)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.mhpkpajbnjm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(onlamhijjda), field(9)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.lohpklihemj <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(onlamhijjda), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jjbohkkebeg = v.jjbohkkebeg;
    akemgnajflc = v.akemgnajflc;
    fmifpcfleij = v.fmifpcfleij;
    mhpkpajbnjm = v.mhpkpajbnjm;
    lohpklihemj = v.lohpklihemj;
  } : onlamhijjda)

let rec decode_pb_cnbcehippjg d =
  let v = default_cnbcehippjg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.lohpklihemj <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnbcehippjg), field(1)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.akemgnajflc <- Pbrt.Decoder.bool d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnbcehippjg), field(12)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.mhpkpajbnjm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnbcehippjg), field(9)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.fmifpcfleij <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnbcehippjg), field(2)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.jjbohkkebeg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnbcehippjg), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lohpklihemj = v.lohpklihemj;
    akemgnajflc = v.akemgnajflc;
    mhpkpajbnjm = v.mhpkpajbnjm;
    fmifpcfleij = v.fmifpcfleij;
    jjbohkkebeg = v.jjbohkkebeg;
  } : cnbcehippjg)

let rec decode_pb_fngfihkckfj d =
  let v = default_fngfihkckfj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pplafiiclpl <- List.rev v.pplafiiclpl;
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.eolhlhcahff <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fngfihkckfj), field(9)" pk
    | Some (13, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.int32_as_varint d
      ) in
      v.pplafiiclpl <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.pplafiiclpl;
      );
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fngfihkckfj), field(13)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.hkohlnhlgnb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fngfihkckfj), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    eolhlhcahff = v.eolhlhcahff;
    pplafiiclpl = v.pplafiiclpl;
    hkohlnhlgnb = v.hkohlnhlgnb;
  } : fngfihkckfj)

let rec decode_pb_ffhkhemgonh d =
  let v = default_ffhkhemgonh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.gmblbaboegm <- List.rev v.gmblbaboegm;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.lohpklihemj <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ffhkhemgonh), field(9)" pk
    | Some (15, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.bool d
      ) in
      v.gmblbaboegm <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.gmblbaboegm;
      );
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ffhkhemgonh), field(15)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.jjbohkkebeg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ffhkhemgonh), field(3)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.mhpkpajbnjm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ffhkhemgonh), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lohpklihemj = v.lohpklihemj;
    gmblbaboegm = v.gmblbaboegm;
    jjbohkkebeg = v.jjbohkkebeg;
    mhpkpajbnjm = v.mhpkpajbnjm;
  } : ffhkhemgonh)

let rec decode_pb_bolhppnehna d =
  let v = default_bolhppnehna_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.lohpklihemj <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bolhppnehna), field(14)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.mhpkpajbnjm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bolhppnehna), field(8)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.jjbohkkebeg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bolhppnehna), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lohpklihemj = v.lohpklihemj;
    mhpkpajbnjm = v.mhpkpajbnjm;
    jjbohkkebeg = v.jjbohkkebeg;
  } : bolhppnehna)

let rec decode_pb_mkmfeohmhdl d =
  let v = default_mkmfeohmhdl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.ehfmcpnpcmp <- Some (decode_pb_onlamhijjda (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mkmfeohmhdl), field(14)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.mcobeibhgia <- Some (decode_pb_cnbcehippjg (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mkmfeohmhdl), field(7)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.apjgepbpong <- Some (decode_pb_fngfihkckfj (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mkmfeohmhdl), field(6)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.nbfmehkdagj <- Some (decode_pb_ffhkhemgonh (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mkmfeohmhdl), field(11)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.ckfggjhfhdb <- Some (decode_pb_bolhppnehna (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mkmfeohmhdl), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ehfmcpnpcmp = v.ehfmcpnpcmp;
    mcobeibhgia = v.mcobeibhgia;
    apjgepbpong = v.apjgepbpong;
    nbfmehkdagj = v.nbfmehkdagj;
    ckfggjhfhdb = v.ckfggjhfhdb;
  } : mkmfeohmhdl)

let rec decode_pb_dfchmojmkbp d =
  let v = default_dfchmojmkbp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.kigccmchfaa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dfchmojmkbp), field(7)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.bajihciaend <- Some (decode_pb_mkmfeohmhdl (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dfchmojmkbp), field(15)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dfchmojmkbp), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kigccmchfaa = v.kigccmchfaa;
    bajihciaend = v.bajihciaend;
    retcode = v.retcode;
  } : dfchmojmkbp)

let rec decode_pb_epjilmmpkom d =
  let v = default_epjilmmpkom_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.prop_entity_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(epjilmmpkom), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    prop_entity_id = v.prop_entity_id;
  } : epjilmmpkom)

let rec decode_pb_kcnojeijhmd d =
  let v = default_kcnojeijhmd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.lbnndcbnika <- List.rev v.lbnndcbnika;
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        decode_pb_mkmfeohmhdl (Pbrt.Decoder.nested d)
      ) in
      v.lbnndcbnika <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.lbnndcbnika;
      );
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcnojeijhmd), field(8)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcnojeijhmd), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lbnndcbnika = v.lbnndcbnika;
    retcode = v.retcode;
  } : kcnojeijhmd)

let rec decode_pb_mjhcocmpagc d =
  let v = default_mjhcocmpagc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.mcikcapjmdh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjhcocmpagc), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mcikcapjmdh = v.mcikcapjmdh;
  } : mjhcocmpagc)

let rec decode_pb_clcicidmhke d =
  let v = default_clcicidmhke_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.bpghijegann <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(clcicidmhke), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bpghijegann = v.bpghijegann;
  } : clcicidmhke)

let rec decode_pb_jfcmkbokfof d =
  let v = default_jfcmkbokfof_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.nmkjbofhjhb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jfcmkbokfof), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nmkjbofhjhb = v.nmkjbofhjhb;
  } : jfcmkbokfof)

let rec decode_pb_ffloeagfoia d =
  let v = default_ffloeagfoia_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.aadjgaaabib <- List.rev v.aadjgaaabib;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.aadjgaaabib <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ffloeagfoia), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    aadjgaaabib = v.aadjgaaabib;
  } : ffloeagfoia)

let rec decode_pb_gpianncldcp d =
  let v = default_gpianncldcp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.jjlcgdiofhh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gpianncldcp), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jjlcgdiofhh = v.jjlcgdiofhh;
  } : gpianncldcp)

let rec decode_pb_ejjgfpamkcg d =
  let v = default_ejjgfpamkcg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.ehfmcpnpcmp <- Some (decode_pb_mjhcocmpagc (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ejjgfpamkcg), field(2)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.mcobeibhgia <- Some (decode_pb_clcicidmhke (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ejjgfpamkcg), field(10)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.apjgepbpong <- Some (decode_pb_jfcmkbokfof (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ejjgfpamkcg), field(15)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.nbfmehkdagj <- Some (decode_pb_ffloeagfoia (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ejjgfpamkcg), field(12)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.ckfggjhfhdb <- Some (decode_pb_gpianncldcp (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ejjgfpamkcg), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ehfmcpnpcmp = v.ehfmcpnpcmp;
    mcobeibhgia = v.mcobeibhgia;
    apjgepbpong = v.apjgepbpong;
    nbfmehkdagj = v.nbfmehkdagj;
    ckfggjhfhdb = v.ckfggjhfhdb;
  } : ejjgfpamkcg)

let rec decode_pb_naojdlokppg d =
  let v = default_naojdlokppg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.kigccmchfaa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(naojdlokppg), field(6)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.prop_entity_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(naojdlokppg), field(9)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.kdnioegmffl <- Some (decode_pb_ejjgfpamkcg (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(naojdlokppg), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kigccmchfaa = v.kigccmchfaa;
    prop_entity_id = v.prop_entity_id;
    kdnioegmffl = v.kdnioegmffl;
  } : naojdlokppg)

let rec decode_pb_adojimghpml d =
  let v = default_adojimghpml_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.bajihciaend <- Some (decode_pb_mkmfeohmhdl (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adojimghpml), field(14)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.kigccmchfaa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adojimghpml), field(7)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adojimghpml), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bajihciaend = v.bajihciaend;
    kigccmchfaa = v.kigccmchfaa;
    retcode = v.retcode;
  } : adojimghpml)

let rec decode_pb_aaacgamfppc d =
  let v = default_aaacgamfppc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.status <- decode_pb_eeaceekbbik d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aaacgamfppc), field(12)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.nklnaippaoc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aaacgamfppc), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    status = v.status;
    nklnaippaoc = v.nklnaippaoc;
  } : aaacgamfppc)

let rec decode_pb_aojielnnmfc d =
  let v = default_aojielnnmfc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.nklnaippaoc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aojielnnmfc), field(12)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.nfhmflfhndi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aojielnnmfc), field(8)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.status <- decode_pb_bpibjehipof d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aojielnnmfc), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nklnaippaoc = v.nklnaippaoc;
    nfhmflfhndi = v.nfhmflfhndi;
    status = v.status;
  } : aojielnnmfc)

let rec decode_pb_jgggbcomlkg d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(jgggbcomlkg)" pk

let rec decode_pb_gnccfafgcol d =
  let v = default_gnccfafgcol_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jkcaikhimpk <- List.rev v.jkcaikhimpk;
      v.keadbmibeoa <- List.rev v.keadbmibeoa;
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gnccfafgcol), field(5)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.keadbmibeoa <- (decode_pb_aaacgamfppc (Pbrt.Decoder.nested d)) :: v.keadbmibeoa;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gnccfafgcol), field(7)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.jkcaikhimpk <- (decode_pb_aojielnnmfc (Pbrt.Decoder.nested d)) :: v.jkcaikhimpk;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gnccfafgcol), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    keadbmibeoa = v.keadbmibeoa;
    jkcaikhimpk = v.jkcaikhimpk;
  } : gnccfafgcol)

let rec decode_pb_fgeaamlhlac d =
  let v = default_fgeaamlhlac_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jgadebiegfg <- List.rev v.jgadebiegfg;
      v.ohhfpegpijl <- List.rev v.ohhfpegpijl;
      v.fepikjehgke <- List.rev v.fepikjehgke;
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.fepikjehgke <- (decode_pb_kogippjmdkb d) :: v.fepikjehgke;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fgeaamlhlac), field(3)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.ohhfpegpijl <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fgeaamlhlac), field(4)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.jgadebiegfg <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fgeaamlhlac), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fepikjehgke = v.fepikjehgke;
    ohhfpegpijl = v.ohhfpegpijl;
    jgadebiegfg = v.jgadebiegfg;
  } : fgeaamlhlac)

let rec decode_pb_iinoobifcjo d =
  let v = default_iinoobifcjo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.keadbmibeoa <- List.rev v.keadbmibeoa;
      v.jkcaikhimpk <- List.rev v.jkcaikhimpk;
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iinoobifcjo), field(9)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.jkcaikhimpk <- (decode_pb_aojielnnmfc (Pbrt.Decoder.nested d)) :: v.jkcaikhimpk;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iinoobifcjo), field(10)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.keadbmibeoa <- (decode_pb_aaacgamfppc (Pbrt.Decoder.nested d)) :: v.keadbmibeoa;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iinoobifcjo), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    jkcaikhimpk = v.jkcaikhimpk;
    keadbmibeoa = v.keadbmibeoa;
  } : iinoobifcjo)

let rec decode_pb_pladdmnljcl d =
  let v = default_pladdmnljcl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.jhkfhacondf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pladdmnljcl), field(15)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.status <- decode_pb_odijleidcnd d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pladdmnljcl), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jhkfhacondf = v.jhkfhacondf;
    status = v.status;
  } : pladdmnljcl)

let rec decode_pb_lblameimomf d =
  let v = default_lblameimomf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.jhkfhacondf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lblameimomf), field(9)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.nfhmflfhndi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lblameimomf), field(5)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.status <- decode_pb_bpibjehipof d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lblameimomf), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jhkfhacondf = v.jhkfhacondf;
    nfhmflfhndi = v.nfhmflfhndi;
    status = v.status;
  } : lblameimomf)

let rec decode_pb_ofkanljcacm d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(ofkanljcacm)" pk

let rec decode_pb_icdcbngicka d =
  let v = default_icdcbngicka_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bogghhbkjbd <- List.rev v.bogghhbkjbd;
      v.pkkaednpjma <- List.rev v.pkkaednpjma;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.pkkaednpjma <- (decode_pb_pladdmnljcl (Pbrt.Decoder.nested d)) :: v.pkkaednpjma;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(icdcbngicka), field(7)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.bogghhbkjbd <- (decode_pb_lblameimomf (Pbrt.Decoder.nested d)) :: v.bogghhbkjbd;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(icdcbngicka), field(15)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(icdcbngicka), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pkkaednpjma = v.pkkaednpjma;
    bogghhbkjbd = v.bogghhbkjbd;
    retcode = v.retcode;
  } : icdcbngicka)

let rec decode_pb_ioibkofbebj d =
  let v = default_ioibkofbebj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ioldfakjoep <- List.rev v.ioldfakjoep;
      v.bhcemcfcjca <- List.rev v.bhcemcfcjca;
      v.gbelbjgfeen <- List.rev v.gbelbjgfeen;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.gbelbjgfeen <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ioibkofbebj), field(12)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.bhcemcfcjca <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ioibkofbebj), field(5)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.ioldfakjoep <- (decode_pb_kogippjmdkb d) :: v.ioldfakjoep;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ioibkofbebj), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gbelbjgfeen = v.gbelbjgfeen;
    bhcemcfcjca = v.bhcemcfcjca;
    ioldfakjoep = v.ioldfakjoep;
  } : ioibkofbebj)

let rec decode_pb_hcgejlljkpj d =
  let v = default_hcgejlljkpj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bogghhbkjbd <- List.rev v.bogghhbkjbd;
      v.pkkaednpjma <- List.rev v.pkkaednpjma;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hcgejlljkpj), field(1)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.pkkaednpjma <- (decode_pb_pladdmnljcl (Pbrt.Decoder.nested d)) :: v.pkkaednpjma;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hcgejlljkpj), field(11)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.bogghhbkjbd <- (decode_pb_lblameimomf (Pbrt.Decoder.nested d)) :: v.bogghhbkjbd;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hcgejlljkpj), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    pkkaednpjma = v.pkkaednpjma;
    bogghhbkjbd = v.bogghhbkjbd;
  } : hcgejlljkpj)

let rec decode_pb_padjpmdajhc d =
  let v = default_padjpmdajhc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.prop_entity_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(padjpmdajhc), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    prop_entity_id = v.prop_entity_id;
  } : padjpmdajhc)

let rec decode_pb_odcpjphbfme d =
  let v = default_odcpjphbfme_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(odcpjphbfme), field(7)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.lkfmgoglgch <- Some (decode_pb_jhjloaofhnk (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(odcpjphbfme), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    lkfmgoglgch = v.lkfmgoglgch;
  } : odcpjphbfme)

let rec decode_pb_agjmneegkdb d =
  let v = default_agjmneegkdb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.prop_entity_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agjmneegkdb), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    prop_entity_id = v.prop_entity_id;
  } : agjmneegkdb)

let rec decode_pb_obolbkcklhc d =
  let v = default_obolbkcklhc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.bekhfcgelap <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(obolbkcklhc), field(2)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.gdpfmoegbki <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(obolbkcklhc), field(14)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(obolbkcklhc), field(11)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.lkfmgoglgch <- Some (decode_pb_jhjloaofhnk (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(obolbkcklhc), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bekhfcgelap = v.bekhfcgelap;
    gdpfmoegbki = v.gdpfmoegbki;
    retcode = v.retcode;
    lkfmgoglgch = v.lkfmgoglgch;
  } : obolbkcklhc)

let rec decode_pb_ebjgjhclibc d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_rogue_endless_none:ebjgjhclibc)
  | 6006 -> (Cmd_take_rogue_endless_activity_point_reward_cs_req:ebjgjhclibc)
  | 6010 -> (Cmd_enter_rogue_endless_activity_stage_sc_rsp:ebjgjhclibc)
  | 6002 -> (Cmd_rogue_endless_activity_battle_end_sc_notify:ebjgjhclibc)
  | 6005 -> (Cmd_take_rogue_endless_activity_all_bonus_reward_sc_rsp:ebjgjhclibc)
  | 6003 -> (Cmd_take_rogue_endless_activity_all_bonus_reward_cs_req:ebjgjhclibc)
  | 6009 -> (Cmd_enter_rogue_endless_activity_stage_cs_req:ebjgjhclibc)
  | 6004 -> (Cmd_get_rogue_endless_activity_data_sc_rsp:ebjgjhclibc)
  | 6001 -> (Cmd_get_rogue_endless_activity_data_cs_req:ebjgjhclibc)
  | 6007 -> (Cmd_take_rogue_endless_activity_point_reward_sc_rsp:ebjgjhclibc)
  | _ -> Pbrt.Decoder.malformed_variant "ebjgjhclibc"

let rec decode_pb_lmmkpeajfka d =
  let v = default_lmmkpeajfka_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.base_avatar_id_list <- List.rev v.base_avatar_id_list;
      v.okhflbihfhm <- List.rev v.okhflbihfhm;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.okhflbihfhm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmmkpeajfka), field(7)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.base_avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmmkpeajfka), field(10)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.gkfjbgdelik <- Some (decode_pb_hpphifdfjjj (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmmkpeajfka), field(15)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.bgjihjmjbdk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmmkpeajfka), field(4)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.ediopngagap <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmmkpeajfka), field(12)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.fanjaobchcg <- Some (decode_pb_eijagapkfad (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmmkpeajfka), field(8)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.status <- decode_pb_ofhnfenfeai d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmmkpeajfka), field(1)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.daldfnlnnbo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmmkpeajfka), field(3)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.lnjapmhfcck <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lmmkpeajfka), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    okhflbihfhm = v.okhflbihfhm;
    base_avatar_id_list = v.base_avatar_id_list;
    gkfjbgdelik = v.gkfjbgdelik;
    bgjihjmjbdk = v.bgjihjmjbdk;
    ediopngagap = v.ediopngagap;
    fanjaobchcg = v.fanjaobchcg;
    status = v.status;
    daldfnlnnbo = v.daldfnlnnbo;
    lnjapmhfcck = v.lnjapmhfcck;
  } : lmmkpeajfka)

let rec decode_pb_cfeeacjgeec d =
  let v = default_cfeeacjgeec_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.moidpjnooeb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cfeeacjgeec), field(14)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.battle_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cfeeacjgeec), field(2)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.mibmejkddhe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cfeeacjgeec), field(8)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.fblfmeldjgl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cfeeacjgeec), field(9)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.nkangcfcbfk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cfeeacjgeec), field(5)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.djocbcjomac <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cfeeacjgeec), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.chmbglidkmm <- Pbrt.Decoder.bool d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cfeeacjgeec), field(4)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.phpkjaipcmg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cfeeacjgeec), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    moidpjnooeb = v.moidpjnooeb;
    battle_id = v.battle_id;
    mibmejkddhe = v.mibmejkddhe;
    fblfmeldjgl = v.fblfmeldjgl;
    nkangcfcbfk = v.nkangcfcbfk;
    djocbcjomac = v.djocbcjomac;
    chmbglidkmm = v.chmbglidkmm;
    phpkjaipcmg = v.phpkjaipcmg;
  } : cfeeacjgeec)

let rec decode_pb_nggfgepnifo d =
  let v = default_nggfgepnifo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.appflheobmi <- Some (decode_pb_cfeeacjgeec (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nggfgepnifo), field(11)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.ggdaffjnmpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nggfgepnifo), field(6)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.fjlnncjahng <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nggfgepnifo), field(4)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.minogichkgm <- Some (decode_pb_lmmkpeajfka (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nggfgepnifo), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    appflheobmi = v.appflheobmi;
    ggdaffjnmpa = v.ggdaffjnmpa;
    fjlnncjahng = v.fjlnncjahng;
    minogichkgm = v.minogichkgm;
  } : nggfgepnifo)

let rec decode_pb_hpbhhlhhedh d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(hpbhhlhhedh)" pk

let rec decode_pb_kcajjjlejgm d =
  let v = default_kcajjjlejgm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.data <- List.rev v.data;
      v.ihkmfjnfjlk <- List.rev v.ihkmfjnfjlk;
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.ihkmfjnfjlk <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcajjjlejgm), field(11)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcajjjlejgm), field(10)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.pokaoienhda <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcajjjlejgm), field(13)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.data <- (decode_pb_nggfgepnifo (Pbrt.Decoder.nested d)) :: v.data;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcajjjlejgm), field(5)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.hehigejeimi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kcajjjlejgm), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ihkmfjnfjlk = v.ihkmfjnfjlk;
    retcode = v.retcode;
    pokaoienhda = v.pokaoienhda;
    data = v.data;
    hehigejeimi = v.hehigejeimi;
  } : kcajjjlejgm)

let rec decode_pb_jkbbigojajj d =
  let v = default_jkbbigojajj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jkbbigojajj), field(9)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jkbbigojajj), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id = v.avatar_id;
    avatar_type = v.avatar_type;
  } : jkbbigojajj)

let rec decode_pb_kgamnkklmcm d =
  let v = default_kgamnkklmcm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_list <- List.rev v.avatar_list;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.anllhlcoape <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgamnkklmcm), field(1)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.avatar_list <- (decode_pb_jkbbigojajj (Pbrt.Decoder.nested d)) :: v.avatar_list;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kgamnkklmcm), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    anllhlcoape = v.anllhlcoape;
    avatar_list = v.avatar_list;
  } : kgamnkklmcm)

let rec decode_pb_eifpojnakgh d =
  let v = default_eifpojnakgh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eifpojnakgh), field(8)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.appflheobmi <- Some (decode_pb_cfeeacjgeec (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eifpojnakgh), field(14)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eifpojnakgh), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    appflheobmi = v.appflheobmi;
    ibllilenejp = v.ibllilenejp;
  } : eifpojnakgh)

let rec decode_pb_ddncjhjjabn d =
  let v = default_ddncjhjjabn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.appflheobmi <- Some (decode_pb_cfeeacjgeec (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ddncjhjjabn), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    appflheobmi = v.appflheobmi;
  } : ddncjhjjabn)

let rec decode_pb_ffcaeknjnap d =
  let v = default_ffcaeknjnap_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.mhegpegfggg <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ffcaeknjnap), field(1)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ffcaeknjnap), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mhegpegfggg = v.mhegpegfggg;
    level = v.level;
  } : ffcaeknjnap)

let rec decode_pb_hhgioelfegm d =
  let v = default_hhgioelfegm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ihkmfjnfjlk <- List.rev v.ihkmfjnfjlk;
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhgioelfegm), field(3)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.mhegpegfggg <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhgioelfegm), field(11)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.hehigejeimi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhgioelfegm), field(15)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhgioelfegm), field(1)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.ihkmfjnfjlk <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhgioelfegm), field(14)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhgioelfegm), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    reward = v.reward;
    mhegpegfggg = v.mhegpegfggg;
    hehigejeimi = v.hehigejeimi;
    level = v.level;
    ihkmfjnfjlk = v.ihkmfjnfjlk;
    retcode = v.retcode;
  } : hhgioelfegm)

let rec decode_pb_iddjfmpgfmd d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(iddjfmpgfmd)" pk

let rec decode_pb_ofhcflkjmeh d =
  let v = default_ofhcflkjmeh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ihkmfjnfjlk <- List.rev v.ihkmfjnfjlk;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.ihkmfjnfjlk <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ofhcflkjmeh), field(12)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ofhcflkjmeh), field(13)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ofhcflkjmeh), field(4)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.hehigejeimi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ofhcflkjmeh), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ihkmfjnfjlk = v.ihkmfjnfjlk;
    retcode = v.retcode;
    reward = v.reward;
    hehigejeimi = v.hehigejeimi;
  } : ofhcflkjmeh)

let rec decode_pb_bjpgeildfec d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_rogue_modifier_type_none:bjpgeildfec)
  | 5343 -> (Cmd_rogue_modifier_select_cell_cs_req:bjpgeildfec)
  | 5311 -> (Cmd_rogue_modifier_add_notify:bjpgeildfec)
  | 5356 -> (Cmd_rogue_modifier_select_cell_sc_rsp:bjpgeildfec)
  | 5333 -> (Cmd_rogue_modifier_stage_start_notify:bjpgeildfec)
  | 5329 -> (Cmd_rogue_modifier_update_notify:bjpgeildfec)
  | 5351 -> (Cmd_rogue_modifier_del_notify:bjpgeildfec)
  | _ -> Pbrt.Decoder.malformed_variant "bjpgeildfec"

let rec decode_pb_njkmbnhkmij d =
  let v = default_njkmbnhkmij_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.adnplkibhog <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njkmbnhkmij), field(13)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.mecjmchknde <- Pbrt.Decoder.bool d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njkmbnhkmij), field(5)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.babfnhiakog <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njkmbnhkmij), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    adnplkibhog = v.adnplkibhog;
    mecjmchknde = v.mecjmchknde;
    babfnhiakog = v.babfnhiakog;
  } : njkmbnhkmij)

let rec decode_pb_indhellplmc d =
  let v = default_indhellplmc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jnkphngenhh <- List.rev v.jnkphngenhh;
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.jnkphngenhh <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(indhellplmc), field(2)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.mecjmchknde <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(indhellplmc), field(11)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.adnplkibhog <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(indhellplmc), field(13)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.babfnhiakog <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(indhellplmc), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jnkphngenhh = v.jnkphngenhh;
    mecjmchknde = v.mecjmchknde;
    adnplkibhog = v.adnplkibhog;
    babfnhiakog = v.babfnhiakog;
  } : indhellplmc)

let rec decode_pb_cjechcdmobb d =
  let v = default_cjechcdmobb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jnkphngenhh <- List.rev v.jnkphngenhh;
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.adnplkibhog <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cjechcdmobb), field(13)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.mecjmchknde <- Pbrt.Decoder.bool d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cjechcdmobb), field(15)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.jnkphngenhh <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cjechcdmobb), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    adnplkibhog = v.adnplkibhog;
    mecjmchknde = v.mecjmchknde;
    jnkphngenhh = v.jnkphngenhh;
  } : cjechcdmobb)

let rec decode_pb_hnklhfgnidh d =
  let v = default_hnklhfgnidh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ciagcobkhbd <- List.rev v.ciagcobkhbd;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.adnplkibhog <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hnklhfgnidh), field(1)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.mecjmchknde <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hnklhfgnidh), field(11)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.jlgjdbmhnan <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hnklhfgnidh), field(12)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.ciagcobkhbd <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hnklhfgnidh), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    adnplkibhog = v.adnplkibhog;
    mecjmchknde = v.mecjmchknde;
    jlgjdbmhnan = v.jlgjdbmhnan;
    ciagcobkhbd = v.ciagcobkhbd;
  } : hnklhfgnidh)

let rec decode_pb_gennbfeoeln d =
  let v = default_gennbfeoeln_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.kccleanfoef <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gennbfeoeln), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kccleanfoef = v.kccleanfoef;
  } : gennbfeoeln)

let rec decode_pb_fbmijaimnlp d =
  let v = default_fbmijaimnlp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.pkfeeankpmd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fbmijaimnlp), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pkfeeankpmd = v.pkfeeankpmd;
  } : fbmijaimnlp)

let rec decode_pb_acpeiiblfeb d =
  let v = default_acpeiiblfeb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.nlefnkfdgkp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(acpeiiblfeb), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nlefnkfdgkp = v.nlefnkfdgkp;
  } : acpeiiblfeb)

let rec decode_pb_bbbegcjnbol d =
  let v = default_bbbegcjnbol_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ciagcobkhbd <- List.rev v.ciagcobkhbd;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.mecjmchknde <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bbbegcjnbol), field(1)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.adnplkibhog <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bbbegcjnbol), field(11)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.pgnccoldebp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bbbegcjnbol), field(12)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.ciagcobkhbd <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bbbegcjnbol), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mecjmchknde = v.mecjmchknde;
    adnplkibhog = v.adnplkibhog;
    pgnccoldebp = v.pgnccoldebp;
    ciagcobkhbd = v.ciagcobkhbd;
  } : bbbegcjnbol)

let rec decode_pb_cjakegljcgo d =
  let v = default_cjakegljcgo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.eefckhjjdaf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cjakegljcgo), field(3)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.pjkppmidpao <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cjakegljcgo), field(11)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.glppfpcjnlp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cjakegljcgo), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    eefckhjjdaf = v.eefckhjjdaf;
    pjkppmidpao = v.pjkppmidpao;
    glppfpcjnlp = v.glppfpcjnlp;
  } : cjakegljcgo)

let rec decode_pb_nkdamfkkpgf d =
  let v = default_nkdamfkkpgf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.paofpgekpfe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nkdamfkkpgf), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    paofpgekpfe = v.paofpgekpfe;
  } : nkdamfkkpgf)

let rec decode_pb_ahfklgbbeno d =
  let v = default_ahfklgbbeno_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ahfklgbbeno), field(11)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.olfhccbiidg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ahfklgbbeno), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgjolgkaofj = v.hgjolgkaofj;
    olfhccbiidg = v.olfhccbiidg;
  } : ahfklgbbeno)

let rec decode_pb_hbjfkganpni d =
  let v = default_hbjfkganpni_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.kagnbjdmamf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hbjfkganpni), field(11)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.bomcmajnimh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hbjfkganpni), field(7)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.ekcigpdfkjo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hbjfkganpni), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kagnbjdmamf = v.kagnbjdmamf;
    bomcmajnimh = v.bomcmajnimh;
    ekcigpdfkjo = v.ekcigpdfkjo;
  } : hbjfkganpni)

let rec decode_pb_mjohphbaijk d =
  let v = default_mjohphbaijk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.mgnnkboblfg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjohphbaijk), field(4)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.kagnbjdmamf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjohphbaijk), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mgnnkboblfg = v.mgnnkboblfg;
    kagnbjdmamf = v.kagnbjdmamf;
  } : mjohphbaijk)

let rec decode_pb_dcpoejemiok d =
  let v = default_dcpoejemiok_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.kccleanfoef <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dcpoejemiok), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kccleanfoef = v.kccleanfoef;
  } : dcpoejemiok)

let rec decode_pb_dkgaakknhee d =
  let v = default_dkgaakknhee_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.babfnhiakog <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dkgaakknhee), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    babfnhiakog = v.babfnhiakog;
  } : dkgaakknhee)

let rec decode_pb_okeejldbgch d =
  let v = default_okeejldbgch_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jnkphngenhh <- List.rev v.jnkphngenhh;
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.adnplkibhog <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(okeejldbgch), field(9)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.mecjmchknde <- Pbrt.Decoder.bool d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(okeejldbgch), field(5)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.jnkphngenhh <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(okeejldbgch), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    adnplkibhog = v.adnplkibhog;
    mecjmchknde = v.mecjmchknde;
    jnkphngenhh = v.jnkphngenhh;
  } : okeejldbgch)

let rec decode_pb_nfbchiimdie d =
  let v = default_nfbchiimdie_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.paofpgekpfe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nfbchiimdie), field(8)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.odfipjnpjop <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nfbchiimdie), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    paofpgekpfe = v.paofpgekpfe;
    odfipjnpjop = v.odfipjnpjop;
  } : nfbchiimdie)

let rec decode_pb_linfpficlpo d =
  let v = default_linfpficlpo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.kamoblkgpai <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(linfpficlpo), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kamoblkgpai = v.kamoblkgpai;
  } : linfpficlpo)

let rec decode_pb_afillcepkji d =
  let v = default_afillcepkji_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.count <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afillcepkji), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    count = v.count;
  } : afillcepkji)

let rec decode_pb_kmdhgnfkcpi d =
  let v = default_kmdhgnfkcpi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.lmhocgknkpb <- Some (decode_pb_gflokgogjgh (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kmdhgnfkcpi), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lmhocgknkpb = v.lmhocgknkpb;
  } : kmdhgnfkcpi)

let rec decode_pb_hejpimnmkkb d =
  let v = default_hejpimnmkkb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.pbonhgdihdk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hejpimnmkkb), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pbonhgdihdk = v.pbonhgdihdk;
  } : hejpimnmkkb)

let rec decode_pb_ikakeaekcgp d =
  let v = default_ikakeaekcgp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.pbonhgdihdk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ikakeaekcgp), field(14)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ikakeaekcgp), field(8)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.ekpahpdniff <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ikakeaekcgp), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pbonhgdihdk = v.pbonhgdihdk;
    retcode = v.retcode;
    ekpahpdniff = v.ekpahpdniff;
  } : ikakeaekcgp)

let rec decode_pb_adbdeennljd d =
  let v = default_adbdeennljd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.lmhocgknkpb <- Some (decode_pb_gflokgogjgh (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adbdeennljd), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lmhocgknkpb = v.lmhocgknkpb;
  } : adbdeennljd)

let rec decode_pb_nkeajljehgg d =
  let v = default_nkeajljehgg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.ddgkfgjdgeb <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nkeajljehgg), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ddgkfgjdgeb = v.ddgkfgjdgeb;
  } : nkeajljehgg)

let rec decode_pb_ogilaeigfdi d =
  let v = default_ogilaeigfdi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.cbjpfggchfh <- decode_pb_idlkgpjlfhc d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ogilaeigfdi), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cbjpfggchfh = v.cbjpfggchfh;
  } : ogilaeigfdi)

let rec decode_pb_oklcifjakhm d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_rogue_tourn_type_none:oklcifjakhm)
  | 6043 -> (Cmd_rogue_tourn_settle_sc_rsp:oklcifjakhm)
  | 6078 -> (Cmd_rogue_tourn_leave_sc_rsp:oklcifjakhm)
  | 6058 -> (Cmd_rogue_tourn_enter_layer_sc_rsp:oklcifjakhm)
  | 6083 -> (Cmd_rogue_tourn_start_cs_req:oklcifjakhm)
  | 6064 -> (Cmd_rogue_tourn_leave_rogue_cocoon_scene_cs_req:oklcifjakhm)
  | 6086 -> (Cmd_rogue_tourn_leave_rogue_cocoon_scene_sc_rsp:oklcifjakhm)
  | 6016 -> (Cmd_rogue_tourn_delete_archive_cs_req:oklcifjakhm)
  | 6038 -> (Cmd_rogue_tourn_level_info_update_sc_notify:oklcifjakhm)
  | 6017 -> (Cmd_rogue_tourn_exp_notify:oklcifjakhm)
  | 6013 -> (Cmd_rogue_tourn_get_misc_real_time_data_sc_rsp:oklcifjakhm)
  | 6042 -> (Cmd_rogue_tourn_revive_avatar_sc_rsp:oklcifjakhm)
  | 6081 -> (Cmd_rogue_tourn_revive_avatar_cs_req:oklcifjakhm)
  | 6068 -> (Cmd_rogue_tourn_get_all_archive_cs_req:oklcifjakhm)
  | 6040 -> (Cmd_rogue_tourn_query_sc_rsp:oklcifjakhm)
  | 6035 -> (Cmd_rogue_tourn_delete_archive_sc_rsp:oklcifjakhm)
  | 6063 -> (Cmd_rogue_tourn_re_enter_rogue_cocoon_stage_cs_req:oklcifjakhm)
  | 6027 -> (Cmd_rogue_tourn_take_exp_reward_cs_req:oklcifjakhm)
  | 6095 -> (Cmd_rogue_tourn_enter_rogue_cocoon_scene_cs_req:oklcifjakhm)
  | 6041 -> (Cmd_rogue_tourn_get_cur_rogue_cocoon_info_sc_rsp:oklcifjakhm)
  | 6031 -> (Cmd_rogue_tourn_get_archive_repository_sc_rsp:oklcifjakhm)
  | 6088 -> (Cmd_rogue_tourn_rename_archive_sc_rsp:oklcifjakhm)
  | 6096 -> (Cmd_rogue_tourn_reset_permanent_talent_sc_rsp:oklcifjakhm)
  | 6034 -> (Cmd_rogue_tourn_query_cs_req:oklcifjakhm)
  | 6032 -> (Cmd_rogue_tourn_week_challenge_update_sc_notify:oklcifjakhm)
  | 6051 -> (Cmd_rogue_tourn_get_cur_rogue_cocoon_info_cs_req:oklcifjakhm)
  | 6044 -> (Cmd_rogue_tourn_rename_archive_cs_req:oklcifjakhm)
  | 6049 -> (Cmd_rogue_tourn_take_exp_reward_sc_rsp:oklcifjakhm)
  | 6099 -> (Cmd_rogue_tourn_enter_cs_req:oklcifjakhm)
  | 6024 -> (Cmd_rogue_tourn_confirm_settle_sc_rsp:oklcifjakhm)
  | 6079 -> (Cmd_rogue_tourn_get_misc_real_time_data_cs_req:oklcifjakhm)
  | 6092 -> (Cmd_rogue_tourn_enter_layer_cs_req:oklcifjakhm)
  | 6018 -> (Cmd_rogue_tourn_get_all_archive_sc_rsp:oklcifjakhm)
  | 6087 -> (Cmd_rogue_tourn_revive_cost_update_sc_notify:oklcifjakhm)
  | 6055 -> (Cmd_rogue_tourn_difficulty_comp_notify:oklcifjakhm)
  | 6082 -> (Cmd_rogue_tourn_get_archive_repository_cs_req:oklcifjakhm)
  | 6053 -> (Cmd_rogue_tourn_enable_permanent_talent_sc_rsp:oklcifjakhm)
  | 6026 -> (Cmd_rogue_tourn_get_permanent_talent_info_cs_req:oklcifjakhm)
  | 6085 -> (Cmd_rogue_tourn_get_permanent_talent_info_sc_rsp:oklcifjakhm)
  | 6056 -> (Cmd_rogue_tourn_hand_book_notify:oklcifjakhm)
  | 6066 -> (Cmd_rogue_tourn_area_update_sc_notify:oklcifjakhm)
  | 6022 -> (Cmd_rogue_tourn_enable_permanent_talent_cs_req:oklcifjakhm)
  | 6019 -> (Cmd_rogue_tourn_enter_room_sc_rsp:oklcifjakhm)
  | 6059 -> (Cmd_rogue_tourn_leave_cs_req:oklcifjakhm)
  | 6089 -> (Cmd_rogue_tourn_enter_room_cs_req:oklcifjakhm)
  | 6100 -> (Cmd_rogue_tourn_settle_cs_req:oklcifjakhm)
  | 6023 -> (Cmd_rogue_tourn_confirm_settle_cs_req:oklcifjakhm)
  | 6036 -> (Cmd_rogue_tourn_get_settle_info_sc_rsp:oklcifjakhm)
  | 6050 -> (Cmd_rogue_tourn_re_enter_rogue_cocoon_stage_sc_rsp:oklcifjakhm)
  | 6025 -> (Cmd_rogue_tourn_enter_rogue_cocoon_scene_sc_rsp:oklcifjakhm)
  | 6033 -> (Cmd_rogue_tourn_enter_sc_rsp:oklcifjakhm)
  | 6057 -> (Cmd_rogue_tourn_clear_archive_name_sc_notify:oklcifjakhm)
  | 6077 -> (Cmd_rogue_tourn_get_settle_info_cs_req:oklcifjakhm)
  | 6039 -> (Cmd_rogue_tourn_start_sc_rsp:oklcifjakhm)
  | 6020 -> (Cmd_rogue_tourn_battle_fail_settle_info_sc_notify:oklcifjakhm)
  | 6021 -> (Cmd_rogue_tourn_reset_permanent_talent_cs_req:oklcifjakhm)
  | _ -> Pbrt.Decoder.malformed_variant "oklcifjakhm"

let rec decode_pb_llecchannpc d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Rogue_tourn_handbook_none:llecchannpc)
  | 1 -> (Rogue_tourn_handbook_simple_miracle:llecchannpc)
  | 2 -> (Rogue_tourn_handbook_hex_miracle:llecchannpc)
  | 3 -> (Rogue_tourn_handbook_buff:llecchannpc)
  | 4 -> (Rogue_tourn_handbook_event:llecchannpc)
  | 5 -> (Rogue_tourn_handbook_formula:llecchannpc)
  | _ -> Pbrt.Decoder.malformed_variant "llecchannpc"

let rec decode_pb_fopiophbiph d =
  let v = default_fopiophbiph_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.pnbpdbgfffd <- Some (decode_pb_cioeahefpln (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fopiophbiph), field(10)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.lineup <- Some (decode_pb_lineup_info (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fopiophbiph), field(8)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.scene <- Some (decode_pb_scene_info (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fopiophbiph), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pnbpdbgfffd = v.pnbpdbgfffd;
    lineup = v.lineup;
    scene = v.scene;
  } : fopiophbiph)

let rec decode_pb_bhoeapoifhf d =
  let v = default_bhoeapoifhf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.base_avatar_id_list <- List.rev v.base_avatar_id_list;
      v.oocjacfoofn <- List.rev v.oocjacfoofn;
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.mnppbggndma <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bhoeapoifhf), field(3)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.oocjacfoofn <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bhoeapoifhf), field(6)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.ggdaffjnmpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bhoeapoifhf), field(8)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.base_avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bhoeapoifhf), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mnppbggndma = v.mnppbggndma;
    oocjacfoofn = v.oocjacfoofn;
    ggdaffjnmpa = v.ggdaffjnmpa;
    base_avatar_id_list = v.base_avatar_id_list;
  } : bhoeapoifhf)

let rec decode_pb_jahlejaahnj d =
  let v = default_jahlejaahnj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.niiingfcpol <- Some (decode_pb_hpeecfakjeg (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jahlejaahnj), field(7)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.mnppbggndma <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jahlejaahnj), field(12)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.hiacklcdijn <- Some (decode_pb_fopiophbiph (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jahlejaahnj), field(6)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jahlejaahnj), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    niiingfcpol = v.niiingfcpol;
    mnppbggndma = v.mnppbggndma;
    hiacklcdijn = v.hiacklcdijn;
    retcode = v.retcode;
  } : jahlejaahnj)

let rec decode_pb_iakpmokoopf d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(iakpmokoopf)" pk

let rec decode_pb_piclnnfbhgg d =
  let v = default_piclnnfbhgg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.niiingfcpol <- Some (decode_pb_hpeecfakjeg (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(piclnnfbhgg), field(10)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.hiacklcdijn <- Some (decode_pb_fopiophbiph (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(piclnnfbhgg), field(7)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(piclnnfbhgg), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    niiingfcpol = v.niiingfcpol;
    hiacklcdijn = v.hiacklcdijn;
    retcode = v.retcode;
  } : piclnnfbhgg)

let rec decode_pb_ppffnpdebnn d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(ppffnpdebnn)" pk

let rec decode_pb_pajenkffpjd d =
  let v = default_pajenkffpjd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.hiacklcdijn <- Some (decode_pb_fopiophbiph (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pajenkffpjd), field(3)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pajenkffpjd), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hiacklcdijn = v.hiacklcdijn;
    retcode = v.retcode;
  } : pajenkffpjd)

let rec decode_pb_nagmgplccnn d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(nagmgplccnn)" pk

let rec decode_pb_mmigimbighd d =
  let v = default_mmigimbighd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.pdbobmjedbc <- Some (decode_pb_bninelnejfi (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmigimbighd), field(10)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmigimbighd), field(5)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.hiacklcdijn <- Some (decode_pb_fopiophbiph (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmigimbighd), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pdbobmjedbc = v.pdbobmjedbc;
    retcode = v.retcode;
    hiacklcdijn = v.hiacklcdijn;
  } : mmigimbighd)

let rec decode_pb_bjjmdnhejkj d =
  let v = default_bjjmdnhejkj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.kemnjbikaod <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bjjmdnhejkj), field(2)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.bookldicfae <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bjjmdnhejkj), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kemnjbikaod = v.kemnjbikaod;
    bookldicfae = v.bookldicfae;
  } : bjjmdnhejkj)

let rec decode_pb_pkgkoiljmod d =
  let v = default_pkgkoiljmod_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkgkoiljmod), field(11)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.hiacklcdijn <- Some (decode_pb_fopiophbiph (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkgkoiljmod), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    hiacklcdijn = v.hiacklcdijn;
  } : pkgkoiljmod)

let rec decode_pb_bbfpjokigjo d =
  let v = default_bbfpjokigjo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.bookldicfae <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bbfpjokigjo), field(6)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.chmmbcgmfho <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bbfpjokigjo), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bookldicfae = v.bookldicfae;
    chmmbcgmfho = v.chmmbcgmfho;
  } : bbfpjokigjo)

let rec decode_pb_bnjigcnepgg d =
  let v = default_bnjigcnepgg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bnjigcnepgg), field(8)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.hiacklcdijn <- Some (decode_pb_fopiophbiph (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bnjigcnepgg), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    hiacklcdijn = v.hiacklcdijn;
  } : bnjigcnepgg)

let rec decode_pb_ebgegjpdclg d =
  let v = default_ebgegjpdclg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.fogjohmngpc <- List.rev v.fogjohmngpc;
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.chmmbcgmfho <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebgegjpdclg), field(13)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.status <- decode_pb_dmgmpocpddc d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebgegjpdclg), field(9)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.fogjohmngpc <- (decode_pb_gadcmbokpdi (Pbrt.Decoder.nested d)) :: v.fogjohmngpc;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebgegjpdclg), field(7)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.mgdnainpahe <- decode_pb_meahibhbfon d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebgegjpdclg), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    chmmbcgmfho = v.chmmbcgmfho;
    status = v.status;
    fogjohmngpc = v.fogjohmngpc;
    mgdnainpahe = v.mgdnainpahe;
  } : ebgegjpdclg)

let rec decode_pb_hfbgpdklehf d =
  let v = default_hfbgpdklehf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jjoibnmplan <- List.rev v.jjoibnmplan;
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.jjoibnmplan <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfbgpdklehf), field(14)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.olpnhmcbmbg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfbgpdklehf), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jjoibnmplan = v.jjoibnmplan;
    olpnhmcbmbg = v.olpnhmcbmbg;
  } : hfbgpdklehf)

let rec decode_pb_bkbaamlloid d =
  let v = default_bkbaamlloid_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.opjkekdmnif <- List.rev v.opjkekdmnif;
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bkbaamlloid), field(2)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bkbaamlloid), field(12)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.opjkekdmnif <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bkbaamlloid), field(6)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bkbaamlloid), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    exp = v.exp;
    reward = v.reward;
    opjkekdmnif = v.opjkekdmnif;
    retcode = v.retcode;
  } : bkbaamlloid)

let rec decode_pb_ofeopdagmld d =
  let v = default_ofeopdagmld_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ofeopdagmld), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    exp = v.exp;
  } : ofeopdagmld)

let rec decode_pb_cnanfpfmfgi d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(cnanfpfmfgi)" pk

let rec decode_pb_bkgcabadlgh d =
  let v = default_bkgcabadlgh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pgonhkcjnme <- List.rev v.pgonhkcjnme;
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.ggdaffjnmpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bkgcabadlgh), field(8)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.pgonhkcjnme <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bkgcabadlgh), field(12)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.lijjmafkdnn <- Pbrt.Decoder.bool d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bkgcabadlgh), field(7)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.dnmhgkbcinm <- Pbrt.Decoder.bool d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bkgcabadlgh), field(14)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.mkideamcloh <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bkgcabadlgh), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ggdaffjnmpa = v.ggdaffjnmpa;
    pgonhkcjnme = v.pgonhkcjnme;
    lijjmafkdnn = v.lijjmafkdnn;
    dnmhgkbcinm = v.dnmhgkbcinm;
    mkideamcloh = v.mkideamcloh;
  } : bkgcabadlgh)

let rec decode_pb_iehdlmeodcb d =
  let v = default_iehdlmeodcb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.end_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iehdlmeodcb), field(10)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.deiejhjkjgb <- Pbrt.Decoder.bool d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iehdlmeodcb), field(8)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.fibjjgfhakl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iehdlmeodcb), field(3)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.mnppbggndma <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iehdlmeodcb), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    end_time = v.end_time;
    deiejhjkjgb = v.deiejhjkjgb;
    fibjjgfhakl = v.fibjjgfhakl;
    mnppbggndma = v.mnppbggndma;
  } : iehdlmeodcb)

let rec decode_pb_alanojoldck d =
  let v = default_alanojoldck_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.opjkekdmnif <- List.rev v.opjkekdmnif;
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(alanojoldck), field(15)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.opjkekdmnif <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(alanojoldck), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    exp = v.exp;
    opjkekdmnif = v.opjkekdmnif;
  } : alanojoldck)

let rec decode_pb_gbnockoacmj d =
  let v = default_gbnockoacmj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.bbanknacajb <- Some (decode_pb_lljpmigaffg (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gbnockoacmj), field(10)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.bcdcpfglloa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gbnockoacmj), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bbanknacajb = v.bbanknacajb;
    bcdcpfglloa = v.bcdcpfglloa;
  } : gbnockoacmj)

let rec decode_pb_imhjlecpgmf d =
  let v = default_imhjlecpgmf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.ikfhibhbodi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(imhjlecpgmf), field(8)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.dnmhgkbcinm <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(imhjlecpgmf), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ikfhibhbodi = v.ikfhibhbodi;
    dnmhgkbcinm = v.dnmhgkbcinm;
  } : imhjlecpgmf)

let rec decode_pb_ibpjgdimgdh d =
  let v = default_ibpjgdimgdh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.olpnhmcbmbg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibpjgdimgdh), field(13)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.benepmhmkki <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibpjgdimgdh), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    olpnhmcbmbg = v.olpnhmcbmbg;
    benepmhmkki = v.benepmhmkki;
  } : ibpjgdimgdh)

let rec decode_pb_obekcikjcnd d =
  let v = default_obekcikjcnd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pkcflbcbemf <- List.rev v.pkcflbcbemf;
      v.jgajllhobmi <- List.rev v.jgajllhobmi;
      v.majcffpcdeg <- List.rev v.majcffpcdeg;
      v.hmcpmadehgc <- List.rev v.hmcpmadehgc;
      v.nnijgeiepnp <- List.rev v.nnijgeiepnp;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.nnijgeiepnp <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(obekcikjcnd), field(1)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.lfongcdalle <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(obekcikjcnd), field(6)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.hmcpmadehgc <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(obekcikjcnd), field(13)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.majcffpcdeg <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(obekcikjcnd), field(7)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.jgajllhobmi <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(obekcikjcnd), field(5)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.pkcflbcbemf <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(obekcikjcnd), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nnijgeiepnp = v.nnijgeiepnp;
    lfongcdalle = v.lfongcdalle;
    hmcpmadehgc = v.hmcpmadehgc;
    majcffpcdeg = v.majcffpcdeg;
    jgajllhobmi = v.jgajllhobmi;
    pkcflbcbemf = v.pkcflbcbemf;
  } : obekcikjcnd)

let rec decode_pb_ibbhfnhbhin d =
  let v = default_ibbhfnhbhin_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pcpkkbfpbeb <- List.rev v.pcpkkbfpbeb;
      v.buff_list <- List.rev v.buff_list;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.buff_list <- (decode_pb_mnicidbdjfi (Pbrt.Decoder.nested d)) :: v.buff_list;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibbhfnhbhin), field(1)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.dbgaojmndmc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibbhfnhbhin), field(12)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.pcpkkbfpbeb <- (decode_pb_djpaibjmmoe (Pbrt.Decoder.nested d)) :: v.pcpkkbfpbeb;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibbhfnhbhin), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    buff_list = v.buff_list;
    dbgaojmndmc = v.dbgaojmndmc;
    pcpkkbfpbeb = v.pcpkkbfpbeb;
  } : ibbhfnhbhin)

let rec decode_pb_ibgjfmdlgfg d =
  let v = default_ibgjfmdlgfg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.data <- Some (decode_pb_ibbhfnhbhin (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibgjfmdlgfg), field(5)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.name <- Pbrt.Decoder.string d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibgjfmdlgfg), field(3)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.njokhdgdfcm <- Some (decode_pb_ibpjgdimgdh (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibgjfmdlgfg), field(12)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.end_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibgjfmdlgfg), field(15)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.afefamkndoo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibgjfmdlgfg), field(1)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibgjfmdlgfg), field(11)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.niiingfcpol <- Some (decode_pb_hpeecfakjeg (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ibgjfmdlgfg), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    data = v.data;
    name = v.name;
    njokhdgdfcm = v.njokhdgdfcm;
    end_time = v.end_time;
    afefamkndoo = v.afefamkndoo;
    time = v.time;
    niiingfcpol = v.niiingfcpol;
  } : ibgjfmdlgfg)

let rec decode_pb_omaobpkepbk d =
  let v = default_omaobpkepbk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.fbaabhmhhmf <- List.rev v.fbaabhmhhmf;
      v.mdnhpflhbbi <- List.rev v.mdnhpflhbbi;
      v.mpjcpjidjno <- List.rev v.mpjcpjidjno;
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.mpjcpjidjno <- (decode_pb_ibgjfmdlgfg (Pbrt.Decoder.nested d)) :: v.mpjcpjidjno;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(omaobpkepbk), field(11)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.njokhdgdfcm <- Some (decode_pb_ibpjgdimgdh (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(omaobpkepbk), field(13)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.cmmbjnhniak <- Some (decode_pb_gbnockoacmj (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(omaobpkepbk), field(6)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.mdnhpflhbbi <- (decode_pb_bkgcabadlgh (Pbrt.Decoder.nested d)) :: v.mdnhpflhbbi;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(omaobpkepbk), field(5)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.fbaabhmhhmf <- (decode_pb_imhjlecpgmf (Pbrt.Decoder.nested d)) :: v.fbaabhmhhmf;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(omaobpkepbk), field(7)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.eoabdpajekd <- Some (decode_pb_alanojoldck (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(omaobpkepbk), field(2)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.mgancbncadd <- Some (decode_pb_obekcikjcnd (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(omaobpkepbk), field(15)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.eidlebddhfm <- Some (decode_pb_iehdlmeodcb (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(omaobpkepbk), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mpjcpjidjno = v.mpjcpjidjno;
    njokhdgdfcm = v.njokhdgdfcm;
    cmmbjnhniak = v.cmmbjnhniak;
    mdnhpflhbbi = v.mdnhpflhbbi;
    fbaabhmhhmf = v.fbaabhmhhmf;
    eoabdpajekd = v.eoabdpajekd;
    mgancbncadd = v.mgancbncadd;
    eidlebddhfm = v.eidlebddhfm;
  } : omaobpkepbk)

let rec decode_pb_pmcafkblcek d =
  let v = default_pmcafkblcek_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.fecdamigijp <- Some (decode_pb_omaobpkepbk (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pmcafkblcek), field(5)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.niiingfcpol <- Some (decode_pb_hpeecfakjeg (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pmcafkblcek), field(8)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pmcafkblcek), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fecdamigijp = v.fecdamigijp;
    niiingfcpol = v.niiingfcpol;
    retcode = v.retcode;
  } : pmcafkblcek)

let rec decode_pb_ighcanmlfpk d =
  let v = default_ighcanmlfpk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mdnhpflhbbi <- List.rev v.mdnhpflhbbi;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.mdnhpflhbbi <- (decode_pb_bkgcabadlgh (Pbrt.Decoder.nested d)) :: v.mdnhpflhbbi;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ighcanmlfpk), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mdnhpflhbbi = v.mdnhpflhbbi;
  } : ighcanmlfpk)

let rec decode_pb_okpoedldcbc d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(okpoedldcbc)" pk

let rec decode_pb_hfddpfdnbob d =
  let v = default_hfddpfdnbob_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jjfmndbpgkf <- List.rev v.jjfmndbpgkf;
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.jjfmndbpgkf <- (decode_pb_ibgjfmdlgfg (Pbrt.Decoder.nested d)) :: v.jjfmndbpgkf;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfddpfdnbob), field(6)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hfddpfdnbob), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jjfmndbpgkf = v.jjfmndbpgkf;
    retcode = v.retcode;
  } : hfddpfdnbob)

let rec decode_pb_falpomddcnm d =
  let v = default_falpomddcnm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.afefamkndoo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(falpomddcnm), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    afefamkndoo = v.afefamkndoo;
  } : falpomddcnm)

let rec decode_pb_ehlnpdcbmkg d =
  let v = default_ehlnpdcbmkg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ehlnpdcbmkg), field(5)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.afefamkndoo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ehlnpdcbmkg), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    afefamkndoo = v.afefamkndoo;
  } : ehlnpdcbmkg)

let rec decode_pb_khgalbohlmd d =
  let v = default_khgalbohlmd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.name <- Pbrt.Decoder.string d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(khgalbohlmd), field(15)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.afefamkndoo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(khgalbohlmd), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    name = v.name;
    afefamkndoo = v.afefamkndoo;
  } : khgalbohlmd)

let rec decode_pb_mnejjjainkj d =
  let v = default_mnejjjainkj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.name <- Pbrt.Decoder.string d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mnejjjainkj), field(6)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.afefamkndoo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mnejjjainkj), field(13)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mnejjjainkj), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    name = v.name;
    afefamkndoo = v.afefamkndoo;
    retcode = v.retcode;
  } : mnejjjainkj)

let rec decode_pb_opgfcfjckld d =
  let v = default_opgfcfjckld_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.afefamkndoo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(opgfcfjckld), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    afefamkndoo = v.afefamkndoo;
  } : opgfcfjckld)

let rec decode_pb_gjignnodbdm d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(gjignnodbdm)" pk

let rec decode_pb_aefpfcoeocm d =
  let v = default_aefpfcoeocm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aefpfcoeocm), field(12)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.cmmbjnhniak <- Some (decode_pb_gbnockoacmj (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aefpfcoeocm), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    cmmbjnhniak = v.cmmbjnhniak;
  } : aefpfcoeocm)

let rec decode_pb_hiobbkapppf d =
  let v = default_hiobbkapppf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.hehehnicpjn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hiobbkapppf), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hehehnicpjn = v.hehehnicpjn;
  } : hiobbkapppf)

let rec decode_pb_apfmcbajpno d =
  let v = default_apfmcbajpno_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(apfmcbajpno), field(2)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.cmmbjnhniak <- Some (decode_pb_gbnockoacmj (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(apfmcbajpno), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    cmmbjnhniak = v.cmmbjnhniak;
  } : apfmcbajpno)

let rec decode_pb_fcjichofhaj d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(fcjichofhaj)" pk

let rec decode_pb_mninjbbldcn d =
  let v = default_mninjbbldcn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.cmmbjnhniak <- Some (decode_pb_gbnockoacmj (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mninjbbldcn), field(10)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mninjbbldcn), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cmmbjnhniak = v.cmmbjnhniak;
    retcode = v.retcode;
  } : mninjbbldcn)

let rec decode_pb_pihijmjijgj d =
  let v = default_pihijmjijgj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_list <- List.rev v.avatar_list;
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.avatar_list <- (decode_pb_flffdckajej (Pbrt.Decoder.nested d)) :: v.avatar_list;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pihijmjijgj), field(8)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.kahhjlklcjl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pihijmjijgj), field(3)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.cnbholdlobc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pihijmjijgj), field(15)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.gehbffmbgmi <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pihijmjijgj), field(2)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.bnlgcohhahg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pihijmjijgj), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_list = v.avatar_list;
    kahhjlklcjl = v.kahhjlklcjl;
    cnbholdlobc = v.cnbholdlobc;
    gehbffmbgmi = v.gehbffmbgmi;
    bnlgcohhahg = v.bnlgcohhahg;
  } : pihijmjijgj)

let rec decode_pb_jkcnlobbehh d =
  let v = default_jkcnlobbehh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.hiacklcdijn <- Some (decode_pb_fopiophbiph (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jkcnlobbehh), field(14)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jkcnlobbehh), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hiacklcdijn = v.hiacklcdijn;
    retcode = v.retcode;
  } : jkcnlobbehh)

let rec decode_pb_bcbpbfgkocl d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(bcbpbfgkocl)" pk

let rec decode_pb_hmncjcdmnoc d =
  let v = default_hmncjcdmnoc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.hiacklcdijn <- Some (decode_pb_fopiophbiph (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hmncjcdmnoc), field(10)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hmncjcdmnoc), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hiacklcdijn = v.hiacklcdijn;
    retcode = v.retcode;
  } : hmncjcdmnoc)

let rec decode_pb_ipjbipgkkce d =
  let v = default_ipjbipgkkce_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.gehbffmbgmi <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ipjbipgkkce), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gehbffmbgmi = v.gehbffmbgmi;
  } : ipjbipgkkce)

let rec decode_pb_hgdjnbdojjl d =
  let v = default_hgdjnbdojjl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgdjnbdojjl), field(5)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgdjnbdojjl), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ibllilenejp = v.ibllilenejp;
  } : hgdjnbdojjl)

let rec decode_pb_ckgapkhdnnd d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(ckgapkhdnnd)" pk

let rec decode_pb_hjbegoofpdm d =
  let v = default_hjbegoofpdm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.kahhjlklcjl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjbegoofpdm), field(5)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.cnbholdlobc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjbegoofpdm), field(1)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjbegoofpdm), field(4)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.bnlgcohhahg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjbegoofpdm), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kahhjlklcjl = v.kahhjlklcjl;
    cnbholdlobc = v.cnbholdlobc;
    retcode = v.retcode;
    bnlgcohhahg = v.bnlgcohhahg;
  } : hjbegoofpdm)

let rec decode_pb_eombaehnefe d =
  let v = default_eombaehnefe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.lebembolhgj <- List.rev v.lebembolhgj;
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.lebembolhgj <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eombaehnefe), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lebembolhgj = v.lebembolhgj;
  } : eombaehnefe)

let rec decode_pb_hkbpgokjfnj d =
  let v = default_hkbpgokjfnj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.lobeaeamlln <- List.rev v.lobeaeamlln;
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.lobeaeamlln <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hkbpgokjfnj), field(8)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.ojdlhnjpibk <- decode_pb_llecchannpc d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hkbpgokjfnj), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lobeaeamlln = v.lobeaeamlln;
    ojdlhnjpibk = v.ojdlhnjpibk;
  } : hkbpgokjfnj)

let rec decode_pb_mmlpmelombo d =
  let v = default_mmlpmelombo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.ggdaffjnmpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmlpmelombo), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ggdaffjnmpa = v.ggdaffjnmpa;
  } : mmlpmelombo)

let rec decode_pb_coenhaabago d =
  let v = default_coenhaabago_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.pdbobmjedbc <- Some (decode_pb_bninelnejfi (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(coenhaabago), field(13)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(coenhaabago), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pdbobmjedbc = v.pdbobmjedbc;
    retcode = v.retcode;
  } : coenhaabago)

let rec decode_pb_dhdgbnfnfai d =
  let v = default_dhdgbnfnfai_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.afefamkndoo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dhdgbnfnfai), field(12)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.ggdaffjnmpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dhdgbnfnfai), field(1)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.name <- Pbrt.Decoder.string d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dhdgbnfnfai), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    afefamkndoo = v.afefamkndoo;
    ggdaffjnmpa = v.ggdaffjnmpa;
    name = v.name;
  } : dhdgbnfnfai)

let rec decode_pb_mficaiiiekj d =
  let v = default_mficaiiiekj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.hiacklcdijn <- Some (decode_pb_fopiophbiph (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mficaiiiekj), field(7)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.gomhdhcdflh <- Some (decode_pb_ibgjfmdlgfg (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mficaiiiekj), field(12)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.dcalkgibojm <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mficaiiiekj), field(14)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mficaiiiekj), field(9)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.akppfhlknnp <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mficaiiiekj), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hiacklcdijn = v.hiacklcdijn;
    gomhdhcdflh = v.gomhdhcdflh;
    dcalkgibojm = v.dcalkgibojm;
    retcode = v.retcode;
    akppfhlknnp = v.akppfhlknnp;
  } : mficaiiiekj)

let rec decode_pb_gafkfelneml d =
  let v = default_gafkfelneml_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.eidlebddhfm <- Some (decode_pb_iehdlmeodcb (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gafkfelneml), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    eidlebddhfm = v.eidlebddhfm;
  } : gafkfelneml)

let rec decode_pb_mcomcecfegd d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(mcomcecfegd)" pk

let rec decode_pb_ekjkgipimmb d =
  let v = default_ekjkgipimmb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.dceibjclkbb <- Some (decode_pb_fpfmjggcnld (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ekjkgipimmb), field(12)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ekjkgipimmb), field(7)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.ofjdnoboneb <- Some (decode_pb_fnpekjdgohi (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ekjkgipimmb), field(10)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.odcloijfnip <- Some (decode_pb_jebbgppcabc (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ekjkgipimmb), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dceibjclkbb = v.dceibjclkbb;
    retcode = v.retcode;
    ofjdnoboneb = v.ofjdnoboneb;
    odcloijfnip = v.odcloijfnip;
  } : ekjkgipimmb)

let rec decode_pb_iokabfcbejn d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(iokabfcbejn)" pk

let rec decode_pb_kminbeklojh d =
  let v = default_kminbeklojh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ilinhdeianh <- List.rev v.ilinhdeianh;
      v.ddgcjndjeod <- List.rev v.ddgcjndjeod;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.ddgcjndjeod <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kminbeklojh), field(7)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kminbeklojh), field(3)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.ilinhdeianh <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kminbeklojh), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ddgcjndjeod = v.ddgcjndjeod;
    retcode = v.retcode;
    ilinhdeianh = v.ilinhdeianh;
  } : kminbeklojh)

let rec decode_pb_gklnflepfke d =
  let v = default_gklnflepfke_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.joipnmmehbm <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gklnflepfke), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    joipnmmehbm = v.joipnmmehbm;
  } : gklnflepfke)

let rec decode_pb_ffhalolphba d =
  let v = default_ffhalolphba_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.base_avatar_id_list <- List.rev v.base_avatar_id_list;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.base_avatar_id_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ffhalolphba), field(7)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.idcigdfjabi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ffhalolphba), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    base_avatar_id_list = v.base_avatar_id_list;
    idcigdfjabi = v.idcigdfjabi;
  } : ffhalolphba)

let rec decode_pb_lcglakkjjmb d =
  let v = default_lcglakkjjmb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.joipnmmehbm <- Some (decode_pb_item_cost_data (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lcglakkjjmb), field(12)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lcglakkjjmb), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    joipnmmehbm = v.joipnmmehbm;
    retcode = v.retcode;
  } : lcglakkjjmb)

let rec decode_pb_pcfhlaallip d =
  let v = default_pcfhlaallip_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.pdbobmjedbc <- Some (decode_pb_bninelnejfi (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pcfhlaallip), field(1)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.hiacklcdijn <- Some (decode_pb_fopiophbiph (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pcfhlaallip), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pdbobmjedbc = v.pdbobmjedbc;
    hiacklcdijn = v.hiacklcdijn;
  } : pcfhlaallip)

let rec decode_pb_khaicemhkel d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_roll_shop_type_none:khaicemhkel)
  | 6919 -> (Cmd_get_roll_shop_info_cs_req:khaicemhkel)
  | 6902 -> (Cmd_take_roll_shop_reward_sc_rsp:khaicemhkel)
  | 6920 -> (Cmd_do_gacha_in_roll_shop_sc_rsp:khaicemhkel)
  | 6912 -> (Cmd_do_gacha_in_roll_shop_cs_req:khaicemhkel)
  | 6904 -> (Cmd_take_roll_shop_reward_cs_req:khaicemhkel)
  | 6903 -> (Cmd_get_roll_shop_info_sc_rsp:khaicemhkel)
  | _ -> Pbrt.Decoder.malformed_variant "khaicemhkel"

let rec decode_pb_hnjnkcakobk d =
  let v = default_hnjnkcakobk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.lglonllbmkc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hnjnkcakobk), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lglonllbmkc = v.lglonllbmkc;
  } : hnjnkcakobk)

let rec decode_pb_ldlepnnkbfd d =
  let v = default_ldlepnnkbfd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ellcjbcjncl <- List.rev v.ellcjbcjncl;
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldlepnnkbfd), field(8)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.ohmaodidhnl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldlepnnkbfd), field(3)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.ellcjbcjncl <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldlepnnkbfd), field(11)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.lglonllbmkc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldlepnnkbfd), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ohmaodidhnl = v.ohmaodidhnl;
    ellcjbcjncl = v.ellcjbcjncl;
    lglonllbmkc = v.lglonllbmkc;
  } : ldlepnnkbfd)

let rec decode_pb_agblbeapjdj d =
  let v = default_agblbeapjdj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.ohmaodidhnl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agblbeapjdj), field(5)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.lglonllbmkc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agblbeapjdj), field(11)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.bpijdelaecg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agblbeapjdj), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ohmaodidhnl = v.ohmaodidhnl;
    lglonllbmkc = v.lglonllbmkc;
    bpijdelaecg = v.bpijdelaecg;
  } : agblbeapjdj)

let rec decode_pb_gajmbmmlhmo d =
  let v = default_gajmbmmlhmo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.jplhmpiafoe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gajmbmmlhmo), field(14)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gajmbmmlhmo), field(11)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gajmbmmlhmo), field(3)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.lglonllbmkc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gajmbmmlhmo), field(7)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.ialfoddhdkp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gajmbmmlhmo), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jplhmpiafoe = v.jplhmpiafoe;
    reward = v.reward;
    retcode = v.retcode;
    lglonllbmkc = v.lglonllbmkc;
    ialfoddhdkp = v.ialfoddhdkp;
  } : gajmbmmlhmo)

let rec decode_pb_gppcmgfgfhf d =
  let v = default_gppcmgfgfhf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.lglonllbmkc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gppcmgfgfhf), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lglonllbmkc = v.lglonllbmkc;
  } : gppcmgfgfhf)

let rec decode_pb_take_roll_shop_reward_sc_rsp d =
  let v = default_take_roll_shop_reward_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.roll_shop_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(take_roll_shop_reward_sc_rsp), field(6)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.group_type <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(take_roll_shop_reward_sc_rsp), field(2)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(take_roll_shop_reward_sc_rsp), field(13)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(take_roll_shop_reward_sc_rsp), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    roll_shop_id = v.roll_shop_id;
    group_type = v.group_type;
    retcode = v.retcode;
    reward = v.reward;
  } : take_roll_shop_reward_sc_rsp)

let rec decode_pb_ipadbebaclh d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_scene_type_none:ipadbebaclh)
  | 1411 -> (Cmd_interact_prop_cs_req:ipadbebaclh)
  | 1492 -> (Cmd_return_last_town_sc_rsp:ipadbebaclh)
  | 1500 -> (Cmd_set_spring_recover_config_cs_req:ipadbebaclh)
  | 1450 -> (Cmd_sync_server_scene_change_notify:ipadbebaclh)
  | 1454 -> (Cmd_scene_update_position_version_notify:ipadbebaclh)
  | 1420 -> (Cmd_group_state_change_sc_rsp:ipadbebaclh)
  | 1458 -> (Cmd_spring_recover_cs_req:ipadbebaclh)
  | 1477 -> (Cmd_get_entered_scene_sc_rsp:ipadbebaclh)
  | 1496 -> (Cmd_scene_plane_event_sc_notify:ipadbebaclh)
  | 1444 -> (Cmd_start_timed_cocoon_stage_cs_req:ipadbebaclh)
  | 1475 -> (Cmd_activate_farm_element_sc_rsp:ipadbebaclh)
  | 1426 -> (Cmd_set_group_custom_save_data_sc_rsp:ipadbebaclh)
  | 1473 -> (Cmd_scene_entity_teleport_sc_rsp:ipadbebaclh)
  | 1456 -> (Cmd_scene_cast_skill_cs_req:ipadbebaclh)
  | 1499 -> (Cmd_scene_entity_move_sc_notify:ipadbebaclh)
  | 1487 -> (Cmd_start_timed_farm_element_sc_rsp:ipadbebaclh)
  | 1427 -> (Cmd_get_entered_scene_cs_req:ipadbebaclh)
  | 1409 -> (Cmd_scene_revive_after_rebattle_cs_req:ipadbebaclh)
  | 1418 -> (Cmd_unlock_teleport_notify:ipadbebaclh)
  | 1448 -> (Cmd_scene_cast_skill_cost_mp_cs_req:ipadbebaclh)
  | 1465 -> (Cmd_sync_entity_buff_change_list_sc_notify:ipadbebaclh)
  | 1410 -> (Cmd_get_scene_map_info_sc_rsp:ipadbebaclh)
  | 1434 -> (Cmd_scene_cast_skill_mp_update_sc_notify:ipadbebaclh)
  | 1461 -> (Cmd_gameplay_counter_count_down_cs_req:ipadbebaclh)
  | 1436 -> (Cmd_get_scene_map_info_cs_req:ipadbebaclh)
  | 1415 -> (Cmd_activate_farm_element_cs_req:ipadbebaclh)
  | 1483 -> (Cmd_enter_scene_by_server_sc_notify:ipadbebaclh)
  | 1403 -> (Cmd_set_group_custom_save_data_cs_req:ipadbebaclh)
  | 1495 -> (Cmd_set_client_paused_sc_rsp:ipadbebaclh)
  | 1457 -> (Cmd_group_state_change_sc_notify:ipadbebaclh)
  | 1408 -> (Cmd_enter_section_cs_req:ipadbebaclh)
  | 1449 -> (Cmd_save_points_info_notify:ipadbebaclh)
  | 1404 -> (Cmd_delete_summon_unit_cs_req:ipadbebaclh)
  | 1469 -> (Cmd_deactivate_farm_element_cs_req:ipadbebaclh)
  | 1493 -> (Cmd_scene_cast_skill_sc_rsp:ipadbebaclh)
  | 1438 -> (Cmd_refresh_trigger_by_client_sc_rsp:ipadbebaclh)
  | 1422 -> (Cmd_re_enter_last_element_stage_cs_req:ipadbebaclh)
  | 1480 -> (Cmd_refresh_trigger_by_client_sc_notify:ipadbebaclh)
  | 1471 -> (Cmd_scene_entity_teleport_cs_req:ipadbebaclh)
  | 1402 -> (Cmd_scene_group_refresh_sc_notify:ipadbebaclh)
  | 1412 -> (Cmd_entity_bind_prop_sc_rsp:ipadbebaclh)
  | 1470 -> (Cmd_update_floor_saved_value_notify:ipadbebaclh)
  | 1484 -> (Cmd_set_cur_interact_entity_cs_req:ipadbebaclh)
  | 1439 -> (Cmd_get_cur_scene_info_cs_req:ipadbebaclh)
  | 1467 -> (Cmd_deactivate_farm_element_sc_rsp:ipadbebaclh)
  | 1445 -> (Cmd_start_cocoon_stage_cs_req:ipadbebaclh)
  | 1459 -> (Cmd_heal_pool_info_notify:ipadbebaclh)
  | 1441 -> (Cmd_spring_recover_single_avatar_sc_rsp:ipadbebaclh)
  | 1452 -> (Cmd_gameplay_counter_update_sc_notify:ipadbebaclh)
  | 1423 -> (Cmd_set_cur_interact_entity_sc_rsp:ipadbebaclh)
  | 1476 -> (Cmd_recover_all_lineup_sc_rsp:ipadbebaclh)
  | 1431 -> (Cmd_update_mechanism_bar_sc_notify:ipadbebaclh)
  | 1417 -> (Cmd_return_last_town_cs_req:ipadbebaclh)
  | 1482 -> (Cmd_scene_cast_skill_cost_mp_sc_rsp:ipadbebaclh)
  | 1455 -> (Cmd_entered_scene_change_sc_notify:ipadbebaclh)
  | 1481 -> (Cmd_enter_section_sc_rsp:ipadbebaclh)
  | 1472 -> (Cmd_get_unlock_teleport_cs_req:ipadbebaclh)
  | 1430 -> (Cmd_set_client_paused_cs_req:ipadbebaclh)
  | 1447 -> (Cmd_spring_recover_sc_rsp:ipadbebaclh)
  | 1453 -> (Cmd_set_spring_recover_config_sc_rsp:ipadbebaclh)
  | 1466 -> (Cmd_start_cocoon_stage_sc_rsp:ipadbebaclh)
  | 1485 -> (Cmd_get_spring_recover_data_sc_rsp:ipadbebaclh)
  | 1406 -> (Cmd_scene_entity_move_sc_rsp:ipadbebaclh)
  | 1479 -> (Cmd_gameplay_counter_count_down_sc_rsp:ipadbebaclh)
  | 1491 -> (Cmd_group_state_change_cs_req:ipadbebaclh)
  | 1421 -> (Cmd_re_enter_last_element_stage_sc_rsp:ipadbebaclh)
  | 1468 -> (Cmd_scene_entity_move_cs_req:ipadbebaclh)
  | 1401 -> (Cmd_gameplay_counter_recover_sc_rsp:ipadbebaclh)
  | 1419 -> (Cmd_start_timed_farm_element_cs_req:ipadbebaclh)
  | 1474 -> (Cmd_start_timed_cocoon_stage_sc_rsp:ipadbebaclh)
  | 1442 -> (Cmd_enter_scene_sc_rsp:ipadbebaclh)
  | 1424 -> (Cmd_last_spring_refresh_time_notify:ipadbebaclh)
  | 1429 -> (Cmd_get_cur_scene_info_sc_rsp:ipadbebaclh)
  | 1428 -> (Cmd_scene_enter_stage_sc_rsp:ipadbebaclh)
  | 1488 -> (Cmd_scene_revive_after_rebattle_sc_rsp:ipadbebaclh)
  | 1486 -> (Cmd_enter_scene_cs_req:ipadbebaclh)
  | 1443 -> (Cmd_interact_prop_sc_rsp:ipadbebaclh)
  | 1446 -> (Cmd_entity_bind_prop_cs_req:ipadbebaclh)
  | 1407 -> (Cmd_spring_recover_single_avatar_cs_req:ipadbebaclh)
  | 1463 -> (Cmd_refresh_trigger_by_client_cs_req:ipadbebaclh)
  | 1425 -> (Cmd_spring_refresh_sc_rsp:ipadbebaclh)
  | 1498 -> (Cmd_spring_refresh_cs_req:ipadbebaclh)
  | 1462 -> (Cmd_gameplay_counter_recover_cs_req:ipadbebaclh)
  | 1437 -> (Cmd_delete_summon_unit_sc_rsp:ipadbebaclh)
  | 1490 -> (Cmd_scene_enter_stage_cs_req:ipadbebaclh)
  | 1405 -> (Cmd_get_unlock_teleport_sc_rsp:ipadbebaclh)
  | 1494 -> (Cmd_unlocked_area_map_sc_notify:ipadbebaclh)
  | 1478 -> (Cmd_recover_all_lineup_cs_req:ipadbebaclh)
  | 1440 -> (Cmd_get_spring_recover_data_cs_req:ipadbebaclh)
  | _ -> Pbrt.Decoder.malformed_variant "ipadbebaclh"

let rec decode_pb_ifbkebonbne d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Scene_cast_skill_none:ifbkebonbne)
  | 1 -> (Scene_cast_skill_projectile_hit:ifbkebonbne)
  | 2 -> (Scene_cast_skill_projectile_lifetime_finish:ifbkebonbne)
  | _ -> Pbrt.Decoder.malformed_variant "ifbkebonbne"

let rec decode_pb_gmpidmbmegf d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Monster_battle_type_none:gmpidmbmegf)
  | 1 -> (Monster_battle_type_trigger_battle:gmpidmbmegf)
  | 2 -> (Monster_battle_type_direct_die_simulate_battle:gmpidmbmegf)
  | 3 -> (Monster_battle_type_direct_die_skip_battle:gmpidmbmegf)
  | 4 -> (Monster_battle_type_no_battle:gmpidmbmegf)
  | _ -> Pbrt.Decoder.malformed_variant "gmpidmbmegf"

let rec decode_pb_ppleglfgepi d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Scene_entity_buff_change_type_default:ppleglfgepi)
  | 1 -> (Scene_entity_buff_change_type_add_mazebuff:ppleglfgepi)
  | 2 -> (Scene_entity_buff_change_type_add_adv_modifier:ppleglfgepi)
  | _ -> Pbrt.Decoder.malformed_variant "ppleglfgepi"

let rec decode_pb_bddhbpgibjn d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Enter_scene_reason_none:bddhbpgibjn)
  | 1 -> (Enter_scene_reason_challenge_timeout:bddhbpgibjn)
  | 2 -> (Enter_scene_reason_rogue_timeout:bddhbpgibjn)
  | 3 -> (Enter_scene_reason_change_storyline:bddhbpgibjn)
  | 4 -> (Enter_scene_reason_dimension_merge:bddhbpgibjn)
  | _ -> Pbrt.Decoder.malformed_variant "bddhbpgibjn"

let rec decode_pb_poigoofgiac d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Map_info_chest_type_none:poigoofgiac)
  | 101 -> (Map_info_chest_type_normal:poigoofgiac)
  | 102 -> (Map_info_chest_type_challenge:poigoofgiac)
  | 104 -> (Map_info_chest_type_puzzle:poigoofgiac)
  | _ -> Pbrt.Decoder.malformed_variant "poigoofgiac"

let rec decode_pb_gonnolnjgnf d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Gameplay_counter_update_reason_none:gonnolnjgnf)
  | 1 -> (Gameplay_counter_update_reason_activate:gonnolnjgnf)
  | 2 -> (Gameplay_counter_update_reason_deactivate:gonnolnjgnf)
  | 3 -> (Gameplay_counter_update_reason_change:gonnolnjgnf)
  | _ -> Pbrt.Decoder.malformed_variant "gonnolnjgnf"

let rec decode_pb_agjnodchiak d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Scene_group_refresh_type_none:agjnodchiak)
  | 1 -> (Scene_group_refresh_type_loaded:agjnodchiak)
  | 2 -> (Scene_group_refresh_type_unload:agjnodchiak)
  | _ -> Pbrt.Decoder.malformed_variant "agjnodchiak"

let rec decode_pb_popgipmfhje d =
  let v = default_popgipmfhje_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.ionhnkbbldj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(popgipmfhje), field(9)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.value <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(popgipmfhje), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ionhnkbbldj = v.ionhnkbbldj;
    value = v.value;
  } : popgipmfhje)

let rec decode_pb_pmemfoppjaf d =
  let v = default_pmemfoppjaf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.map_layer <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pmemfoppjaf), field(11)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.jililehmdkg <- Some (decode_pb_motion_info (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pmemfoppjaf), field(1)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.phkkegggmdi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pmemfoppjaf), field(15)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.ccclmigdjkc <- Pbrt.Decoder.bool d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pmemfoppjaf), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    map_layer = v.map_layer;
    jililehmdkg = v.jililehmdkg;
    phkkegggmdi = v.phkkegggmdi;
    ccclmigdjkc = v.ccclmigdjkc;
  } : pmemfoppjaf)

let rec decode_pb_mmddmljkjgi d =
  let v = default_mmddmljkjgi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.eicocoilool <- List.rev v.eicocoilool;
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.ihnakchicdm <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmddmljkjgi), field(10)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.eicocoilool <- (decode_pb_pmemfoppjaf (Pbrt.Decoder.nested d)) :: v.eicocoilool;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmddmljkjgi), field(15)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.entry_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmddmljkjgi), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ihnakchicdm = v.ihnakchicdm;
    eicocoilool = v.eicocoilool;
    entry_id = v.entry_id;
  } : mmddmljkjgi)

let rec decode_pb_mkkfbnenhff d =
  let v = default_mkkfbnenhff_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.eicocoilool <- List.rev v.eicocoilool;
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mkkfbnenhff), field(9)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.eicocoilool <- (decode_pb_pmemfoppjaf (Pbrt.Decoder.nested d)) :: v.eicocoilool;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mkkfbnenhff), field(13)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.download_data <- Some (decode_pb_client_download_data (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mkkfbnenhff), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    eicocoilool = v.eicocoilool;
    download_data = v.download_data;
  } : mkkfbnenhff)

let rec decode_pb_gnmoicglmnh d =
  let v = default_gnmoicglmnh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.phkkegggmdi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gnmoicglmnh), field(10)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.jililehmdkg <- Some (decode_pb_motion_info (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gnmoicglmnh), field(15)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.entry_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gnmoicglmnh), field(7)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.micgnniimak <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gnmoicglmnh), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    phkkegggmdi = v.phkkegggmdi;
    jililehmdkg = v.jililehmdkg;
    entry_id = v.entry_id;
    micgnniimak = v.micgnniimak;
  } : gnmoicglmnh)

let rec decode_pb_kclfefmgigh d =
  let v = default_kclfefmgigh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.ggodlmaaigd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kclfefmgigh), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ggodlmaaigd = v.ggodlmaaigd;
  } : kclfefmgigh)

let rec decode_pb_lfmoildjodb d =
  let v = default_lfmoildjodb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.prop_entity_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lfmoildjodb), field(11)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.hgneiojdpoa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lfmoildjodb), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    prop_entity_id = v.prop_entity_id;
    hgneiojdpoa = v.hgneiojdpoa;
  } : lfmoildjodb)

let rec decode_pb_bgbelanblab d =
  let v = default_bgbelanblab_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.prop_entity_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bgbelanblab), field(6)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bgbelanblab), field(10)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.prop_state <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bgbelanblab), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    prop_entity_id = v.prop_entity_id;
    retcode = v.retcode;
    prop_state = v.prop_state;
  } : bgbelanblab)

let rec decode_pb_kncjhglklbi d =
  let v = default_kncjhglklbi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.bifppcoboce <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kncjhglklbi), field(11)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.cgoahpoehno <- decode_pb_gmpidmbmegf d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kncjhglklbi), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bifppcoboce = v.bifppcoboce;
    cgoahpoehno = v.cgoahpoehno;
  } : kncjhglklbi)

let rec decode_pb_jdffbhnheaf d =
  let v = default_jdffbhnheaf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bits32) -> begin
      v.value <- Pbrt.Decoder.float_as_bits32 d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jdffbhnheaf), field(3)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.pfmlckgckob <- Pbrt.Decoder.string d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jdffbhnheaf), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    value = v.value;
    pfmlckgckob = v.pfmlckgckob;
  } : jdffbhnheaf)

let rec decode_pb_bkpjapjejhp d =
  let v = default_bkpjapjejhp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.kapkegapokf <- List.rev v.kapkegapokf;
      v.dynamic_values <- List.rev v.dynamic_values;
      v.ohainjgiflk <- List.rev v.ohainjgiflk;
      v.gcnngeanccp <- List.rev v.gcnngeanccp;
      v.jnpbpmkhoam <- List.rev v.jnpbpmkhoam;
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.ggogccbgofo <- Pbrt.Decoder.string d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bkpjapjejhp), field(11)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.jnpbpmkhoam <- (decode_pb_ifbkebonbne d) :: v.jnpbpmkhoam;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bkpjapjejhp), field(6)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.egofdbhnple <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bkpjapjejhp), field(14)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.gcnngeanccp <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bkpjapjejhp), field(7)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.ohainjgiflk <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bkpjapjejhp), field(10)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.dynamic_values <- (decode_pb_jdffbhnheaf (Pbrt.Decoder.nested d)) :: v.dynamic_values;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bkpjapjejhp), field(3)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.ihapfjkmcee <- Some (decode_pb_motion_info (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bkpjapjejhp), field(5)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.gbhffcbgjoc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bkpjapjejhp), field(15)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.mkfjacifjmc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bkpjapjejhp), field(9)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.skill_index <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bkpjapjejhp), field(4)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.kapkegapokf <- (decode_pb_fnmhaajaaek (Pbrt.Decoder.nested d)) :: v.kapkegapokf;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bkpjapjejhp), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ggogccbgofo = v.ggogccbgofo;
    jnpbpmkhoam = v.jnpbpmkhoam;
    egofdbhnple = v.egofdbhnple;
    gcnngeanccp = v.gcnngeanccp;
    ohainjgiflk = v.ohainjgiflk;
    dynamic_values = v.dynamic_values;
    ihapfjkmcee = v.ihapfjkmcee;
    gbhffcbgjoc = v.gbhffcbgjoc;
    mkfjacifjmc = v.mkfjacifjmc;
    skill_index = v.skill_index;
    kapkegapokf = v.kapkegapokf;
  } : bkpjapjejhp)

let rec decode_pb_iliogcgpcbf d =
  let v = default_iliogcgpcbf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bjlbgfejgfa <- List.rev v.bjlbgfejgfa;
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.bjlbgfejgfa <- (decode_pb_kncjhglklbi (Pbrt.Decoder.nested d)) :: v.bjlbgfejgfa;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iliogcgpcbf), field(4)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.gbhffcbgjoc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iliogcgpcbf), field(10)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iliogcgpcbf), field(14)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iliogcgpcbf), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bjlbgfejgfa = v.bjlbgfejgfa;
    gbhffcbgjoc = v.gbhffcbgjoc;
    retcode = v.retcode;
    ibllilenejp = v.ibllilenejp;
  } : iliogcgpcbf)

let rec decode_pb_njbacjfllbk d =
  let v = default_njbacjfllbk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.egofdbhnple <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njbacjfllbk), field(11)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.gbhffcbgjoc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njbacjfllbk), field(5)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.skill_index <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njbacjfllbk), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    egofdbhnple = v.egofdbhnple;
    gbhffcbgjoc = v.gbhffcbgjoc;
    skill_index = v.skill_index;
  } : njbacjfllbk)

let rec decode_pb_mlpgejdgmcl d =
  let v = default_mlpgejdgmcl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mlpgejdgmcl), field(7)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.gbhffcbgjoc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mlpgejdgmcl), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    gbhffcbgjoc = v.gbhffcbgjoc;
  } : mlpgejdgmcl)

let rec decode_pb_hhpdiameemj d =
  let v = default_hhpdiameemj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.gbhffcbgjoc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhpdiameemj), field(10)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.hcoemhcfomn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhpdiameemj), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gbhffcbgjoc = v.gbhffcbgjoc;
    hcoemhcfomn = v.hcoemhcfomn;
  } : hhpdiameemj)

let rec decode_pb_dmdppmebold d =
  let v = default_dmdppmebold_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.anhhbjmpmnl <- Pbrt.Decoder.bool d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dmdppmebold), field(3)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.ohibnloihci <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dmdppmebold), field(14)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.nnpfabenejo <- decode_pb_camlhbegnmo d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dmdppmebold), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    anhhbjmpmnl = v.anhhbjmpmnl;
    ohibnloihci = v.ohibnloihci;
    nnpfabenejo = v.nnpfabenejo;
  } : dmdppmebold)

let rec decode_pb_aiglghmpbfo d =
  let v = default_aiglghmpbfo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aiglghmpbfo), field(12)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aiglghmpbfo), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ibllilenejp = v.ibllilenejp;
    retcode = v.retcode;
  } : aiglghmpbfo)

let rec decode_pb_bblpbdkekmk d =
  let v = default_bblpbdkekmk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.nnpfabenejo <- decode_pb_camlhbegnmo d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bblpbdkekmk), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nnpfabenejo = v.nnpfabenejo;
  } : bblpbdkekmk)

let rec decode_pb_dmhfnlkmmnf d =
  let v = default_dmhfnlkmmnf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dmhfnlkmmnf), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : dmhfnlkmmnf)

let rec decode_pb_get_cur_scene_info_cs_req d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(get_cur_scene_info_cs_req)" pk

let rec decode_pb_get_cur_scene_info_sc_rsp d =
  let v = default_get_cur_scene_info_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_cur_scene_info_sc_rsp), field(15)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.scene <- Some (decode_pb_scene_info (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_cur_scene_info_sc_rsp), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    scene = v.scene;
  } : get_cur_scene_info_sc_rsp)

let rec decode_pb_bgkdcahdijj d =
  let v = default_bgkdcahdijj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.mgdnainpahe <- decode_pb_ppleglfgepi d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bgkdcahdijj), field(11)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.kacgpkifjie <- Some (decode_pb_ifdkgfigkgn (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bgkdcahdijj), field(8)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.mklbafcpmpg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bgkdcahdijj), field(9)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.phkkegggmdi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bgkdcahdijj), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mgdnainpahe = v.mgdnainpahe;
    kacgpkifjie = v.kacgpkifjie;
    mklbafcpmpg = v.mklbafcpmpg;
    phkkegggmdi = v.phkkegggmdi;
  } : bgkdcahdijj)

let rec decode_pb_lhbjcbdmgij d =
  let v = default_lhbjcbdmgij_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jmkhgpcnlmh <- List.rev v.jmkhgpcnlmh;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.jmkhgpcnlmh <- (decode_pb_bgkdcahdijj (Pbrt.Decoder.nested d)) :: v.jmkhgpcnlmh;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhbjcbdmgij), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jmkhgpcnlmh = v.jmkhgpcnlmh;
  } : lhbjcbdmgij)

let rec decode_pb_mmkbjdonkbe d =
  let v = default_mmkbjdonkbe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.prop_entity_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmkbjdonkbe), field(6)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.floor_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmkbjdonkbe), field(14)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.plane_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmkbjdonkbe), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    prop_entity_id = v.prop_entity_id;
    floor_id = v.floor_id;
    plane_id = v.plane_id;
  } : mmkbjdonkbe)

let rec decode_pb_cblpcneeikp d =
  let v = default_cblpcneeikp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cblpcneeikp), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : cblpcneeikp)

let rec decode_pb_eabcbfbinbf d =
  let v = default_eabcbfbinbf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.dabiabbbnhd <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eabcbfbinbf), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dabiabbbnhd = v.dabiabbbnhd;
  } : eabcbfbinbf)

let rec decode_pb_gaplpnfndmi d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(gaplpnfndmi)" pk

let rec decode_pb_ncnclpbndjl d =
  let v = default_ncnclpbndjl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.scene <- Some (decode_pb_scene_info (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ncnclpbndjl), field(6)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ncnclpbndjl), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    scene = v.scene;
    retcode = v.retcode;
  } : ncnclpbndjl)

let rec decode_pb_abdkilpbdii d =
  let v = default_abdkilpbdii_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.hgkmoddpamj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(abdkilpbdii), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgkmoddpamj = v.hgkmoddpamj;
  } : abdkilpbdii)

let rec decode_pb_njkicjcjjof d =
  let v = default_njkicjcjjof_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njkicjcjjof), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : njkicjcjjof)

let rec decode_pb_jcfdeoiocka d =
  let v = default_jcfdeoiocka_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.phkkegggmdi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcfdeoiocka), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    phkkegggmdi = v.phkkegggmdi;
  } : jcfdeoiocka)

let rec decode_pb_jcaihcenlad d =
  let v = default_jcaihcenlad_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcaihcenlad), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : jcaihcenlad)

let rec decode_pb_iealhphddim d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(iealhphddim)" pk

let rec decode_pb_bfnlhhlpmka d =
  let v = default_bfnlhhlpmka_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bfnlhhlpmka), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : bfnlhhlpmka)

let rec decode_pb_save_points_info_notify d =
  let v = default_save_points_info_notify_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.refresh_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(save_points_info_notify), field(12)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.valid_times <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(save_points_info_notify), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    refresh_time = v.refresh_time;
    valid_times = v.valid_times;
  } : save_points_info_notify)

let rec decode_pb_start_cocoon_stage_cs_req d =
  let v = default_start_cocoon_stage_cs_req_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.wave <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(start_cocoon_stage_cs_req), field(3)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.world_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(start_cocoon_stage_cs_req), field(5)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.prop_entity_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(start_cocoon_stage_cs_req), field(2)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.cocoon_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(start_cocoon_stage_cs_req), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    wave = v.wave;
    world_level = v.world_level;
    prop_entity_id = v.prop_entity_id;
    cocoon_id = v.cocoon_id;
  } : start_cocoon_stage_cs_req)

let rec decode_pb_start_cocoon_stage_sc_rsp d =
  let v = default_start_cocoon_stage_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.cocoon_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(start_cocoon_stage_sc_rsp), field(11)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.prop_entity_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(start_cocoon_stage_sc_rsp), field(15)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.wave <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(start_cocoon_stage_sc_rsp), field(12)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(start_cocoon_stage_sc_rsp), field(6)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.battle_info <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(start_cocoon_stage_sc_rsp), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cocoon_id = v.cocoon_id;
    prop_entity_id = v.prop_entity_id;
    wave = v.wave;
    retcode = v.retcode;
    battle_info = v.battle_info;
  } : start_cocoon_stage_sc_rsp)

let rec decode_pb_hjdhemepacp d =
  let v = default_hjdhemepacp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.jililehmdkg <- Some (decode_pb_motion_info (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjdhemepacp), field(15)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.jkoelhljkhd <- Pbrt.Decoder.bool d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjdhemepacp), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jililehmdkg = v.jililehmdkg;
    jkoelhljkhd = v.jkoelhljkhd;
  } : hjdhemepacp)

let rec decode_pb_jcijkhcpjji d =
  let v = default_jcijkhcpjji_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcijkhcpjji), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : jcijkhcpjji)

let rec decode_pb_claiggdhaao d =
  let v = default_claiggdhaao_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.mkhhhhahgii <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(claiggdhaao), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mkhhhhahgii = v.mkhhhhahgii;
  } : claiggdhaao)

let rec decode_pb_icaeiakdfcm d =
  let v = default_icaeiakdfcm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.mkhhhhahgii <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(icaeiakdfcm), field(10)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(icaeiakdfcm), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mkhhhhahgii = v.mkhhhhahgii;
    retcode = v.retcode;
  } : icaeiakdfcm)

let rec decode_pb_ecfnfimfjgh d =
  let v = default_ecfnfimfjgh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.phkkegggmdi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ecfnfimfjgh), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    phkkegggmdi = v.phkkegggmdi;
  } : ecfnfimfjgh)

let rec decode_pb_oeiibhdgkcm d =
  let v = default_oeiibhdgkcm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.phkkegggmdi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oeiibhdgkcm), field(4)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oeiibhdgkcm), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    phkkegggmdi = v.phkkegggmdi;
    retcode = v.retcode;
  } : oeiibhdgkcm)

let rec decode_pb_edhfokfjifm d =
  let v = default_edhfokfjifm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.phkkegggmdi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(edhfokfjifm), field(13)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.world_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(edhfokfjifm), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    phkkegggmdi = v.phkkegggmdi;
    world_level = v.world_level;
  } : edhfokfjifm)

let rec decode_pb_kbbjoklpdgf d =
  let v = default_kbbjoklpdgf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.phkkegggmdi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbbjoklpdgf), field(2)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbbjoklpdgf), field(11)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.world_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbbjoklpdgf), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    phkkegggmdi = v.phkkegggmdi;
    retcode = v.retcode;
    world_level = v.world_level;
  } : kbbjoklpdgf)

let rec decode_pb_dglpnoikfee d =
  let v = default_dglpnoikfee_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.nlfonahakgb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dglpnoikfee), field(2)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dglpnoikfee), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nlfonahakgb = v.nlfonahakgb;
    avatar_id = v.avatar_id;
  } : dglpnoikfee)

let rec decode_pb_cmkmldlnmhm d =
  let v = default_cmkmldlnmhm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bafopockgkh <- List.rev v.bafopockgkh;
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.jebneocbboe <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cmkmldlnmhm), field(1)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.jbaepeglfid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cmkmldlnmhm), field(11)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.bafopockgkh <- (decode_pb_dglpnoikfee (Pbrt.Decoder.nested d)) :: v.bafopockgkh;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cmkmldlnmhm), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jebneocbboe = v.jebneocbboe;
    jbaepeglfid = v.jbaepeglfid;
    bafopockgkh = v.bafopockgkh;
  } : cmkmldlnmhm)

let rec decode_pb_ajkldpekjda d =
  let v = default_ajkldpekjda_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.cbclgknhnib <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ajkldpekjda), field(10)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.nolemebkcmd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ajkldpekjda), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cbclgknhnib = v.cbclgknhnib;
    nolemebkcmd = v.nolemebkcmd;
  } : ajkldpekjda)

let rec decode_pb_enogbmnbgoi d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(enogbmnbgoi)" pk

let rec decode_pb_dfjoaaggjeh d =
  let v = default_dfjoaaggjeh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dfjoaaggjeh), field(7)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.klcicncmefe <- Some (decode_pb_cmkmldlnmhm (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dfjoaaggjeh), field(12)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.dhpbnongbac <- Some (decode_pb_ajkldpekjda (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dfjoaaggjeh), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    klcicncmefe = v.klcicncmefe;
    dhpbnongbac = v.dhpbnongbac;
  } : dfjoaaggjeh)

let rec decode_pb_noilflmcfid d =
  let v = default_noilflmcfid_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.klcicncmefe <- Some (decode_pb_cmkmldlnmhm (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(noilflmcfid), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    klcicncmefe = v.klcicncmefe;
  } : noilflmcfid)

let rec decode_pb_opfpniadbbh d =
  let v = default_opfpniadbbh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.klcicncmefe <- Some (decode_pb_cmkmldlnmhm (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(opfpniadbbh), field(3)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(opfpniadbbh), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    klcicncmefe = v.klcicncmefe;
    retcode = v.retcode;
  } : opfpniadbbh)

let rec decode_pb_fbhlohkcbli d =
  let v = default_fbhlohkcbli_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.prop_entity_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fbhlohkcbli), field(10)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.floor_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fbhlohkcbli), field(6)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.plane_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fbhlohkcbli), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    prop_entity_id = v.prop_entity_id;
    floor_id = v.floor_id;
    plane_id = v.plane_id;
  } : fbhlohkcbli)

let rec decode_pb_spring_recover_sc_rsp d =
  let v = default_spring_recover_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(spring_recover_sc_rsp), field(6)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.heal_pool_info <- Some (decode_pb_ajkldpekjda (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(spring_recover_sc_rsp), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    heal_pool_info = v.heal_pool_info;
  } : spring_recover_sc_rsp)

let rec decode_pb_nefmieonfmh d =
  let v = default_nefmieonfmh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.dhpbnongbac <- Some (decode_pb_ajkldpekjda (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nefmieonfmh), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dhpbnongbac = v.dhpbnongbac;
  } : nefmieonfmh)

let rec decode_pb_agpcckalmid d =
  let v = default_agpcckalmid_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.prop_entity_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agpcckalmid), field(4)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.floor_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agpcckalmid), field(14)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.plane_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agpcckalmid), field(12)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agpcckalmid), field(8)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agpcckalmid), field(7)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.bopcmcgkedd <- Pbrt.Decoder.bool d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agpcckalmid), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    prop_entity_id = v.prop_entity_id;
    floor_id = v.floor_id;
    plane_id = v.plane_id;
    avatar_type = v.avatar_type;
    id = v.id;
    bopcmcgkedd = v.bopcmcgkedd;
  } : agpcckalmid)

let rec decode_pb_spring_recover_single_avatar_sc_rsp d =
  let v = default_spring_recover_single_avatar_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(spring_recover_single_avatar_sc_rsp), field(12)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.hp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(spring_recover_single_avatar_sc_rsp), field(2)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(spring_recover_single_avatar_sc_rsp), field(9)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(spring_recover_single_avatar_sc_rsp), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_type = v.avatar_type;
    hp = v.hp;
    retcode = v.retcode;
    id = v.id;
  } : spring_recover_single_avatar_sc_rsp)

let rec decode_pb_fmeoiomalgi d =
  let v = default_fmeoiomalgi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.plane_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmeoiomalgi), field(12)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.fccnkckpbjn <- Some (decode_pb_popgipmfhje (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmeoiomalgi), field(5)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.floor_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmeoiomalgi), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    plane_id = v.plane_id;
    fccnkckpbjn = v.fccnkckpbjn;
    floor_id = v.floor_id;
  } : fmeoiomalgi)

let rec decode_pb_pejpeakhfhj d =
  let v = default_pejpeakhfhj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.entry_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pejpeakhfhj), field(6)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.jbdgkicnbfa <- Pbrt.Decoder.string d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pejpeakhfhj), field(1)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pejpeakhfhj), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    entry_id = v.entry_id;
    jbdgkicnbfa = v.jbdgkicnbfa;
    group_id = v.group_id;
  } : pejpeakhfhj)

let rec decode_pb_onadjaenglm d =
  let v = default_onadjaenglm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.entry_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(onadjaenglm), field(12)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(onadjaenglm), field(7)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(onadjaenglm), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    entry_id = v.entry_id;
    group_id = v.group_id;
    retcode = v.retcode;
  } : onadjaenglm)

let rec decode_pb_mbkpbgbfinl d =
  let v = default_mbkpbgbfinl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mbkpbgbfinl), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    stage_id = v.stage_id;
  } : mbkpbgbfinl)

let rec decode_pb_goeginnoefe d =
  let v = default_goeginnoefe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(goeginnoefe), field(13)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(goeginnoefe), field(6)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(goeginnoefe), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ibllilenejp = v.ibllilenejp;
    stage_id = v.stage_id;
    retcode = v.retcode;
  } : goeginnoefe)

let rec decode_pb_okgogolibcg d =
  let v = default_okgogolibcg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.mdnkifallep <- Some (decode_pb_pmemfoppjaf (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(okgogolibcg), field(11)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.entry_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(okgogolibcg), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mdnkifallep = v.mdnkifallep;
    entry_id = v.entry_id;
  } : okgogolibcg)

let rec decode_pb_haikklmpfhp d =
  let v = default_haikklmpfhp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(haikklmpfhp), field(14)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.micgnniimak <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(haikklmpfhp), field(7)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.mdnkifallep <- Some (decode_pb_pmemfoppjaf (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(haikklmpfhp), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    micgnniimak = v.micgnniimak;
    mdnkifallep = v.mdnkifallep;
  } : haikklmpfhp)

let rec decode_pb_kfkniojkagj d =
  let v = default_kfkniojkagj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.nfcojigifbb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kfkniojkagj), field(15)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.ijnpccndcgi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kfkniojkagj), field(7)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.entry_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kfkniojkagj), field(3)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.klgdfdlhelh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kfkniojkagj), field(9)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.eclblfpbjlf <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kfkniojkagj), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nfcojigifbb = v.nfcojigifbb;
    ijnpccndcgi = v.ijnpccndcgi;
    entry_id = v.entry_id;
    klgdfdlhelh = v.klgdfdlhelh;
    eclblfpbjlf = v.eclblfpbjlf;
  } : kfkniojkagj)

let rec decode_pb_pggcmoobcpd d =
  let v = default_pggcmoobcpd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.dngkkklpnjc <- Pbrt.Decoder.bool d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pggcmoobcpd), field(4)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pggcmoobcpd), field(3)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.eclblfpbjlf <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pggcmoobcpd), field(11)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.nfcojigifbb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pggcmoobcpd), field(13)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.ijnpccndcgi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pggcmoobcpd), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dngkkklpnjc = v.dngkkklpnjc;
    retcode = v.retcode;
    eclblfpbjlf = v.eclblfpbjlf;
    nfcojigifbb = v.nfcojigifbb;
    ijnpccndcgi = v.ijnpccndcgi;
  } : pggcmoobcpd)

let rec decode_pb_bfknfaajlik d =
  let v = default_bfknfaajlik_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.lineup <- Some (decode_pb_lineup_info (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bfknfaajlik), field(14)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.mgdnainpahe <- decode_pb_bddhbpgibjn d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bfknfaajlik), field(11)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.scene <- Some (decode_pb_scene_info (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bfknfaajlik), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lineup = v.lineup;
    mgdnainpahe = v.mgdnainpahe;
    scene = v.scene;
  } : bfknfaajlik)

let rec decode_pb_hdacikpcknf d =
  let v = default_hdacikpcknf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.mknfcmflagf <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hdacikpcknf), field(10)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.donbbmfeogl <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hdacikpcknf), field(9)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.gffofnglfgm <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hdacikpcknf), field(6)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.kkbnigjgnlg <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hdacikpcknf), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mknfcmflagf = v.mknfcmflagf;
    donbbmfeogl = v.donbbmfeogl;
    gffofnglfgm = v.gffofnglfgm;
    kkbnigjgnlg = v.kkbnigjgnlg;
  } : hdacikpcknf)

let rec decode_pb_dngikkglnie d =
  let v = default_dngikkglnie_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ojcmolaapaf <- List.rev v.ojcmolaapaf;
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.nfcojigifbb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dngikkglnie), field(14)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.cjkoijlahho <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dngikkglnie), field(12)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.edpaljjjgki <- Pbrt.Decoder.bool d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dngikkglnie), field(6)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.ojcmolaapaf <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dngikkglnie), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nfcojigifbb = v.nfcojigifbb;
    cjkoijlahho = v.cjkoijlahho;
    edpaljjjgki = v.edpaljjjgki;
    ojcmolaapaf = v.ojcmolaapaf;
  } : dngikkglnie)

let rec decode_pb_egafcnjjgni d =
  let v = default_egafcnjjgni_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.pfbnanpcdjh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egafcnjjgni), field(4)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.state <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egafcnjjgni), field(3)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egafcnjjgni), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pfbnanpcdjh = v.pfbnanpcdjh;
    state = v.state;
    group_id = v.group_id;
  } : egafcnjjgni)

let rec decode_pb_kddobjmfahm d =
  let v = default_kddobjmfahm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.didcplpbndg <- List.rev v.didcplpbndg;
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.hllognagalg <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kddobjmfahm), field(2)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kddobjmfahm), field(13)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.llgcclalmmi <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kddobjmfahm), field(9)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.didcplpbndg <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kddobjmfahm), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hllognagalg = v.hllognagalg;
    group_id = v.group_id;
    llgcclalmmi = v.llgcclalmmi;
    didcplpbndg = v.didcplpbndg;
  } : kddobjmfahm)

let rec decode_pb_nhofdkfidee d =
  let v = default_nhofdkfidee_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.dpdgioeelfc <- decode_pb_poigoofgiac d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhofdkfidee), field(4)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.jlbogmgmpmj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhofdkfidee), field(9)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.hmjcmhjjlaf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhofdkfidee), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dpdgioeelfc = v.dpdgioeelfc;
    jlbogmgmpmj = v.jlbogmgmpmj;
    hmjcmhjjlaf = v.hmjcmhjjlaf;
  } : nhofdkfidee)

let rec decode_pb_mdpnliodapd d =
  let v = default_mdpnliodapd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.aalknkbcjkm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mdpnliodapd), field(7)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.ocfjgocmiem <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mdpnliodapd), field(13)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.fgmdoekgpee <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mdpnliodapd), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    aalknkbcjkm = v.aalknkbcjkm;
    ocfjgocmiem = v.ocfjgocmiem;
    fgmdoekgpee = v.fgmdoekgpee;
  } : mdpnliodapd)

let rec decode_pb_kbpkfjbeilj d =
  let v = default_kbpkfjbeilj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hcllineafkm <- List.rev v.hcllineafkm;
      v.bnmdbicanbn <- List.rev v.bnmdbicanbn;
      v.mogndfkhapd <- List.rev v.mogndfkhapd;
      v.ligbjpkffdg <- List.rev v.ligbjpkffdg;
      v.eaeoionfehm <- List.rev v.eaeoionfehm;
      v.fmblfbddmgi <- List.rev v.fmblfbddmgi;
      v.cbphphopofk <- List.rev v.cbphphopofk;
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.int32_as_varint d
      ) in
      v.cbphphopofk <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.string ~decode_value)::v.cbphphopofk;
      );
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbpkfjbeilj), field(8)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.fmblfbddmgi <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbpkfjbeilj), field(11)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.eaeoionfehm <- (decode_pb_kddobjmfahm (Pbrt.Decoder.nested d)) :: v.eaeoionfehm;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbpkfjbeilj), field(1)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.entry_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbpkfjbeilj), field(9)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.ligbjpkffdg <- (decode_pb_nhofdkfidee (Pbrt.Decoder.nested d)) :: v.ligbjpkffdg;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbpkfjbeilj), field(7)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.mogndfkhapd <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbpkfjbeilj), field(10)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.kpbfldbadan <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbpkfjbeilj), field(4)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.cjkoijlahho <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbpkfjbeilj), field(3)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbpkfjbeilj), field(6)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.bnmdbicanbn <- (decode_pb_mdpnliodapd (Pbrt.Decoder.nested d)) :: v.bnmdbicanbn;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbpkfjbeilj), field(2)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.mdkmdbibnae <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbpkfjbeilj), field(12)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.hcllineafkm <- (decode_pb_egafcnjjgni (Pbrt.Decoder.nested d)) :: v.hcllineafkm;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbpkfjbeilj), field(5)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.nfcojigifbb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbpkfjbeilj), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cbphphopofk = v.cbphphopofk;
    fmblfbddmgi = v.fmblfbddmgi;
    eaeoionfehm = v.eaeoionfehm;
    entry_id = v.entry_id;
    ligbjpkffdg = v.ligbjpkffdg;
    mogndfkhapd = v.mogndfkhapd;
    kpbfldbadan = v.kpbfldbadan;
    cjkoijlahho = v.cjkoijlahho;
    retcode = v.retcode;
    bnmdbicanbn = v.bnmdbicanbn;
    mdkmdbibnae = v.mdkmdbibnae;
    hcllineafkm = v.hcllineafkm;
    nfcojigifbb = v.nfcojigifbb;
  } : kbpkfjbeilj)

let rec decode_pb_anjofnkhlfp d =
  let v = default_anjofnkhlfp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mdfplnoljnf <- List.rev v.mdfplnoljnf;
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.edpaljjjgki <- Pbrt.Decoder.bool d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(anjofnkhlfp), field(10)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.mdfplnoljnf <- (decode_pb_kbpkfjbeilj (Pbrt.Decoder.nested d)) :: v.mdfplnoljnf;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(anjofnkhlfp), field(5)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(anjofnkhlfp), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    edpaljjjgki = v.edpaljjjgki;
    mdfplnoljnf = v.mdfplnoljnf;
    retcode = v.retcode;
  } : anjofnkhlfp)

let rec decode_pb_gninhljadoj d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(gninhljadoj)" pk

let rec decode_pb_ialhacijhac d =
  let v = default_ialhacijhac_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.fomcmdmpdcg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ialhacijhac), field(7)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.aopeodgodff <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ialhacijhac), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fomcmdmpdcg = v.fomcmdmpdcg;
    aopeodgodff = v.aopeodgodff;
  } : ialhacijhac)

let rec decode_pb_dmkebfhjljj d =
  let v = default_dmkebfhjljj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dmkebfhjljj), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : dmkebfhjljj)

let rec decode_pb_cdcmmopccai d =
  let v = default_cdcmmopccai_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.mgdnainpahe <- decode_pb_gonnolnjgnf d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cdcmmopccai), field(11)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.aopeodgodff <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cdcmmopccai), field(8)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.hohagdafjih <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cdcmmopccai), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mgdnainpahe = v.mgdnainpahe;
    aopeodgodff = v.aopeodgodff;
    hohagdafjih = v.hohagdafjih;
  } : cdcmmopccai)

let rec decode_pb_lipmdimfnak d =
  let v = default_lipmdimfnak_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.aopeodgodff <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lipmdimfnak), field(12)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.paiihddnnjg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lipmdimfnak), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    aopeodgodff = v.aopeodgodff;
    paiihddnnjg = v.paiihddnnjg;
  } : lipmdimfnak)

let rec decode_pb_lneeenlhdnn d =
  let v = default_lneeenlhdnn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lneeenlhdnn), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : lneeenlhdnn)

let rec decode_pb_mfljhhpaccd d =
  let v = default_mfljhhpaccd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.fgiifgkokak <- List.rev v.fgiifgkokak;
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.int32_as_varint d
      ) in
      v.fgiifgkokak <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.string ~decode_value)::v.fgiifgkokak;
      );
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mfljhhpaccd), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fgiifgkokak = v.fgiifgkokak;
  } : mfljhhpaccd)

let rec decode_pb_odoaidcdjoj d =
  let v = default_odoaidcdjoj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ojcmolaapaf <- List.rev v.ojcmolaapaf;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.ojcmolaapaf <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(odoaidcdjoj), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ojcmolaapaf = v.ojcmolaapaf;
  } : odoaidcdjoj)

let rec decode_pb_impbiacohfd d =
  let v = default_impbiacohfd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.fmblfbddmgi <- List.rev v.fmblfbddmgi;
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(impbiacohfd), field(9)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.fmblfbddmgi <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(impbiacohfd), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    fmblfbddmgi = v.fmblfbddmgi;
  } : impbiacohfd)

let rec decode_pb_gcnpnnobhko d =
  let v = default_gcnpnnobhko_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.mjpchdidahj <- Some (decode_pb_scene_entity_info (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gcnpnnobhko), field(5)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.cffpbnfgmmj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gcnpnnobhko), field(3)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.klmchlokeho <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gcnpnnobhko), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mjpchdidahj = v.mjpchdidahj;
    cffpbnfgmmj = v.cffpbnfgmmj;
    klmchlokeho = v.klmchlokeho;
  } : gcnpnnobhko)

let rec decode_pb_ceafkhfcdif d =
  let v = default_ceafkhfcdif_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ogcjllmfnob <- List.rev v.ogcjllmfnob;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.ogcjllmfnob <- (decode_pb_gcnpnnobhko (Pbrt.Decoder.nested d)) :: v.ogcjllmfnob;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ceafkhfcdif), field(7)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.iehhofifjfo <- decode_pb_agjnodchiak d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ceafkhfcdif), field(14)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.state <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ceafkhfcdif), field(9)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ceafkhfcdif), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ogcjllmfnob = v.ogcjllmfnob;
    iehhofifjfo = v.iehhofifjfo;
    state = v.state;
    group_id = v.group_id;
  } : ceafkhfcdif)

let rec decode_pb_iolnbeiolkh d =
  let v = default_iolnbeiolkh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hgocilongbl <- List.rev v.hgocilongbl;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.hgocilongbl <- (decode_pb_ceafkhfcdif (Pbrt.Decoder.nested d)) :: v.hgocilongbl;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iolnbeiolkh), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgocilongbl = v.hgocilongbl;
  } : iolnbeiolkh)

let rec decode_pb_iggijbjppoc d =
  let v = default_iggijbjppoc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iggijbjppoc), field(1)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.entry_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iggijbjppoc), field(4)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.nfbjlfcfijo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iggijbjppoc), field(6)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.ihhhgodkjep <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iggijbjppoc), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    group_id = v.group_id;
    entry_id = v.entry_id;
    nfbjlfcfijo = v.nfbjlfcfijo;
    ihhhgodkjep = v.ihhhgodkjep;
  } : iggijbjppoc)

let rec decode_pb_ngkpjjcampj d =
  let v = default_ngkpjjcampj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.podpafooomg <- Some (decode_pb_iggijbjppoc (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ngkpjjcampj), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    podpafooomg = v.podpafooomg;
  } : ngkpjjcampj)

let rec decode_pb_nohhghgiajp d =
  let v = default_nohhghgiajp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.podpafooomg <- Some (decode_pb_iggijbjppoc (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nohhghgiajp), field(11)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nohhghgiajp), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    podpafooomg = v.podpafooomg;
    retcode = v.retcode;
  } : nohhghgiajp)

let rec decode_pb_fefkpkpanml d =
  let v = default_fefkpkpanml_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.podpafooomg <- Some (decode_pb_iggijbjppoc (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fefkpkpanml), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    podpafooomg = v.podpafooomg;
  } : fefkpkpanml)

let rec decode_pb_gfjappjdmnb d =
  let v = default_gfjappjdmnb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.plane_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfjappjdmnb), field(12)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.floor_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfjappjdmnb), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    plane_id = v.plane_id;
    floor_id = v.floor_id;
  } : gfjappjdmnb)

let rec decode_pb_geomcaafdmf d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(geomcaafdmf)" pk

let rec decode_pb_ikdmhhahhno d =
  let v = default_ikdmhhahhno_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.eljgieonbde <- List.rev v.eljgieonbde;
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ikdmhhahhno), field(8)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.eljgieonbde <- (decode_pb_gfjappjdmnb (Pbrt.Decoder.nested d)) :: v.eljgieonbde;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ikdmhhahhno), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    eljgieonbde = v.eljgieonbde;
  } : ikdmhhahhno)

let rec decode_pb_lfacadlnjod d =
  let v = default_lfacadlnjod_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.eljgieonbde <- List.rev v.eljgieonbde;
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.eljgieonbde <- (decode_pb_gfjappjdmnb (Pbrt.Decoder.nested d)) :: v.eljgieonbde;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lfacadlnjod), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    eljgieonbde = v.eljgieonbde;
  } : lfacadlnjod)

let rec decode_pb_ebjolkoihmc d =
  let v = default_ebjolkoihmc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.cblnijmlgch <- List.rev v.cblnijmlgch;
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.jjpkngpgmci <- Pbrt.Decoder.string d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebjolkoihmc), field(5)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.iapjdabceeh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebjolkoihmc), field(11)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.cdgihicglml <- Some (decode_pb_motion_info (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebjolkoihmc), field(14)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.cblnijmlgch <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebjolkoihmc), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jjpkngpgmci = v.jjpkngpgmci;
    iapjdabceeh = v.iapjdabceeh;
    cdgihicglml = v.cdgihicglml;
    cblnijmlgch = v.cblnijmlgch;
  } : ebjolkoihmc)

let rec decode_pb_pkhccikoidf d =
  let v = default_pkhccikoidf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkhccikoidf), field(10)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.iapjdabceeh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkhccikoidf), field(12)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.jjpkngpgmci <- Pbrt.Decoder.string d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkhccikoidf), field(4)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.gkobfcianlo <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pkhccikoidf), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    iapjdabceeh = v.iapjdabceeh;
    jjpkngpgmci = v.jjpkngpgmci;
    gkobfcianlo = v.gkobfcianlo;
  } : pkhccikoidf)

let rec decode_pb_gndplhdfmpj d =
  let v = default_gndplhdfmpj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.cblnijmlgch <- List.rev v.cblnijmlgch;
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.iapjdabceeh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gndplhdfmpj), field(6)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.cblnijmlgch <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gndplhdfmpj), field(1)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.jjpkngpgmci <- Pbrt.Decoder.string d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gndplhdfmpj), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    iapjdabceeh = v.iapjdabceeh;
    cblnijmlgch = v.cblnijmlgch;
    jjpkngpgmci = v.jjpkngpgmci;
  } : gndplhdfmpj)

let rec decode_pb_dbmebneafkh d =
  let v = default_dbmebneafkh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bcbhaghfmhl <- List.rev v.bcbhaghfmhl;
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.bcbhaghfmhl <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dbmebneafkh), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bcbhaghfmhl = v.bcbhaghfmhl;
  } : dbmebneafkh)

let rec decode_pb_lhphdmehbjk d =
  let v = default_lhphdmehbjk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bcbhaghfmhl <- List.rev v.bcbhaghfmhl;
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhphdmehbjk), field(6)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.bcbhaghfmhl <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhphdmehbjk), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    bcbhaghfmhl = v.bcbhaghfmhl;
  } : lhphdmehbjk)

let rec decode_pb_aliilpfckfp d =
  let v = default_aliilpfckfp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ojcmolaapaf <- List.rev v.ojcmolaapaf;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.ojcmolaapaf <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aliilpfckfp), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ojcmolaapaf = v.ojcmolaapaf;
  } : aliilpfckfp)

let rec decode_pb_cbfgfkjfgmk d =
  let v = default_cbfgfkjfgmk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.cocoon_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbfgfkjfgmk), field(7)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.wave <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbfgfkjfgmk), field(14)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.world_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbfgfkjfgmk), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cocoon_id = v.cocoon_id;
    wave = v.wave;
    world_level = v.world_level;
  } : cbfgfkjfgmk)

let rec decode_pb_bcdijdennhg d =
  let v = default_bcdijdennhg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.wave <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bcdijdennhg), field(13)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bcdijdennhg), field(10)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.cocoon_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bcdijdennhg), field(9)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bcdijdennhg), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    wave = v.wave;
    ibllilenejp = v.ibllilenejp;
    cocoon_id = v.cocoon_id;
    retcode = v.retcode;
  } : bcdijdennhg)

let rec decode_pb_cmipadfnpch d =
  let v = default_cmipadfnpch_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.world_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cmipadfnpch), field(14)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.hflfdkpgbaf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cmipadfnpch), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    world_level = v.world_level;
    hflfdkpgbaf = v.hflfdkpgbaf;
  } : cmipadfnpch)

let rec decode_pb_pinooogpjcp d =
  let v = default_pinooogpjcp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pinooogpjcp), field(1)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pinooogpjcp), field(3)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.hflfdkpgbaf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pinooogpjcp), field(5)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.world_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pinooogpjcp), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ibllilenejp = v.ibllilenejp;
    hflfdkpgbaf = v.hflfdkpgbaf;
    world_level = v.world_level;
  } : pinooogpjcp)

let rec decode_pb_jnmofmlpiga d =
  let v = default_jnmofmlpiga_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.klgdfdlhelh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnmofmlpiga), field(12)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.entry_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jnmofmlpiga), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    klgdfdlhelh = v.klgdfdlhelh;
    entry_id = v.entry_id;
  } : jnmofmlpiga)

let rec decode_pb_ckemiclfafc d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_server_prefs_type_none:ckemiclfafc)
  | 6111 -> (Cmd_get_server_prefs_data_cs_req:ckemiclfafc)
  | 6156 -> (Cmd_update_server_prefs_data_cs_req:ckemiclfafc)
  | 6193 -> (Cmd_update_server_prefs_data_sc_rsp:ckemiclfafc)
  | 6168 -> (Cmd_get_all_server_prefs_data_cs_req:ckemiclfafc)
  | 6143 -> (Cmd_get_server_prefs_data_sc_rsp:ckemiclfafc)
  | 6106 -> (Cmd_get_all_server_prefs_data_sc_rsp:ckemiclfafc)
  | _ -> Pbrt.Decoder.malformed_variant "ckemiclfafc"

let rec decode_pb_jgcbdioneib d =
  let v = default_jgcbdioneib_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.aafghffligc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jgcbdioneib), field(15)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.data <- Pbrt.Decoder.bytes d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jgcbdioneib), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    aafghffligc = v.aafghffligc;
    data = v.data;
  } : jgcbdioneib)

let rec decode_pb_olhefkbfbmo d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(olhefkbfbmo)" pk

let rec decode_pb_kiljclofdpc d =
  let v = default_kiljclofdpc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.cbonjopecdo <- List.rev v.cbonjopecdo;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.cbonjopecdo <- (decode_pb_jgcbdioneib (Pbrt.Decoder.nested d)) :: v.cbonjopecdo;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kiljclofdpc), field(9)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kiljclofdpc), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cbonjopecdo = v.cbonjopecdo;
    retcode = v.retcode;
  } : kiljclofdpc)

let rec decode_pb_jmmodkjhodb d =
  let v = default_jmmodkjhodb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.aafghffligc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jmmodkjhodb), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    aafghffligc = v.aafghffligc;
  } : jmmodkjhodb)

let rec decode_pb_akakmafmdll d =
  let v = default_akakmafmdll_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.onojjkcgnno <- Some (decode_pb_jgcbdioneib (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(akakmafmdll), field(5)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(akakmafmdll), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    onojjkcgnno = v.onojjkcgnno;
    retcode = v.retcode;
  } : akakmafmdll)

let rec decode_pb_fcakjbgdhpj d =
  let v = default_fcakjbgdhpj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.onojjkcgnno <- Some (decode_pb_jgcbdioneib (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fcakjbgdhpj), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    onojjkcgnno = v.onojjkcgnno;
  } : fcakjbgdhpj)

let rec decode_pb_cachhkldamk d =
  let v = default_cachhkldamk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.aafghffligc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cachhkldamk), field(5)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cachhkldamk), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    aafghffligc = v.aafghffligc;
    retcode = v.retcode;
  } : cachhkldamk)

let rec decode_pb_ofbdkllgbmh d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_shop_type_none:ofbdkllgbmh)
  | 1556 -> (Cmd_take_city_shop_reward_cs_req:ofbdkllgbmh)
  | 1539 -> (Cmd_city_shop_info_sc_notify:ofbdkllgbmh)
  | 1543 -> (Cmd_buy_goods_sc_rsp:ofbdkllgbmh)
  | 1568 -> (Cmd_get_shop_list_cs_req:ofbdkllgbmh)
  | 1506 -> (Cmd_get_shop_list_sc_rsp:ofbdkllgbmh)
  | 1511 -> (Cmd_buy_goods_cs_req:ofbdkllgbmh)
  | 1593 -> (Cmd_take_city_shop_reward_sc_rsp:ofbdkllgbmh)
  | _ -> Pbrt.Decoder.malformed_variant "ofbdkllgbmh"

let rec decode_pb_goods d =
  let v = default_goods_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.item_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(goods), field(15)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.goods_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(goods), field(13)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.begin_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(goods), field(14)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.end_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(goods), field(3)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.buy_times <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(goods), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    item_id = v.item_id;
    goods_id = v.goods_id;
    begin_time = v.begin_time;
    end_time = v.end_time;
    buy_times = v.buy_times;
  } : goods)

let rec decode_pb_shop d =
  let v = default_shop_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.goods_list <- List.rev v.goods_list;
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.goods_list <- (decode_pb_goods (Pbrt.Decoder.nested d)) :: v.goods_list;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(shop), field(5)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.end_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(shop), field(8)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.city_exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(shop), field(6)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.begin_time <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(shop), field(3)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.city_taken_level_reward <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(shop), field(14)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.shop_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(shop), field(1)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.city_level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(shop), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    goods_list = v.goods_list;
    end_time = v.end_time;
    city_exp = v.city_exp;
    begin_time = v.begin_time;
    city_taken_level_reward = v.city_taken_level_reward;
    shop_id = v.shop_id;
    city_level = v.city_level;
  } : shop)

let rec decode_pb_eldffdimhfb d =
  let v = default_eldffdimhfb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.bkiegfkjheo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eldffdimhfb), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bkiegfkjheo = v.bkiegfkjheo;
  } : eldffdimhfb)

let rec decode_pb_get_shop_list_sc_rsp d =
  let v = default_get_shop_list_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.shop_list <- List.rev v.shop_list;
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_shop_list_sc_rsp), field(3)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.shop_list <- (decode_pb_shop (Pbrt.Decoder.nested d)) :: v.shop_list;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_shop_list_sc_rsp), field(15)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.shop_type <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_shop_list_sc_rsp), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    shop_list = v.shop_list;
    shop_type = v.shop_type;
  } : get_shop_list_sc_rsp)

let rec decode_pb_hklehcgbkod d =
  let v = default_hklehcgbkod_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.fgohomljegm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hklehcgbkod), field(8)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hklehcgbkod), field(15)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.bfbjhchbplg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hklehcgbkod), field(13)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.ififlmjnmdk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hklehcgbkod), field(3)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.idcigdfjabi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hklehcgbkod), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fgohomljegm = v.fgohomljegm;
    hgjolgkaofj = v.hgjolgkaofj;
    bfbjhchbplg = v.bfbjhchbplg;
    ififlmjnmdk = v.ififlmjnmdk;
    idcigdfjabi = v.idcigdfjabi;
  } : hklehcgbkod)

let rec decode_pb_buy_goods_sc_rsp d =
  let v = default_buy_goods_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(buy_goods_sc_rsp), field(1)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.goods_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(buy_goods_sc_rsp), field(13)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.goods_buy_times <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(buy_goods_sc_rsp), field(10)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.return_item_list <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(buy_goods_sc_rsp), field(6)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.shop_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(buy_goods_sc_rsp), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    goods_id = v.goods_id;
    goods_buy_times = v.goods_buy_times;
    return_item_list = v.return_item_list;
    shop_id = v.shop_id;
  } : buy_goods_sc_rsp)

let rec decode_pb_cdhdahieeeb d =
  let v = default_cdhdahieeeb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cdhdahieeeb), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.fgohomljegm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cdhdahieeeb), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    level = v.level;
    fgohomljegm = v.fgohomljegm;
  } : cdhdahieeeb)

let rec decode_pb_take_city_shop_reward_sc_rsp d =
  let v = default_take_city_shop_reward_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(take_city_shop_reward_sc_rsp), field(3)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.shop_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(take_city_shop_reward_sc_rsp), field(10)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(take_city_shop_reward_sc_rsp), field(2)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(take_city_shop_reward_sc_rsp), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    shop_id = v.shop_id;
    reward = v.reward;
    level = v.level;
  } : take_city_shop_reward_sc_rsp)

let rec decode_pb_city_shop_info_sc_notify d =
  let v = default_city_shop_info_sc_notify_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.shop_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(city_shop_info_sc_notify), field(9)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.exp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(city_shop_info_sc_notify), field(10)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(city_shop_info_sc_notify), field(3)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.taken_level_reward <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(city_shop_info_sc_notify), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    shop_id = v.shop_id;
    exp = v.exp;
    level = v.level;
    taken_level_reward = v.taken_level_reward;
  } : city_shop_info_sc_notify)

let rec decode_pb_gilfkecddmc d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_space_zoo_type_none:gilfkecddmc)
  | 6754 -> (Cmd_space_zoo_exchange_item_cs_req:gilfkecddmc)
  | 6751 -> (Cmd_space_zoo_delete_cat_cs_req:gilfkecddmc)
  | 6748 -> (Cmd_space_zoo_take_cs_req:gilfkecddmc)
  | 6782 -> (Cmd_space_zoo_take_sc_rsp:gilfkecddmc)
  | 6756 -> (Cmd_space_zoo_mutate_cs_req:gilfkecddmc)
  | 6793 -> (Cmd_space_zoo_mutate_sc_rsp:gilfkecddmc)
  | 6743 -> (Cmd_space_zoo_born_sc_rsp:gilfkecddmc)
  | 6768 -> (Cmd_space_zoo_data_cs_req:gilfkecddmc)
  | 6739 -> (Cmd_space_zoo_op_cattery_cs_req:gilfkecddmc)
  | 6711 -> (Cmd_space_zoo_born_cs_req:gilfkecddmc)
  | 6765 -> (Cmd_space_zoo_exchange_item_sc_rsp:gilfkecddmc)
  | 6729 -> (Cmd_space_zoo_op_cattery_sc_rsp:gilfkecddmc)
  | 6706 -> (Cmd_space_zoo_data_sc_rsp:gilfkecddmc)
  | 6799 -> (Cmd_space_zoo_cat_update_notify:gilfkecddmc)
  | 6733 -> (Cmd_space_zoo_delete_cat_sc_rsp:gilfkecddmc)
  | _ -> Pbrt.Decoder.malformed_variant "gilfkecddmc"

let rec decode_pb_cnlooddmfgf d =
  let v = default_cnlooddmfgf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.noeblakanjk <- List.rev v.noeblakanjk;
      v.pdpfcfglgco <- List.rev v.pdpfcfglgco;
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.onppolklhlo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnlooddmfgf), field(10)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.pdpfcfglgco <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnlooddmfgf), field(12)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.djjmhikpmjl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnlooddmfgf), field(11)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.noeblakanjk <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnlooddmfgf), field(13)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.unique_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnlooddmfgf), field(1)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.mljedmgclmd <- Pbrt.Decoder.bool d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnlooddmfgf), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    onppolklhlo = v.onppolklhlo;
    pdpfcfglgco = v.pdpfcfglgco;
    djjmhikpmjl = v.djjmhikpmjl;
    noeblakanjk = v.noeblakanjk;
    unique_id = v.unique_id;
    mljedmgclmd = v.mljedmgclmd;
  } : cnlooddmfgf)

let rec decode_pb_dddldidlfaf d =
  let v = default_dddldidlfaf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.denpgbgmcaa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dddldidlfaf), field(13)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.onppolklhlo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dddldidlfaf), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    denpgbgmcaa = v.denpgbgmcaa;
    onppolklhlo = v.onppolklhlo;
  } : dddldidlfaf)

let rec decode_pb_bheiifaflda d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(bheiifaflda)" pk

let rec decode_pb_cegbkojghag d =
  let v = default_cegbkojghag_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.gmddehifoaf <- List.rev v.gmddehifoaf;
      v.ofofbdcmmgd <- List.rev v.ofofbdcmmgd;
      v.cmbjdeolkmj <- List.rev v.cmbjdeolkmj;
      v.nmmofimpcko <- List.rev v.nmmofimpcko;
      v.cnjokhoofkk <- List.rev v.cnjokhoofkk;
      v.nbijkgoknob <- List.rev v.nbijkgoknob;
      v.kajmafehicc <- List.rev v.kajmafehicc;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.kajmafehicc <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cegbkojghag), field(7)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.nbijkgoknob <- (decode_pb_dddldidlfaf (Pbrt.Decoder.nested d)) :: v.nbijkgoknob;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cegbkojghag), field(3)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.cnjokhoofkk <- (decode_pb_cnlooddmfgf (Pbrt.Decoder.nested d)) :: v.cnjokhoofkk;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cegbkojghag), field(11)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.nmmofimpcko <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cegbkojghag), field(1)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cegbkojghag), field(10)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.cmbjdeolkmj <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cegbkojghag), field(9)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.mhceoilgmca <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cegbkojghag), field(6)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.ofofbdcmmgd <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cegbkojghag), field(5)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.gmddehifoaf <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cegbkojghag), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kajmafehicc = v.kajmafehicc;
    nbijkgoknob = v.nbijkgoknob;
    cnjokhoofkk = v.cnjokhoofkk;
    nmmofimpcko = v.nmmofimpcko;
    retcode = v.retcode;
    cmbjdeolkmj = v.cmbjdeolkmj;
    mhceoilgmca = v.mhceoilgmca;
    ofofbdcmmgd = v.ofofbdcmmgd;
    gmddehifoaf = v.gmddehifoaf;
  } : cegbkojghag)

let rec decode_pb_ohhockpilao d =
  let v = default_ohhockpilao_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.kmehfinblhe <- List.rev v.kmehfinblhe;
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.kmehfinblhe <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ohhockpilao), field(15)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.goppphjombl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ohhockpilao), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kmehfinblhe = v.kmehfinblhe;
    goppphjombl = v.goppphjombl;
  } : ohhockpilao)

let rec decode_pb_jdpnjbnanji d =
  let v = default_jdpnjbnanji_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.lcjfgcdbgim <- List.rev v.lcjfgcdbgim;
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.pinmacpefgd <- Pbrt.Decoder.bool d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jdpnjbnanji), field(14)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.lcjfgcdbgim <- (decode_pb_dddldidlfaf (Pbrt.Decoder.nested d)) :: v.lcjfgcdbgim;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jdpnjbnanji), field(13)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jdpnjbnanji), field(7)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.mhndbenogid <- Some (decode_pb_cnlooddmfgf (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jdpnjbnanji), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pinmacpefgd = v.pinmacpefgd;
    lcjfgcdbgim = v.lcjfgcdbgim;
    retcode = v.retcode;
    mhndbenogid = v.mhndbenogid;
  } : jdpnjbnanji)

let rec decode_pb_ccpnhkllkfl d =
  let v = default_ccpnhkllkfl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ccpnhkllkfl), field(9)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.unique_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ccpnhkllkfl), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgjolgkaofj = v.hgjolgkaofj;
    unique_id = v.unique_id;
  } : ccpnhkllkfl)

let rec decode_pb_bhheidaoold d =
  let v = default_bhheidaoold_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.lcjfgcdbgim <- List.rev v.lcjfgcdbgim;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.odklnlidcfj <- Some (decode_pb_cnlooddmfgf (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bhheidaoold), field(10)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.lcjfgcdbgim <- (decode_pb_dddldidlfaf (Pbrt.Decoder.nested d)) :: v.lcjfgcdbgim;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bhheidaoold), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bhheidaoold), field(6)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.pinmacpefgd <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bhheidaoold), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    odklnlidcfj = v.odklnlidcfj;
    lcjfgcdbgim = v.lcjfgcdbgim;
    retcode = v.retcode;
    pinmacpefgd = v.pinmacpefgd;
  } : bhheidaoold)

let rec decode_pb_lihfhopeipf d =
  let v = default_lihfhopeipf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.kcefcohkanf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lihfhopeipf), field(2)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.bbdcjpocecg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lihfhopeipf), field(6)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.op_type <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lihfhopeipf), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kcefcohkanf = v.kcefcohkanf;
    bbdcjpocecg = v.bbdcjpocecg;
    op_type = v.op_type;
  } : lihfhopeipf)

let rec decode_pb_naodjnndgkp d =
  let v = default_naodjnndgkp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.gmddehifoaf <- List.rev v.gmddehifoaf;
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(naodjnndgkp), field(7)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.gmddehifoaf <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(naodjnndgkp), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    gmddehifoaf = v.gmddehifoaf;
  } : naodjnndgkp)

let rec decode_pb_hjkhdlnkajb d =
  let v = default_hjkhdlnkajb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bjgpgojakoo <- List.rev v.bjgpgojakoo;
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.bjgpgojakoo <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hjkhdlnkajb), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bjgpgojakoo = v.bjgpgojakoo;
  } : hjkhdlnkajb)

let rec decode_pb_gcpdecnpflh d =
  let v = default_gcpdecnpflh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.npfgpoiinha <- List.rev v.npfgpoiinha;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.npfgpoiinha <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gcpdecnpflh), field(10)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gcpdecnpflh), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    npfgpoiinha = v.npfgpoiinha;
    retcode = v.retcode;
  } : gcpdecnpflh)

let rec decode_pb_llleahfmcmh d =
  let v = default_llleahfmcmh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.namngacmioe <- List.rev v.namngacmioe;
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.hfioieaclph <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(llleahfmcmh), field(2)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.pinmacpefgd <- Pbrt.Decoder.bool d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(llleahfmcmh), field(7)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.namngacmioe <- (decode_pb_cnlooddmfgf (Pbrt.Decoder.nested d)) :: v.namngacmioe;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(llleahfmcmh), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hfioieaclph = v.hfioieaclph;
    pinmacpefgd = v.pinmacpefgd;
    namngacmioe = v.namngacmioe;
  } : llleahfmcmh)

let rec decode_pb_fenjjehochb d =
  let v = default_fenjjehochb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fenjjehochb), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgjolgkaofj = v.hgjolgkaofj;
  } : fenjjehochb)

let rec decode_pb_opjmmjidgjh d =
  let v = default_opjmmjidgjh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(opjmmjidgjh), field(7)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(opjmmjidgjh), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    hgjolgkaofj = v.hgjolgkaofj;
  } : opjmmjidgjh)

let rec decode_pb_ghkhmcebggb d =
  let v = default_ghkhmcebggb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.obdgbookelm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ghkhmcebggb), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    obdgbookelm = v.obdgbookelm;
  } : ghkhmcebggb)

let rec decode_pb_ekbiohgpkbg d =
  let v = default_ekbiohgpkbg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ekbiohgpkbg), field(7)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.obdgbookelm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ekbiohgpkbg), field(9)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ekbiohgpkbg), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    reward = v.reward;
    obdgbookelm = v.obdgbookelm;
    retcode = v.retcode;
  } : ekbiohgpkbg)

let rec decode_pb_mamfcgkifkh d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_star_fight_type_none:mamfcgkifkh)
  | 7170 -> (Cmd_start_star_fight_level_sc_rsp:mamfcgkifkh)
  | 7164 -> (Cmd_get_star_fight_data_sc_rsp:mamfcgkifkh)
  | 7161 -> (Cmd_get_star_fight_data_cs_req:mamfcgkifkh)
  | 7169 -> (Cmd_start_star_fight_level_cs_req:mamfcgkifkh)
  | 7162 -> (Cmd_star_fight_data_change_notify:mamfcgkifkh)
  | _ -> Pbrt.Decoder.malformed_variant "mamfcgkifkh"

let rec decode_pb_aneollgbcci d =
  let v = default_aneollgbcci_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.hnhnaaliflo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aneollgbcci), field(15)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.iidfjhpdkmn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aneollgbcci), field(4)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.cdigdpfegic <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aneollgbcci), field(6)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aneollgbcci), field(2)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.mkbhpjnpekj <- Pbrt.Decoder.bool d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aneollgbcci), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hnhnaaliflo = v.hnhnaaliflo;
    iidfjhpdkmn = v.iidfjhpdkmn;
    cdigdpfegic = v.cdigdpfegic;
    group_id = v.group_id;
    mkbhpjnpekj = v.mkbhpjnpekj;
  } : aneollgbcci)

let rec decode_pb_kkhfkjhddnk d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(kkhfkjhddnk)" pk

let rec decode_pb_oeaacljemca d =
  let v = default_oeaacljemca_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.emfamjcdggh <- List.rev v.emfamjcdggh;
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oeaacljemca), field(11)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.emfamjcdggh <- (decode_pb_aneollgbcci (Pbrt.Decoder.nested d)) :: v.emfamjcdggh;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oeaacljemca), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    emfamjcdggh = v.emfamjcdggh;
  } : oeaacljemca)

let rec decode_pb_oodgaoipjjn d =
  let v = default_oodgaoipjjn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oodgaoipjjn), field(10)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oodgaoipjjn), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id = v.avatar_id;
    avatar_type = v.avatar_type;
  } : oodgaoipjjn)

let rec decode_pb_njdbokodjbe d =
  let v = default_njdbokodjbe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_list <- List.rev v.avatar_list;
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.avatar_list <- (decode_pb_oodgaoipjjn (Pbrt.Decoder.nested d)) :: v.avatar_list;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njdbokodjbe), field(1)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.odgoeojelah <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njdbokodjbe), field(6)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(njdbokodjbe), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_list = v.avatar_list;
    odgoeojelah = v.odgoeojelah;
    group_id = v.group_id;
  } : njdbokodjbe)

let rec decode_pb_fpjdldlikmj d =
  let v = default_fpjdldlikmj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fpjdldlikmj), field(15)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.odgoeojelah <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fpjdldlikmj), field(4)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fpjdldlikmj), field(3)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fpjdldlikmj), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    odgoeojelah = v.odgoeojelah;
    group_id = v.group_id;
    ibllilenejp = v.ibllilenejp;
  } : fpjdldlikmj)

let rec decode_pb_adjidagpfff d =
  let v = default_adjidagpfff_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.jhkemkimlgi <- Some (decode_pb_aneollgbcci (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adjidagpfff), field(1)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adjidagpfff), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jhkemkimlgi = v.jhkemkimlgi;
    group_id = v.group_id;
  } : adjidagpfff)

let rec decode_pb_djojglgfkhc d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_story_line_type_none:djojglgfkhc)
  | 6239 -> (Cmd_story_line_trial_avatar_change_sc_notify:djojglgfkhc)
  | 6206 -> (Cmd_get_story_line_info_sc_rsp:djojglgfkhc)
  | 6211 -> (Cmd_story_line_info_sc_notify:djojglgfkhc)
  | 6293 -> (Cmd_change_story_line_finish_sc_notify:djojglgfkhc)
  | 6268 -> (Cmd_get_story_line_info_cs_req:djojglgfkhc)
  | _ -> Pbrt.Decoder.malformed_variant "djojglgfkhc"

let rec decode_pb_kndiidhnfel d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Change_story_line_action_none:kndiidhnfel)
  | 1 -> (Change_story_line_action_finish_action:kndiidhnfel)
  | 2 -> (Change_story_line_action_client:kndiidhnfel)
  | 3 -> (Change_story_line_action_custom_op:kndiidhnfel)
  | _ -> Pbrt.Decoder.malformed_variant "kndiidhnfel"

let rec decode_pb_jloogcmomgm d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(jloogcmomgm)" pk

let rec decode_pb_mpbmbeajjck d =
  let v = default_mpbmbeajjck_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.flchlighbkm <- List.rev v.flchlighbkm;
      v.okhflbihfhm <- List.rev v.okhflbihfhm;
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mpbmbeajjck), field(2)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.okhflbihfhm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mpbmbeajjck), field(6)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.iiabgecpafd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mpbmbeajjck), field(15)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.flchlighbkm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mpbmbeajjck), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    okhflbihfhm = v.okhflbihfhm;
    iiabgecpafd = v.iiabgecpafd;
    flchlighbkm = v.flchlighbkm;
  } : mpbmbeajjck)

let rec decode_pb_gnjjdhmcdib d =
  let v = default_gnjjdhmcdib_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.okhflbihfhm <- List.rev v.okhflbihfhm;
      v.flchlighbkm <- List.rev v.flchlighbkm;
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.iiabgecpafd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gnjjdhmcdib), field(12)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.flchlighbkm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gnjjdhmcdib), field(2)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.okhflbihfhm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gnjjdhmcdib), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    iiabgecpafd = v.iiabgecpafd;
    flchlighbkm = v.flchlighbkm;
    okhflbihfhm = v.okhflbihfhm;
  } : gnjjdhmcdib)

let rec decode_pb_ggglmgmblmb d =
  let v = default_ggglmgmblmb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.iiabgecpafd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ggglmgmblmb), field(1)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.kkdinpdmodn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ggglmgmblmb), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.cfjdmlpfdoc <- decode_pb_kndiidhnfel d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ggglmgmblmb), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    iiabgecpafd = v.iiabgecpafd;
    kkdinpdmodn = v.kkdinpdmodn;
    cfjdmlpfdoc = v.cfjdmlpfdoc;
  } : ggglmgmblmb)

let rec decode_pb_impfkfgcigd d =
  let v = default_impfkfgcigd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ccnkclcogmc <- List.rev v.ccnkclcogmc;
      v.ljbibineljp <- List.rev v.ljbibineljp;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.ljbibineljp <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(impfkfgcigd), field(9)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.ccnkclcogmc <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(impfkfgcigd), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ljbibineljp = v.ljbibineljp;
    ccnkclcogmc = v.ccnkclcogmc;
  } : impfkfgcigd)

let rec decode_pb_amkkcfcfijl d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_strong_challenge_activity_type_none:amkkcfcfijl)
  | 6668 -> (Cmd_get_strong_challenge_activity_data_cs_req:amkkcfcfijl)
  | 6656 -> (Cmd_strong_challenge_activity_battle_end_sc_notify:amkkcfcfijl)
  | 6643 -> (Cmd_enter_strong_challenge_activity_stage_sc_rsp:amkkcfcfijl)
  | 6611 -> (Cmd_enter_strong_challenge_activity_stage_cs_req:amkkcfcfijl)
  | 6606 -> (Cmd_get_strong_challenge_activity_data_sc_rsp:amkkcfcfijl)
  | _ -> Pbrt.Decoder.malformed_variant "amkkcfcfijl"

let rec decode_pb_strong_challenge_avatar d =
  let v = default_strong_challenge_avatar_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(strong_challenge_avatar), field(3)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(strong_challenge_avatar), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_type = v.avatar_type;
    avatar_id = v.avatar_id;
  } : strong_challenge_avatar)

let rec decode_pb_iephmhedddd d =
  let v = default_iephmhedddd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.buff_list <- List.rev v.buff_list;
      v.avatar_list <- List.rev v.avatar_list;
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.avatar_list <- (decode_pb_strong_challenge_avatar (Pbrt.Decoder.nested d)) :: v.avatar_list;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iephmhedddd), field(15)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.buff_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iephmhedddd), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_list = v.avatar_list;
    buff_list = v.buff_list;
  } : iephmhedddd)

let rec decode_pb_dgmbccdmfio d =
  let v = default_dgmbccdmfio_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.gakmanenkmh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgmbccdmfio), field(4)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.dcjapmiemfg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgmbccdmfio), field(7)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.eijcednnlih <- Some (decode_pb_iephmhedddd (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgmbccdmfio), field(1)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgmbccdmfio), field(14)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.fjlnncjahng <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgmbccdmfio), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gakmanenkmh = v.gakmanenkmh;
    dcjapmiemfg = v.dcjapmiemfg;
    eijcednnlih = v.eijcednnlih;
    stage_id = v.stage_id;
    fjlnncjahng = v.fjlnncjahng;
  } : dgmbccdmfio)

let rec decode_pb_hokldgknmmd d =
  let v = default_hokldgknmmd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.beafdhnmifn <- List.rev v.beafdhnmifn;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        decode_pb_dgmbccdmfio (Pbrt.Decoder.nested d)
      ) in
      v.beafdhnmifn <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.beafdhnmifn;
      );
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hokldgknmmd), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    beafdhnmifn = v.beafdhnmifn;
  } : hokldgknmmd)

let rec decode_pb_ldfgdgpoceb d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(ldfgdgpoceb)" pk

let rec decode_pb_oggoadohmfl d =
  let v = default_oggoadohmfl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.pbjndhogpeh <- Some (decode_pb_hokldgknmmd (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oggoadohmfl), field(7)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oggoadohmfl), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pbjndhogpeh = v.pbjndhogpeh;
    retcode = v.retcode;
  } : oggoadohmfl)

let rec decode_pb_oealnplnfjf d =
  let v = default_oealnplnfjf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.buff_list <- List.rev v.buff_list;
      v.avatar_list <- List.rev v.avatar_list;
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oealnplnfjf), field(6)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.avatar_list <- (decode_pb_strong_challenge_avatar (Pbrt.Decoder.nested d)) :: v.avatar_list;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oealnplnfjf), field(9)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.buff_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oealnplnfjf), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    stage_id = v.stage_id;
    avatar_list = v.avatar_list;
    buff_list = v.buff_list;
  } : oealnplnfjf)

let rec decode_pb_ecidbkaabdp d =
  let v = default_ecidbkaabdp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ecidbkaabdp), field(4)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ecidbkaabdp), field(12)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ecidbkaabdp), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ibllilenejp = v.ibllilenejp;
    stage_id = v.stage_id;
  } : ecidbkaabdp)

let rec decode_pb_gaaiadienkl d =
  let v = default_gaaiadienkl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.kaijilgbjlc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gaaiadienkl), field(2)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.lpgaoolbbfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gaaiadienkl), field(4)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.gakmanenkmh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gaaiadienkl), field(3)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gaaiadienkl), field(8)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.iklhngoamga <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gaaiadienkl), field(9)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.fcadgcfhlce <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gaaiadienkl), field(14)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.inncjmgfgip <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gaaiadienkl), field(10)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.end_status <- decode_pb_battle_end_status d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gaaiadienkl), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kaijilgbjlc = v.kaijilgbjlc;
    lpgaoolbbfm = v.lpgaoolbbfm;
    gakmanenkmh = v.gakmanenkmh;
    stage_id = v.stage_id;
    iklhngoamga = v.iklhngoamga;
    fcadgcfhlce = v.fcadgcfhlce;
    inncjmgfgip = v.inncjmgfgip;
    end_status = v.end_status;
  } : gaaiadienkl)

let rec decode_pb_obmecpmopph d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_summon_activity_type_none:obmecpmopph)
  | 7564 -> (Cmd_get_summon_activity_data_sc_rsp:obmecpmopph)
  | 7561 -> (Cmd_get_summon_activity_data_cs_req:obmecpmopph)
  | 7569 -> (Cmd_enter_summon_activity_stage_cs_req:obmecpmopph)
  | 7562 -> (Cmd_summon_activity_battle_end_sc_notify:obmecpmopph)
  | 7570 -> (Cmd_enter_summon_activity_stage_sc_rsp:obmecpmopph)
  | _ -> Pbrt.Decoder.malformed_variant "obmecpmopph"

let rec decode_pb_mnbmoppbcoo d =
  let v = default_mnbmoppbcoo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.pamafmppefi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mnbmoppbcoo), field(8)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.odgoeojelah <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mnbmoppbcoo), field(1)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mnbmoppbcoo), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pamafmppefi = v.pamafmppefi;
    odgoeojelah = v.odgoeojelah;
    group_id = v.group_id;
  } : mnbmoppbcoo)

let rec decode_pb_jfbafnlfkfc d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(jfbafnlfkfc)" pk

let rec decode_pb_ahghhhilcgm d =
  let v = default_ahghhhilcgm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jgdennmdfko <- List.rev v.jgdennmdfko;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.jgdennmdfko <- (decode_pb_mnbmoppbcoo (Pbrt.Decoder.nested d)) :: v.jgdennmdfko;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ahghhhilcgm), field(12)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ahghhhilcgm), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jgdennmdfko = v.jgdennmdfko;
    retcode = v.retcode;
  } : ahghhhilcgm)

let rec decode_pb_ldpldodnfph d =
  let v = default_ldpldodnfph_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldpldodnfph), field(9)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldpldodnfph), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_type = v.avatar_type;
    avatar_id = v.avatar_id;
  } : ldpldodnfph)

let rec decode_pb_hgbifppeoia d =
  let v = default_hgbifppeoia_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_list <- List.rev v.avatar_list;
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgbifppeoia), field(11)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.avatar_list <- (decode_pb_ldpldodnfph (Pbrt.Decoder.nested d)) :: v.avatar_list;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgbifppeoia), field(1)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.nknmlnkcpil <- Some (decode_pb_ldpldodnfph (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgbifppeoia), field(5)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.odgoeojelah <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hgbifppeoia), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    group_id = v.group_id;
    avatar_list = v.avatar_list;
    nknmlnkcpil = v.nknmlnkcpil;
    odgoeojelah = v.odgoeojelah;
  } : hgbifppeoia)

let rec decode_pb_bdpdhkbeikg d =
  let v = default_bdpdhkbeikg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bdpdhkbeikg), field(6)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bdpdhkbeikg), field(2)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.odgoeojelah <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bdpdhkbeikg), field(11)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bdpdhkbeikg), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    group_id = v.group_id;
    ibllilenejp = v.ibllilenejp;
    odgoeojelah = v.odgoeojelah;
    retcode = v.retcode;
  } : bdpdhkbeikg)

let rec decode_pb_nmcdhgllhnb d =
  let v = default_nmcdhgllhnb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.pamafmppefi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nmcdhgllhnb), field(13)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.odgoeojelah <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nmcdhgllhnb), field(2)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.foflcmnhakn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nmcdhgllhnb), field(6)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nmcdhgllhnb), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pamafmppefi = v.pamafmppefi;
    odgoeojelah = v.odgoeojelah;
    foflcmnhakn = v.foflcmnhakn;
    group_id = v.group_id;
  } : nmcdhgllhnb)

let rec decode_pb_mpiejkaoeep d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_sword_training_type_none:mpiejkaoeep)
  | 7494 -> (Cmd_sword_training_set_skill_trace_sc_rsp:mpiejkaoeep)
  | 7457 -> (Cmd_sword_training_game_sync_change_sc_notify:mpiejkaoeep)
  | 7468 -> (Cmd_sword_training_mark_ending_viewed_sc_rsp:mpiejkaoeep)
  | 7478 -> (Cmd_sword_training_exam_result_confirm_sc_rsp:mpiejkaoeep)
  | 7481 -> (Cmd_sword_training_unlock_sync_sc_notify:mpiejkaoeep)
  | 7475 -> (Cmd_sword_training_story_confirm_sc_rsp:mpiejkaoeep)
  | 7467 -> (Cmd_sword_training_turn_action_cs_req:mpiejkaoeep)
  | 7462 -> (Cmd_enter_sword_training_exam_cs_req:mpiejkaoeep)
  | 7461 -> (Cmd_sword_training_turn_action_sc_rsp:mpiejkaoeep)
  | 7496 -> (Cmd_sword_training_restore_game_sc_rsp:mpiejkaoeep)
  | 7455 -> (Cmd_sword_training_learn_skill_cs_req:mpiejkaoeep)
  | 7489 -> (Cmd_enter_sword_training_exam_sc_rsp:mpiejkaoeep)
  | 7464 -> (Cmd_sword_training_exam_result_confirm_cs_req:mpiejkaoeep)
  | 7491 -> (Cmd_sword_training_restore_game_cs_req:mpiejkaoeep)
  | 7474 -> (Cmd_get_sword_training_data_cs_req:mpiejkaoeep)
  | 7484 -> (Cmd_sword_training_dialogue_select_option_sc_rsp:mpiejkaoeep)
  | 7493 -> (Cmd_sword_training_give_up_game_sc_rsp:mpiejkaoeep)
  | 7497 -> (Cmd_sword_training_resume_game_sc_rsp:mpiejkaoeep)
  | 7499 -> (Cmd_sword_training_game_settle_sc_notify:mpiejkaoeep)
  | 7459 -> (Cmd_sword_training_mark_ending_viewed_cs_req:mpiejkaoeep)
  | 7454 -> (Cmd_sword_training_dialogue_select_option_cs_req:mpiejkaoeep)
  | 7453 -> (Cmd_sword_training_start_game_sc_rsp:mpiejkaoeep)
  | 7452 -> (Cmd_sword_training_story_battle_sc_rsp:mpiejkaoeep)
  | 7460 -> (Cmd_sword_training_set_skill_trace_cs_req:mpiejkaoeep)
  | 7498 -> (Cmd_sword_training_learn_skill_sc_rsp:mpiejkaoeep)
  | 7479 -> (Cmd_sword_training_action_turn_settle_sc_notify:mpiejkaoeep)
  | 7458 -> (Cmd_sword_training_daily_phase_confirm_cs_req:mpiejkaoeep)
  | 7488 -> (Cmd_sword_training_select_ending_sc_rsp:mpiejkaoeep)
  | 7473 -> (Cmd_sword_training_daily_phase_confirm_sc_rsp:mpiejkaoeep)
  | 7490 -> (Cmd_sword_training_story_battle_cs_req:mpiejkaoeep)
  | 7483 -> (Cmd_sword_training_give_up_game_cs_req:mpiejkaoeep)
  | 7471 -> (Cmd_sword_training_start_game_cs_req:mpiejkaoeep)
  | 7463 -> (Cmd_sword_training_select_ending_cs_req:mpiejkaoeep)
  | 7465 -> (Cmd_get_sword_training_data_sc_rsp:mpiejkaoeep)
  | 7485 -> (Cmd_sword_training_story_confirm_cs_req:mpiejkaoeep)
  | 7469 -> (Cmd_sword_training_resume_game_cs_req:mpiejkaoeep)
  | _ -> Pbrt.Decoder.malformed_variant "mpiejkaoeep"

let rec decode_pb_nmabognbiph d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Sword_train_game_source_type_none:nmabognbiph)
  | 1 -> (Sword_train_game_source_type_turn_settle:nmabognbiph)
  | 2 -> (Sword_train_game_source_type_status_upgrade:nmabognbiph)
  | 3 -> (Sword_train_game_source_type_action:nmabognbiph)
  | 4 -> (Sword_train_game_source_type_action_hint:nmabognbiph)
  | 5 -> (Sword_train_game_source_type_story:nmabognbiph)
  | 6 -> (Sword_train_game_source_type_exam_bonus:nmabognbiph)
  | 7 -> (Sword_train_game_source_type_dialogue:nmabognbiph)
  | _ -> Pbrt.Decoder.malformed_variant "nmabognbiph"

let rec decode_pb_kkigfnbambb d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Sword_training_daily_phase_type_none:kkigfnbambb)
  | 1 -> (Sword_training_daily_phase_type_morning:kkigfnbambb)
  | 2 -> (Sword_training_daily_phase_type_noon:kkigfnbambb)
  | 3 -> (Sword_training_daily_phase_type_afternoon:kkigfnbambb)
  | 4 -> (Sword_training_daily_phase_type_evening:kkigfnbambb)
  | _ -> Pbrt.Decoder.malformed_variant "kkigfnbambb"

let rec decode_pb_ehamhholmlo d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Sword_training_status_type_none:ehamhholmlo)
  | 1 -> (Sword_training_status_type_power:ehamhholmlo)
  | 2 -> (Sword_training_status_type_agility:ehamhholmlo)
  | 3 -> (Sword_training_status_type_toughness:ehamhholmlo)
  | 4 -> (Sword_training_status_type_perception:ehamhholmlo)
  | 5 -> (P_sword_training_status_type_max:ehamhholmlo)
  | _ -> Pbrt.Decoder.malformed_variant "ehamhholmlo"

let rec decode_pb_depohhphajh d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Sword_training_game_settle_none:depohhphajh)
  | 1 -> (Sword_training_game_settle_finish:depohhphajh)
  | 2 -> (Sword_training_game_settle_give_up:depohhphajh)
  | 3 -> (Sword_training_game_settle_battle_failed:depohhphajh)
  | 4 -> (Sword_training_game_settle_force:depohhphajh)
  | 5 -> (Sword_training_game_settle_by_restore:depohhphajh)
  | _ -> Pbrt.Decoder.malformed_variant "depohhphajh"

let rec decode_pb_pnkhecjaaoi d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(pnkhecjaaoi)" pk

let rec decode_pb_ephhcckomlk d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(ephhcckomlk)" pk

let rec decode_pb_nfekediapge d =
  let v = default_nfekediapge_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.joeicfcdnem <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nfekediapge), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    joeicfcdnem = v.joeicfcdnem;
  } : nfekediapge)

let rec decode_pb_infppjcemha d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(infppjcemha)" pk

let rec decode_pb_mihpphicnih d =
  let v = default_mihpphicnih_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.hgpelgifadf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mihpphicnih), field(15)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.cmjoambdell <- Pbrt.Decoder.bool d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mihpphicnih), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgpelgifadf = v.hgpelgifadf;
    cmjoambdell = v.cmjoambdell;
  } : mihpphicnih)

let rec decode_pb_onjhnhikeoc d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(onjhnhikeoc)" pk

let rec decode_pb_dnokdemkpli d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(dnokdemkpli)" pk

let rec decode_pb_cbgnjfgbgee d =
  let v = default_cbgnjfgbgee_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.hgpelgifadf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbgnjfgbgee), field(7)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.pabpdlekjcp <- Pbrt.Decoder.bool d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbgnjfgbgee), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgpelgifadf = v.hgpelgifadf;
    pabpdlekjcp = v.pabpdlekjcp;
  } : cbgnjfgbgee)

let rec decode_pb_blbpcmemjnc d =
  let v = default_blbpcmemjnc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.blmeadkkape <- Pbrt.Decoder.empty_nested d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blbpcmemjnc), field(5)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.iemgakcdajk <- Pbrt.Decoder.empty_nested d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blbpcmemjnc), field(10)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.hckfijnmehb <- Some (decode_pb_nfekediapge (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blbpcmemjnc), field(4)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.idogbgmibhn <- Pbrt.Decoder.empty_nested d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blbpcmemjnc), field(3)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.ahfnfkkihaj <- Some (decode_pb_mihpphicnih (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blbpcmemjnc), field(14)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.jjhgennbaig <- Pbrt.Decoder.empty_nested d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blbpcmemjnc), field(13)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.ldfmdjoicah <- Pbrt.Decoder.empty_nested d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blbpcmemjnc), field(6)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.npmjgigdmag <- Some (decode_pb_cbgnjfgbgee (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blbpcmemjnc), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    blmeadkkape = v.blmeadkkape;
    iemgakcdajk = v.iemgakcdajk;
    hckfijnmehb = v.hckfijnmehb;
    idogbgmibhn = v.idogbgmibhn;
    ahfnfkkihaj = v.ahfnfkkihaj;
    jjhgennbaig = v.jjhgennbaig;
    ldfmdjoicah = v.ldfmdjoicah;
    npmjgigdmag = v.npmjgigdmag;
  } : blbpcmemjnc)

let rec decode_pb_ofkendbkcbl d =
  let v = default_ofkendbkcbl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.megpbceegbg <- List.rev v.megpbceegbg;
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.megpbceegbg <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ofkendbkcbl), field(6)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.ijnpccndcgi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ofkendbkcbl), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    megpbceegbg = v.megpbceegbg;
    ijnpccndcgi = v.ijnpccndcgi;
  } : ofkendbkcbl)

let rec decode_pb_ienjhcggjig d =
  let v = default_ienjhcggjig_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ienjhcggjig), field(9)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.ocnjbebhbgo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ienjhcggjig), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    level = v.level;
    ocnjbebhbgo = v.ocnjbebhbgo;
  } : ienjhcggjig)

let rec decode_pb_fhmhhefpgin d =
  let v = default_fhmhhefpgin_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.nhpllohnnpa <- List.rev v.nhpllohnnpa;
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.nhpllohnnpa <- (decode_pb_ienjhcggjig (Pbrt.Decoder.nested d)) :: v.nhpllohnnpa;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fhmhhefpgin), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nhpllohnnpa = v.nhpllohnnpa;
  } : fhmhhefpgin)

let rec decode_pb_gmmbihcfkoj d =
  let v = default_gmmbihcfkoj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.value <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gmmbihcfkoj), field(3)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.cpnkdpcablk <- decode_pb_ehamhholmlo d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gmmbihcfkoj), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    value = v.value;
    cpnkdpcablk = v.cpnkdpcablk;
  } : gmmbihcfkoj)

let rec decode_pb_cnifagkeclj d =
  let v = default_cnifagkeclj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bndfcikelgn <- List.rev v.bndfcikelgn;
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.fjeencfpjph <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnifagkeclj), field(10)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.gmoccampfnk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnifagkeclj), field(1)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.bndfcikelgn <- (decode_pb_gmmbihcfkoj (Pbrt.Decoder.nested d)) :: v.bndfcikelgn;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cnifagkeclj), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fjeencfpjph = v.fjeencfpjph;
    gmoccampfnk = v.gmoccampfnk;
    bndfcikelgn = v.bndfcikelgn;
  } : cnifagkeclj)

let rec decode_pb_cggmebdeebe d =
  let v = default_cggmebdeebe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.begkgjcmjkh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cggmebdeebe), field(4)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.hccjhiilppi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cggmebdeebe), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    begkgjcmjkh = v.begkgjcmjkh;
    hccjhiilppi = v.hccjhiilppi;
  } : cggmebdeebe)

let rec decode_pb_dfnhmidnfih d =
  let v = default_dfnhmidnfih_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mibpnbjglgc <- List.rev v.mibpnbjglgc;
      v.kekabacindh <- List.rev v.kekabacindh;
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.jijilpikghc <- decode_pb_kkigfnbambb d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dfnhmidnfih), field(7)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.kekabacindh <- (decode_pb_cggmebdeebe (Pbrt.Decoder.nested d)) :: v.kekabacindh;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dfnhmidnfih), field(13)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.mibpnbjglgc <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dfnhmidnfih), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    jijilpikghc = v.jijilpikghc;
    kekabacindh = v.kekabacindh;
    mibpnbjglgc = v.mibpnbjglgc;
  } : dfnhmidnfih)

let rec decode_pb_gfkifjlgbji d =
  let v = default_gfkifjlgbji_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.bddndfifhog <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfkifjlgbji), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bddndfifhog = v.bddndfifhog;
  } : gfkifjlgbji)

let rec decode_pb_gkjmkhadbhm d =
  let v = default_gkjmkhadbhm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1325, Pbrt.Varint) -> begin
      v.mamcoaebgbi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1325, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gkjmkhadbhm), field(1325)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.mldigofchdf <- Some (decode_pb_dfnhmidnfih (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gkjmkhadbhm), field(9)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.hoihjilfgna <- Some (decode_pb_gfkifjlgbji (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gkjmkhadbhm), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mamcoaebgbi = v.mamcoaebgbi;
    mldigofchdf = v.mldigofchdf;
    hoihjilfgna = v.hoihjilfgna;
  } : gkjmkhadbhm)

let rec decode_pb_anmohklghla d =
  let v = default_anmohklghla_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.jcodcgklojn <- List.rev v.jcodcgklojn;
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.plpebgdmkbo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(anmohklghla), field(14)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.hjmjbiijegj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(anmohklghla), field(1)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.jcodcgklojn <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(anmohklghla), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    plpebgdmkbo = v.plpebgdmkbo;
    hjmjbiijegj = v.hjmjbiijegj;
    jcodcgklojn = v.jcodcgklojn;
  } : anmohklghla)

let rec decode_pb_lekclmamabb d =
  let v = default_lekclmamabb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mjldomhofmk <- List.rev v.mjldomhofmk;
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.lfleifodebe <- Some (decode_pb_blbpcmemjnc (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lekclmamabb), field(11)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.likjgjnclen <- Some (decode_pb_ofkendbkcbl (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lekclmamabb), field(7)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.jfbodfkjcdl <- Some (decode_pb_fhmhhefpgin (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lekclmamabb), field(1)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.pbgelhmjcoa <- Some (decode_pb_cnifagkeclj (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lekclmamabb), field(10)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.mjldomhofmk <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lekclmamabb), field(14)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.hbnoljogigk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lekclmamabb), field(8)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.kphnlieefmi <- Some (decode_pb_gkjmkhadbhm (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lekclmamabb), field(4)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.hhapkchnbea <- Some (decode_pb_anmohklghla (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lekclmamabb), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lfleifodebe = v.lfleifodebe;
    likjgjnclen = v.likjgjnclen;
    jfbodfkjcdl = v.jfbodfkjcdl;
    pbgelhmjcoa = v.pbgelhmjcoa;
    mjldomhofmk = v.mjldomhofmk;
    hbnoljogigk = v.hbnoljogigk;
    kphnlieefmi = v.kphnlieefmi;
    hhapkchnbea = v.hhapkchnbea;
  } : lekclmamabb)

let rec decode_pb_aeamblofmpi d =
  let v = default_aeamblofmpi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.cpnkdpcablk <- decode_pb_ehamhholmlo d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aeamblofmpi), field(6)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.dhchppbnfeg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aeamblofmpi), field(13)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.dcedopcicik <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aeamblofmpi), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cpnkdpcablk = v.cpnkdpcablk;
    dhchppbnfeg = v.dhchppbnfeg;
    dcedopcicik = v.dcedopcicik;
  } : aeamblofmpi)

let rec decode_pb_iogbidfkhpm d =
  let v = default_iogbidfkhpm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.dhchppbnfeg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iogbidfkhpm), field(2)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.dcedopcicik <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(iogbidfkhpm), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dhchppbnfeg = v.dhchppbnfeg;
    dcedopcicik = v.dcedopcicik;
  } : iogbidfkhpm)

let rec decode_pb_bbcapkmgaea d =
  let v = default_bbcapkmgaea_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.level <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bbcapkmgaea), field(15)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.ocnjbebhbgo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bbcapkmgaea), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.fmpkgkkeelb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bbcapkmgaea), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    level = v.level;
    ocnjbebhbgo = v.ocnjbebhbgo;
    fmpkgkkeelb = v.fmpkgkkeelb;
  } : bbcapkmgaea)

let rec decode_pb_caiajmhebpe d =
  let v = default_caiajmhebpe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.hbnoljogigk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(caiajmhebpe), field(10)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.ppgoielepbp <- Some (decode_pb_gkjmkhadbhm (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(caiajmhebpe), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hbnoljogigk = v.hbnoljogigk;
    ppgoielepbp = v.ppgoielepbp;
  } : caiajmhebpe)

let rec decode_pb_lpdohkmgbfm d =
  let v = default_lpdohkmgbfm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.joeicfcdnem <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lpdohkmgbfm), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    joeicfcdnem = v.joeicfcdnem;
  } : lpdohkmgbfm)

let rec decode_pb_piknebbjogb d =
  let v = default_piknebbjogb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.geplglcbnpd <- Some (decode_pb_aeamblofmpi (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(piknebbjogb), field(1)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.bkkmplogidp <- Some (decode_pb_iogbidfkhpm (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(piknebbjogb), field(13)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.nljpopadalj <- Some (decode_pb_iogbidfkhpm (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(piknebbjogb), field(5)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.cfjdpnoebmc <- Some (decode_pb_bbcapkmgaea (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(piknebbjogb), field(7)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.doipafkjfhh <- Some (decode_pb_caiajmhebpe (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(piknebbjogb), field(11)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.agmonjkadfn <- Some (decode_pb_mihpphicnih (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(piknebbjogb), field(12)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.kfgeokefamb <- Some (decode_pb_lpdohkmgbfm (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(piknebbjogb), field(14)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.adbgcdehnln <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(piknebbjogb), field(10)" pk
    | Some (1519, Pbrt.Varint) -> begin
      v.fjeencfpjph <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1519, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(piknebbjogb), field(1519)" pk
    | Some (871, Pbrt.Bytes) -> begin
      v.aimpielkcep <- Some (decode_pb_cbgnjfgbgee (Pbrt.Decoder.nested d));
    end
    | Some (871, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(piknebbjogb), field(871)" pk
    | Some (1686, Pbrt.Bytes) -> begin
      v.leimjcdlpkb <- Pbrt.Decoder.empty_nested d;
    end
    | Some (1686, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(piknebbjogb), field(1686)" pk
    | Some (1038, Pbrt.Varint) -> begin
      v.kdbkiggpfjk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1038, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(piknebbjogb), field(1038)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    geplglcbnpd = v.geplglcbnpd;
    bkkmplogidp = v.bkkmplogidp;
    nljpopadalj = v.nljpopadalj;
    cfjdpnoebmc = v.cfjdpnoebmc;
    doipafkjfhh = v.doipafkjfhh;
    agmonjkadfn = v.agmonjkadfn;
    kfgeokefamb = v.kfgeokefamb;
    adbgcdehnln = v.adbgcdehnln;
    fjeencfpjph = v.fjeencfpjph;
    aimpielkcep = v.aimpielkcep;
    leimjcdlpkb = v.leimjcdlpkb;
    kdbkiggpfjk = v.kdbkiggpfjk;
  } : piknebbjogb)

let rec decode_pb_lgkolnobmke d =
  let v = default_lgkolnobmke_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.mkgoabedjeh <- Some (decode_pb_piknebbjogb (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lgkolnobmke), field(5)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.gnfpnbgacdf <- decode_pb_nmabognbiph d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lgkolnobmke), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mkgoabedjeh = v.mkgoabedjeh;
    gnfpnbgacdf = v.gnfpnbgacdf;
  } : lgkolnobmke)

let rec decode_pb_bficmhohfpf d =
  let v = default_bficmhohfpf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.hgpelgifadf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bficmhohfpf), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.cmjoambdell <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bficmhohfpf), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgpelgifadf = v.hgpelgifadf;
    cmjoambdell = v.cmjoambdell;
  } : bficmhohfpf)

let rec decode_pb_cghamdopejg d =
  let v = default_cghamdopejg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.lhcalbfcfjl <- List.rev v.lhcalbfcfjl;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.lhcalbfcfjl <- (decode_pb_lgkolnobmke (Pbrt.Decoder.nested d)) :: v.lhcalbfcfjl;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cghamdopejg), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lhcalbfcfjl = v.lhcalbfcfjl;
  } : cghamdopejg)

let rec decode_pb_dgipcmolhdc d =
  let v = default_dgipcmolhdc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.progress <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgipcmolhdc), field(4)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dgipcmolhdc), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    progress = v.progress;
    id = v.id;
  } : dgipcmolhdc)

let rec decode_pb_pncgfdodfbj d =
  let v = default_pncgfdodfbj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hhegkljjdol <- List.rev v.hhegkljjdol;
      v.pmlhjpikfne <- List.rev v.pmlhjpikfne;
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.pmlhjpikfne <- (decode_pb_dgipcmolhdc (Pbrt.Decoder.nested d)) :: v.pmlhjpikfne;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pncgfdodfbj), field(5)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.hhegkljjdol <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pncgfdodfbj), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pmlhjpikfne = v.pmlhjpikfne;
    hhegkljjdol = v.hhegkljjdol;
  } : pncgfdodfbj)

let rec decode_pb_mdinmlkbghf d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(mdinmlkbghf)" pk

let rec decode_pb_oepndhlaocj d =
  let v = default_oepndhlaocj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.nacefnlkjek <- List.rev v.nacefnlkjek;
      v.dbjocgbpkem <- List.rev v.dbjocgbpkem;
      v.megpbceegbg <- List.rev v.megpbceegbg;
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.megpbceegbg <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oepndhlaocj), field(4)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.hfgdfjlfhll <- Pbrt.Decoder.bool d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oepndhlaocj), field(14)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oepndhlaocj), field(13)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.iffefihhaod <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oepndhlaocj), field(3)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.hfcakgghnim <- Some (decode_pb_lekclmamabb (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oepndhlaocj), field(11)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.dbjocgbpkem <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oepndhlaocj), field(9)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.nacefnlkjek <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oepndhlaocj), field(5)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.bdaldfbhcjl <- Some (decode_pb_pncgfdodfbj (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oepndhlaocj), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    megpbceegbg = v.megpbceegbg;
    hfgdfjlfhll = v.hfgdfjlfhll;
    retcode = v.retcode;
    iffefihhaod = v.iffefihhaod;
    hfcakgghnim = v.hfcakgghnim;
    dbjocgbpkem = v.dbjocgbpkem;
    nacefnlkjek = v.nacefnlkjek;
    bdaldfbhcjl = v.bdaldfbhcjl;
  } : oepndhlaocj)

let rec decode_pb_gmpaedocmhb d =
  let v = default_gmpaedocmhb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.gkhjdaocipm <- List.rev v.gkhjdaocipm;
      v.pmcffigbbca <- List.rev v.pmcffigbbca;
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.pmcffigbbca <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gmpaedocmhb), field(11)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.gkhjdaocipm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gmpaedocmhb), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pmcffigbbca = v.pmcffigbbca;
    gkhjdaocipm = v.gkhjdaocipm;
  } : gmpaedocmhb)

let rec decode_pb_hhmcknhhjkd d =
  let v = default_hhmcknhhjkd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.pmcffigbbca <- List.rev v.pmcffigbbca;
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhmcknhhjkd), field(11)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.pmcffigbbca <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hhmcknhhjkd), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    pmcffigbbca = v.pmcffigbbca;
  } : hhmcknhhjkd)

let rec decode_pb_memoccbcknp d =
  let v = default_memoccbcknp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Varint) -> begin
      v.dfopbnjpmab <- decode_pb_kkigfnbambb d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(memoccbcknp), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dfopbnjpmab = v.dfopbnjpmab;
  } : memoccbcknp)

let rec decode_pb_biccoplpgcb d =
  let v = default_biccoplpgcb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.oiolgbomcbb <- Pbrt.Decoder.bool d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(biccoplpgcb), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(biccoplpgcb), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    oiolgbomcbb = v.oiolgbomcbb;
    retcode = v.retcode;
  } : biccoplpgcb)

let rec decode_pb_ohfjifnacak d =
  let v = default_ohfjifnacak_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.ojkjbeilgdc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ohfjifnacak), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ojkjbeilgdc = v.ojkjbeilgdc;
  } : ohfjifnacak)

let rec decode_pb_mbkalfaemic d =
  let v = default_mbkalfaemic_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mbkalfaemic), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : mbkalfaemic)

let rec decode_pb_ceneghbolla d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(ceneghbolla)" pk

let rec decode_pb_gibceehbdhp d =
  let v = default_gibceehbdhp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gibceehbdhp), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : gibceehbdhp)

let rec decode_pb_aidiofhcdpc d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(aidiofhcdpc)" pk

let rec decode_pb_igpghakolin d =
  let v = default_igpghakolin_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(igpghakolin), field(6)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(igpghakolin), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ibllilenejp = v.ibllilenejp;
  } : igpghakolin)

let rec decode_pb_fjmhhaahmfk d =
  let v = default_fjmhhaahmfk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.hgnfloilneg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fjmhhaahmfk), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgnfloilneg = v.hgnfloilneg;
  } : fjmhhaahmfk)

let rec decode_pb_plmjgmfnamh d =
  let v = default_plmjgmfnamh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(plmjgmfnamh), field(11)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.hgnfloilneg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(plmjgmfnamh), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    hgnfloilneg = v.hgnfloilneg;
  } : plmjgmfnamh)

let rec decode_pb_agmlhcjehnp d =
  let v = default_agmlhcjehnp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.ijnpccndcgi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agmlhcjehnp), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ijnpccndcgi = v.ijnpccndcgi;
  } : agmlhcjehnp)

let rec decode_pb_nomomdajgjp d =
  let v = default_nomomdajgjp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nomomdajgjp), field(8)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.hfcakgghnim <- Some (decode_pb_lekclmamabb (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nomomdajgjp), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    hfcakgghnim = v.hfcakgghnim;
  } : nomomdajgjp)

let rec decode_pb_gchmilhlfik d =
  let v = default_gchmilhlfik_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.hgpelgifadf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gchmilhlfik), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgpelgifadf = v.hgpelgifadf;
  } : gchmilhlfik)

let rec decode_pb_mhplggpbphh d =
  let v = default_mhplggpbphh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mhplggpbphh), field(7)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.hgpelgifadf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mhplggpbphh), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    hgpelgifadf = v.hgpelgifadf;
  } : mhplggpbphh)

let rec decode_pb_gmbfnmhknfe d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(gmbfnmhknfe)" pk

let rec decode_pb_eeeiakoijdp d =
  let v = default_eeeiakoijdp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eeeiakoijdp), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : eeeiakoijdp)

let rec decode_pb_mfldbdcofoa d =
  let v = default_mfldbdcofoa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bdnbfapkglb <- List.rev v.bdnbfapkglb;
      v.gapieppjlaa <- List.rev v.gapieppjlaa;
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mfldbdcofoa), field(8)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.mgdnainpahe <- decode_pb_depohhphajh d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mfldbdcofoa), field(11)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.bfhblojhfbn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mfldbdcofoa), field(5)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.kmlmaidhiid <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mfldbdcofoa), field(2)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.ijnpccndcgi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mfldbdcofoa), field(12)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.ppgoielepbp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mfldbdcofoa), field(13)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.gapieppjlaa <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mfldbdcofoa), field(9)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.bdnbfapkglb <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mfldbdcofoa), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    reward = v.reward;
    mgdnainpahe = v.mgdnainpahe;
    bfhblojhfbn = v.bfhblojhfbn;
    kmlmaidhiid = v.kmlmaidhiid;
    ijnpccndcgi = v.ijnpccndcgi;
    ppgoielepbp = v.ppgoielepbp;
    gapieppjlaa = v.gapieppjlaa;
    bdnbfapkglb = v.bdnbfapkglb;
  } : mfldbdcofoa)

let rec decode_pb_jmhlacoghih d =
  let v = default_jmhlacoghih_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hhegkljjdol <- List.rev v.hhegkljjdol;
      v.pmlhjpikfne <- List.rev v.pmlhjpikfne;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.pmlhjpikfne <- (decode_pb_dgipcmolhdc (Pbrt.Decoder.nested d)) :: v.pmlhjpikfne;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jmhlacoghih), field(13)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.hhegkljjdol <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jmhlacoghih), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pmlhjpikfne = v.pmlhjpikfne;
    hhegkljjdol = v.hhegkljjdol;
  } : jmhlacoghih)

let rec decode_pb_jmdpmflhhji d =
  let v = default_jmdpmflhhji_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.pflbmbdfmoa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jmdpmflhhji), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pflbmbdfmoa = v.pflbmbdfmoa;
  } : jmdpmflhhji)

let rec decode_pb_caljhhoopfm d =
  let v = default_caljhhoopfm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(caljhhoopfm), field(1)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.pflbmbdfmoa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(caljhhoopfm), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    pflbmbdfmoa = v.pflbmbdfmoa;
  } : caljhhoopfm)

let rec decode_pb_bcjhagmagmg d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(bcjhagmagmg)" pk

let rec decode_pb_bdiokbdhahk d =
  let v = default_bdiokbdhahk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.hfcakgghnim <- Some (decode_pb_lekclmamabb (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bdiokbdhahk), field(7)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bdiokbdhahk), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hfcakgghnim = v.hfcakgghnim;
    retcode = v.retcode;
  } : bdiokbdhahk)

let rec decode_pb_cgionkcjglk d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(cgionkcjglk)" pk

let rec decode_pb_mkfdpmdlmhf d =
  let v = default_mkfdpmdlmhf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mkfdpmdlmhf), field(3)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mkfdpmdlmhf), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ibllilenejp = v.ibllilenejp;
  } : mkfdpmdlmhf)

let rec decode_pb_fplmkenpnjj d =
  let v = default_fplmkenpnjj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.egjnanlfing <- List.rev v.egjnanlfing;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.egjnanlfing <- (decode_pb_gmmbihcfkoj (Pbrt.Decoder.nested d)) :: v.egjnanlfing;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fplmkenpnjj), field(10)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.feolddnidjp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fplmkenpnjj), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    egjnanlfing = v.egjnanlfing;
    feolddnidjp = v.feolddnidjp;
  } : fplmkenpnjj)

let rec decode_pb_bjkiikoohdi d =
  let v = default_bjkiikoohdi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.ijnpccndcgi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bjkiikoohdi), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ijnpccndcgi = v.ijnpccndcgi;
  } : bjkiikoohdi)

let rec decode_pb_mkbnigandmh d =
  let v = default_mkbnigandmh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mkbnigandmh), field(13)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.hfcakgghnim <- Some (decode_pb_lekclmamabb (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mkbnigandmh), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    hfcakgghnim = v.hfcakgghnim;
  } : mkbnigandmh)

let rec decode_pb_kbeomioccmo d =
  let v = default_kbeomioccmo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.hgnfloilneg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbeomioccmo), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgnfloilneg = v.hgnfloilneg;
  } : kbeomioccmo)

let rec decode_pb_gikfodcelhm d =
  let v = default_gikfodcelhm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.hgnfloilneg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gikfodcelhm), field(15)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gikfodcelhm), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgnfloilneg = v.hgnfloilneg;
    retcode = v.retcode;
  } : gikfodcelhm)

let rec decode_pb_kkohobkjepb d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(kkohobkjepb)" pk

let rec decode_pb_hmkelhaiieo d =
  let v = default_hmkelhaiieo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hmkelhaiieo), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : hmkelhaiieo)

let rec decode_pb_nipddckankc d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_player_sync_none:nipddckankc)
  | 668 -> (Cmd_player_sync_sc_notify:nipddckankc)
  | _ -> Pbrt.Decoder.malformed_variant "nipddckankc"

let rec decode_pb_dfilomffafd d =
  let v = default_dfilomffafd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.pnoolmohieh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dfilomffafd), field(13)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.stamina <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dfilomffafd), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pnoolmohieh = v.pnoolmohieh;
    stamina = v.stamina;
  } : dfilomffafd)

let rec decode_pb_amdcchadhnj d =
  let v = default_amdcchadhnj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.djjdncbpmfk <- List.rev v.djjdncbpmfk;
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.djjdncbpmfk <- (decode_pb_ilmpdolbflp (Pbrt.Decoder.nested d)) :: v.djjdncbpmfk;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(amdcchadhnj), field(14)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.cpkikinabfj <- Pbrt.Decoder.string d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(amdcchadhnj), field(13)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.kdpdlgbfimd <- Pbrt.Decoder.bool d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(amdcchadhnj), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    djjdncbpmfk = v.djjdncbpmfk;
    cpkikinabfj = v.cpkikinabfj;
    kdpdlgbfimd = v.kdpdlgbfimd;
  } : amdcchadhnj)

let rec decode_pb_mgigkpibcid d =
  let v = default_mgigkpibcid_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_list <- List.rev v.avatar_list;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.avatar_list <- (decode_pb_avatar (Pbrt.Decoder.nested d)) :: v.avatar_list;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mgigkpibcid), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_list = v.avatar_list;
  } : mgigkpibcid)

let rec decode_pb_oiofbfhdfci d =
  let v = default_oiofbfhdfci_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.limpnlbchpl <- List.rev v.limpnlbchpl;
      v.dgoigglciko <- List.rev v.dgoigglciko;
      v.mapjkehplbn <- List.rev v.mapjkehplbn;
      v.hjnfpofkanm <- List.rev v.hjnfpofkanm;
      v.ommnpnbabhn <- List.rev v.ommnpnbabhn;
      v.ipodiiadolh <- List.rev v.ipodiiadolh;
      v.goojfjoomdc <- List.rev v.goojfjoomdc;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.goojfjoomdc <- (decode_pb_dlompnobmja (Pbrt.Decoder.nested d)) :: v.goojfjoomdc;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oiofbfhdfci), field(7)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.ipodiiadolh <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oiofbfhdfci), field(10)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.ommnpnbabhn <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oiofbfhdfci), field(6)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.hjnfpofkanm <- (decode_pb_mission (Pbrt.Decoder.nested d)) :: v.hjnfpofkanm;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oiofbfhdfci), field(12)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.mapjkehplbn <- (decode_pb_ihgeeangifc (Pbrt.Decoder.nested d)) :: v.mapjkehplbn;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oiofbfhdfci), field(5)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.dgoigglciko <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oiofbfhdfci), field(9)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.limpnlbchpl <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oiofbfhdfci), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    goojfjoomdc = v.goojfjoomdc;
    ipodiiadolh = v.ipodiiadolh;
    ommnpnbabhn = v.ommnpnbabhn;
    hjnfpofkanm = v.hjnfpofkanm;
    mapjkehplbn = v.mapjkehplbn;
    dgoigglciko = v.dgoigglciko;
    limpnlbchpl = v.limpnlbchpl;
  } : oiofbfhdfci)

let rec decode_pb_anfldllfjhp d =
  let v = default_anfldllfjhp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.gogjmmkhilb <- List.rev v.gogjmmkhilb;
      v.mkbbddpdmoi <- List.rev v.mkbbddpdmoi;
      v.nloponhbgod <- List.rev v.nloponhbgod;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.nloponhbgod <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(anfldllfjhp), field(13)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.mkbbddpdmoi <- (decode_pb_mission (Pbrt.Decoder.nested d)) :: v.mkbbddpdmoi;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(anfldllfjhp), field(8)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.gogjmmkhilb <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(anfldllfjhp), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    nloponhbgod = v.nloponhbgod;
    mkbbddpdmoi = v.mkbbddpdmoi;
    gogjmmkhilb = v.gogjmmkhilb;
  } : anfldllfjhp)

let rec decode_pb_cbpblopaocm d =
  let v = default_cbpblopaocm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bcedhodkdna <- List.rev v.bcedhodkdna;
      v.kmfpienacdg <- List.rev v.kmfpienacdg;
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.kmfpienacdg <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbpblopaocm), field(4)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.bcedhodkdna <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbpblopaocm), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kmfpienacdg = v.kmfpienacdg;
    bcedhodkdna = v.bcedhodkdna;
  } : cbpblopaocm)

let rec decode_pb_nfccnkngbke d =
  let v = default_nfccnkngbke_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.cokophbhocf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nfccnkngbke), field(6)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.kagnbjdmamf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nfccnkngbke), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cokophbhocf = v.cokophbhocf;
    kagnbjdmamf = v.kagnbjdmamf;
  } : nfccnkngbke)

let rec decode_pb_fflpjlakgim d =
  let v = default_fflpjlakgim_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.epdnicajoli <- List.rev v.epdnicajoli;
      v.diocdcpkolk <- List.rev v.diocdcpkolk;
      v.egmlhakbkmc <- List.rev v.egmlhakbkmc;
      v.pdljebofmep <- List.rev v.pdljebofmep;
      v.mongepojhkd <- List.rev v.mongepojhkd;
      v.cbhiiikinol <- List.rev v.cbhiiikinol;
      v.mjbalomkgdg <- List.rev v.mjbalomkgdg;
      v.emfekeedafc <- List.rev v.emfekeedafc;
      v.pnlbagbglfd <- List.rev v.pnlbagbglfd;
      v.flnjichokac <- List.rev v.flnjichokac;
      v.deadfemndnk <- List.rev v.deadfemndnk;
      v.equipment_list <- List.rev v.equipment_list;
      v.relic_list <- List.rev v.relic_list;
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.basic_info <- Some (decode_pb_player_basic_info (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fflpjlakgim), field(4)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.relic_list <- (decode_pb_lhpihhdiplm (Pbrt.Decoder.nested d)) :: v.relic_list;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fflpjlakgim), field(7)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.equipment_list <- (decode_pb_mdlbakehplp (Pbrt.Decoder.nested d)) :: v.equipment_list;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fflpjlakgim), field(5)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.deadfemndnk <- (decode_pb_ipcffjhaijg (Pbrt.Decoder.nested d)) :: v.deadfemndnk;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fflpjlakgim), field(2)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.melkjffjnkb <- Some (decode_pb_oiofbfhdfci (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fflpjlakgim), field(9)" pk
    | Some (345, Pbrt.Bytes) -> begin
      v.flnjichokac <- (decode_pb_aoacdcgcmej (Pbrt.Decoder.nested d)) :: v.flnjichokac;
    end
    | Some (345, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fflpjlakgim), field(345)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.pnlbagbglfd <- (decode_pb_eejpmepikga (Pbrt.Decoder.nested d)) :: v.pnlbagbglfd;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fflpjlakgim), field(1)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.emfekeedafc <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fflpjlakgim), field(8)" pk
    | Some (1546, Pbrt.Bytes) -> begin
      v.mjbalomkgdg <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1546, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fflpjlakgim), field(1546)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.dbnddbjfikl <- Some (decode_pb_anfldllfjhp (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fflpjlakgim), field(13)" pk
    | Some (1325, Pbrt.Bytes) -> begin
      v.cbhiiikinol <- (decode_pb_nfccnkngbke (Pbrt.Decoder.nested d)) :: v.cbhiiikinol;
    end
    | Some (1325, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fflpjlakgim), field(1325)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.egbapniokip <- Some (decode_pb_mgigkpibcid (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fflpjlakgim), field(10)" pk
    | Some (1592, Pbrt.Bytes) -> begin
      v.mongepojhkd <- (decode_pb_jnicjgmnafm (Pbrt.Decoder.nested d)) :: v.mongepojhkd;
    end
    | Some (1592, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fflpjlakgim), field(1592)" pk
    | Some (1273, Pbrt.Bytes) -> begin
      v.mkijkaoaokm <- Some (decode_pb_amdcchadhnj (Pbrt.Decoder.nested d));
    end
    | Some (1273, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fflpjlakgim), field(1273)" pk
    | Some (1522, Pbrt.Varint) -> begin
      v.igcimdmbdfa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1522, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fflpjlakgim), field(1522)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.pbppjohlbad <- Some (decode_pb_dfilomffafd (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fflpjlakgim), field(3)" pk
    | Some (1100, Pbrt.Bytes) -> begin
      v.pdljebofmep <- (decode_pb_dejjkifldfb (Pbrt.Decoder.nested d)) :: v.pdljebofmep;
    end
    | Some (1100, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fflpjlakgim), field(1100)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.egmlhakbkmc <- (decode_pb_aoacdcgcmej (Pbrt.Decoder.nested d)) :: v.egmlhakbkmc;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fflpjlakgim), field(14)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.diocdcpkolk <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fflpjlakgim), field(12)" pk
    | Some (1834, Pbrt.Bytes) -> begin
      v.epdnicajoli <- (decode_pb_multi_path_avatar (Pbrt.Decoder.nested d)) :: v.epdnicajoli;
    end
    | Some (1834, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fflpjlakgim), field(1834)" pk
    | Some (969, Pbrt.Bytes) -> begin
      v.ilcelhlkamj <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (969, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fflpjlakgim), field(969)" pk
    | Some (1221, Pbrt.Bytes) -> begin
      v.gigmmbhcdij <- Some (decode_pb_cbpblopaocm (Pbrt.Decoder.nested d));
    end
    | Some (1221, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fflpjlakgim), field(1221)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    basic_info = v.basic_info;
    relic_list = v.relic_list;
    equipment_list = v.equipment_list;
    deadfemndnk = v.deadfemndnk;
    melkjffjnkb = v.melkjffjnkb;
    flnjichokac = v.flnjichokac;
    pnlbagbglfd = v.pnlbagbglfd;
    emfekeedafc = v.emfekeedafc;
    mjbalomkgdg = v.mjbalomkgdg;
    dbnddbjfikl = v.dbnddbjfikl;
    cbhiiikinol = v.cbhiiikinol;
    egbapniokip = v.egbapniokip;
    mongepojhkd = v.mongepojhkd;
    mkijkaoaokm = v.mkijkaoaokm;
    igcimdmbdfa = v.igcimdmbdfa;
    pbppjohlbad = v.pbppjohlbad;
    pdljebofmep = v.pdljebofmep;
    egmlhakbkmc = v.egmlhakbkmc;
    diocdcpkolk = v.diocdcpkolk;
    epdnicajoli = v.epdnicajoli;
    ilcelhlkamj = v.ilcelhlkamj;
    gigmmbhcdij = v.gigmmbhcdij;
  } : fflpjlakgim)

let rec decode_pb_klcejfngnia d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_talk_reward_type_none:klcejfngnia)
  | 2148 -> (Cmd_finish_first_talk_by_performance_npc_sc_rsp:klcejfngnia)
  | 2139 -> (Cmd_finish_first_talk_npc_cs_req:klcejfngnia)
  | 2143 -> (Cmd_take_talk_reward_sc_rsp:klcejfngnia)
  | 2129 -> (Cmd_finish_first_talk_npc_sc_rsp:klcejfngnia)
  | 2151 -> (Cmd_select_inclination_text_cs_req:klcejfngnia)
  | 2193 -> (Cmd_get_first_talk_npc_sc_rsp:klcejfngnia)
  | 2133 -> (Cmd_select_inclination_text_sc_rsp:klcejfngnia)
  | 2156 -> (Cmd_get_first_talk_npc_cs_req:klcejfngnia)
  | 2165 -> (Cmd_finish_first_talk_by_performance_npc_cs_req:klcejfngnia)
  | 2106 -> (Cmd_get_npc_taken_reward_sc_rsp:klcejfngnia)
  | 2154 -> (Cmd_get_first_talk_by_performance_npc_sc_rsp:klcejfngnia)
  | 2199 -> (Cmd_get_first_talk_by_performance_npc_cs_req:klcejfngnia)
  | 2111 -> (Cmd_take_talk_reward_cs_req:klcejfngnia)
  | 2168 -> (Cmd_get_npc_taken_reward_cs_req:klcejfngnia)
  | _ -> Pbrt.Decoder.malformed_variant "klcejfngnia"

let rec decode_pb_apmclbiejpn d =
  let v = default_apmclbiejpn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.pnigjhppmln <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(apmclbiejpn), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pnigjhppmln = v.pnigjhppmln;
  } : apmclbiejpn)

let rec decode_pb_hncebojkknh d =
  let v = default_hncebojkknh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ombidcbhbod <- List.rev v.ombidcbhbod;
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.ombidcbhbod <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hncebojkknh), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hncebojkknh), field(5)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.pnigjhppmln <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hncebojkknh), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ombidcbhbod = v.ombidcbhbod;
    retcode = v.retcode;
    pnigjhppmln = v.pnigjhppmln;
  } : hncebojkknh)

let rec decode_pb_bjbhlbkodjk d =
  let v = default_bjbhlbkodjk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.hcjlnnfiogc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bjbhlbkodjk), field(6)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.hhakfcdngok <- Some (decode_pb_vector (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bjbhlbkodjk), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hcjlnnfiogc = v.hcjlnnfiogc;
    hhakfcdngok = v.hhakfcdngok;
  } : bjbhlbkodjk)

let rec decode_pb_jdmnghmikgh d =
  let v = default_jdmnghmikgh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.hcjlnnfiogc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jdmnghmikgh), field(1)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jdmnghmikgh), field(7)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jdmnghmikgh), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hcjlnnfiogc = v.hcjlnnfiogc;
    reward = v.reward;
    retcode = v.retcode;
  } : jdmnghmikgh)

let rec decode_pb_gpjfibhdkhh d =
  let v = default_gpjfibhdkhh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.knncoohambc <- List.rev v.knncoohambc;
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.knncoohambc <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gpjfibhdkhh), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    knncoohambc = v.knncoohambc;
  } : gpjfibhdkhh)

let rec decode_pb_caelfpofmmj d =
  let v = default_caelfpofmmj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.fhhkhmdleno <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(caelfpofmmj), field(1)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.elalbdgiapo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(caelfpofmmj), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fhhkhmdleno = v.fhhkhmdleno;
    elalbdgiapo = v.elalbdgiapo;
  } : caelfpofmmj)

let rec decode_pb_lgpphodkglk d =
  let v = default_lgpphodkglk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.lljmpejacne <- List.rev v.lljmpejacne;
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.lljmpejacne <- (decode_pb_caelfpofmmj (Pbrt.Decoder.nested d)) :: v.lljmpejacne;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lgpphodkglk), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lgpphodkglk), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lljmpejacne = v.lljmpejacne;
    retcode = v.retcode;
  } : lgpphodkglk)

let rec decode_pb_ejfomkhdopf d =
  let v = default_ejfomkhdopf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.elalbdgiapo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ejfomkhdopf), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    elalbdgiapo = v.elalbdgiapo;
  } : ejfomkhdopf)

let rec decode_pb_clbhecajmon d =
  let v = default_clbhecajmon_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.elalbdgiapo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(clbhecajmon), field(10)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(clbhecajmon), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    elalbdgiapo = v.elalbdgiapo;
    retcode = v.retcode;
  } : clbhecajmon)

let rec decode_pb_jjkdobellnm d =
  let v = default_jjkdobellnm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.daeehalilod <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jjkdobellnm), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    daeehalilod = v.daeehalilod;
  } : jjkdobellnm)

let rec decode_pb_bbfjcpghojm d =
  let v = default_bbfjcpghojm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bbfjcpghojm), field(10)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.daeehalilod <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bbfjcpghojm), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    daeehalilod = v.daeehalilod;
  } : bbfjcpghojm)

let rec decode_pb_afkjnogkidl d =
  let v = default_afkjnogkidl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.fbekcndnmfe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afkjnogkidl), field(13)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.fhhkhmdleno <- Pbrt.Decoder.bool d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(afkjnogkidl), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fbekcndnmfe = v.fbekcndnmfe;
    fhhkhmdleno = v.fhhkhmdleno;
  } : afkjnogkidl)

let rec decode_pb_pbcoigienpa d =
  let v = default_pbcoigienpa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.klbckeejghh <- List.rev v.klbckeejghh;
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.klbckeejghh <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pbcoigienpa), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    klbckeejghh = v.klbckeejghh;
  } : pbcoigienpa)

let rec decode_pb_jgmliannaif d =
  let v = default_jgmliannaif_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.lljmpejacne <- List.rev v.lljmpejacne;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.lljmpejacne <- (decode_pb_afkjnogkidl (Pbrt.Decoder.nested d)) :: v.lljmpejacne;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jgmliannaif), field(9)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jgmliannaif), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lljmpejacne = v.lljmpejacne;
    retcode = v.retcode;
  } : jgmliannaif)

let rec decode_pb_ldkphhejnmm d =
  let v = default_ldkphhejnmm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.fbekcndnmfe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ldkphhejnmm), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fbekcndnmfe = v.fbekcndnmfe;
  } : ldkphhejnmm)

let rec decode_pb_bbdmebkcoem d =
  let v = default_bbdmebkcoem_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bbdmebkcoem), field(10)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.fbekcndnmfe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bbdmebkcoem), field(6)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bbdmebkcoem), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    fbekcndnmfe = v.fbekcndnmfe;
    reward = v.reward;
  } : bbdmebkcoem)

let rec decode_pb_pdmgpjhhpbn d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_television_activity_type_none:pdmgpjhhpbn)
  | 6963 -> (Cmd_get_television_activity_data_sc_rsp:pdmgpjhhpbn)
  | 6979 -> (Cmd_get_television_activity_data_cs_req:pdmgpjhhpbn)
  | 6972 -> (Cmd_television_activity_data_change_sc_notify:pdmgpjhhpbn)
  | 6962 -> (Cmd_television_activity_battle_end_sc_notify:pdmgpjhhpbn)
  | 6980 -> (Cmd_enter_television_activity_stage_cs_req:pdmgpjhhpbn)
  | 6964 -> (Cmd_enter_television_activity_stage_sc_rsp:pdmgpjhhpbn)
  | _ -> Pbrt.Decoder.malformed_variant "pdmgpjhhpbn"

let rec decode_pb_glilglpgodo d =
  let v = default_glilglpgodo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.ppoegdhjlke <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glilglpgodo), field(9)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.gakmanenkmh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glilglpgodo), field(2)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.lbggbhfhdeg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(glilglpgodo), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ppoegdhjlke = v.ppoegdhjlke;
    gakmanenkmh = v.gakmanenkmh;
    lbggbhfhdeg = v.lbggbhfhdeg;
  } : glilglpgodo)

let rec decode_pb_nbilebkmmfk d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(nbilebkmmfk)" pk

let rec decode_pb_bjjcffhmopd d =
  let v = default_bjjcffhmopd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.kcgjglleflg <- List.rev v.kcgjglleflg;
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.kcgjglleflg <- (decode_pb_glilglpgodo (Pbrt.Decoder.nested d)) :: v.kcgjglleflg;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bjjcffhmopd), field(12)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bjjcffhmopd), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kcgjglleflg = v.kcgjglleflg;
    retcode = v.retcode;
  } : bjjcffhmopd)

let rec decode_pb_mpbdgeailof d =
  let v = default_mpbdgeailof_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.kcgjglleflg <- List.rev v.kcgjglleflg;
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.kcgjglleflg <- (decode_pb_glilglpgodo (Pbrt.Decoder.nested d)) :: v.kcgjglleflg;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mpbdgeailof), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kcgjglleflg = v.kcgjglleflg;
  } : mpbdgeailof)

let rec decode_pb_eojghonebdd d =
  let v = default_eojghonebdd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.anjcemifefc <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eojghonebdd), field(12)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.hpegmhpcfem <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eojghonebdd), field(2)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.mokbbafhbjn <- Some (decode_pb_glilglpgodo (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eojghonebdd), field(1)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.mahiocfcikf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eojghonebdd), field(8)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.mphcmmfkpog <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eojghonebdd), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    anjcemifefc = v.anjcemifefc;
    hpegmhpcfem = v.hpegmhpcfem;
    mokbbafhbjn = v.mokbbafhbjn;
    mahiocfcikf = v.mahiocfcikf;
    mphcmmfkpog = v.mphcmmfkpog;
  } : eojghonebdd)

let rec decode_pb_poklpkkcaad d =
  let v = default_poklpkkcaad_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(poklpkkcaad), field(5)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(poklpkkcaad), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_type = v.avatar_type;
    avatar_id = v.avatar_id;
  } : poklpkkcaad)

let rec decode_pb_fbjjlepeflm d =
  let v = default_fbjjlepeflm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_list <- List.rev v.avatar_list;
      v.buff_list <- List.rev v.buff_list;
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.ppoegdhjlke <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fbjjlepeflm), field(13)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.buff_list <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fbjjlepeflm), field(1)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.avatar_list <- (decode_pb_poklpkkcaad (Pbrt.Decoder.nested d)) :: v.avatar_list;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fbjjlepeflm), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ppoegdhjlke = v.ppoegdhjlke;
    buff_list = v.buff_list;
    avatar_list = v.avatar_list;
  } : fbjjlepeflm)

let rec decode_pb_egaindjnekn d =
  let v = default_egaindjnekn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egaindjnekn), field(13)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egaindjnekn), field(11)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.ppoegdhjlke <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egaindjnekn), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    ibllilenejp = v.ibllilenejp;
    ppoegdhjlke = v.ppoegdhjlke;
  } : egaindjnekn)

let rec decode_pb_blnbpchkmop d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_text_join_type_none:blnbpchkmop)
  | 3811 -> (Cmd_text_join_query_cs_req:blnbpchkmop)
  | 3843 -> (Cmd_text_join_query_sc_rsp:blnbpchkmop)
  | 3806 -> (Cmd_text_join_save_sc_rsp:blnbpchkmop)
  | 3893 -> (Cmd_text_join_batch_save_sc_rsp:blnbpchkmop)
  | 3856 -> (Cmd_text_join_batch_save_cs_req:blnbpchkmop)
  | 3868 -> (Cmd_text_join_save_cs_req:blnbpchkmop)
  | _ -> Pbrt.Decoder.malformed_variant "blnbpchkmop"

let rec decode_pb_okgmgbpllhg d =
  let v = default_okgmgbpllhg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.hfhomlnogbc <- Pbrt.Decoder.string d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(okgmgbpllhg), field(15)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.aiecnaafflj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(okgmgbpllhg), field(4)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.emamkmopfci <- Pbrt.Decoder.string d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(okgmgbpllhg), field(7)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.akjcolodghe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(okgmgbpllhg), field(11)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.doblbefaofp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(okgmgbpllhg), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hfhomlnogbc = v.hfhomlnogbc;
    aiecnaafflj = v.aiecnaafflj;
    emamkmopfci = v.emamkmopfci;
    akjcolodghe = v.akjcolodghe;
    doblbefaofp = v.doblbefaofp;
  } : okgmgbpllhg)

let rec decode_pb_dmlpggkagbh d =
  let v = default_dmlpggkagbh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Bytes) -> begin
      v.hfhomlnogbc <- Pbrt.Decoder.string d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dmlpggkagbh), field(12)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.aiecnaafflj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dmlpggkagbh), field(10)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.akjcolodghe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dmlpggkagbh), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hfhomlnogbc = v.hfhomlnogbc;
    aiecnaafflj = v.aiecnaafflj;
    akjcolodghe = v.akjcolodghe;
  } : dmlpggkagbh)

let rec decode_pb_ajcbkjegiin d =
  let v = default_ajcbkjegiin_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.akjcolodghe <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ajcbkjegiin), field(12)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.aiecnaafflj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ajcbkjegiin), field(13)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ajcbkjegiin), field(15)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.hfhomlnogbc <- Pbrt.Decoder.string d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ajcbkjegiin), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    akjcolodghe = v.akjcolodghe;
    aiecnaafflj = v.aiecnaafflj;
    retcode = v.retcode;
    hfhomlnogbc = v.hfhomlnogbc;
  } : ajcbkjegiin)

let rec decode_pb_cifieflilcg d =
  let v = default_cifieflilcg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.hpoppknopda <- List.rev v.hpoppknopda;
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.hpoppknopda <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cifieflilcg), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hpoppknopda = v.hpoppknopda;
  } : cifieflilcg)

let rec decode_pb_aacbnhhcjcf d =
  let v = default_aacbnhhcjcf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.komlgafbhol <- List.rev v.komlgafbhol;
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aacbnhhcjcf), field(10)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.komlgafbhol <- (decode_pb_okgmgbpllhg (Pbrt.Decoder.nested d)) :: v.komlgafbhol;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(aacbnhhcjcf), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    komlgafbhol = v.komlgafbhol;
  } : aacbnhhcjcf)

let rec decode_pb_mcmibjbpcpc d =
  let v = default_mcmibjbpcpc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.komlgafbhol <- List.rev v.komlgafbhol;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.komlgafbhol <- (decode_pb_okgmgbpllhg (Pbrt.Decoder.nested d)) :: v.komlgafbhol;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mcmibjbpcpc), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    komlgafbhol = v.komlgafbhol;
  } : mcmibjbpcpc)

let rec decode_pb_onfphghabkn d =
  let v = default_onfphghabkn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.komlgafbhol <- List.rev v.komlgafbhol;
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(onfphghabkn), field(8)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.komlgafbhol <- (decode_pb_okgmgbpllhg (Pbrt.Decoder.nested d)) :: v.komlgafbhol;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(onfphghabkn), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    komlgafbhol = v.komlgafbhol;
  } : onfphghabkn)

let rec decode_pb_ppefpjcekag d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_track_photo_activity_type_none:ppefpjcekag)
  | 7556 -> (Cmd_start_track_photo_stage_sc_rsp:ppefpjcekag)
  | 7559 -> (Cmd_settle_track_photo_stage_cs_req:ppefpjcekag)
  | 7557 -> (Cmd_quit_track_photo_stage_cs_req:ppefpjcekag)
  | 7551 -> (Cmd_get_track_photo_activity_data_cs_req:ppefpjcekag)
  | 7560 -> (Cmd_settle_track_photo_stage_sc_rsp:ppefpjcekag)
  | 7552 -> (Cmd_start_track_photo_stage_cs_req:ppefpjcekag)
  | 7553 -> (Cmd_quit_track_photo_stage_sc_rsp:ppefpjcekag)
  | 7554 -> (Cmd_get_track_photo_activity_data_sc_rsp:ppefpjcekag)
  | _ -> Pbrt.Decoder.malformed_variant "ppefpjcekag"

let rec decode_pb_dkmgobmngna d =
  let v = default_dkmgobmngna_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.gakmanenkmh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dkmgobmngna), field(5)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dkmgobmngna), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gakmanenkmh = v.gakmanenkmh;
    stage_id = v.stage_id;
  } : dkmgobmngna)

let rec decode_pb_jlmpepajfgn d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(jlmpepajfgn)" pk

let rec decode_pb_caihfoekdkg d =
  let v = default_caihfoekdkg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.loiacnoghal <- List.rev v.loiacnoghal;
    ); continue__ := false
    | Some (6, Pbrt.Bytes) -> begin
      v.loiacnoghal <- (decode_pb_dkmgobmngna (Pbrt.Decoder.nested d)) :: v.loiacnoghal;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(caihfoekdkg), field(6)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(caihfoekdkg), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    loiacnoghal = v.loiacnoghal;
    retcode = v.retcode;
  } : caihfoekdkg)

let rec decode_pb_bhbmdjfabkp d =
  let v = default_bhbmdjfabkp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.phkkegggmdi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bhbmdjfabkp), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.cikiifgkobo <- Pbrt.Decoder.bool d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bhbmdjfabkp), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    phkkegggmdi = v.phkkegggmdi;
    cikiifgkobo = v.cikiifgkobo;
  } : bhbmdjfabkp)

let rec decode_pb_blhbkgmhioi d =
  let v = default_blhbkgmhioi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.llicomkidom <- List.rev v.llicomkidom;
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.llicomkidom <- (decode_pb_bhbmdjfabkp (Pbrt.Decoder.nested d)) :: v.llicomkidom;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blhbkgmhioi), field(3)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blhbkgmhioi), field(11)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.cost_time <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(blhbkgmhioi), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    llicomkidom = v.llicomkidom;
    stage_id = v.stage_id;
    cost_time = v.cost_time;
  } : blhbkgmhioi)

let rec decode_pb_kbmejebjblb d =
  let v = default_kbmejebjblb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.llicomkidom <- List.rev v.llicomkidom;
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.llicomkidom <- (decode_pb_bhbmdjfabkp (Pbrt.Decoder.nested d)) :: v.llicomkidom;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbmejebjblb), field(14)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.lpgaoolbbfm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbmejebjblb), field(5)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbmejebjblb), field(13)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kbmejebjblb), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    llicomkidom = v.llicomkidom;
    lpgaoolbbfm = v.lpgaoolbbfm;
    retcode = v.retcode;
    stage_id = v.stage_id;
  } : kbmejebjblb)

let rec decode_pb_oejfojfeook d =
  let v = default_oejfojfeook_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oejfojfeook), field(14)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.nipjabamela <- Pbrt.Decoder.bool d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oejfojfeook), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    stage_id = v.stage_id;
    nipjabamela = v.nipjabamela;
  } : oejfojfeook)

let rec decode_pb_hlhbilfmihg d =
  let v = default_hlhbilfmihg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.fnpojgdggpm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hlhbilfmihg), field(11)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hlhbilfmihg), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fnpojgdggpm = v.fnpojgdggpm;
    retcode = v.retcode;
  } : hlhbilfmihg)

let rec decode_pb_pifnkahjacn d =
  let v = default_pifnkahjacn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.stage_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pifnkahjacn), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    stage_id = v.stage_id;
  } : pifnkahjacn)

let rec decode_pb_ekacihfcebb d =
  let v = default_ekacihfcebb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ekacihfcebb), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : ekacihfcebb)

let rec decode_pb_hcgenkapobn d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_train_visitor_type_none:hcgenkapobn)
  | 3751 -> (Cmd_take_train_visitor_untaken_behavior_reward_cs_req:hcgenkapobn)
  | 3711 -> (Cmd_get_train_visitor_behavior_cs_req:hcgenkapobn)
  | 3743 -> (Cmd_get_train_visitor_behavior_sc_rsp:hcgenkapobn)
  | 3729 -> (Cmd_get_train_visitor_register_sc_rsp:hcgenkapobn)
  | 3793 -> (Cmd_train_visitor_reward_send_notify:hcgenkapobn)
  | 3733 -> (Cmd_take_train_visitor_untaken_behavior_reward_sc_rsp:hcgenkapobn)
  | 3706 -> (Cmd_train_visitor_behavior_finish_sc_rsp:hcgenkapobn)
  | 3754 -> (Cmd_show_new_supplement_visitor_sc_rsp:hcgenkapobn)
  | 3799 -> (Cmd_show_new_supplement_visitor_cs_req:hcgenkapobn)
  | 3756 -> (Cmd_train_refresh_time_notify:hcgenkapobn)
  | 3768 -> (Cmd_train_visitor_behavior_finish_cs_req:hcgenkapobn)
  | 3739 -> (Cmd_get_train_visitor_register_cs_req:hcgenkapobn)
  | _ -> Pbrt.Decoder.malformed_variant "hcgenkapobn"

let rec decode_pb_indhbbjiean d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Train_visitor_reward_send_none:indhbbjiean)
  | 1 -> (Train_visitor_reward_send_register:indhbbjiean)
  | 2 -> (Train_visitor_reward_send_mission:indhbbjiean)
  | _ -> Pbrt.Decoder.malformed_variant "indhbbjiean"

let rec decode_pb_ffppaobdjgo d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Train_visitor_status_none:ffppaobdjgo)
  | 1 -> (Train_visitor_status_init:ffppaobdjgo)
  | 2 -> (Train_visitor_status_get_on:ffppaobdjgo)
  | 3 -> (Train_visitor_status_get_off:ffppaobdjgo)
  | _ -> Pbrt.Decoder.malformed_variant "ffppaobdjgo"

let rec decode_pb_heppgbeaopd d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Train_visitor_register_get_type_none:heppgbeaopd)
  | 1 -> (Train_visitor_register_get_type_auto:heppgbeaopd)
  | 2 -> (Train_visitor_register_get_type_manual:heppgbeaopd)
  | _ -> Pbrt.Decoder.malformed_variant "heppgbeaopd"

let rec decode_pb_imehehjilbf d =
  let v = default_imehehjilbf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.fhhkhmdleno <- Pbrt.Decoder.bool d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(imehehjilbf), field(14)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.kjdlimfggmd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(imehehjilbf), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fhhkhmdleno = v.fhhkhmdleno;
    kjdlimfggmd = v.kjdlimfggmd;
  } : imehehjilbf)

let rec decode_pb_jcoigmjglmi d =
  let v = default_jcoigmjglmi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.kjdlimfggmd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jcoigmjglmi), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kjdlimfggmd = v.kjdlimfggmd;
  } : jcoigmjglmi)

let rec decode_pb_pbhnlblmpaa d =
  let v = default_pbhnlblmpaa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pbhnlblmpaa), field(1)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.kjdlimfggmd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pbhnlblmpaa), field(10)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pbhnlblmpaa), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    reward = v.reward;
    kjdlimfggmd = v.kjdlimfggmd;
    retcode = v.retcode;
  } : pbhnlblmpaa)

let rec decode_pb_fpkkikjjnjo d =
  let v = default_fpkkikjjnjo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.gppailmfnpc <- List.rev v.gppailmfnpc;
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.gppailmfnpc <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fpkkikjjnjo), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    gppailmfnpc = v.gppailmfnpc;
  } : fpkkikjjnjo)

let rec decode_pb_flkndlkfapo d =
  let v = default_flkndlkfapo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.aaiiofpbclc <- List.rev v.aaiiofpbclc;
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(flkndlkfapo), field(9)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.aaiiofpbclc <- (decode_pb_imehehjilbf (Pbrt.Decoder.nested d)) :: v.aaiiofpbclc;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(flkndlkfapo), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    aaiiofpbclc = v.aaiiofpbclc;
  } : flkndlkfapo)

let rec decode_pb_klnondaeimi d =
  let v = default_klnondaeimi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.cjgpnhfjgem <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(klnondaeimi), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cjgpnhfjgem = v.cjgpnhfjgem;
  } : klnondaeimi)

let rec decode_pb_gfdkjpbgndm d =
  let v = default_gfdkjpbgndm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.fgmdoekgpee <- decode_pb_indhbbjiean d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfdkjpbgndm), field(6)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.kjdlimfggmd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfdkjpbgndm), field(14)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfdkjpbgndm), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fgmdoekgpee = v.fgmdoekgpee;
    kjdlimfggmd = v.kjdlimfggmd;
    reward = v.reward;
  } : gfdkjpbgndm)

let rec decode_pb_gmmckeldapa d =
  let v = default_gmmckeldapa_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mbggfmadnhj <- List.rev v.mbggfmadnhj;
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.mbggfmadnhj <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gmmckeldapa), field(11)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.kjdlimfggmd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gmmckeldapa), field(8)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.kkmajbpemnh <- Pbrt.Decoder.bool d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gmmckeldapa), field(6)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.lmdjgffdebk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gmmckeldapa), field(3)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.status <- decode_pb_ffppaobdjgo d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gmmckeldapa), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mbggfmadnhj = v.mbggfmadnhj;
    kjdlimfggmd = v.kjdlimfggmd;
    kkmajbpemnh = v.kkmajbpemnh;
    lmdjgffdebk = v.lmdjgffdebk;
    status = v.status;
  } : gmmckeldapa)

let rec decode_pb_ccoihlmpiac d =
  let v = default_ccoihlmpiac_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.fgmdoekgpee <- decode_pb_heppgbeaopd d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ccoihlmpiac), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fgmdoekgpee = v.fgmdoekgpee;
  } : ccoihlmpiac)

let rec decode_pb_lhjfoefkhmg d =
  let v = default_lhjfoefkhmg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mfdbddconkm <- List.rev v.mfdbddconkm;
      v.hiinpcllmlh <- List.rev v.hiinpcllmlh;
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.hiinpcllmlh <- (decode_pb_gmmckeldapa (Pbrt.Decoder.nested d)) :: v.hiinpcllmlh;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhjfoefkhmg), field(11)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.mfdbddconkm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhjfoefkhmg), field(9)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhjfoefkhmg), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hiinpcllmlh = v.hiinpcllmlh;
    mfdbddconkm = v.mfdbddconkm;
    retcode = v.retcode;
  } : lhjfoefkhmg)

let rec decode_pb_ajonbhidggp d =
  let v = default_ajonbhidggp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.kjdlimfggmd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ajonbhidggp), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kjdlimfggmd = v.kjdlimfggmd;
  } : ajonbhidggp)

let rec decode_pb_pmhjadjahah d =
  let v = default_pmhjadjahah_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mbggfmadnhj <- List.rev v.mbggfmadnhj;
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pmhjadjahah), field(12)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.mbggfmadnhj <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pmhjadjahah), field(10)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.kjdlimfggmd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(pmhjadjahah), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    mbggfmadnhj = v.mbggfmadnhj;
    kjdlimfggmd = v.kjdlimfggmd;
  } : pmhjadjahah)

let rec decode_pb_npkoljalcid d =
  let v = default_npkoljalcid_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.mfdbddconkm <- List.rev v.mfdbddconkm;
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.mfdbddconkm <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(npkoljalcid), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mfdbddconkm = v.mfdbddconkm;
  } : npkoljalcid)

let rec decode_pb_hdgbdehfdal d =
  let v = default_hdgbdehfdal_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hdgbdehfdal), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : hdgbdehfdal)

let rec decode_pb_ahohoegfkcn d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_travel_brochure_none:ahohoegfkcn)
  | 6439 -> (Cmd_travel_brochure_apply_paster_cs_req:ahohoegfkcn)
  | 6497 -> (Cmd_travel_brochure_set_page_desc_status_cs_req:ahohoegfkcn)
  | 6424 -> (Cmd_travel_brochure_page_reset_sc_rsp:ahohoegfkcn)
  | 6425 -> (Cmd_travel_brochure_page_reset_cs_req:ahohoegfkcn)
  | 6499 -> (Cmd_travel_brochure_update_paster_pos_cs_req:ahohoegfkcn)
  | 6482 -> (Cmd_travel_brochure_set_custom_value_cs_req:ahohoegfkcn)
  | 6465 -> (Cmd_travel_brochure_get_paster_sc_notify:ahohoegfkcn)
  | 6411 -> (Cmd_travel_brochure_page_unlock_sc_notify:ahohoegfkcn)
  | 6498 -> (Cmd_travel_brochure_set_page_desc_status_sc_rsp:ahohoegfkcn)
  | 6456 -> (Cmd_travel_brochure_select_message_cs_req:ahohoegfkcn)
  | 6433 -> (Cmd_travel_brochure_remove_paster_sc_rsp:ahohoegfkcn)
  | 6429 -> (Cmd_travel_brochure_apply_paster_sc_rsp:ahohoegfkcn)
  | 6434 -> (Cmd_travel_brochure_set_custom_value_sc_rsp:ahohoegfkcn)
  | 6468 -> (Cmd_travel_brochure_get_data_cs_req:ahohoegfkcn)
  | 6493 -> (Cmd_travel_brochure_select_message_sc_rsp:ahohoegfkcn)
  | 6454 -> (Cmd_travel_brochure_update_paster_pos_sc_rsp:ahohoegfkcn)
  | 6417 -> (Cmd_travel_brochure_apply_paster_list_cs_req:ahohoegfkcn)
  | 6492 -> (Cmd_travel_brochure_apply_paster_list_sc_rsp:ahohoegfkcn)
  | 6406 -> (Cmd_travel_brochure_get_data_sc_rsp:ahohoegfkcn)
  | 6451 -> (Cmd_travel_brochure_remove_paster_cs_req:ahohoegfkcn)
  | _ -> Pbrt.Decoder.malformed_variant "ahohoegfkcn"

let rec decode_pb_nbdeaohmgpd d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Page_none:nbdeaohmgpd)
  | 1 -> (Page_unlocked:nbdeaohmgpd)
  | 2 -> (Page_interacted:nbdeaohmgpd)
  | _ -> Pbrt.Decoder.malformed_variant "nbdeaohmgpd"

let rec decode_pb_nepgcakaimg d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Page_desc_none:nepgcakaimg)
  | 1 -> (Page_desc_show_detail:nepgcakaimg)
  | 2 -> (Page_desc_collapse:nepgcakaimg)
  | _ -> Pbrt.Decoder.malformed_variant "nepgcakaimg"

let rec decode_pb_edpcmbkldpp d =
  let v = default_edpcmbkldpp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.ppikfajecgn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(edpcmbkldpp), field(15)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.jhaokflajhi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(edpcmbkldpp), field(12)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.unique_id <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(edpcmbkldpp), field(13)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.lefamlnchdb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(edpcmbkldpp), field(1)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.oppiofgaapm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(edpcmbkldpp), field(4)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(edpcmbkldpp), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ppikfajecgn = v.ppikfajecgn;
    jhaokflajhi = v.jhaokflajhi;
    unique_id = v.unique_id;
    lefamlnchdb = v.lefamlnchdb;
    oppiofgaapm = v.oppiofgaapm;
    hgjolgkaofj = v.hgjolgkaofj;
  } : edpcmbkldpp)

let rec decode_pb_plhfolkmaji d =
  let v = default_plhfolkmaji_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.nanmhcnadkg <- List.rev v.nanmhcnadkg;
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.ejglndccacp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(plhfolkmaji), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.bmojbiafcan <- decode_pb_nbdeaohmgpd d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(plhfolkmaji), field(6)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.mmdkdomadkc <- decode_pb_nepgcakaimg d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(plhfolkmaji), field(12)" pk
    | Some (14, Pbrt.Bytes) -> begin
      v.nanmhcnadkg <- (decode_pb_edpcmbkldpp (Pbrt.Decoder.nested d)) :: v.nanmhcnadkg;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(plhfolkmaji), field(14)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.elhpffpejcd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(plhfolkmaji), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ejglndccacp = v.ejglndccacp;
    bmojbiafcan = v.bmojbiafcan;
    mmdkdomadkc = v.mmdkdomadkc;
    nanmhcnadkg = v.nanmhcnadkg;
    elhpffpejcd = v.elhpffpejcd;
  } : plhfolkmaji)

let rec decode_pb_eecdaglagim d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(eecdaglagim)" pk

let rec decode_pb_ebhhobohldg d =
  let v = default_ebhhobohldg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.dmoappoigef <- List.rev v.dmoappoigef;
      v.iklpaikjkha <- List.rev v.iklpaikjkha;
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        decode_pb_plhfolkmaji (Pbrt.Decoder.nested d)
      ) in
      v.iklpaikjkha <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.iklpaikjkha;
      );
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebhhobohldg), field(3)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebhhobohldg), field(7)" pk
    | Some (2, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.int32_as_varint d
      ) in
      v.dmoappoigef <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.dmoappoigef;
      );
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebhhobohldg), field(2)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.ogcfmckhlja <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ebhhobohldg), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    iklpaikjkha = v.iklpaikjkha;
    retcode = v.retcode;
    dmoappoigef = v.dmoappoigef;
    ogcfmckhlja = v.ogcfmckhlja;
  } : ebhhobohldg)

let rec decode_pb_kehccelcakp d =
  let v = default_kehccelcakp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.elhpffpejcd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kehccelcakp), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    elhpffpejcd = v.elhpffpejcd;
  } : kehccelcakp)

let rec decode_pb_dlnlcelilmh d =
  let v = default_dlnlcelilmh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.elhpffpejcd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dlnlcelilmh), field(3)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.ejglndccacp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dlnlcelilmh), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    elhpffpejcd = v.elhpffpejcd;
    ejglndccacp = v.ejglndccacp;
  } : dlnlcelilmh)

let rec decode_pb_jkkodmojmcp d =
  let v = default_jkkodmojmcp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.fibbcankfpi <- Some (decode_pb_plhfolkmaji (Pbrt.Decoder.nested d));
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jkkodmojmcp), field(14)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jkkodmojmcp), field(10)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jkkodmojmcp), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fibbcankfpi = v.fibbcankfpi;
    retcode = v.retcode;
    reward = v.reward;
  } : jkkodmojmcp)

let rec decode_pb_moejhbphboe d =
  let v = default_moejhbphboe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.elhpffpejcd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(moejhbphboe), field(8)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.oppiofgaapm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(moejhbphboe), field(6)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.jhaokflajhi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(moejhbphboe), field(5)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.lefamlnchdb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(moejhbphboe), field(9)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(moejhbphboe), field(4)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.ppikfajecgn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(moejhbphboe), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    elhpffpejcd = v.elhpffpejcd;
    oppiofgaapm = v.oppiofgaapm;
    jhaokflajhi = v.jhaokflajhi;
    lefamlnchdb = v.lefamlnchdb;
    hgjolgkaofj = v.hgjolgkaofj;
    ppikfajecgn = v.ppikfajecgn;
  } : moejhbphboe)

let rec decode_pb_lhogneaekbm d =
  let v = default_lhogneaekbm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhogneaekbm), field(12)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.fibbcankfpi <- Some (decode_pb_plhfolkmaji (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lhogneaekbm), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    fibbcankfpi = v.fibbcankfpi;
  } : lhogneaekbm)

let rec decode_pb_phnejeildid d =
  let v = default_phnejeildid_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(phnejeildid), field(1)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.unique_id <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(phnejeildid), field(14)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.elhpffpejcd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(phnejeildid), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgjolgkaofj = v.hgjolgkaofj;
    unique_id = v.unique_id;
    elhpffpejcd = v.elhpffpejcd;
  } : phnejeildid)

let rec decode_pb_djoaplnhnnm d =
  let v = default_djoaplnhnnm_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.fibbcankfpi <- Some (decode_pb_plhfolkmaji (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(djoaplnhnnm), field(8)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(djoaplnhnnm), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fibbcankfpi = v.fibbcankfpi;
    retcode = v.retcode;
  } : djoaplnhnnm)

let rec decode_pb_kjjnbcjpofd d =
  let v = default_kjjnbcjpofd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.ppikfajecgn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kjjnbcjpofd), field(5)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.lefamlnchdb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kjjnbcjpofd), field(4)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.jhaokflajhi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kjjnbcjpofd), field(9)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.oppiofgaapm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kjjnbcjpofd), field(15)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kjjnbcjpofd), field(11)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.elhpffpejcd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kjjnbcjpofd), field(1)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.unique_id <- Pbrt.Decoder.int64_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kjjnbcjpofd), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ppikfajecgn = v.ppikfajecgn;
    lefamlnchdb = v.lefamlnchdb;
    jhaokflajhi = v.jhaokflajhi;
    oppiofgaapm = v.oppiofgaapm;
    hgjolgkaofj = v.hgjolgkaofj;
    elhpffpejcd = v.elhpffpejcd;
    unique_id = v.unique_id;
  } : kjjnbcjpofd)

let rec decode_pb_lbeilmencmg d =
  let v = default_lbeilmencmg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbeilmencmg), field(15)" pk
    | Some (11, Pbrt.Bytes) -> begin
      v.fibbcankfpi <- Some (decode_pb_plhfolkmaji (Pbrt.Decoder.nested d));
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lbeilmencmg), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    fibbcankfpi = v.fibbcankfpi;
  } : lbeilmencmg)

let rec decode_pb_eildnlloolg d =
  let v = default_eildnlloolg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.cokophbhocf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eildnlloolg), field(5)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.kagnbjdmamf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eildnlloolg), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cokophbhocf = v.cokophbhocf;
    kagnbjdmamf = v.kagnbjdmamf;
  } : eildnlloolg)

let rec decode_pb_dldkemoempi d =
  let v = default_dldkemoempi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.value <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dldkemoempi), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    value = v.value;
  } : dldkemoempi)

let rec decode_pb_acemjognmli d =
  let v = default_acemjognmli_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(acemjognmli), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : acemjognmli)

let rec decode_pb_bogbdeohiom d =
  let v = default_bogbdeohiom_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.clehhaedpae <- decode_pb_nepgcakaimg d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bogbdeohiom), field(10)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.elhpffpejcd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bogbdeohiom), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    clehhaedpae = v.clehhaedpae;
    elhpffpejcd = v.elhpffpejcd;
  } : bogbdeohiom)

let rec decode_pb_oedabbebong d =
  let v = default_oedabbebong_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oedabbebong), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : oedabbebong)

let rec decode_pb_mdjglknfbcl d =
  let v = default_mdjglknfbcl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.elhpffpejcd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mdjglknfbcl), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    elhpffpejcd = v.elhpffpejcd;
  } : mdjglknfbcl)

let rec decode_pb_ngdapheckdd d =
  let v = default_ngdapheckdd_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.fibbcankfpi <- Some (decode_pb_plhfolkmaji (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ngdapheckdd), field(8)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ngdapheckdd), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fibbcankfpi = v.fibbcankfpi;
    retcode = v.retcode;
  } : ngdapheckdd)

let rec decode_pb_daonkhoicpl d =
  let v = default_daonkhoicpl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.oppiofgaapm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(daonkhoicpl), field(11)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(daonkhoicpl), field(15)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.jhaokflajhi <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(daonkhoicpl), field(10)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.lefamlnchdb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(daonkhoicpl), field(5)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.ppikfajecgn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(daonkhoicpl), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    oppiofgaapm = v.oppiofgaapm;
    hgjolgkaofj = v.hgjolgkaofj;
    jhaokflajhi = v.jhaokflajhi;
    lefamlnchdb = v.lefamlnchdb;
    ppikfajecgn = v.ppikfajecgn;
  } : daonkhoicpl)

let rec decode_pb_agfommpgbeh d =
  let v = default_agfommpgbeh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ejkllkececl <- List.rev v.ejkllkececl;
    ); continue__ := false
    | Some (14, Pbrt.Bytes) -> begin
      v.ejkllkececl <- (decode_pb_daonkhoicpl (Pbrt.Decoder.nested d)) :: v.ejkllkececl;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agfommpgbeh), field(14)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.elhpffpejcd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(agfommpgbeh), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ejkllkececl = v.ejkllkececl;
    elhpffpejcd = v.elhpffpejcd;
  } : agfommpgbeh)

let rec decode_pb_idechpiaipb d =
  let v = default_idechpiaipb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.fibbcankfpi <- Some (decode_pb_plhfolkmaji (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(idechpiaipb), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(idechpiaipb), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fibbcankfpi = v.fibbcankfpi;
    retcode = v.retcode;
  } : idechpiaipb)

let rec decode_pb_mmfbpfacamh d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_treasure_dungeon_type_none:mmfbpfacamh)
  | 4498 -> (Cmd_fight_treasure_dungeon_monster_sc_rsp:mmfbpfacamh)
  | 4492 -> (Cmd_use_treasure_dungeon_item_sc_rsp:mmfbpfacamh)
  | 4417 -> (Cmd_use_treasure_dungeon_item_cs_req:mmfbpfacamh)
  | 4428 -> (Cmd_quit_treasure_dungeon_sc_rsp:mmfbpfacamh)
  | 4490 -> (Cmd_quit_treasure_dungeon_cs_req:mmfbpfacamh)
  | 4434 -> (Cmd_open_treasure_dungeon_grid_sc_rsp:mmfbpfacamh)
  | 4468 -> (Cmd_treasure_dungeon_data_sc_notify:mmfbpfacamh)
  | 4424 -> (Cmd_interact_treasure_dungeon_grid_sc_rsp:mmfbpfacamh)
  | 4482 -> (Cmd_open_treasure_dungeon_grid_cs_req:mmfbpfacamh)
  | 4425 -> (Cmd_interact_treasure_dungeon_grid_cs_req:mmfbpfacamh)
  | 4497 -> (Cmd_fight_treasure_dungeon_monster_cs_req:mmfbpfacamh)
  | 4499 -> (Cmd_get_treasure_dungeon_activity_data_cs_req:mmfbpfacamh)
  | 4454 -> (Cmd_get_treasure_dungeon_activity_data_sc_rsp:mmfbpfacamh)
  | 4448 -> (Cmd_enter_treasure_dungeon_sc_rsp:mmfbpfacamh)
  | 4406 -> (Cmd_treasure_dungeon_finish_sc_notify:mmfbpfacamh)
  | 4465 -> (Cmd_enter_treasure_dungeon_cs_req:mmfbpfacamh)
  | _ -> Pbrt.Decoder.malformed_variant "mmfbpfacamh"

let rec decode_pb_domnbbdobkg d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Treasure_dungeon_record_none:domnbbdobkg)
  | 1 -> (Treasure_dungeon_record_add_hp:domnbbdobkg)
  | 2 -> (Treasure_dungeon_record_sub_hp:domnbbdobkg)
  | 3 -> (Treasure_dungeon_record_sub_hp_no_explore:domnbbdobkg)
  | 5 -> (Treasure_dungeon_record_add_attack:domnbbdobkg)
  | 6 -> (Treasure_dungeon_record_add_defence:domnbbdobkg)
  | 9 -> (Treasure_dungeon_record_add_explore:domnbbdobkg)
  | 10 -> (Treasure_dungeon_record_sub_explore:domnbbdobkg)
  | 11 -> (Treasure_dungeon_record_add_explore_overflow:domnbbdobkg)
  | 15 -> (Treasure_dungeon_record_summon:domnbbdobkg)
  | 16 -> (Treasure_dungeon_record_kill:domnbbdobkg)
  | 20 -> (Treasure_dungeon_record_add_trial_avatar:domnbbdobkg)
  | 24 -> (Treasure_dungeon_record_add_buff:domnbbdobkg)
  | 25 -> (Treasure_dungeon_record_unlock_door:domnbbdobkg)
  | 27 -> (Treasure_dungeon_record_enemy_enhance:domnbbdobkg)
  | 28 -> (Treasure_dungeon_record_enemy_weaken:domnbbdobkg)
  | 29 -> (Treasure_dungeon_record_enemy_aura_remove:domnbbdobkg)
  | 30 -> (Treasure_dungeon_record_special_monster_run:domnbbdobkg)
  | 31 -> (Treasure_dungeon_record_special_monster_kill:domnbbdobkg)
  | 33 -> (Treasure_dungeon_record_battle_buff_trigger_success:domnbbdobkg)
  | 34 -> (Treasure_dungeon_record_battle_buff_trigger_fail:domnbbdobkg)
  | 35 -> (Treasure_dungeon_record_battle_buff_add_explore:domnbbdobkg)
  | 36 -> (Treasure_dungeon_record_battle_buff_open_grid:domnbbdobkg)
  | 37 -> (Treasure_dungeon_record_battle_buff_add_item:domnbbdobkg)
  | 40 -> (Treasure_dungeon_record_avatar_dead:domnbbdobkg)
  | 41 -> (Treasure_dungeon_record_trial_avatar_dead:domnbbdobkg)
  | 42 -> (Treasure_dungeon_record_all_avatar_dead:domnbbdobkg)
  | 43 -> (Treasure_dungeon_record_open_item_chest:domnbbdobkg)
  | _ -> Pbrt.Decoder.malformed_variant "domnbbdobkg"

let rec decode_pb_treasure_dungeon_record_data d =
  let v = default_treasure_dungeon_record_data_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.type_ <- decode_pb_domnbbdobkg d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(treasure_dungeon_record_data), field(12)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.param_2 <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(treasure_dungeon_record_data), field(13)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.target_grid_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(treasure_dungeon_record_data), field(10)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.param_1 <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(treasure_dungeon_record_data), field(8)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.source_grid_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(treasure_dungeon_record_data), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    type_ = v.type_;
    param_2 = v.param_2;
    target_grid_id = v.target_grid_id;
    param_1 = v.param_1;
    source_grid_id = v.source_grid_id;
  } : treasure_dungeon_record_data)

let rec decode_pb_adihimnhjmc d =
  let v = default_adihimnhjmc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.pkkfndimmio <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adihimnhjmc), field(4)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.kkjoplahmam <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(adihimnhjmc), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pkkfndimmio = v.pkkfndimmio;
    kkjoplahmam = v.kkjoplahmam;
  } : adihimnhjmc)

let rec decode_pb_nhomjjpmlml d =
  let v = default_nhomjjpmlml_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhomjjpmlml), field(3)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.avatar_type <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhomjjpmlml), field(10)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.hp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhomjjpmlml), field(8)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.elolchjhcpa <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhomjjpmlml), field(2)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.sp <- Some (decode_pb_sp_progress (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nhomjjpmlml), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id = v.avatar_id;
    avatar_type = v.avatar_type;
    hp = v.hp;
    elolchjhcpa = v.elolchjhcpa;
    sp = v.sp;
  } : nhomjjpmlml)

let rec decode_pb_fmkkknpkhka d =
  let v = default_fmkkknpkhka_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmkkknpkhka), field(6)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.avatar_type <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmkkknpkhka), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id = v.avatar_id;
    avatar_type = v.avatar_type;
  } : fmkkknpkhka)

let rec decode_pb_olekkhgdbno d =
  let v = default_olekkhgdbno_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.olfhccbiidg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(olekkhgdbno), field(4)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(olekkhgdbno), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    olfhccbiidg = v.olfhccbiidg;
    hgjolgkaofj = v.hgjolgkaofj;
  } : olekkhgdbno)

let rec decode_pb_kckckdlbgah d =
  let v = default_kckckdlbgah_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.mgokheahgno <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kckckdlbgah), field(3)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.pkkfndimmio <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kckckdlbgah), field(10)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.odfbamohefb <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kckckdlbgah), field(2)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.hfofggdjldk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kckckdlbgah), field(13)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.mdplfmdjfji <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kckckdlbgah), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mgokheahgno = v.mgokheahgno;
    pkkfndimmio = v.pkkfndimmio;
    odfbamohefb = v.odfbamohefb;
    hfofggdjldk = v.hfofggdjldk;
    mdplfmdjfji = v.mdplfmdjfji;
  } : kckckdlbgah)

let rec decode_pb_eihmdnhfbhi d =
  let v = default_eihmdnhfbhi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.buff_list <- List.rev v.buff_list;
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.mdplfmdjfji <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eihmdnhfbhi), field(11)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.jllomgfnoad <- Pbrt.Decoder.bool d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eihmdnhfbhi), field(8)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.kjhdclobejc <- Pbrt.Decoder.bool d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eihmdnhfbhi), field(6)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.kjbihcphcco <- Pbrt.Decoder.bool d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eihmdnhfbhi), field(14)" pk
    | Some (1338, Pbrt.Bytes) -> begin
      v.buff_list <- (decode_pb_kckckdlbgah (Pbrt.Decoder.nested d)) :: v.buff_list;
    end
    | Some (1338, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eihmdnhfbhi), field(1338)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.pghfklcblcf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eihmdnhfbhi), field(2)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.eeilehahchh <- Pbrt.Decoder.bool d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eihmdnhfbhi), field(5)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.emdckdplfno <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eihmdnhfbhi), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mdplfmdjfji = v.mdplfmdjfji;
    jllomgfnoad = v.jllomgfnoad;
    kjhdclobejc = v.kjhdclobejc;
    kjbihcphcco = v.kjbihcphcco;
    buff_list = v.buff_list;
    pghfklcblcf = v.pghfklcblcf;
    eeilehahchh = v.eeilehahchh;
    emdckdplfno = v.emdckdplfno;
  } : eihmdnhfbhi)

let rec decode_pb_gfkhhobedjc d =
  let v = default_gfkhhobedjc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.nnfelodhecl <- List.rev v.nnfelodhecl;
      v.pdpfcfglgco <- List.rev v.pdpfcfglgco;
      v.kcinaojggca <- List.rev v.kcinaojggca;
      v.bdajebnoflc <- List.rev v.bdajebnoflc;
      v.avatar_list <- List.rev v.avatar_list;
      v.acnhklfedmn <- List.rev v.acnhklfedmn;
      v.buff_list <- List.rev v.buff_list;
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.fdhmddjckbm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfkhhobedjc), field(13)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.ccgokknidmp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfkhhobedjc), field(12)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.ihojbibbmjk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfkhhobedjc), field(3)" pk
    | Some (1281, Pbrt.Bytes) -> begin
      v.buff_list <- (decode_pb_adihimnhjmc (Pbrt.Decoder.nested d)) :: v.buff_list;
    end
    | Some (1281, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfkhhobedjc), field(1281)" pk
    | Some (10, Pbrt.Bytes) -> begin
      v.acnhklfedmn <- (decode_pb_treasure_dungeon_record_data (Pbrt.Decoder.nested d)) :: v.acnhklfedmn;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfkhhobedjc), field(10)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.lnjapmhfcck <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfkhhobedjc), field(5)" pk
    | Some (702, Pbrt.Bytes) -> begin
      v.avatar_list <- (decode_pb_nhomjjpmlml (Pbrt.Decoder.nested d)) :: v.avatar_list;
    end
    | Some (702, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfkhhobedjc), field(702)" pk
    | Some (607, Pbrt.Varint) -> begin
      v.dodenbklklh <- Pbrt.Decoder.bool d;
    end
    | Some (607, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfkhhobedjc), field(607)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.gepegecgkgd <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfkhhobedjc), field(7)" pk
    | Some (530, Pbrt.Bytes) -> begin
      v.bdajebnoflc <- (decode_pb_fmkkknpkhka (Pbrt.Decoder.nested d)) :: v.bdajebnoflc;
    end
    | Some (530, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfkhhobedjc), field(530)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.dckcbphknmm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfkhhobedjc), field(6)" pk
    | Some (1046, Pbrt.Bytes) -> begin
      v.kcinaojggca <- (decode_pb_nhomjjpmlml (Pbrt.Decoder.nested d)) :: v.kcinaojggca;
    end
    | Some (1046, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfkhhobedjc), field(1046)" pk
    | Some (859, Pbrt.Varint) -> begin
      v.gabmdafmbia <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (859, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfkhhobedjc), field(859)" pk
    | Some (1856, Pbrt.Varint) -> begin
      v.koonaacohgh <- Pbrt.Decoder.bool d;
    end
    | Some (1856, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfkhhobedjc), field(1856)" pk
    | Some (317, Pbrt.Varint) -> begin
      v.olpededenmb <- Pbrt.Decoder.bool d;
    end
    | Some (317, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfkhhobedjc), field(317)" pk
    | Some (1380, Pbrt.Bytes) -> begin
      v.pdpfcfglgco <- (decode_pb_olekkhgdbno (Pbrt.Decoder.nested d)) :: v.pdpfcfglgco;
    end
    | Some (1380, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfkhhobedjc), field(1380)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.ibbomefncba <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfkhhobedjc), field(11)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.nnfelodhecl <- (decode_pb_eihmdnhfbhi (Pbrt.Decoder.nested d)) :: v.nnfelodhecl;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(gfkhhobedjc), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fdhmddjckbm = v.fdhmddjckbm;
    ccgokknidmp = v.ccgokknidmp;
    ihojbibbmjk = v.ihojbibbmjk;
    buff_list = v.buff_list;
    acnhklfedmn = v.acnhklfedmn;
    lnjapmhfcck = v.lnjapmhfcck;
    avatar_list = v.avatar_list;
    dodenbklklh = v.dodenbklklh;
    gepegecgkgd = v.gepegecgkgd;
    bdajebnoflc = v.bdajebnoflc;
    dckcbphknmm = v.dckcbphknmm;
    kcinaojggca = v.kcinaojggca;
    gabmdafmbia = v.gabmdafmbia;
    koonaacohgh = v.koonaacohgh;
    olpededenmb = v.olpededenmb;
    pdpfcfglgco = v.pdpfcfglgco;
    ibbomefncba = v.ibbomefncba;
    nnfelodhecl = v.nnfelodhecl;
  } : gfkhhobedjc)

let rec decode_pb_nkjmbndffmp d =
  let v = default_nkjmbndffmp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.fimenpabjlk <- Some (decode_pb_gfkhhobedjc (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nkjmbndffmp), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fimenpabjlk = v.fimenpabjlk;
  } : nkjmbndffmp)

let rec decode_pb_cdaklgjjdag d =
  let v = default_cdaklgjjdag_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.iacdjpcmgem <- List.rev v.iacdjpcmgem;
      v.apconhladef <- List.rev v.apconhladef;
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.ihojbibbmjk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cdaklgjjdag), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.dckcbphknmm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cdaklgjjdag), field(5)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.dfggjlmnblk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cdaklgjjdag), field(2)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.llbhkchlhfl <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cdaklgjjdag), field(7)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.mmnebfbnoni <- Pbrt.Decoder.bool d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cdaklgjjdag), field(14)" pk
    | Some (15, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.int32_as_varint d
      ) in
      v.apconhladef <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.apconhladef;
      );
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cdaklgjjdag), field(15)" pk
    | Some (11, Pbrt.Bytes) -> begin
      let decode_value = (fun d ->
        Pbrt.Decoder.int32_as_varint d
      ) in
      v.iacdjpcmgem <- (
        (Pbrt.Decoder.map_entry d ~decode_key:Pbrt.Decoder.int32_as_varint ~decode_value)::v.iacdjpcmgem;
      );
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cdaklgjjdag), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ihojbibbmjk = v.ihojbibbmjk;
    dckcbphknmm = v.dckcbphknmm;
    dfggjlmnblk = v.dfggjlmnblk;
    llbhkchlhfl = v.llbhkchlhfl;
    mmnebfbnoni = v.mmnebfbnoni;
    apconhladef = v.apconhladef;
    iacdjpcmgem = v.iacdjpcmgem;
  } : cdaklgjjdag)

let rec decode_pb_bcgidhjgbeh d =
  let v = default_bcgidhjgbeh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.ihojbibbmjk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bcgidhjgbeh), field(8)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.dckcbphknmm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bcgidhjgbeh), field(15)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.fdhmddjckbm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bcgidhjgbeh), field(7)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.jfbghenfbmh <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bcgidhjgbeh), field(1)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.ccgokknidmp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bcgidhjgbeh), field(4)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.nhbjkfibgbk <- Pbrt.Decoder.bool d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bcgidhjgbeh), field(2)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.fknlibdaomf <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bcgidhjgbeh), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ihojbibbmjk = v.ihojbibbmjk;
    dckcbphknmm = v.dckcbphknmm;
    fdhmddjckbm = v.fdhmddjckbm;
    jfbghenfbmh = v.jfbghenfbmh;
    ccgokknidmp = v.ccgokknidmp;
    nhbjkfibgbk = v.nhbjkfibgbk;
    fknlibdaomf = v.fknlibdaomf;
  } : bcgidhjgbeh)

let rec decode_pb_phklcpjjdkc d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(phklcpjjdkc)" pk

let rec decode_pb_ceaeicabldl d =
  let v = default_ceaeicabldl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.lflniekplaj <- List.rev v.lflniekplaj;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.lflniekplaj <- (decode_pb_bcgidhjgbeh (Pbrt.Decoder.nested d)) :: v.lflniekplaj;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ceaeicabldl), field(9)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ceaeicabldl), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    lflniekplaj = v.lflniekplaj;
    retcode = v.retcode;
  } : ceaeicabldl)

let rec decode_pb_bohmllfkgdb d =
  let v = default_bohmllfkgdb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.avatar_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bohmllfkgdb), field(1)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.avatar_type <- decode_pb_avatar_type d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bohmllfkgdb), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_id = v.avatar_id;
    avatar_type = v.avatar_type;
  } : bohmllfkgdb)

let rec decode_pb_egfcfmidplk d =
  let v = default_egfcfmidplk_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_list <- List.rev v.avatar_list;
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.dckcbphknmm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egfcfmidplk), field(9)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.avatar_list <- (decode_pb_bohmllfkgdb (Pbrt.Decoder.nested d)) :: v.avatar_list;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(egfcfmidplk), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dckcbphknmm = v.dckcbphknmm;
    avatar_list = v.avatar_list;
  } : egfcfmidplk)

let rec decode_pb_oaiphfkhfhf d =
  let v = default_oaiphfkhfhf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.fimenpabjlk <- Some (decode_pb_gfkhhobedjc (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oaiphfkhfhf), field(8)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oaiphfkhfhf), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fimenpabjlk = v.fimenpabjlk;
    retcode = v.retcode;
  } : oaiphfkhfhf)

let rec decode_pb_kdffhgdidnj d =
  let v = default_kdffhgdidnj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.dckcbphknmm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kdffhgdidnj), field(13)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.mdplfmdjfji <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(kdffhgdidnj), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dckcbphknmm = v.dckcbphknmm;
    mdplfmdjfji = v.mdplfmdjfji;
  } : kdffhgdidnj)

let rec decode_pb_jjaapmnnpkb d =
  let v = default_jjaapmnnpkb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (9, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jjaapmnnpkb), field(9)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.fimenpabjlk <- Some (decode_pb_gfkhhobedjc (Pbrt.Decoder.nested d));
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jjaapmnnpkb), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    fimenpabjlk = v.fimenpabjlk;
  } : jjaapmnnpkb)

let rec decode_pb_nbdnjolnelg d =
  let v = default_nbdnjolnelg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.dckcbphknmm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nbdnjolnelg), field(10)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.mdplfmdjfji <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nbdnjolnelg), field(11)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.iihookopmmk <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nbdnjolnelg), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dckcbphknmm = v.dckcbphknmm;
    mdplfmdjfji = v.mdplfmdjfji;
    iihookopmmk = v.iihookopmmk;
  } : nbdnjolnelg)

let rec decode_pb_ndimhdecnpi d =
  let v = default_ndimhdecnpi_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Bytes) -> begin
      v.fimenpabjlk <- Some (decode_pb_gfkhhobedjc (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ndimhdecnpi), field(15)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ndimhdecnpi), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fimenpabjlk = v.fimenpabjlk;
    retcode = v.retcode;
  } : ndimhdecnpi)

let rec decode_pb_licdjbkkfal d =
  let v = default_licdjbkkfal_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.hgjolgkaofj <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(licdjbkkfal), field(8)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.mdplfmdjfji <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(licdjbkkfal), field(4)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.dckcbphknmm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(licdjbkkfal), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    hgjolgkaofj = v.hgjolgkaofj;
    mdplfmdjfji = v.mdplfmdjfji;
    dckcbphknmm = v.dckcbphknmm;
  } : licdjbkkfal)

let rec decode_pb_piogcpmnabf d =
  let v = default_piogcpmnabf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Bytes) -> begin
      v.fimenpabjlk <- Some (decode_pb_gfkhhobedjc (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(piogcpmnabf), field(3)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(piogcpmnabf), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fimenpabjlk = v.fimenpabjlk;
    retcode = v.retcode;
  } : piogcpmnabf)

let rec decode_pb_nkadmflinkc d =
  let v = default_nkadmflinkc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.avatar_list <- List.rev v.avatar_list;
    ); continue__ := false
    | Some (11, Pbrt.Bytes) -> begin
      v.avatar_list <- (decode_pb_bohmllfkgdb (Pbrt.Decoder.nested d)) :: v.avatar_list;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nkadmflinkc), field(11)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.dckcbphknmm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nkadmflinkc), field(15)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.mdplfmdjfji <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nkadmflinkc), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    avatar_list = v.avatar_list;
    dckcbphknmm = v.dckcbphknmm;
    mdplfmdjfji = v.mdplfmdjfji;
  } : nkadmflinkc)

let rec decode_pb_elleinlllod d =
  let v = default_elleinlllod_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.ibllilenejp <- Some (decode_pb_scene_battle_info (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(elleinlllod), field(5)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(elleinlllod), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ibllilenejp = v.ibllilenejp;
    retcode = v.retcode;
  } : elleinlllod)

let rec decode_pb_mmgpeoifnbp d =
  let v = default_mmgpeoifnbp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.dckcbphknmm <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmgpeoifnbp), field(3)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.piofaglkghg <- Pbrt.Decoder.bool d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mmgpeoifnbp), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dckcbphknmm = v.dckcbphknmm;
    piofaglkghg = v.piofaglkghg;
  } : mmgpeoifnbp)

let rec decode_pb_lacfgpmpdpj d =
  let v = default_lacfgpmpdpj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(lacfgpmpdpj), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : lacfgpmpdpj)

let rec decode_pb_kkkkpnfkonk d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_tutorial_type_none:kkkkpnfkonk)
  | 1668 -> (Cmd_get_tutorial_cs_req:kkkkpnfkonk)
  | 1656 -> (Cmd_unlock_tutorial_cs_req:kkkkpnfkonk)
  | 1699 -> (Cmd_finish_tutorial_guide_cs_req:kkkkpnfkonk)
  | 1611 -> (Cmd_get_tutorial_guide_cs_req:kkkkpnfkonk)
  | 1651 -> (Cmd_finish_tutorial_cs_req:kkkkpnfkonk)
  | 1629 -> (Cmd_unlock_tutorial_guide_sc_rsp:kkkkpnfkonk)
  | 1633 -> (Cmd_finish_tutorial_sc_rsp:kkkkpnfkonk)
  | 1693 -> (Cmd_unlock_tutorial_sc_rsp:kkkkpnfkonk)
  | 1639 -> (Cmd_unlock_tutorial_guide_cs_req:kkkkpnfkonk)
  | 1606 -> (Cmd_get_tutorial_sc_rsp:kkkkpnfkonk)
  | 1643 -> (Cmd_get_tutorial_guide_sc_rsp:kkkkpnfkonk)
  | 1654 -> (Cmd_finish_tutorial_guide_sc_rsp:kkkkpnfkonk)
  | _ -> Pbrt.Decoder.malformed_variant "kkkkpnfkonk"

let rec decode_pb_jmfbfepgebc d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Tutorial_none:jmfbfepgebc)
  | 1 -> (Tutorial_unlock:jmfbfepgebc)
  | 2 -> (Tutorial_finish:jmfbfepgebc)
  | _ -> Pbrt.Decoder.malformed_variant "jmfbfepgebc"

let rec decode_pb_tutorial d =
  let v = default_tutorial_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(tutorial), field(13)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.status <- decode_pb_jmfbfepgebc d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(tutorial), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
    status = v.status;
  } : tutorial)

let rec decode_pb_tutorial_guide d =
  let v = default_tutorial_guide_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(tutorial_guide), field(3)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.status <- decode_pb_jmfbfepgebc d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(tutorial_guide), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
    status = v.status;
  } : tutorial_guide)

let rec decode_pb_apikgighdgc d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(apikgighdgc)" pk

let rec decode_pb_get_tutorial_sc_rsp d =
  let v = default_get_tutorial_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.tutorial_list <- List.rev v.tutorial_list;
    ); continue__ := false
    | Some (9, Pbrt.Bytes) -> begin
      v.tutorial_list <- (decode_pb_tutorial (Pbrt.Decoder.nested d)) :: v.tutorial_list;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_tutorial_sc_rsp), field(9)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_tutorial_sc_rsp), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    tutorial_list = v.tutorial_list;
    retcode = v.retcode;
  } : get_tutorial_sc_rsp)

let rec decode_pb_ojofgmhapgh d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(ojofgmhapgh)" pk

let rec decode_pb_get_tutorial_guide_sc_rsp d =
  let v = default_get_tutorial_guide_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.tutorial_guide_list <- List.rev v.tutorial_guide_list;
    ); continue__ := false
    | Some (5, Pbrt.Bytes) -> begin
      v.tutorial_guide_list <- (decode_pb_tutorial_guide (Pbrt.Decoder.nested d)) :: v.tutorial_guide_list;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_tutorial_guide_sc_rsp), field(5)" pk
    | Some (15, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(get_tutorial_guide_sc_rsp), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    tutorial_guide_list = v.tutorial_guide_list;
    retcode = v.retcode;
  } : get_tutorial_guide_sc_rsp)

let rec decode_pb_oplbnbefnjj d =
  let v = default_oplbnbefnjj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.bjmhgbbfpmn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(oplbnbefnjj), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bjmhgbbfpmn = v.bjmhgbbfpmn;
  } : oplbnbefnjj)

let rec decode_pb_unlock_tutorial_sc_rsp d =
  let v = default_unlock_tutorial_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(unlock_tutorial_sc_rsp), field(14)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.tutorial <- Some (decode_pb_tutorial (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(unlock_tutorial_sc_rsp), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    tutorial = v.tutorial;
  } : unlock_tutorial_sc_rsp)

let rec decode_pb_mgnmibjadbe d =
  let v = default_mgnmibjadbe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mgnmibjadbe), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    group_id = v.group_id;
  } : mgnmibjadbe)

let rec decode_pb_unlock_tutorial_guide_sc_rsp d =
  let v = default_unlock_tutorial_guide_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (8, Pbrt.Bytes) -> begin
      v.tutorial_guide <- Some (decode_pb_tutorial_guide (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(unlock_tutorial_guide_sc_rsp), field(8)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(unlock_tutorial_guide_sc_rsp), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    tutorial_guide = v.tutorial_guide;
    retcode = v.retcode;
  } : unlock_tutorial_guide_sc_rsp)

let rec decode_pb_obkljeiahea d =
  let v = default_obkljeiahea_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.bjmhgbbfpmn <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(obkljeiahea), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bjmhgbbfpmn = v.bjmhgbbfpmn;
  } : obkljeiahea)

let rec decode_pb_finish_tutorial_sc_rsp d =
  let v = default_finish_tutorial_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.tutorial <- Some (decode_pb_tutorial (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(finish_tutorial_sc_rsp), field(7)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(finish_tutorial_sc_rsp), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    tutorial = v.tutorial;
    retcode = v.retcode;
  } : finish_tutorial_sc_rsp)

let rec decode_pb_nlgambkaaie d =
  let v = default_nlgambkaaie_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlgambkaaie), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    group_id = v.group_id;
  } : nlgambkaaie)

let rec decode_pb_finish_tutorial_guide_sc_rsp d =
  let v = default_finish_tutorial_guide_sc_rsp_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(finish_tutorial_guide_sc_rsp), field(4)" pk
    | Some (1, Pbrt.Bytes) -> begin
      v.tutorial_guide <- Some (decode_pb_tutorial_guide (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(finish_tutorial_guide_sc_rsp), field(1)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.reward <- Some (decode_pb_item_list (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(finish_tutorial_guide_sc_rsp), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    tutorial_guide = v.tutorial_guide;
    reward = v.reward;
  } : finish_tutorial_guide_sc_rsp)

let rec decode_pb_elhiclfnnmc d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_waypoint_type_none:elhiclfnnmc)
  | 443 -> (Cmd_set_cur_waypoint_sc_rsp:elhiclfnnmc)
  | 451 -> (Cmd_take_chapter_reward_sc_rsp:elhiclfnnmc)
  | 493 -> (Cmd_get_chapter_sc_rsp:elhiclfnnmc)
  | 439 -> (Cmd_waypoint_show_new_cs_notify:elhiclfnnmc)
  | 411 -> (Cmd_set_cur_waypoint_cs_req:elhiclfnnmc)
  | 429 -> (Cmd_take_chapter_reward_cs_req:elhiclfnnmc)
  | 468 -> (Cmd_get_waypoint_cs_req:elhiclfnnmc)
  | 406 -> (Cmd_get_waypoint_sc_rsp:elhiclfnnmc)
  | 456 -> (Cmd_get_chapter_cs_req:elhiclfnnmc)
  | _ -> Pbrt.Decoder.malformed_variant "elhiclfnnmc"

let rec decode_pb_pkajimpclaj d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Waypoint_type_none:pkajimpclaj)
  | 1 -> (Waypoint_type_stage:pkajimpclaj)
  | 2 -> (Waypoint_type_plot:pkajimpclaj)
  | _ -> Pbrt.Decoder.malformed_variant "pkajimpclaj"

let rec decode_pb_pkkplfincff d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Waypoint_unlock_none:pkkplfincff)
  | 1 -> (Waypoint_unlock_pre:pkkplfincff)
  | 2 -> (Waypoint_unlock_level:pkkplfincff)
  | _ -> Pbrt.Decoder.malformed_variant "pkkplfincff"

let rec decode_pb_nlbpclnhcjn d =
  let v = default_nlbpclnhcjn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlbpclnhcjn), field(5)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.kollpgccdil <- Pbrt.Decoder.bool d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlbpclnhcjn), field(3)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.kojolodooni <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nlbpclnhcjn), field(11)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
    kollpgccdil = v.kollpgccdil;
    kojolodooni = v.kojolodooni;
  } : nlbpclnhcjn)

let rec decode_pb_jpkjdnbmhnl d =
  let v = default_jpkjdnbmhnl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ghchnanjdfb <- List.rev v.ghchnanjdfb;
    ); continue__ := false
    | Some (8, Pbrt.Varint) -> begin
      v.kollpgccdil <- Pbrt.Decoder.bool d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jpkjdnbmhnl), field(8)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.efoafoabnon <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jpkjdnbmhnl), field(10)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jpkjdnbmhnl), field(14)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.ghchnanjdfb <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(jpkjdnbmhnl), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    kollpgccdil = v.kollpgccdil;
    efoafoabnon = v.efoafoabnon;
    id = v.id;
    ghchnanjdfb = v.ghchnanjdfb;
  } : jpkjdnbmhnl)

let rec decode_pb_eehicbnnfej d =
  let v = default_eehicbnnfej_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.eiiaaffjcda <- List.rev v.eiiaaffjcda;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.eiiaaffjcda <- (decode_pb_nlbpclnhcjn (Pbrt.Decoder.nested d)) :: v.eiiaaffjcda;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eehicbnnfej), field(13)" pk
    | Some (8, Pbrt.Bytes) -> begin
      v.eeghmjloiap <- Some (decode_pb_jpkjdnbmhnl (Pbrt.Decoder.nested d));
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eehicbnnfej), field(8)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    eiiaaffjcda = v.eiiaaffjcda;
    eeghmjloiap = v.eeghmjloiap;
  } : eehicbnnfej)

let rec decode_pb_eogickanbpl d =
  let v = default_eogickanbpl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.mhhndeiccmp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(eogickanbpl), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mhhndeiccmp = v.mhhndeiccmp;
  } : eogickanbpl)

let rec decode_pb_cbjjhcohoko d =
  let v = default_cbjjhcohoko_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.mcdcffpnpal <- Some (decode_pb_eehicbnnfej (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbjjhcohoko), field(10)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbjjhcohoko), field(6)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.impkmnjoncg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cbjjhcohoko), field(2)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mcdcffpnpal = v.mcdcffpnpal;
    retcode = v.retcode;
    impkmnjoncg = v.impkmnjoncg;
  } : cbjjhcohoko)

let rec decode_pb_infclppcfii d =
  let v = default_infclppcfii_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.cielfhbbkif <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(infclppcfii), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cielfhbbkif = v.cielfhbbkif;
  } : infclppcfii)

let rec decode_pb_ocfjiflmdmf d =
  let v = default_ocfjiflmdmf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ocfjiflmdmf), field(5)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.impkmnjoncg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ocfjiflmdmf), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    impkmnjoncg = v.impkmnjoncg;
  } : ocfjiflmdmf)

let rec decode_pb_djjgocfdboc d =
  match Pbrt.Decoder.key d with
  | None -> ();
  | Some (_, pk) -> 
    Pbrt.Decoder.unexpected_payload "Unexpected fields in empty message(djjgocfdboc)" pk

let rec decode_pb_cookpofdkal d =
  let v = default_cookpofdkal_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.eadjabjkdmd <- List.rev v.eadjabjkdmd;
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.impkmnjoncg <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cookpofdkal), field(3)" pk
    | Some (2, Pbrt.Bytes) -> begin
      v.eadjabjkdmd <- (decode_pb_jpkjdnbmhnl (Pbrt.Decoder.nested d)) :: v.eadjabjkdmd;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cookpofdkal), field(2)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cookpofdkal), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    impkmnjoncg = v.impkmnjoncg;
    eadjabjkdmd = v.eadjabjkdmd;
    retcode = v.retcode;
  } : cookpofdkal)

let rec decode_pb_inkhgacfojg d =
  let v = default_inkhgacfojg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (15, Pbrt.Varint) -> begin
      v.cielfhbbkif <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(inkhgacfojg), field(15)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.mhhndeiccmp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(inkhgacfojg), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    cielfhbbkif = v.cielfhbbkif;
    mhhndeiccmp = v.mhhndeiccmp;
  } : inkhgacfojg)

let rec decode_pb_ljffpoepbog d =
  let v = default_ljffpoepbog_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.mhhndeiccmp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ljffpoepbog), field(12)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.llonjcmgcfh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ljffpoepbog), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    mhhndeiccmp = v.mhhndeiccmp;
    llonjcmgcfh = v.llonjcmgcfh;
  } : ljffpoepbog)

let rec decode_pb_bfbaccbmiem d =
  let v = default_bfbaccbmiem_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (13, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bfbaccbmiem), field(13)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.mhhndeiccmp <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bfbaccbmiem), field(1)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.llonjcmgcfh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bfbaccbmiem), field(4)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    mhhndeiccmp = v.mhhndeiccmp;
    llonjcmgcfh = v.llonjcmgcfh;
  } : bfbaccbmiem)

let rec decode_pb_olnkajodjjo d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Cmd_wolf_bro_type_none:olnkajodjjo)
  | 6593 -> (Cmd_restore_wolf_bro_game_archive_sc_rsp:olnkajodjjo)
  | 6582 -> (Cmd_wolf_bro_game_pickup_bullet_sc_rsp:olnkajodjjo)
  | 6599 -> (Cmd_wolf_bro_game_data_change_sc_notify:olnkajodjjo)
  | 6556 -> (Cmd_restore_wolf_bro_game_archive_cs_req:olnkajodjjo)
  | 6533 -> (Cmd_get_wolf_bro_game_data_sc_rsp:olnkajodjjo)
  | 6543 -> (Cmd_archive_wolf_bro_game_sc_rsp:olnkajodjjo)
  | 6506 -> (Cmd_start_wolf_bro_game_sc_rsp:olnkajodjjo)
  | 6511 -> (Cmd_archive_wolf_bro_game_cs_req:olnkajodjjo)
  | 6539 -> (Cmd_quit_wolf_bro_game_cs_req:olnkajodjjo)
  | 6598 -> (Cmd_wolf_bro_game_explode_monster_cs_req:olnkajodjjo)
  | 6534 -> (Cmd_wolf_bro_game_activate_bullet_cs_req:olnkajodjjo)
  | 6529 -> (Cmd_quit_wolf_bro_game_sc_rsp:olnkajodjjo)
  | 6551 -> (Cmd_get_wolf_bro_game_data_cs_req:olnkajodjjo)
  | 6565 -> (Cmd_wolf_bro_game_use_bullet_sc_rsp:olnkajodjjo)
  | 6548 -> (Cmd_wolf_bro_game_pickup_bullet_cs_req:olnkajodjjo)
  | 6568 -> (Cmd_start_wolf_bro_game_cs_req:olnkajodjjo)
  | 6597 -> (Cmd_wolf_bro_game_activate_bullet_sc_rsp:olnkajodjjo)
  | 6525 -> (Cmd_wolf_bro_game_explode_monster_sc_rsp:olnkajodjjo)
  | 6554 -> (Cmd_wolf_bro_game_use_bullet_cs_req:olnkajodjjo)
  | _ -> Pbrt.Decoder.malformed_variant "olnkajodjjo"

let rec decode_pb_bldfddbpnba d =
  let v = default_bldfddbpnba_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bhjdpndboha <- List.rev v.bhjdpndboha;
    ); continue__ := false
    | Some (4, Pbrt.Bytes) -> begin
      v.bhjdpndboha <- (decode_pb_vector (Pbrt.Decoder.nested d)) :: v.bhjdpndboha;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bldfddbpnba), field(4)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.jililehmdkg <- Some (decode_pb_motion_info (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bldfddbpnba), field(12)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.bojongdmfck <- Pbrt.Decoder.bool d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bldfddbpnba), field(5)" pk
    | Some (14, Pbrt.Varint) -> begin
      v.flamaakibdo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bldfddbpnba), field(14)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    bhjdpndboha = v.bhjdpndboha;
    jililehmdkg = v.jililehmdkg;
    bojongdmfck = v.bojongdmfck;
    flamaakibdo = v.flamaakibdo;
  } : bldfddbpnba)

let rec decode_pb_megkociblgl d =
  let v = default_megkociblgl_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.bhjdpndboha <- List.rev v.bhjdpndboha;
    ); continue__ := false
    | Some (14, Pbrt.Varint) -> begin
      v.flamaakibdo <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (14, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(megkociblgl), field(14)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(megkociblgl), field(8)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.bojongdmfck <- Pbrt.Decoder.bool d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(megkociblgl), field(13)" pk
    | Some (6, Pbrt.Bytes) -> begin
      v.bhjdpndboha <- (decode_pb_vector (Pbrt.Decoder.nested d)) :: v.bhjdpndboha;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(megkociblgl), field(6)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.mbmegghhkjl <- Pbrt.Decoder.string d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(megkociblgl), field(5)" pk
    | Some (7, Pbrt.Bytes) -> begin
      v.icebhafphej <- Some (decode_pb_bldfddbpnba (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(megkociblgl), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    flamaakibdo = v.flamaakibdo;
    id = v.id;
    bojongdmfck = v.bojongdmfck;
    bhjdpndboha = v.bhjdpndboha;
    mbmegghhkjl = v.mbmegghhkjl;
    icebhafphej = v.icebhafphej;
  } : megkociblgl)

let rec decode_pb_cffmmlmbakg d =
  let v = default_cffmmlmbakg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.podpafooomg <- Some (decode_pb_iggijbjppoc (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cffmmlmbakg), field(10)" pk
    | Some (4, Pbrt.Bytes) -> begin
      v.jililehmdkg <- Some (decode_pb_motion_info (Pbrt.Decoder.nested d));
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cffmmlmbakg), field(4)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.nipjabamela <- Pbrt.Decoder.bool d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cffmmlmbakg), field(3)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(cffmmlmbakg), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    podpafooomg = v.podpafooomg;
    jililehmdkg = v.jililehmdkg;
    nipjabamela = v.nipjabamela;
    id = v.id;
  } : cffmmlmbakg)

let rec decode_pb_ocabdlfgddo d =
  let v = default_ocabdlfgddo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ocabdlfgddo), field(3)" pk
    | Some (9, Pbrt.Bytes) -> begin
      v.dkefdkdleip <- Some (decode_pb_megkociblgl (Pbrt.Decoder.nested d));
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(ocabdlfgddo), field(9)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    dkefdkdleip = v.dkefdkdleip;
  } : ocabdlfgddo)

let rec decode_pb_bbejpgcgoeg d =
  let v = default_bbejpgcgoeg_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (3, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bbejpgcgoeg), field(3)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.jililehmdkg <- Some (decode_pb_motion_info (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bbejpgcgoeg), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
    jililehmdkg = v.jililehmdkg;
  } : bbejpgcgoeg)

let rec decode_pb_knnddnnphdo d =
  let v = default_knnddnnphdo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (2, Pbrt.Bytes) -> begin
      v.dkefdkdleip <- Some (decode_pb_megkociblgl (Pbrt.Decoder.nested d));
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(knnddnnphdo), field(2)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(knnddnnphdo), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dkefdkdleip = v.dkefdkdleip;
    retcode = v.retcode;
  } : knnddnnphdo)

let rec decode_pb_dlemcdhgehe d =
  let v = default_dlemcdhgehe_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dlemcdhgehe), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
  } : dlemcdhgehe)

let rec decode_pb_fhodkhmblge d =
  let v = default_fhodkhmblge_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (4, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fhodkhmblge), field(4)" pk
    | Some (3, Pbrt.Bytes) -> begin
      v.dkefdkdleip <- Some (decode_pb_megkociblgl (Pbrt.Decoder.nested d));
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fhodkhmblge), field(3)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    dkefdkdleip = v.dkefdkdleip;
  } : fhodkhmblge)

let rec decode_pb_hkfphajhobo d =
  let v = default_hkfphajhobo_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (12, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(hkfphajhobo), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
  } : hkfphajhobo)

let rec decode_pb_obmalglckij d =
  let v = default_obmalglckij_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(obmalglckij), field(7)" pk
    | Some (15, Pbrt.Bytes) -> begin
      v.dkefdkdleip <- Some (decode_pb_megkociblgl (Pbrt.Decoder.nested d));
    end
    | Some (15, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(obmalglckij), field(15)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    dkefdkdleip = v.dkefdkdleip;
  } : obmalglckij)

let rec decode_pb_bhhgnciilln d =
  let v = default_bhhgnciilln_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bhhgnciilln), field(6)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    id = v.id;
  } : bhhgnciilln)

let rec decode_pb_nccafebhggn d =
  let v = default_nccafebhggn_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (11, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nccafebhggn), field(11)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.dkefdkdleip <- Some (decode_pb_megkociblgl (Pbrt.Decoder.nested d));
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nccafebhggn), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    dkefdkdleip = v.dkefdkdleip;
  } : nccafebhggn)

let rec decode_pb_nphghnpilgh d =
  let v = default_nphghnpilgh_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Bytes) -> begin
      v.dkefdkdleip <- Some (decode_pb_megkociblgl (Pbrt.Decoder.nested d));
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(nphghnpilgh), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    dkefdkdleip = v.dkefdkdleip;
  } : nphghnpilgh)

let rec decode_pb_bmnpakcohnb d =
  let v = default_bmnpakcohnb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ohainjgiflk <- List.rev v.ohainjgiflk;
    ); continue__ := false
    | Some (10, Pbrt.Bytes) -> begin
      v.fdlfjmagnod <- Some (decode_pb_vector (Pbrt.Decoder.nested d));
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bmnpakcohnb), field(10)" pk
    | Some (5, Pbrt.Bytes) -> begin
      v.ohainjgiflk <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(bmnpakcohnb), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fdlfjmagnod = v.fdlfjmagnod;
    ohainjgiflk = v.ohainjgiflk;
  } : bmnpakcohnb)

let rec decode_pb_klekfnbkhle d =
  let v = default_klekfnbkhle_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(klekfnbkhle), field(7)" pk
    | Some (13, Pbrt.Bytes) -> begin
      v.dkefdkdleip <- Some (decode_pb_megkociblgl (Pbrt.Decoder.nested d));
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(klekfnbkhle), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    dkefdkdleip = v.dkefdkdleip;
  } : klekfnbkhle)

let rec decode_pb_mkoahlhfigf d =
  let v = default_mkoahlhfigf_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (7, Pbrt.Bytes) -> begin
      v.fdlfjmagnod <- Some (decode_pb_vector (Pbrt.Decoder.nested d));
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mkoahlhfigf), field(7)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    fdlfjmagnod = v.fdlfjmagnod;
  } : mkoahlhfigf)

let rec decode_pb_fghhgocefoj d =
  let v = default_fghhgocefoj_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fghhgocefoj), field(1)" pk
    | Some (12, Pbrt.Bytes) -> begin
      v.dkefdkdleip <- Some (decode_pb_megkociblgl (Pbrt.Decoder.nested d));
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fghhgocefoj), field(12)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
    dkefdkdleip = v.dkefdkdleip;
  } : fghhgocefoj)

let rec decode_pb_fmckljimojc d =
  let v = default_fmckljimojc_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (6, Pbrt.Varint) -> begin
      v.pfbnanpcdjh <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmckljimojc), field(6)" pk
    | Some (1, Pbrt.Varint) -> begin
      v.group_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(fmckljimojc), field(1)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    pfbnanpcdjh = v.pfbnanpcdjh;
    group_id = v.group_id;
  } : fmckljimojc)

let rec decode_pb_dcpbeknpeij d =
  let v = default_dcpbeknpeij_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (5, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(dcpbeknpeij), field(5)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : dcpbeknpeij)

let rec decode_pb_mgeahpkhpao d =
  let v = default_mgeahpkhpao_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
      v.ohainjgiflk <- List.rev v.ohainjgiflk;
    ); continue__ := false
    | Some (13, Pbrt.Bytes) -> begin
      v.ohainjgiflk <- Pbrt.Decoder.packed_fold (fun l d -> (Pbrt.Decoder.int32_as_varint d)::l) [] d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mgeahpkhpao), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    ohainjgiflk = v.ohainjgiflk;
  } : mgeahpkhpao)

let rec decode_pb_mjchmfgimgb d =
  let v = default_mjchmfgimgb_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (10, Pbrt.Varint) -> begin
      v.retcode <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(mjchmfgimgb), field(10)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    retcode = v.retcode;
  } : mjchmfgimgb)

let rec decode_pb_jgidkoomfnm d = 
  match Pbrt.Decoder.int_as_varint d with
  | 0 -> (Dispatch_type_none:jgidkoomfnm)
  | 1 -> (Dispatch_type_by_addr:jgidkoomfnm)
  | 2 -> (Dispatch_type_by_mod:jgidkoomfnm)
  | 3 -> (Dispatch_type_by_rand:jgidkoomfnm)
  | 4 -> (Dispatch_type_by_chash:jgidkoomfnm)
  | 5 -> (Dispatch_type_by_sticky_session:jgidkoomfnm)
  | 6 -> (Dispatch_type_by_object:jgidkoomfnm)
  | _ -> Pbrt.Decoder.malformed_variant "jgidkoomfnm"

let rec decode_pb_packet_head d =
  let v = default_packet_head_mutable () in
  let continue__= ref true in
  while !continue__ do
    match Pbrt.Decoder.key d with
    | None -> (
    ); continue__ := false
    | Some (1, Pbrt.Varint) -> begin
      v.packet_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (1, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(packet_head), field(1)" pk
    | Some (2, Pbrt.Varint) -> begin
      v.sign_type <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (2, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(packet_head), field(2)" pk
    | Some (3, Pbrt.Varint) -> begin
      v.sign <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (3, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(packet_head), field(3)" pk
    | Some (4, Pbrt.Varint) -> begin
      v.user_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (4, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(packet_head), field(4)" pk
    | Some (5, Pbrt.Varint) -> begin
      v.src_addr <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (5, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(packet_head), field(5)" pk
    | Some (6, Pbrt.Varint) -> begin
      v.dst_addr <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (6, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(packet_head), field(6)" pk
    | Some (7, Pbrt.Varint) -> begin
      v.dispatch_type <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (7, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(packet_head), field(7)" pk
    | Some (8, Pbrt.Varint) -> begin
      v.server_type <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (8, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(packet_head), field(8)" pk
    | Some (9, Pbrt.Varint) -> begin
      v.dispatch_key <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (9, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(packet_head), field(9)" pk
    | Some (10, Pbrt.Varint) -> begin
      v.user_session_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (10, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(packet_head), field(10)" pk
    | Some (11, Pbrt.Varint) -> begin
      v.id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (11, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(packet_head), field(11)" pk
    | Some (12, Pbrt.Varint) -> begin
      v.coroutine_id <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (12, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(packet_head), field(12)" pk
    | Some (13, Pbrt.Varint) -> begin
      v.hop_cnt <- Pbrt.Decoder.int32_as_varint d;
    end
    | Some (13, pk) -> 
      Pbrt.Decoder.unexpected_payload "Message(packet_head), field(13)" pk
    | Some (_, payload_kind) -> Pbrt.Decoder.skip d payload_kind
  done;
  ({
    packet_id = v.packet_id;
    sign_type = v.sign_type;
    sign = v.sign;
    user_id = v.user_id;
    src_addr = v.src_addr;
    dst_addr = v.dst_addr;
    dispatch_type = v.dispatch_type;
    server_type = v.server_type;
    dispatch_key = v.dispatch_key;
    user_session_id = v.user_session_id;
    id = v.id;
    coroutine_id = v.coroutine_id;
    hop_cnt = v.hop_cnt;
  } : packet_head)
