// Translated by Cutie Naruse
// 4.3.51 BETA Star Rail
syntax = "proto3"; // ex-RushiaLover ProtoDumper | Game Version: OSBETAWin4.3.51

option csharp_namespace = "NeonSR.Proto";

message EmbeddedAttribute {
}

message RefSafetyRulesAttribute {
}

enum PlayerActionType {
	PlayerActionType_PlayerActionNone = 0;
	PlayerActionType_PlayerActionRegister = 1;
	PlayerActionType_PlayerActionLogin = 2;
	PlayerActionType_PlayerActionLogout = 3;
	PlayerActionType_PlayerActionAddExp = 4;
	PlayerActionType_PlayerActionLevelUp = 5;
	PlayerActionType_PlayerActionAddMaterial = 6;
	PlayerActionType_PlayerActionSaveStat = 7;
	PlayerActionType_PlayerActionTravelBrochureInteract = 8;
	PlayerActionType_PlayerActionRelay = 9;
	PlayerActionType_PlayerActionRecharge = 101;
	PlayerActionType_PlayerActionBuyGoods = 102;
	PlayerActionType_PlayerActionAddCoin = 103;
	PlayerActionType_PlayerActionMonthCardDailyHcoin = 104;
	PlayerActionType_PlayerActionMonthCardBuyMcoin = 105;
	PlayerActionType_PlayerActionRechargeFreeCoin = 106;
	PlayerActionType_PlayerActionAddMonthCard = 107;
	PlayerActionType_PlayerActionRechargeGiftPay = 108;
	PlayerActionType_PlayerActionRechargeGiftFree = 109;
	PlayerActionType_PlayerActionRechargeBenefit = 110;
	PlayerActionType_PlayerActionRechargeGiftTakeReward = 111;
	PlayerActionType_PlayerActionRechargeGiftReach = 112;
	PlayerActionType_PlayerActionRechargeBenefitReach = 113;
	PlayerActionType_PlayerActionMonthCardEndMail = 114;
	PlayerActionType_PlayerActionMissionAccept = 201;
	PlayerActionType_PlayerActionMissionFinish = 202;
	PlayerActionType_PlayerActionMissionFail = 203;
	PlayerActionType_PlayerActionMainMissionAccept = 204;
	PlayerActionType_PlayerActionSubMissionAccept = 205;
	PlayerActionType_PlayerActionMainMissionFinish = 206;
	PlayerActionType_PlayerActionSubMissionFinish = 207;
	PlayerActionType_PlayerActionDailyTaskFinish = 208;
	PlayerActionType_PlayerActionDailyTaskTakeReward = 209;
	PlayerActionType_PlayerActionNpcTalkReward = 210;
	PlayerActionType_PlayerActionMainMissionRecover = 211;
	PlayerActionType_PlayerActionMainMissionDisable = 212;
	PlayerActionType_PlayerActionConsumeItemSubMissionFinish = 213;
	PlayerActionType_PlayerActionItemMonitorAllSources = 999;
	PlayerActionType_PlayerActionGm = 1001;
	PlayerActionType_PlayerActionCustomOp = 1002;
	PlayerActionType_PlayerActionCheckSum = 1003;
	PlayerActionType_PlayerActionPlayerLocation = 1004;
	PlayerActionType_PlayerActionChangeLanguage = 1005;
	PlayerActionType_PlayerActionClientReport = 1006;
	PlayerActionType_PlayerActionAceReport = 1007;
	PlayerActionType_PlayerActionPlayerPowerInfo = 1008;
	PlayerActionType_PlayerActionDailyRefresh = 1009;
	PlayerActionType_PlayerActionAvatarValueInfo = 1010;
	PlayerActionType_PlayerActionMoveCheckFailedReport = 1011;
	PlayerActionType_PlayerActionBattleFailedReport = 1012;
	PlayerActionType_PlayerActionSecurityReport = 1013;
	PlayerActionType_PlayerActionAvatarPromotion = 1101;
	PlayerActionType_PlayerActionAvatarAdd = 1103;
	PlayerActionType_PlayerActionAvatarUseExpItem = 1104;
	PlayerActionType_PlayerActionAvatarLevelUp = 1105;
	PlayerActionType_PlayerActionSkillTreeUp = 1106;
	PlayerActionType_PlayerActionAvatarHpChange = 1107;
	PlayerActionType_PlayerActionAvatarMpChange = 1108;
	PlayerActionType_PlayerActionAvatarAddExp = 1109;
	PlayerActionType_PlayerActionAvatarRankUp = 1110;
	PlayerActionType_PlayerActionAvatarRepeated = 1111;
	PlayerActionType_PlayerActionMpMaxChange = 1112;
	PlayerActionType_PlayerActionAvatarTakePromotionReward = 1113;
	PlayerActionType_PlayerActionAvatarRelicAffixInfo = 1114;
	PlayerActionType_PlayerActionAvatarMark = 1115;
	PlayerActionType_PlayerActionAvatarSystemPowerReset = 1116;
	PlayerActionType_PlayerActionAvatarChangePath = 1119;
	PlayerActionType_PlayerActionSetGrowthTargetAvatar = 1120;
	PlayerActionType_PlayerActionDelAvatar = 1121;
	PlayerActionType_PlayerActionAvatarSkinChange = 1122;
	PlayerActionType_PlayerActionSetGrowthTargetFunctionConfig = 1123;
	PlayerActionType_PlayerActionAvatarSkinActivityReissue = 1124;
	PlayerActionType_PlayerActionSetAvatarEnhancedId = 1125;
	PlayerActionType_PlayerActionDressPlayerOutfit = 1126;
	PlayerActionType_PlayerActionStageBegin = 1202;
	PlayerActionType_PlayerActionStageEnd = 1203;
	PlayerActionType_PlayerActionCocoonStageBegin = 1205;
	PlayerActionType_PlayerActionCocoonStageEnd = 1206;
	PlayerActionType_PlayerActionFarmElementEnd = 1207;
	PlayerActionType_PlayerActionElementStageEnd = 1208;
	PlayerActionType_PlayerActionCocoonSweep = 1209;
	PlayerActionType_PlayerActionFarmElementSweep = 1210;
	PlayerActionType_PlayerActionRecoverStamina = 1301;
	PlayerActionType_PlayerActionExchangeStamina = 1302;
	PlayerActionType_PlayerActionLoginReward = 1303;
	PlayerActionType_PlayerActionModifyNickname = 1304;
	PlayerActionType_PlayerActionGetLevelReward = 1305;
	PlayerActionType_PlayerActionWorldLevelUp = 1306;
	PlayerActionType_PlayerActionAddStamina = 1307;
	PlayerActionType_PlayerActionGameplayBirthdayRewardMail = 1308;
	PlayerActionType_PlayerActionRechargeRebateReward = 1309;
	PlayerActionType_PlayerActionGameplayBirthdaySet = 1310;
	PlayerActionType_PlayerActionReserveStaminaExchange = 1311;
	PlayerActionType_PlayerActionReserveStaminaAdd = 1312;
	PlayerActionType_PlayerActionReserveStaminaChange = 1313;
	PlayerActionType_PlayerActionNowStamina = 1314;
	PlayerActionType_PlayerActionFtcResetNickname = 1315;
	PlayerActionType_PlayerActionReserveAndFuelExchangeStamina = 1316;
	PlayerActionType_PlayerActionMail = 1401;
	PlayerActionType_PlayerActionMailOpByUser = 1402;
	PlayerActionType_PlayerActionMailOpByMuip = 1403;
	PlayerActionType_PlayerActionMailOpByGm = 1404;
	PlayerActionType_PlayerActionMailOpByFull = 1405;
	PlayerActionType_PlayerActionMailOpByExpire = 1406;
	PlayerActionType_PlayerActionMailOpByInternal = 1407;
	PlayerActionType_PlayerActionAddMail = 1408;
	PlayerActionType_PlayerActionDelMail = 1409;
	PlayerActionType_PlayerActionTakeAttachment = 1410;
	PlayerActionType_PlayerActionReadMail = 1411;
	PlayerActionType_PlayerActionBattleAvatar = 1501;
	PlayerActionType_PlayerActionBattleMonster = 1502;
	PlayerActionType_PlayerActionBattleEnd = 1504;
	PlayerActionType_PlayerActionBattleReplay = 1505;
	PlayerActionType_PlayerActionBattleAvatarDeath = 1506;
	PlayerActionType_PlayerActionBattleSwitchPhase = 1507;
	PlayerActionType_PlayerActionBattleMonsterSkill = 1508;
	PlayerActionType_PlayerActionBattleRebattle = 1509;
	PlayerActionType_PlayerActionBattleAvatarServant = 1510;
	PlayerActionType_PlayerActionMissionReward = 1602;
	PlayerActionType_PlayerActionQuestAccept = 1603;
	PlayerActionType_PlayerActionQuestFinish = 1604;
	PlayerActionType_PlayerActionQuestRemove = 1605;
	PlayerActionType_PlayerActionQuestReward = 1606;
	PlayerActionType_PlayerActionQuestAutoClose = 1607;
	PlayerActionType_PlayerActionQuestExpired = 1608;
	PlayerActionType_PlayerActionMissionRequired = 1609;
	PlayerActionType_PlayerActionSubmissionReward = 1610;
	PlayerActionType_PlayerActionAchievementLevelReward = 1611;
	PlayerActionType_PlayerActionQuestDelete = 1612;
	PlayerActionType_PlayerActionSubMissionReward2 = 1613;
	PlayerActionType_PlayerActionMissionCompensate = 1614;
	PlayerActionType_PlayerActionMissionRecycle = 1615;
	PlayerActionType_PlayerActionQuestReset = 1616;
	PlayerActionType_PlayerActionQuestOptionalReward = 1617;
	PlayerActionType_PlayerActionMcvChange = 1618;
	PlayerActionType_PlayerActionQuestReissue = 1619;
	PlayerActionType_PlayerActionPropInteract = 1704;
	PlayerActionType_PlayerActionAvatarMazeSkill = 1705;
	PlayerActionType_PlayerActionEnterMaze = 1706;
	PlayerActionType_PlayerActionOrdinaryInteract = 1707;
	PlayerActionType_PlayerActionChestInteract = 1708;
	PlayerActionType_PlayerActionCheckPointUnlock = 1709;
	PlayerActionType_PlayerActionCheckPointInteract = 1710;
	PlayerActionType_PlayerActionCheckPointRevive = 1711;
	PlayerActionType_PlayerActionCheckPointTransfer = 1712;
	PlayerActionType_PlayerActionMonsterInteract = 1714;
	PlayerActionType_PlayerActionNpcInteract = 1716;
	PlayerActionType_PlayerActionPropHit = 1717;
	PlayerActionType_PlayerActionPrelogueRevive = 1718;
	PlayerActionType_PlayerActionPropState = 1719;
	PlayerActionType_PlayerActionCheckPointRecover = 1720;
	PlayerActionType_PlayerActionMechanismBar = 1722;
	PlayerActionType_PlayerActionSubmitOrigamiItem = 1723;
	PlayerActionType_PlayerActionMazeBuffDropItem = 1724;
	PlayerActionType_PlayerActionFsvChange = 1725;
	PlayerActionType_PlayerActionTimelinePropState = 1726;
	PlayerActionType_PlayerActionGroupPropertyChange = 1727;
	PlayerActionType_PlayerActionOpenGroupPropertyChest = 1728;
	PlayerActionType_PlayerActionEquipmentPromotion = 1901;
	PlayerActionType_PlayerActionAddItem = 1902;
	PlayerActionType_PlayerActionUseItem = 1904;
	PlayerActionType_PlayerActionEquipmentRankUp = 1905;
	PlayerActionType_PlayerActionEquipmentLevelUp = 1906;
	PlayerActionType_PlayerActionExpUpEquipmentReturn = 1907;
	PlayerActionType_PlayerActionBagFullRewardMail = 1908;
	PlayerActionType_PlayerActionEquipmentAdd = 1909;
	PlayerActionType_PlayerActionEquipmentWear = 1910;
	PlayerActionType_PlayerActionItemCompose = 1911;
	PlayerActionType_PlayerActionRelicLevelUp = 1912;
	PlayerActionType_PlayerActionExpUpRelicReturn = 1913;
	PlayerActionType_PlayerActionRelicNumChanged = 1914;
	PlayerActionType_PlayerActionRelicWear = 1915;
	PlayerActionType_PlayerActionRelicCompose = 1916;
	PlayerActionType_PlayerActionSellItem = 1917;
	PlayerActionType_PlayerActionUnlockMusic = 1918;
	PlayerActionType_PlayerActionExchangeHcoinWithPayMcoin = 1919;
	PlayerActionType_PlayerActionGetReward = 1920;
	PlayerActionType_PlayerActionExchangeHcoinWithFreeMcoin = 1921;
	PlayerActionType_PlayerActionItemComposeFormulaUnlock = 1922;
	PlayerActionType_PlayerActionExchangeHcoin = 1923;
	PlayerActionType_PlayerActionCityShopLevelReward = 1924;
	PlayerActionType_PlayerActionItemRecycle = 1925;
	PlayerActionType_PlayerActionMuseumFundsConsume = 1926;
	PlayerActionType_PlayerActionMuseumEventBuyStuff = 1927;
	PlayerActionType_PlayerActionMuseumMarketBuyStuff = 1928;
	PlayerActionType_PlayerActionMuseumRandomEvent = 1929;
	PlayerActionType_PlayerActionMuseumInitialItem = 1930;
	PlayerActionType_PlayerActionOptionalBoxReward = 1931;
	PlayerActionType_PlayerActionDestroyItem = 1932;
	PlayerActionType_PlayerActionTransferExp = 1933;
	PlayerActionType_PlayerActionOndutyUse = 1934;
	PlayerActionType_PlayerActionItemMark = 1935;
	PlayerActionType_PlayerActionRelicDiscard = 1936;
	PlayerActionType_PlayerActionGeneralVirtualItemChange = 1937;
	PlayerActionType_PlayerActionRelicLock = 1938;
	PlayerActionType_PlayerActionRelicFilterPlanSave = 1939;
	PlayerActionType_PlayerActionRelicFilterPlanDelete = 1940;
	PlayerActionType_PlayerActionRelicFilterPlanMark = 1941;
	PlayerActionType_PlayerActionRelicSell = 1942;
	PlayerActionType_PlayerActionRelicReforge = 1943;
	PlayerActionType_PlayerActionRelicSmartWearCustomPlan = 1944;
	PlayerActionType_PlayerActionRecoverRelic = 1945;
	PlayerActionType_PlayerActionRecoverEquipment = 1946;
	PlayerActionType_PlayerActionEquipmentSell = 1947;
	PlayerActionType_PlayerActionRelicSmartWearPinRelic = 1948;
	PlayerActionType_PlayerActionRelicCocoonSetting = 1949;
	PlayerActionType_PlayerActionPersonalCardChange = 1950;
	PlayerActionType_PlayerActionPhoneCaseChange = 1951;
	PlayerActionType_PlayerActionDeliveryItemReward = 1952;
	PlayerActionType_PlayerActionItemAutoTransfer = 1953;
	PlayerActionType_PlayerActionItemAutoTransferInBag = 1954;
	PlayerActionType_PlayerActionItemAutoTransferOnAdd = 1955;
	PlayerActionType_PlayerActionAddExtraCoin = 1956;
	PlayerActionType_PlayerActionVariableDiceExchangePartnerCoin = 1957;
	PlayerActionType_PlayerActionRelicBox = 1958;
	PlayerActionType_PlayerActionRelicBoxSettle = 1959;
	PlayerActionType_PlayerActionRelicBoxRegular = 1960;
	PlayerActionType_PlayerActionRelicReplace = 1961;
	PlayerActionType_PlayerActionEquipmentUpCostPileSetting = 1962;
	PlayerActionType_PlayerActionRelicBoxShow = 1963;
	PlayerActionType_PlayerActionTutorialGuideFinish = 2001;
	PlayerActionType_PlayerActionTutorial = 2002;
	PlayerActionType_PlayerActionTutorialGuide = 2003;
	PlayerActionType_PlayerActionMonsterDrop = 2101;
	PlayerActionType_PlayerActionFinishChallenge = 2201;
	PlayerActionType_PlayerActionChallengeStars = 2202;
	PlayerActionType_PlayerActionChallengeStart = 2203;
	PlayerActionType_PlayerActionChallengeEnd = 2204;
	PlayerActionType_PlayerActionChallengeWin = 2205;
	PlayerActionType_PlayerActionChallengeFail = 2206;
	PlayerActionType_PlayerActionChallengeLeave = 2207;
	PlayerActionType_PlayerActionChallengeSwitch = 2208;
	PlayerActionType_PlayerActionChallengeBonusReward = 2210;
	PlayerActionType_PlayerActionChallengeStarsReward = 2211;
	PlayerActionType_PlayerActionChallengeRestart = 2212;
	PlayerActionType_PlayerActionChallengeStoryStart = 2213;
	PlayerActionType_PlayerActionChallengeStoryEnd = 2214;
	PlayerActionType_PlayerActionChallengeFastPass = 2215;
	PlayerActionType_PlayerActionChallengeStoryFastPass = 2216;
	PlayerActionType_PlayerActionChallengeMemoryFastPass = 2217;
	PlayerActionType_PlayerActionChallengeBattleTarget = 2218;
	PlayerActionType_PlayerActionChallengeBossEnd = 2219;
	PlayerActionType_PlayerActionChallengeBossFastPass = 2220;
	PlayerActionType_PlayerActionChallengeStartPartial = 2221;
	PlayerActionType_PlayerActionChallengeBossPhaseStart = 2222;
	PlayerActionType_PlayerActionChallengeBossPhaseEnd = 2223;
	PlayerActionType_PlayerActionChallengeBossPhaseEndBeforeBattle = 2224;
	PlayerActionType_PlayerActionChallengeRecommendLineup = 2225;
	PlayerActionType_PlayerActionChallengeStoryFeverBattleEnd = 2226;
	PlayerActionType_PlayerActionChallengeTierceRecommendLineup = 2281;
	PlayerActionType_PlayerActionChallengeTierceStart = 2282;
	PlayerActionType_PlayerActionChallengeTierceBattleEnd = 2283;
	PlayerActionType_PlayerActionChallengeTierceStageSettle = 2284;
	PlayerActionType_PlayerActionChallengeTierceGradeReset = 2285;
	PlayerActionType_PlayerActionTeamInfoChange = 2301;
	PlayerActionType_PlayerActionChangeCurrentAvatar = 2302;
	PlayerActionType_PlayerActionCreateVirtualTeam = 2303;
	PlayerActionType_PlayerActionTeamNameEdit = 2304;
	PlayerActionType_PlayerActionReplaceLineupAvatar = 2305;
	PlayerActionType_PlayerActionAvatarBuffChange = 2401;
	PlayerActionType_PlayerActionEnvBuffChange = 2402;
	PlayerActionType_PlayerActionGameCore = 2403;
	PlayerActionType_PlayerActionAvatarGlobalBuff = 2404;
	PlayerActionType_PlayerActionRogueExploreStart = 2501;
	PlayerActionType_PlayerActionRogueEnterRoom = 2502;
	PlayerActionType_PlayerActionRogueLeaveRoom = 2503;
	PlayerActionType_PlayerActionRogueExploreFinish = 2504;
	PlayerActionType_PlayerActionRogueSelectBuff = 2505;
	PlayerActionType_PlayerActionRogueRollBuff = 2506;
	PlayerActionType_PlayerActionRogueRevive = 2507;
	PlayerActionType_PlayerActionRogueChallengeStart = 2512;
	PlayerActionType_PlayerActionRogueMiracle = 2514;
	PlayerActionType_PlayerActionRogueAddBuff = 2515;
	PlayerActionType_PlayerActionRoguePickAvatar = 2516;
	PlayerActionType_PlayerActionRogueSeasonChanged = 2522;
	PlayerActionType_PlayerActionRogueAeonLevelUp = 2524;
	PlayerActionType_PlayerActionRogueOpenDoor = 2525;
	PlayerActionType_PlayerActionRogueScoreReward = 2526;
	PlayerActionType_PlayerActionRogueEnhanceBuff = 2527;
	PlayerActionType_PlayerActionRogueSelectBonus = 2528;
	PlayerActionType_PlayerActionRogueAreaFirstReward = 2529;
	PlayerActionType_PlayerActionRogueEnableTalent = 2530;
	PlayerActionType_PlayerActionRogueAeonUnlock = 2531;
	PlayerActionType_PlayerActionRogueAeonAddExp = 2532;
	PlayerActionType_PlayerActionRogueImmerseLevelUp = 2533;
	PlayerActionType_PlayerActionRogueSelectMiracle = 2534;
	PlayerActionType_PlayerActionRogueUnlockArea = 2535;
	PlayerActionType_PlayerActionRogueExploreScoreChange = 2536;
	PlayerActionType_PlayerActionRogueUpdateRewardPool = 2537;
	PlayerActionType_PlayerActionRogueSwapBuff = 2539;
	PlayerActionType_PlayerActionRogueWeeklyRefresh = 2540;
	PlayerActionType_PlayerActionRogueExchangeKey = 2541;
	PlayerActionType_PlayerActionRogueGetObjectReward = 2542;
	PlayerActionType_PlayerActionRogueAreaMonsterDrop = 2543;
	PlayerActionType_PlayerActionRogueAddMiracle = 2544;
	PlayerActionType_PlayerActionRogueSwapMiracle = 2545;
	PlayerActionType_PlayerActionRogueOpenObjectReward = 2546;
	PlayerActionType_PlayerActionRogueAeonEffect = 2547;
	PlayerActionType_PlayerActionRogueReforgeBuff = 2548;
	PlayerActionType_PlayerActionRogueTradeMiracle = 2549;
	PlayerActionType_PlayerActionRogueRemoveAvatar = 2550;
	PlayerActionType_PlayerActionRogueDialogueSelect = 2551;
	PlayerActionType_PlayerActionRogueSelectAeon = 2552;
	PlayerActionType_PlayerActionRogueDialogueFinish = 2553;
	PlayerActionType_PlayerActionRogueHandbookReward = 2554;
	PlayerActionType_PlayerActionRogueAdventureRoomReward = 2555;
	PlayerActionType_PlayerActionRogueShopBuy = 2556;
	PlayerActionType_PlayerActionRogueRepairMiracle = 2557;
	PlayerActionType_PlayerActionRogueReplaceAllMiracle = 2558;
	PlayerActionType_PlayerActionRogueMiracleBroken = 2559;
	PlayerActionType_PlayerActionRogueShopRefresh = 2560;
	PlayerActionType_PlayerActionRogueLevelMechanism = 2561;
	PlayerActionType_PlayerActionRogueRemoveMiracle = 2562;
	PlayerActionType_PlayerActionRogueDropBuff = 2563;
	PlayerActionType_PlayerActionRogueDestroyMiracle = 2564;
	PlayerActionType_PlayerActionRogueActivateFormula = 2565;
	PlayerActionType_PlayerActionRogueDeactivateFormula = 2566;
	PlayerActionType_PlayerActionRogueRemoveBuff = 2567;
	PlayerActionType_PlayerActionRogueSelectFormula = 2568;
	PlayerActionType_PlayerActionRogueDropFormula = 2569;
	PlayerActionType_PlayerActionRogueRollFormula = 2570;
	PlayerActionType_PlayerActionRogueReforgeFormula = 2571;
	PlayerActionType_PlayerActionRogueComposeMiracle = 2572;
	PlayerActionType_PlayerActionRogueReforgeMiracle = 2573;
	PlayerActionType_PlayerActionRogueDoGamble = 2574;
	PlayerActionType_PlayerActionRogueKeywordActivate = 2575;
	PlayerActionType_PlayerActionRogueKeywordDeactivate = 2576;
	PlayerActionType_PlayerActionRogueSourceDefault = 2577;
	PlayerActionType_PlayerActionRoguePlayerSelect = 2578;
	PlayerActionType_PlayerActionRogueLayerSettlement = 2579;
	PlayerActionType_PlayerActionRogueFormula = 2580;
	PlayerActionType_PlayerActionRogueWorkbench = 2581;
	PlayerActionType_PlayerActionRogueModifier = 2582;
	PlayerActionType_PlayerActionRogueReforge = 2583;
	PlayerActionType_PlayerActionRogueTalent = 2584;
	PlayerActionType_PlayerActionRogueReroll = 2585;
	PlayerActionType_PlayerActionRogueCoinChange = 2586;
	PlayerActionType_PlayerActionRogueMagicScepterShop = 2587;
	PlayerActionType_PlayerActionRogueMagicUnitShop = 2588;
	PlayerActionType_PlayerActionRogueMagicScepterLevelUp = 2589;
	PlayerActionType_PlayerActionGacha = 2601;
	PlayerActionType_PlayerActionAddGachaTicket = 2602;
	PlayerActionType_PlayerActionGachaExchange = 2603;
	PlayerActionType_PlayerActionSetGachaDecideItem = 2604;
	PlayerActionType_PlayerActionEventMissionAccept = 2801;
	PlayerActionType_PlayerActionEventMissionFinish = 2802;
	PlayerActionType_PlayerActionEventMissionReward = 2803;
	PlayerActionType_PlayerActionRaidFinish = 2901;
	PlayerActionType_PlayerActionRaidBegin = 2902;
	PlayerActionType_PlayerActionChallengeRaidReward = 2903;
	PlayerActionType_PlayerActionStartRaid = 2904;
	PlayerActionType_PlayerActionEndRaid = 2905;
	PlayerActionType_PlayerActionRaidTargetFinish = 2906;
	PlayerActionType_PlayerActionArchiveRaid = 2907;
	PlayerActionType_PlayerActionHeroBaseTypeChange = 3051;
	PlayerActionType_PlayerActionHeroBaseTypeAddByMission = 3052;
	PlayerActionType_PlayerActionHeroBaseTypeAddByReq = 3053;
	PlayerActionType_PlayerActionHeroBaseTypeAdd = 3054;
	PlayerActionType_PlayerActionDialogueSelect = 3101;
	PlayerActionType_PlayerActionExpeditionStart = 3151;
	PlayerActionType_PlayerActionExpeditionFinish = 3152;
	PlayerActionType_PlayerActionExpeditionReward = 3153;
	PlayerActionType_PlayerActionActivityExpeditionStart = 3154;
	PlayerActionType_PlayerActionActivityExpeditionFinish = 3155;
	PlayerActionType_PlayerActionActivityExpeditionReward = 3156;
	PlayerActionType_PlayerActionActivityExpeditionBegin = 3157;
	PlayerActionType_PlayerActionActivityExpeditionEnd = 3158;
	PlayerActionType_PlayerActionExpeditionSet = 3159;
	PlayerActionType_PlayerActionExpeditionTakeReward = 3160;
	PlayerActionType_PlayerActionActivityLoginReward = 3201;
	PlayerActionType_PlayerActionFriendReport = 3301;
	PlayerActionType_PlayerActionAssistReward = 3302;
	PlayerActionType_PlayerActionAssistAvatarRefresh = 3303;
	PlayerActionType_PlayerActionAssistAvatarBattleStart = 3304;
	PlayerActionType_PlayerActionAssistAvatarBattleEnd = 3305;
	PlayerActionType_PlayerActionFriendApply = 3306;
	PlayerActionType_PlayerActionFriendManage = 3307;
	PlayerActionType_PlayerActionFriendBlacklist = 3308;
	PlayerActionType_PlayerActionFriendModifyRemarkName = 3309;
	PlayerActionType_PlayerActionFriendMark = 3310;
	PlayerActionType_PlayerActionFriendAssistList = 3311;
	PlayerActionType_PlayerActionBattlePassLevelReward = 3202;
	PlayerActionType_PlayerActionBattlePass128TierReward = 3203;
	PlayerActionType_PlayerActionBattlePassLevelRewardAutoMail = 3204;
	PlayerActionType_PlayerActionBuyBattlePass = 3205;
	PlayerActionType_PlayerActionAddBattlePassExp = 3206;
	PlayerActionType_PlayerActionBattlePassLevelUp = 3207;
	PlayerActionType_PlayerActionBuyBattlePassLevel = 3208;
	PlayerActionType_PlayerActionBattlePassEndMail = 3209;
	PlayerActionType_PlayerActionBattlePass68TierReward = 3210;
	PlayerActionType_PlayerActionModifySign = 3401;
	PlayerActionType_PlayerActionDisplayAvatarSet = 3402;
	PlayerActionType_PlayerActionAssistAvatarSet = 3403;
	PlayerActionType_PlayerActionAchievementFinish = 3501;
	PlayerActionType_PlayerActionAchievementReward = 3502;
	PlayerActionType_PlayerActionAchievementAddExp = 3503;
	PlayerActionType_PlayerActionAchievementLevelUp = 3504;
	PlayerActionType_PlayerActionPunkLordReward = 3601;
	PlayerActionType_PlayerActionPunkLordBossSearch = 3604;
	PlayerActionType_PlayerActionPunkLordBossShare = 3605;
	PlayerActionType_PlayerActionStartPunkLordRaid = 3606;
	PlayerActionType_PlayerActionPunkLordSupportTimes = 3608;
	PlayerActionType_PlayerActionPunkLordScoreReward = 3609;
	PlayerActionType_PlayerActionPunkLordListRefresh = 3610;
	PlayerActionType_PlayerActionPunkLordPowerAttack = 3611;
	PlayerActionType_PlayerActionPunkLordBattleEnd = 3612;
	PlayerActionType_PlayerActionPunkLordBossDeath = 3613;
	PlayerActionType_PlayerActionPunkLordBossScore = 3614;
	PlayerActionType_PlayerActionDailyActiveLevelReward = 3701;
	PlayerActionType_PlayerActionDailyActiveAddPoint = 3702;
	PlayerActionType_PlayerActionDailyActiveDeleteOldQuest = 3703;
	PlayerActionType_PlayerActionFightActivityBegin = 3791;
	PlayerActionType_PlayerActionFightActivityEnd = 3792;
	PlayerActionType_PlayerActionFightActivityReward = 3801;
	PlayerActionType_PlayerActionActivityEndMail = 3802;
	PlayerActionType_PlayerActionAppointmentMail = 3803;
	PlayerActionType_PlayerActionShareReward = 3804;
	PlayerActionType_PlayerActionActivityTrialReward = 3805;
	PlayerActionType_PlayerActionActivityTrialStart = 3806;
	PlayerActionType_PlayerActionPsPreOrderMail1 = 3811;
	PlayerActionType_PlayerActionPsPreOrderMail2 = 3812;
	PlayerActionType_PlayerActionPsLoginMail = 3813;
	PlayerActionType_PlayerActionLoginMail = 3814;
	PlayerActionType_PlayerActionGooglePoints100Mail = 3821;
	PlayerActionType_PlayerActionGooglePoints150Mail = 3822;
	PlayerActionType_PlayerActionTrainVisitorBehaviorFinish = 3901;
	PlayerActionType_PlayerActionEnterViewTrain = 3902;
	PlayerActionType_PlayerActionTrainVisitorBehaviorRewardForceSend = 3903;
	PlayerActionType_PlayerActionTrainVisitorRegisterOpen = 3904;
	PlayerActionType_PlayerActionTrainVisitorBehaviorRewardForceSendByRegister = 3905;
	PlayerActionType_PlayerActionTrainVisitorClearLastTrainVisitor = 3906;
	PlayerActionType_PlayerActionTrainVisitorRefreshTrainVisitor = 3907;
	PlayerActionType_PlayerActionTrainVisitorRefreshNpc = 3908;
	PlayerActionType_PlayerActionMessageGroupAccept = 3951;
	PlayerActionType_PlayerActionMessageSectionAccept = 3952;
	PlayerActionType_PlayerActionMessageSectionFinish = 3953;
	PlayerActionType_PlayerActionMessageItemFinish = 3954;
	PlayerActionType_PlayerActionFinishMessageGroupReward = 3955;
	PlayerActionType_PlayerActionSubstituteMessageGroupReward = 3956;
	PlayerActionType_PlayerActionDeleteMessageGroup = 3957;
	PlayerActionType_PlayerActionDeleteMessageSection = 3958;
	PlayerActionType_PlayerActionDeleteMessageGroupByConfig = 3959;
	PlayerActionType_PlayerActionDeleteMessageGroupByActivity = 3960;
	PlayerActionType_PlayerActionDeleteMessageGroupByMission = 3961;
	PlayerActionType_PlayerActionTextJoinSave = 4001;
	PlayerActionType_PlayerActionBoxingClubStart = 4051;
	PlayerActionType_PlayerActionBoxingClubFinish = 4052;
	PlayerActionType_PlayerActionBoxingClubPause = 4053;
	PlayerActionType_PlayerActionBoxingClubStageStart = 4054;
	PlayerActionType_PlayerActionTalkSend = 4101;
	PlayerActionType_PlayerActionSelectInclinationText = 4102;
	PlayerActionType_PlayerActionMuseumSettleTurnOpen = 4201;
	PlayerActionType_PlayerActionMuseumUpgradeArea = 4202;
	PlayerActionType_PlayerActionMuseumUpgradeAreaStat = 4203;
	PlayerActionType_PlayerActionMuseumDispatchRewardRegular = 4204;
	PlayerActionType_PlayerActionMuseumDispatchRewardDirectional = 4205;
	PlayerActionType_PlayerActionMuseumPhaseTargetFinished = 4206;
	PlayerActionType_PlayerActionMuseumGetStuff = 4207;
	PlayerActionType_PlayerActionMuseumGetExhibit = 4208;
	PlayerActionType_PlayerActionMuseumTakeCollectMission = 4209;
	PlayerActionType_PlayerActionMuseumAreaUnlock = 4210;
	PlayerActionType_PlayerActionMuseumAreaUpgrade = 4211;
	PlayerActionType_PlayerActionMuseumAreaStatUpgrade = 4212;
	PlayerActionType_PlayerActionMuseumEnterNextRound = 4213;
	PlayerActionType_PlayerActionMuseumStartDispatch = 4214;
	PlayerActionType_PlayerActionMuseumSettleDispatch = 4215;
	PlayerActionType_PlayerActionMuseumRenewPointChanged = 4216;
	PlayerActionType_PlayerActionMuseumTargetReward = 4217;
	PlayerActionType_PlayerActionMuseumPhaseUpgrade = 4218;
	PlayerActionType_PlayerActionMuseumCollectReward = 4219;
	PlayerActionType_PlayerActionMuseumTargetStart = 4220;
	PlayerActionType_PlayerActionMuseumTargetFinish = 4221;
	PlayerActionType_PlayerActionActivityMonsterResearchConsumeMaterial = 4301;
	PlayerActionType_PlayerActionActivityMonsterResearchTakeReward = 4302;
	PlayerActionType_PlayerActionPlayerReturnStart = 4401;
	PlayerActionType_PlayerActionPlayerReturnSign = 4402;
	PlayerActionType_PlayerActionPlayerReturnPoint = 4403;
	PlayerActionType_PlayerActionPlayerReturnCountdown = 4404;
	PlayerActionType_PlayerActionPlayerReturnFinish = 4405;
	PlayerActionType_PlayerActionPlayerReturnCompensate = 4406;
	PlayerActionType_PlayerActionPlayerReturnGetRelic = 4407;
	PlayerActionType_PlayerActionPlayerReturnBpExpExtra = 4408;
	PlayerActionType_PlayerActionPlayerReturnHcoinExtra = 4409;
	PlayerActionType_PlayerActionPlayerReturnCustomRelic = 4410;
	PlayerActionType_PlayerActionPlayerReturnAssistChange = 4421;
	PlayerActionType_PlayerActionRogueChallengeActivityStart = 4411;
	PlayerActionType_PlayerActionRogueChallengeActivityFinish = 4412;
	PlayerActionType_PlayerActionRogueChallengeActivitySave = 4413;
	PlayerActionType_PlayerActionPlayerReturnLoginMail = 4431;
	PlayerActionType_PlayerActionPlayerReturnExtraHcoinProgressChange = 4432;
	PlayerActionType_PlayerActionAetherDivideUsePassiveSkillItem = 4450;
	PlayerActionType_PlayerActionAetherDivideClearPassiveSkill = 4451;
	PlayerActionType_PlayerActionAetherDivideFinishChallenge = 4452;
	PlayerActionType_PlayerActionAetherDivideOverflowChunkReward = 4453;
	PlayerActionType_PlayerActionAetherDivideLevelUp = 4454;
	PlayerActionType_PlayerActionAetherDivideNewReward = 4455;
	PlayerActionType_PlayerActionAetherDivideMonsterAdd = 4456;
	PlayerActionType_PlayerActionAetherDivideMonsterLevel = 4457;
	PlayerActionType_PlayerActionAetherDivideMonsterSkillWear = 4458;
	PlayerActionType_PlayerActionAetherDivideTeamChange = 4459;
	PlayerActionType_PlayerActionAetherDivideStageBegin = 4460;
	PlayerActionType_PlayerActionAetherDivideStageEnd = 4461;
	PlayerActionType_PlayerActionAetherDivideStageRoll = 4462;
	PlayerActionType_PlayerActionAlleyEventFinish = 4501;
	PlayerActionType_PlayerActionAlleyTakeReward = 4502;
	PlayerActionType_PlayerActionAlleyPrestigeLevelUp = 4503;
	PlayerActionType_PlayerActionAlleyLogisticsFinish = 4504;
	PlayerActionType_PlayerActionAlleyPlacingGameFinish = 4505;
	PlayerActionType_PlayerActionAlleyGuaranteedFunds = 4506;
	PlayerActionType_PlayerActionAlleyTakeEventReward = 4507;
	PlayerActionType_PlayerActionAlleySpecialOrderFinish = 4508;
	PlayerActionType_PlayerActionSensitiveWordShield = 4601;
	PlayerActionType_PlayerActionSensitiveWordServerInternalError = 4602;
	PlayerActionType_PlayerActionSensitiveWordPlatformError = 4603;
	PlayerActionType_PlayerActionTreasureDungeonStart = 4701;
	PlayerActionType_PlayerActionTreasureDungeonFinish = 4702;
	PlayerActionType_PlayerActionTreasureDungeonEnterFloor = 4703;
	PlayerActionType_PlayerActionTreasureDungeonLeaveFloor = 4704;
	PlayerActionType_PlayerActionTreasureDungeonUseItem = 4705;
	PlayerActionType_PlayerActionTreasureDungeonAvatarChange = 4706;
	PlayerActionType_PlayerActionTreasureDungeonBattleStart = 4707;
	PlayerActionType_PlayerActionTreasureDungeonBattleEnd = 4708;
	PlayerActionType_PlayerActionTreasureDungeonPickupBuff = 4709;
	PlayerActionType_PlayerActionChessRogueFirstFinish = 4801;
	PlayerActionType_PlayerActionChessRogueGiveupDice = 4802;
	PlayerActionType_PlayerActionChessRogueSubStorySelect = 4803;
	PlayerActionType_PlayerActionChessRogueActionPoint = 4804;
	PlayerActionType_PlayerActionChessRogueReviveByProp = 4805;
	PlayerActionType_PlayerActionChessRogueStartLevel = 4806;
	PlayerActionType_PlayerActionChessRogueDiceEffect = 4807;
	PlayerActionType_PlayerActionChessRogueMainStoryFinish = 4808;
	PlayerActionType_PlayerActionChessRogueAeonTalentEffect = 4809;
	PlayerActionType_PlayerActionChessRogueModifierOthersEffect = 4810;
	PlayerActionType_PlayerActionChessRogueAddBuff = 4811;
	PlayerActionType_PlayerActionChessRogueReforgeBuff = 4812;
	PlayerActionType_PlayerActionChessRogueBuffLevelUp = 4813;
	PlayerActionType_PlayerActionChessRogueEnhanceBuff = 4814;
	PlayerActionType_PlayerActionChessRogueAddMiracle = 4815;
	PlayerActionType_PlayerActionChessRogueSwapMiracle = 4816;
	PlayerActionType_PlayerActionChessRogueSelectBonus = 4817;
	PlayerActionType_PlayerActionChessRogueDialogueFinish = 4818;
	PlayerActionType_PlayerActionChessRogueSubStoryFinish = 4819;
	PlayerActionType_PlayerActionChessRogueAdventureRoomFinish = 4820;
	PlayerActionType_PlayerActionChessRogueFinishLevel = 4821;
	PlayerActionType_PlayerActionChessRogueStartLayer = 4822;
	PlayerActionType_PlayerActionChessRogueFinishLayer = 4823;
	PlayerActionType_PlayerActionChessRogueEnterRoom = 4824;
	PlayerActionType_PlayerActionChessRogueLeaveRoom = 4825;
	PlayerActionType_PlayerActionChessRogueRollDice = 4826;
	PlayerActionType_PlayerActionChessRogueSelectDice = 4827;
	PlayerActionType_PlayerActionChessRogueUnlockDice = 4828;
	PlayerActionType_PlayerActionChessRogueBoardEvent = 4829;
	PlayerActionType_PlayerActionChessRogueDimensionPoint = 4830;
	PlayerActionType_PlayerActionChessRoguePickAvatar = 4831;
	PlayerActionType_PlayerActionChessRogueReviveAvatar = 4832;
	PlayerActionType_PlayerActionChessRogueNousSubStorySelect = 4833;
	PlayerActionType_PlayerActionChessRogueLevelMechanism = 4844;
	PlayerActionType_PlayerActionChessRogueNousStartLevel = 4845;
	PlayerActionType_PlayerActionChessRogueNousFinishLevel = 4846;
	PlayerActionType_PlayerActionChessRogueNousStartLayer = 4847;
	PlayerActionType_PlayerActionChessRogueNousFinishLayer = 4848;
	PlayerActionType_PlayerActionChessRogueNousEnterRoom = 4849;
	PlayerActionType_PlayerActionChessRogueNousLeaveRoom = 4850;
	PlayerActionType_PlayerActionChessRogueNousSelectDice = 4851;
	PlayerActionType_PlayerActionChessRogueNousUnlockDiceBranch = 4852;
	PlayerActionType_PlayerActionChessRogueNousUnlockDiceSurface = 4853;
	PlayerActionType_PlayerActionChessRogueNousEditDice = 4854;
	PlayerActionType_PlayerActionChessRogueNousValueChange = 4855;
	PlayerActionType_PlayerActionChessRogueNousMainStoryTrigger = 4856;
	PlayerActionType_PlayerActionChessRogueNousMainStoryFinish = 4857;
	PlayerActionType_PlayerActionChessRogueNousSubStoryTrigger = 4858;
	PlayerActionType_PlayerActionChessRogueNousSubStoryFinish = 4859;
	PlayerActionType_PlayerActionChessRogueNousEnableTalent = 4860;
	PlayerActionType_PlayerActionChessRogueSelectBuff = 4861;
	PlayerActionType_PlayerActionChessRogueSelectMiracle = 4862;
	PlayerActionType_PlayerActionChessRogueRemoveMiracle = 4863;
	PlayerActionType_PlayerActionChessRogueBoardCell = 4864;
	PlayerActionType_PlayerActionFantasticStoryBattleBegin = 4901;
	PlayerActionType_PlayerActionFantasticStoryBattleEnd = 4902;
	PlayerActionType_PlayerActionRogueEndlessReward = 4950;
	PlayerActionType_PlayerActionRogueEndlessLevelStart = 4951;
	PlayerActionType_PlayerActionRogueEndlessStageBegin = 4952;
	PlayerActionType_PlayerActionRogueEndlessStageEnd = 4953;
	PlayerActionType_PlayerActionBattleCollegeReward = 5001;
	PlayerActionType_PlayerActionCommonRogueMiracleForBuffShop = 5051;
	PlayerActionType_PlayerActionCommonRogueAdventureRoomFinish = 5052;
	PlayerActionType_PlayerActionCommonRogueBuyBuffShop = 5053;
	PlayerActionType_PlayerActionCommonRogueBuyBuffShopRefresh = 5054;
	PlayerActionType_PlayerActionCommonRogueCollectionUnlock = 5055;
	PlayerActionType_PlayerActionCommonRogueCollectionSet = 5056;
	PlayerActionType_PlayerActionCommonRogueExhibitionUnlock = 5057;
	PlayerActionType_PlayerActionCommonRogueExhibitionSet = 5058;
	PlayerActionType_PlayerActionCommonRogueChestInteract = 5059;
	PlayerActionType_PlayerActionCommonRogueAdventureRoomWolfgunFinish = 5060;
	PlayerActionType_PlayerActionHeliobusPostIncomeReward = 5101;
	PlayerActionType_PlayerActionHeliobusPostFansReward = 5102;
	PlayerActionType_PlayerActionHeliobusLevelUpgrade = 5103;
	PlayerActionType_PlayerActionHeliobusPostReplyReward = 5104;
	PlayerActionType_PlayerActionHeliobusCommentReplyReward = 5105;
	PlayerActionType_PlayerActionHeliobusChallengeFirstReward = 5106;
	PlayerActionType_PlayerActionHeliobusFansAdd = 5107;
	PlayerActionType_PlayerActionHeliobusActionDaySettle = 5108;
	PlayerActionType_PlayerActionHeliobusSkillUnlock = 5109;
	PlayerActionType_PlayerActionHeliobusStageBegin = 5110;
	PlayerActionType_PlayerActionHeliobusStageEnd = 5111;
	PlayerActionType_PlayerActionHeliobusSnsRead = 5112;
	PlayerActionType_PlayerActionHeliobusSnsPostUnlock = 5113;
	PlayerActionType_PlayerActionHeliobusSnsCommentUnlock = 5114;
	PlayerActionType_PlayerActionHeliobusSnsComment = 5115;
	PlayerActionType_PlayerActionHeliobusSnsPost = 5116;
	PlayerActionType_PlayerActionHeliobusSnsLike = 5117;
	PlayerActionType_PlayerActionHeliobusPhaseUpgrade = 5118;
	PlayerActionType_PlayerActionPsPointCard30Reward = 5201;
	PlayerActionType_PlayerActionPsPointCard50Reward = 5202;
	PlayerActionType_PlayerActionPsPointCard100Reward = 5203;
	PlayerActionType_PlayerActionPsnPlusGiftReward = 5204;
	PlayerActionType_PlayerActionAppleGiftCardReward = 5205;
	PlayerActionType_PlayerActionHeartDialSubmitItem = 5301;
	PlayerActionType_PlayerActionHeartDialDialoguePerform = 5302;
	PlayerActionType_PlayerActionHeartDialTraceConsume = 5303;
	PlayerActionType_PlayerActionHeartDialChangeEmotion = 5304;
	PlayerActionType_PlayerActionTravelBrochureAddDefaultPaster = 5401;
	PlayerActionType_PlayerActionSpaceZooBorn = 5501;
	PlayerActionType_PlayerActionSpaceZooMutate = 5502;
	PlayerActionType_PlayerActionSpaceZooDelete = 5503;
	PlayerActionType_PlayerActionSpaceZooExchangeItem = 5504;
	PlayerActionType_PlayerActionSpaceZooExpPoint = 5505;
	PlayerActionType_PlayerActionSpaceZooTakeReward = 5506;
	PlayerActionType_PlayerActionSpaceZooCollection = 5507;
	PlayerActionType_PlayerActionSpaceZooShow = 5508;
	PlayerActionType_PlayerActionSpaceZooSpecialData = 5509;
	PlayerActionType_PlayerActionStrongChallengeBattleBegin = 5701;
	PlayerActionType_PlayerActionStrongChallengeBattleEnd = 5702;
	PlayerActionType_PlayerActionRollShopDoGacha = 5751;
	PlayerActionType_PlayerActionRollShopTakeReward = 5752;
	PlayerActionType_PlayerActionOfferingSubmitItem = 5801;
	PlayerActionType_PlayerActionOfferingTakeReward = 5802;
	PlayerActionType_PlayerActionTravelBrochurePageUnlock = 5851;
	PlayerActionType_PlayerActionTravelBrochurePageInteractAward = 5852;
	PlayerActionType_PlayerActionTravelBrochureStickerUnlock = 5853;
	PlayerActionType_PlayerActionTravelBrochureStickerApply = 5854;
	PlayerActionType_PlayerActionTravelBrochureStickerRemove = 5855;
	PlayerActionType_PlayerActionTravelBrochurePageReset = 5856;
	PlayerActionType_PlayerActionTrackMainMissionId = 5901;
	PlayerActionType_PlayerActionWolfBroBegin = 5911;
	PlayerActionType_PlayerActionWolfBroGroupStateChange = 5912;
	PlayerActionType_PlayerActionWolfBroEnd = 5913;
	PlayerActionType_PlayerActionWolfBroBulletZero = 5914;
	PlayerActionType_PlayerActionWolfBroActivateBullet = 5915;
	PlayerActionType_PlayerActionWolfBroBulletNumChange = 5916;
	PlayerActionType_PlayerActionWolfBroUseBulletNull = 5917;
	PlayerActionType_PlayerActionWolfBroUseBulletHitMonster = 5918;
	PlayerActionType_PlayerActionWolfBroPickUpBullet = 5919;
	PlayerActionType_PlayerActionWolfBroRestoreArchive = 5920;
	PlayerActionType_PlayerActionTelevisionActivityBattleBegin = 5921;
	PlayerActionType_PlayerActionTelevisionActivityBattleEnd = 5922;
	PlayerActionType_PlayerActionFeverTimeActivityBattleBegin = 5923;
	PlayerActionType_PlayerActionFeverTimeActivityBattleEnd = 5924;
	PlayerActionType_PlayerActionGunPlayEnd = 5925;
	PlayerActionType_PlayerActionActivityStarFightBegin = 5926;
	PlayerActionType_PlayerActionActivityStarFightEnd = 5927;
	PlayerActionType_PlayerActionMapRotationEnterRegion = 5931;
	PlayerActionType_PlayerActionMapRotationLeaveRegion = 5932;
	PlayerActionType_PlayerActionMapRotationInteractCharger = 5933;
	PlayerActionType_PlayerActionMapRotationDeployRotater = 5934;
	PlayerActionType_PlayerActionMapRotationRotateMap = 5935;
	PlayerActionType_PlayerActionMapRotationAddEnergy = 5936;
	PlayerActionType_PlayerActionMapRotationSetMaxEnergy = 5937;
	PlayerActionType_PlayerActionMapRotationRemoveRotater = 5938;
	PlayerActionType_PlayerActionMapRotationAutoDeployRotater = 5939;
	PlayerActionType_PlayerActionMapRotationAutoRemoveRotater = 5940;
	PlayerActionType_PlayerActionDrinkMakerAddTips = 5951;
	PlayerActionType_PlayerActionDrinkMakerFinishChallenge = 5952;
	PlayerActionType_PlayerActionDrinkMakerGuestMaxFaithReward = 5953;
	PlayerActionType_PlayerActionDrinkMakerMakeDrink = 5954;
	PlayerActionType_PlayerActionDrinkMakerSaveCustomDrink = 5955;
	PlayerActionType_PlayerActionDrinkMakerEndSequence = 5956;
	PlayerActionType_PlayerActionDrinkMakerCheersMakeDrink = 5957;
	PlayerActionType_PlayerActionDrinkMakerCheersNpcDrink = 5958;
	PlayerActionType_PlayerActionChangeStoryLine = 6001;
	PlayerActionType_PlayerActionContentPackageStatusChange = 6011;
	PlayerActionType_PlayerActionContentPackageTrackChange = 6012;
	PlayerActionType_PlayerActionContentPackageAcceptMainMission = 6013;
	PlayerActionType_PlayerActionWorldDirectUnlock = 6041;
	PlayerActionType_PlayerActionMonopolyTurnFinish = 6051;
	PlayerActionType_PlayerActionMonopolyAssetTurntax = 6052;
	PlayerActionType_PlayerActionMonopolyAssetBonus = 6053;
	PlayerActionType_PlayerActionMonopolyEventEffect = 6054;
	PlayerActionType_PlayerActionMonopolyMiniGameSettle = 6055;
	PlayerActionType_PlayerActionMonopolyGameRaiseRatio = 6056;
	PlayerActionType_PlayerActionMonopolyMoveRollDice = 6057;
	PlayerActionType_PlayerActionMonopolyMove = 6059;
	PlayerActionType_PlayerActionMonopolyBuyGoods = 6060;
	PlayerActionType_PlayerActionMonopolyUpgradeAsset = 6061;
	PlayerActionType_PlayerActionMonopolyEventRerollRandom = 6062;
	PlayerActionType_PlayerActionMonopolyDailyRefresh = 6063;
	PlayerActionType_PlayerActionMonopolyGameGuessBuyInformation = 6064;
	PlayerActionType_PlayerActionMonopolyDailyFirstEnterActivity = 6065;
	PlayerActionType_PlayerActionMonopolySocialEvent = 6066;
	PlayerActionType_PlayerActionMonopolyRaffleTicketReward = 6067;
	PlayerActionType_PlayerActionMonopolyLike = 6068;
	PlayerActionType_PlayerActionMonopolyPhaseReward = 6069;
	PlayerActionType_PlayerActionMonopolyMbtiReportReward = 6070;
	PlayerActionType_PlayerActionMonopolyDailySettle = 6071;
	PlayerActionType_PlayerActionMonopolyStart = 6072;
	PlayerActionType_PlayerActionMonopolyGetBuff = 6073;
	PlayerActionType_PlayerActionMonopolyAssetFundsChange = 6074;
	PlayerActionType_PlayerActionMonopolyAssetUpgrade = 6075;
	PlayerActionType_PlayerActionMonopolyDirectCoinGameSettle = 6076;
	PlayerActionType_PlayerActionMonopolyExtractRaffleTicket = 6077;
	PlayerActionType_PlayerActionMonopolyMbtiProgressChange = 6078;
	PlayerActionType_PlayerActionMonopolyQuizGameSettle = 6079;
	PlayerActionType_PlayerActionMonopolyEventSettle = 6080;
	PlayerActionType_PlayerActionMonopolyItemChange = 6081;
	PlayerActionType_PlayerActionMonopolyCellTrigger = 6082;
	PlayerActionType_PlayerActionMonopolyEventTrigger = 6083;
	PlayerActionType_PlayerActionMonopolyClickEffect = 6084;
	PlayerActionType_PlayerActionEvolveBuildLevelFinish = 6101;
	PlayerActionType_PlayerActionEvolveBuildShopAbilityUp = 6102;
	PlayerActionType_PlayerActionEvolveBuildShopAbilityDown = 6103;
	PlayerActionType_PlayerActionEvolveBuildTakeExpReward = 6104;
	PlayerActionType_PlayerActionEvolveBuildBattleEndAddCoin = 6105;
	PlayerActionType_PlayerActionEvolveBuildShopAbilityReset = 6106;
	PlayerActionType_PlayerActionEvolveBuildLevelStart = 6107;
	PlayerActionType_PlayerActionEvolveBuildLevelEnd = 6108;
	PlayerActionType_PlayerActionEvolveBuildStageStart = 6109;
	PlayerActionType_PlayerActionEvolveBuildStageEnd = 6110;
	PlayerActionType_PlayerActionEvolveBuildLevelLeave = 6111;
	PlayerActionType_PlayerActionClockParkUnlockScript = 6151;
	PlayerActionType_PlayerActionClockParkUnlockTalent = 6152;
	PlayerActionType_PlayerActionClockParkFinishScript = 6153;
	PlayerActionType_PlayerActionClockParkRoundUpdate = 6154;
	PlayerActionType_PlayerActionClockParkScriptBegin = 6155;
	PlayerActionType_PlayerActionRogueTournStartLevel = 6200;
	PlayerActionType_PlayerActionRogueTournFinishLevel = 6201;
	PlayerActionType_PlayerActionRogueTournExpReward = 6202;
	PlayerActionType_PlayerActionRogueTournFinishWeekChallenge = 6203;
	PlayerActionType_PlayerActionRogueTournPermanentTalentEffect = 6204;
	PlayerActionType_PlayerActionRogueTournFinishFormulaStory = 6205;
	PlayerActionType_PlayerActionRogueTournRevive = 6206;
	PlayerActionType_PlayerActionRogueTournStageBegin = 6207;
	PlayerActionType_PlayerActionRogueTournStageEnd = 6208;
	PlayerActionType_PlayerActionRogueTournPermanentEnableTalent = 6209;
	PlayerActionType_PlayerActionRogueTournPermanentResetTalent = 6210;
	PlayerActionType_PlayerActionRogueTournCocoonStageBegin = 6211;
	PlayerActionType_PlayerActionRogueTournCocoonStageEnd = 6212;
	PlayerActionType_PlayerActionRogueTournExpUpdate = 6213;
	PlayerActionType_PlayerActionRogueTournEnterRoom = 6214;
	PlayerActionType_PlayerActionRogueTournLeaveRoom = 6215;
	PlayerActionType_PlayerActionRogueTournArchiveSave = 6216;
	PlayerActionType_PlayerActionRogueTournSelectBonus = 6217;
	PlayerActionType_PlayerActionRogueTournDialogueFinish = 6218;
	PlayerActionType_PlayerActionRogueTournDoGamble = 6219;
	PlayerActionType_PlayerActionRogueTournRoomContentGenerate = 6220;
	PlayerActionType_PlayerActionRogueTournAddMiracle = 6221;
	PlayerActionType_PlayerActionRogueTournRemoveMiracle = 6222;
	PlayerActionType_PlayerActionRogueTournSelectMiracle = 6223;
	PlayerActionType_PlayerActionRogueTournDropMiracle = 6224;
	PlayerActionType_PlayerActionRogueTournAddBuff = 6225;
	PlayerActionType_PlayerActionRogueTournSelectBuff = 6226;
	PlayerActionType_PlayerActionRogueTournBuffLevelUp = 6227;
	PlayerActionType_PlayerActionRogueTournRemoveBuff = 6228;
	PlayerActionType_PlayerActionRogueTournAddFormula = 6229;
	PlayerActionType_PlayerActionRogueTournRemoveFormula = 6230;
	PlayerActionType_PlayerActionRogueTournSelectFormula = 6231;
	PlayerActionType_PlayerActionRogueTournActivateFormula = 6232;
	PlayerActionType_PlayerActionRogueTournAdventureRoomFinish = 6233;
	PlayerActionType_PlayerActionRogueTournAlterLineup = 6234;
	PlayerActionType_PlayerActionRogueTournSeasonEnableTalent = 6235;
	PlayerActionType_PlayerActionRogueTournTitanStartLevel = 6236;
	PlayerActionType_PlayerActionRogueTournTitanFinishLevel = 6237;
	PlayerActionType_PlayerActionRogueTournTitanEnterRoom = 6238;
	PlayerActionType_PlayerActionRogueTournTitanLeaveRoom = 6239;
	PlayerActionType_PlayerActionRogueTournTitanStageBegin = 6240;
	PlayerActionType_PlayerActionRogueTournTitanStageEnd = 6241;
	PlayerActionType_PlayerActionRogueTournTitanArchiveSave = 6243;
	PlayerActionType_PlayerActionRogueTournTitanAddTitanBless = 6244;
	PlayerActionType_PlayerActionRogueTournTitanSelectTitanBless = 6245;
	PlayerActionType_PlayerActionRogueTournDivisionChange = 6246;
	PlayerActionType_PlayerActionRogueTournSelectReRollMiracle = 6247;
	PlayerActionType_PlayerActionRogueTournTriggerBattleByShop = 6248;
	PlayerActionType_PlayerActionRogueTournUseSuperRewardKey = 6249;
	PlayerActionType_PlayerActionRogueTournPersonaStyleExpChange = 6250;
	PlayerActionType_PlayerActionRogueTournPersonaStyleSelect = 6251;
	PlayerActionType_PlayerActionRogueTournPersonaStartLevel = 6252;
	PlayerActionType_PlayerActionRogueTournPersonaFinishLevel = 6253;
	PlayerActionType_PlayerActionRogueTournPersonaEnterRoom = 6254;
	PlayerActionType_PlayerActionRogueTournPersonaLeaveRoom = 6255;
	PlayerActionType_PlayerActionRogueTournPersonaStageBegin = 6256;
	PlayerActionType_PlayerActionRogueTournPersonaStageEnd = 6257;
	PlayerActionType_PlayerActionRogueTournPersonaArchiveSave = 6258;
	PlayerActionType_PlayerActionRogueTournHexEquipmentChange = 6259;
	PlayerActionType_PlayerActionRogueTournPersonaRoomCardChange = 6260;
	PlayerActionType_PlayerActionRogueTournPersonaRoomCardLevelChange = 6261;
	PlayerActionType_PlayerActionRogueTournPersonaRoomCardAttributeChange = 6262;
	PlayerActionType_PlayerActionRogueTournPersonaRoomCardSelect = 6263;
	PlayerActionType_PlayerActionRogueTournPersonaRoomCardWash = 6264;
	PlayerActionType_PlayerActionRogueTournPersonaStyleGiftSelect = 6265;
	PlayerActionType_PlayerActionRogueTournPersonaStyleGiftSelectRefresh = 6266;
	PlayerActionType_PlayerActionRogueTournPersonaRoomCardReroll = 6267;
	PlayerActionType_PlayerActionRogueTournMiracleStatusChange = 6268;
	PlayerActionType_PlayerActionRogueWorkbenchReforgeFormula = 6281;
	PlayerActionType_PlayerActionRogueWorkbenchReforgeMiracle = 6282;
	PlayerActionType_PlayerActionRogueWorkbenchComposeMiracle = 6283;
	PlayerActionType_PlayerActionRogueWorkbenchReforgeBuff = 6284;
	PlayerActionType_PlayerActionRogueWorkbenchEnhanceBuff = 6285;
	PlayerActionType_PlayerActionMatchThreePveSettle = 6301;
	PlayerActionType_PlayerActionMatchThreeSettle = 6302;
	PlayerActionType_PlayerActionFightMatch3GameStart = 6303;
	PlayerActionType_PlayerActionFightMatch3GameEnd = 6304;
	PlayerActionType_PlayerActionFightMatch3TurnEnd = 6305;
	PlayerActionType_PlayerActionMatchThreeBirdPos = 6306;
	PlayerActionType_PlayerActionMultiplePlayInvite = 6307;
	PlayerActionType_PlayerActionMultiplePlayInviteRespond = 6308;
	PlayerActionType_PlayerActionMultiplePlayLobbyEnter = 6309;
	PlayerActionType_PlayerActionMultiplePlayLobbyQuit = 6310;
	PlayerActionType_PlayerActionMultiplePlayLobbyKick = 6311;
	PlayerActionType_PlayerActionMultiplePlayLobbyMatch = 6312;
	PlayerActionType_PlayerActionMarbleSettle = 6313;
	PlayerActionType_PlayerActionMatchThreeSoloSettle = 6314;
	PlayerActionType_PlayerActionMatchThreeV2BattleitemLevelup = 6315;
	PlayerActionType_PlayerActionMatchThreeV2PveSettle = 6316;
	PlayerActionType_PlayerActionMatchThreeV2PvpSettle = 6317;
	PlayerActionType_PlayerActionMatch3SoloGameStart = 6318;
	PlayerActionType_PlayerActionMatch3SoloGameEnd = 6319;
	PlayerActionType_PlayerActionMatch3SoloRoundEnd = 6320;
	PlayerActionType_PlayerActionMatch3RoyaleSettle = 6321;
	PlayerActionType_PlayerActionMatch3RoyaleGameStart = 6322;
	PlayerActionType_PlayerActionMatch3RoyaleGameEnd = 6323;
	PlayerActionType_PlayerActionMatch3RoyaleRoundEnd = 6324;
	PlayerActionType_PlayerActionDiceCombatSettle = 6325;
	PlayerActionType_PlayerActionDiceCombatV2Settle = 6326;
	PlayerActionType_PlayerActionTeamTowersSettle = 6327;
	PlayerActionType_PlayerActionSwordTrainingLearnSkill = 6351;
	PlayerActionType_PlayerActionSwordTrainingNormalAction = 6352;
	PlayerActionType_PlayerActionSwordTrainingStoryEffect = 6353;
	PlayerActionType_PlayerActionSwordTrainingEndingHint = 6354;
	PlayerActionType_PlayerActionSwordTrainingActionHint = 6355;
	PlayerActionType_PlayerActionSwordTrainingRestoreGameByExam = 6356;
	PlayerActionType_PlayerActionSwordTrainingStoryLineFirstClear = 6357;
	PlayerActionType_PlayerActionSwordTrainingTakeEndingReward = 6358;
	PlayerActionType_PlayerActionSwordTrainingStoryLineBegin = 6359;
	PlayerActionType_PlayerActionSwordTrainingEnterTurn = 6360;
	PlayerActionType_PlayerActionSwordTrainingPlanAction = 6361;
	PlayerActionType_PlayerActionSwordTrainingActionPhaseEnd = 6362;
	PlayerActionType_PlayerActionSwordTrainingStory = 6363;
	PlayerActionType_PlayerActionSwordTrainingStatusChange = 6364;
	PlayerActionType_PlayerActionSwordTrainingMoodChange = 6365;
	PlayerActionType_PlayerActionSwordTrainingBattleBegin = 6366;
	PlayerActionType_PlayerActionSwordTrainingBattleEnd = 6367;
	PlayerActionType_PlayerActionSwordTrainingCombatRankChange = 6368;
	PlayerActionType_PlayerActionSwordTrainingStoryLineEnd = 6369;
	PlayerActionType_PlayerActionSwordTrainingResumeStoryLine = 6370;
	PlayerActionType_PlayerActionSwordTrainingGameSuccess = 6371;
	PlayerActionType_PlayerActionSwordTrainingGameGiveUp = 6372;
	PlayerActionType_PlayerActionSwordTrainingExam = 6374;
	PlayerActionType_PlayerActionSwordTrainingDialogue = 6375;
	PlayerActionType_PlayerActionSwordTrainingSetSkillTrace = 6376;
	PlayerActionType_PlayerActionFightFestFinishScoreRaceMission = 6401;
	PlayerActionType_PlayerActionFightFestFinishScoreRacePhase = 6402;
	PlayerActionType_PlayerActionFightFestRaceStart = 6403;
	PlayerActionType_PlayerActionFightFestRaceEnd = 6404;
	PlayerActionType_PlayerActionFightFestChallengeStart = 6405;
	PlayerActionType_PlayerActionFightFestChallengeEnd = 6406;
	PlayerActionType_PlayerActionFightFestGetCoachItem = 6407;
	PlayerActionType_PlayerActionFightFestAcceptScoreRaceMission = 6408;
	PlayerActionType_PlayerActionPetUse = 6451;
	PlayerActionType_PlayerActionMusicRhythmPassLevelStar = 6501;
	PlayerActionType_PlayerActionMusicRhythmLevelBegin = 6502;
	PlayerActionType_PlayerActionMusicRhythmLevelEnd = 6503;
	PlayerActionType_PlayerActionTrackPhotoStageBegin = 6551;
	PlayerActionType_PlayerActionTrackPhotoStageEnd = 6552;
	PlayerActionType_PlayerActionSummonActivityBattleBegin = 6561;
	PlayerActionType_PlayerActionSummonActivityBattleEnd = 6562;
	PlayerActionType_PlayerActionRaidCollectionEnterNextRaid = 6571;
	PlayerActionType_PlayerActionDifficultyAdjustmentSet = 6572;
	PlayerActionType_PlayerActionDifficultyAdjustmentUnset = 6573;
	PlayerActionType_PlayerActionRogueArcadeAdventureRoomStart = 6580;
	PlayerActionType_PlayerActionRogueArcadeAdventureRoomFinish = 6581;
	PlayerActionType_PlayerActionRogueMagicStartLevel = 6601;
	PlayerActionType_PlayerActionRogueMagicFinishLevel = 6602;
	PlayerActionType_PlayerActionRogueMagicRevive = 6603;
	PlayerActionType_PlayerActionRogueMagicEnterRoom = 6604;
	PlayerActionType_PlayerActionRogueMagicLeaveRoom = 6605;
	PlayerActionType_PlayerActionRogueMagicAddMiracle = 6606;
	PlayerActionType_PlayerActionRogueMagicRemoveMiracle = 6607;
	PlayerActionType_PlayerActionRogueMagicStageBegin = 6608;
	PlayerActionType_PlayerActionRogueMagicStageEnd = 6609;
	PlayerActionType_PlayerActionRogueMagicEnableTalent = 6610;
	PlayerActionType_PlayerActionRogueMagicFinishStory = 6611;
	PlayerActionType_PlayerActionRogueMagicAddScepter = 6612;
	PlayerActionType_PlayerActionRogueMagicSelectScepter = 6613;
	PlayerActionType_PlayerActionRogueMagicMountUnit = 6614;
	PlayerActionType_PlayerActionRogueMagicAutoMountUnit = 6615;
	PlayerActionType_PlayerActionRogueMagicAddMagicUnit = 6616;
	PlayerActionType_PlayerActionRogueMagicRemoveMagicUnit = 6617;
	PlayerActionType_PlayerActionRogueMagicWorkbenchComposeMagicUnit = 6618;
	PlayerActionType_PlayerActionRogueMagicWorkbenchReforgeMagicUnit = 6619;
	PlayerActionType_PlayerActionRogueMagicWorkbenchLevelUpScepter = 6620;
	PlayerActionType_PlayerActionTrainPartyGamePlayStart = 6701;
	PlayerActionType_PlayerActionTrainPartyPhaseBegin = 6702;
	PlayerActionType_PlayerActionTrainPartyPhaseEnd = 6703;
	PlayerActionType_PlayerActionTrainPartyRound = 6704;
	PlayerActionType_PlayerActionTrainPartyMeetingBegin = 6705;
	PlayerActionType_PlayerActionTrainPartyMeetingEnd = 6706;
	PlayerActionType_PlayerActionTrainPartyMeetingPlayCard = 6707;
	PlayerActionType_PlayerActionTrainPartyMeetingReRoll = 6708;
	PlayerActionType_PlayerActionTrainPartyBuildAreaUnlock = 6709;
	PlayerActionType_PlayerActionTrainPartyBuildStep = 6710;
	PlayerActionType_PlayerActionTrainPartyBuildLevelAward = 6711;
	PlayerActionType_PlayerActionTrainPartyBuildingDynamicBuff = 6712;
	PlayerActionType_PlayerActionTrainPartyBuildDiy = 6713;
	PlayerActionType_PlayerActionSelfRoomBuildDiy = 6714;
	PlayerActionType_PlayerActionSkipUnlockSelfRoom = 6715;
	PlayerActionType_PlayerActionSelfRoomBuildDiyMerge = 6716;
	PlayerActionType_PlayerActionPlayerRoomDisplayAreaChange = 6717;
	PlayerActionType_PlayerActionSwitchHandOpPropState = 6801;
	PlayerActionType_PlayerActionEraFlipperChangeRegionState = 6811;
	PlayerActionType_PlayerActionEraFlipperChangePropState = 6812;
	PlayerActionType_PlayerActionActivityBenefitReward = 6820;
	PlayerActionType_PlayerActionActivityBenefitJoin = 6821;
	PlayerActionType_PlayerActionActivityBenefitInitialReward = 6822;
	PlayerActionType_PlayerActionActiveActivityReward = 6831;
	PlayerActionType_PlayerActionPamSkinChangeSkin = 6851;
	PlayerActionType_PlayerActionChestFind = 6861;
	PlayerActionType_PlayerActionReissueMarkChestItemMail = 6862;
	PlayerActionType_PlayerActionMarblePassMatch = 6871;
	PlayerActionType_PlayerActionMarbleBuySeal = 6872;
	PlayerActionType_PlayerActionMarbleFightGameBegin = 6873;
	PlayerActionType_PlayerActionMarbleFightGameEnd = 6874;
	PlayerActionType_PlayerActionMarbleFightGameRound = 6875;
	PlayerActionType_PlayerActionMarbleFightGameTurn = 6876;
	PlayerActionType_PlayerActionPlanetFesLevelUp = 6901;
	PlayerActionType_PlayerActionPlanetFesActivityInit = 6902;
	PlayerActionType_PlayerActionPlanetFesAvatarLevelUp = 6903;
	PlayerActionType_PlayerActionPlanetFesTakeRegionPhaseReward = 6904;
	PlayerActionType_PlayerActionPlanetFesAddItem = 6905;
	PlayerActionType_PlayerActionPlanetFesQuest = 6906;
	PlayerActionType_PlayerActionPlanetFesBusinessDayFinish = 6907;
	PlayerActionType_PlayerActionPlanetFesAvatarStarUp = 6908;
	PlayerActionType_PlayerActionPlanetFesUnlockLand = 6909;
	PlayerActionType_PlayerActionPlanetFesBusinessEventFinish = 6910;
	PlayerActionType_PlayerActionPlanetFesActivateCard = 6911;
	PlayerActionType_PlayerActionPlanetFesSkillLevelUp = 6912;
	PlayerActionType_PlayerActionPlanetFesGacha = 6913;
	PlayerActionType_PlayerActionPlanetFesBusinessEventHandle = 6914;
	PlayerActionType_PlayerActionPlanetFesCardApplyPermission = 6915;
	PlayerActionType_PlayerActionPlanetFesCardInteract = 6916;
	PlayerActionType_PlayerActionPlanetFesToSns = 6917;
	PlayerActionType_PlayerActionPlanetFesSetWorkAvatar = 6918;
	PlayerActionType_PlayerActionPlanetFesSummary = 6919;
	PlayerActionType_PlayerActionTarotBookCharacterLevelUp = 6951;
	PlayerActionType_PlayerActionTarotBookOpenPack = 6952;
	PlayerActionType_PlayerActionTarotBookUnlockStory = 6953;
	PlayerActionType_PlayerActionTarotBookUnlockStorySingle = 6954;
	PlayerActionType_PlayerActionTarotBookFinishStory = 6955;
	PlayerActionType_PlayerActionTarotBookFinishInteraction = 6956;
	PlayerActionType_PlayerActionTarotBookChangeEnergy = 6957;
	PlayerActionType_PlayerActionTarotBookUnlockInteraction = 6958;
	PlayerActionType_PlayerActionChimeraRoundStart = 6971;
	PlayerActionType_PlayerActionChimeraRoundWorkStart = 6972;
	PlayerActionType_PlayerActionChimeraRoundWorkEnd = 6973;
	PlayerActionType_PlayerActionChimeraEndlessStart = 6974;
	PlayerActionType_PlayerActionChimeraEndlessEnd = 6975;
	PlayerActionType_PlayerActionChimeraEndlessWorkStart = 6976;
	PlayerActionType_PlayerActionChimeraEndlessWorkEnd = 6977;
	PlayerActionType_PlayerActionChimeraRankChange = 6978;
	PlayerActionType_PlayerActionChimeraGet = 6979;
	PlayerActionType_PlayerActionStoryTokenTakeActivityReward = 6991;
	PlayerActionType_PlayerActionReissueAvatarTokenItem = 6992;
	PlayerActionType_PlayerActionAvatarDeliverRewardActivityTakeReward = 7001;
	PlayerActionType_PlayerActionElfRestaurantBuyField = 7011;
	PlayerActionType_PlayerActionElfRestaurantPlantSeed = 7012;
	PlayerActionType_PlayerActionElfRestaurantRecycleSeed = 7013;
	PlayerActionType_PlayerActionElfRestaurantHarvestCrop = 7014;
	PlayerActionType_PlayerActionElfRestaurantUpgradeEmployeeLevel = 7015;
	PlayerActionType_PlayerActionElfRestaurantUpgradeFacilityLevel = 7016;
	PlayerActionType_PlayerActionElfRestaurantUpgradeRecipeLevel = 7017;
	PlayerActionType_PlayerActionElfRestaurantBuyShopItem = 7018;
	PlayerActionType_PlayerActionElfRestaurantFinishTradeOrder = 7019;
	PlayerActionType_PlayerActionElfRestaurantTakeVillagerReward = 7020;
	PlayerActionType_PlayerActionElfRestaurantSettleRestaurantPlay = 7021;
	PlayerActionType_PlayerActionElfRestaurantInit = 7022;
	PlayerActionType_PlayerActionElfRestaurantSettleProgress = 7023;
	PlayerActionType_PlayerActionElfRestaurantSettleDay = 7024;
	PlayerActionType_PlayerActionElfRestaurantAddItem = 7025;
	PlayerActionType_PlayerActionLocalLegendReward = 7031;
	PlayerActionType_PlayerActionFateLevelStart = 7041;
	PlayerActionType_PlayerActionFateLevelSettle = 7042;
	PlayerActionType_PlayerActionFateBattleStart = 7043;
	PlayerActionType_PlayerActionFateBattleEnd = 7044;
	PlayerActionType_PlayerActionFateAddHougu = 7045;
	PlayerActionType_PlayerActionFateSelectHougu = 7046;
	PlayerActionType_PlayerActionFateSelectReiju = 7047;
	PlayerActionType_PlayerActionFateRefreshReiju = 7048;
	PlayerActionType_PlayerActionFateAddCoin = 7049;
	PlayerActionType_PlayerActionFateBuyBuff = 7050;
	PlayerActionType_PlayerActionFateSellBuff = 7051;
	PlayerActionType_PlayerActionFateRefreshShop = 7052;
	PlayerActionType_PlayerActionFateLockGoods = 7053;
	PlayerActionType_PlayerActionFateUnlockGoods = 7054;
	PlayerActionType_PlayerActionFateTakeExpReward = 7055;
	PlayerActionType_PlayerActionFateAddExp = 7056;
	PlayerActionType_PlayerActionFateMasterHpChange = 7057;
	PlayerActionType_PlayerActionParkourStartLevel = 7061;
	PlayerActionType_PlayerActionParkourEndLevel = 7062;
	PlayerActionType_PlayerActionBasinChestInteractResult = 7091;
	PlayerActionType_PlayerActionRogueMiracleSwap = 7092;
	PlayerActionType_PlayerActionHipplenEndingTakeReward = 7101;
	PlayerActionType_PlayerActionHipplenGiftDeliverReward = 7102;
	PlayerActionType_PlayerActionHipplenCycleStart = 7103;
	PlayerActionType_PlayerActionHipplenCycleFinish = 7104;
	PlayerActionType_PlayerActionHipplenAgendaPlan = 7105;
	PlayerActionType_PlayerActionHipplenAgendaSettle = 7106;
	PlayerActionType_PlayerActionHipplenTrialStart = 7107;
	PlayerActionType_PlayerActionHipplenTrialFinish = 7108;
	PlayerActionType_PlayerActionHipplenStatusChange = 7109;
	PlayerActionType_PlayerActionHipplenOutfitChange = 7110;
	PlayerActionType_PlayerActionHipplenTraitUnlock = 7111;
	PlayerActionType_PlayerActionHipplenEndingUnlock = 7112;
	PlayerActionType_PlayerActionHipplenOutfitUnlock = 7113;
	PlayerActionType_PlayerActionHipplenGiftUnlock = 7114;
	PlayerActionType_PlayerActionHipplenIncidentFinish = 7115;
	PlayerActionType_PlayerActionChallengePeakStart = 7121;
	PlayerActionType_PlayerActionChallengePeakReward = 7122;
	PlayerActionType_PlayerActionChallengePeakMobStart = 7123;
	PlayerActionType_PlayerActionChallengePeakMobSettle = 7124;
	PlayerActionType_PlayerActionChallengePeakBossStart = 7125;
	PlayerActionType_PlayerActionChallengePeakBossSettle = 7126;
	PlayerActionType_PlayerActionChallengePeakFastPass = 7127;
	PlayerActionType_PlayerActionChallengePeakRecommendLineup = 7128;
	PlayerActionType_PlayerActionChallengePeakMobBattleEnd = 7129;
	PlayerActionType_PlayerActionChallengePeakMobRecordClear = 7130;
	PlayerActionType_PlayerActionCakeRaceLoan = 7141;
	PlayerActionType_PlayerActionCakeRaceSectionBegin = 7142;
	PlayerActionType_PlayerActionCakeRaceSectionEnd = 7143;
	PlayerActionType_PlayerActionCakeRaceRoomSectionSettle = 7144;
	PlayerActionType_PlayerActionCakeRaceGameSettle = 7145;
	PlayerActionType_PlayerActionCakeRaceGameBetCat = 7146;
	PlayerActionType_PlayerActionCakeRaceGameWinCoin = 7147;
	PlayerActionType_PlayerActionCakeRaceLikeFriendRanking = 7148;
	PlayerActionType_PlayerActionElationBattleBegin = 7161;
	PlayerActionType_PlayerActionElationBattleEnd = 7162;
	PlayerActionType_PlayerActionActivityHotDataChange = 7170;
	PlayerActionType_PlayerActionChimeraDuelGameSettle = 7181;
	PlayerActionType_PlayerActionChimeraDuelMasterUnlock = 7182;
	PlayerActionType_PlayerActionChimeraDuelGameStart = 7183;
	PlayerActionType_PlayerActionChimeraDuelBattleStart = 7184;
	PlayerActionType_PlayerActionChimeraDuelBattleEnd = 7185;
	PlayerActionType_PlayerActionChimeraDuelChimeraBuy = 7186;
	PlayerActionType_PlayerActionChimeraDuelItemBuy = 7187;
	PlayerActionType_PlayerActionChimeraDuelShopRefresh = 7188;
	PlayerActionType_PlayerActionChimeraDuelChimeraEnhance = 7189;
	PlayerActionType_PlayerActionChimeraDuelChimeraSell = 7190;
	PlayerActionType_PlayerActionChimeraDuelShopStart = 7191;
	PlayerActionType_PlayerActionChimeraDuelShopEnd = 7192;
	PlayerActionType_PlayerActionChimeraDuelFriendPvpLineupSave = 7193;
	PlayerActionType_PlayerActionChimeraDuelDefendLineupSet = 7194;
	PlayerActionType_PlayerActionMazePuzzleFinishChenLingGameBoy = 7201;
	PlayerActionType_PlayerActionMazePuzzleFiveDimMoneyChange = 7202;
	PlayerActionType_PlayerActionMazePuzzleFinishFiveDimMiniGame = 7203;
	PlayerActionType_PlayerActionMazePuzzleOpenChenLingGameBoyCheatMode = 7204;
	PlayerActionType_PlayerActionMazePuzzleEnterFiveDimGame = 7205;
	PlayerActionType_PlayerActionMazePuzzleLeaveFiveDimGame = 7206;
	PlayerActionType_PlayerActionMazePuzzleFiveDimGameSkillChange = 7207;
	PlayerActionType_PlayerActionGridFightGameStart = 7251;
	PlayerActionType_PlayerActionGridFightGameEnd = 7252;
	PlayerActionType_PlayerActionGridFightRoundStart = 7253;
	PlayerActionType_PlayerActionGridFightRoundEnd = 7254;
	PlayerActionType_PlayerActionGridFightBattleStart = 7255;
	PlayerActionType_PlayerActionGridFightBattleEnd = 7256;
	PlayerActionType_PlayerActionGridFightBattleRole = 7257;
	PlayerActionType_PlayerActionGridFightPortalRefresh = 7258;
	PlayerActionType_PlayerActionGridFightPortalSelect = 7259;
	PlayerActionType_PlayerActionGridFightAugmentRefresh = 7260;
	PlayerActionType_PlayerActionGridFightAugmentSelect = 7261;
	PlayerActionType_PlayerActionGridFightShopRefresh = 7262;
	PlayerActionType_PlayerActionGridFightShopBuy = 7263;
	PlayerActionType_PlayerActionGridFightSupplyRefresh = 7264;
	PlayerActionType_PlayerActionGridFightSupplySelect = 7265;
	PlayerActionType_PlayerActionGridFightForgeOpen = 7266;
	PlayerActionType_PlayerActionGridFightSpecialShopBuy = 7267;
	PlayerActionType_PlayerActionGridFightGetExp = 7268;
	PlayerActionType_PlayerActionGridFightGetOrb = 7269;
	PlayerActionType_PlayerActionGridFightUseOrb = 7270;
	PlayerActionType_PlayerActionGridFightGetRole = 7271;
	PlayerActionType_PlayerActionGridFightGetCoin = 7272;
	PlayerActionType_PlayerActionGridFightGetFreeRefresh = 7273;
	PlayerActionType_PlayerActionGridFightGetItem = 7274;
	PlayerActionType_PlayerActionGridFightGetEquip = 7275;
	PlayerActionType_PlayerActionGridFightDressEquip = 7276;
	PlayerActionType_PlayerActionGridFightGetHp = 7277;
	PlayerActionType_PlayerActionGridFightWeeklyScoreChange = 7278;
	PlayerActionType_PlayerActionGridFightGetWeeklyReward = 7279;
	PlayerActionType_PlayerActionGridFightSeasonExpChange = 7280;
	PlayerActionType_PlayerActionGridFightTalentEnable = 7281;
	PlayerActionType_PlayerActionGridFightTalentReset = 7282;
	PlayerActionType_PlayerActionGridFightTutorialTaskFinish = 7283;
	PlayerActionType_PlayerActionGridFightEliteBranchRefresh = 7284;
	PlayerActionType_PlayerActionGridFightTutorialResume = 7285;
	PlayerActionType_PlayerActionGridFightGetProjection = 7286;
	PlayerActionType_PlayerActionGridFightGetPresent = 7287;
	PlayerActionType_PlayerActionGridFightOpenPresent = 7288;
	PlayerActionType_PlayerActionGridFightSettleSeasonEnd = 7289;
	PlayerActionType_PlayerActionGridFightFavoriteArchive = 7290;
	PlayerActionType_PlayerActionGridFightFormationEdit = 7291;
	PlayerActionType_PlayerActionGridFightModifierUpdate = 7292;
	PlayerActionType_PlayerActionGridFightFormationUgcUpdate = 7293;
	PlayerActionType_PlayerActionGridFightPartnerRoleChoose = 7294;
	PlayerActionType_PlayerActionGridFightPrayQuestSelect = 7295;
	PlayerActionType_PlayerActionGridFightPrayQuestFinish = 7296;
	PlayerActionType_PlayerActionLocalLegendBattleBegin = 7361;
	PlayerActionType_PlayerActionLocalLegendBattleEnd = 7362;
	PlayerActionType_PlayerActionDiceCombatBuyShopGood = 7351;
	PlayerActionType_PlayerActionDiceCombatUpgradeAvatar = 7352;
	PlayerActionType_PlayerActionDiceCombatFinishPveStage = 7353;
	PlayerActionType_PlayerActionDiceCombatBegin = 7354;
	PlayerActionType_PlayerActionDiceCombatTurnEnd = 7355;
	PlayerActionType_PlayerActionDiceCombatEnd = 7356;
	PlayerActionType_PlayerActionDiceCombatScoreChange = 7357;
	PlayerActionType_PlayerActionDiceCombatChangeColorDice = 7358;
	PlayerActionType_PlayerActionInteractiveTriggerMazeBuffAdd = 7371;
	PlayerActionType_PlayerActionLlmChat = 7376;
	PlayerActionType_PlayerActionLlmChatNextQuestion = 7377;
	PlayerActionType_PlayerActionLlmChatFeedback = 7378;
	PlayerActionType_PlayerActionAiPamChatPointChange = 7379;
	PlayerActionType_PlayerActionTrainCakeCatchCatGodInteract = 7381;
	PlayerActionType_PlayerActionTrainCakeCatchOpenBox = 7382;
	PlayerActionType_PlayerActionTrainCakeCatchSearchCat = 7383;
	PlayerActionType_PlayerActionTrainCakeCatchUnlockPerformance = 7384;
	PlayerActionType_PlayerActionTrainCakeCatchUpdateDiyInfo = 7385;
	PlayerActionType_PlayerActionSocialPlayTalk = 7386;
	PlayerActionType_PlayerActionSocialPlayKickOutPlayer = 7387;
	PlayerActionType_PlayerActionSocialPlayPopularityValue = 7388;
	PlayerActionType_PlayerActionSocialPlayLeaveRoom = 7389;
	PlayerActionType_PlayerActionSocialPlayEnterRoom = 7390;
	PlayerActionType_PlayerActionTrainCakeCatchCatGodAppear = 7391;
	PlayerActionType_PlayerActionIdleLiveUpgradeTeamSlot = 7401;
	PlayerActionType_PlayerActionIdleLiveFinishSubNode = 7402;
	PlayerActionType_PlayerActionIdleLiveFinishChapterFinalAct = 7403;
	PlayerActionType_PlayerActionIdleLiveCollectIncome = 7404;
	PlayerActionType_PlayerActionIdleLiveOpenChest = 7405;
	PlayerActionType_PlayerActionIdleLiveTakeTaskReward = 7406;
	PlayerActionType_PlayerActionIdleLiveTechTreeChange = 7407;
	PlayerActionType_PlayerActionIdleLiveModifyCustomTitle = 7408;
	PlayerActionType_PlayerActionIdleLiveCatchUpReward = 7409;
	PlayerActionType_PlayerActionIdleLiveTakeMessageReward = 7410;
	PlayerActionType_PlayerActionIdleLiveTakeGiftReward = 7411;
	PlayerActionType_PlayerActionIdleLiveEndDungeon = 7412;
	PlayerActionType_PlayerActionIdleLiveActivityInit = 7413;
	PlayerActionType_PlayerActionIdleLiveEquipDiscard = 7414;
	PlayerActionType_PlayerActionIdleLiveDoGacha = 7415;
	PlayerActionType_PlayerActionIdleLiveAddAvatar = 7416;
	PlayerActionType_PlayerActionIdleLiveTaskChange = 7417;
	PlayerActionType_PlayerActionIdleLiveReplaceTeam = 7418;
	PlayerActionType_PlayerActionIdleLiveHandleNormalEquip = 7419;
	PlayerActionType_PlayerActionIdleLiveUpgradeSpecialEquip = 7420;
	PlayerActionType_PlayerActionIdleLiveDressSpecialEquip = 7421;
	PlayerActionType_PlayerActionIdleLiveAddItem = 7422;
	PlayerActionType_PlayerActionIdleLiveQuestionChange = 7423;
	PlayerActionType_PlayerActionIdleLiveStartNodeBattle = 7424;
	PlayerActionType_PlayerActionIdleLiveFinishNodeBattle = 7425;
	PlayerActionType_PlayerActionIdleLiveFinishNode = 7426;
	PlayerActionType_PlayerActionIdleLiveMessageChange = 7427;
	PlayerActionType_PlayerActionNewYearBoatTakeReward = 7451;
	PlayerActionType_PlayerActionNewYearBoatSelectBoat = 7452;
	PlayerActionType_PlayerActionNewYearBoatPeriodSettle = 7453;
	PlayerActionType_PlayerActionBenefitV2ActivityTakeReward = 7454;
	PlayerActionType_PlayerActionBenefitV2ActivityDraw = 7455;
	PlayerActionType_PlayerActionJukeboxSetting = 7471;
	PlayerActionType_PlayerActionJukeboxSettingReset = 7472;
	PlayerActionType_PlayerActionDiceCombatV2FinishPveStage = 7476;
	PlayerActionType_PlayerActionDiceCombatV2Begin = 7477;
	PlayerActionType_PlayerActionDiceCombatV2TurnEnd = 7478;
	PlayerActionType_PlayerActionDiceCombatV2End = 7479;
	PlayerActionType_PlayerActionDiceCombatV2TacticsPointChange = 7480;
	PlayerActionType_PlayerActionDiceCombatV2TacticsCardChange = 7481;
	PlayerActionType_PlayerActionDiceCombatV2DiceChangeRequest = 7482;
	PlayerActionType_PlayerActionDiceCombatV2DiceChange = 7483;
	PlayerActionType_PlayerActionLimaoNewsSubmitIssue = 7486;
	PlayerActionType_PlayerActionLimaoNewsSubmitPost = 7487;
	PlayerActionType_PlayerActionLimaoNewsOfficeSurveyStateChange = 7488;
	PlayerActionType_PlayerActionLimaoNewsTriggerMessage = 7489;
	PlayerActionType_PlayerActionLimaoNewsFinishMessage = 7490;
	PlayerActionType_PlayerActionLimaoNewsFinishCondition = 7491;
	PlayerActionType_PlayerActionLimaoNewsUnlockPost = 7492;
	PlayerActionType_PlayerActionLimaoNewsReplyComment = 7493;
	PlayerActionType_PlayerActionLimaoNewsBanPost = 7494;
	PlayerActionType_PlayerActionLimaoNewsTriggerOfficeEvent = 7495;
	PlayerActionType_PlayerActionLimaoNewsFinishOfficeEvent = 7496;
	PlayerActionType_PlayerActionLimaoNewsUpvoteContent = 7497;
	PlayerActionType_PlayerActionChenLingBattleActivatePrivilege = 7506;
	PlayerActionType_PlayerActionChenLingBattleConquerLevelUp = 7507;
	PlayerActionType_PlayerActionChenLingBattleStartStage = 7508;
	PlayerActionType_PlayerActionChenLingBattleSettleStage = 7509;
	PlayerActionType_PlayerActionChenLingBattleStartBattle = 7510;
	PlayerActionType_PlayerActionChenLingBattleFinishBattle = 7511;
	PlayerActionType_PlayerActionChenLingBattleFinishWave = 7512;
	PlayerActionType_PlayerActionChenLingBattleSelectCard = 7513;
	PlayerActionType_PlayerActionChenLingBattleRefreshCard = 7514;
	PlayerActionType_PlayerActionChenLingBattleBuyShopItem = 7515;
	PlayerActionType_PlayerActionChenLingBattleRefreshShop = 7516;
	PlayerActionType_PlayerActionChenLingBattleSelectPolicy = 7517;
	PlayerActionType_PlayerActionChenLingBattleRefreshPolicy = 7518;
	PlayerActionType_PlayerActionChenLingBattleAddHandCard = 7519;
	PlayerActionType_PlayerActionChenLingBattleUseHandCard = 7520;
	PlayerActionType_PlayerActionChenLingBattleSellHandCard = 7521;
	PlayerActionType_PlayerActionChenLingBattleEntityUpgrade = 7522;
	PlayerActionType_PlayerActionChenLingBattleCloneEntity = 7523;
	PlayerActionType_PlayerActionCycleScoreChange = 7541;
	PlayerActionType_PlayerActionCycleScoreTakeReward = 7542;
	PlayerActionType_PlayerActionFateRinFightStart = 7546;
	PlayerActionType_PlayerActionFateRinFightEnd = 7547;
	PlayerActionType_PlayerActionFateRinDeckModify = 7548;
	PlayerActionType_PlayerActionRelicPresetPlanSave = 7581;
	PlayerActionType_PlayerActionRelicPresetPlanDelete = 7582;
	PlayerActionType_PlayerActionRelicPresetPlanModifyName = 7583;
	PlayerActionType_PlayerActionPixAirUnlockPlane = 7611;
	PlayerActionType_PlayerActionPixAirStageStart = 7612;
	PlayerActionType_PlayerActionPixAirBattleGen = 7613;
	PlayerActionType_PlayerActionPixAirBattleEnd = 7614;
	PlayerActionType_PlayerActionPixAirLootEquipSelect = 7615;
	PlayerActionType_PlayerActionPixAirBuyEquip = 7616;
	PlayerActionType_PlayerActionPixAirRefreshShop = 7617;
	PlayerActionType_PlayerActionPixAirNodeSelectContent = 7618;
	PlayerActionType_PlayerActionPixAirGrantReward = 7619;
	PlayerActionType_PlayerActionPixAirEvent = 7620;
	PlayerActionType_PlayerActionPixAirNewEquip = 7621;
	PlayerActionType_PlayerActionPixAirSellEquip = 7622;
	PlayerActionType_PlayerActionPixAirEquipUpgrade = 7623;
	PlayerActionType_PlayerActionPixAirEquipEnchant = 7624;
	PlayerActionType_PlayerActionPixAirCoinChange = 7625;
	PlayerActionType_PlayerActionPixAirStageSettle = 7630;
	PlayerActionType_PlayerActionExpeditionBattleGameStart = 7631;
	PlayerActionType_PlayerActionExpeditionBattleGameEnd = 7632;
	PlayerActionType_PlayerActionChenLingFesLevelStart = 7641;
	PlayerActionType_PlayerActionChenLingFesBusinessDayEnd = 7642;
	PlayerActionType_PlayerActionChenLingFesPhaseSettle = 7643;
	PlayerActionType_PlayerActionChenLingFesLevelSettle = 7644;
	PlayerActionType_PlayerActionChooseDeliveryChoose = 7661;
	PlayerActionType_PlayerActionTeamTowersPveEnd = 7671;
	PlayerActionType_PlayerActionTeamTowersPvpStart = 7672;
	PlayerActionType_PlayerActionTeamTowersPvpEnd = 7673;
}
message BKFDFLNHKIF {
	uint32 queue_position = 1; // offset: 40
	uint32 ICBFDMNNENI = 2; // offset: 36
	oneof PAFLKJACEDD {
		CJOCEJLPADK marble_game_begin = 101; // offset: 16
		KMGDCCNNGEE marble_game_end = 102; // offset: 16
		LOKPJGLJIIH marble_game_round = 103; // offset: 16
		PIMNGBAMMAM marble_game_turn = 104; // offset: 16
		PJENKHDODKA cake_race_section_begin = 201; // offset: 16
		FLOICBDOCNJ cake_race_section_end = 202; // offset: 16
		IIPAHEHJJJL cake_race_room_section_settle = 203; // offset: 16
		JPAHFFFCIIK dice_combat_begin = 251; // offset: 16
		NINLEFEPGCC dice_combat_turn_end = 252; // offset: 16
		KKOKOAJBHFN dice_combat_end = 253; // offset: 16
		LLJJGILGNEO dice_combat_v_2_begin = 261; // offset: 16
		HPOLJGDGOEI dice_combat_v_2_end = 262; // offset: 16
		IEMBKIAENOA dice_combat_v_2_turn_end = 263; // offset: 16
		PNGGKFFJILG dice_combat_v_2_tactics_point_change = 264; // offset: 16
		KNMGHLJKBDA dice_combat_v_2_tactics_card_change = 265; // offset: 16
		INHMDFDBGCL dice_combat_v_2_dice_change_request = 266; // offset: 16
		JEHPGCEIHDF dice_combat_v_2_dice_change = 267; // offset: 16
		LPEHILMMINA team_towers_pvp_start = 268; // offset: 16
		HCHDLMIOOIP team_towers_pvp_end = 269; // offset: 16
	}
}
message OGHAIFPHMPE {
	uint32 seal_id = 1; // offset: 24
	int32 FLCPFPJBJBO = 2; // offset: 28
	int32 GOBDOHJFGHN = 3; // offset: 36
	uint32 sub_seal_id = 4; // offset: 32
}
message PFPHCDCNOBN {
	uint32 seal_id = 1; // offset: 24
	uint32 MDKFLGDEJCN = 2; // offset: 28
}
message GPGLNCGCLLG {
	uint32 item_id = 1; // offset: 24
	uint32 OFFBANGOOKI = 2; // offset: 28
	uint32 skill_id = 3; // offset: 36
	int32 param = 4; // offset: 32
}
message LDEKBGAOMFJ {
	int32 FHCKALAHCIA = 1; // offset: 24
	int32 FDOFEIJJFDD = 2; // offset: 32
	int32 IMIJGIDNDBL = 3; // offset: 36
	int32 LGAJNMNOAEM = 4; // offset: 28
}
message CJOCEJLPADK {
	uint32 monster_battle_type = 1; // offset: 48
	uint64 room_uid = 2; // offset: 64
	uint32 level_id = 3; // offset: 44
	uint32 GNAMNBDIEKG = 4; // offset: 52
	repeated OGHAIFPHMPE BJODJNFGMCB = 5; // offset: 16
	uint32 rank = 6; // offset: 72
	uint64 GAENFKKAKOI = 7; // offset: 56
	repeated OGHAIFPHMPE ALHIONICLCM = 8; // offset: 32
	uint32 ILLEDJLNGNF = 9; // offset: 40
}
message KMGDCCNNGEE {
	uint32 monster_battle_type = 1; // offset: 96
	uint64 room_uid = 2; // offset: 48
	uint32 level_id = 3; // offset: 108
	uint32 GNAMNBDIEKG = 4; // offset: 72
	repeated OGHAIFPHMPE BJODJNFGMCB = 5; // offset: 24
	uint32 rank = 6; // offset: 60
	uint64 GAENFKKAKOI = 7; // offset: 88
	repeated OGHAIFPHMPE ALHIONICLCM = 8; // offset: 32
	uint32 ILLEDJLNGNF = 9; // offset: 80
	uint32 result = 10; // offset: 104
	int32 score_id = 11; // offset: 64
	int32 total_score = 12; // offset: 84
	repeated PFPHCDCNOBN GOMOIKPMFBA = 13; // offset: 40
	uint32 turn = 14; // offset: 76
	uint32 FOCAJAMHKKA = 15; // offset: 56
	uint32 BKIKJGAFKJD = 16; // offset: 100
	uint32 ICBIJEMFLPM = 17; // offset: 68
}
message LOKPJGLJIIH {
	uint32 monster_battle_type = 1; // offset: 108
	uint64 room_uid = 2; // offset: 80
	uint32 level_id = 3; // offset: 104
	uint32 GNAMNBDIEKG = 4; // offset: 112
	uint32 AFPHLNMGPHK = 5; // offset: 96
	uint32 seal_id = 6; // offset: 100
	bool PMGEPADBKKK = 7; // offset: 92
	repeated OGHAIFPHMPE DLGDKGGFCBF = 8; // offset: 40
	uint32 rank = 9; // offset: 88
	repeated OGHAIFPHMPE FPAEBHJFEKK = 10; // offset: 48
	uint32 ILLEDJLNGNF = 11; // offset: 76
	repeated GPGLNCGCLLG skill_info = 12; // offset: 56
	repeated LDEKBGAOMFJ MPACDDPOCLM = 13; // offset: 64
	repeated OGHAIFPHMPE IPAIBGOAGGN = 14; // offset: 24
	repeated OGHAIFPHMPE EHNHHAFAKDP = 15; // offset: 16
	uint32 NNKBNJKNDKC = 16; // offset: 72
}
message PIMNGBAMMAM {
	uint32 monster_battle_type = 1; // offset: 52
	uint64 room_uid = 2; // offset: 72
	uint32 level_id = 3; // offset: 64
	uint32 GNAMNBDIEKG = 4; // offset: 56
	bool LLMLOGNFFCD = 5; // offset: 80
	uint32 AFPHLNMGPHK = 6; // offset: 32
	uint32 rank = 7; // offset: 84
	uint64 GAENFKKAKOI = 8; // offset: 40
	uint32 ILLEDJLNGNF = 9; // offset: 68
	uint32 HKOMBPALIPN = 10; // offset: 48
	repeated uint32 buff_list = 11; // offset: 24
	uint32 NNKBNJKNDKC = 12; // offset: 60
}
message MNIAIAGFEBP {
	repeated uint32 FJKDOIDEBJC = 1; // offset: 32
	repeated uint32 DKKAEHDLECP = 2; // offset: 16
}
message KFKLPGEKJLA {
	uint32 FMEHKPKHGJA = 1; // offset: 28
	uint32 PLNFONNJNID = 2; // offset: 24
}
message ECOGPFKDJDF {
	uint32 LHHJFMMCBAF = 1; // offset: 48
	uint32 rank = 2; // offset: 32
	uint32 position = 3; // offset: 44
	uint32 NEGCJDDIIJP = 4; // offset: 40
	repeated KFKLPGEKJLA MKIOMOINKOF = 5; // offset: 16
	uint32 FADDJCGMJGB = 6; // offset: 36
}
message DBNNBCGMIGP {
	uint32 LHHJFMMCBAF = 1; // offset: 28
	uint32 MDKFLGDEJCN = 2; // offset: 24
}
message PJENKHDODKA {
	string room_id = 1; // offset: 32
	uint32 LOPNADHJKBF = 2; // offset: 40
	uint32 section_id = 3; // offset: 44
	MNIAIAGFEBP player_info = 4; // offset: 16
}
message FLOICBDOCNJ {
	string room_id = 1; // offset: 24
	uint32 LOPNADHJKBF = 2; // offset: 40
	uint32 section_id = 3; // offset: 52
	uint32 IPDDIKPHGPE = 4; // offset: 88
	uint32 GECCGKAHDOB = 5; // offset: 44
	uint32 CLACJFEEPNI = 6; // offset: 56
	repeated KFKLPGEKJLA EEDLBJGGLKD = 7; // offset: 32
	uint32 IEHKEIKCKLL = 8; // offset: 96
	uint32 JLAHNBIMKPD = 9; // offset: 80
	float LLGCGHPMKFG = 10; // offset: 76
	int32 PBIOONALCPL = 11; // offset: 92
	int32 MGNAMCPOMGK = 12; // offset: 48
	int32 PEHKIICMBCD = 13; // offset: 84
	uint32 GOGMGECOIJH = 14; // offset: 68
	int32 LNPPGBHEHML = 15; // offset: 60
	int32 HCMKEFPFEDH = 16; // offset: 64
	uint32 FIOEEAIBEPO = 17; // offset: 72
}
message IIPAHEHJJJL {
	string room_id = 1; // offset: 48
	uint32 LOPNADHJKBF = 2; // offset: 84
	uint32 section_id = 3; // offset: 80
	MNIAIAGFEBP player_info = 4; // offset: 64
	repeated ECOGPFKDJDF MBGGCJIJEAK = 5; // offset: 56
	repeated uint32 KPOJFEJNIHK = 6; // offset: 16
	repeated uint32 GMDPHHPGGFE = 7; // offset: 72
	repeated uint32 GGGMDECDEBB = 8; // offset: 32
	repeated DBNNBCGMIGP GDLMMADBEMM = 9; // offset: 24
}
message CKODNPNBOEN {
	uint32 avatar_id = 1; // offset: 32
	uint32 GHPBBHOBMJN = 2; // offset: 24
	uint32 avatar_level = 3; // offset: 28
}
message HLMNDLOMPKP {
	uint32 GPILDEKMAGJ = 1; // offset: 24
	uint32 OCILFNNGHBD = 2; // offset: 28
	uint32 NGKFIFAFMND = 3; // offset: 32
	uint32 HOPACEGJJKB = 4; // offset: 36
}
message FDNOPLPDLFC {
	uint32 NMDBMPPLFKH = 1; // offset: 68
	uint32 CCCOEMLIPIF = 2; // offset: 52
	bool KAMJHJEALKH = 3; // offset: 73
	uint32 JIKCFNDFNMA = 4; // offset: 60
	repeated uint32 LFIGKFGHPGK = 5; // offset: 32
	repeated uint32 PIDLPAPHKDO = 6; // offset: 16
	uint32 OHOKCJBJJHA = 7; // offset: 56
	uint32 damage = 8; // offset: 48
	uint32 FGKCLINNMND = 9; // offset: 76
	bool KJJNICEKBAI = 10; // offset: 72
	uint32 NMACJAPBHKE = 11; // offset: 64
	repeated uint32 NJFFNHHFPOA = 12; // offset: 40
}
message JPAHFFFCIIK {
	uint64 room_id = 1; // offset: 56
	uint32 GLHKJMBKKPI = 2; // offset: 68
	uint32 GAENFKKAKOI = 3; // offset: 64
	uint32 OOJGMIMJAGC = 4; // offset: 48
	uint32 monster_battle_type = 5; // offset: 40
	uint32 MMNJJHDBJCI = 6; // offset: 44
	CKODNPNBOEN COGGJELNFCN = 7; // offset: 16
	CKODNPNBOEN IDBGCLFLCGE = 8; // offset: 24
}
message NINLEFEPGCC {
	uint64 room_id = 1; // offset: 64
	uint32 GLHKJMBKKPI = 2; // offset: 92
	uint32 GAENFKKAKOI = 3; // offset: 80
	uint32 OOJGMIMJAGC = 4; // offset: 100
	bool CJNHAILKEPN = 5; // offset: 84
	uint32 turn = 6; // offset: 56
	uint32 FDAOAJKBJKM = 7; // offset: 76
	CKODNPNBOEN COGGJELNFCN = 8; // offset: 40
	CKODNPNBOEN IDBGCLFLCGE = 9; // offset: 48
	uint32 attack_type = 10; // offset: 96
	FDNOPLPDLFC ADHHMELLEHA = 11; // offset: 32
	FDNOPLPDLFC KNMNGCBMNMJ = 12; // offset: 16
	uint32 KFEMJMKMGIJ = 13; // offset: 72
	uint32 cost_time = 14; // offset: 88
}
message KKOKOAJBHFN {
	uint64 room_id = 1; // offset: 96
	uint32 GLHKJMBKKPI = 2; // offset: 88
	uint32 GAENFKKAKOI = 3; // offset: 68
	uint32 OOJGMIMJAGC = 4; // offset: 104
	bool CJNHAILKEPN = 5; // offset: 72
	uint32 monster_battle_type = 6; // offset: 64
	uint32 MMNJJHDBJCI = 7; // offset: 80
	repeated uint32 MHBEHHMJHOM = 8; // offset: 56
	CKODNPNBOEN COGGJELNFCN = 9; // offset: 24
	CKODNPNBOEN IDBGCLFLCGE = 10; // offset: 16
	uint32 result = 11; // offset: 76
	HLMNDLOMPKP OLIIDBMFHCH = 12; // offset: 40
	HLMNDLOMPKP CDHIEPDFEIB = 13; // offset: 48
	uint32 MPHFJHCDEEG = 14; // offset: 108
	uint32 cost_time = 15; // offset: 84
}
message EFBNNINLDMM {
	HLMNDLOMPKP OLIIDBMFHCH = 1; // offset: 32
	HLMNDLOMPKP LMHCDBENJLM = 2; // offset: 16
	HLMNDLOMPKP CDHIEPDFEIB = 3; // offset: 24
	uint32 JPBIPCKEIMG = 4; // offset: 52
	uint32 BLHPCHNPNLA = 5; // offset: 48
}
message LLJJGILGNEO {
	uint64 room_id = 1; // offset: 56
	uint32 MPDHNFNCIEA = 2; // offset: 48
	uint32 PJGILAADCPN = 3; // offset: 64
	uint32 DLLADAJAKAG = 4; // offset: 68
	uint32 MMNJJHDBJCI = 5; // offset: 44
	CKODNPNBOEN COGGJELNFCN = 6; // offset: 32
	CKODNPNBOEN FAOOHIBOJNE = 7; // offset: 16
	uint32 monster_battle_type = 8; // offset: 40
}
message IEMBKIAENOA {
	uint64 room_id = 1; // offset: 104
	uint32 MPDHNFNCIEA = 2; // offset: 112
	uint32 PJGILAADCPN = 3; // offset: 92
	uint32 DLLADAJAKAG = 4; // offset: 96
	bool EIDALFJEAFP = 5; // offset: 88
	uint32 turn = 6; // offset: 72
	uint32 FDAOAJKBJKM = 7; // offset: 116
	CKODNPNBOEN COGGJELNFCN = 8; // offset: 64
	CKODNPNBOEN FAOOHIBOJNE = 9; // offset: 48
	CKODNPNBOEN IDBGCLFLCGE = 10; // offset: 32
	uint32 attack_type = 11; // offset: 76
	FDNOPLPDLFC ADHHMELLEHA = 12; // offset: 16
	FDNOPLPDLFC OAMGGAMOLBH = 13; // offset: 40
	FDNOPLPDLFC KNMNGCBMNMJ = 14; // offset: 56
	uint32 ECMLCBNLBBG = 15; // offset: 120
	uint32 BLHPCHNPNLA = 16; // offset: 80
	uint32 cost_time = 17; // offset: 124
	uint32 ICFPOKDIOLI = 18; // offset: 84
}
message HPOLJGDGOEI {
	uint64 room_id = 1; // offset: 88
	uint32 MPDHNFNCIEA = 2; // offset: 80
	uint32 PJGILAADCPN = 3; // offset: 100
	uint32 DLLADAJAKAG = 4; // offset: 64
	bool EIDALFJEAFP = 5; // offset: 108
	uint32 MMNJJHDBJCI = 6; // offset: 84
	repeated uint32 MHBEHHMJHOM = 7; // offset: 56
	CKODNPNBOEN COGGJELNFCN = 8; // offset: 32
	CKODNPNBOEN FAOOHIBOJNE = 9; // offset: 24
	uint32 result = 11; // offset: 72
	EFBNNINLDMM COFIBFHADAO = 12; // offset: 40
	EFBNNINLDMM IHHECACIABO = 13; // offset: 16
	uint32 score_id = 14; // offset: 68
	uint32 HBAAIBHPNOJ = 15; // offset: 96
	uint32 cost_time = 16; // offset: 104
	uint32 monster_battle_type = 17; // offset: 76
}
message PNGGKFFJILG {
	uint64 room_id = 1; // offset: 56
	uint32 MPDHNFNCIEA = 2; // offset: 44
	uint32 turn = 3; // offset: 40
	uint32 type = 4; // offset: 48
	uint32 reason = 5; // offset: 52
	repeated uint32 HEPCHHCHHPF = 6; // offset: 16
	int32 KCCJCGFKCCC = 7; // offset: 36
	uint32 FOJGIEEHHNG = 8; // offset: 32
}
message KNMGHLJKBDA {
	uint64 room_id = 1; // offset: 24
	uint32 MPDHNFNCIEA = 2; // offset: 40
	uint32 turn = 3; // offset: 48
	uint32 OIEMGLCGIOM = 4; // offset: 32
	uint32 type = 5; // offset: 44
	uint32 reason = 6; // offset: 36
}
message INHMDFDBGCL {
	uint64 room_id = 1; // offset: 40
	uint32 MPDHNFNCIEA = 2; // offset: 32
	uint32 PJGILAADCPN = 3; // offset: 36
	uint32 turn = 4; // offset: 48
	string CLNGFDPINDB = 5; // offset: 24
}
message JEHPGCEIHDF {
	uint64 room_id = 1; // offset: 56
	uint32 MPDHNFNCIEA = 2; // offset: 40
	uint32 PJGILAADCPN = 3; // offset: 44
	uint32 turn = 4; // offset: 48
	string MFMJHPKJOAI = 5; // offset: 24
	string AFKCMBMLBBI = 6; // offset: 16
}
message LPEHILMMINA {
	uint32 stage_id = 1; // offset: 32
	uint64 room_id = 2; // offset: 24
	uint32 PJGILAADCPN = 3; // offset: 36
	bool IMIEDNOOCFH = 4; // offset: 40
}
message HCHDLMIOOIP {
	uint32 stage_id = 1; // offset: 44
	uint64 room_id = 2; // offset: 32
	uint32 PJGILAADCPN = 3; // offset: 24
	bool IDPIIMCMPDJ = 4; // offset: 48
	uint32 result = 5; // offset: 52
	uint32 max_wave = 6; // offset: 28
	uint32 cost_time = 7; // offset: 40
}
message OHLNNOMJPNH {
	repeated uint32 AEJPCFLOPAL = 1; // offset: 16
}
message PEGJIHHIFOP {
	repeated uint32 AEJPCFLOPAL = 1; // offset: 16
}
message CIOAOEGEIKH {
	repeated PEGJIHHIFOP DNIGKDKIPPJ = 1; // offset: 16
}
message JPKIDILKOAK {
	repeated uint32 AEJPCFLOPAL = 1; // offset: 16
	uint32 buff_id = 2; // offset: 32
}
message DAMNNJKJOMM {
	repeated uint32 first_lineup = 1; // offset: 16
	repeated uint32 second_lineup = 2; // offset: 24
	uint32 DHMEBODOJMI = 3; // offset: 44
	uint32 DLCJLOIMKOJ = 4; // offset: 40
}
message MCOFKOEJGGL {
	uint32 GPIOJJBAIJB = 1; // offset: 32
	repeated uint32 ADHEJNDAPIH = 2; // offset: 16
}
message KOBGMGHMCLF {
	uint32 avatar_id = 1; // offset: 32
	repeated MCOFKOEJGGL BJKBFDJGFOG = 2; // offset: 24
	uint32 slot = 3; // offset: 36
	uint32 IDBDBICPBBG = 4; // offset: 40
}
message JGPMBLAJJJG {
	repeated uint32 AEJPCFLOPAL = 1; // offset: 24
	uint32 buff_id = 2; // offset: 32
}
message GFDJLBJPNMC {
	repeated JGPMBLAJJJG GBMBAHHDONN = 1; // offset: 16
}
message JOLHIMGJGBO {
	oneof JBLDLHIGGKM {
		OHLNNOMJPNH FJONKDKACAB = 1; // offset: 16
		CIOAOEGEIKH DKBBMJDNHNG = 2; // offset: 16
		JPKIDILKOAK BDNBIHLJNCK = 3; // offset: 16
		DAMNNJKJOMM HCAAHIGINOM = 4; // offset: 16
		KOBGMGHMCLF OEAKBCLIHGH = 5; // offset: 16
		GFDJLBJPNMC MIEJNLBBIDB = 6; // offset: 16
	}
}
message GNBBDMBNNDJ {
	repeated JOLHIMGJGBO lineup_list = 1; // offset: 24
}

// Obf: ChallengeLineupList
message ChallengeLineupList {
	repeated ChallengeAvatarInfo avatar_list = 1; // offset: 16
}

// Obf: ChallengeAvatarInfo
message ChallengeAvatarInfo {
	AvatarType avatar_type = 1; // offset: 24
	uint32 id = 2; // offset: 28
	uint32 level = 3; // offset: 36
	uint32 index = 4; // offset: 32
	uint32 skin_id = 5; // offset: 40
}

// Obf: ChallengeBossEquipmentInfo
message ChallengeBossEquipmentInfo {
	uint32 unique_id = 1; // offset: 40
	uint32 tid = 2; // offset: 32
	uint32 level = 3; // offset: 24
	uint32 promotion = 4; // offset: 28
	uint32 rank = 5; // offset: 36
}
message ChallengeBossRelicInfo {
	uint32 unique_id = 1; // offset: 32
	uint32 tid = 2; // offset: 40
	uint32 level = 3; // offset: 36
	uint32 main_affix_id = 4; // offset: 44
	repeated RelicAffix sub_affix_list = 5; // offset: 24
}

// Obf: ChallengeBossAvatarRelicInfo
message ChallengeBossAvatarRelicInfo {
	map<uint32, ChallengeBossRelicInfo> avatar_relic_slot_map = 1; // offset: 16
}
message CLDOIEGCNLD {
	uint32 avatar_id = 1; // offset: 52
	uint32 avatar_type = 2; // offset: 56
	uint32 slot = 3; // offset: 40
	uint32 level = 4; // offset: 48
	uint32 skin_id = 5; // offset: 44
	ChallengeBossEquipmentInfo equipment = 6; // offset: 24
	ChallengeBossAvatarRelicInfo OKCGHKDMFAM = 7; // offset: 32
}
message GLLFJFJBIBC {
	repeated CLDOIEGCNLD MNABNJOEHLF = 1; // offset: 16
}
message AIIGHJEIGHE {
	uint32 stage_index = 1; // offset: 32
	ChallengeLineupList lineup = 2; // offset: 16
	uint32 buff_id = 3; // offset: 36
}

// Obf: BBBIAPEHABA
message PlayerChallengeTierceRecord {
	bool EGLLMGLLHDL = 1; // offset: 48
	uint32 record_id = 2; // offset: 52
	repeated AIIGHJEIGHE GBMBAHHDONN = 3; // offset: 32
	uint32 EJEDODFFABI = 4; // offset: 40
	uint32 total_score = 5; // offset: 44
	repeated uint32 finished_target_list = 6; // offset: 24
}
message FMDAAIKLAJA {
	uint32 group_id = 1; // offset: 24
	bool JFKMNBHOBCL = 2; // offset: 29
	bool EGLLMGLLHDL = 3; // offset: 28
}

enum ChatType {
	CHAT_TYPE_NONE = 0;
	CHAT_TYPE_PRIVATE = 1;
	CHAT_TYPE_GROUP = 2;
}

enum MsgType {
	MSG_TYPE_NONE = 0;
	MSG_TYPE_CUSTOM_TEXT = 1;
	MSG_TYPE_EMOJI = 2;
	MSG_TYPE_INVITE = 3;
	MSG_TYPE_PLANET_FES = 4;
	MSG_TYPE_ACIELMOLELB = 5;
	MSG_TYPE_BGDMLGDMDIF = 6;
	MSG_TYPE_MGLPLOPECGJ = 7;
	MSG_TYPE_PPGBFMOGAHC = 8;
	MSG_TYPE_BAEKHOHLLKJ = 9;
	MSG_TYPE_MJIEABMBEDP = 10;
}

enum ABCPJBMIACC {
	ABCPJBMIACC_DELPNHAAFCN = 0;
	ABCPJBMIACC_CNODJPIDHEM = 1;
	ABCPJBMIACC_EJJPLJNLLNK = 2;
}

enum PJCMNENIEHH {
	PJCMNENIEHH_NLCDGIPGFDJ = 0;
	PJCMNENIEHH_KPILFMMNIGO = 1;
	PJCMNENIEHH_GGJPEMFEBLB = 2;
	PJCMNENIEHH_CIMNEOAKBJH = 3;
	PJCMNENIEHH_BOMDAIKIPLP = 4;
}

enum DKOPGDPKJHB {
	DKOPGDPKJHB_CGBIKOCDABB = 0;
	DKOPGDPKJHB_ALJCHAAIPHG = 1;
	DKOPGDPKJHB_COEBIAOACFM = 2;
	DKOPGDPKJHB_FKOIKJFAIKF = 3;
	DKOPGDPKJHB_DIEMGOICHLO = 4;
	DKOPGDPKJHB_KHJHNEOFNLJ = 5;
	DKOPGDPKJHB_EFOHJENLODE = 6;
	DKOPGDPKJHB_HJHCDCHOKJG = 7;
	DKOPGDPKJHB_IHHCKDDFKJL = 8;
}

enum CBOLBANEANO {
	CBOLBANEANO_NLCDGIPGFDJ = 0;
	CBOLBANEANO_AKJBECPHIJK = 1;
	CBOLBANEANO_MPFMLHDKKEL = 2;
}

enum FKNKNLGMACL {
	FKNKNLGMACL_NLCDGIPGFDJ = 0;
	FKNKNLGMACL_LMBIMAOBGPO = 1;
	FKNKNLGMACL_NPDOGNAPCEE = 2;
}

enum HCMEILLLKBD {
	HCMEILLLKBD_NLCDGIPGFDJ = 0;
	HCMEILLLKBD_JDOAIPKBIPE = 1;
	HCMEILLLKBD_GGBMAANJNJC = 2;
}
message ECCKHOLLPPC {
	uint64 ANBJMMOEGJE = 1; // offset: 32
	uint32 GJNMHILINHC = 2; // offset: 44
	uint32 JOJALEHLLEJ = 3; // offset: 40
	repeated uint32 AGNFHCLKGCF = 4; // offset: 24
}
message NDDOMFBJMKE {
	uint32 panel_id = 1; // offset: 24
	uint32 content_type = 2; // offset: 28
	uint64 HJFDAJAMFAC = 3; // offset: 32
}
message DCHCPKMFNNC {
	repeated uint32 avatar_id_list = 1; // offset: 16
}
message EJEFBHPAPND {
	repeated uint32 avatar_id_list = 1; // offset: 16
}
message PFDBLPONOHE {
	repeated uint32 avatar_id_list = 1; // offset: 40
	repeated PJCMNENIEHH GBKIBFJCPAL = 2; // offset: 32
	repeated uint32 POOEMJLCDHB = 3; // offset: 24
}
message GMMMIGPFIOH {
	repeated uint32 avatar_id_list = 1; // offset: 16
}
message DPIFGEONFPI {
	repeated uint32 avatar_id_list = 1; // offset: 24
	uint32 ILBJLIENCLB = 2; // offset: 32
}
message EPCNFDBKAEE {
	repeated uint32 avatar_id_list = 1; // offset: 16
}
message HFHFMPLAJCC {
	repeated uint32 avatar_id_list = 1; // offset: 24
}
message GDIBHDEKJCG {
}
message GCBHOIJLBFL {
	string BLDMFDKDJDM = 10; // offset: 16
	oneof BLOFAGPDOKJ {
		DCHCPKMFNNC BNIGONFKICO = 1; // offset: 32
		EJEFBHPAPND JIOEBAFCAJE = 2; // offset: 32
		PFDBLPONOHE NBBFPHGLFNP = 3; // offset: 32
		GMMMIGPFIOH LNOMBCDABKJ = 4; // offset: 32
		DPIFGEONFPI BEGAIBBJHHD = 5; // offset: 32
		EPCNFDBKAEE GOIKMBNGGNP = 6; // offset: 32
		HFHFMPLAJCC CMHJJDDEHCP = 7; // offset: 32
		GDIBHDEKJCG OOKBDDEJHPB = 8; // offset: 32
	}
}
message IDLACKBINMC {
	string title = 1; // offset: 32
	string JFCEOOODIBN = 2; // offset: 24
}
message IGCHDHFMPBJ {
	DKOPGDPKJHB type = 1; // offset: 32
	string stop_desc = 2; // offset: 16
	uint32 avatar_id = 3; // offset: 36
}
message PELDIEOMMDM {
	repeated uint32 avatar_id_list = 1; // offset: 16
	string stop_desc = 2; // offset: 32
}
message JAONELJJAFK {
	uint32 property_type = 1; // offset: 24
	float value = 2; // offset: 28
}
message AOAOBPGFHLA {
	uint32 compose_relic_id = 1; // offset: 40
	uint32 relic_type = 2; // offset: 44
	JAONELJJAFK ELOGOFFIJBB = 3; // offset: 24
	repeated JAONELJJAFK sub_affix_list = 4; // offset: 32
}
message HJNPOBAMKKF {
	repeated AOAOBPGFHLA HGNKNFJPIKI = 1; // offset: 24
	repeated JAONELJJAFK CDMKBCHLPAB = 2; // offset: 32
	uint32 MNCFOGJECMF = 3; // offset: 40
}
message OPLFDAGPBEI {
	uint32 avatar_id = 1; // offset: 48
	HJNPOBAMKKF FLFNBPLNNBL = 2; // offset: 16
	HJNPOBAMKKF LLMDKAHFIIJ = 3; // offset: 32
	string stop_desc = 4; // offset: 40
}
message HCKADDLIGEB {
	string stop_desc = 1; // offset: 16
	uint32 HAAFJLKHCKF = 2; // offset: 32
}

// Obf: ChatData
message ChatData {
	oneof extend_type {
		ECCKHOLLPPC NPBOINAPJJE = 101; // offset: 16
		NDDOMFBJMKE IBJBFODFIMN = 102; // offset: 16
		string message_text = 103; // offset: 16
		uint32 extra_id = 104; // offset: 16
		GCBHOIJLBFL IALHIFELMGE = 105; // offset: 16
		IDLACKBINMC ADBNPHDPPIH = 106; // offset: 16
		IGCHDHFMPBJ LPLCDCIFOOK = 107; // offset: 16
		PELDIEOMMDM NLHJFKGNAMB = 108; // offset: 16
		OPLFDAGPBEI BCLPAMNPHNP = 109; // offset: 16
		HCKADDLIGEB HJADNIAAMGJ = 110; // offset: 16
	}
}
message MessageChatData {
	MsgType message_type = 1; // offset: 32
	ChatData chat_data = 2; // offset: 16
}
message EKNABKLPEEL {
	HCMEILLLKBD KPOBMNLKLOK = 1; // offset: 24
	uint32 role_id = 2; // offset: 28
}
message ChatMessageData {
	uint64 create_time = 4; // offset: 48
	repeated MessageChatData message_datas = 9; // offset: 32
	EKNABKLPEEL CKHPFFENOBE = 10; // offset: 16
	EKNABKLPEEL BKOALKHDLOB = 11; // offset: 24
}

enum AvatarSlotType {
	AVATAR_SLOT_1 = 0;
	AVATAR_SLOT_2 = 1;
	AVATAR_SLOT_3 = 2;
}

enum ItemType {
	ITEM_TYPE_NONE = 0;
	ITEM_AVATAR_CARD = 1;
	ITEM_EQUIPMENT = 2;
	ITEM_MATERIAL = 3;
	ITEM_AVATAR_EXP = 4;
	ITEM_RELIC = 5;
}

// Obf: JEOPNAHLJHA
enum VirtualItemType {
	VIRTUAL_ITEM_NONE = 0;
	VIRTUAL_ITEM_HCOIN = 1;
	VIRTUAL_ITEM_SCOIN = 2;
	VIRTUAL_ITEM_MCOIN = 3;
	VIRTUAL_ITEM_STAMINA = 11;
	VIRTUAL_ITEM_RESERVE_STAMINA = 12;
	VIRTUAL_ITEM_AVATAR_EXP = 21;
	VIRTUAL_ITEM_EXP = 22;
	VIRTUAL_ITEM_DAILY_ACTIVE_POINT = 23;
	VIRTUAL_ITEM_MP_MAX = 24;
	VIRTUAL_ITEM_PLAYER_RETURN_POINT = 25;
	VIRTUAL_ITEM_BATTLE_COLLEGE_POINT = 26;
	VIRTUAL_ITEM_ROGUE_COIN = 31;
	VIRTUAL_ITEM_ROGUE_TALENT_COIN = 32;
	VIRTUAL_ITEM_ROGUE_REWARD_KEY = 33;
	VIRTUAL_ITEM_ROGUE_SUPER_REWARD_KEY = 34;
	VIRTUAL_ITEM_ACHIEVEMENT_EXP = 41;
	VIRTUAL_ITEM_BP_EXP = 51;
	VIRTUAL_ITEM_BP_REAL_EXP = 52;
	VIRTUAL_ITEM_MUSEUM_FUNDS = 53;
	VIRTUAL_TRAINPARTY_BUILDING_FUNDS = 54;
	VIRTUAL_TRAINPARTY_AREA_UNLOCK_COIN = 55;
	VIRTUAL_TRAINPARTY_MOBILITY = 56;
	VIRTUAL_ITEM_WARRIOR_EXP = 190;
	VIRTUAL_ITEM_ROGUE_EXP = 191;
	VIRTUAL_ITEM_MAGE_EXP = 192;
	VIRTUAL_ITEM_SHAMAN_EXP = 193;
	VIRTUAL_ITEM_WARLOCK_EXP = 194;
	VIRTUAL_ITEM_KNIGHT_EXP = 195;
	VIRTUAL_ITEM_PRIEST_EXP = 196;
	VIRTUAL_ITEM_PUNK_LORD_POINT = 100000;
	VIRTUAL_ITEM_GAMEPLAY_COUNTER_MONSTER_SNEAK_VISION = 280001;
	VIRTUAL_ITEM_GAMEPLAY_COUNTER_WOLF_BRO_BULLET = 280002;
	VIRTUAL_ITEM_ALLEY_FUNDS = 281001;
	VIRTUAL_ITEM_ROGUE_PUMAN_COUPON = 281012;
	VIRTUAL_ITEM_MONTH_CARD = 300101;
	VIRTUAL_ITEM_BP_NORMAL = 300102;
	VIRTUAL_ITEM_BP_DELUXE = 300103;
	VIRTUAL_ITEM_BP_UPGRADE = 300104;
	VIRTUAL_ITEM_HELIOBUS_FANS = 281002;
	VIRTUAL_ITEM_SPACE_ZOO_HYBRID_ITEM = 281003;
	VIRTUAL_ITEM_SPACE_ZOO_EXP_POINT = 281004;
	VIRTUAL_ITEM_ROGUE_NOUS_TALENT_COIN = 281013;
	VIRTUAL_ITEM_EVOLVE_BUILD_COIN = 281019;
	VIRTUAL_ITEM_DRINK_MAKER_TIP = 281005;
	VIRTUAL_ITEM_MONOPOLY_DICE = 281014;
	VIRTUAL_ITEM_MONOPOLY_COIN = 281015;
	VIRTUAL_ITEM_MONOPOLY_CHEATDICE = 281016;
	VIRTUAL_ITEM_MONOPOLY_REROLL = 281017;
	VIRTUAL_ITEM_ROGUE_TOURN_PERMANENT_TALENT_COIN = 281018;
	VIRTUAL_ITEM_ROGUE_TOURN_SEASON_TALENT_COIN = 281020;
	VIRTUAL_ITEM_ROGUE_TOURN_EXP = 281022;
	VIRTUAL_ITEM_MATCHTHREE_COIN = 281024;
	VIRTUAL_ITEM_SWORD_TRAINING_SKILL_POINT = 281023;
	VIRTUAL_ITEM_FIGHT_FEST_COIN = 281025;
	VIRTUAL_ITEM_ROGUE_MAGIC_TALENT_COIN = 281026;
	VIRTUAL_ITEM_EVOLVE_BUILD_SC_COIN = 281027;
	VIRTUAL_ITEM_EVOLVE_BUILD_REWARD_EXP = 281028;
	VIRTUAL_ITEM_MATCHTHREE_V2_COIN = 281029;
	VIRTUAL_ITEM_GRID_FIGHT_COIN = 281031;
	VIRTUAL_ITEM_GRID_FIGHT_TALENT_COIN = 281032;
	VIRTUAL_ITEM_GRID_FIGHT_SEASON_EXP = 281033;
	VIRTUAL_ITEM_GRID_FIGHT_GAMEPLAY_EXP = 281034;
	VIRTUAL_ITEM_GRID_FIGHT_FREE_REFRESH_TIMES = 281035;
	VIRTUAL_ITEM_CAKE_RACE_COIN = 281038;
	VIRTUAL_ITEM_CAKE_RACE_SCORE = 281039;
}

enum GameplayCounterType {
	GAMEPLAY_COUNTER_NONE = 0;
	GAMEPLAY_COUNTER_MONSTER_SNEAK_VISION = 280001;
}

enum BlackLimitLevel {
	BLACK_LIMIT_LEVEL_ALL = 0;
}

enum AreaType {
	AREA_NONE = 0;
	AREA_CN = 1;
	AREA_JP = 2;
	AREA_ASIA = 3;
	AREA_WEST = 4;
	AREA_KR = 5;
	AREA_OVERSEAS = 6;
}

enum EntityType {
	ENTITY_NONE = 0;
	ENTITY_AVATAR = 1;
	ENTITY_MONSTER = 2;
	ENTITY_NPC = 3;
	ENTITY_PROP = 4;
	ENTITY_TRIGGER = 5;
	ENTITY_ENV = 6;
	ENTITY_SUMMON_UNIT = 7;
}

enum LanguageType {
	LANGUAGE_NONE = 0;
	LANGUAGE_SC = 1;
	LANGUAGE_TC = 2;
	LANGUAGE_EN = 3;
	LANGUAGE_KR = 4;
	LANGUAGE_JP = 5;
	LANGUAGE_FR = 6;
	LANGUAGE_DE = 7;
	LANGUAGE_ES = 8;
	LANGUAGE_PT = 9;
	LANGUAGE_RU = 10;
	LANGUAGE_TH = 11;
	LANGUAGE_VI = 12;
	LANGUAGE_ID = 13;
}

// Obf: PlatformType
enum PlatformType {
	EDITOR = 0;
	IOS = 1;
	ANDROID = 2;
	PC = 3;
	WEB = 4;
	WAP = 5;
	PS4 = 6;
	NINTENDO = 7;
	CLOUD_ANDROID = 8;
	CLOUD_PC = 9;
	CLOUD_IOS = 10;
	PS5 = 11;
	MAC = 12;
	CLOUD_MAC = 13;
	CLOUD_WEB_ANDROID = 20;
	CLOUD_WEB_IOS = 21;
	CLOUD_WEB_PC = 22;
	CLOUD_WEB_MAC = 23;
	CLOUD_WEB_TOUCH = 24;
	CLOUD_WEB_KEYBOARD = 25;
	CLOUD_DOUYIN_IOS = 27;
	CLOUD_DOUYIN_ANDROID = 28;
}

// Obf: ReloginType
enum ReloginType {
	NO_KICK = 0;
	FORCE_KICK = 1;
	IDLE_KICK = 2;
	SILENCE = 3;
}

// Obf: AvatarType
enum AvatarType {
	AVATAR_TYPE_NONE = 0;
	AVATAR_TRIAL_TYPE = 1;
	AVATAR_LIMIT_TYPE = 2;
	AVATAR_FORMAL_TYPE = 3;
	AVATAR_ASSIST_TYPE = 4;
	AVATAR_AETHER_DIVIDE_TYPE = 5;
	AVATAR_UPGRADE_AVAILABLE_TYPE = 6;
	AVATAR_GRID_FIGHT_TYPE = 7;
	AVATAR_GLJDNDMIGIP = 8;
	AvatarType_GPMNKEOADPI = 9;
}

// Obf: MultiPathAvatarType
enum MultiPathAvatarType {
	MultiPathAvatarTypeNone = 0;
	Mar_7thKnightType = 1001;
	Mar_7thRogueType = 1224;
	BoyWarriorType = 8001;
	GirlWarriorType = 8002;
	BoyKnightType = 8003;
	GirlKnightType = 8004;
	BoyShamanType = 8005;
	GirlShamanType = 8006;
	BoyMemoryType = 8007;
	GirlMemoryType = 8008;
	BoyElationType = 8009;
	GirlElationType = 8010;
}

enum ENHEBGDPDBB {
	ENHEBGDPDBB_HMAINKLHNHH = 0;
	ENHEBGDPDBB_MJFJDCCBNND = 1;
	ENHEBGDPDBB_KGMPLJNOGNE = 32;
}

// Obf: Gender
enum Gender {
	GenderNone = 0;
	GenderMan = 1;
	GenderWoman = 2;
}

enum DCMCBLMFKOB {
	DCMCBLMFKOB_CHCPOELFFDD = 0;
	DCMCBLMFKOB_DGAPKCNDHPG = 1;
	DCMCBLMFKOB_JKILKPAGKIJ = 2;
	DCMCBLMFKOB_BJEHKDEJBJA = 3;
	DCMCBLMFKOB_GDMOEIJCLLC = 4;
}

// Obf: ProductGiftType
enum ProductGiftType {
	PRODUCT_GIFT_NONE = 0;
	PRODUCT_GIFT_COIN = 1;
	PRODUCT_GIFT_MONTH_CARD = 2;
	PRODUCT_GIFT_BP_68 = 3;
	PRODUCT_GIFT_BP_128 = 4;
	PRODUCT_GIFT_BP68_UPGRADE_128 = 5;
	PRODUCT_GIFT_POINT_CARD = 6;
	PRODUCT_GIFT_PS_PRE_ORDER_1 = 7;
	PRODUCT_GIFT_PS_PRE_ORDER_2 = 8;
	PRODUCT_GIFT_GOOGLE_POINTS_100 = 9;
	PRODUCT_GIFT_GOOGLE_POINTS_150 = 10;
	PRODUCT_GIFT_PS_POINT_CARD_030 = 11;
	PRODUCT_GIFT_PS_POINT_CARD_050 = 12;
	PRODUCT_GIFT_PS_POINT_CARD_100 = 13;
	PRODUCT_GIFT_PSN_PLUS = 14;
	PRODUCT_GIFT_SINGLE_6 = 15;
	PRODUCT_GIFT_DAILY_LOGIN_30 = 16;
	PRODUCT_GIFT_APPLE_GIFT_CARD = 17;
	PRODUCT_GIFT_FTC_UP_GACHA_TICKET_1 = 18;
	PRODUCT_GIFT_FTC_UP_GACHA_TICKET_10 = 19;
	PRODUCT_GIFT_FTC_NORMAL_GACHA_TICKET_1 = 20;
	PRODUCT_GIFT_FTC_NORMAL_GACHA_TICKET_10 = 21;
	PRODUCT_GIFT_TICKET_10 = 22;
	EJEBHIIKAJF_DBIADNGNFMD = 23;
	ProductGiftType_OOLBPMEJANG = 24;
	ProductGiftType_NKJADAFIFIK = 25;
}

// Obf: BLOHGFCFEEL
enum FeatureSwitchType {
	BLOHGFCFEEL_OLLFDOONPPH = 0;
	BLOHGFCFEEL_CMPBOEFPAFF = 1;
	BLOHGFCFEEL_NPMMMJEABDA = 2;
	BLOHGFCFEEL_LDFMLGODBCI = 3;
	BLOHGFCFEEL_IMFCEBAFAOD = 4;
	BLOHGFCFEEL_PMJOGFFOGGA = 5;
	BLOHGFCFEEL_GMGNBIKFFJG = 6;
	BLOHGFCFEEL_NEHKLAFBDHN = 7;
	BLOHGFCFEEL_CJLCHBBLENG = 8;
	BLOHGFCFEEL_JNKNFAIIGMK = 9;
	BLOHGFCFEEL_GMKIADNCPNI = 10;
	BLOHGFCFEEL_MGICOLCGDAB = 11;
	BLOHGFCFEEL_NGPACINNIMD = 12;
	BLOHGFCFEEL_OAIEBHMHLEP = 13;
	BLOHGFCFEEL_FIPDOKKDAAC = 14;
	BLOHGFCFEEL_APHDKDPMEFF = 15;
	BLOHGFCFEEL_PIFHPBHFBOB = 16;
	BLOHGFCFEEL_EGGFIKODABA = 17;
	BLOHGFCFEEL_PHOKAODFGGN = 18;
	BLOHGFCFEEL_DDJKAMDEFOB = 19;
	BLOHGFCFEEL_BFNCHIOOEGI = 20;
	BLOHGFCFEEL_EAKICFJGJCG = 21;
	BLOHGFCFEEL_JLJGFFJBMAP = 22;
	BLOHGFCFEEL_DBMIBEJDGNK = 23;
	BLOHGFCFEEL_LIHGIPDAMEE = 24;
	BLOHGFCFEEL_PBMEFECMLBN = 25;
	BLOHGFCFEEL_NJIBBLDHBPA = 26;
	BLOHGFCFEEL_JNOJKPFDENE = 27;
	BLOHGFCFEEL_HHNGOAPLCAJ = 28;
	BLOHGFCFEEL_PJIADEFEOCE = 29;
	BLOHGFCFEEL_ELJKDENKLBB = 30;
	BLOHGFCFEEL_HPHLHNECBNC = 32;
	BLOHGFCFEEL_ODBDMOCCODH = 33;
	BLOHGFCFEEL_CACHILIJDAO = 34;
	BLOHGFCFEEL_AEILDNIMLHF = 35;
	BLOHGFCFEEL_PNLHBBLODFA = 36;
	BLOHGFCFEEL_FJBIEBHJGON = 37;
	BLOHGFCFEEL_AOJPPBMCIEJ = 38;
	BLOHGFCFEEL_MEEHJJDBMKP = 39;
	BLOHGFCFEEL_ODPBAGEBPGL = 40;
	BLOHGFCFEEL_MIJANGMGPKL = 41;
	BLOHGFCFEEL_CGHNMCHABLO = 42;
	BLOHGFCFEEL_FBKIFMKMLNO = 43;
	BLOHGFCFEEL_HLFPEFNLMLE = 44;
	BLOHGFCFEEL_BIFDPCPBGLN = 45;
	BLOHGFCFEEL_DCPIMKDCFLE = 46;
	BLOHGFCFEEL_KJDBBPEHCNO = 47;
	BLOHGFCFEEL_NIBGLJHFMNO = 48;
	BLOHGFCFEEL_HOPBLPLCJLO = 49;
	BLOHGFCFEEL_FOHOHLFLEEJ = 50;
	BLOHGFCFEEL_NAFKMFKGKPN = 51;
	BLOHGFCFEEL_OIAKLFCDFCK = 52;
	BLOHGFCFEEL_KFILNDOMNAA = 53;
	BLOHGFCFEEL_OBEDFFDLDKD = 54;
	BLOHGFCFEEL_FHJBILODKOO = 55;
	BLOHGFCFEEL_IBKCCGOBPLK = 56;
	BLOHGFCFEEL_MJHMECNJIFB = 58;
	BLOHGFCFEEL_GIFAIEODMBC = 59;
	BLOHGFCFEEL_GALJOECHLAA = 60;
	BLOHGFCFEEL_NHEFHKBDCMC = 61;
	BLOHGFCFEEL_CKNEFAPKNBD = 62;
	BLOHGFCFEEL_FJKMNDDEKOA = 63;
	BLOHGFCFEEL_FFNGHDIANMA = 64;
	BLOHGFCFEEL_KEEENOCCNND = 65;
	BLOHGFCFEEL_GPLCBDBKCPD = 66;
	BLOHGFCFEEL_KEFJFJDBPKG = 67;
	BLOHGFCFEEL_ACFLOIONODA = 68;
	BLOHGFCFEEL_OPGDDDOGGOE = 69;
	BLOHGFCFEEL_OMBHMDBLDEJ = 70;
	BLOHGFCFEEL_NCIHPLBABNC = 71;
	BLOHGFCFEEL_AKGLHLMIKMM = 72;
	BLOHGFCFEEL_BCLMECHBIKB = 73;
	BLOHGFCFEEL_GEBMCAOAIEJ = 74;
	BLOHGFCFEEL_EGGIGABAHPO = 75;
	BLOHGFCFEEL_KJMDGIIOPOO = 76;
	BLOHGFCFEEL_FCJAFAGBGLG = 77;
	BLOHGFCFEEL_KNGBCAFGALI = 78;
	BLOHGFCFEEL_HGGNFJCKBDA = 79;
	BLOHGFCFEEL_FANNNOPGFBB = 80;
	BLOHGFCFEEL_BFJNFBIJINB = 81;
	BLOHGFCFEEL_JGKMCBGFJLL = 82;
	BLOHGFCFEEL_AJBAFCAMEMH = 83;
	BLOHGFCFEEL_OCDKAOGLBPC = 84;
	BLOHGFCFEEL_NCHIOPJLMFE = 85;
	BLOHGFCFEEL_POEHEEKBHLH = 86;
	BLOHGFCFEEL_EBGFEKLFJDB = 87;
	BLOHGFCFEEL_JOJLKCIGHAJ = 88;
	BLOHGFCFEEL_IGBCOPCFPAI = 89;
	BLOHGFCFEEL_GAFEEBBCOEK = 90;
	BLOHGFCFEEL_COOFLDLKDFM = 91;
	BLOHGFCFEEL_KNMALPBJLJL = 92;
	BLOHGFCFEEL_IPDDHMBDLJI = 93;
	BLOHGFCFEEL_ANCKMNILOCG = 94;
	BLOHGFCFEEL_KACOHBEJFOD = 95;
	BLOHGFCFEEL_KGMKFOPKJPK = 96;
	BLOHGFCFEEL_HBMLKNFMGEN = 97;
	BLOHGFCFEEL_AFNFHMPAPFN = 98;
	BLOHGFCFEEL_MOMBNANDPNO = 99;
}

enum SecretKeyType {
	SECRET_KEY_NONE = 0;
	SECRET_KEY_SERVER_CHECK = 1;
	SECRET_KEY_VIDEO = 2;
	SECRET_KEY_BATTLE_TIME = 3;
}

enum PBIEFHKNAFA {
	PBIEFHKNAFA_NLCDGIPGFDJ = 0;
	PBIEFHKNAFA_KBBDECFFFAL = 1;
}

// Obf: EOPODGPDKMO
enum PunkLordShareType {
	EOPODGPDKMO_NLCDGIPGFDJ = 0;
	EOPODGPDKMO_ENFIEFPPCIC = 1;
	EOPODGPDKMO_ACAOCKPIGPL = 2;
}

// Obf: PFIPEIGDLLK
enum PunkLordAttackerStatus {
	PFIPEIGDLLK_NLCDGIPGFDJ = 0;
	PFIPEIGDLLK_CCALGNCNFME = 1;
	PFIPEIGDLLK_MOKNDKJFLDH = 2;
	PFIPEIGDLLK_HKLDKMJMGAH = 3;
}

enum PAKHPLAHGBN {
	PAKHPLAHGBN_NLCDGIPGFDJ = 0;
	PAKHPLAHGBN_FIOLLIOEAJC = 1;
	PAKHPLAHGBN_CJMELLLIEDE = 2;
	PAKHPLAHGBN_COGCFDFAKON = 3;
}

enum MCBFOMIGMLA {
	MCBFOMIGMLA_NLCDGIPGFDJ = 0;
	MCBFOMIGMLA_LCMADDIMION = 403;
	MCBFOMIGMLA_BNGOOKFJFLF = 404;
	MCBFOMIGMLA_PAGPNOKLNOM = 401;
	MCBFOMIGMLA_BBGPAAMECAC = 402;
	MCBFOMIGMLA_MGNNCJCHCFM = 2300;
	MCBFOMIGMLA_NEAMPNCBGNK = 3100;
	MCBFOMIGMLA_KMGKEHBIGFB = 4100;
	MCBFOMIGMLA_CPKIFFOLBDL = 3700;
}

enum PIDAHABFLBL {
	PIDAHABFLBL_ONGOHDOKEIE = 0;
	PIDAHABFLBL_FJBENKPGBPP = 1;
	PIDAHABFLBL_IBNPGEDFIMO = 2;
}

// Obf: KMJKPKLCPNM
enum DevelopmentType {
	KMJKPKLCPNM_BEEHIFFKOIH = 0;
	KMJKPKLCPNM_FJMKBHBKDNG = 1;
	KMJKPKLCPNM_OMMMLICONEG = 2;
	KMJKPKLCPNM_LMDJOBNEFFL = 3;
	KMJKPKLCPNM_CMAPLLHGPOF = 4;
	KMJKPKLCPNM_AOCOLEGAICP = 5;
	KMJKPKLCPNM_LODAGLNGOKA = 6;
	KMJKPKLCPNM_OCOKANBLFMA = 7;
	KMJKPKLCPNM_GPCJDNIHAGB = 8;
	KMJKPKLCPNM_LMAAEEHHJNC = 9;
	KMJKPKLCPNM_HEJAOMEJGKJ = 10;
	KMJKPKLCPNM_PHKEACMKMAA = 11;
	KMJKPKLCPNM_MPHKBCGINLC = 12;
	KMJKPKLCPNM_NPAIBBCODOH = 13;
	KMJKPKLCPNM_BIAIKCLDIFD = 14;
	KMJKPKLCPNM_FCIBLPLMEMI = 15;
	KMJKPKLCPNM_JAEMAKHBNHD = 16;
	KMJKPKLCPNM_LDPOJOODFEH = 17;
	KMJKPKLCPNM_ODDKNGFCBKO = 18;
}

// Obf: DIHJILNECAD
enum PlayingState {
	DIHJILNECAD_NLCDGIPGFDJ = 0;
	DIHJILNECAD_CIEIJLJAJMO = 1;
	DIHJILNECAD_KHAEKEBCPOK = 2;
	DIHJILNECAD_OOIFOBIKPLE = 3;
	DIHJILNECAD_DKJADONGEBO = 4;
	DIHJILNECAD_HANCJANFGFB = 5;
	DIHJILNECAD_BJFFKKIFAHJ = 6;
	DIHJILNECAD_DCMOAMMMOIP = 7;
	DIHJILNECAD_BLGLOKNIAFI = 8;
	DIHJILNECAD_MGOBJFOFJIH = 9;
	DIHJILNECAD_OAILFPOOBMJ = 10;
}

enum ENFIBAEHKAD {
	ENFIBAEHKAD_AMOLBLFOEPC = 0;
	ENFIBAEHKAD_FGDCNHHAFOM = 1;
	ENFIBAEHKAD_PEBFGLKGJMN = 2;
	ENFIBAEHKAD_IDDIKOOKEOM = 3;
}

enum OONKJIIEPDC {
	OONKJIIEPDC_NLCDGIPGFDJ = 0;
	OONKJIIEPDC_BPOCOHFIAOH = 1;
	OONKJIIEPDC_NCIPEHOHDMG = 2;
	OONKJIIEPDC_HMOGOHOFPFG = 3;
	OONKJIIEPDC_HNADONAFDDN = 4;
	OONKJIIEPDC_ANAIJLLOOHF = 5;
}

// Obf: BOKMDMEDAHN
enum PlanetFesCardPieceApplyPermissionType {
	BOKMDMEDAHN_OAPAHOMMCGO = 0;
	BOKMDMEDAHN_GOJLDPCAMHM = 1;
	BOKMDMEDAHN_MKAAHIPOJBJ = 2;
}

enum HELMGACMHHF {
	HELMGACMHHF_PLCNMNGMFNN = 0;
	HELMGACMHHF_COFAOIGAOIG = 1;
	HELMGACMHHF_FKHFJIIFLIC = 2;
	HELMGACMHHF_LHIICAMOFBI = 3;
	HELMGACMHHF_KKKAIMANEBF = 4;
}

enum EBFCKNGIMJC {
	EBFCKNGIMJC_LKPJFHAKFCE = 0;
	EBFCKNGIMJC_GHKAJGCHALB = 1;
	EBFCKNGIMJC_HKOPBCOIJHH = 2;
}

enum MOHNIMLCODA {
	MOHNIMLCODA_NLCDGIPGFDJ = 0;
	MOHNIMLCODA_DMJKCOJLFCL = 1;
	MOHNIMLCODA_ANEIGHKMJKB = 2;
	MOHNIMLCODA_MGMPDHKJFIM = 3;
	MOHNIMLCODA_MAIBAOAOGID = 4;
	MOHNIMLCODA_EGCGFGDILBC = 5;
	MOHNIMLCODA_KEEIBDBEJLH = 6;
	MOHNIMLCODA_level = 7;
	MOHNIMLCODA_DIMIFCJPHME = 8;
	MOHNIMLCODA_PEEDCBADBHJ = 9;
}

enum EAMOLJFMKHM {
	EAMOLJFMKHM_NLCDGIPGFDJ = 0;
	EAMOLJFMKHM_BINGHJIAMGN = 1;
	EAMOLJFMKHM_FCPCOLJLAOM = 2;
	EAMOLJFMKHM_HNOMNEPIECN = 3;
}

enum JFNJKAPPNOF {
	JFNJKAPPNOF_NLCDGIPGFDJ = 0;
	JFNJKAPPNOF_OCDLPDDMCLP = 1;
	JFNJKAPPNOF_JHOEBNNMKHB = 2;
	JFNJKAPPNOF_KMDNDLKKDLH = 3;
	JFNJKAPPNOF_DJKDPGDLLFM = 4;
	JFNJKAPPNOF_IGDNEOELFKC = 5;
	JFNJKAPPNOF_HCBNCEDBABL = 6;
}

enum JDCAPBNPOOK {
	JDCAPBNPOOK_NLCDGIPGFDJ = 0;
	JDCAPBNPOOK_ENPLACDLJGA = 1;
	JDCAPBNPOOK_NMEEOHMGPKD = 2;
	JDCAPBNPOOK_OMKPENOHLII = 4;
	JDCAPBNPOOK_AOIGFLELHHH = 5;
	JDCAPBNPOOK_MCPIKEHDMND = 101;
	JDCAPBNPOOK_LDPMDPAGCHM = 102;
	JDCAPBNPOOK_EGCGFGDILBC = 103;
	JDCAPBNPOOK_HAEHIHOCLJD = 104;
	JDCAPBNPOOK_HCJBIBFBHKM = 105;
	JDCAPBNPOOK_MLOMHPFOMLO = 106;
	JDCAPBNPOOK_EDJGIJIILKE = 107;
	JDCAPBNPOOK_GGMPEGMEHPD = 108;
	JDCAPBNPOOK_FIFGENNKDBE = 109;
	JDCAPBNPOOK_ONPNOPLOAGH = 110;
	JDCAPBNPOOK_MDBHGMDBJGK = 111;
	JDCAPBNPOOK_DICKKDIAEND = 112;
	JDCAPBNPOOK_LKPOOOLNAJC = 113;
}

// Obf: MJJIFGINJAJ
enum GridFightDropType {
	MJJIFGINJAJ_NLCDGIPGFDJ = 0;
	MJJIFGINJAJ_item_value = 1;
	MJJIFGINJAJ_exp = 2;
	MJJIFGINJAJ_LJBCDJNNBJH = 3;
	MJJIFGINJAJ_BDPIMPJOJBK = 4;
	MJJIFGINJAJ_NLFCABFPJHD = 5;
	MJJIFGINJAJ_ANMDMBGNOHL = 6;
	MJJIFGINJAJ_JJDGKIIBHOP = 7;
}

// Obf: PlayerBasicInfo
message PlayerBasicInfo {
	string nickname = 1; // offset: 16
	uint32 level = 2; // offset: 44
	uint32 exp = 3; // offset: 36
	uint32 stamina = 4; // offset: 48
	uint32 mcoin = 5; // offset: 56
	uint32 hcoin = 6; // offset: 32
	uint32 scoin = 7; // offset: 52
	uint32 world_level = 8; // offset: 40
}
message CJLCPMDGIBO {
	repeated uint32 EAKOLIJOEPA = 1; // offset: 16
}
message SpBarInfo {
	uint32 cur_sp = 1; // offset: 24
	uint32 max_sp = 2; // offset: 28
}

// Obf: BlackInfo
message BlackInfo {
	int64 begin_time = 1; // offset: 32
	int64 end_time = 2; // offset: 40
	uint32 limit_level = 3; // offset: 28
	uint32 ban_type = 4; // offset: 24
}
message KPNHGDGLICN {
	AvatarType avatar_type = 1; // offset: 28
	uint32 id = 2; // offset: 24
}
message ONKDAPOKGAC {
	AvatarType avatar_type = 1; // offset: 40
	uint32 id = 2; // offset: 32
	uint32 level = 3; // offset: 28
	uint32 index = 4; // offset: 36
	uint32 skin_id = 5; // offset: 24
}
message FNFMCAEBOLH {
	uint32 version = 1; // offset: 24
	uint32 count = 2; // offset: 28
}
message ClientDownloadData {
	uint32 version = 1; // offset: 36
	int64 time = 2; // offset: 40
	bytes data = 3; // offset: 16
	uint32 channel_id = 4; // offset: 32
}
message ClientObjDownloadData {
	bytes sc_info = 1; // offset: 32
	ClientDownloadData client_obj_download_data = 2; // offset: 16
	repeated ClientDownloadData dyn_code = 3; // offset: 40
}
message LFKKOMBKJIP {
	string tag = 1; // offset: 32
	string value = 2; // offset: 24
}
message HBJLNKAFNAD {
	repeated uint32 switch_list = 1; // offset: 16
}
message HDOKNMGIDMB {
	FeatureSwitchType type = 1; // offset: 32
	repeated HBJLNKAFNAD BGNKLMIMBPI = 2; // offset: 16
	bool KPCPABKPAKL = 3; // offset: 36
}
message MEPHKJFAJPP {
	string NLONGNHNECG = 1; // offset: 64
	string BHNHGPCGKMA = 2; // offset: 16
	string CKACNADCDFP = 3; // offset: 56
	string EIDOKHKEOPP = 4; // offset: 24
	string HELMPDCKLEO = 5; // offset: 48
	string DFBLOBNLHCC = 6; // offset: 40
	string GLEEJNEJACP = 7; // offset: 72
}
message CMCJFJEBBCO {
	string LEMBPAGGMEM = 1; // offset: 16
	int32 BLNDDBDIDNJ = 2; // offset: 44
	int32 HDMMKJIKCOJ = 3; // offset: 40
	int32 LMMHAGLDACM = 4; // offset: 32
	int32 MBPELIOJBDG = 5; // offset: 36
}
message ReplayInfo {
	uint64 LMFBCHEHOLO = 1; // offset: 40
	PBIEFHKNAFA replay_type = 2; // offset: 76
	uint32 stage_id = 3; // offset: 52
	uint32 uid = 4; // offset: 48
	string nickname = 5; // offset: 32
	uint32 head_icon = 6; // offset: 64
	string replay_name = 7; // offset: 24
	uint64 create_time = 8; // offset: 56
	uint32 KLIFGJOILEE = 9; // offset: 72
	uint32 PBNIENNCNOP = 10; // offset: 68
}
message GOFFDNPBHIK {
	uint32 avatar_id = 1; // offset: 28
	uint32 avatar_level = 2; // offset: 24
}
message CJDIAHDLCNJ {
	uint32 uid = 1; // offset: 60
	uint32 damage_hp = 2; // offset: 48
	bool is_final_hit = 3; // offset: 56
	uint32 over_kill_damage_hp = 4; // offset: 44
	string battle_replay_key = 5; // offset: 24
	repeated GOFFDNPBHIK avatar_list = 6; // offset: 32
	uint32 assist_score = 7; // offset: 64
	uint32 damage_score = 8; // offset: 52
	uint32 final_hit_score = 9; // offset: 40
}
message GMDHIALLILJ {
	repeated CJDIAHDLCNJ GAIKBNPIFLM = 1; // offset: 24
}
message CDCCPHILOCC {
	uint32 uid = 1; // offset: 28
	uint32 monster_id = 2; // offset: 24
}

// Obf: PunkLordMonsterBasicInfo
message PunkLordMonsterBasicInfo {
	uint32 uid = 1; // offset: 32
	uint32 monster_id = 2; // offset: 28
	uint32 config_id = 3; // offset: 40
	uint32 world_level = 4; // offset: 36
	int64 create_time = 5; // offset: 48
	uint32 left_hp = 6; // offset: 60
	uint32 attacker_num = 7; // offset: 24
	PunkLordShareType share_type = 8; // offset: 56
	bool APCMAIJPPEH = 9; // offset: 44
}

// Obf: TryDownLoadReplay
message TryDownLoadReplay {
	string battle_replay_key = 1; // offset: 24
	ReplayInfo replay_info = 2; // offset: 16
}
message RegionInfo {
	string name = 1; // offset: 48
	string title = 2; // offset: 24
	string dispatch_url = 3; // offset: 32
	string env_type = 4; // offset: 40
	string display_name = 5; // offset: 16
	string stop_desc = 6; // offset: 64
	string MDPGMPGBDMH = 7; // offset: 72
}
message Dispatch {
	uint32 retcode = 1; // offset: 56
	string msg = 2; // offset: 16
	string top_sever_region_name = 3; // offset: 32
	repeated RegionInfo region_list = 4; // offset: 40
	string FMPGOLIBHBD = 5; // offset: 48
}
message BNAILMNNGIF {
	uint32 AGPFHDNOBEN = 1; // offset: 96
	repeated uint32 DCFGIEJAILL = 2; // offset: 72
	repeated uint32 KLKADPNPNHI = 3; // offset: 64
	repeated uint32 NBINKKOFKED = 4; // offset: 24
	repeated uint32 PLJEJGCEKGL = 5; // offset: 40
	repeated uint32 HBLKPAJPPEC = 6; // offset: 80
	bool IHABNJLBNBL = 7; // offset: 88
	uint32 MNNLNOJNPBP = 8; // offset: 92
	repeated uint32 BOPGCJOMKGE = 9; // offset: 56
	repeated uint32 CLNIFBCKJPE = 10; // offset: 16
	repeated uint32 MPBDKLFAPCH = 11; // offset: 48
}
message AOHKKFHDALO {
	oneof NEBNJDMFELO {
		uint32 role_star = 101; // offset: 16
		uint32 PIHGNNMBCEJ = 102; // offset: 16
	}
}
message BCCONKJHDJL {
	GridFightDropType FKKGLFOHGGA = 1; // offset: 40
	uint32 FNLMKJLKLFH = 2; // offset: 32
	uint32 num = 3; // offset: 36
	AOHKKFHDALO param = 5; // offset: 16
}
message GridFightDropInfo {
	repeated BCCONKJHDJL NMGIABHIJJB = 1; // offset: 24
}
message HENDEHGPKMF {
	uint32 dice_slot_id = 1; // offset: 56
	string name = 2; // offset: 16
	string KFPMJKCOJAJ = 4; // offset: 40
	bytes JLFIAFKGCOJ = 5; // offset: 32
	string MILBDIPBJGP = 6; // offset: 48
}
message FHCEIOHLADG {
	uint32 pos_index = 1; // offset: 36
	uint32 LHHONKJPPDC = 2; // offset: 32
	uint32 KFGOKFKHOPB = 3; // offset: 28
	uint32 LLLOOKPGGGG = 4; // offset: 24
}

// Obf: Vector
message Vector {
	sint32 x = 1; // offset: 28
	sint32 y = 2; // offset: 24
	sint32 z = 3; // offset: 32
}
message JPGACKPLGCD {
	bool KALACJBAPOA = 1; // offset: 26
	bool FOKJIPGMKAN = 2; // offset: 24
	bool IBLGOCFBOCO = 3; // offset: 25
}
message KHADHDLCNOI {
	uint32 id = 1; // offset: 24
	bool is_pause = 2; // offset: 28
}
message AAKECCJELLI {
	uint32 id = 1; // offset: 24
	uint32 volume = 2; // offset: 28
}
message MNCBEDBDDHL {
	KHADHDLCNOI JKNLCEEDAHJ = 1; // offset: 24
	repeated AAKECCJELLI NNJCEINOEHH = 2; // offset: 32
	bool PGPNCNABHAM = 3; // offset: 40
}

enum OIKBIPICGDN {
	OIKBIPICGDN_KNDKKGPEJAG = 0;
	OIKBIPICGDN_POGHAGEGKDN = 1;
	OIKBIPICGDN_FLMDIEEMOJK = 2;
	OIKBIPICGDN_ONAANCDBFJK = 3;
}

enum AKBCEFGFJCJ {
	AKBCEFGFJCJ_PPIGKPCFNGK = 0;
	AKBCEFGFJCJ_ENPOHKNKPAH = 1;
	AKBCEFGFJCJ_EDGLLBJOOOA = 2;
}

// Obf: JJMFOABLOCE
enum BattleModuleType {
	JJMFOABLOCE_OHDOHHFAKMC = 0;
	JJMFOABLOCE_FDKBEDIMCBJ = 1;
	JJMFOABLOCE_BPCBHKHDGMH = 2;
	JJMFOABLOCE_GEAIEKPGNGD = 3;
	JJMFOABLOCE_EKJFDFEANNH = 4;
	JJMFOABLOCE_BIOGDPANCLB = 5;
	JJMFOABLOCE_DPALIHINPFN = 6;
}

enum AABGIFAEEEK {
	AABGIFAEEEK_OCAJFLCAMNA = 0;
	AABGIFAEEEK_AONENHHFNOD = 1;
	AABGIFAEEEK_AOIAAGNAFIO = 2;
}

enum OLAJGECKMJE {
	OLAJGECKMJE_NLCDGIPGFDJ = 0;
	OLAJGECKMJE_score_id = 1;
	OLAJGECKMJE_MCMDKGEANNA = 2;
	OLAJGECKMJE_EJDAGOOKBLG = 3;
	OLAJGECKMJE_challenge_score = 4;
	OLAJGECKMJE_AMEABNLMMGB = 5;
	OLAJGECKMJE_FBCAELMEIDP = 6;
}

enum KPOIEOPCEJL {
	KPOIEOPCEJL_PJAAADFOKKC = 0;
	KPOIEOPCEJL_LMGJEFFHBHF = 1;
	KPOIEOPCEJL_JBGODLOEOPF = 2;
	KPOIEOPCEJL_DOGMHOAOJFD = 3;
}

enum HDFAPKLGEFM {
	HDFAPKLGEFM_LCOKOJCGKHP = 0;
	HDFAPKLGEFM_NMDOPKBENEA = 1;
}

enum NLNEBDEEONP {
	NLNEBDEEONP_HHDDIFHGNHD = 0;
	NLNEBDEEONP_LDANCJMPNMB = 1;
}

enum BattleEndReason {
	BATTLE_END_REASON_NONE = 0;
	BATTLE_END_REASON_ALL_DIE = 1;
	BATTLE_END_REASON_TURN_LIMIT = 2;
}

// Obf: BattleStaticticEventType
enum BattleStaticticEventType {
	BATTLE_STATICTIC_EVENT_NONE = 0;
	BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_ADD_EXPLORE = 1;
	BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_OPEN_GRID = 2;
	BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_PICKUP_ITEM = 3;
	BATTLE_STATICTIC_EVENT_TREASURE_DUNGEON_USE_BUFF = 4;
	BATTLE_STATICTIC_EVENT_TELEVISION_ACTIVITY_UPDATE_MAZE_BUFF_LAYER = 5;
	BATTLE_STATICTIC_EVENT_ROGUE_TOURN_TITAN_EXTRA_COIN = 6;
	BATTLE_STATICTIC_EVENT_ROGUE_TOURN_TITAN_EXTRA_COIN_TIMES = 7;
}

enum NIMFANHLFNJ {
	NIMFANHLFNJ_FAAFEKOFGBL = 0;
	NIMFANHLFNJ_AMCJDDIPLJN = 1;
	NIMFANHLFNJ_BNNNGLNGCHL = 2;
	NIMFANHLFNJ_DIBHICHMJFE = 3;
	NIMFANHLFNJ_LKDDACHPOAM = 4;
}

enum IDDPBEAMDAO {
	IDDPBEAMDAO_IIOCEDFJPNH = 0;
	IDDPBEAMDAO_NBFHCJMNHAG = 1;
	IDDPBEAMDAO_DHHHKOJBKCJ = 2;
}

enum ABBHAALIBAH {
	ABBHAALIBAH_IDIPGIPFJJE = 0;
	ABBHAALIBAH_IDJHPOCLFIH = 1;
	ABBHAALIBAH_BFEPJFDFICC = 2;
	ABBHAALIBAH_LNBMBNJICBI = 3;
	ABBHAALIBAH_PMEEHGMPNLK = 4;
}

enum CACGKIJHEMG {
	CACGKIJHEMG_KFDEMFFJNKA = 0;
	CACGKIJHEMG_DGAPMMELBPE = 1;
	CACGKIJHEMG_MCBPEPHOOHK = 2;
	CACGKIJHEMG_CCCHHGEMJGM = 3;
	CACGKIJHEMG_HJGPMAMOABN = 4;
	CACGKIJHEMG_ONBLMIFEHKK = 5;
}

enum GKFEBACHAHC {
	GKFEBACHAHC_AKOMDALLNCC = 0;
	GKFEBACHAHC_LGIMNFONGPO = 1;
	GKFEBACHAHC_FMNHINMBDOF = 2;
}

// Obf: BattleEndStatus
enum BattleEndStatus {
	BATTLE_END_NONE = 0;
	BATTLE_END_WIN = 1;
	BATTLE_END_LOSE = 2;
	BATTLE_END_QUIT = 3;
}

enum GBGOIAJBMBE {
	GBGOIAJBMBE_FBMLGFKDPDP = 0;
	GBGOIAJBMBE_BLCFFEHJCAK = 1;
	GBGOIAJBMBE_EPIIPAEPNDE = 2;
}

// Obf: BattleOp
message BattleOp {
	uint32 turn_counter = 1; // offset: 56
	uint32 state = 2; // offset: 44
	uint32 action_entity_id = 3; // offset: 36
	uint32 target_entity_id = 4; // offset: 40
	uint32 op_type = 5; // offset: 32
	uint32 skill_index = 6; // offset: 48
	uint32 operation_counter = 7; // offset: 52
	string LOMLIPOLBKM = 8; // offset: 16
}
message BattleEquipment {
	uint32 id = 1; // offset: 28
	uint32 level = 2; // offset: 24
	uint32 promotion = 3; // offset: 32
	uint32 rank = 4; // offset: 36
}
message BattleRelic {
	uint32 id = 1; // offset: 56
	uint32 level = 2; // offset: 48
	uint32 main_affix_id = 3; // offset: 40
	repeated RelicAffix sub_affix_list = 4; // offset: 16
	uint32 unique_id = 5; // offset: 44
	uint32 set_id = 6; // offset: 36
	uint32 type = 7; // offset: 52
	uint32 rarity = 8; // offset: 32
}
message AvatarSkillTree {
	uint32 point_id = 1; // offset: 28
	uint32 level = 2; // offset: 24
}

// Obf: RelicAffix
message RelicAffix {
	uint32 affix_id = 1; // offset: 24
	uint32 cnt = 2; // offset: 28
	uint32 step = 3; // offset: 32
}
message AMEMKFNABGG {
	bool GNLMBJCPING = 1; // offset: 36
	repeated uint32 ILOLFNPALJH = 2; // offset: 24
	uint32 PIKBPDAMGML = 3; // offset: 32
	uint32 ODHIDLBAPIG = 4; // offset: 40
}

// Obf: BattleAvatar
message BattleAvatar {
	AvatarType avatar_type = 1; // offset: 100
	uint32 id = 2; // offset: 96
	uint32 level = 3; // offset: 84
	uint32 rank = 4; // offset: 108
	uint32 index = 5; // offset: 76
	repeated AvatarSkillTree skilltree_list = 6; // offset: 64
	repeated BattleEquipment equipment_list = 7; // offset: 40
	uint32 hp = 8; // offset: 80
	uint32 promotion = 10; // offset: 88
	repeated BattleRelic relic_list = 11; // offset: 48
	uint32 world_level = 12; // offset: 72
	uint32 assist_uid = 13; // offset: 92
	AMEMKFNABGG ALNJENINBPN = 15; // offset: 32
	SpBarInfo sp_bar = 16; // offset: 56
	uint32 GDIMKFNECOK = 17; // offset: 104
	repeated AvatarSkillTree CHEFGGPEJKL = 18; // offset: 24
	uint32 enhanced_id = 19; // offset: 112
}
message BattleMonsterParam {
	uint32 hard_level_group = 1; // offset: 28
	uint32 level = 2; // offset: 36
	uint32 elite_group = 3; // offset: 40
	uint32 IEDEBFCCKNL = 4; // offset: 32
	uint32 CPHIINKIDEB = 5; // offset: 24
}
message ALIMNHEENPP {
	uint32 role_star = 1; // offset: 32
	repeated BCCONKJHDJL IEBNOGOOEMO = 2; // offset: 16
}
message LJHDMKEBPDH {
	oneof teleport_nigger {
		ALIMNHEENPP EIGMKOJOEEI = 101; // offset: 16
	}
}
message BattleMonster {
	uint32 monster_id = 1; // offset: 40
	uint32 cur_hp = 2; // offset: 32
	uint32 max_hp = 3; // offset: 36
	LJHDMKEBPDH extra_info = 4; // offset: 16
}
message BattleMonsterWave {
	repeated BattleMonster monster_list = 1; // offset: 32
	BattleMonsterParam monster_param = 2; // offset: 16
	uint32 battle_stage_id = 3; // offset: 44
	uint32 battle_wave_id = 4; // offset: 40
}
message BattleBuff {
	uint32 id = 1; // offset: 52
	uint32 level = 2; // offset: 44
	uint32 owner_index = 3; // offset: 40
	uint32 wave_flag = 4; // offset: 48
	repeated uint32 target_index_list = 5; // offset: 16
	map<string, float> dynamic_values = 6; // offset: 24
}
message EDCFKACPFNB {
	uint32 CKGJIKJDHCJ = 1; // offset: 24
}
message BattleTarget {
	uint32 id = 1; // offset: 24
	uint32 progress = 2; // offset: 28
	uint32 total_progress = 3; // offset: 32
}
message BattleTargetList {
	repeated BattleTarget battle_target_list = 1; // offset: 24
}
message DBCBMJKOBPJ {
	repeated BattleAvatar avatar_list = 1; // offset: 56
	repeated BattleMonsterWave monster_wave_list = 2; // offset: 96
	repeated BattleBuff buff_list = 3; // offset: 16
	uint32 world_level = 7; // offset: 120
	map<uint32, BattleTargetList> battle_target_info = 9; // offset: 48
	EDCFKACPFNB battle_action_event_id = 10; // offset: 24
	repeated BattleAvatar EEIPNLJNJAL = 11; // offset: 64
	BattleGridFightSpecialBattleInfo battle_evolve_build_data = 12; // offset: 40
	KIAICMELIMM battle_sword_training_data = 13; // offset: 88
	BattleRogueMagicInfo battle_rogue_magic_info = 14; // offset: 104
	PKPFAHEBJIO battle_fate_data = 15; // offset: 112
	GridFightInfo battle_grid_fight_data = 16; // offset: 32
	GLIBGKGGEJL battle_fate_rin_data = 17; // offset: 72
}
message KIAICMELIMM {
	map<uint32, uint32> AOKECJBFMCN = 1; // offset: 16
	uint32 CDBGPMABMGM = 2; // offset: 36
	uint32 FGOHMOMLEBG = 3; // offset: 32
	uint32 enemy_hp_multiplier = 4; // offset: 40
}
message AetherAvatarInfo {
	uint32 id = 1; // offset: 48
	uint32 index = 2; // offset: 40
	uint32 promotion = 3; // offset: 44
	repeated uint32 LICLEEICAOE = 4; // offset: 24
	AABGIFAEEEK AGBMHEMIAIH = 5; // offset: 52
	SpBarInfo sp_bar = 6; // offset: 16
}
message OJHHHPLBIEJ {
	repeated AetherAvatarInfo avatar_list = 1; // offset: 40
	repeated BattleMonsterWave monster_wave_list = 2; // offset: 16
	repeated BattleBuff buff_list = 3; // offset: 32
}
message JIEAANCEIJP {
	uint32 turn_counter = 1; // offset: 36
	uint32 random_counter = 2; // offset: 40
	repeated HOLHBEOHEJD snapshot_list = 4; // offset: 24
	uint32 AMCPMEAOJJK = 6; // offset: 32
}
message EICNFLHIHOI {
	bool GGOPPDKDPME = 1; // offset: 43
	uint32 OKHBCLCCLPL = 2; // offset: 36
	bool LGJMMJEFGNK = 3; // offset: 40
	string HAKCLAHLPFG = 4; // offset: 24
	bool IICCMNMEOFI = 5; // offset: 42
	bool DEBAOCJBBNB = 6; // offset: 41
	uint32 GCKHDGOBFOC = 7; // offset: 32
}
message MOHMAHDOBDO {
	uint32 start_pos = 1; // offset: 24
	uint32 length = 2; // offset: 28
}
message IBHHJPCIOIC {
	bool ECLAGOJMMBO = 1; // offset: 40
	map<string, MOHMAHDOBDO> JKMHAJHIKIK = 2; // offset: 16
	bytes AFMFNCGCNHI = 3; // offset: 32
}
message EBPDNOOMHBD {
	repeated JIEAANCEIJP JJOGEHPDOKH = 1; // offset: 32
	string BDGLPMHPEKD = 2; // offset: 16
	string debug_extra_info = 3; // offset: 24
	repeated PAPJEPAJPCJ ADAILGDCPNH = 4; // offset: 56
	uint32 plane_id = 5; // offset: 72
	uint32 floor_id = 6; // offset: 68
	uint32 ABDBLDPCJCJ = 7; // offset: 64
	uint32 PBIGECFCHEN = 8; // offset: 76
	IBHHJPCIOIC COBOAEBCMCO = 9; // offset: 48
	uint32 IOHJEHHHPCL = 10; // offset: 80
}
message OKFLAHFIBCM {
	uint32 version = 1; // offset: 104
	uint32 logic_random_seed = 2; // offset: 128
	uint32 stage_id = 3; // offset: 100
	DBCBMJKOBPJ lineup = 4; // offset: 24
	repeated BattleOp op_list = 5; // offset: 88
	bytes turn_snapshot_hash = 6; // offset: 64
	uint32 FMOAAHKDGNP = 7; // offset: 132
	repeated uint32 DACGLGHGLIG = 8; // offset: 40
	bool NNGDLOHALCN = 9; // offset: 124
	OIKBIPICGDN MBHFMFEMPOM = 10; // offset: 112
	BattleModuleType JKCEIMCCBBA = 11; // offset: 108
	repeated BattleEventBattleInfo battle_event = 12; // offset: 16
	uint32 rounds_limit = 14; // offset: 120
	EICNFLHIHOI config = 15; // offset: 48
	bytes IJHANPILBAM = 16; // offset: 32
	uint32 NIBMFCFBHEP = 17; // offset: 116
	uint32 JAOIOKBBMFC = 18; // offset: 96
	OJHHHPLBIEJ APFNIHDLFIE = 19; // offset: 80
	EBPDNOOMHBD DDFABAGIHMD = 100; // offset: 72
}
message PAPJEPAJPCJ {
	int32 hash = 1; // offset: 32
	string value = 2; // offset: 16
}

// Obf: AvatarProperty
message AvatarProperty {
	double max_hp = 1; // offset: 40
	double attack = 2; // offset: 32
	double defence = 3; // offset: 24
	double speed = 4; // offset: 56
	double left_hp = 5; // offset: 64
	double left_sp = 6; // offset: 72
	double max_sp = 7; // offset: 48
}
message EquipmentProperty {
	uint32 id = 1; // offset: 24
	uint32 rank = 2; // offset: 28
	uint32 promotion = 3; // offset: 32
	uint32 level = 4; // offset: 36
}
message AttackDamageProperty {
	string attack_type = 1; // offset: 24
	double damage = 2; // offset: 32
}

// Obf: SkillUseProperty
message SkillUseProperty {
	uint32 skill_id = 1; // offset: 32
	string skill_type = 2; // offset: 24
	uint32 skill_level = 3; // offset: 68
	uint32 skill_use_count = 4; // offset: 56
	double HLJOEGHJNLA = 5; // offset: 72
	double CIDJHAOBNMF = 6; // offset: 40
	double CFFFAPJGGCB = 7; // offset: 48
	uint32 GGDBMJGBDMA = 8; // offset: 60
	uint32 BJGNKIPLNBA = 9; // offset: 64
}
message AOFMDLLDIHG {
	uint32 skill_id = 1; // offset: 48
	double delay = 2; // offset: 32
	repeated uint32 battle_target_list = 3; // offset: 24
	double damage = 4; // offset: 40
}
message SpAddSource {
	string source = 1; // offset: 24
	uint32 sp_add = 2; // offset: 32
}
message EPNAONKOHBO {
	string ability_name = 1; // offset: 16
	uint32 count = 2; // offset: 32
	double total_damage = 3; // offset: 40
}
message CFDHDBNIHPL {
	double GNHLKBINIEF = 1; // offset: 32
	repeated uint32 NGIJFAEONCK = 2; // offset: 24
}
message ABDOKOFEHMH {
	int32 BCJLNFOMEAG = 1; // offset: 24
}
message KNBMAPNNDJL {
	int32 OLLPHBPPEHG = 1; // offset: 28
	int32 NONACGPCEKE = 2; // offset: 24
	int32 BCJLNFOMEAG = 3; // offset: 32
}

// Obf: AvatarBattleInfo
message AvatarBattleInfo {
	AvatarType avatar_type = 1; // offset: 184
	uint32 id = 2; // offset: 268
	uint32 avatar_level = 3; // offset: 208
	uint32 avatar_rank = 4; // offset: 252
	uint32 avatar_promotion = 5; // offset: 228
	AvatarProperty avatar_status = 6; // offset: 40
	repeated AvatarSkillTree avatar_skill = 7; // offset: 80
	repeated EquipmentProperty avatar_equipment = 8; // offset: 56
	uint32 total_turns = 9; // offset: 384
	double total_damage = 10; // offset: 312
	double total_heal = 11; // offset: 296
	double total_damage_taken = 12; // offset: 272
	double total_hp_recover = 13; // offset: 168
	double total_sp_cost = 14; // offset: 256
	uint32 stage_id = 15; // offset: 340
	uint32 stage_type = 16; // offset: 292
	double total_break_damage = 17; // offset: 376
	repeated AttackDamageProperty attack_type_damage = 18; // offset: 88
	repeated AttackDamageProperty attack_type_break_damage = 19; // offset: 112
	repeated AttackDamageProperty attack_type_max_damage = 20; // offset: 128
	repeated SkillUseProperty skill_times = 21; // offset: 48
	double delay_cumulate = 22; // offset: 280
	uint32 total_sp_add = 23; // offset: 144
	repeated SpAddSource sp_add_source = 24; // offset: 16
	uint32 total_bp_cost = 25; // offset: 332
	uint32 die_times = 26; // offset: 264
	uint32 revive_times = 27; // offset: 248
	uint32 break_times = 28; // offset: 372
	uint32 extra_turns = 29; // offset: 224
	double total_shield = 30; // offset: 160
	double total_shield_taken = 31; // offset: 136
	double total_shield_damage = 32; // offset: 152
	AvatarProperty initial_status = 33; // offset: 32
	repeated BattleRelic relics = 34; // offset: 104
	uint32 assist_uid = 35; // offset: 308
	repeated AttackDamageProperty NOGHNMCDDAI = 36; // offset: 120
	double DEICGFKIMMO = 37; // offset: 176
	double GPLELDEIEKO = 38; // offset: 192
	double CNEMKKIBFEA = 39; // offset: 360
	double EEOGKOKOPNB = 40; // offset: 232
	repeated EPNAONKOHBO ALJIJBKEFDD = 41; // offset: 96
	uint32 CNLEPLAEEHF = 42; // offset: 344
	uint32 JDHDJFCKBGD = 43; // offset: 328
	double DIALJMAHFBO = 44; // offset: 240
	double LAOEEGEELDK = 45; // offset: 352
	double LFLKOGDPLKD = 46; // offset: 200
	double EBMFCBKHIEH = 47; // offset: 320
	double DBLABFODNMJ = 48; // offset: 392
	uint32 FJNKOPMOLDE = 49; // offset: 148
	uint32 FLKCFJBCIOM = 50; // offset: 348
	uint32 PNJDPNHNBDA = 51; // offset: 336
	double NEDCAKEMHLF = 52; // offset: 216
	uint32 NBCDOMJBAFM = 53; // offset: 388
	uint32 PECMOGDLCDC = 54; // offset: 304
	uint32 enhanced_id = 55; // offset: 368
	uint32 MEBKILMPMGA = 56; // offset: 288
	CFDHDBNIHPL FDMEEDEJCCP = 57; // offset: 64
	ABDOKOFEHMH GEHEJPPCBLK = 58; // offset: 24
	uint32 OKMHKBOJBOB = 59; // offset: 212
}
message IGMOKOENLDK {
	double max_hp = 1; // offset: 48
	double attack = 2; // offset: 56
	double defence = 3; // offset: 64
	double OFMLLDLAOCC = 4; // offset: 24
	double speed = 5; // offset: 40
	double left_hp = 6; // offset: 32
	double GENCOBDFKLA = 7; // offset: 72
}
message CKCDIAAFICJ {
	uint32 BKPDKFLDLDD = 1; // offset: 40
	double IFMOHNAAAMC = 2; // offset: 32
	uint32 MMPHFLDBEKB = 3; // offset: 44
	uint32 break_times = 4; // offset: 24
}

// Obf: MonsterBattleInfo
message MonsterBattleInfo {
	uint32 entity_id = 1; // offset: 160
	uint32 monster_id = 2; // offset: 96
	uint32 PKFMOFPMBBJ = 3; // offset: 180
	uint32 NCKAICABJIK = 4; // offset: 132
	IGMOKOENLDK CIHAPGPNCMI = 5; // offset: 32
	uint32 total_turns = 6; // offset: 76
	double total_damage = 7; // offset: 120
	double total_heal = 8; // offset: 112
	double total_damage_taken = 9; // offset: 136
	double total_hp_recover = 11; // offset: 104
	uint32 stage_id = 12; // offset: 176
	uint32 KPMIIFGAMFA = 14; // offset: 168
	repeated AttackDamageProperty attack_type_damage = 15; // offset: 56
	repeated SkillUseProperty skill_times = 16; // offset: 24
	uint32 stage_type = 17; // offset: 72
	double MBDMCJLFJOO = 18; // offset: 80
	double delay_cumulate = 19; // offset: 88
	KPOIEOPCEJL death_source = 20; // offset: 172
	uint32 wave = 21; // offset: 148
	int32 JFDOMCHHBIF = 22; // offset: 100
	uint32 phase = 23; // offset: 156
	uint32 max_phase = 24; // offset: 144
	HDFAPKLGEFM GCAEPLJHCFE = 25; // offset: 152
	repeated AOFMDLLDIHG skill_info = 26; // offset: 48
	uint32 CBMLFOBDNCO = 27; // offset: 128
	repeated CKCDIAAFICJ AKGJOPBLPNE = 28; // offset: 16
	double NCDGNNJABJJ = 29; // offset: 184
	double IBENGEOJFOJ = 30; // offset: 64
	NLNEBDEEONP AHKJLOJDNIC = 31; // offset: 164
}
message BattleEventProperty {
	SpBarInfo sp_bar = 2; // offset: 16
}

// Obf: BattleEventBattleInfo
message BattleEventBattleInfo {
	uint32 battle_event_id = 1; // offset: 40
	BattleEventProperty status = 2; // offset: 16
	repeated AOFMDLLDIHG skill_info = 3; // offset: 24
}
message HDKEPPDIDIH {
	uint32 avatar_id = 1; // offset: 56
	repeated uint32 EJDDMNAODEN = 2; // offset: 16
	uint32 source = 3; // offset: 68
	double damage = 4; // offset: 40
	repeated uint32 JNDBCDAIIDD = 5; // offset: 32
	int32 AFPKBFAPOAH = 6; // offset: 64
	double OELDAKBOPJA = 7; // offset: 72
	uint32 CNGEOGOMPOP = 8; // offset: 60
	uint32 wave = 9; // offset: 48
	uint32 enhanced_id = 10; // offset: 52
}
message GHCDMMNHNHO {
	uint32 avatar_id = 1; // offset: 24
	int32 GCABCJKCAOE = 2; // offset: 28
	uint32 enhanced_id = 3; // offset: 32
}
message GANDCEDCLDL {
	uint32 KAAHKLDJPJE = 1; // offset: 28
	uint32 FHPMEIECKLG = 2; // offset: 32
	uint32 entity_id = 3; // offset: 24
}
message AFGMNFFBBIG {
	uint32 BKPDKFLDLDD = 1; // offset: 48
	uint32 monster_id = 2; // offset: 40
	repeated GHCDMMNHNHO OFHCHNKEFMD = 3; // offset: 32
	uint32 delay = 4; // offset: 44
	repeated GANDCEDCLDL JNFCFEIAABH = 5; // offset: 24
}

// Obf: StatisticEvent
message StatisticEvent {
	BattleStaticticEventType type = 1; // offset: 28
	uint32 LMMDHGCIHBL = 2; // offset: 24
	uint32 param = 3; // offset: 32
}
message DKPHAFPGDLO {
	uint32 JGDOICIEMAH = 1; // offset: 28
	uint32 IOEAFFEEDFM = 2; // offset: 24
}
message GFNAPELNFIC {
	uint32 CLFBBAPEPML = 1; // offset: 32
	bool is_locked = 2; // offset: 36
	DKPHAFPGDLO JBNMAOFOFPE = 3; // offset: 16
}
message OEMOIGDNPNP {
	uint32 card_id = 1; // offset: 40
	double param = 2; // offset: 32
	bool is_enable = 3; // offset: 44
	repeated double switch_list = 4; // offset: 16
}
message HLFOOKANNDE {
	uint32 JGDOICIEMAH = 1; // offset: 32
	double damage = 2; // offset: 40
	double KADNIAEJACG = 3; // offset: 24
}
message EAENAFJCEFD {
	repeated uint32 MMGPKJOJIPM = 1; // offset: 24
	repeated uint32 FGPGOPOCAPN = 2; // offset: 16
}
message HOMMPJIOPGI {
	uint32 wave = 1; // offset: 36
	uint32 score_id = 2; // offset: 44
	uint32 GMKFBAMNDEA = 3; // offset: 32
	repeated DKPHAFPGDLO CBLOAJFJKKI = 4; // offset: 16
	float delay = 5; // offset: 40
}
message FDGKFJFICDN {
	uint32 OCPEPEMNNEK = 1; // offset: 32
	double delay = 2; // offset: 24
}
message IDJIAGLCAPE {
	uint32 IPCFGIEFBKH = 1; // offset: 40
	repeated HOMMPJIOPGI DCMAHKHAFEH = 2; // offset: 32
	repeated FDGKFJFICDN OJBMGEJCILM = 3; // offset: 24
}
message PMNLJEJKLOD {
	NIMFANHLFNJ type = 1; // offset: 28
	uint32 count = 2; // offset: 24
}

// Obf: BattleGridFightSpecialBattleInfo
message BattleGridFightSpecialBattleInfo {
	uint32 cur_level_id = 1; // offset: 128
	uint32 PFBDNGHMBII = 2; // offset: 136
	uint32 rogue_money = 3; // offset: 156
	repeated GFNAPELNFIC ICOPGAJFKHE = 4; // offset: 112
	repeated GFNAPELNFIC OMCLLCNKAHE = 5; // offset: 40
	repeated uint32 LLIFKMANADH = 6; // offset: 24
	EAENAFJCEFD HPHJGIEKMAA = 7; // offset: 80
	repeated uint32 FPONJJMJFAE = 8; // offset: 72
	uint32 grid_fight_cur_level_exp = 9; // offset: 132
	uint32 LJGPHGDDBKE = 11; // offset: 140
	repeated uint32 DCKIGAHCNMJ = 12; // offset: 88
	uint32 cur_wave = 14; // offset: 148
	repeated OEMOIGDNPNP LONFKFCFDND = 17; // offset: 16
	repeated HLFOOKANNDE HNJPIDFKNIK = 18; // offset: 48
	repeated uint32 BLLKCBJGAEB = 19; // offset: 64
	bool CHKBOLNIPMO = 20; // offset: 120
	uint32 GMBPGBIJGGE = 21; // offset: 152
	IDJIAGLCAPE INPNMBJNPPK = 22; // offset: 96
	uint32 NBKKKKKEMEH = 23; // offset: 144
	repeated uint32 PMLEEGOGPIF = 25; // offset: 104
	repeated PMNLJEJKLOD GMGPFAIONNG = 26; // offset: 56
	uint32 LJHKBJIBCGK = 27; // offset: 124
}
message BGFBIFLPBHD {
	uint32 MHJBJKJPOJE = 2; // offset: 24
}
message BattleGridFightTraitCoreRoleInfo {
	uint32 role_id = 1; // offset: 28
	uint32 unique_id = 2; // offset: 24
}
message BattleGridFigntAvatarCoreRoleInfo {
	repeated uint32 grid_fight_avatar_list = 1; // offset: 16
	repeated uint32 LKNGKJCFFBH = 2; // offset: 32
}
message GridFightTraitEffectLevelInfo {
	uint32 trait_effect_level_exp = 1; // offset: 32
	map<uint32, GridFightDropInfo> trait_effect_level_reward = 2; // offset: 16
}
message KFMKBMJPEIC {
	uint32 DNNCAGJIOAP = 1; // offset: 56
	repeated uint32 IHCDDIPNJKO = 2; // offset: 24
	repeated BattleGridFightEquipInfo grid_fight_equipment_list = 3; // offset: 48
	map<uint32, uint32> BANBECDCDHG = 4; // offset: 16
	repeated FHCEIOHLADG POJGKJENENA = 5; // offset: 32
}
message CPMNHNHKLBK {
	uint32 role_id = 1; // offset: 24
}

// Obf: BattleGridFightTraitEffectInfo
message BattleGridFightTraitEffectInfo {
	uint32 effect_id = 1; // offset: 36
	oneof NEBNJDMFELO {
		BattleGridFightTraitCoreRoleInfo trait_core_role = 101; // offset: 24
		BattleGridFigntAvatarCoreRoleInfo avatar_core_info = 102; // offset: 24
		GridFightTraitEffectLevelInfo trait_effect_level_info = 103; // offset: 24
		KFMKBMJPEIC JLCLHAKNMLL = 104; // offset: 24
		CPMNHNHKLBK LFIDNOAECMN = 105; // offset: 24
	}
}
message MHFNFINKJKP {
	uint32 CHEEOEHDOBF = 1; // offset: 28
	IDDPBEAMDAO NKIENAICLGN = 2; // offset: 24
	uint32 NKJPCMPMGPM = 3; // offset: 32
	ABBHAALIBAH grid_update_src = 4; // offset: 36
}

// Obf: NIEGDAPHKGC
message GridFightTraitInfo {
	uint32 trait_id = 1; // offset: 44
	uint32 layer = 2; // offset: 52
	repeated BattleGridFightTraitEffectInfo trait_effect_list = 3; // offset: 24
	repeated MHFNFINKJKP KOJMGCBLKKA = 5; // offset: 32
	uint32 BPJKHDNBPOE = 6; // offset: 48
	uint32 AFKKLDMAEDJ = 7; // offset: 40
}
message ABJGLPCOMMK {
	uint32 ENHJCNJFDFI = 1; // offset: 24
}
message NKAEOPAAJLG {
	oneof BHGKHELCPGO {
		uint32 EAGPOCAGMCA = 1; // offset: 16
	}
}
message JJHJCIAPADP {
	ABJGLPCOMMK GLHDCCPOGHL = 101; // offset: 40
	NKAEOPAAJLG JBIFDJKPHIJ = 102; // offset: 32
	oneof BHGKHELCPGO {
		uint32 EAGPOCAGMCA = 1; // offset: 16
	}
}

// Obf: BJGJBNJDLIK
message GridFightRoleInfo {
	uint32 role_id = 1; // offset: 64
	uint32 role_star = 2; // offset: 52
	uint32 pos_index = 3; // offset: 56
	repeated BattleGridFightEquipInfo CNIJIJMEPEF = 7; // offset: 32
	uint32 avatar_id = 8; // offset: 60
	map<uint32, uint32> convert_property_to_fixpoint = 10; // offset: 24
	uint32 unique_id = 11; // offset: 48
	JJHJCIAPADP DCEOLAAMGOO = 12; // offset: 16
}

// Obf: PKDNDNABKII
message GridFightNPCInfo {
	uint32 unique_id = 1; // offset: 40
	uint32 npc_id = 2; // offset: 36
	uint32 pos_index = 3; // offset: 32
	repeated BattleGridFightEquipInfo grid_fight_equipment_list = 4; // offset: 16
}

// Obf: MLCLJKDKCDG
message GridFightProjectionInfo {
	uint32 unique_id = 1; // offset: 28
	uint32 LKMEMKLGIIK = 2; // offset: 32
	uint32 pos_index = 3; // offset: 24
}

// Obf: ACFLKPFDHIM
message BattleGridFightEquipInfo {
	uint32 grid_fight_equipment_id = 2; // offset: 40
	map<uint32, uint32> convert_property_to_fixpoint = 4; // offset: 32
	uint32 unique_id = 5; // offset: 44
	map<uint32, double> OPEMKBPFFDN = 6; // offset: 16
	CACGKIJHEMG PFCBHCJIDKE = 7; // offset: 48
}

// Obf: BGLCGNCLHLJ
message GridFightAugmentInfo {
	uint32 augment_id = 1; // offset: 24
}

// Obf: KHFHMJEMBOF
message GridFightPortalInfo {
	uint32 portal_buff_id = 1; // offset: 24
}
message MIPDJDJLGPL {
	uint32 EMOHLJHPOPC = 1; // offset: 32
	uint32 DCAHJELNJNP = 2; // offset: 36
	uint32 section_id = 3; // offset: 24
	uint32 node_type = 4; // offset: 28
}

// Obf: OJCBOMCCPDB
message GridFightInfo {
	repeated BattleAvatar OPHONCKPNMG = 1; // offset: 32
	uint32 battle_wave_id = 2; // offset: 96
	uint32 grid_fight_lineup_hp = 3; // offset: 104
	uint32 EHNJDIDABHD = 4; // offset: 120
	repeated GridFightTraitInfo grid_fight_trait_info = 7; // offset: 16
	repeated GridFightRoleInfo grid_game_role_list = 8; // offset: 88
	uint32 IFIIOIIKJHO = 9; // offset: 108
	repeated GridFightAugmentInfo sync_augment_info = 10; // offset: 24
	MIPDJDJLGPL IOCKDJCDMAH = 11; // offset: 72
	uint32 HHEPCDMBJFI = 12; // offset: 132
	uint32 LJNGPCKPJLF = 13; // offset: 100
	repeated GridFightPortalInfo grid_fight_portal_buff_list = 14; // offset: 48
	bool is_overlock = 15; // offset: 112
	uint32 AACGBEBGDPE = 16; // offset: 116
	repeated GridFightNPCInfo grid_game_npc_list = 17; // offset: 64
	repeated GridFightProjectionInfo KCOMPKMJCMC = 18; // offset: 40
	uint32 LODNFLMBIEH = 19; // offset: 128
	map<string, uint32> POCKGKDFLKK = 20; // offset: 56
	uint32 NFBJINKLLLK = 21; // offset: 124
	bool MEHFNAEMMFE = 22; // offset: 113
}
message HNDAOBACJOA {
	string phase = 1; // offset: 16
	float MINGOICONIF = 2; // offset: 72
	float EEFMGKOFOBH = 3; // offset: 48
	uint32 DLHCMNIACBO = 4; // offset: 52
	uint32 JMCFEEHBDDH = 5; // offset: 64
	uint32 ENCAECIICBP = 6; // offset: 60
	uint32 GOEEJIAAEKB = 7; // offset: 68
	uint32 HDGBKHPHKMO = 8; // offset: 56
	repeated uint32 DJOFHLGLDGB = 9; // offset: 40
	repeated uint32 NCDMFFBBBDP = 10; // offset: 24
}
message OJEANLINGCJ {
	uint32 EAAAEJLJDDE = 1; // offset: 60
	uint32 NCJOBKNJFPN = 2; // offset: 48
	uint32 OEBAIDCOPLC = 3; // offset: 52
	uint32 PLJCEFDPCIO = 4; // offset: 56
	uint32 IBHKMLKHKJB = 5; // offset: 44
	uint32 KOBJCPABKAA = 6; // offset: 40
	repeated uint32 boss_info = 7; // offset: 32
	repeated HNDAOBACJOA GDFAMBOOFJO = 8; // offset: 24
}
message BMKIIODBMJF {
	uint32 wave = 1; // offset: 60
	double PCKECKCNHCE = 2; // offset: 40
	double EOKEFIAOFPN = 3; // offset: 24
	uint32 HEKPNDDKKMM = 4; // offset: 36
	uint32 INOIOGNMBMM = 5; // offset: 48
	uint32 status = 6; // offset: 52
	uint32 PKDANDJFAON = 7; // offset: 56
	uint32 HHOPLLPEKKE = 8; // offset: 32
}
message NHPAECJCOCG {
	string key = 1; // offset: 24
	double value = 2; // offset: 32
}
message IJLEFNJPFKP {
	uint32 rogue_mode = 1; // offset: 24
}
message EMLFDPFAPJP {
	uint32 NAEAGNLBKAM = 1; // offset: 24
	uint32 MHPPIKLBNMD = 2; // offset: 28
}
message OJMPKMNINGK {
	uint32 CFKKKPNKHEL = 1; // offset: 32
	uint32 level = 2; // offset: 44
	bool is_locked = 3; // offset: 36
	uint32 dice_slot_id = 4; // offset: 40
	map<uint32, uint32> AAABHNMAENN = 5; // offset: 24
}
message KCIEGDGJMBE {
	uint32 GCAHKLNGFCK = 1; // offset: 40
	repeated OJMPKMNINGK HIILDALHIMD = 2; // offset: 24
	uint32 level = 3; // offset: 44
	map<uint32, uint32> HCPNPDLJKGF = 4; // offset: 32
}
message CJHPPLHFNAB {
	EMLFDPFAPJP BJMJBLCMPAL = 1; // offset: 24
	repeated KCIEGDGJMBE AHBOCLNGFNM = 2; // offset: 32
}
message FHOHCAIFHNA {
	uint32 HILINOJPLGA = 1; // offset: 44
	double difficulty_ratio = 2; // offset: 24
	uint32 PGGDEHKKINP = 11; // offset: 32
	uint32 style_level = 12; // offset: 40
	uint32 style_exp = 13; // offset: 36
}
message BLJEJFMKEII {
	oneof MMCGBGDJIPN {
		CJHPPLHFNAB FODLGHIFJGC = 1; // offset: 24
		FHOHCAIFHNA GLDHCIBNBAG = 2; // offset: 24
	}
}
message BattleRogueMagicInfo {
	IJLEFNJPFKP OOPCPMANCBO = 1; // offset: 16
	BLJEJFMKEII detail_info = 2; // offset: 32
}
message CMIKEILGNGK {
	uint32 GCAHKLNGFCK = 1; // offset: 28
	uint32 level = 2; // offset: 24
	double total_damage = 3; // offset: 32
}
message DFDPLINPMJF {
	uint32 INGDHDPEGOK = 1; // offset: 36
	uint32 IGPNFJDACIE = 2; // offset: 32
	repeated CMIKEILGNGK KGIELMEOPEH = 3; // offset: 24
}
message OKLPMDCIEIG {
	uint32 IPLNNHLGDJK = 1; // offset: 32
	uint32 JOHMBBFODBB = 2; // offset: 36
	double ADNKLLMHLCJ = 3; // offset: 40
	double GADGHAGGBNO = 4; // offset: 24
}
message NKKADHADOLO {
	OKLPMDCIEIG FMNIHGEJKED = 1; // offset: 16
}
message EANJJJPKIPJ {
	DFDPLINPMJF EBIJFLILKFP = 1; // offset: 16
	NKKADHADOLO GEOOCJBAKFI = 2; // offset: 24
}
message OEBBNFANHLK {
	uint32 JBPNBECLGKN = 1; // offset: 24
	double AALPICLABCO = 2; // offset: 32
}
message NIFPICHIDLJ {
	MOHNIMLCODA type = 1; // offset: 40
	uint32 config_id = 2; // offset: 36
	uint32 unique_id = 3; // offset: 32
	uint32 level = 4; // offset: 44
	repeated OEBBNFANHLK switch_list = 5; // offset: 16
}
message EBBJLHBAGCJ {
	uint32 ODPELJAIPHL = 1; // offset: 32
	repeated uint32 GLNPAOLFPDI = 2; // offset: 24
}
message PKPFAHEBJIO {
	repeated NIFPICHIDLJ message_datas = 1; // offset: 16
	map<uint32, uint32> FGGPANADLKM = 2; // offset: 32
	repeated EBBJLHBAGCJ FPMBJMDNPBM = 3; // offset: 40
	uint32 area_id = 4; // offset: 52
	uint32 difficulty = 5; // offset: 48
}
message HFFAFBIGNKP {
	uint32 monster_id = 1; // offset: 36
	uint32 IBNLKOLLPJH = 2; // offset: 24
	uint32 HEKPNDDKKMM = 3; // offset: 28
	uint32 INOIOGNMBMM = 4; // offset: 32
}
message ABFLKIBIFDM {
	uint32 JEOFBDLFCOL = 1; // offset: 44
	double HIFNHNLNDPN = 2; // offset: 24
	double JGFKNDMDHHP = 3; // offset: 32
	uint32 wave = 4; // offset: 40
	uint32 IBNLKOLLPJH = 5; // offset: 48
	double AEPMEGILLOJ = 6; // offset: 64
	double MINCPOKEPDP = 7; // offset: 56
}
message JPKJNNKMIGJ {
	uint32 GDLJHBLJODK = 1; // offset: 44
	uint32 DFBHOJANGCF = 2; // offset: 40
	double CJKMCOMGJCL = 3; // offset: 32
	uint32 wave = 4; // offset: 28
	uint32 IBNLKOLLPJH = 5; // offset: 24
}
message HPHJPOIBGLC {
	repeated HFFAFBIGNKP CDFPLJDJDEP = 1; // offset: 16
	repeated ABFLKIBIFDM EGHJFEIMHBB = 2; // offset: 32
	repeated JPKJNNKMIGJ DKOCKKCPGDK = 3; // offset: 40
}
message FMNPJNPAMOA {
	uint32 avatar_id = 1; // offset: 28
	uint32 JAEGABGPEDI = 2; // offset: 24
}
message FIMBJCONBAE {
	uint32 DAEKFCNBCFC = 1; // offset: 44
	uint32 AMKBLKMNKFE = 2; // offset: 56
	uint32 MOLFOOGCBKE = 3; // offset: 52
	repeated uint32 CDJABFHCNFF = 4; // offset: 32
	repeated FMNPJNPAMOA CMAOCGLKFAE = 5; // offset: 16
	uint32 ACGIEKABIFK = 6; // offset: 40
	uint32 DAEBGDENDNN = 7; // offset: 48
}
message JIONEELJGCC {
	FIMBJCONBAE IPDCLDBKIBI = 1; // offset: 16
}
message JGOFJDOCOMK {
	uint32 progress = 1; // offset: 24
}
message GECCJHDOCKH {
	uint32 DLGPBFDGEGJ = 1; // offset: 28
	uint32 BJLGFCKBPPJ = 2; // offset: 24
}
message GBJMLKNLEPD {
	HPHJPOIBGLC LNJMOALDPJD = 1; // offset: 48
	JIONEELJGCC BNMBHFMHGLH = 2; // offset: 40
	JGOFJDOCOMK KIABIIOENOK = 3; // offset: 24
	GECCJHDOCKH FIIGOHIOINP = 4; // offset: 16
}
message LGOKJFKMCBE {
	uint32 KJGDBFEFHPJ = 1; // offset: 24
	double HIFNHNLNDPN = 2; // offset: 48
	double JGFKNDMDHHP = 3; // offset: 72
	uint32 IBOPDGOFDOD = 4; // offset: 80
	uint32 NBKOOPBPNPL = 5; // offset: 28
	uint32 GMJGPDKJAEE = 6; // offset: 40
	uint32 HKAENABCBHL = 7; // offset: 36
	double AEPMEGILLOJ = 8; // offset: 56
	uint32 BJGOOFNOGMJ = 9; // offset: 64
	uint32 OLPDBDEDCOG = 10; // offset: 84
	double MINCPOKEPDP = 11; // offset: 88
	uint32 OEBAIDCOPLC = 12; // offset: 32
	uint32 IBHKMLKHKJB = 13; // offset: 68
}
message BJOFJDKIOPG {
	uint32 OEBAIDCOPLC = 1; // offset: 32
	uint32 IBHKMLKHKJB = 2; // offset: 40
	uint32 JBFEPAFJNCL = 3; // offset: 36
	repeated LGOKJFKMCBE EGHJFEIMHBB = 4; // offset: 16
}

// Obf: BattleAvatarServantInfo
message BattleAvatarServantInfo {
	uint32 avatar_id = 1; // offset: 84
	uint32 KAAHKLDJPJE = 2; // offset: 168
	uint32 total_turns = 3; // offset: 80
	double DBJOLLGOGOL = 4; // offset: 160
	repeated SkillUseProperty skill_times = 5; // offset: 48
	double total_damage = 6; // offset: 112
	double total_break_damage = 7; // offset: 176
	repeated AttackDamageProperty attack_type_damage = 8; // offset: 32
	repeated AttackDamageProperty attack_type_break_damage = 9; // offset: 16
	repeated AttackDamageProperty attack_type_max_damage = 10; // offset: 24
	double total_damage_taken = 11; // offset: 128
	double total_heal = 12; // offset: 64
	double total_hp_recover = 13; // offset: 144
	double total_shield = 14; // offset: 104
	double total_shield_taken = 15; // offset: 96
	double total_shield_damage = 16; // offset: 152
	uint32 break_times = 17; // offset: 136
	uint32 NFELHIGFIOM = 18; // offset: 140
	uint32 CNLEPLAEEHF = 19; // offset: 72
	uint32 JDHDJFCKBGD = 20; // offset: 60
	double DIALJMAHFBO = 21; // offset: 120
	uint32 entity_id = 22; // offset: 76
	uint32 MEBKILMPMGA = 23; // offset: 56
	double GPLELDEIEKO = 24; // offset: 88
}

// Obf: BattleAvatarGlobalBuffInfo
message BattleAvatarGlobalBuffInfo {
	uint32 avatar_id = 1; // offset: 24
	uint32 maze_buff_id = 2; // offset: 32
	uint32 DLMBCCCPCKJ = 3; // offset: 28
}
message OHDHNDMJFAP {
	repeated BattleAvatarServantInfo GFOAHHHNBJC = 1; // offset: 24
	uint32 GNMMFALALLD = 2; // offset: 32
	uint32 BOBELCJDDOA = 3; // offset: 36
}
message NEJMJMJAMMA {
	uint32 NCDBCLLAHPP = 1; // offset: 24
	uint32 JJDEEHAMHGF = 2; // offset: 32
	uint32 GCNMKIHOFGG = 3; // offset: 28
}
message FMEKABDGCEC {
	NEJMJMJAMMA GIOJALJAIIF = 1; // offset: 24
	repeated NIFPICHIDLJ message_datas = 2; // offset: 32
}
message MGMJOPHJCNL {
	uint32 HFLPDCJDIAC = 1; // offset: 120
	uint32 NBPFMFMKJHI = 2; // offset: 88
	repeated ADHGIJPHLEB MFOOECCEOBO = 3; // offset: 48
	repeated HFKKKFJHPHJ LLOFONJOGCE = 4; // offset: 24
	repeated BCCONKJHDJL ODMCMPIDJNH = 5; // offset: 40
	repeated LFLENBDPNJN NELAKLKIDDK = 6; // offset: 72
	repeated CPNCAPLOIHI DOGMMGLBJIJ = 8; // offset: 16
	uint32 OAHFCPPIMLF = 9; // offset: 92
	repeated FHKKPNDLLLO JHBJNKCJINO = 10; // offset: 32
	double NDKJJIFIFNJ = 11; // offset: 112
	double FLFEAJFNPAP = 12; // offset: 96
	double COCOMFHNEHF = 13; // offset: 104
	uint32 FKMINAMFFAN = 14; // offset: 124
	repeated JPHFANMNHJP OPJPKFEFPKA = 15; // offset: 80
	map<string, uint32> POCKGKDFLKK = 16; // offset: 64
}
message JPAIOFMJEPM {
	uint32 BBHBAKJCGLC = 1; // offset: 24
}
message JPHFANMNHJP {
	oneof KKNBOACNCON {
		JPAIOFMJEPM FECDNCFJGFK = 1; // offset: 16
	}
}
message OBIMHNFFLEM {
	uint32 effect_id = 1; // offset: 40
	repeated uint32 switch_list = 2; // offset: 24
	map<uint32, GridFightDropInfo> trait_effect_level_reward = 5; // offset: 16
}
message ADHGIJPHLEB {
	uint32 trait_id = 1; // offset: 32
	repeated OBIMHNFFLEM MFJCLCJNAFO = 2; // offset: 16
	double damage = 3; // offset: 48
	double KINKMHEAANP = 4; // offset: 40
}
message HFKKKFJHPHJ {
	uint32 augment_id = 1; // offset: 40
	double damage = 3; // offset: 24
	double KINKMHEAANP = 4; // offset: 32
}
message FHKKPNDLLLO {
	uint32 portal_buff_id = 1; // offset: 24
}
message CJAFIJAFIPN {
	uint32 EOKOPAFFMII = 1; // offset: 24
	uint32 monster_id = 2; // offset: 28
}
message LFLENBDPNJN {
	uint32 PBFMLGOCOPF = 1; // offset: 32
	repeated CJAFIJAFIPN kill_monster_list = 2; // offset: 16
}
message CPNCAPLOIHI {
	uint32 role_id = 1; // offset: 44
	double damage = 2; // offset: 56
	double KINKMHEAANP = 5; // offset: 32
	map<uint32, double> ICECCHMAGNO = 6; // offset: 24
	uint32 CAKAOJGILMG = 7; // offset: 40
	uint32 OKMHKBOJBOB = 8; // offset: 48
}
message NLAPCKJBJNB {
	uint32 avatar_id = 1; // offset: 32
	map<uint32, double> DMLCLKHGEFE = 2; // offset: 16
}
message CKOKAGGLKHG {
	uint32 HFLPDCJDIAC = 1; // offset: 32
	repeated NLAPCKJBJNB avatar_list = 2; // offset: 24
	double FBNBPPHOGLI = 3; // offset: 40
}
message PMPCIBGILIE {
	uint32 avatar_id = 1; // offset: 36
	double damage = 2; // offset: 24
	uint32 OKMHKBOJBOB = 3; // offset: 32
}
message FAHGFCIJHFK {
	uint32 round_cnt = 1; // offset: 76
	uint32 FHPMEIECKLG = 2; // offset: 64
	uint32 HOIOBLJHJHJ = 3; // offset: 68
	uint32 total_bp_cost = 4; // offset: 72
	double total_damage = 5; // offset: 48
	double total_damage_taken = 6; // offset: 56
	double total_hp_recover = 7; // offset: 40
	double total_shield_taken = 8; // offset: 32
	repeated PMPCIBGILIE INBNCAKGDPJ = 9; // offset: 24
}

// Obf: BattleStatistics
message BattleStatistics {
	uint32 total_battle_turns = 1; // offset: 256
	uint32 total_auto_turns = 2; // offset: 304
	repeated uint32 avatar_id_list = 3; // offset: 32
	uint32 ultra_cnt = 4; // offset: 264
	double total_delay_cumulate = 5; // offset: 296
	double cost_time = 6; // offset: 280
	repeated AvatarBattleInfo battle_avatar_list = 7; // offset: 64
	repeated MonsterBattleInfo monster_list = 8; // offset: 112
	uint32 round_cnt = 9; // offset: 276
	uint32 cocoon_dead_wave = 10; // offset: 292
	uint32 avatar_battle_turns = 11; // offset: 252
	uint32 monster_battle_turns = 12; // offset: 308
	map<string, float> custom_values = 13; // offset: 216
	uint32 challenge_score = 14; // offset: 268
	repeated BattleEventBattleInfo BDCHEJKPOAF = 16; // offset: 48
	BattleEndReason end_reason = 19; // offset: 288
	repeated HDKEPPDIDIH OKFALMGFHMA = 21; // offset: 72
	repeated int32 AKFFKEMDPLG = 22; // offset: 128
	repeated AFGMNFFBBIG ENPBMPKGLOM = 23; // offset: 56
	repeated StatisticEvent EIPBMOMKJDO = 26; // offset: 96
	repeated CDMPJODLBEE ECFFMBFGPOJ = 27; // offset: 232
	map<uint32, BattleTargetList> battle_target_info = 28; // offset: 136
	repeated MKICACCMBOF LGKAKIEEOMG = 29; // offset: 144
	BattleGridFightSpecialBattleInfo battle_evolve_build_data = 30; // offset: 80
	OJEANLINGCJ DOAFGHLAICM = 31; // offset: 176
	bool ADGBAKBCOKF = 32; // offset: 248
	repeated BMKIIODBMJF DCMAHKHAFEH = 33; // offset: 168
	repeated NHPAECJCOCG AIOKGNBLMDI = 34; // offset: 104
	uint32 NPFDEJPPPLI = 35; // offset: 260
	EANJJJPKIPJ DBKFEPMIMFF = 36; // offset: 40
	GBJMLKNLEPD MHPDKEDHELL = 37; // offset: 184
	BJOFJDKIOPG BCCIIEGCFAA = 38; // offset: 120
	OHDHNDMJFAP IAGKLJEKAOL = 39; // offset: 200
	FMEKABDGCEC OFMIGBJPKMH = 40; // offset: 24
	uint32 IEOGEFBLNEL = 41; // offset: 272
	repeated BattleAvatarGlobalBuffInfo MHLCFDEGOGN = 42; // offset: 192
	MGMJOPHJCNL APAGMJNECCN = 43; // offset: 224
	repeated uint32 GBLEKIOCFMA = 44; // offset: 160
	repeated uint32 MEBKILMPMGA = 45; // offset: 240
	KNBMAPNNDJL KFPEKBCKKPM = 46; // offset: 88
	CKOKAGGLKHG ILNNGPJAEGH = 47; // offset: 16
	FAHGFCIJHFK MFOJKJGKDGD = 48; // offset: 208
}
message MKICACCMBOF {
	uint32 DMKHKEMIKKH = 1; // offset: 28
	uint32 CIHMKAEKGFL = 2; // offset: 24
}
message CDMPJODLBEE {
	AABGIFAEEEK type = 1; // offset: 32
	uint32 id = 2; // offset: 36
	SpBarInfo sp_bar = 3; // offset: 24
}
message FFHHMGIIHEH {
	AKBCEFGFJCJ retcode = 1; // offset: 56
	BattleEndStatus end_status = 2; // offset: 52
	BattleStatistics stt = 3; // offset: 40
	bytes IJHANPILBAM = 4; // offset: 24
	map<string, uint32> DCLGGMAEMAO = 5; // offset: 16
	uint32 EAHGEKNLHPN = 6; // offset: 60
	uint32 GNLAPGBAAOO = 7; // offset: 48
}
message OIJHAJAIFFH {
	uint32 pos_index = 1; // offset: 44
	uint32 role_id = 2; // offset: 48
	uint32 role_star = 3; // offset: 40
	repeated uint32 grid_fight_item_list = 4; // offset: 24
	map<string, uint32> grid_fight_value_init_component = 5; // offset: 16
}
message APFOIAIFHEN {
	repeated uint32 GPAFMICJLPL = 1; // offset: 24
	map<uint32, uint32> EHJLIMMAJOI = 2; // offset: 32
}
message JDPDGMBJKML {
	uint32 uid = 1; // offset: 40
	uint32 EHNJDIDABHD = 2; // offset: 60
	uint32 AACGBEBGDPE = 3; // offset: 56
	uint32 NHDBBIGPAFO = 4; // offset: 52
	uint32 DCAHJELNJNP = 5; // offset: 44
	uint32 section_id = 6; // offset: 48
	repeated OIJHAJAIFFH grid_game_role_list = 7; // offset: 24
	APFOIAIFHEN AKBMAMDMOFD = 8; // offset: 32
}
message GOCOPEELCCH {
	repeated OKFLAHFIBCM IIANHHLGPHE = 1; // offset: 24
}
message GLIBGKGGEJL {
	repeated uint32 PDABDEJBPEL = 1; // offset: 24
	uint32 NKDDBPGDAEE = 2; // offset: 32
}
message HOLHBEOHEJD {
	uint32 interact_id = 1; // offset: 32
	repeated uint64 properties = 2; // offset: 24
}
message IOMPILNAEEO {
	string event_name = 1; // offset: 24
	uint32 count = 2; // offset: 32
}

enum KDNCOBMFFEB {
	KDNCOBMFFEB_NLCDGIPGFDJ = 0;
	KDNCOBMFFEB_BDOEMDGHHEP = 1;
	KDNCOBMFFEB_stop_desc = 2;
	KDNCOBMFFEB_LMJCPMFPHLK = 3;
	KDNCOBMFFEB_FHDMHKOMEFO = 4;
	KDNCOBMFFEB_FCKIHKAIIIJ = 5;
}

enum GOECDMPJMCM {
	GOECDMPJMCM_NLCDGIPGFDJ = 0;
	GOECDMPJMCM_IKKJHNHKFOG = 1;
	GOECDMPJMCM_FFBIEEHPKND = 2;
	GOECDMPJMCM_JFNMPEJEIOH = 3;
}
message FAIFDBLLGKK {
	KDNCOBMFFEB event_type = 1; // offset: 44
	string ACFENKABBKK = 2; // offset: 16
	uint32 JKIHICLOPKM = 3; // offset: 48
	FKNKNLGMACL role = 4; // offset: 52
	oneof FCIDKEAOIBG {
		DEHDGGEDJHI stop_desc = 11; // offset: 32
		DOPJFJCLIAH LMJCPMFPHLK = 12; // offset: 32
		BALHBDBHHON FHDMHKOMEFO = 13; // offset: 32
		IAGGIFBOFDF FIFCCCJOLNE = 14; // offset: 32
	}
}
message IAGGIFBOFDF {
}
message DEHDGGEDJHI {
	ChatMessageData stop_desc = 1; // offset: 16
}
message DOPJFJCLIAH {
	bool LJOEMLOJDDP = 1; // offset: 25
	bool JLNEBLAKKOB = 2; // offset: 24
}
message BALHBDBHHON {
	GOECDMPJMCM OAMKPPGDDIM = 1; // offset: 24
}
message NEKAOLPJKEE {
	string POLADDGLAEH = 1; // offset: 24
}
message LJEMPEHADKJ {
	repeated uint32 avatar_id_list = 1; // offset: 24
}
message IJJKHFPLLIF {
	uint32 avatar_id = 1; // offset: 40
	repeated LJEMPEHADKJ HGAIDOLJKDL = 2; // offset: 16
	repeated LJEMPEHADKJ FLOKEJHHPPO = 3; // offset: 24
}
message DNPDLODGAHA {
	uint32 avatar_id = 1; // offset: 40
	HJNPOBAMKKF FLFNBPLNNBL = 2; // offset: 16
	HJNPOBAMKKF LLMDKAHFIIJ = 3; // offset: 32
}
message PLHPNBIMIOK {
	uint32 KAJCFPKEGBP = 1; // offset: 28
	uint32 JHFFAALHEAI = 2; // offset: 24
}
message DPKPGPPHHBM {
	uint32 avatar_id = 1; // offset: 32
	repeated PLHPNBIMIOK MDLGEIGFFEG = 2; // offset: 16
}
message BJNCNELEOMO {
	uint32 item_id = 1; // offset: 24
	uint32 item_count = 2; // offset: 28
}
message ABMNFJJDDOE {
	uint32 ILBJLIENCLB = 1; // offset: 32
	repeated BJNCNELEOMO MPMNLICFHMC = 2; // offset: 16
}
message EIICHLNCAKK {
	uint32 avatar_id = 1; // offset: 40
	repeated ABMNFJJDDOE CNIMHMAPDII = 2; // offset: 24
	uint32 HPJAAOPDIOL = 3; // offset: 36
	uint32 JFCLHPFCMHP = 4; // offset: 32
}
message IOFKKOEJFHI {
	PJCMNENIEHH game_mode = 1; // offset: 32
	repeated JOLHIMGJGBO lineup_list = 2; // offset: 24
}
message JFCPFBLKJAB {
	oneof PONFIKAJHFD {
		IJJKHFPLLIF lineup = 10; // offset: 24
		DNPDLODGAHA LCMADDIMION = 11; // offset: 24
		DPKPGPPHHBM PAGPNOKLNOM = 12; // offset: 24
		EIICHLNCAKK BEGAIBBJHHD = 13; // offset: 24
		IOFKKOEJFHI HCAAHIGINOM = 14; // offset: 24
	}
}
message NGBBCMBMOLI {
	uint32 avatar_id = 1; // offset: 24
	bool CLFMFEHJKEJ = 2; // offset: 30
	bool GGPIFKGAPPB = 3; // offset: 29
	bool AOOEIHOPALH = 4; // offset: 31
	bool LIEKGCNNIHA = 5; // offset: 28
}
message KKNGAGGAJKC {
	string EDMBJCBKBIM = 1; // offset: 40
	string OIBPLFNJOEM = 2; // offset: 24
	string DMHFFKNLILH = 3; // offset: 32
}
message MDGIOENHBEJ {
	string title = 1; // offset: 40
	string OAPACMJOIKC = 2; // offset: 24
	uint32 ENHLKLFLCKG = 3; // offset: 48
	KKNGAGGAJKC tag = 4; // offset: 32
}

// Obf: FJPMJPEKLJL
enum FightGameMode {
	FJPMJPEKLJL_NLCDGIPGFDJ = 0;
	FJPMJPEKLJL_EAMCPOPPHEN = 1;
	FJPMJPEKLJL_KPEKNPODEKJ = 2;
	FJPMJPEKLJL_NHAADPKOCMK = 3;
	FJPMJPEKLJL_GCMNKEJIMFI = 4;
	FJPMJPEKLJL_BBEAIOOHDBE = 5;
	FJPMJPEKLJL_BLBMAPAMFHE = 6;
	FJPMJPEKLJL_FBPGILKIGBE = 7;
	FJPMJPEKLJL_MKHLALNLOLA = 8;
	FJPMJPEKLJL_AAHDLLNEJEL = 9;
}

enum FHKOIPLIHDO {
	FHKOIPLIHDO_KOOOJMKLBKO = 0;
	FHKOIPLIHDO_ALHNCFLPELN = 1;
	FHKOIPLIHDO_FHMJDNJCFGJ = 2;
	FHKOIPLIHDO_AOAEKHOFOED = 3;
	FHKOIPLIHDO_KMGKCCIGPAN = 4;
}

enum LKFBIALLBDK {
	LKFBIALLBDK_EFAGELOKHAH = 0;
	LKFBIALLBDK_EFLAAFEKBLO = 1;
	LKFBIALLBDK_MHOEPNOAGDN = 2;
	LKFBIALLBDK_GLLICMOMCOA = 3;
}

// Obf: JPJAJPOGCJJ
enum LobbyCharacterStatus {
	JPJAJPOGCJJ_NLCDGIPGFDJ = 0;
	JPJAJPOGCJJ_BPOCOHFIAOH = 1;
	JPJAJPOGCJJ_NCIPEHOHDMG = 2;
	JPJAJPOGCJJ_HMOGOHOFPFG = 3;
	JPJAJPOGCJJ_HNADONAFDDN = 4;
	JPJAJPOGCJJ_ANAIJLLOOHF = 5;
	JPJAJPOGCJJ_AILKHMPHLEP = 6;
	JPJAJPOGCJJ_HIGMNPCOONG = 7;
}

// Obf: CJHHGHKGAIL
enum LobbyModifyType {
	CJHHGHKGAIL_NLCDGIPGFDJ = 0;
	CJHHGHKGAIL_BPOCOHFIAOH = 1;
	CJHHGHKGAIL_HMOGOHOFPFG = 2;
	CJHHGHKGAIL_NCIPEHOHDMG = 3;
	CJHHGHKGAIL_BHMEGEPHBIC = 4;
	CJHHGHKGAIL_EHINOPGCAEE = 5;
	CJHHGHKGAIL_PINPKNJDKLP = 6;
	CJHHGHKGAIL_OIINGMJAHFA = 7;
	CJHHGHKGAIL_ACEBEKCCMEG = 8;
	CJHHGHKGAIL_HIOFMONBFLO = 9;
	CJHHGHKGAIL_NDMLJELOPCM = 10;
	CJHHGHKGAIL_KOKIHLKEJOL = 11;
	CJHHGHKGAIL_CGDOBHJPMHI = 12;
	CJHHGHKGAIL_MNFOFJKGCHL = 13;
	CJHHGHKGAIL_MNPCJLJIKML = 14;
	CJHHGHKGAIL_HDOBALIFGCG = 15;
	CJHHGHKGAIL_HIGMNPCOONG = 16;
	CJHHGHKGAIL_KPKNEPLALOK = 17;
	CJHHGHKGAIL_NGIGCKJNPJC = 18;
}

enum FFBBHAALIBG {
	FFBBHAALIBG_GEIPHKGAJOD = 0;
	FFBBHAALIBG_CLLCACFEKIN = 1;
	FFBBHAALIBG_KPHGHPCEMMA = 2;
}

enum NPPEMMILLCO {
	NPPEMMILLCO_HGLIFJGHADE = 0;
	NPPEMMILLCO_OPCKNBHNBOA = 1;
	NPPEMMILLCO_CEABDBJPIOF = 2;
	NPPEMMILLCO_HONKPOMPEOO = 3;
	NPPEMMILLCO_HOFPNHIBDKL = 4;
	NPPEMMILLCO_EHNIPLNEEDI = 5;
	NPPEMMILLCO_FAODKNDLNPF = 6;
	NPPEMMILLCO_JCNBPNHEBBH = 7;
}

enum OJNEFJDGGEM {
	OJNEFJDGGEM_NLCDGIPGFDJ = 0;
	OJNEFJDGGEM_NKDECDGECFL = 1;
	OJNEFJDGGEM_KEHGBOEDKAB = 2;
	OJNEFJDGGEM_DACEMIDFHOG = 3;
}

enum FIBDGJBOJEA {
	FIBDGJBOJEA_NLCDGIPGFDJ = 0;
	FIBDGJBOJEA_DAJHCEKHNBH = 1;
	FIBDGJBOJEA_FEGIODIKLKB = 2;
}

enum DILHPBMCOFK {
	DILHPBMCOFK_GPODJJOHNNE = 0;
	DILHPBMCOFK_NHJLCDDJBGA = 1;
	DILHPBMCOFK_MIENDCJGDJG = 2;
	DILHPBMCOFK_LDKKKJOIOKF = 3;
}

// Obf: ODPJEOGDIKF
enum LobbyInteractType {
	ODPJEOGDIKF_NLCDGIPGFDJ = 0;
	ODPJEOGDIKF_DPMKFJKKKKA = 1;
}

enum HGMNDBFCBLL {
	HGMNDBFCBLL_NLCDGIPGFDJ = 0;
	HGMNDBFCBLL_CPJDKCDJFNA = 1;
	HGMNDBFCBLL_APBCEPNOCKG = 2;
}

// Obf: OCLACMHKMFO
enum TeamTowersGameType {
	OCLACMHKMFO_NLCDGIPGFDJ = 0;
	OCLACMHKMFO_AJNDODBCPDB = 1;
	OCLACMHKMFO_GCNBGNABMKN = 2;
	OCLACMHKMFO_HOIHEMDINEH = 3;
	OCLACMHKMFO_CBFHENKAMKO = 4;
}
message MOHAGOFLGAP {
	uint32 uid = 1; // offset: 68
	uint32 level = 2; // offset: 76
	string nickname = 3; // offset: 40
	uint32 icon = 4; // offset: 64
	PlatformType platform = 5; // offset: 56
	string IJKOMIKFKEK = 6; // offset: 24
	string EBMNJMIKNPP = 7; // offset: 16
	uint64 version = 8; // offset: 48
	bool OCLBMMNNMFC = 9; // offset: 72
	uint32 MIDBIPHKLJO = 10; // offset: 60
}
message CIGLIFFIIDC {
	LKFBIALLBDK NABJDHEPELK = 1; // offset: 24
	LobbyCharacterStatus status = 2; // offset: 28
}
message LobbyMarchInfo {
	uint32 HBONKLEOEEI = 1; // offset: 32
	KBCHOKFHHIH AIKDCBMCLBI = 5; // offset: 16
}
message LobbyMarbleInfo {
	uint32 GDBNHOJPKIE = 1; // offset: 40
	uint32 rank = 2; // offset: 32
	repeated uint32 CIPEHBBKFIH = 3; // offset: 24
	uint32 score_id = 4; // offset: 36
}
message FDFGIHJBHEL {
	uint32 FMEHKPKHGJA = 1; // offset: 24
	uint32 PNGHFKLCNBE = 2; // offset: 28
}
message KBCHOKFHHIH {
	uint32 GDBNHOJPKIE = 1; // offset: 40
	uint32 EAGEFHOHCOA = 2; // offset: 32
	uint32 EECIJBLGLNG = 3; // offset: 44
	uint32 OPHFDHGBLPJ = 4; // offset: 48
	repeated FDFGIHJBHEL MKIOMOINKOF = 5; // offset: 16
	uint32 IHEGLJHMKPP = 6; // offset: 52
	uint32 MFECHJLACLC = 7; // offset: 36
}
message JMFPICAMLIG {
	KBCHOKFHHIH AIKDCBMCLBI = 1; // offset: 24
}
message LobbyGridFightInfo {
	repeated uint32 LAJJHAAKGAF = 1; // offset: 24
	uint32 gold = 2; // offset: 44
	uint32 score_id = 3; // offset: 40
	string KEJLHDPBIPO = 4; // offset: 32
}
message DiceCombatAvatar {
	uint32 dice_avatar_id = 1; // offset: 32
	uint32 level = 2; // offset: 36
	repeated uint32 dice_id_list = 3; // offset: 16
	int64 unlock_time = 4; // offset: 40
}
message BOFHHEBDEOD {
	uint32 GDBNHOJPKIE = 1; // offset: 24
}
message CMNLOKDOFEF {
	uint32 GDBNHOJPKIE = 1; // offset: 24
}
message EHMEPOMCGNG {
	uint32 DBLJFJAAPAN = 1; // offset: 32
	repeated uint32 KBHCLLJLFHH = 2; // offset: 16
}
message LPGJPLMHKFL {
	uint32 MDKFLGDEJCN = 1; // offset: 32
	repeated uint32 NJIFEDNDMFO = 2; // offset: 24
	uint32 DHJANOFGDNP = 3; // offset: 36
}
message IPIJFDIPNDE {
	repeated DiceCombatAvatar avatar_list = 1; // offset: 24
	BOFHHEBDEOD BAEGDJILMBL = 2; // offset: 40
	CMNLOKDOFEF AEPFOJHNNFH = 3; // offset: 32
	uint32 EECIJBLGLNG = 4; // offset: 48
	uint32 EMHHCEMGBEM = 5; // offset: 52
	uint32 GMCAHOPDHLI = 6; // offset: 56
	bool KDFJPPOLFEB = 7; // offset: 60
}
message LMLNJFEMOAI {
	uint32 skill_id = 1; // offset: 28
	uint32 skill_level = 2; // offset: 24
}
message PCBLIKPEEJA {
	uint32 EECIJBLGLNG = 1; // offset: 32
	repeated LMLNJFEMOAI skill_list = 2; // offset: 16
	TeamTowersGameType DLFHABGGHFF = 3; // offset: 36
	uint32 stage_id = 4; // offset: 40
}
message HDLCAPDIKJI {
	uint32 skill_id = 1; // offset: 28
	uint32 count = 2; // offset: 24
}

// Obf: LobbyGameExtInfo
message LobbyGameExtInfo {
	repeated string MLAFBFEBNHB = 1; // offset: 32
	bool ELJECOAKNOF = 2; // offset: 40
	oneof APEMJMHJHKD {
		LobbyMarchInfo lobby_march_info = 1001; // offset: 16
		LobbyMarbleInfo lobby_marble_info = 1002; // offset: 16
		JMFPICAMLIG PHIBAOMGNOH = 1003; // offset: 16
		LobbyGridFightInfo lobby_grid_fight_info = 1004; // offset: 16
		IPIJFDIPNDE GOKJCFBPHCJ = 1005; // offset: 16
		PCBLIKPEEJA MPNPIIHHFPN = 1006; // offset: 16
	}
}
message LMLNNHKJEIP {
	MOHAGOFLGAP basic_info = 1; // offset: 16
	CIGLIFFIIDC GBBCBJCACIN = 2; // offset: 32
	LobbyGameExtInfo stage_info = 3; // offset: 40
}
message LAJGLHCCNED {
	uint32 BMANBMAOLLD = 1; // offset: 68
	uint32 CKDCNKNMEAI = 2; // offset: 24
	uint32 EKPKADNENAG = 3; // offset: 48
	uint32 FIIPIFLPEDB = 4; // offset: 52
	uint32 MPNGHAGHAIM = 5; // offset: 28
	uint32 DNDAOOCDNGC = 6; // offset: 44
	uint32 GMNONMGKBFI = 7; // offset: 40
	uint32 CJHGLLNBLJH = 8; // offset: 76
	uint32 ONLANGHDIPJ = 9; // offset: 60
	uint32 CPHOGFPNKLC = 10; // offset: 72
	uint32 JOBFJAPJDBA = 11; // offset: 32
	uint32 PIPOCNHBHAC = 12; // offset: 64
	uint32 HFOPGJFDIHM = 13; // offset: 56
	uint32 CGHLEEAOJGO = 14; // offset: 36
}
message BFBHKJLJJBJ {
	uint64 NOPDGKNKEEH = 1; // offset: 24
	FightGameMode MFLEPLDCJBC = 2; // offset: 32
}
message KPPJOPMMLOA {
	uint32 INOCAHEJKCB = 1; // offset: 24
}
message AECGFCJJLNI {
	uint32 NAFOFIPMOGM = 1; // offset: 32
	bool ELOCBJMJHBH = 2; // offset: 36
	KPPJOPMMLOA JPPLNIDDLBH = 3; // offset: 24
}
message PPKKBLFDLBE {
	uint64 id = 1; // offset: 48
	FightGameMode MJBKMFOMNPO = 2; // offset: 68
	repeated LMLNNHKJEIP HJOPHLKBLHL = 3; // offset: 32
	OJNEFJDGGEM type = 4; // offset: 72
	uint64 ANBJMMOEGJE = 5; // offset: 80
	uint64 HEOMGKNDJHE = 6; // offset: 56
	FIBDGJBOJEA FBFDDOMMLNA = 8; // offset: 64
	PJMGBLIFDFP room_ext_info = 9; // offset: 40
	AECGFCJJLNI NNOPIKIANCA = 11; // offset: 24
}
message HCLAEGGMCFK {
	uint32 LOPNADHJKBF = 1; // offset: 24
}
message ONNHDODIIED {
	HGMNDBFCBLL DLFHABGGHFF = 1; // offset: 24
}
message GBAKEFGOLCB {
	uint32 stage_id = 1; // offset: 24
	uint32 CDNNHONKELJ = 2; // offset: 28
}
message HFAAFFDPBIL {
	uint32 stage_id = 1; // offset: 24
	TeamTowersGameType DLFHABGGHFF = 2; // offset: 32
	uint32 CDNNHONKELJ = 3; // offset: 28
}
message PJMGBLIFDFP {
	oneof CGIFMOFGECO {
		HCLAEGGMCFK lobby_grid_fight_info = 1001; // offset: 24
		ONNHDODIIED GOKJCFBPHCJ = 1002; // offset: 24
		GBAKEFGOLCB FNNOPJBPLPF = 1003; // offset: 24
		HFAAFFDPBIL MPNPIIHHFPN = 1004; // offset: 24
	}
}
message NFDHOCKEPGD {
	uint32 LOPNADHJKBF = 1; // offset: 24
}
message CEOJGIDJLOA {
	HGMNDBFCBLL DLFHABGGHFF = 1; // offset: 24
}
message APCDHOBPBHA {
	uint32 stage_id = 1; // offset: 24
}
message EDLENJAPMBJ {
	uint32 stage_id = 1; // offset: 28
	TeamTowersGameType DLFHABGGHFF = 2; // offset: 24
}
message OFFMCODMKDL {
	oneof CGIFMOFGECO {
		NFDHOCKEPGD lobby_grid_fight_info = 1001; // offset: 24
		CEOJGIDJLOA GOKJCFBPHCJ = 1002; // offset: 24
		APCDHOBPBHA FNNOPJBPLPF = 1003; // offset: 24
		EDLENJAPMBJ MPNPIIHHFPN = 1004; // offset: 24
	}
}

enum EGMOEMCIINO {
	EGMOEMCIINO_AKACJKIBJMC = 0;
	EGMOEMCIINO_DGOAOLIHLNC = 1;
	EGMOEMCIINO_GIBEOBDJJLE = 2;
}

enum ABPEEALGKAO {
	ABPEEALGKAO_FKMOKGOBEHJ = 0;
	ABPEEALGKAO_MFAEGBJBJBE = 1;
	ABPEEALGKAO_KEEABEOLAOF = 2;
}
message VectorSnapshot {
	sint32 x = 1; // offset: 24
	sint32 y = 2; // offset: 28
	sint32 z = 3; // offset: 32
}
message MotionInfoSnapshot {
	VectorSnapshot pos_index = 1; // offset: 32
	VectorSnapshot rot = 2; // offset: 24
}
message FloorCustomValueSnapshot {
	string name = 1; // offset: 16
	EGMOEMCIINO type = 2; // offset: 48
	bool bool_val = 3; // offset: 40
	float float_val = 4; // offset: 44
	string str_val = 5; // offset: 24
}
message ActiveMCVKeySnapshot {
	uint32 main_mission_id = 1; // offset: 32
	string mcv_key = 2; // offset: 16
}
message PropInfoSnapshot {
	uint32 prop_state = 1; // offset: 24
}
message EntitySnapshot {
	uint32 entity_id = 1; // offset: 52
	uint32 instance_id = 2; // offset: 48
	MotionInfoSnapshot motion_info = 3; // offset: 32
	ABPEEALGKAO map_object_type = 4; // offset: 40
	oneof entity {
		PropInfoSnapshot prop = 5; // offset: 24
	}
}
message GroupSnapshot {
	uint32 group_id = 1; // offset: 60
	uint32 group_state = 2; // offset: 56
	repeated EntitySnapshot entity_list = 3; // offset: 48
	map<string, int32> property_map = 4; // offset: 32
	repeated uint32 active_submission_list = 5; // offset: 40
	repeated ActiveMCVKeySnapshot active_mcv_key_list = 6; // offset: 16
}
message PlayerSnapshot {
	MotionInfoSnapshot motion_info = 1; // offset: 24
	uint32 map_layer = 2; // offset: 32
}
message MissionCustomValueSnapshot {
	uint32 custom_value = 1; // offset: 32
	string mcv_key = 2; // offset: 24
}
message MissionCustomValueSnapshotList {
	repeated MissionCustomValueSnapshot custom_value_list = 1; // offset: 16
}
message MainMissionMcvSnapshot {
	uint32 main_mission_id = 1; // offset: 32
	MissionCustomValueSnapshotList custom_value_list = 2; // offset: 24
}
message SubMissionSnapshot {
	uint32 sub_mission_id = 1; // offset: 24
}
message MainMissionSnapshot {
	uint32 main_mission_id = 1; // offset: 32
	repeated SubMissionSnapshot sub_mission_list = 2; // offset: 16
}
message MissionSnapshot {
	repeated MainMissionMcvSnapshot server_mcv_list = 1; // offset: 40
	repeated MainMissionMcvSnapshot client_mcv_list = 2; // offset: 16
	MainMissionSnapshot tracking_main_mission = 3; // offset: 32
	bool has_mission_audio_snapshot = 4; // offset: 64
	string cur_audio_emotion_state = 5; // offset: 48
	string cur_sound_effect_state = 6; // offset: 24
}
message EraFlipperRegionDataSnapshot {
	uint32 region_id = 1; // offset: 28
	uint32 state = 2; // offset: 24
}
message EraFlipperSnapshot {
	repeated EraFlipperRegionDataSnapshot region_data_list = 1; // offset: 16
}
message RotationMapInfoSnapshot {
	VectorSnapshot map_pos = 1; // offset: 16
	VectorSnapshot map_rot = 2; // offset: 24
}
message MapRotationSnapshot {
	int32 region_id = 1; // offset: 32
	uint32 pose_id = 2; // offset: 36
	RotationMapInfoSnapshot map_info = 3; // offset: 24
}
message DialogSnapshot {
	uint32 group_id = 1; // offset: 24
	uint32 entity_id = 2; // offset: 28
}
message SwitchHandDataNodeSnapshot {
	uint32 config_id = 1; // offset: 48
	MotionInfoSnapshot hand_transform = 2; // offset: 24
	uint32 hand_state = 3; // offset: 40
	bytes hand_param = 4; // offset: 32
	uint32 get_coin_count = 5; // offset: 44
}
message SwitchHandSnapshot {
	repeated SwitchHandDataNodeSnapshot switch_hand_list = 1; // offset: 24
}
message PerformanceStartSnapshot {
	uint32 performance_id = 1; // offset: 136
	uint32 performance_type = 2; // offset: 128
	uint32 plane_id = 3; // offset: 120
	uint32 floor_id = 4; // offset: 124
	uint32 dimension_id = 5; // offset: 140
	uint32 story_line_id = 6; // offset: 160
	uint32 content_id = 7; // offset: 148
	uint32 entry_id = 8; // offset: 152
	uint32 version = 9; // offset: 156
	PlayerSnapshot player = 10; // offset: 24
	MissionSnapshot mission = 11; // offset: 48
	EraFlipperSnapshot era_flipper = 12; // offset: 16
	repeated GroupSnapshot server_group_list = 13; // offset: 64
	repeated GroupSnapshot client_group_list = 14; // offset: 56
	repeated GroupSnapshot server_legacy_group_list = 15; // offset: 88
	repeated GroupSnapshot client_legacy_group_list = 16; // offset: 112
	map<string, int32> floor_saved_value_list = 17; // offset: 72
	map<string, FloorCustomValueSnapshot> floor_custom_value_list = 18; // offset: 104
	MapRotationSnapshot map_rotation = 19; // offset: 32
	uint32 world_id = 20; // offset: 144
	DialogSnapshot dialog = 21; // offset: 40
	uint32 owner_group_id = 22; // offset: 132
	SwitchHandSnapshot switch_hand = 23; // offset: 80
}

enum Retcode {
	RET_SUCC = 0;
	RET_FAIL = 1;
	RET_SERVER_INTERNAL_ERROR = 2;
	RET_TIMEOUT = 3;
	RET_REPEATED_REQ = 4;
	RET_REQ_PARA_INVALID = 5;
	RET_PLAYER_DATA_ERROR = 6;
	RET_PLAYER_CLIENT_PAUSED = 7;
	RET_FUNC_CHECK_FAILED = 8;
	RET_FEATURE_SWITCH_CLOSED = 9;
	RET_FREQ_OVER_LIMIT = 10;
	RET_SYSTEM_BUSY = 11;
	RET_PLAYER_NOT_ONLINE = 12;
	RET_OPERATION_IN_CD = 13;
	RET_REPEATE_LOGIN = 1000;
	RET_RETRY_LOGIN = 1001;
	RET_WAIT_LOGIN = 1002;
	RET_NOT_IN_WHITE_LIST = 1003;
	RET_IN_BLACK_LIST = 1004;
	RET_ACCOUNT_VERIFY_ERROR = 1005;
	RET_ACCOUNT_PARA_ERROR = 1006;
	RET_ANTI_ADDICT_LOGIN = 1007;
	RET_CHECK_SUM_ERROR = 1008;
	RET_REACH_MAX_PLAYER_NUM = 1009;
	RET_ALREADY_REGISTERED = 1010;
	RET_GENDER_ERROR = 1011;
	SET_NICKNAME_RET_CALLBACK_PROCESSING = 1012;
	RET_IN_GM_BIND_ACCESS = 1013;
	RET_QUEST_REWARD_ALREADY_TAKEN = 1100;
	RET_QUEST_NOT_ACCEPT = 1101;
	RET_QUEST_NOT_FINISH = 1102;
	RET_QUEST_STATUS_ERROR = 1103;
	RET_ACHIEVEMENT_LEVEL_NOT_REACH = 1104;
	RET_ACHIEVEMENT_LEVEL_ALREADY_TAKEN = 1105;
	RET_AVATAR_NOT_EXIST = 1200;
	RET_AVATAR_RES_EXP_NOT_ENOUGH = 1201;
	RET_AVATAR_EXP_REACH_PROMOTION_LIMIT = 1202;
	RET_AVATAR_REACH_MAX_PROMOTION = 1203;
	RET_SKILLTREE_CONFIG_NOT_EXIST = 1204;
	RET_SKILLTREE_ALREADY_UNLOCK = 1205;
	RET_SKILLTREE_PRE_LOCKED = 1206;
	RET_SKILLTREE_LEVEL_NOT_MEET = 1207;
	RET_SKILLTREE_RANK_NOT_MEET = 1208;
	RET_AVATAR_DRESS_NO_EQUIPMENT = 1209;
	RET_AVATAR_EXP_ITEM_NOT_EXIST = 1210;
	RET_SKILLTREE_POINT_LOCKED = 1211;
	RET_SKILLTREE_POINT_LEVEL_UPGRADE_NOT_MATCH = 1212;
	RET_SKILLTREE_POINT_LEVEL_REACH_MAX = 1213;
	RET_WORLD_LEVEL_NOT_MEET = 1214;
	RET_PLAYER_LEVEL_NOT_MEET = 1215;
	RET_AVATAR_RANK_NOT_MATCH = 1216;
	RET_AVATAR_RANK_REACH_MAX = 1217;
	RET_HERO_BASIC_TYPE_NOT_MATCH = 1218;
	RET_AVATAR_PROMOTION_NOT_MEET = 1219;
	RET_PROMOTION_REWARD_CONFIG_NOT_EXIST = 1220;
	RET_PROMOTION_REWARD_ALREADY_TAKEN = 1221;
	RET_AVATAR_SKIN_ITEM_NOT_EXIST = 1222;
	RET_AVATAR_SKIN_ALREADY_DRESSED = 1223;
	RET_AVATAR_NOT_DRESS_SKIN = 1224;
	RET_AVATAR_SKIN_NOT_MATCH_AVATAR = 1225;
	RET_AVATAR_PATH_NOT_MATCH = 1226;
	RET_AVATAR_ENHANCED_ID_NOT_EXIST = 1227;
	RET_AVATAR_ENHANCED_ID_ALREADY_SET = 1228;
	RET_AVATAR_NOT_CUR_ENHANCED_ID = 1229;
	RET_PLAYER_OUTFIT_CONFIG_NOT_EXIST = 1230;
	RET_PLAYER_OUTFIT_SLOT_CONFLICT = 1231;
	RET_PLAYER_OUTFIT_IS_DEFAULT = 1232;
	RET_PLAYER_OUTFIT_NOT_OWNED = 1233;
	RET_SKILLTREE_FAST_LEVEL_UP_CLOSE = 1234;
	RET_ITEM_NOT_EXIST = 1300;
	RET_ITEM_COST_NOT_ENOUGH = 1301;
	RET_ITEM_COST_TOO_MUCH = 1302;
	RET_ITEM_NO_COST = 1303;
	RET_ITEM_NOT_ENOUGH = 1304;
	RET_ITEM_INVALID = 1305;
	RET_ITEM_CONFIG_NOT_EXIST = 1306;
	RET_SCOIN_NOT_ENOUGH = 1307;
	RET_ITEM_REWARD_EXCEED_LIMIT = 1308;
	RET_ITEM_INVALID_USE = 1309;
	RET_ITEM_USE_CONFIG_NOT_EXIST = 1310;
	RET_REWARD_CONFIG_NOT_EXIST = 1311;
	RET_ITEM_EXCEED_LIMIT = 1312;
	RET_ITEM_COUNT_INVALID = 1313;
	RET_ITEM_USE_TARGET_TYPE_INVALID = 1314;
	RET_ITEM_USE_SATIETY_FULL = 1315;
	RET_ITEM_COMPOSE_NOT_EXIST = 1316;
	RET_RELIC_COMPOSE_NOT_EXIST = 1317;
	RET_ITEM_CAN_NOT_SELL = 1318;
	RET_ITEM_SELL_EXCEDD_LIMIT = 1319;
	RET_ITEM_NOT_IN_COST_LIST = 1320;
	RET_ITEM_SPECIAL_COST_NOT_ENOUGH = 1321;
	RET_ITEM_SPECIAL_COST_TOO_MUCH = 1322;
	RET_ITEM_FORMULA_NOT_EXIST = 1323;
	RET_ITEM_AUTO_GIFT_OPTIONAL_NOT_EXIST = 1324;
	RET_RELIC_COMPOSE_RELIC_INVALID = 1325;
	RET_RELIC_COMPOSE_MAIN_AFFIX_ID_INVALID = 1326;
	RET_RELIC_COMPOSE_WRONG_FORMULA_TYPE = 1327;
	RET_RELIC_COMPOSE_RELIC_NOT_EXIST = 1328;
	RET_RELIC_COMPOSE_BLACK_GOLD_COUNT_INVALID = 1329;
	RET_RELIC_COMPOSE_BLACK_GOLD_NOT_NEED = 1330;
	RET_MONTH_CARD_CANNOT_USE = 1331;
	RET_ITEM_REWARD_EXCEED_DISAPPEAR = 1332;
	RET_ITEM_NEED_RECYCLE = 1333;
	RET_ITEM_COMPOSE_EXCEED_LIMIT = 1334;
	RET_ITEM_CAN_NOT_DESTROY = 1335;
	RET_ITEM_ALREADY_MARK = 1336;
	RET_ITEM_MARK_EXCEED_LIMIT = 1337;
	RET_ITEM_NOT_MARK = 1338;
	RET_ITEN_TURN_FOOD_NOT_SET = 1339;
	RET_ITEM_TURN_FOOD_ALREADY_SET = 1340;
	RET_ITEM_TURN_FOOD_CONSUME_TYPE_ERROR = 1341;
	RET_ITEM_TURN_FOOD_SWITCH_ALREADY_OPEN = 1342;
	RET_ITEM_TURN_FOOD_SWITCH_ALREADY_CLOSE = 1343;
	RET_HCOIN_EXCHANGE_TOO_MUCH = 1344;
	RET_ITEM_TURN_FOOD_SCENE_TYPE_ERROR = 1345;
	RET_EQUIPMENT_ALREADY_DRESSED = 1350;
	RET_EQUIPMENT_NOT_EXIST = 1351;
	RET_EQUIPMENT_REACH_LEVEL_LIMIT = 1352;
	RET_EQUIPMENT_CONSUME_SELF = 1353;
	RET_EQUIPMENT_ALREADY_LOCKED = 1354;
	RET_EQUIPMENT_ALREADY_UNLOCKED = 1355;
	RET_EQUIPMENT_LOCKED = 1356;
	RET_EQUIPMENT_SELECT_NUM_OVER_LIMIT = 1357;
	RET_EQUIPMENT_RANK_UP_MUST_CONSUME_SAME_TID = 1358;
	RET_EQUIPMENT_PROMOTION_REACH_MAX = 1359;
	RET_EQUIPMENT_RANK_UP_REACH_MAX = 1360;
	RET_EQUIPMENT_LEVEL_REACH_MAX = 1361;
	RET_EQUIPMENT_EXCEED_LIMIT = 1362;
	RET_RELIC_NOT_EXIST = 1363;
	RET_RELIC_REACH_LEVEL_LIMIT = 1364;
	RET_RELIC_CONSUME_SELF = 1365;
	RET_RELIC_ALREADY_DRESSED = 1366;
	RET_RELIC_LOCKED = 1367;
	RET_RELIC_ALREADY_LOCKED = 1368;
	RET_RELIC_ALREADY_UNLOCKED = 1369;
	RET_RELIC_LEVEL_IS_NOT_ZERO = 1370;
	RET_UNIQUE_ID_REPEATED = 1371;
	RET_EQUIPMENT_LEVEL_NOT_MEET = 1372;
	RET_EQUIPMENT_ITEM_NOT_IN_COST_LIST = 1373;
	RET_EQUIPMENT_LEVEL_GREATER_THAN_ONE = 1374;
	RET_EQUIPMENT_ALREADY_RANKED = 1375;
	RET_RELIC_EXCEED_LIMIT = 1376;
	RET_RELIC_ALREADY_DISCARDED = 1377;
	RET_RELIC_ALREADY_UNDISCARDED = 1378;
	RET_EQUIPMENT_BATCH_LOCK_TOO_FAST = 1379;
	RET_RELIC_FILTER_PLAN_SLOT_EMPTY = 1380;
	RET_RELIC_FILTER_PLAN_NUM_EXCEED_LIMIT = 1381;
	RET_RELIC_FILTER_PLAN_NAME_UTF8_ERROR = 1382;
	RET_RELIC_FILTER_PLAN_NAME_FORMAT_ERROR = 1383;
	RET_RELIC_FILTER_PLAN_NO_CHANGE = 1384;
	RET_RELIC_REFORGE_NOT_CONFIRMED = 1385;
	RET_EQUIPMENT_ALREADY_LEVELUP = 1386;
	RET_EQUIPMENT_RARITY_ERROR = 1387;
	RET_LINEUP_INVALID_INDEX = 1400;
	RET_LINEUP_INVALID_MEMBER_POS = 1401;
	RET_LINEUP_SWAP_NOT_EXIST = 1402;
	RET_LINEUP_AVATAR_ALREADY_IN = 1403;
	RET_LINEUP_CREATE_AVATAR_ERROR = 1404;
	RET_LINEUP_AVATAR_INIT_ERROR = 1405;
	RET_LINEUP_NOT_EXIST = 1406;
	RET_LINEUP_ONLY_ONE_MEMBER = 1407;
	RET_LINEUP_SAME_LEADER_SLOT = 1408;
	RET_LINEUP_NO_LEADER_SELECT = 1409;
	RET_LINEUP_SWAP_SAME_SLOT = 1410;
	RET_LINEUP_AVATAR_NOT_EXIST = 1411;
	RET_LINEUP_TRIAL_AVATAR_CAN_NOT_QUIT = 1412;
	RET_LINEUP_VIRTUAL_LINEUP_PLANE_NOT_MATCH = 1413;
	RET_LINEUP_NOT_VALID_LEADER = 1414;
	RET_LINEUP_SAME_INDEX = 1415;
	RET_LINEUP_IS_EMPTY = 1416;
	RET_LINEUP_NAME_FORMAT_ERROR = 1417;
	RET_LINEUP_TYPE_NOT_MATCH = 1418;
	RET_LINEUP_REPLACE_ALL_FAILED = 1419;
	RET_LINEUP_NOT_ALLOW_EDIT = 1420;
	RET_LINEUP_AVATAR_IS_ALIVE = 1421;
	RET_LINEUP_ASSIST_HAS_ONLY_MEMBER = 1422;
	RET_LINEUP_ASSIST_CANNOT_SWITCH = 1423;
	RET_LINEUP_AVATAR_TYPE_INVALID = 1424;
	RET_LINEUP_NAME_UTF8_ERROR = 1425;
	RET_LINEUP_LEADER_LOCK = 1426;
	RET_LINEUP_STORY_LINE_NOT_MATCH = 1427;
	RET_LINEUP_AVATAR_LOCK = 1428;
	RET_LINEUP_AVATAR_INVALID = 1429;
	RET_LINEUP_AVATAR_ALREADY_INIT = 1430;
	RET_LINEUP_LIMITED = 1431;
	RET_MAIL_NOT_EXIST = 1700;
	RET_MAIL_RANGE_INVALID = 1701;
	RET_MAIL_MAIL_ID_INVALID = 1702;
	RET_MAIL_NO_MAIL_TAKE_ATTACHMENT = 1703;
	RET_MAIL_NO_MAIL_TO_DEL = 1704;
	RET_MAIL_TYPE_INVALID = 1705;
	RET_MAIL_PARA_INVALID = 1706;
	RET_MAIL_ATTACHEMENT_INVALID = 1707;
	RET_MAIL_TICKET_INVALID = 1708;
	RET_MAIL_TICKET_REPEATED = 1709;
	RET_STAGE_SETTLE_ERROR = 1800;
	RET_STAGE_CONFIG_NOT_EXIST = 1801;
	RET_STAGE_NOT_FOUND = 1802;
	RET_STAGE_COCOON_PROP_NOT_VALID = 1804;
	RET_STAGE_COCOON_WAVE_NOT_VALID = 1805;
	RET_STAGE_PROP_ID_NOT_EQUAL = 1806;
	RET_STAGE_COCOON_WAVE_OVER = 1807;
	RET_STAGE_WEEK_COCOON_OVER_CNT = 1808;
	RET_STAGE_COCOON_NOT_OPEN = 1809;
	RET_STAGE_TRIAL_NOT_OPEN = 1810;
	RET_STAGE_FARM_NOT_OPEN = 1811;
	RET_STAGE_FARM_TYPE_ERROR = 1812;
	RET_STAGE_FARM_SWEEP_CD = 1813;
	RET_STAGE_FARM_ELEMENT_CHALLENGE_CNT_INVALID = 1814;
	RET_CHAPTER_LOCK = 1900;
	RET_CHAPTER_CHALLENGE_NUM_NOT_ENOUGH = 1901;
	RET_CHAPTER_REWARD_ID_NOT_EXIST = 1902;
	RET_CHAPTER_REWARD_ALREADY_TAKEN = 1903;
	RET_BATTLE_STAGE_NOT_MATCH = 2000;
	RET_IN_BATTLE_NOW = 2001;
	RET_BATTLE_CHEAT = 2002;
	RET_BATTLE_FAIL = 2003;
	RET_BATTLE_NO_LINEUP = 2004;
	RET_BATTLE_LINEUP_EMPTY = 2005;
	RET_BATTLE_VERSION_NOT_MATCH = 2006;
	RET_BATTLE_QUIT_BY_SERVER = 2007;
	RET_IN_BATTLE_CHECK = 2008;
	RET_BATTLE_CHECK_NEED_RETRY = 2009;
	RET_BATTLE_COST_TIME_CHECK_FAIL = 2010;
	RET_LACK_EXCHANGE_STAMINA_TIMES = 2100;
	RET_LACK_STAMINA = 2101;
	RET_STAMINA_FULL = 2102;
	RET_AUTHKEY_SIGN_TYPE_ERROR = 2103;
	RET_AUTHKEY_SIGN_VER_ERROR = 2104;
	RET_NICKNAME_FORMAT_ERROR = 2105;
	RET_SENSITIVE_WORDS = 2106;
	RET_LEVEL_REWARD_HAS_TAKEN = 2107;
	RET_LEVEL_REWARD_LEVEL_ERROR = 2108;
	RET_LANGUAGE_INVALID = 2109;
	RET_NICKNAME_IN_CD = 2110;
	RET_GAMEPLAY_BIRTHDAY_INVALID = 2111;
	RET_GAMEPLAY_BIRTHDAY_ALREADY_SET = 2112;
	RET_NICKNAME_UTF8_ERROR = 2113;
	RET_NICKNAME_DIGIT_LIMIT_ERROR = 2114;
	RET_SENSITIVE_WORDS_PLATFORM_ERROR = 2115;
	RET_PLAYER_SETTING_TYPE_INVALID = 2116;
	RET_MAZE_LACK_TICKET = 2201;
	RET_MAZE_NOT_UNLOCK = 2202;
	RET_MAZE_NO_ABILITY = 2204;
	RET_MAZE_NO_PLANE = 2205;
	RET_MAZE_MAP_NOT_EXIST = 2207;
	RET_MAZE_MP_NOT_ENOUGH = 2213;
	RET_SPRING_NOT_ENABLE = 2214;
	RET_SPRING_TOO_FAR = 2216;
	RET_NOT_IN_MAZE = 2218;
	RET_MAZE_TIME_OF_DAY_TYPE_ERROR = 2223;
	RET_SCENE_TRANSFER_LOCKED_BY_TASK = 2224;
	RET_PLOT_NOT_UNLOCK = 2300;
	RET_MISSION_NOT_EXIST = 2400;
	RET_MISSION_ALREADY_DONE = 2401;
	RET_DAILY_TASK_NOT_FINISH = 2402;
	RET_DAILY_TASK_REWARD_HAS_TAKEN = 2403;
	RET_MISSION_NOT_FINISH = 2404;
	RET_MISSION_NOT_DOING = 2405;
	RET_MISSION_FINISH_WAY_NOT_MATCH = 2406;
	RET_MISSION_SCENE_NOT_MATCH = 2407;
	RET_MISSION_CUSTOM_VALUE_NOT_VALID = 2408;
	RET_MISSION_SUB_MISSION_NOT_MATCH = 2409;
	RET_ADVENTURE_MAP_NOT_EXIST = 2500;
	RET_SCENE_ENTITY_NOT_EXIST = 2600;
	RET_NOT_IN_SCENE = 2601;
	RET_SCENE_MONSTER_NOT_EXIST = 2602;
	RET_INTERACT_CONFIG_NOT_EXIST = 2603;
	RET_UNSUPPORTED_PROP_STATE = 2604;
	RET_SCENE_ENTRY_ID_NOT_MATCH = 2605;
	RET_SCENE_ENTITY_MOVE_CHECK_FAILED = 2606;
	RET_ASSIST_MONSTER_COUNT_LIMIT = 2607;
	RET_SCENE_USE_SKILL_FAIL = 2608;
	RET_PROP_IS_HIDDEN = 2609;
	RET_LOADING_SUCC_ALREADY = 2610;
	RET_SCENE_ENTITY_TYPE_INVALID = 2611;
	RET_INTERACT_TYPE_INVALID = 2612;
	RET_INTERACT_NOT_IN_REGION = 2613;
	RET_INTERACT_SUB_TYPE_INVALID = 2614;
	RET_NOT_LEADER_ENTITY = 2615;
	RET_MONSTER_IS_NOT_FARM_ELEMENT = 2616;
	RET_MONSTER_CONFIG_NOT_EXIST = 2617;
	RET_AVATAR_HP_ALREADY_FULL = 2618;
	RET_CUR_INTERACT_ENTITY_NOT_MATCH = 2619;
	RET_PLANE_TYPE_NOT_ALLOW = 2620;
	RET_GROUP_NOT_EXIST = 2621;
	RET_GROUP_SAVE_DATA_IN_CD = 2622;
	RET_GROUP_SAVE_LENGH_REACH_MAX = 2623;
	RET_RECENT_ELEMENT_NOT_EXIST = 2624;
	RET_RECENT_ELEMENT_STAGE_NOT_MATCH = 2625;
	RET_SCENE_POSITION_VERSION_NOT_MATCH = 2626;
	RET_GAMEPLAY_COUNTER_NOT_EXIST = 2627;
	RET_GAMEPLAY_COUNTER_NOT_ENOUGH = 2628;
	RET_GROUP_STATE_NOT_MATCH = 2629;
	RET_SCENE_ENTITY_POS_NOT_MATCH = 2630;
	RET_GROUP_STATE_CUSTOM_SAVE_DATA_OFF = 2631;
	RET_SCENE_NOT_MATCH = 2632;
	RET_PROP_TYPE_INVALID = 2633;
	RET_NOT_IN_CORRECT_SCENE = 2634;
	RET_NOT_IN_CORRECT_DIMENSION = 2635;
	RET_NOT_CORRECT_GROUP_PROPERTY_NAME = 2636;
	RET_BUY_TIMES_LIMIT = 2700;
	RET_BUY_LIMIT_TYPE = 2701;
	RET_SHOP_NOT_OPEN = 2702;
	RET_GOODS_NOT_OPEN = 2703;
	RET_CITY_LEVEL_REWARD_TAKEN = 2704;
	RET_CITY_LEVEL_NOT_MEET = 2705;
	RET_SINGLE_BUY_LIMIT = 2706;
	RET_TUTORIAL_NOT_UNLOCK = 2751;
	RET_TUTORIAL_UNLOCK_ALREADY = 2752;
	RET_TUTORIAL_FINISH_ALREADY = 2753;
	RET_TUTORIAL_PRE_NOT_UNLOCK = 2754;
	RET_TUTORIAL_PLAYER_LEVEL_NOT_MATCH = 2755;
	RET_TUTORIAL_TUTORIAL_NOT_FOUND = 2756;
	RET_CHALLENGE_NOT_EXIST = 2801;
	RET_CHALLENGE_NOT_UNLOCK = 2802;
	RET_CHALLENGE_ALREADY = 2803;
	RET_CHALLENGE_LINEUP_EDIT_FORBIDDEN = 2804;
	RET_CHALLENGE_LINEUP_EMPTY = 2805;
	RET_CHALLENGE_NOT_DOING = 2806;
	RET_CHALLENGE_NOT_FINISH = 2807;
	RET_CHALLENGE_TARGET_NOT_FINISH = 2808;
	RET_CHALLENGE_TARGET_REWARD_TAKEN = 2809;
	RET_CHALLENGE_TIME_NOT_VALID = 2810;
	RET_CHALLENGE_STARS_COUNT_NOT_MEET = 2811;
	RET_CHALLENGE_STARS_REWARD_TAKEN = 2812;
	RET_CHALLENGE_STARS_NOT_EXIST = 2813;
	RET_CHALLENGE_CUR_SCENE_NOT_ENTRY_FLOOR = 2814;
	RET_CHALLENGE_NO_TEAM_ARCHIVE = 2815;
	RET_CHALLENGE_LINEUP_AVATAR_TYPE_INVALID = 2816;
	RET_CHALLENGE_LINEUP_RECOMMEND_IN_CD = 2817;
	RET_BASIC_TYPE_ALREADY = 2850;
	RET_NO_BASIC_TYPE = 2851;
	RET_NOT_CHOOSE_BASIC_TYPE = 2852;
	RET_NOT_FUNC_CLOSE = 2853;
	RET_NOT_CHOOSE_GENDER = 2854;
	RET_NOT_REQ_UNLOCK_BASIC_TYPE = 2855;
	RET_AVATAR_PATH_LOCKED = 2856;
	RET_ROGUE_STATUS_NOT_MATCH = 2901;
	RET_ROGUE_SELECT_BUFF_NOT_EXIST = 2902;
	RET_ROGUE_COIN_NOT_ENOUGH = 2903;
	RET_ROGUE_STAMINA_NOT_ENOUGH = 2904;
	RET_ROGUE_APPRAISAL_COUNT_NOT_ENOUGH = 2905;
	RET_ROGUE_PROP_ALREADY_USED = 2906;
	RET_ROGUE_RECORD_ALREADY_SAVED = 2907;
	RET_ROGUE_ROLL_BUFF_MAX_COUNT = 2908;
	RET_ROGUE_PICK_AVATAR_INVALID = 2909;
	RET_ROGUE_QUEST_EXPIRE = 2910;
	RET_ROGUE_QUEST_REWARD_ALREADY = 2911;
	RET_ROGUE_REVIVE_COUNT_NOT_ENOUGH = 2912;
	RET_ROGUE_AREA_INVALID = 2913;
	RET_ROGUE_SCORE_REWARD_POOL_INVALID = 2914;
	RET_ROGUE_SCORE_REWARD_ROW_INVALID = 2915;
	RET_ROGUE_AEON_LEVEL_NOT_MEET = 2916;
	RET_ROGUE_AEON_LEVEL_REWARD_ALREADY_TAKEN = 2917;
	RET_ROGUE_AEON_CONFIG_NOT_EXIST = 2918;
	RET_ROGUE_TRIAL_AVATAR_INVALID = 2919;
	RET_ROGUE_HANDBOOK_REWARD_ALREADY_TAKEN = 2920;
	RET_ROGUE_ROOM_TYPE_NOT_MATCH = 2921;
	RET_ROGUE_SHOP_GOOD_NOT_FOUND = 2922;
	RET_ROGUE_SHOP_GOOD_ALREADY_BOUGHT = 2923;
	RET_ROGUE_SHOP_GOOD_ALREADY_OWN = 2924;
	RET_ROGUE_SHOP_MIRACLE_NOT_EXIST = 2925;
	RET_ROGUE_SHOP_NOT_EXIST = 2926;
	RET_ROGUE_SHOP_CANNOT_REFRESH = 2927;
	RET_ROGUE_SELECT_BUFF_CERTAIN_MISMATCH = 2928;
	RET_ROGUE_ACTION_QUEUE_NOT_EMPTY_BATTLE = 2929;
	RET_ROGUE_ACTION_QUEUE_NOT_EMPTY_OTHERS = 2930;
	RET_MISSION_EVENT_CONFIG_NOT_EXIST = 2951;
	RET_MISSION_EVENT_NOT_CLIENT = 2952;
	RET_MISSION_EVENT_FINISHED = 2953;
	RET_MISSION_EVENT_DOING = 2954;
	RET_HAS_CHALLENGE_MISSION_EVENT = 2955;
	RET_NOT_CHALLENGE_MISSION_EVENT = 2956;
	RET_GACHA_ID_NOT_EXIST = 3001;
	RET_GACHA_NUM_INVALID = 3002;
	RET_GACHA_FIRST_GACHA_MUST_ONE = 3003;
	RET_GACHA_REQ_DUPLICATED = 3004;
	RET_GACHA_NOT_IN_SCHEDULE = 3005;
	RET_GACHA_NEWBIE_CLOSE = 3006;
	RET_GACHA_TODAY_LIMITED = 3007;
	RET_GACHA_NOT_SUPPORT = 3008;
	RET_GACHA_CEILING_NOT_ENOUGH = 3009;
	RET_GACHA_CEILING_CLOSE = 3010;
	RET_GACHA_LOCKED = 3011;
	RET_GACHA_DECIDE_ITEM_TYPE_INVALID = 3012;
	RET_GACHA_DECIDE_ITEM_ID_INVALID = 3013;
	RET_NOT_IN_RAID = 3101;
	RET_RAID_DOING = 3102;
	RET_NOT_PROP = 3103;
	RET_RAID_ID_NOT_MATCH = 3104;
	RET_RAID_RESTART_NOT_MATCH = 3105;
	RET_RAID_LIMIT = 3106;
	RET_RAID_AVATAR_LIST_EMPTY = 3107;
	RET_RAID_AVATAR_NOT_EXIST = 3108;
	RET_CHALLENGE_RAID_REWARD_ALREADY = 3109;
	RET_CHALLENGE_RAID_SCORE_NOT_REACH = 3110;
	RET_CHALLENGE_RAID_NOT_OPEN = 3111;
	RET_RAID_FINISHED = 3112;
	RET_RAID_WORLD_LEVEL_NOT_LOCK = 3113;
	RET_RAID_CANNOT_USE_ASSIST = 3114;
	RET_RAID_AVATAR_NOT_MATCH = 3115;
	RET_RAID_CAN_NOT_SAVE = 3116;
	RET_RAID_NO_SAVE = 3117;
	RET_ACTIVITY_RAID_NOT_OPEN = 3118;
	RET_RAID_AVATAR_CAPTAIN_NOT_EXIST = 3119;
	RET_RAID_STORY_LINE_NOT_MATCH = 3120;
	RET_TALK_EVENT_ALREADY_TAKEN = 3151;
	RET_NPC_ALREADY_MEET = 3152;
	RET_NPC_NOT_IN_CONFIG = 3153;
	RET_DIALOGUE_GROUP_DISMATCH = 3154;
	RET_DIALOGUE_EVENT_INVALID = 3155;
	RET_TALK_EVENT_TAKE_PROTO_NOT_MATCH = 3156;
	RET_TALK_EVENT_NOT_VALID = 3157;
	RET_EXPEDITION_CONFIG_NOT_EXIST = 3201;
	RET_EXPEDITION_REWARD_CONFIG_NOT_EXIST = 3202;
	RET_EXPEDITION_NOT_UNLOCKED = 3203;
	RET_EXPEDITION_ALREADY_ACCEPTED = 3204;
	RET_EXPEDITION_REPEATED_AVATAR = 3205;
	RET_AVATAR_ALREADY_DISPATCHED = 3206;
	RET_EXPEDITION_NOT_ACCEPTED = 3207;
	RET_EXPEDITION_NOT_FINISH = 3208;
	RET_EXPEDITION_ALREADY_FINISH = 3209;
	RET_EXPEDITION_TEAM_COUNT_LIMIT = 3210;
	RET_EXPEDITION_AVATAR_NUM_NOT_MATCH = 3211;
	RET_EXPEDITION_NOT_OPEN = 3212;
	RET_EXPEDITION_FRIEND_AVATAR_NOT_VALID = 3213;
	RET_EXPEDITION_NOT_PUBLISHED = 3214;
	RET_LOGIN_ACTIVITY_HAS_TAKEN = 3301;
	RET_LOGIN_ACTIVITY_DAYS_LACK = 3302;
	RET_TRIAL_ACTIVITY_REWARD_ALREADY_TAKE = 3303;
	RET_TRIAL_ACTIVITY_STAGE_NOT_FINISH = 3304;
	RET_MATERIAL_SUBMIT_ACTIVITY_HAS_TAKEN = 3305;
	RET_MATERIAL_SUBMIT_ACTIVITY_MATERIAL_NOT_SUBMITTED = 3306;
	RET_MATERIAL_SUBMIT_ACTIVITY_MATERIAL_ALREADY_SUBMITTED = 3307;
	RET_FANTASTIC_STORY_ACTIVITY_STORY_ERROR = 3308;
	RET_FANTASTIC_STORY_ACTIVITY_STORY_NOT_OPEN = 3309;
	RET_FANTASTIC_STORY_ACTIVITY_BATTLE_ERROR = 3310;
	RET_FANTASTIC_STORY_ACTIVITY_BATTLE_NOT_OPEN = 3311;
	RET_FANTASTIC_STORY_ACTIVITY_BATTLE_AVATAR_ERROR = 3312;
	RET_FANTASTIC_STORY_ACTIVITY_BATTLE_BUFF_ERROR = 3313;
	RET_FANTASTIC_STORY_ACTIVITY_PRE_BATTLE_SCORE_NOT_ENOUGH = 3314;
	RET_TRIAL_ACTIVITY_ALREADY_IN_TRIAL_ACTIVITY = 3315;
	RET_COMMON_ACTIVITY_NOT_OPEN = 3316;
	RET_BENEFIT_NOT_READY = 3317;
	RET_COMMON_ACTIVITY_BUSY = 3318;
	RET_AVATAR_DELIVER_REWARD_PHASE_ERROR = 3319;
	RET_MESSAGE_CONFIG_NOT_EXIST = 3501;
	RET_MESSAGE_SECTION_NOT_TAKE = 3502;
	RET_MESSAGE_GROUP_NOT_TAKE = 3503;
	RET_MESSAGE_SECTION_ID_NOT_MATCH = 3504;
	RET_MESSAGE_SECTION_CAN_NOT_FINISH = 3505;
	RET_MESSAGE_ITEM_CAN_NOT_FINISH = 3506;
	RET_MESSAGE_ITEM_RAID_CAN_NOT_FINISH = 3507;
	RET_FRIEND_ALREADY_IS_FRIEND = 3601;
	RET_FRIEND_IS_NOT_FRIEND = 3602;
	RET_FRIEND_APPLY_EXPIRE = 3603;
	RET_FRIEND_IN_BLACKLIST = 3604;
	RET_FRIEND_NOT_IN_BLACKLIST = 3605;
	RET_FRIEND_NUMBER_LIMIT = 3606;
	RET_FRIEND_BLACKLIST_NUMBER_LIMIT = 3607;
	RET_FRIEND_DAILY_APPLY_LIMIT = 3608;
	RET_FRIEND_IN_HANDLE_LIMIT = 3609;
	RET_FRIEND_APPLY_IN_CD = 3610;
	RET_FRIEND_REMARK_NAME_FORMAT_ERROR = 3611;
	RET_FRIEND_PLAYER_NOT_FOUND = 3612;
	RET_FRIEND_IN_TARGET_BLACKLIST = 3613;
	RET_FRIEND_TARGET_NUMBER_LIMIT = 3614;
	RET_ASSIST_QUERY_TOO_FAST = 3615;
	RET_ASSIST_NOT_EXIST = 3616;
	RET_ASSIST_USED_ALREADY = 3617;
	RET_FRIEND_REPORT_REASON_FORMAT_ERROR = 3618;
	RET_FRIEND_REPORT_SENSITIVE_WORDS = 3619;
	RET_ASSIST_USED_TIMES_OVER = 3620;
	RET_ASSIST_QUIT_ALREADY = 3621;
	RET_ASSIST_AVATAR_IN_LINEUP = 3622;
	RET_ASSIST_NO_REWARD = 3623;
	RET_FRIEND_SEARCH_NUM_LIMIT = 3624;
	RET_FRIEND_SEARCH_IN_CD = 3625;
	RET_FRIEND_REMARK_NAME_UTF8_ERROR = 3626;
	RET_FRIEND_REPORT_REASON_UTF8_ERROR = 3627;
	RET_ASSIST_SET_ALREADY = 3628;
	RET_FRIEND_TARGET_FORBID_OTHER_APPLY = 3629;
	RET_FRIEND_MARKED_CNT_MAX = 3630;
	RET_FRIEND_MARKED_ALREADY = 3631;
	RET_FRIEND_NOT_MARKED = 3632;
	RET_FRIEND_CHALLENGE_LINEUP_RECOMMEND_IN_CD = 3633;
	RET_VIEW_PLAYER_CARD_IN_CD = 3634;
	RET_VIEW_PLAYER_BATTLE_RECORD_IN_CD = 3635;
	RET_ASSIST_LIST_STRANGER_CONFIG_ERROR = 3636;
	RET_PLAYER_BOARD_HEAD_ICON_NOT_EXIST = 3701;
	RET_PLAYER_BOARD_HEAD_ICON_LOCKED = 3702;
	RET_PLAYER_BOARD_HEAD_ICON_ALREADY_UNLOCKED = 3703;
	RET_PLAYER_BOARD_DISPLAY_AVATAR_NOT_EXIST = 3704;
	RET_PLAYER_BOARD_DISPLAY_AVATAR_EXCEED_LIMIT = 3705;
	RET_PLAYER_BOARD_DISPLAY_REPEATED_AVATAR = 3706;
	RET_PLAYER_BOARD_DISPLAY_AVATAR_SAME_POS = 3707;
	RET_PLAYER_BOARD_DISPLAY_AVATAR_LOCKED = 3708;
	RET_SIGNATURE_LENGTH_EXCEED_LIMIT = 3709;
	RET_SIGNATURE_SENSITIVE_WORDS = 3710;
	RET_PLAYER_BOARD_ASSIST_AVATAR_NOT_EXIST = 3712;
	RET_PLAYER_BOARD_ASSIST_AVATAR_LOCKED = 3713;
	RET_SIGNATURE_UTF8_ERROR = 3714;
	RET_PLAYER_BOARD_ASSIST_AVATAR_CNT_ERROR = 3715;
	RET_PLAYER_BOARD_PERSONAL_CARD_NOT_EXIST = 3716;
	RET_PLAYER_BOARD_PERSONAL_CARD_LOCKED = 3717;
	RET_PLAYER_BOARD_PERSONAL_NO_CHANGE = 3718;
	RET_BATTLE_PASS_TIER_NOT_VALID = 3801;
	RET_BATTLE_PASS_LEVEL_NOT_MEET = 3802;
	RET_BATTLE_PASS_REWARD_TAKE_ALREADY = 3803;
	RET_BATTLE_PASS_NOT_PREMIUM = 3804;
	RET_BATTLE_PASS_NOT_DOING = 3805;
	RET_BATTLE_PASS_LEVEL_INVALID = 3806;
	RET_BATTLE_PASS_NOT_UNLOCK = 3807;
	RET_BATTLE_PASS_NO_REWARD = 3808;
	RET_BATTLE_PASS_QUEST_NOT_VALID = 3809;
	RET_BATTLE_PASS_NOT_CHOOSE_OPTIONAL = 3810;
	RET_BATTLE_PASS_NOT_TAKE_REWARD = 3811;
	RET_BATTLE_PASS_OPTIONAL_NOT_VALID = 3812;
	RET_BATTLE_PASS_BUY_ALREADY = 3813;
	RET_BATTLE_PASS_NEAR_END = 3814;
	RET_MUSIC_LOCKED = 3901;
	RET_MUSIC_NOT_EXIST = 3902;
	RET_MUSIC_UNLOCK_FAILED = 3903;
	RET_PUNK_LORD_LACK_SUMMON_TIMES = 4001;
	RET_PUNK_LORD_ATTACKING_MONSTER_LIMIT = 4002;
	RET_PUNK_LORD_MONSTER_NOT_EXIST = 4003;
	RET_PUNK_LORD_MONSTER_ALREADY_SHARED = 4004;
	RET_PUNK_LORD_MONSTER_EXPIRED = 4005;
	RET_PUNK_LORD_SELF_MONSTER_ATTACK_LIMIT = 4006;
	RET_PUNK_LORD_LACK_SUPPORT_TIMES = 4007;
	RET_PUNK_LORD_MONSTER_ALREADY_KILLED = 4008;
	RET_PUNK_LORD_MONSTER_ATTACKER_LIMIT = 4009;
	RET_PUNK_LORD_WORLD_LEVLE_NOT_VALID = 4010;
	RET_PUNK_LORD_REWARD_LEVLE_NOT_EXIST = 4011;
	RET_PUNK_LORD_POINT_NOT_MEET = 4012;
	RET_PUNK_LORD_IN_ATTACKING = 4013;
	RET_PUNK_LORD_OPERATION_IN_CD = 4014;
	RET_PUNK_LORD_REWARD_ALREADY_TAKEN = 4015;
	RET_PUNK_LORD_OVER_BONUS_REWARD_LIMIT = 4016;
	RET_PUNK_LORD_NOT_IN_SCHEDULE = 4017;
	RET_PUNK_LORD_MONSTER_NOT_ATTACKED = 4018;
	RET_PUNK_LORD_MONSTER_NOT_KILLED = 4019;
	RET_PUNK_LORD_MONSTER_KILLED_SCORE_ALREADY_TAKE = 4020;
	RET_PUNK_LORD_REWARD_LEVLE_ALREADY_TAKE = 4021;
	RET_DAILY_ACTIVE_LEVEL_INVALID = 4101;
	RET_DAILY_ACTIVE_LEVEL_REWARD_ALREADY_TAKEN = 4102;
	RET_DAILY_ACTIVE_LEVEL_AP_NOT_ENOUGH = 4103;
	RET_DAILY_MEET_PAM = 4201;
	RET_REPLAY_ID_NOT_MATCH = 4251;
	RET_REPLAY_REQ_NOT_VALID = 4252;
	RET_FIGHT_ACTIVITY_DIFFICULTY_LEVEL_NOT_PASSED = 4301;
	RET_FIGHT_ACTIVITY_DIFFICULTY_LEVEL_REWARD_ALREADY_TAKE = 4302;
	RET_FIGHT_ACTIVITY_STAGE_NOT_OPEN = 4303;
	RET_FIGHT_ACTIVITY_LEVEL_NOT_UNLOCK = 4304;
	RET_TRAIN_VISITOR_VISITOR_NOT_EXIST = 4351;
	RET_TRAIN_VISITOR_BEHAVIOR_NOT_EXIST = 4352;
	RET_TRAIN_VISITOR_BEHAVIOR_FINISHED = 4353;
	RET_TRAIN_VISITOR_ALL_BEHAVIOR_REWARD_TAKEN = 4354;
	RET_TRAIN_VISITOR_GET_ON_MISSION_NOT_FINISH = 4355;
	RET_TRAIN_VISITOR_NOT_GET_OFF_OR_BE_TRAIN_MEMBER = 4356;
	RET_TEXT_JOIN_UNKNOW_IS_OVERRIDE = 4401;
	RET_TEXT_JOIN_ID_NOT_EXIST = 4402;
	RET_TEXT_JOIN_CAN_NOT_OVERRIDE = 4403;
	RET_TEXT_JOIN_ITEM_ID_ERROR = 4404;
	RET_TEXT_JOIN_SENSITIVE_CHECK_ERROR = 4405;
	RET_TEXT_JOIN_MUST_OVERRIDE = 4406;
	RET_TEXT_JOIN_TEXT_EMPTY = 4407;
	RET_TEXT_JOIN_TEXT_FORMAT_ERROR = 4408;
	RET_TEXT_JOIN_TEXT_UTF8_ERROR = 4409;
	RET_TEXT_JOIN_BATCH_REQ_ID_REPEAT = 4410;
	RET_TEXT_JOIN_TYPE_NOT_SUPPORT_BATCH_REQ = 4411;
	RET_TEXT_JOIN_AVATAR_ID_NOT_EXIST = 4412;
	RET_TEXT_JOIN_UNKNOW_TYPE = 4413;
	RET_PAM_MISSION_MISSION_ID_ERROR = 4451;
	RET_PAM_MISSION_MISSION_EXPIRE = 4452;
	RET_CHAT_TYPE_NOT_EXIST = 4501;
	RET_MSG_TYPE_NOT_EXIST = 4502;
	RET_CHAT_NO_TARGET_UID = 4503;
	RET_CHAT_MSG_EMPTY = 4504;
	RET_CHAT_MSG_EXCEED_LIMIT = 4505;
	RET_CHAT_MSG_SENSITIVE_CHECK_ERROR = 4506;
	RET_CHAT_MSG_UTF8_ERROR = 4507;
	RET_CHAT_FORBID_SWITCH_OPEN = 4508;
	RET_CHAT_FORBID = 4509;
	RET_CHAT_MSG_INCLUDE_SPECIAL_STR = 4510;
	RET_CHAT_MSG_EMOJI_NOT_EXIST = 4511;
	RET_CHAT_MSG_EMOJI_GENDER_NOT_MATCH = 4512;
	RET_CHAT_MSG_EMOJI_NOT_MARKED = 4513;
	RET_CHAT_MSG_EMOJI_ALREADY_MARKED = 4514;
	RET_CHAT_MSG_EMOJI_MARKED_MAX_LIMIT = 4515;
	RET_BOXING_CLUB_CHALLENGE_NOT_OPEN = 4601;
	RET_MUSEUM_NOT_OPEN = 4651;
	RET_MUSEUM_TURN_CNT_NOT_MATCH = 4652;
	RET_MUSEUM_PHASE_NOT_REACH = 4653;
	RET_MUSEUM_UNKNOW_STUFF = 4654;
	RET_MUSEUM_UNKNOW_AREA = 4655;
	RET_MUSEUM_UNKNOW_POS = 4656;
	RET_MUSEUM_STUFF_ALREADY_IN_AREA = 4657;
	RET_MUSEUM_STUFF_NOT_IN_AREA = 4658;
	RET_MUSEUM_GET_NPC_REPEAT = 4659;
	RET_MUSEUM_GET_NPC_UNLOCK = 4660;
	RET_MUSEUM_GET_NPC_NOT_ENOUGH = 4661;
	RET_MUSEUM_CHANGE_STUFF_AREA_ERROR = 4662;
	RET_MUSEUM_NOT_INIT = 4663;
	RET_MUSEUM_EVENT_ERROR = 4664;
	RET_MUSEUM_UNKNOW_CHOOSE_EVENT_ID = 4665;
	RET_MUSEUM_EVENT_ORDER_NOT_MATCH = 4666;
	RET_MUSEUM_EVENT_PHASE_NOT_UNLOCK = 4667;
	RET_MUSEUM_EVENT_MISSION_NOT_FOUND = 4668;
	RET_MUSEUM_AREA_LEVEL_UP_ALREADY = 4669;
	RET_MUSEUM_STUFF_ALREADY_USED = 4670;
	RET_MUSEUM_EVENT_ROUND_NOT_UNLOCK = 4671;
	RET_MUSEUM_STUFF_IN_AREA = 4672;
	RET_MUSEUM_STUFF_DISPATCH = 4673;
	RET_MUSEUM_IS_END = 4674;
	RET_MUSEUM_STUFF_LEAVING = 4675;
	RET_MUSEUM_EVENT_MISSION_NOT_FINISH = 4678;
	RET_MUSEUM_COLLECT_REWARD_NOT_EXIST = 4679;
	RET_MUSEUM_COLLECT_REWARD_ALREADY_TAKEN = 4680;
	RET_MUSEUM_ACCEPT_MISSION_MAX_LIMIT = 4681;
	RET_ROGUE_CHALLENGE_NOT_OPEN = 4701;
	RET_ROGUE_CHALLENGE_ASSIS_REFRESH_LIMIT = 4702;
	RET_ALLEY_NOT_INIT = 4721;
	RET_ALLEY_NOT_OPEN = 4722;
	RET_ALLEY_MAP_NOT_EXIST = 4724;
	RET_ALLEY_EMPTY_POS_LIST = 4725;
	RET_ALLEY_LINE_POS_INVALID = 4726;
	RET_ALLEY_SHOP_NOT_UNLOCK = 4727;
	RET_ALLEY_DEPOT_FULL = 4728;
	RET_ALLEY_SHOP_NOT_INCLUDE = 4729;
	RET_ALLEY_EVENT_NOT_UNLOCK = 4730;
	RET_ALLEY_EVENT_NOT_REFRESH = 4731;
	RET_ALLEY_EVENT_STATE_DOING = 4732;
	RET_ALLEY_EVENT_STATE_FINISH = 4733;
	RET_ALLEY_EVENT_ERROR = 4734;
	RET_ALLEY_REWARD_LEVEL_ERROR = 4735;
	RET_ALLEY_REWARD_PRESTIGE_NOT_ENOUGH = 4736;
	RET_ALLEY_SHIP_EMPTY = 4737;
	RET_ALLEY_SHIP_ID_DISMATCH = 4738;
	RET_ALLEY_SHIP_NOT_EXIST = 4739;
	RET_ALLEY_SHIP_NOT_UNLOCK = 4740;
	RET_ALLEY_GOODS_NOT_EXIST = 4741;
	RET_ALLEY_GOODS_NOT_UNLOCK = 4742;
	RET_ALLEY_PROFIT_NOT_POSITIVE = 4743;
	RET_ALLEY_SPECIAL_ORDER_DISMATCH = 4744;
	RET_ALLEY_ORDER_GOODS_OVER_LIMIT = 4745;
	RET_ALLEY_SPECIAL_ORDER_CONDITION_NOT_MEET = 4746;
	RET_ALLEY_DEPOT_SIZE_OVER_LIMIT = 4747;
	RET_ALLEY_GOODS_NOT_ENOUGH = 4748;
	RET_ALLEY_ORDER_INDEX_INVALID = 4749;
	RET_ALLEY_REWARD_ALREADY_TAKE = 4750;
	RET_ALLEY_REWARD_NOT_EXIST = 4751;
	RET_ALLEY_MAIN_MISSION_NOT_DOING = 4752;
	RET_ALLEY_CRITICAL_EVENT_NOT_FINISH = 4753;
	RET_ALLEY_SHOP_GOODS_NOT_VALID = 4754;
	RET_ALLEY_SLASH_NOT_OPEN = 4755;
	RET_ALLEY_PLACING_ANCHOR_INVALID = 4756;
	RET_ALLEY_PLACING_GOODS_INDEX_INVALID = 4757;
	RET_ALLEY_SAVE_MAP_TOO_QUICK = 4758;
	RET_ALLEY_MAP_NOT_LINK = 4759;
	RET_ALLEY_FUNDS_NOT_LOWER_BASE = 4760;
	RET_ALLEY_EVENT_NOT_FINISH = 4761;
	RET_ALLEY_NORMAL_ORDER_NOT_MEET = 4762;
	RET_PLAYER_RETURN_NOT_OPEN = 4801;
	RET_PLAYER_RETURN_IS_SIGNED = 4802;
	RET_PLAYER_RETURN_POINT_NOT_ENOUGH = 4803;
	RET_PLAYER_RETURN_CONDITION_INVALID = 4804;
	RET_PLAYER_RETURN_HAS_SIGNED = 4805;
	RET_PLAYER_RETURN_REWARD_TAKEN = 4806;
	RET_PLAYER_RETURN_RELIC_TAKEN = 4807;
	RET_PLAYER_RETURN_CONFIG_ERROR = 4808;
	RET_PLAYER_RETURN_OPTIONAL_GIFT_INVALID = 4809;
	RET_PLAYER_RETURN_OPTIONAL_GIFT_NOT_EXIST = 4810;
	RET_PLAYER_RETURN_SIGN_TYPE_INVALID = 4811;
	RET_AETHER_DIVIDE_NO_LINEUP = 4851;
	RET_AETHER_DIVIDE_LINEUP_INVALID = 4852;
	RET_CHAT_BUBBLE_ID_ERROR = 4901;
	RET_CHAT_BUBBLE_ID_NOT_UNLOCK = 4902;
	RET_PHONE_THEME_ID_ERROR = 4903;
	RET_PHONE_THEME_ID_NOT_UNLOCK = 4904;
	RET_CHAT_BUBBLE_SELECT_IS_CURRENT = 4905;
	RET_PHONE_THEME_SELECT_IS_CURRENT = 4906;
	RET_PHONE_CASE_ID_ERROR = 4907;
	RET_PHONE_CASE_ID_NOT_UNLOCK = 4908;
	RET_PHONE_CASE_SELECT_IS_CURRENT = 4909;
	RET_CHESS_ROGUE_CONFIG_NOT_FOUND = 4951;
	RET_CHESS_ROGUE_CONFIG_INVALID = 4952;
	RET_CHESS_ROGUE_NO_VALID_ROOM = 4963;
	RET_CHESS_ROGUE_NO_CELL_INFO = 4964;
	RET_CHESS_ROGUE_CELL_NOT_FINISH = 4965;
	RET_CHESS_ROGUE_CELL_IS_LOCKED = 4966;
	RET_CHESS_ROGUE_SCHEDULE_NOT_MATCH = 4967;
	RET_CHESS_ROGUE_STATUS_FAIL = 4968;
	RET_CHESS_ROGUE_AREA_NOT_EXIST = 4969;
	RET_CHESS_ROGUE_LINEUP_FAIL = 4970;
	RET_CHESS_ROGUE_AEON_FAIL = 4980;
	RET_CHESS_ROGUE_ENTER_CELL_FAIL = 4981;
	RET_CHESS_ROGUE_ROLL_DICE_FAIL = 4982;
	RET_CHESS_ROGUE_DICE_STATUS_FAIL = 4983;
	RET_CHESS_ROGUE_DICE_CNT_NOT_FULL = 4984;
	RET_CHESS_ROGUE_UNLOCK = 4985;
	RET_CHESS_ROGUE_PICK_AVATAR_FAIL = 4986;
	RET_CHESS_ROGUE_AVATAR_INVALID = 4987;
	RET_CHESS_ROGUE_CELL_CAN_NOT_SELECT = 4988;
	RET_CHESS_ROGUE_DICE_CONFIRMED = 4989;
	RET_CHESS_ROGUE_NOUS_DICE_NOT_MATCH = 4990;
	RET_CHESS_ROGUE_NOUS_DICE_RARITY_FAIL = 4991;
	RET_CHESS_ROGUE_NOUS_DICE_SURFACE_DUPLICATE = 4992;
	RET_CHESS_ROGUE_NOT_IN_ROGUE = 4993;
	RET_CHESS_ROGUE_NOUS_DICE_BRANCH_LIMIT = 4994;
	RET_HELIOBUS_NOT_OPEN = 5101;
	RET_HELIOBUS_SNS_POST_NOT_UNLOCK = 5102;
	RET_HELIOBUS_SNS_ALREADY_READ = 5103;
	RET_HELIOBUS_SNS_ALREADY_LIKED = 5104;
	RET_HELIOBUS_SNS_ALREADY_COMMENTED = 5105;
	RET_HELIOBUS_SNS_IN_MISSION = 5106;
	RET_HELIOBUS_SNS_ALREADY_POSTED = 5107;
	RET_HELIOBUS_SNS_NOT_DOING_MISSION = 5108;
	RET_HELIOBUS_REWARD_LEVEL_MAX = 5109;
	RET_HELIOBUS_INCOME_NOT_ENOUGH = 5110;
	RET_HELIOBUS_SNS_COMMENT_NOT_UNLOCK = 5111;
	RET_HELIOBUS_CHALLENGE_NOT_UNLOCK = 5112;
	RET_HELIOBUS_CHALLENGE_ID_ERROR = 5113;
	RET_HELIOBUS_SKILL_NOT_UNLOCK = 5114;
	RET_HELIOBUS_ACCEPT_POST_MISSION_FAIL = 5115;
	RET_HELIOBUS_SKILL_NOT_SELECTED = 5116;
	RET_HELIOBUS_PLANE_TYPE_INVALID = 5117;
	RET_REDDOT_PARAM_INVALID = 5151;
	RET_REDDOT_ACTIVITY_NOT_OPEN = 5152;
	RET_ROGUE_ENDLESS_ACTIVITY_CONFIG_ERROR = 5201;
	RET_ROGUE_ENDLESS_ACTIVITY_NOT_OPEN = 5202;
	RET_ROGUE_ENDLESS_ACTIVITY_OVER_BONUS_REWARD_LIMIT = 5203;
	RET_ROGUE_ENDLESS_ACTIVITY_SCORE_NOT_MEET = 5204;
	RET_ROGUE_ENDLESS_ACTIVITY_REWARD_LEVLE_ALREADY_TAKE = 5205;
	RET_HEART_DIAL_SCRIPT_NOT_FOUND = 5251;
	RET_HEART_DIAL_SCRIPT_EMOTION_THE_SAME = 5252;
	RET_HEART_DIAL_SCRIPT_STEP_NOT_NORMAL = 5253;
	RET_HEART_DIAL_SCRIPT_CONDITION_NOT_MATCH = 5254;
	RET_HEART_DIAL_SCRIPT_SUBMIT_ITEM_NUM_NOT_MATCH = 5255;
	RET_HEART_DIAL_SCRIPT_SUBMIT_ITEM_ID_NOT_MATCH = 5256;
	RET_HEART_DIAL_DIALOGUE_NOT_FOUND = 5257;
	RET_HEART_DIAL_DIALOGUE_ALREADY_PERFORMED = 5258;
	RET_HEART_DIAL_NPC_NOT_FOUND = 5259;
	RET_HEART_DIAL_TRACE_CONFIG_NOT_FOUND = 5260;
	RET_HEART_DIAL_FLOOR_TRACE_EXIST = 5261;
	RET_HEART_DIAL_TRACE_FLOOR_NOT_MATCH = 5262;
	RET_TRAVEL_BROCHURE_CONFIG_ERROR = 5301;
	RET_TRAVEL_BROCHURE_PARAM_INVALID = 5302;
	RET_TRAVEL_BROCHURE_LOCKED = 5303;
	RET_TRAVEL_BROCHURE_CANNOT_OPERATE = 5304;
	RET_TRAVEL_BROCHURE_WORLD_ID_NOT_MATCH = 5305;
	RET_TRAVEL_BROCHURE_HAS_NO_WORLD_BOOK = 5306;
	RET_TRAVEL_BROCHURE_PAGE_FULL = 5307;
	RET_MAP_ROTATION_NOT_IN_REGION = 5351;
	RET_MAP_ROTATION_ROTATER_ALREADY_DEPLOYED = 5352;
	RET_MAP_ROTATION_ENERGY_NOT_ENOUGH = 5353;
	RET_MAP_ROTATION_ENTITY_NOT_ON_CUR_POSE = 5354;
	RET_MAP_ROTATION_ROTATER_NOT_DEPLOYED = 5355;
	RET_MAP_ROTATION_POSE_ROTATER_MISMATCH = 5356;
	RET_MAP_ROTATION_ROTATER_NOT_REMOVABLE = 5357;
	RET_MAP_ROTATION_ROTATER_DISPOSABLE = 5358;
	RET_SPACE_ZOO_ACTIVITY_CAT_NOT_FOUND = 5401;
	RET_SPACE_ZOO_ACTIVITY_CAT_PARAM_INVALID = 5402;
	RET_SPACE_ZOO_ACTIVITY_CAT_ITEM_NOT_ENOUGH = 5403;
	RET_SPACE_ZOO_ACTIVITY_CAT_BAG_FULL = 5404;
	RET_SPACE_ZOO_ACTIVITY_CAT_NOT_TO_MUTATE = 5405;
	RET_SPACE_ZOO_ACTIVITY_CAT_STATE_ERROR = 5406;
	RET_SPACE_ZOO_ACTIVITY_CAT_CATTERY_LOCKED = 5407;
	RET_SPACE_ZOO_ACTIVITY_CAT_OUT_NOW = 5408;
	RET_SPACE_ZOO_ACTIVITY_CAT_CONFIG_NOT_FOUND = 5409;
	RET_SPACE_ZOO_ACTIVITY_CAT_FEATURE_NOT_FOUND = 5410;
	RET_SPACE_ZOO_ACTIVITY_CAT_ADD_CAT_ERROR = 5411;
	RET_SPACE_ZOO_ACTIVITY_CAT_MONEY_NOT_ENOUGH = 5412;
	RET_SPACE_ZOO_ACTIVITY_CAT_COND_NOT_MATCH = 5413;
	RET_STRONG_CHALLENGE_ACTIVITY_STAGE_CFG_MISS = 5501;
	RET_STRONG_CHALLENGE_ACTIVITY_STAGE_NOT_OPEN = 5502;
	RET_STRONG_CHALLENGE_ACTIVITY_BUFF_ERROR = 5503;
	RET_ROLL_SHOP_NOT_FOUND = 5551;
	RET_ROLL_SHOP_GROUP_EMPTY = 5552;
	RET_ROLL_SHOP_EMPTY = 5553;
	RET_ROLL_SHOP_GACHA_REQ_DUPLICATED = 5554;
	RET_ROLL_SHOP_RANDOM_ERROR = 5555;
	RET_ROLL_SHOP_GROUP_TYPE_NOT_FOUND = 5556;
	RET_ROLL_SHOP_HAS_STORED_REWARD_ALREADY = 5557;
	RET_ROLL_SHOP_NO_STORED_REWARD = 5558;
	RET_ROLL_SHOP_NOT_IN_VALID_SCENE = 5559;
	RET_ROLL_SHOP_INVALID_ROLL_SHOP_TYPE = 5560;
	RET_ACTIVITY_RAID_COLLECTION_PREV_NOT_FINISH = 5601;
	RET_ACTIVITY_RAID_COLLECTION_GROUP_ENTER_NEXT_UNAVAILABLE = 5602;
	RET_ACTIVITY_RAID_COLLECTION_IS_LAST = 5603;
	RET_ACTIVITY_RAID_COLLECTION_IS_NOT_NEXT = 5604;
	RET_OFFERING_NOT_UNLOCK = 5651;
	RET_OFFERING_LEVEL_NOT_UNLOCK = 5652;
	RET_OFFERING_REACH_MAX_LEVEL = 5653;
	RET_OFFERING_ITEM_NOT_ENOUGH = 5654;
	RET_OFFERING_LONGTAIL_NOT_OPEN = 5655;
	RET_OFFERING_REWARD_CONDITION = 5656;
	RET_DRINK_MAKER_CHAT_INVALID = 5701;
	RET_DRINK_MAKER_PARAM_INVALID = 5702;
	RET_DRINK_MAKER_PARAM_NOT_UNLOCK = 5703;
	RET_DRINK_MAKER_CONFIG_NOT_FOUND = 5704;
	RET_DRINK_MAKER_NOT_LAST_CHAT = 5705;
	RET_DRINK_MAKER_DAY_AND_FREE_PHASE_NOT_OPEN = 5706;
	RET_DRINK_MAKER_CHEERS_NOT_ABLE_TO_NEXT_GROUP = 5707;
	RET_DRINK_MAKER_CHEERS_DRINK_ALREADY_MADE = 5708;
	RET_DRINK_MAKER_CHEERS_ACTIVITY_NOT_OPEN = 5709;
	RET_DRINK_MAKER_CHEERS_MAKE_DRINK_PRE_MISSION_NOT_FINISHED = 5710;
	RET_MONOPOLY_NOT_OPEN = 5751;
	RET_MONOPOLY_CONFIG_ERROR = 5752;
	RET_MONOPOLY_DICE_NOT_ENOUGH = 5753;
	RET_MONOPOLY_CUR_CELL_NOT_FINISH = 5754;
	RET_MONOPOLY_COIN_NOT_ENOUGH = 5755;
	RET_MONOPOLY_CELL_WAIT_PENDING = 5756;
	RET_MONOPOLY_CELL_STATE_ERROR = 5757;
	RET_MONOPOLY_CELL_CONTENT_ERROR = 5758;
	RET_MONOPOLY_ITEM_NOT_ENOUGH = 5759;
	RET_MONOPOLY_CELL_CONTENT_CANNOT_GIVEUP = 5760;
	RET_MONOPOLY_ASSET_LEVEL_INVALID = 5761;
	RET_MONOPOLY_TURN_NOT_FINISH = 5762;
	RET_MONOPOLY_GUIDE_NOT_FINISH = 5763;
	RET_MONOPOLY_RAFFLE_REWARD_REISSUED = 5764;
	RET_MONOPOLY_NO_GAME_ACTIVE = 5771;
	RET_MONOPOLY_GAME_RATIO_NOT_INCREASABLE = 5772;
	RET_MONOPOLY_GAME_RATIO_MAX = 5773;
	RET_MONOPOLY_GAME_TARGET_RATIO_INVALID = 5774;
	RET_MONOPOLY_GAME_BINGO_FLIP_POS_INVALID = 5775;
	RET_MONOPOLY_GAME_GUESS_ALREADY_CHOOSE = 5776;
	RET_MONOPOLY_GAME_GUESS_CHOOSE_INVALID = 5777;
	RET_MONOPOLY_GAME_GUESS_INFORMATION_ALREADY_BOUGHT = 5778;
	RET_MONOPOLY_GAME_RAISE_RATIO_NOT_UNLOCK = 5779;
	RET_MONOPOLY_FRIEND_NOT_SYNCED = 5785;
	RET_MONOPOLY_GET_FRIEND_RANKING_LIST_IN_CD = 5786;
	RET_MONOPOLY_LIKE_TARGET_NOT_FRIEND = 5787;
	RET_MONOPOLY_DAILY_ALREADY_LIKED = 5788;
	RET_MONOPOLY_SOCIAL_EVENT_STATUS_NOT_MATCH = 5789;
	RET_MONOPOLY_SOCIAL_EVENT_SERVER_CACHE_NOT_EXIST = 5790;
	RET_MONOPOLY_ACTIVITY_ID_NOT_MATCH = 5791;
	RET_MONOPOLY_RAFFLE_POOL_NOT_EXIST = 5792;
	RET_MONOPOLY_RAFFLE_POOL_TIME_NOT_MATCH = 5793;
	RET_MONOPOLY_RAFFLE_POOL_PHASE_NOT_MEET = 5794;
	RET_MONOPOLY_RAFFLE_POOL_SHOW_TIME_NOT_MEET = 5795;
	RET_MONOPOLY_RAFFLE_TICKET_NOT_FOUND = 5796;
	RET_MONOPOLY_RAFFLE_TICKET_TIME_NOT_MEET = 5797;
	RET_MONOPOLY_RAFFLE_TICKET_REWARD_ALREADY_TAKEN = 5798;
	RET_MONOPOLY_RAFFLE_POOL_NOT_IN_RAFFLE_TIME = 5799;
	RET_MONOPOLY_MBTI_REPORT_REWARD_ALREADY_TAKEN = 5800;
	RET_EVOLVE_BUILD_LEVEL_GAMING = 5801;
	RET_EVEOLVE_BUILD_LEVEL_BAN_RANDOM = 5802;
	RET_EVOLVE_BUILD_FIRST_REWARD_ALREADY_TAKEN = 5803;
	RET_EVOLVE_BUILD_LEVEL_UNFINISH = 5804;
	RET_EVOLVE_BUILD_SHOP_ABILITY_MAX_LEVEL = 5805;
	RET_EVOLVE_BUILD_SHOP_ABILITY_MIN_LEVEL = 5806;
	RET_EVOLVE_BUILD_SHOP_ABILITY_NOT_GET = 5807;
	RET_EVOLVE_BUILD_LEVEL_LOCK = 5808;
	RET_EVOLVE_BUILD_EXP_NOT_ENOUGH = 5809;
	RET_EVOLVE_BUILD_SHOP_ABILITY_LEVEL_ERROR = 5810;
	RET_EVOLVE_BUILD_ACTIVITY_NOT_OPEN = 5811;
	RET_EVOLVE_BUILD_SHOP_ABILITY_EMPTY = 5812;
	RET_EVOLVE_BUILD_LEVEL_NOT_START = 5813;
	RET_EVOLVE_BUILD_SHOP_LOCK = 5814;
	RET_EVOLVE_BUILD_REWARD_LOCK = 5815;
	RET_EVOLVE_BUILD_REWARD_LEVEL_MAX = 5816;
	RET_EVOLVE_BUILD_REWARD_ALREADY_ALL_TAKEN = 5717;
	RET_EVOLVE_BUILD_SEASON_ERROR = 5718;
	RET_EVOLVE_BUILD_TEACH_SKIP_QUEST_NOT_FINISH = 5719;
	RET_CLOCK_PARK_CONFIG_ERROR = 5851;
	RET_CLOCK_PARK_EFFECT_ERROR = 5852;
	RET_CLOCK_PARK_SCRIPT_ALREADY_UNLOCK = 5853;
	RET_CLOCK_PARK_SCRIPT_UNLOCK_CONDITION_NOT_MEET = 5854;
	RET_CLOCK_PARK_TALENT_ALREADY_UNLOCK = 5855;
	RET_CLOCK_PARK_SCRIPT_LOCKED = 5856;
	RET_CLOCK_PARK_HAS_ONGOING_SCRIPT = 5857;
	RET_CLOCK_PARK_NO_ONGOING_SCRIPT = 5858;
	RET_CLOCK_PARK_DICE_PLACEMENT_ERROR = 5859;
	RET_CLOCK_PARK_MISMATCH_STATUS = 5860;
	RET_CLOCK_PARK_NO_BUFF = 5861;
	RET_CLOCK_PARK_SLOT_MACHINE_GACHA_REQ_DUPLICATED = 5862;
	RET_CLOCK_PARK_SLOT_MACHINE_COST_NOT_ENOUGH = 5863;
	RET_CLOCK_PARK_SLOT_MACHINE_GACHA_CNT_EXCEED_LIMIT = 5864;
	RET_CLOCK_PARK_NOT_OPEN = 5865;
	RET_TOURN_ROGUE_STATUS_MISMATCH = 5901;
	RET_MAGIC_ROGUE_STATUS_MISMATCH = 5902;
	RET_AUTO_MOUNT_MAGIC_UNIT_NO_MATCHED_MAGIC_SCEPTER = 5903;
	RET_MAGIC_UNIT_WORKBENCH_REFORGE_GEN_FAIL = 5904;
	RET_MATCH_ALREADY_IN_MATCH = 6201;
	RET_MATCH_NOT_IN_MATCH = 6202;
	RET_MATCH_PLAY_NOT_OPEN = 6203;
	RET_CROSS_STATE_ERROR = 6204;
	RET_MATCH_VERSION_NOT_EQUAL = 6205;
	RET_MATCH_PLAYER_NOT_IN_LOBBY_ROOM = 6206;
	RET_LOBBY_STATE_NOT_MATCH = 6207;
	RET_LOBBY_ROOM_NOT_EXIST = 6208;
	RET_LOBBY_ROOM_PALYER_FULL = 6209;
	RET_LOBBY_ROOM_PALYER_NOT_READY = 6210;
	RET_LOBBY_ROOM_PALYER_FIGHTING = 6211;
	RET_FIGHT_ROOM_NOT_EXIST = 6250;
	RET_FIGHT_MATCH3_PLAYER_STATE_ERR = 6251;
	RET_FIGHT_MATCH3_ROOM_STATE_ERR = 6252;
	RET_CROSS_STATE_TIME_OUT = 6253;
	RET_LOBBY_START_FIGHT_DISABLE = 6254;
	RET_LOBBY_START_FIGHT_PLAYER_LACK = 6255;
	RET_MATCH_CLIENT_DATA_VERSION_LOW = 6256;
	RET_LOBBY_START_MATCH_DISABLE = 6257;
	RET_LOBBY_INTERACT_IN_CD = 6258;
	RET_LOBBY_OWNER_STATE_ERR = 6259;
	RET_LOBBY_OP_TOO_FAST = 6260;
	RET_FIGHT_MATCH3_SOLO_PLAYER_TURN_ERR = 6261;
	RET_MATCH_PLAY_NOT_SUPPORTED = 6262;
	RET_MATCH_PLAY_DATA_NOT_EXIST = 6263;
	RET_MATCH_PLAY_NOT_SUPPORT_FRIEND_RANKING = 6264;
	RET_MATCH_PLAY_GET_FRIEND_RANKING_INFO_IN_CD = 6265;
	RET_SWORD_TRAINING_NO_ACTIVE_GAME = 6301;
	RET_SWORD_TRAINING_NO_PENDING_ACTION_MATCH = 6302;
	RET_SWORD_TRAINING_PARTNER_ABILITY_INVALID = 6303;
	RET_SWORD_TRAINING_SKILL_ALREADY_LEARNED = 6304;
	RET_SWORD_TRAINING_CONDITION_NOT_MEET = 6305;
	RET_SWORD_TRAINING_PARENT_SKILL_NOT_LEARNED = 6306;
	RET_SWORD_TRAINING_SKILL_TYPE_NOT_UNLOCK = 6307;
	RET_SWORD_TRAINING_GAME_ALREADY_EXIST = 6308;
	RET_SWORD_TRAINING_ENDING_HINT_NOT_MATCH = 6309;
	RET_SWORD_TRAINING_STORYLINE_CONFIG_NOT_FOUND = 6310;
	RET_SWORD_TRAINING_STORY_CONFIG_NOT_FOUND = 6311;
	RET_SWORD_TRAINING_UNLOCK_NOT_FINISH = 6312;
	RET_SWORD_TRAINING_OPTION_MISMATCH = 6313;
	RET_SWORD_TRAINING_RESTORE_WITHOUT_EXAM_FAILED = 6314;
	RET_SWORD_TRAINING_NO_RESTORE_GAME_AVAILABLE = 6315;
	RET_SWORD_TRAINING_ENDING_STORY_NOT_MATCH = 6316;
	RET_SWORD_TRAINING_ENDING_NOT_FINISH = 6317;
	RET_SWORD_TRAINING_ENDING_REWARD_TAKEN = 6318;
	RET_SWORD_TRAINING_COMBAT_RANK_NOT_CHANGE = 6319;
	RET_SWORD_TRAINING_DIRECT_BATTLE_DISABLE = 6320;
	RET_FIGHT_FEST_PHASE_NOT_MATCH = 6351;
	RET_FIGHT_FEST_SCORE_RACE_ALREADY_FINISH = 6352;
	RET_FIGHT_FEST_CHALLENGE_LOCKED = 6353;
	RET_FIGHT_FEST_COACH_SKILL_LOCKED = 6354;
	RET_FIGHT_FEST_COACH_SKILL_EQUIP_TYPE_EXISTED = 6355;
	RET_FIGHT_FEST_SCORE_RACE_MISSION_DOIND = 6356;
	RET_FIGHT_FEST_COACH_SKILL_NO_EQUIP = 6357;
	RET_PET_NOT_EXIST = 6401;
	RET_PET_ALREADY_SUMMONED = 6402;
	RET_PET_NOT_SUMMONED = 6403;
	RET_MUSIC_RHYTHM_LEVEL_TIME_TOO_SHORT = 6451;
	RET_MUSIC_RHYTHM_NOT_IN_LEVEL = 6452;
	RET_MUSIC_RHYTHM_PRE_DIFFICULTY_NOT_PASS = 6453;
	RET_MUSIC_RHYTHM_SONG_LIMITED = 6454;
	RET_MUSIC_RHYTHM_SONG_LOCKED = 6455;
	RET_MUSIC_RHYTHM_TRACK_LOCKED = 6456;
	RET_MUSIC_RHYTHM_LEVEL_NOT_UNLOCK = 6457;
	RET_MUSIC_RHYTHM_SONG_SFX_LOCKED = 6458;
	RET_TRAIN_PARTY_COIN_NOT_ENOUGH = 6501;
	RET_TRAIN_PARTY_DIY_TAG_NOT_MATCH = 6502;
	RET_TRAIN_PARTY_USE_CARD_MOBILITY_NOT_ENOUGH = 6503;
	RET_TRAIN_PARTY_AREA_UNLOCK_COIN_NOT_ENOUGH = 6504;
	RET_TAROT_BOOK_ENERGY_NOT_ENOUGH = 6601;
	RET_TAROT_BOOK_PACK_NOT_AVAILABLE = 6602;
	RET_TAROT_BOOK_STORY_ALREADY_UNLOCK = 6603;
	RET_TAROT_BOOK_CARD_NOT_ENOUGH = 6604;
	RET_TAROT_BOOK_CLUE_NOT_ENOUGH = 6605;
	RET_TAROT_BOOK_UNLOCK_STORY_CARD_NOT_SAME = 6606;
	RET_TAROT_BOOK_STORY_NOT_UNLOCK = 6607;
	RET_TAROT_BOOK_STORY_ALREADY_FINISH = 6608;
	RET_TAROT_BOOK_INTERACTION_ALREADY_FINISH = 6609;
	RET_CHIMERA_CHIMERA_NOT_UNLOCK = 6621;
	RET_CHIMERA_CHIMERA_DUPLICATED = 6622;
	RET_CHIMERA_CHIMERA_TYPE_ERROR = 6623;
	RET_CHIMERA_WORK_MISMATCH_ROUND = 6624;
	RET_CHIMERA_WORK_ROUND_OPTION_NOT_MEET = 6625;
	RET_CHIMERA_ENDLESS_NOT_UNLOCK = 6626;
	RET_CHIMERA_IN_ENDLESS = 6627;
	RET_CHIMERA_NOT_IN_ENDLESS = 6628;
	RET_CHIMERA_CHIMERA_FALL_IN_ENDLESS = 6629;
	RET_PLANET_FES_AVATAR_NOT_EXIST = 6641;
	RET_PLANET_FES_LAND_NOT_EXIST = 6642;
	RET_PLANET_FES_ITEM_NOT_ENOUGH = 6643;
	RET_PLANET_FES_LAND_ALREADY_UNLOCK = 6644;
	RET_PLANET_FES_WORK_AVATAR_REPEAT = 6645;
	RET_PLANET_FES_WORK_AVATAR_TYPE_NOT_MATCH = 6646;
	RET_PLANET_FES_ACTIVITY_NOT_OPEN = 6647;
	RET_PLANET_FES_SKILLTREE_PHASE_NOT_UNLOCK = 6648;
	RET_PLANET_FES_SKILL_NOT_UNLOCK = 6649;
	RET_PLANET_FES_CONFIG_ERROR = 6650;
	RET_PLANET_FES_NOT_IN_BUSINESS_DAY = 6651;
	RET_PLANET_FES_EVENT_LOCKED = 6652;
	RET_PLANET_FES_EVENT_FINISHED = 6653;
	RET_PLANET_FES_EVENT_IN_CD = 6654;
	RET_PLANET_FES_EVENT_ALREADY_IN_STATE = 6655;
	RET_PLANET_FES_EVENT_NO_WORK_AVATAR = 6656;
	RET_PLANET_FES_EVENT_PROCESSING_CANNOT_DISAPPEAR = 6657;
	RET_PLANET_FES_EVENT_OPTION_PHASE_WRONG = 6658;
	RET_PLANET_FES_FUNCTION_NOT_UNLOCK = 6659;
	RET_PLANET_FES_REWARD_ALREADY_TAKEN = 6660;
	RET_PLANET_FES_EVENT_GAME_NOT_ACTIVE = 6661;
	RET_PLANET_FES_REGION_PROGRESS_NOT_ENOUGH = 6662;
	RET_PLANET_FES_FRIEND_ITEM_NOT_ENOUGH = 6663;
	RET_PLANET_FES_PIECE_PERMISSION_BAN = 6664;
	RET_PLANET_FES_PIECE_OFFER_NOT_EXIST = 6665;
	RET_PLANET_FES_PIECE_APPLY_IN_STACK_TOO_MUCH = 6666;
	RET_PLANET_FES_PIECE_APPLY_NOT_EXIST = 6667;
	RET_PLANET_FES_GET_FRIEND_RANKING_LIST_IN_CD = 6668;
	RET_PLANET_FES_GIVE_PIECE_OWNED_BY_TARGET = 6669;
	RET_PLANET_FES_LEVEL_MAX = 6670;
	RET_PLANET_FES_EXCLUSIVE_EVENT = 6671;
	RET_MARBLE_SEAL_ALREADY_UNLOCKED = 6701;
	RET_MARBLE_SEAL_SHOP_ITEM_NOT_ENOUGH = 6702;
	RET_MARBLE_SEAL_LOCKED = 6703;
	RET_CAKE_RACE_FIELD_LOCKED = 6751;
	RET_CAKE_RACE_FIELD_COST_NOT_ENOUGH = 6752;
	RET_CAKE_RACE_FIELD_PVP_ONLY = 6753;
	RET_CAKE_RACE_ALREADY_IN_GAME = 6754;
	RET_CAKE_RACE_GET_FRIEND_RANKING_LIST_IN_CD = 6755;
	RET_CAKE_RACE_LIKE_FRIEND_TARGET_NOT_FRIEND = 6756;
	RET_CAKE_RACE_LIKE_FRIEND_DAILY_ALREADY_LIKED = 6757;
	RET_CAKE_RACE_LIKE_FRIEND_IN_CD = 6758;
	RET_FATE_STATUS_NOT_MATCH = 6771;
	RET_FATE_BUFF_SLOT_NOT_ENOUGH = 6772;
	RET_FATE_COIN_NOT_ENOUGH = 6773;
	RET_FATE_REIJU_REROLL_COUNT_NOT_ENOUGH = 6774;
	RET_FATE_BUFF_LEVEL_MAX = 6775;
	RET_FATE_ACTION_QUEUE_NOT_EMPTY = 6776;
	RET_PARKOUR_ACTIVITY_NOT_OPEN = 6801;
	RET_PARKOUR_LEVEL_NOT_UNLOCK = 6802;
	RET_PARKOUR_RAIL_BALL_NOT_ALLOWED = 6803;
	RET_PARKOUR_NOT_IN_LEVEL = 6804;
	RET_PARKOUR_LEVEL_NOT_MATCH = 6805;
	RET_PARKOUR_NOT_PLAYED_ALL_NON_STORY_LEVEL = 6806;
	RET_FTC_LIMIT_NAME_CHANGE = 6830;
	RET_ELF_RESTAURANT_CONFIG_ERROR = 6841;
	RET_ELF_RESTAURANT_FIELD_ALREADY_BOUGHT = 6842;
	RET_ELF_RESTAURANT_FIELD_NOT_BOUGHT = 6843;
	RET_ELF_RESTAURANT_FIELD_CELL_INVALID = 6844;
	RET_ELF_RESTAURANT_FARM_TYPE_INVALID = 6845;
	RET_ELF_RESTAURANT_SHOP_ITEM_NOT_EXIST = 6846;
	RET_ELF_RESTAURANT_SHOP_ITEM_COUNT_LIMIT = 6847;
	RET_ELF_RESTAURANT_TRADE_ORDER_NOT_EXIST = 6848;
	RET_ELF_RESTAURANT_NO_REWARD = 6849;
	RET_ELF_RESTAURANT_NOT_INIT = 6850;
	RET_GRID_FIGHT_CONF_MISS = 6900;
	RET_GRID_FIGHT_ROLE_NOT_EXIST = 6901;
	RET_GRID_FIGHT_ROLE_ALREADY_EXIST = 6902;
	RET_GRID_FIGHT_POS_EXIST_ROLE = 6903;
	RET_GRID_FIGHT_POS_NOT_VALID = 6904;
	RET_GRID_FIGHT_COIN_NOT_ENOUGH = 6905;
	RET_GRID_FIGHT_EQUIP_NOT_EXIST = 6906;
	RET_GRID_FIGHT_EQUIP_CANNOT_DRESS = 6907;
	RET_GRID_FIGHT_PARAM_NOT_MATCH = 6908;
	RET_GRID_FIGHT_EQUIP_DRESS_SAME = 6909;
	RET_GRID_FIGHT_EQUIP_DRESSED = 6910;
	RET_GRID_FIGHT_RANDOM_ERR = 6911;
	RET_GRID_FIGHT_GOODS_SOLD = 6912;
	RET_GRID_FIGHT_ITEM_NOT_ENOUGH = 6913;
	RET_GRID_FIGHT_GAMEPLAY_LEVEL_MAX = 6914;
	RET_GRID_FIGHT_ALREADY_IN_GAMEPLAY = 6915;
	RET_GRID_FIGHT_EQUIP_TRAIT_LIMIT = 6916;
	RET_GRID_FIGHT_REGION_FULL = 6917;
	RET_GRID_FIGHT_TEMPORARY_EQUIP = 6918;
	RET_GRID_FIGHT_NOT_IN_GAMEPLAY = 6919;
	RET_GRID_FIGHT_ADD_EQUIP_FAIL = 6920;
	RET_GRID_FIGHT_ADD_CONSUMABLE_FAIL = 6921;
	RET_GRID_FIGHT_CREATE_ROLE_FAIL = 6922;
	RET_GRID_FIGHT_CANNOT_UPGRADE = 6923;
	RET_GRID_FIGHT_NO_EMPTY_POS = 6924;
	RET_GRID_FIGHT_FORGE_NOT_EXIST = 6925;
	RET_GRID_FIGHT_ADD_FORGE_FAIL = 6926;
	RET_GRID_FIGHT_ORB_NOT_ENOUGH = 6927;
	RET_GRID_FIGHT_ORB_NOT_EXIST = 6928;
	RET_GRID_FIGHT_SUPPLY_NO_REROLL = 6929;
	RET_GRID_FIGHT_HIGH_RARIY_FOR_COPY = 6930;
	RET_GRID_FIGHT_ROLE_FULL_FOR_COPY = 6931;
	RET_GRID_FIGHT_UNDRESS_EQUIP_FAIL = 6932;
	RET_GRID_FIGHT_DATA_LOCKED = 6933;
	RET_GRID_FIGHT_SAME_ROLE_IN_BATTLE = 6934;
	RET_GRID_FIGHT_SUPPLY_ALL_SELECTED = 6935;
	RET_GRID_FIGHT_TRAIT_TRACK_MAX = 6936;
	RET_GRID_FIGHT_POS_BAN = 6937;
	RET_GRID_FIGHT_POS_EXIST_ITEM = 6938;
	RET_GRID_FIGHT_TALENT_ENABLED = 6939;
	RET_GRID_FIGHT_TALENT_COST_NOT_ENOUGH = 6940;
	RET_GRID_FIGHT_TALENT_PRE_NOT_ENABLED = 6941;
	RET_GRID_FIGHT_DIVISION_INVALID = 6942;
	RET_GRID_FIGHT_TALENT_PERMANENT_LIMIT = 6943;
	RET_GRID_FIGHT_WEEKLY_REWARD_TAKEN = 6944;
	RET_GRID_FIGHT_WEEKLY_SCORE_NOT_ENOUGH = 6945;
	RET_GRID_FIGHT_CRAFT_COST_EQUIP_DRESSED = 6946;
	RET_GRID_FIGHT_CREATE_NPC_FAIL = 6947;
	RET_GRID_FIGHT_NO_POS_CAN_PLACE = 6948;
	RET_GRID_FIGHT_NPC_POS_LIMIT = 6949;
	RET_GRID_FIGHT_CRAFT_EQUIP_ON_DIFF_ROLE = 6950;
	RET_GRID_FIGHT_GLOBAL_HP_NOT_ENOUGH = 6951;
	RET_GRID_FIGHT_EQUIP_TRACK_MAX = 6952;
	RET_GRID_FIGHT_NPC_NOT_EXIST = 6953;
	RET_GRID_FIGHT_RECYCLE_ROLE_IN_TUTORIAL = 6954;
	RET_GRID_FIGHT_TUTORIAL_TASK_NOT_FINISHED = 6955;
	RET_GRID_FIGHT_TUTORIAL_UPDATE_POS_ININVALID = 6956;
	RET_GRID_FIGHT_NO_REROLL_CNT = 6957;
	RET_GRID_FIGHT_TUTORIAL_REFRESH_SHOP_LIMITED = 6958;
	RET_GRID_FIGHT_TUTORIAL_BUY_SHOP_LIMITED = 6959;
	RET_GRID_FIGHT_OC_UNLOCK_QUEST_NOT_FINISHED = 6960;
	RET_GRID_FIGHT_FORGE_LIMIT_SELECT_IDX_IN_TUTORIAL = 6961;
	RET_GRID_FIGHT_GAME_REF_ID_TOO_LONG = 6962;
	RET_GRID_FIGHT_FEATURE_SWITCH_CLOSED = 6963;
	RET_GRID_FIGHT_EQUIP_TRAIT_EXCLUSIVE = 6964;
	RET_GRID_FIGHT_SHOP_LOCKED = 6965;
	RET_GRID_FIGHT_BUY_EXP_LOCKED = 6966;
	RET_HIPPLEN_AGENDA_WORK_UNAVAIBLE = 7001;
	RET_HIPPLEN_AGENDA_WORK_CONFLICT = 7002;
	RET_HIPPLEN_AGENDA_ACTION_LACK = 7003;
	RET_HIPPLEN_AGENDA_ENERGY_LACK = 7004;
	RET_HIPPLEN_AGENDA_NO_WORK_FOR_SETTLE = 7005;
	RET_HIPPLEN_AGENDA_SETTLE_WORK_MISMATCH = 7006;
	RET_HIPPLEN_PHASE_CONFIG_NO_FOUND = 7007;
	RET_HIPPLEN_TRIAL_MISSION_NOT_FINISHED = 7008;
	RET_HIPPLEN_AGENDA_SET_WHEN_TRIAL = 7009;
	RET_HIPPLEN_AGENDA_OPEN_CYCLE_FAIL = 7010;
	RET_HIPPLEN_AGENDA_SETTLE_PARA_INVALID = 7011;
	RET_HIPPLEN_AGENDA_WORK_SET_TWICE = 7012;
	RET_HIPPLEN_AGENDA_WORK_SETTLE_TWICE = 7013;
	RET_HIPPLEN_OUTFIT_NOT_WEARED = 7014;
	RET_HIPPLEN_OUTFIT_NOT_OWN = 7015;
	RET_HIPPLEN_OUTFIT_INVALID = 7016;
	RET_HIPPLEN_OUTFIT_TYPE_WEARED = 7017;
	RET_HIPPLEN_AGENDA_WORK_EMPTY = 7018;
	RET_HIPPLEN_ENDING_LOCK = 7019;
	RET_HIPPLEN_ENDING_REWARD_ALREADY_TAKEN = 7020;
	RET_HIPPLEN_TRAIT_LOCK = 7021;
	RET_HIPPLEN_AGENDA_ACTION_LEFT = 7022;
	RET_HIPPLEN_BACKWARD_TRIAL_MISSION_NOT_FINISHED = 7023;
	RET_RELICBOX_HAS_PENDING_RELIC = 7051;
	RET_RELICBOX_NO_PENDING_RELIC = 7052;
	RET_RELICBOX_TARGET_AVATAR_INVALID = 7053;
	RET_RELICBOX_TARGET_RELIC_SET_INVALID = 7054;
	RET_RELICBOX_ALLOW_POSITION_EMPTY = 7055;
	RET_RELICBOX_RELIC_CONFIG_NOT_FOUND = 7056;
	RET_RELICBOX_MAIN_AFFIX_ID_INVALID = 7057;
	RET_RELICBOX_SUB_AFFIX_INVALID = 7058;
	RET_RELICBOX_RELIC_CREATE_FAIL = 7059;
	RET_RELICBOX_LIB_CONFIG_NOT_FOUND = 7060;
	RET_RELICBOX_SHIELD_LOCK = 7061;
	RET_RELICBOX_CUSTOM_AVATAR_INVALID = 7062;
	RET_RELICBOX_CUSTOM_RELIC_SET_INVALID = 7063;
	RET_RELICBOX_RELIC_IN_BOX = 7064;
	RET_RELICBOX_OPEN_TARGET_CONFLICT = 7065;
	RET_RELICBOX_RELIC_TYPE_INVALID = 7066;
	Retcode_MBCABOJAPNF = 7101;
	Retcode_PJJKJLFAJMD = 7102;
	Retcode_JMOAEJMMLFK = 7103;
	Retcode_OGAKNDBOHIK = 7104;
	Retcode_NLNCPEKBKBG = 7105;
	Retcode_CNIOINHAGJI = 7106;
	Retcode_OKAMEKOLPDB = 7107;
	Retcode_NBICFEMBGEB = 7108;
	Retcode_GFBENDMKGMN = 7109;
	Retcode_DFJINCHMDBH = 7110;
	Retcode_FDCKOELBPFF = 7111;
	Retcode_JHLELIFPINJ = 7112;
	Retcode_HKGAOKDKFKC = 7113;
	Retcode_MIIGHHKMGHM = 7114;
	Retcode_AGEIOBENCMJ = 7115;
	Retcode_CBPGALLJEPD = 7116;
	Retcode_LFJCDIGAPNK = 7117;
	Retcode_NHBDPKEMHJC = 7118;
	Retcode_EFBLJHOPKNH = 7201;
	Retcode_DCJIIAHBEAG = 7202;
	Retcode_KEMIBMAFOMD = 7203;
	Retcode_FGFMKAFHIOH = 7204;
	Retcode_JDHMBJEKFEG = 7205;
	Retcode_PBPLIBBEKCE = 7206;
	Retcode_ONFIDLGNKCA = 7207;
	Retcode_AELGHBIMHAO = 7208;
	Retcode_BFELLHHPKFO = 7301;
	Retcode_CABLNLCHHLP = 7302;
	Retcode_DBBIPGKBKDH = 7303;
}

enum MFPDAKOIOED {
	MFPDAKOIOED_KCOCMMIACMB = 0;
	MFPDAKOIOED_FLMPFOFPAGB = 1;
}

enum CBPDACMBHGL {
	CBPDACMBHGL_MMCGPCNJGCC = 0;
	CBPDACMBHGL_CLKMDIEEDKJ = 1;
}

enum BOMHOLBACKF {
	BOMHOLBACKF_HGLIFJGHADE = 0;
	BOMHOLBACKF_PDJAJHELPKL = 1;
}

enum MEBHANNGPLJ {
	MEBHANNGPLJ_NLCDGIPGFDJ = 0;
	MEBHANNGPLJ_CHEJBPEKAGA = 1;
	MEBHANNGPLJ_DHFGMBGOKNC = 2;
	MEBHANNGPLJ_BFEAJGDDGKL = 3;
	MEBHANNGPLJ_EIMNKKEFOBC = 4;
	MEBHANNGPLJ_LNDPEIKNLAF = 5;
	MEBHANNGPLJ_OCNKGOMPLJO = 6;
}
message HJACHMJFEAH {
	uint32 PCPDHEIEJFO = 1; // offset: 24
	uint32 slot = 2; // offset: 28
}
message IKAHKMNCFDN {
	uint32 PCPDHEIEJFO = 1; // offset: 24
	uint32 slot = 2; // offset: 28
}
message IIONNFELFEF {
	uint32 dice_slot_id = 1; // offset: 32
	uint32 pose = 2; // offset: 36
	repeated uint32 DMIOBEKLDED = 3; // offset: 24
}
message BFAKMCIJFCB {
	repeated IIONNFELFEF PKMHMGAEAGO = 1; // offset: 32
	repeated HJACHMJFEAH PNHLAAMNGFE = 2; // offset: 16
	BOMHOLBACKF GLOGEMFDMJG = 3; // offset: 40
}
message JPAOIPLDKHB {
	repeated IKAHKMNCFDN BJPHDKEBOBK = 1; // offset: 24
	BFAKMCIJFCB NLJBJMDPBGN = 2; // offset: 32
	int64 DBIKJPDBMOE = 3; // offset: 40
	int64 CMHKFNFKGOI = 4; // offset: 48
	uint32 HBKEPFKDAMI = 5; // offset: 56
	uint32 GAEKEFEKCBD = 6; // offset: 60
}
message PBMDEBCGNMD {
	MNCBEDBDDHL IKJNIKIGFLF = 6; // offset: 24
	uint32 DLKOEIANIMK = 7; // offset: 40
	JPAOIPLDKHB PKHFMJDNKOE = 11; // offset: 16
}
message HMACEHDGGHB {
	repeated IKAHKMNCFDN BJPHDKEBOBK = 1; // offset: 16
	uint32 HBKEPFKDAMI = 2; // offset: 32
	int64 CMHKFNFKGOI = 3; // offset: 40
}
message JOLAHHGIFHA {
	Vector pos_index = 1; // offset: 24
	Vector rot_index = 2; // offset: 32
	float ICNANKMDJIC = 3; // offset: 64
	Vector GHMKFMBDKNE = 4; // offset: 40
	float GHEMGLKGKLC = 5; // offset: 56
	uint32 FPHBEHJJBIA = 6; // offset: 60
	bool MGIOLDGHPMA = 7; // offset: 68
	int64 time_stamp = 8; // offset: 48
}
message MHNNEFBOPIE {
	uint32 op_uid = 1; // offset: 32
	repeated JOLAHHGIFHA JENKGODEIOM = 2; // offset: 16
}
message PEEEEGAPCOK {
	uint32 PLPPPCEPBDO = 1; // offset: 32
	uint32 op_uid = 2; // offset: 36
	uint32 OOCPKIGPEHP = 3; // offset: 40
	int64 CMIEOOODDIA = 4; // offset: 48
	string AALDPOAKJBK = 5; // offset: 24
}
message IKBDJLNEPBH {
	repeated PEEEEGAPCOK HFLOPHNBKGN = 1; // offset: 24
}
message MIKGMGBHLEN {
	oneof IBANGBLDNIG {
		string message_text = 1; // offset: 24
		uint32 extra_id = 2; // offset: 24
	}
}

// Obf: JGJCDABBNIJ
enum CmdActiveType {
	JGJCDABBNIJ_NLCDGIPGFDJ = 0;
	CmdGetActiveActivityDataScRsp = 9558;
	CmdGetActiveActivityDataCsReq = 9568;
	CmdTakeActiveActivityRewardScRsp = 9562;
	CmdTakeActiveActivityRewardCsReq = 9553;
	CmdActiveActivityDataChangeScNotify = 9552;
}

// Obf: ActiveActivityData
message ActiveActivityData {
	uint32 id = 3; // offset: 32
	uint32 FODLNKPNION = 5; // offset: 36
	uint32 DBIFEEDMAOF = 8; // offset: 40
	uint32 panel_id = 9; // offset: 48
	repeated uint32 taken_star_rewards = 12; // offset: 16
	uint32 CDMIKICANEP = 15; // offset: 44
}

// Obf: NCGDBKBGDDD
// Type: Req
// CmdID: 9568
message GetActiveActivityDataCsReq {
}

// Obf: OGGACDOLAOF
// Type: Rsp
// CmdID: 9558
message GetActiveActivityDataScRsp {
	repeated ActiveActivityData HCLGPDFBDNP = 6; // offset: 24
	uint32 retcode = 14; // offset: 32
}

// Obf: FEHIEJJHDPM
// Type: Req
// CmdID: 9553
message TakeActiveActivityRewardCsReq {
	uint32 id = 13; // offset: 24
}

// Obf: LKELMFPNKJC
// Type: Rsp
// CmdID: 9562
message TakeActiveActivityRewardScRsp {
	uint32 retcode = 2; // offset: 40
	ActiveActivityData ANFFLNDCGLG = 9; // offset: 16
	ItemList reward = 14; // offset: 24
}

// Obf: EDJDFEIOACG
// Type: Notify
// CmdID: 9552
message ActiveActivityDataChangeScNotify {
	ActiveActivityData ANFFLNDCGLG = 14; // offset: 16
}

// Obf: AEOMPALBAAH
enum CmdActivityType {
	AEOMPALBAAH_NLCDGIPGFDJ = 0;
	CmdStartTrialActivityCsReq = 2698;
	CmdTakeRewardScRsp = 2683;
	CmdTakeTrialActivityRewardCsReq = 2619;
	CmdLeaveTrialActivityScRsp = 2655;
	CmdSubmitMaterialSubmitActivityMaterialScRsp = 2645;
	CmdTakeRewardCsReq = 2623;
	CmdTakeLoginActivityRewardScRsp = 2658;
	CmdLeaveTrialActivityCsReq = 2666;
	CmdGetLoginActivityScRsp = 2678;
	CmdTakeLoginActivityRewardCsReq = 2693;
	AEOMPALBAAH_FGHJOMBPEKM = 2651;
	CmdChooseAvatarScRsp = 2627;
	CmdGetMaterialSubmitActivityDataCsReq = 2611;
	CmdSubmitMaterialSubmitActivityMaterialCsReq = 2648;
	CmdGetMaterialSubmitActivityDataScRsp = 2636;
	CmdGetDataCsReq = 2606;
	CmdCurTrialActivityScNotify = 2616;
	CmdChooseAvatarCsReq = 2657;
	CmdGetLoginActivityCsReq = 2625;
	CmdTakeMaterialSubmitActivityRewardScRsp = 2665;
	CmdStartTrialActivityScRsp = 2662;
	CmdGetActivityScheduleConfigCsReq = 2688;
	CmdEnterTrialActivityStageScRsp = 2646;
	CmdTrialActivityDataChangeScNotify = 2637;
	CmdTakeTrialActivityRewardScRsp = 2628;
	CmdGetTrialActivityDataScRsp = 2694;
	CmdTakeMaterialSubmitActivityRewardCsReq = 2669;
	CmdGetTrialActivityDataCsReq = 2682;
	CmdGetDataScRsp = 2674;
	CmdGetActivityScheduleConfigScRsp = 2681;
}

enum TrialActivityStatus {
	TRIAL_ACTIVITY_STATUS_NONE = 0;
	TRIAL_ACTIVITY_STATUS_FINISH = 1;
}
message LoginActivityData {
	uint32 login_days = 3; // offset: 32
	uint32 panel_id = 7; // offset: 36
	repeated uint32 MOIAHCMHNEO = 13; // offset: 24
	uint32 id = 15; // offset: 40
}

// Obf: JLKHCGGLIMF
// Type: Req
// CmdID: 2625
message GetLoginActivityCsReq {
}

// Obf: BJDJGMHNGGJ
// Type: Rsp
// CmdID: 2678
message GetLoginActivityScRsp {
	repeated LoginActivityData login_activity_list = 11; // offset: 16
	uint32 retcode = 15; // offset: 32
}

// Obf: IIAIMCOFMGH
// Type: Req
// CmdID: 2693
message TakeLoginActivityRewardCsReq {
	uint32 take_days = 1; // offset: 28
	uint32 id = 14; // offset: 24
}

// Obf: CGKKBILNMLI
// Type: Rsp
// CmdID: 2658
message TakeLoginActivityRewardScRsp {
	ItemList reward = 1; // offset: 16
	uint32 panel_id = 6; // offset: 32
	uint32 retcode = 9; // offset: 40
	uint32 take_days = 12; // offset: 36
	uint32 id = 14; // offset: 44
}
message ActivityScheduleData {
	int64 begin_time = 3; // offset: 32
	uint32 panel_id = 8; // offset: 28
	int64 end_time = 12; // offset: 40
	uint32 activity_id = 13; // offset: 24
}

// Obf: HIMPABPFMPG
// Type: Req
// CmdID: 2688
message GetActivityScheduleConfigCsReq {
}

// Obf: GHBJFLPLIGA
// Type: Rsp
// CmdID: 2681
message GetActivityScheduleConfigScRsp {
	repeated ActivityScheduleData schedule_data = 7; // offset: 16
	uint32 retcode = 8; // offset: 32
}

// Obf: TrialActivityInfo
message TrialActivityInfo {
	bool taken_reward = 1; // offset: 28
	uint32 stage_id = 12; // offset: 24
}

// Obf: JJPAAFLHHKC
// Type: Req
// CmdID: 2682
message GetTrialActivityDataCsReq {
}
message PAALDKHKOLE {
	uint32 enhanced_id = 4; // offset: 28
	uint32 avatar_id = 14; // offset: 24
}

// Obf: GAPLJKIPAOF
// Type: Rsp
// CmdID: 2694
message GetTrialActivityDataScRsp {
	uint32 activity_stage_id = 1; // offset: 40
	repeated TrialActivityInfo trial_activity_info_list = 7; // offset: 24
	repeated PAALDKHKOLE OBOPMFBGBAE = 10; // offset: 16
	uint32 retcode = 15; // offset: 44
}

// Obf: ELOPGADIBBE
// Type: Notify
// CmdID: 2637
message TrialActivityDataChangeScNotify {
	TrialActivityInfo trial_activity_info = 1; // offset: 32
	repeated PAALDKHKOLE OBOPMFBGBAE = 9; // offset: 16
}
message EnterTrialActivityStageCsReq {
	uint32 stage_id = 12; // offset: 24
}

// Obf: FDFJIMBJCED
// Type: Rsp
// CmdID: 2646
message EnterTrialActivityStageScRsp {
	SceneBattleInfo battle_info = 2; // offset: 24
	uint32 retcode = 6; // offset: 32
}

// Obf: NAGFBDNFCEP
// Type: Req
// CmdID: 2619
message TakeTrialActivityRewardCsReq {
	uint32 stage_id = 2; // offset: 24
}

// Obf: BGEFEAPPGKN
// Type: Rsp
// CmdID: 2628
message TakeTrialActivityRewardScRsp {
	uint32 retcode = 4; // offset: 36
	uint32 stage_id = 12; // offset: 32
	ItemList reward = 13; // offset: 16
}

// Obf: DBJDNDEIKDM
// Type: Req
// CmdID: 2698
message StartTrialActivityCsReq {
	uint32 stage_id = 5; // offset: 24
}

// Obf: OIMNAIDOGJI
// Type: Rsp
// CmdID: 2662
message StartTrialActivityScRsp {
	uint32 stage_id = 9; // offset: 28
	uint32 retcode = 11; // offset: 24
}

// Type: Req
// CmdID: 2666
message LeaveTrialActivityCsReq {
	uint32 stage_id = 7; // offset: 24
}

// Type: Rsp
// CmdID: 2655
message LeaveTrialActivityScRsp {
	uint32 stage_id = 7; // offset: 24
	uint32 retcode = 10; // offset: 28
}

// Obf: BKHKMFEDPBE
// Type: Notify
// CmdID: 2616
message CurTrialActivityScNotify {
	uint32 activity_stage_id = 8; // offset: 28
	TrialActivityStatus status = 9; // offset: 24
}
message KPMAKCHCDMH {
	bool BAONIPOKCPL = 5; // offset: 29
	uint32 panel_id = 6; // offset: 32
	uint32 LNOCOOCMNCI = 7; // offset: 24
	bool is_taken_reward = 10; // offset: 28
}

// Obf: POCKHIABCKH
// Type: Req
// CmdID: 2611
message GetMaterialSubmitActivityDataCsReq {
}

// Obf: HMLBPKOFHLM
// Type: Rsp
// CmdID: 2636
message GetMaterialSubmitActivityDataScRsp {
	uint32 retcode = 1; // offset: 32
	repeated KPMAKCHCDMH JJNFLKKAOFI = 9; // offset: 24
}

// Obf: DNGFEGEBEID
// Type: Req
// CmdID: 2648
message SubmitMaterialSubmitActivityMaterialCsReq {
	uint32 LNOCOOCMNCI = 10; // offset: 24
}

// Obf: KMCLDIDKHBA
// Type: Rsp
// CmdID: 2645
message SubmitMaterialSubmitActivityMaterialScRsp {
	uint32 retcode = 2; // offset: 32
	KPMAKCHCDMH MEAEIKFLBPJ = 14; // offset: 24
}

// Obf: OGOOFKIKDEB
// Type: Req
// CmdID: 2669
message TakeMaterialSubmitActivityRewardCsReq {
	uint32 LNOCOOCMNCI = 5; // offset: 24
}

// Obf: CNMMLLCIGOG
// Type: Rsp
// CmdID: 2665
message TakeMaterialSubmitActivityRewardScRsp {
	uint32 LNOCOOCMNCI = 1; // offset: 32
	ItemList reward = 7; // offset: 24
	uint32 retcode = 8; // offset: 36
}

// Obf: DKHBPNGPOKK
// Type: Req
// CmdID: 2606
message GetDataCsReq {
}

// Obf: PILLGGGIPAF
// Type: Rsp
// CmdID: 2674
message GetDataScRsp {
	uint32 retcode = 7; // offset: 24
	bool is_taken_reward = 10; // offset: 32
	uint32 avatar_id = 13; // offset: 28
}

// Obf: CKFKJMNHNGM
// Type: Req
// CmdID: 2657
message ChooseAvatarCsReq {
	uint32 avatar_id = 12; // offset: 24
}

// Obf: LKHJDNMDJNC
// Type: Rsp
// CmdID: 2627
message ChooseAvatarScRsp {
	uint32 avatar_id = 4; // offset: 24
	uint32 retcode = 7; // offset: 28
}

// Obf: KJPLKPNPFBE
// Type: Req
// CmdID: 2623
message TakeRewardCsReq {
}

// Obf: HJDKFAGLCEH
// Type: Rsp
// CmdID: 2683
message TakeRewardScRsp {
	uint32 retcode = 8; // offset: 32
	ItemList reward = 14; // offset: 16
}

// Obf: KFCMCPILLKE
enum CmdActivityRewardStatType {
	KFCMCPILLKE_HBPEDDCOJDB = 0;
	CmdGetAllActivityRewardCountDataCsReq = 9113;
	CmdGetActivityRewardCountDataScRsp = 9116;
	CmdGetActivityRewardCountDataCsReq = 9114;
	CmdGetActivityHotDataCsReq = 9120;
	CmdGetAllActivityRewardCountDataScRsp = 9115;
	CmdGetActivityHotDataScRsp = 9111;
}
message BOMPFHOMMBH {
	uint32 target = 2; // offset: 28
	uint32 num = 7; // offset: 32
	uint32 item_id = 15; // offset: 24
}
message EFGIHHJGCFA {
	uint32 panel_id = 2; // offset: 32
	repeated BOMPFHOMMBH PGMDGPEKDGB = 9; // offset: 16
}

// Obf: LHPPNBMEBKD
// Type: Req
// CmdID: 9120
message GetActivityHotDataCsReq {
}

// Obf: NDKGIMLKJHA
// Type: Rsp
// CmdID: 9111
message GetActivityHotDataScRsp {
	repeated EFGIHHJGCFA content_package_list = 2; // offset: 16
	uint32 retcode = 11; // offset: 32
}

// Obf: IBDDBLNJFPF
// Type: Req
// CmdID: 9113
message GetAllActivityRewardCountDataCsReq {
}

// Obf: JLLBOPLHIKD
// Type: Rsp
// CmdID: 9115
message GetAllActivityRewardCountDataScRsp {
	repeated EFGIHHJGCFA content_package_list = 9; // offset: 16
	uint32 retcode = 10; // offset: 32
}

// Obf: JNLMHLEACBE
// Type: Req
// CmdID: 9114
message GetActivityRewardCountDataCsReq {
	repeated uint32 DDMEHPDHPLM = 1; // offset: 24
}

// Obf: BHCFGOHFLIO
// Type: Rsp
// CmdID: 9116
message GetActivityRewardCountDataScRsp {
	repeated EFGIHHJGCFA content_package_list = 3; // offset: 16
	uint32 retcode = 9; // offset: 32
}

// Obf: PCHGEBMKBDD
enum CmdAdventureType {
	PCHGEBMKBDD_NLCDGIPGFDJ = 0;
	CmdQuickStartCocoonStageCsReq = 1388;
	CmdGetFarmStageGachaInfoCsReq = 1393;
	CmdGetFarmStageGachaInfoScRsp = 1358;
	CmdFarmElementSweepCsReq = 1371;
	CmdQuickStartCocoonStageScRsp = 1381;
	CmdCocoonSweepScRsp = 1313;
	CmdStartQuickFarmElementRsp = 1347;
	CmdFarmElementSweepScRsp = 1340;
	CmdCocoonSweepCsReq = 1326;
	CmdStartQuickFarmElementCsReq = 1386;
}
message FarmStageGachaInfo {
	int64 end_time = 8; // offset: 24
	uint32 gacha_id = 13; // offset: 32
	int64 begin_time = 15; // offset: 40
}

// Obf: OMAAIFEDKOO
// Type: Req
// CmdID: 1393
message GetFarmStageGachaInfoCsReq {
	repeated uint32 farm_stage_gacha_id_list = 10; // offset: 24
}

// Obf: AECPNKPOOCP
// Type: Rsp
// CmdID: 1358
message GetFarmStageGachaInfoScRsp {
	uint32 retcode = 5; // offset: 32
	repeated FarmStageGachaInfo farm_stage_gacha_info_list = 15; // offset: 24
}

// Obf: JLGGPEBAIMB
// Type: Req
// CmdID: 1388
message QuickStartCocoonStageCsReq {
	uint32 world_level = 4; // offset: 36
	uint32 HECCOBFBJFI = 5; // offset: 32
	uint32 cocoon_id = 7; // offset: 44
	uint32 wave = 9; // offset: 40
	NAJKNJLJPEP CBJCKEIGGNL = 15; // offset: 16
}

// Obf: MHDMHAEADMI
// Type: Rsp
// CmdID: 1381
message QuickStartCocoonStageScRsp {
	SceneBattleInfo battle_info = 4; // offset: 24
	uint32 retcode = 8; // offset: 40
	uint32 wave = 9; // offset: 32
	uint32 cocoon_id = 13; // offset: 36
}

// Obf: GJNOEFFJDJK
// Type: Req
// CmdID: 1386
message StartQuickFarmElementCsReq {
	uint32 HECCOBFBJFI = 1; // offset: 24
	uint32 PAOFHFLFFHD = 6; // offset: 28
	uint32 world_level = 12; // offset: 32
}

// Obf: JDNANJFNLDF
// Type: Rsp
// CmdID: 1347
message StartQuickFarmElementRsp {
	uint32 retcode = 3; // offset: 36
	uint32 PAOFHFLFFHD = 6; // offset: 40
	uint32 world_level = 9; // offset: 32
	SceneBattleInfo battle_info = 13; // offset: 16
}

// Obf: ACABKOGJAEG
// Type: Req
// CmdID: 1326
message CocoonSweepCsReq {
	uint32 world_level = 4; // offset: 28
	uint32 cocoon_id = 9; // offset: 24
}

// Obf: OOOHICJHPGL
// Type: Rsp
// CmdID: 1313
message CocoonSweepScRsp {
	ItemList multiple_drop_data = 2; // offset: 16
	ItemList drop_data = 10; // offset: 24
	uint32 cocoon_id = 13; // offset: 40
	uint32 retcode = 14; // offset: 44
	uint32 NCEFJFOHGBI = 15; // offset: 48
}

// Obf: JLHKLAFACIJ
// Type: Req
// CmdID: 1371
message FarmElementSweepCsReq {
	uint32 PAOFHFLFFHD = 9; // offset: 24
	uint32 world_level = 11; // offset: 28
}

// Obf: HNKJOONKGOK
// Type: Rsp
// CmdID: 1340
message FarmElementSweepScRsp {
	uint32 retcode = 2; // offset: 36
	ItemList multiple_drop_data = 3; // offset: 24
	uint32 PAOFHFLFFHD = 14; // offset: 32
}

// Obf: BAIILOJDAIB
enum CmdAetherDivideType {
	BAIILOJDAIB_NLCDGIPGFDJ = 0;
	CmdAetherDivideLineupScNotify = 4832;
	CmdAetherDivideSpiritInfoScNotify = 4840;
	CmdEquipSkillCoreCsReq = 4833;
	CmdAetherDivideSkillItemScNotify = 4842;
	CmdAetherDivideSpiritExpUpCsReq = 4818;
	CmdTakeOffSkillCoreCsReq = 4802;
	CmdAetherDivideRefreshEndlessScNotify = 4805;
	CmdSetAetherDivideLineUpCsReq = 4817;
	CmdSwitchAetherDivideLineUpSlotScRsp = 4815;
	CmdAetherDivideTakeChallengeRewardScRsp = 4812;
	CmdGetAetherDivideChallengeInfoCsReq = 4826;
	BAIILOJDAIB_DDLDIFLGGKH = 4809;
	CmdLeaveAetherDivideSceneCsReq = 4837;
	CmdStartAetherDivideChallengeBattleScRsp = 4807;
	CmdDMAMEFJBCLE = 4823;
	CmdAetherDivideSpiritExpUpScRsp = 4843;
	CmdSwitchAetherDivideLineUpSlotCsReq = 4835;
	CmdGetAetherDivideChallengeInfoScRsp = 4845;
	CmdTakeOffSkillCoreScRsp = 4814;
	CmdAetherDivideTakeChallengeRewardCsReq = 4841;
	CmdSetAetherDivideLineUpScRsp = 4829;
	CmdStartAetherDivideSceneBattleCsReq = 4819;
	CmdAetherDivideRefreshEndlessScRsp = 4830;
	CmdGetAetherDivideInfoCsReq = 4824;
	CmdAetherDivideTainerInfoScNotify = 4847;
	CmdGetAetherDivideInfoScRsp = 4820;
	CmdEquipSkillCoreScRsp = 4806;
	CmdStartAetherDivideStageBattleScRsp = 4808;
	CmdAetherDivideFinishChallengeScNotify = 4839;
	CmdStartAetherDivideChallengeBattleCsReq = 4803;
	CmdStartAetherDivideSceneBattleScRsp = 4848;
	CmdAetherDivideRefreshEndlessCsReq = 4836;
	CmdLeaveAetherDivideSceneScRsp = 4844;
	CmdStartAetherDivideStageBattleCsReq = 4813;
}
message BGPNJKENONA {
}

// Type: Rsp
// CmdID: 4823
message DMAMEFJBCLE {
	uint32 retcode = 9; // offset: 24
}

// Type: Req
// CmdID: 4837
message LeaveAetherDivideSceneCsReq {
}

// Type: Rsp
// CmdID: 4844
message LeaveAetherDivideSceneScRsp {
	uint32 retcode = 15; // offset: 24
}

// Obf: LACNGKFJELH
// Type: Req
// CmdID: 4819
message StartAetherDivideSceneBattleCsReq {
	repeated AssistMonsterEntityInfo assist_monster_entity_info = 1; // offset: 32
	uint32 skill_index = 5; // offset: 40
	uint32 attacked_by_entity_id = 6; // offset: 48
	uint32 cast_entity_id = 7; // offset: 44
	repeated uint32 assist_monster_entity_id_list = 10; // offset: 16
}

// Obf: MHMOEHAHION
// Type: Rsp
// CmdID: 4848
message StartAetherDivideSceneBattleScRsp {
	uint32 cast_entity_id = 2; // offset: 32
	uint32 retcode = 9; // offset: 36
	AetherDivideBattleInfo battle_info = 13; // offset: 24
}

// Obf: KPNFCKLHLIP
// Type: Req
// CmdID: 4803
message StartAetherDivideChallengeBattleCsReq {
	uint32 FDKFIOLMPHA = 6; // offset: 28
	uint32 challenge_id = 15; // offset: 24
}

// Obf: FAOEGBHJBED
// Type: Rsp
// CmdID: 4807
message StartAetherDivideChallengeBattleScRsp {
	uint32 retcode = 11; // offset: 32
	AetherDivideBattleInfo battle_info = 15; // offset: 16
}
message POPJNEHGMIH {
	uint32 slot = 3; // offset: 28
	uint32 item_id = 5; // offset: 24
}
message GHBICGMEFPL {
	uint32 exp = 2; // offset: 44
	uint32 promotion = 3; // offset: 40
	uint32 APGDJGPGGMO = 4; // offset: 48
	uint32 EKKHLMEKJMK = 6; // offset: 52
	SpBarInfo sp_bar = 14; // offset: 24
	repeated POPJNEHGMIH LICLEEICAOE = 15; // offset: 16
}
message OCCAABPFBLF {
	repeated uint32 AJHCCDONNEK = 7; // offset: 24
	uint32 slot = 9; // offset: 32
}
message DMGDLEHEDFB {
	uint32 item_id = 1; // offset: 24
	uint32 num = 8; // offset: 28
	uint32 JMMCEJOKMMG = 13; // offset: 32
}

// Obf: DFBGKPADOEC
// Type: Req
// CmdID: 4824
message GetAetherDivideInfoCsReq {
}

// Obf: GHNMFCHEGGK
// Type: Rsp
// CmdID: 4820
message GetAetherDivideInfoScRsp {
	uint32 FOCACJHLKDB = 1; // offset: 56
	repeated GHBICGMEFPL CCHDKJMFNEP = 4; // offset: 16
	repeated DMGDLEHEDFB skill_list = 6; // offset: 24
	uint32 BDNOLFBJBGJ = 7; // offset: 64
	uint32 JAOAHONIBJI = 8; // offset: 48
	uint32 NCMLHPAALEP = 10; // offset: 52
	repeated OCCAABPFBLF lineup_list = 12; // offset: 32
	uint32 retcode = 15; // offset: 60
}

// Obf: OEDAEKHDOOC
// Type: Req
// CmdID: 4817
message SetAetherDivideLineUpCsReq {
	OCCAABPFBLF lineup = 13; // offset: 24
}

// Obf: AAOABMHALOJ
// Type: Rsp
// CmdID: 4829
message SetAetherDivideLineUpScRsp {
	uint32 retcode = 3; // offset: 32
	OCCAABPFBLF lineup = 12; // offset: 24
}

// Obf: DAKIMICINOH
// Type: Req
// CmdID: 4833
message EquipSkillCoreCsReq {
	uint32 item_id = 8; // offset: 28
	uint32 APGDJGPGGMO = 14; // offset: 24
	uint32 slot = 15; // offset: 32
}

// Obf: LGOCBAKHGEJ
// Type: Rsp
// CmdID: 4806
message EquipSkillCoreScRsp {
	uint32 retcode = 1; // offset: 40
	DMGDLEHEDFB LCCMCPMCLFH = 6; // offset: 16
	GHBICGMEFPL IAGNGEGKDOL = 11; // offset: 24
}

// Obf: PLAFIBPGBKK
// Type: Req
// CmdID: 4802
message TakeOffSkillCoreCsReq {
	uint32 slot = 7; // offset: 24
	uint32 APGDJGPGGMO = 11; // offset: 28
}

// Obf: JCJIEMCKKDP
// Type: Rsp
// CmdID: 4814
message TakeOffSkillCoreScRsp {
	GHBICGMEFPL IAGNGEGKDOL = 2; // offset: 24
	uint32 retcode = 6; // offset: 40
	DMGDLEHEDFB LCCMCPMCLFH = 11; // offset: 32
}

// Obf: HMMMDEEIJKC
// Type: Req
// CmdID: 4818
message AetherDivideSpiritExpUpCsReq {
	uint32 NCAOMBHCGNA = 1; // offset: 28
	uint32 APGDJGPGGMO = 2; // offset: 32
	uint32 FHAEENDPAAG = 15; // offset: 24
}

// Obf: ELCCBHEBFHO
// Type: Rsp
// CmdID: 4843
message AetherDivideSpiritExpUpScRsp {
	GHBICGMEFPL IAGNGEGKDOL = 10; // offset: 24
	uint32 retcode = 13; // offset: 32
}

// Obf: BNBKEHDGIDK
// Type: Req
// CmdID: 4835
message SwitchAetherDivideLineUpSlotCsReq {
	uint32 FDKFIOLMPHA = 3; // offset: 24
}

// Obf: OBIOEKFELPL
// Type: Rsp
// CmdID: 4815
message SwitchAetherDivideLineUpSlotScRsp {
	uint32 FDKFIOLMPHA = 1; // offset: 28
	uint32 retcode = 7; // offset: 24
}

// Obf: GIKEONGNHEH
// Type: Req
// CmdID: 4813
message StartAetherDivideStageBattleCsReq {
	uint32 event_id = 12; // offset: 24
}

// Obf: CPAHMLLDHJC
// Type: Rsp
// CmdID: 4808
message StartAetherDivideStageBattleScRsp {
	uint32 retcode = 4; // offset: 32
	AetherDivideBattleInfo battle_info = 9; // offset: 24
}

// Obf: PMJECJLKNLJ
// Type: Notify
// CmdID: 4832
message AetherDivideLineupScNotify {
	OCCAABPFBLF lineup = 1; // offset: 16
}

// Obf: BNFGJMLJDAK
// Type: Notify
// CmdID: 4840
message AetherDivideSpiritInfoScNotify {
	repeated GHBICGMEFPL FGBAPJKDFOC = 11; // offset: 24
}

// Obf: CADOMBICGJI
// Type: Req
// CmdID: 4826
message GetAetherDivideChallengeInfoCsReq {
}

// Obf: MFELEEHGHLA
// Type: Rsp
// CmdID: 4845
message GetAetherDivideChallengeInfoScRsp {
	uint32 DIGFECBHCPP = 3; // offset: 44
	uint32 retcode = 9; // offset: 40
	repeated uint32 NADKCDEOIHJ = 10; // offset: 16
	repeated uint32 OHJHICLJABM = 14; // offset: 24
}

// Obf: KMHNCGCPBEF
// Type: Notify
// CmdID: 4839
message AetherDivideFinishChallengeScNotify {
	uint32 challenge_id = 10; // offset: 24
}

// Obf: DKMBKGCHLNE
// Type: Notify
// CmdID: 4847
message AetherDivideTainerInfoScNotify {
	uint32 FOCACJHLKDB = 13; // offset: 24
}

// Obf: PHINIAKLBLJ
// Type: Notify
// CmdID: 4842
message AetherDivideSkillItemScNotify {
	uint32 num = 6; // offset: 28
	uint32 item_id = 15; // offset: 24
}

// Obf: GNBCBNCKLHE
// Type: Req
// CmdID: 4836
message AetherDivideRefreshEndlessCsReq {
}

// Obf: PCOAAAFDNAA
// Type: Rsp
// CmdID: 4830
message AetherDivideRefreshEndlessScRsp {
	uint32 JAOAHONIBJI = 6; // offset: 24
	uint32 retcode = 11; // offset: 28
}

// Obf: JDMLEOGCCCA
// Type: Notify
// CmdID: 4805
message AetherDivideRefreshEndlessScNotify {
	uint32 JAOAHONIBJI = 3; // offset: 24
}

// Obf: CEDCCCCMOCL
// Type: Req
// CmdID: 4841
message AetherDivideTakeChallengeRewardCsReq {
	uint32 challenge_id = 14; // offset: 24
}

// Obf: FBBKDPMCLFK
// Type: Rsp
// CmdID: 4812
message AetherDivideTakeChallengeRewardScRsp {
	uint32 challenge_id = 5; // offset: 36
	ItemList reward = 8; // offset: 24
	uint32 retcode = 15; // offset: 32
}

// Obf: LEJBAOJGJGI
enum CmdAiPamType {
	LEJBAOJGJGI_JCDCNPPCNEO = 0;
	CmdAiPamAskSettlementScNotify = 9540;
	CmdAiPamResponseFeedbackCommentScRsp = 9533;
	CmdAiPamResponseFeedbackCsReq = 9520;
	CmdAiPamResponseFeedbackCommentCsReq = 9529;
	CmdBKHLGPCDLGL = 9543;
	CmdAiPamMotionScNotify = 9515;
	CmdHGGMNLNJPHG = 9508;
	CmdAiPamSendMsgCsReq = 9509;
	CmdGetAiPamNextQuestionScRsp = 9503;
	CmdTriggerAiPamSpeakScRsp = 9502;
	CmdGetAiPamChatHistoryCsReq = 9544;
	CmdGetAiPamNextQuestionCsReq = 9548;
	CmdKIIKHMMDHKP = 9513;
	CmdGetAiPamChatInfoScRsp = 9524;
	CmdGetAiPamChatHistoryScRsp = 9519;
	CmdUpdateAiPamSettingsCsReq = 9514;
	CmdTriggerAiPamSpeakCsReq = 9506;
	CmdUpdateAiPamSettingsScRsp = 9535;
	CmdAiPamResponseFeedbackScRsp = 9517;
	CmdRecvAiPamChatEventScNotify = 9537;
	CmdLHNMDFOPMKN = 9518;
	CmdAiPamSendMsgScRsp = 9523;
	CmdGetAiPamChatInfoCsReq = 9521;
}

// Obf: GAEBCDPICNH
// Type: Req
// CmdID: 9509
message AiPamSendMsgCsReq {
	MessageChatData content = 1; // offset: 16
	bool GFIJJLNOOOM = 4; // offset: 37
	bool CLDBFBNOLNP = 6; // offset: 38
	FKNKNLGMACL role = 8; // offset: 32
	bool LOODCBCFNMJ = 9; // offset: 36
}

// Obf: NINBBMNLKEH
// Type: Rsp
// CmdID: 9523
message AiPamSendMsgScRsp {
	FKNKNLGMACL role = 3; // offset: 24
	uint32 retcode = 9; // offset: 28
}

// Obf: FKCDLPGBLEE
// Type: Notify
// CmdID: 9537
message RecvAiPamChatEventScNotify {
	FAIFDBLLGKK OOOACLEFDGM = 14; // offset: 16
}

// Obf: EAJHAKEBDBG
// Type: Req
// CmdID: 9544
message GetAiPamChatHistoryCsReq {
	uint32 target_side = 11; // offset: 24
}

// Obf: JACFBOEDEEB
// Type: Rsp
// CmdID: 9519
message GetAiPamChatHistoryScRsp {
	uint32 retcode = 2; // offset: 32
	uint32 target_side = 10; // offset: 36
	repeated ChatMessageData JPCMGNGNONJ = 14; // offset: 24
}

// Obf: OFPHPFENACO
// Type: Req
// CmdID: 9548
message GetAiPamNextQuestionCsReq {
	FKNKNLGMACL role = 10; // offset: 24
}

// Obf: OLNIMIPEKAB
// Type: Rsp
// CmdID: 9503
message GetAiPamNextQuestionScRsp {
	uint32 retcode = 4; // offset: 36
	repeated NEKAOLPJKEE KDOHKGKBFCH = 9; // offset: 16
	FKNKNLGMACL role = 12; // offset: 32
}

// Obf: JFJKBMAEEMF
// Type: Req
// CmdID: 9521
message GetAiPamChatInfoCsReq {
}

// Obf: JBCKBPGGDCO
// Type: Rsp
// CmdID: 9524
message GetAiPamChatInfoScRsp {
	repeated FAIFDBLLGKK BJLHDBPPILI = 2; // offset: 24
	bool AGANFJKBFMA = 5; // offset: 42
	uint32 retcode = 9; // offset: 48
	bool OKCIPPLKGCD = 10; // offset: 40
	bool LOCNGFLCENG = 11; // offset: 41
	string ACFENKABBKK = 12; // offset: 32
	uint32 JKIHICLOPKM = 14; // offset: 44
}

// Obf: CPCLIOIHCKI
// Type: Req
// CmdID: 9520
message AiPamResponseFeedbackCsReq {
	bool NMMJBGFDNAI = 4; // offset: 28
	bool IAJAOMAKAHA = 6; // offset: 29
	FKNKNLGMACL role = 13; // offset: 24
}

// Obf: CBJOMIPDHJF
// Type: Rsp
// CmdID: 9517
message AiPamResponseFeedbackScRsp {
	bool NMMJBGFDNAI = 4; // offset: 28
	uint32 retcode = 7; // offset: 32
	FKNKNLGMACL role = 8; // offset: 24
	bool IAJAOMAKAHA = 12; // offset: 29
}

// Obf: BAHBEAHIFCC
// Type: Req
// CmdID: 9529
message AiPamResponseFeedbackCommentCsReq {
	string IMNOJNCGGNI = 9; // offset: 16
	uint32 OLLBLNAGMPC = 12; // offset: 32
}

// Obf: IGDMGNCPFCM
// Type: Rsp
// CmdID: 9533
message AiPamResponseFeedbackCommentScRsp {
	uint32 retcode = 5; // offset: 24
}

// Obf: FLECMDNBJMM
// Type: Req
// CmdID: 9506
message TriggerAiPamSpeakCsReq {
	FKNKNLGMACL role = 1; // offset: 28
	uint32 JMPPMNAONHM = 2; // offset: 24
}

// Obf: KIDOEDMJDGJ
// Type: Rsp
// CmdID: 9502
message TriggerAiPamSpeakScRsp {
	uint32 JMPPMNAONHM = 2; // offset: 28
	uint32 retcode = 12; // offset: 32
	FKNKNLGMACL role = 13; // offset: 24
}

// Obf: LILHIEALFOC
// Type: Req
// CmdID: 9514
message UpdateAiPamSettingsCsReq {
	bool LOCNGFLCENG = 6; // offset: 24
}

// Obf: JPCEIGAGLND
// Type: Rsp
// CmdID: 9535
message UpdateAiPamSettingsScRsp {
	uint32 retcode = 12; // offset: 24
	bool LOCNGFLCENG = 13; // offset: 28
}

// Obf: EPPBALGDGEF
// Type: Notify
// CmdID: 9515
message AiPamMotionScNotify {
	repeated string BLCCBDPODFM = 5; // offset: 16
}

// Type: Req
// CmdID: 9513
message KIIKHMMDHKP {
	repeated NGBBCMBMOLI MIEFCFLJLAH = 1; // offset: 16
}

// Type: Rsp
// CmdID: 9508
message HGGMNLNJPHG {
	uint32 retcode = 1; // offset: 24
}

// Type: Req
// CmdID: 9518
message LHNMDFOPMKN {
	string BLDMFDKDJDM = 1; // offset: 16
	JFCPFBLKJAB return_data = 2; // offset: 24
}

// Type: Rsp
// CmdID: 9543
message BKHLGPCDLGL {
	uint32 retcode = 3; // offset: 24
}

// Obf: HOHCCKGOOEE
// Type: Notify
// CmdID: 9540
message AiPamAskSettlementScNotify {
	MDGIOENHBEJ EIADGIMDNMO = 2; // offset: 16
}

// Obf: ENHFBPKPFDI
enum CmdAlleyType {
	ENHFBPKPFDI_NLCDGIPGFDJ = 0;
	CmdDPFGBJFOFCE = 4772;
	CmdAlleyOrderChangedScNotify = 4748;
	CmdAlleyShipmentEventEffectsScNotify = 4705;
	CmdGAAMMAACICO = 4784;
	CmdGetSaveLogisticsMapCsReq = 4741;
	CmdCKJACADHCCC = 4773;
	CmdGIFADCJKKFE = 4786;
	CmdPrestigeLevelUpScRsp = 4765;
	CmdTakePrestigeRewardCsReq = 4771;
	CmdPPJKEKEPFMF = 4747;
	CmdLogisticsGameScRsp = 4758;
	CmdPrestigeLevelUpCsReq = 4769;
	CmdGetSaveLogisticsMapScRsp = 4710;
	ENHFBPKPFDI_MLKIKMBONLC = 4742;
	CmdNGOKHFLMLNJ = 4712;
	CmdENOABFIPHOB = 4780;
	ENHFBPKPFDI_GHICLFBGFDL = 4711;
	CmdActivityRaidPlacingGameCsReq = 4775;
	CmdActivityRaidPlacingGameScRsp = 4744;
	CmdAlleyPlacingGameScRsp = 4738;
	CmdGetAlleyInfoCsReq = 4725;
	CmdLogisticsScoreRewardSyncInfoScNotify = 4735;
	CmdLogisticsInfoScNotify = 4721;
	CmdMGMDNBOLBMO = 4713;
	CmdGetAlleyInfoScRsp = 4778;
	CmdAlleyPlacingGameCsReq = 4733;
	CmdAlleyEventChangeNotify = 4726;
	CmdAlleyTakeEventRewardScRsp = 4796;
	CmdAlleyFundsScNotify = 4730;
	CmdTakePrestigeRewardScRsp = 4740;
	ENHFBPKPFDI_MONJHMOILDM = 4736;
	CmdAlleyTakeEventRewardCsReq = 4734;
	CmdLogisticsGameCsReq = 4793;
}

enum OCLNFBEAGMM {
	OCLNFBEAGMM_PHMKDHKBLDE = 0;
	OCLNFBEAGMM_CLMKNFILOLB = 1;
	OCLNFBEAGMM_KONBAMDOGDH = 2;
	OCLNFBEAGMM_JNGJIPCHJKG = 3;
	OCLNFBEAGMM_CIDIHBPFELP = 4;
	OCLNFBEAGMM_LBINPJOOJOD = 5;
	OCLNFBEAGMM_BBONHJIJLKF = 6;
	OCLNFBEAGMM_GEONEAAANKG = 7;
}

enum PFPHIIKEFIB {
	PFPHIIKEFIB_NLCDGIPGFDJ = 0;
	PFPHIIKEFIB_NOHNGBAJNGO = 1;
	PFPHIIKEFIB_JHIICNJIKPC = 2;
	PFPHIIKEFIB_JOIIBDJJOAH = 3;
}

// Obf: AJOCCOAIFIF
enum AlleyEventState {
	AJOCCOAIFIF_NAPMFFDMLEK = 0;
	AJOCCOAIFIF_EMJDKBJFFHF = 1;
	AJOCCOAIFIF_MOMHEEPILJO = 2;
	AJOCCOAIFIF_HDGPEEIJIJP = 3;
}

// Obf: CPFBHLBMJOG
// Type: Req
// CmdID: 4725
message GetAlleyInfoCsReq {
}
message JEEHGNIBIFE {
	uint32 APNAFLBGENA = 5; // offset: 24
	uint32 map_id = 10; // offset: 28
}
message GDGEIAHNDAD {
	repeated uint32 IFOKHMFNNNF = 3; // offset: 40
	repeated JEEHGNIBIFE OELPOFLBMIE = 5; // offset: 32
	repeated BOLCGIOGIBP ALOOPKCJFEA = 8; // offset: 48
	repeated IODAFIBPAGM CFNKOBKJKNK = 9; // offset: 24
}

// Obf: OAJOMNJMJLE
// Type: Rsp
// CmdID: 4778
message GetAlleyInfoScRsp {
	KPBAIEMEFFH HAMAOOBGMLO = 1; // offset: 64
	uint32 level = 2; // offset: 88
	uint32 cur_fund = 3; // offset: 80
	PICDJHEPJLC EEAACLBJODA = 4; // offset: 16
	repeated uint32 KENFKICLMGJ = 5; // offset: 56
	repeated CEKIFBMPEFH PMIFFBHOOOO = 6; // offset: 32
	repeated uint32 AMHAEPILIKF = 8; // offset: 40
	GDGEIAHNDAD NFJKAILEFAD = 9; // offset: 48
	uint32 retcode = 12; // offset: 84
	repeated uint32 LAANLLFBLDP = 14; // offset: 24
}
message GHMINCEANHG {
	uint32 LMKJLEOPKKL = 1; // offset: 28
	uint32 JAKMMNIEBGJ = 4; // offset: 24
}
message CBBPDLPAIPL {
	uint32 goods_id = 1; // offset: 32
	repeated GHMINCEANHG NJKDKIEBGHG = 9; // offset: 16
}
message AlleyPlacingShip {
	uint32 ship_id = 4; // offset: 32
	repeated CBBPDLPAIPL goods_list = 7; // offset: 24
}

// Obf: DEPIILNKIPE
// Type: Req
// CmdID: 4733
message AlleyPlacingGameCsReq {
	uint32 CAAHDGFMNNO = 4; // offset: 52
	uint32 BEAKGBHFLPJ = 7; // offset: 44
	uint32 JFALDHKOAOL = 8; // offset: 40
	uint32 IDILDCBMECI = 9; // offset: 48
	uint32 JJGKLHLMMNC = 10; // offset: 56
	AlleyPlacingShip GPOMFKNHCPB = 11; // offset: 24
	uint32 DPPOHBGCAGF = 12; // offset: 36
	uint32 cost_time = 13; // offset: 60
	uint32 BNPKLKIENIK = 14; // offset: 32
}

// Obf: EGJCAPACHMJ
// Type: Rsp
// CmdID: 4738
message AlleyPlacingGameScRsp {
	uint32 event_id = 3; // offset: 32
	uint32 LFMHGMJELEE = 4; // offset: 28
	uint32 JKBINMNFPKK = 5; // offset: 44
	uint32 CIBNBDLMEIC = 7; // offset: 48
	uint32 AJBEOCIEPKP = 9; // offset: 36
	uint32 BIJPMOBEIJC = 12; // offset: 24
	uint32 retcode = 13; // offset: 40
}

// Obf: FMFAKLOHCHN
// Type: Req
// CmdID: 4775
message ActivityRaidPlacingGameCsReq {
	AlleyPlacingShip GPOMFKNHCPB = 2; // offset: 32
	oneof EFJLHNMJEED {
		uint32 GFHGCDEJFIE = 4; // offset: 16
		uint32 CAAHDGFMNNO = 14; // offset: 16
	}
}

// Obf: OEEMFNGCOBO
// Type: Rsp
// CmdID: 4744
message ActivityRaidPlacingGameScRsp {
	uint32 retcode = 15; // offset: 36
	oneof EFJLHNMJEED {
		uint32 GFHGCDEJFIE = 1; // offset: 24
		uint32 CAAHDGFMNNO = 5; // offset: 24
	}
}
message KPBAIEMEFFH {
	uint32 OCNLDDNIHOH = 1; // offset: 52
	repeated uint32 EPEELMJDJKP = 5; // offset: 24
	bool FPDGKFHFIEE = 7; // offset: 48
	uint32 EBOMMHDNBJL = 11; // offset: 44
	uint32 BCOAIDIFBBG = 12; // offset: 40
	repeated uint32 DNLGMDCMFGF = 13; // offset: 16
}

// Obf: MNPGEDIDKEN
// Type: Notify
// CmdID: 4748
message AlleyOrderChangedScNotify {
	KPBAIEMEFFH NGKPDFJBNMF = 15; // offset: 16
}

// Type: Notify
// CmdID: 4772
message DPFGBJFOFCE {
	uint32 FNCLCJCBPLA = 10; // offset: 24
}
message JOMEGNGJKJK {
	repeated uint32 GADMAOCHBKN = 2; // offset: 16
	repeated uint32 BPCADEMEGNP = 3; // offset: 24
	repeated uint32 OGDKJPDFFAI = 4; // offset: 32
	uint32 shop_id = 5; // offset: 48
	uint32 EBNNNMFGHBJ = 10; // offset: 56
	uint32 CJHLDCAGKND = 11; // offset: 52
	uint32 ANHEOHPNKKC = 14; // offset: 60
}
message IODAFIBPAGM {
	uint32 cost_time = 6; // offset: 36
	uint32 map_id = 13; // offset: 32
	repeated JOMEGNGJKJK JNGNGMJCAAI = 14; // offset: 16
}
message BOLCGIOGIBP {
	uint32 FMCPHDJEIDC = 4; // offset: 48
	uint32 map_id = 5; // offset: 44
	uint32 max_score = 6; // offset: 40
	uint32 AAMKNOOMEOO = 10; // offset: 52
	uint32 LLEPGPKGBGM = 12; // offset: 32
	uint32 EFBOOJGNKOH = 13; // offset: 36
	ItemList reward = 15; // offset: 24
}

// Obf: CJEFCNKNGNC
// Type: Req
// CmdID: 4793
message LogisticsGameCsReq {
	repeated IODAFIBPAGM MDNBOBFGKFN = 9; // offset: 16
	bool CNCJKGEDEII = 15; // offset: 32
}

// Obf: PCEJNOKIGOF
// Type: Notify
// CmdID: 4735
message LogisticsScoreRewardSyncInfoScNotify {
	repeated BOLCGIOGIBP ALOOPKCJFEA = 5; // offset: 24
}

// Obf: KBKHHILFFOF
// Type: Rsp
// CmdID: 4758
message LogisticsGameScRsp {
	uint32 retcode = 5; // offset: 40
	bool CNCJKGEDEII = 6; // offset: 32
	repeated BOLCGIOGIBP ALOOPKCJFEA = 7; // offset: 16
	uint32 event_id = 11; // offset: 36
}
message CEKIFBMPEFH {
	uint32 event_id = 7; // offset: 28
	AlleyEventState state = 9; // offset: 32
	uint32 FHMBKAPPAGO = 14; // offset: 24
}

// Type: Req
// CmdID: 4786
message GIFADCJKKFE {
	uint32 event_id = 1; // offset: 24
}

// Type: Rsp
// CmdID: 4747
message PPJKEKEPFMF {
	uint32 retcode = 2; // offset: 28
	uint32 event_id = 4; // offset: 24
}

// Obf: MFBBJPEPDJM
// Type: Notify
// CmdID: 4726
message AlleyEventChangeNotify {
	uint32 KHANHNFACLN = 4; // offset: 32
	CEKIFBMPEFH OOOACLEFDGM = 15; // offset: 16
}

// Type: Notify
// CmdID: 4713
message MGMDNBOLBMO {
	uint32 MONFBLGFKGB = 2; // offset: 24
}

// Obf: NIHMFACHENB
// Type: Req
// CmdID: 4771
message TakePrestigeRewardCsReq {
	uint32 level = 3; // offset: 24
}

// Obf: ODBFGHLOPJD
// Type: Rsp
// CmdID: 4740
message TakePrestigeRewardScRsp {
	uint32 level = 6; // offset: 32
	uint32 retcode = 7; // offset: 36
	ItemList reward = 15; // offset: 16
}

// Obf: HBNANEIBPBG
// Type: Req
// CmdID: 4769
message PrestigeLevelUpCsReq {
}

// Obf: MKFGIOCFPJL
// Type: Rsp
// CmdID: 4765
message PrestigeLevelUpScRsp {
	uint32 retcode = 1; // offset: 24
	uint32 level = 14; // offset: 28
}

// Obf: DLEHOPOJKKM
// Type: Notify
// CmdID: 4730
message AlleyFundsScNotify {
	uint32 cur_fund = 10; // offset: 24
}

// Type: Req
// CmdID: 4780
message ENOABFIPHOB {
	repeated IODAFIBPAGM MDNBOBFGKFN = 11; // offset: 24
}

// Type: Rsp
// CmdID: 4784
message GAAMMAACICO {
	repeated IODAFIBPAGM MDNBOBFGKFN = 11; // offset: 24
	uint32 retcode = 14; // offset: 32
}

// Obf: LALKCKEAFPE
// Type: Notify
// CmdID: 4721
message LogisticsInfoScNotify {
	GDGEIAHNDAD NFJKAILEFAD = 3; // offset: 24
}
message PICDJHEPJLC {
	uint32 LEGCBILEEHK = 3; // offset: 32
	map<uint32, uint32> PCDFIOCMJFE = 13; // offset: 16
}

// Obf: KLAFHGGFBJD
// Type: Notify
// CmdID: 4705
message AlleyShipmentEventEffectsScNotify {
	PICDJHEPJLC JBFIFNPJNHA = 3; // offset: 24
}

// Obf: LBCBJBKNNCC
// Type: Req
// CmdID: 4741
message GetSaveLogisticsMapCsReq {
}

// Obf: ABOFBLJPHHE
// Type: Rsp
// CmdID: 4710
message GetSaveLogisticsMapScRsp {
	uint32 retcode = 11; // offset: 32
	repeated IODAFIBPAGM CFNKOBKJKNK = 13; // offset: 16
}

// Obf: EJIPDMFGOON
// Type: Req
// CmdID: 4734
message AlleyTakeEventRewardCsReq {
	uint32 event_id = 8; // offset: 24
}

// Obf: DBIAIJKONFB
// Type: Rsp
// CmdID: 4796
message AlleyTakeEventRewardScRsp {
	ItemList reward = 2; // offset: 16
	uint32 retcode = 6; // offset: 32
}

// Type: Req
// CmdID: 4773
message CKJACADHCCC {
}

// Type: Rsp
// CmdID: 4712
message NGOKHFLMLNJ {
	uint32 retcode = 12; // offset: 24
}

// Obf: MFJDGMGKMDJ
enum CmdArchiveType {
	MFJDGMGKMDJ_NLCDGIPGFDJ = 0;
	CmdKKOGBFCLNHB = 2358;
	CmdBJJGFKAOKLG = 2393;
	CmdGetArchiveDataScRsp = 2378;
	CmdGetArchiveDataCsReq = 2325;
}
message RelicList {
	uint32 set_id = 1; // offset: 28
	uint32 type = 2; // offset: 24
}
message MonsterList {
	uint32 monster_id = 3; // offset: 28
	uint32 num = 6; // offset: 24
}

// Obf: ArchiveData
message ArchiveData {
	repeated uint32 archive_missing_equipment_id_list = 7; // offset: 40
	repeated RelicList relic_list = 11; // offset: 56
	repeated uint32 archive_avatar_id_list = 12; // offset: 24
	repeated uint32 archive_equipment_id_list = 14; // offset: 48
	repeated MonsterList kill_monster_list = 15; // offset: 32
}

// Obf: IPFMCBBMOEC
// Type: Req
// CmdID: 2325
message GetArchiveDataCsReq {
}

// Obf: JPMDALGBLBO
// Type: Rsp
// CmdID: 2378
message GetArchiveDataScRsp {
	uint32 retcode = 10; // offset: 32
	ArchiveData archive_data = 14; // offset: 16
}

// Type: Req
// CmdID: 2393
message BJJGFKAOKLG {
}

// Type: Rsp
// CmdID: 2358
message KKOGBFCLNHB {
	uint32 retcode = 9; // offset: 32
	ArchiveData archive_data = 15; // offset: 16
}

// Obf: JHGIIBJGLEL
enum CmdAvatarType {
	JHGIIBJGLEL_NLCDGIPGFDJ = 0;
	CmdGetPreAvatarGrowthInfoScRsp = 363;
	CmdDressAvatarScRsp = 313;
	CmdPromoteAvatarScRsp = 347;
	CmdGetPreAvatarActivityListScRsp = 375;
	CmdSetAvatarEnhancedIdScRsp = 312;
	CmdLENDBHPIOJK = 394;
	CmdSetAvatarPathCsReq = 315;
	CmdSetPlayerOutfitScRsp = 349;
	CmdMarkAvatarCsReq = 384;
	CmdGetAvatarDataCsReq = 325;
	CmdUnlockAvatarPathScRsp = 320;
	CmdGetAvatarDataScRsp = 378;
	CmdGetPreAvatarGrowthInfoCsReq = 329;
	CmdActiveEidolonCsReq = 338;
	CmdSetPlayerOutfitCsReq = 344;
	CmdPromoteAvatarCsReq = 386;
	CmdAvatarPathChangedNotify = 353;
	CmdSetGrowthTargetAvatarScRsp = 310;
	CmdActiveEidolonScRsp = 339;
	CmdAvatarExpUpScRsp = 358;
	CmdTakeOffAvatarSkinCsReq = 342;
	CmdSetAvatarEnhancedIdCsReq = 373;
	CmdTakeOffAvatarSkinScRsp = 372;
	CmdDressAvatarSkinCsReq = 365;
	CmdAvatarExpUpCsReq = 393;
	CmdTakeOffRelicCsReq = 336;
	CmdEKLIDIDKFHC = 337;
	CmdDressAvatarSkinScRsp = 330;
	CmdCFGGOBEDJOK = 343;
	CmdTakeOffEquipmentCsReq = 371;
	CmdSetMultipleAvatarPathsScRsp = 389;
	CmdUnlockSkillTreeScRsp = 381;
	CmdDressAvatarCsReq = 326;
	CmdDressRelicAvatarScRsp = 311;
	CmdSetGrowthTargetAvatarCsReq = 341;
	CmdAddAvatarScNotify = 333;
	CmdTakeOffEquipmentScRsp = 340;
	CmdPMEMIDKDAFG = 351;
	CmdSetAvatarPathScRsp = 318;
	CmdUnlockSkillTreeCsReq = 388;
	CmdAvatarSpecialSkilltreeUnlockScNotify = 382;
	CmdAddMultiPathAvatarScNotify = 305;
	CmdGetPreAvatarActivityListCsReq = 335;
	CmdMarkAvatarScRsp = 321;
	CmdUnlockAvatarPathCsReq = 352;
	CmdDressRelicAvatarCsReq = 304;
	CmdTakePromotionRewardCsReq = 345;
	CmdSetMultipleAvatarPathsCsReq = 314;
	CmdUnlockAvatarSkinScNotify = 380;
	CmdTakePromotionRewardScRsp = 369;
	CmdTakeOffRelicScRsp = 348;
}

enum CFMDKNCDDAL {
	CFMDKNCDDAL_NADPFMGBHDJ = 0;
	CFMDKNCDDAL_GGGLNCBOICD = 1;
}

enum AddAvatarSrcState {
	ADD_AVATAR_SRC_NONE = 0;
	ADD_AVATAR_SRC_GACHA = 1;
	ADD_AVATAR_SRC_ROGUE = 2;
	ADD_AVATAR_SRC_DELIVERY = 3;
}

enum GCALLOJPPIJ {
	GCALLOJPPIJ_NLCDGIPGFDJ = 0;
	GCALLOJPPIJ_BDEFGIPPKNM = 1;
	GCALLOJPPIJ_BPBFOIJKCJA = 2;
}

enum GrowthTargetState {
	GrowthTargetState_MMBDGPMCJKH = 0;
	GrowthTargetState_PDHPKPOCOHM = 1;
	GrowthTargetState_CMBMDMBHFEC = 2;
	GrowthTargetState_DALNOIDGBGI = 3;
	GrowthTargetState_JEAOCLOOAMJ = 4;
	GrowthTargetState_FCKJLEGDJHJ = 5;
}

// Type: Req
// CmdID: 325
message GetAvatarDataCsReq {
	bool is_get_all = 3; // offset: 32
	repeated uint32 NOEPBNMJFGL = 12; // offset: 24
}
message AvatarPathSkillTree {
	uint32 level = 1; // offset: 28
	uint32 anchor_type = 13; // offset: 24
}

// Obf: Avatar
message Avatar {
	uint32 promotion = 1; // offset: 52
	uint32 cur_multi_path_avatar_type = 2; // offset: 64
	uint32 level = 6; // offset: 48
	bool is_marked = 8; // offset: 36
	uint32 base_avatar_id = 10; // offset: 56
	repeated uint32 has_taken_promotion_reward_list = 11; // offset: 16
	uint32 equipment_unique_id = 13; // offset: 32
	uint64 first_met_time_stamp = 14; // offset: 40
	uint32 exp = 15; // offset: 60
}

// Obf: AvatarPathData
message AvatarPathData {
	uint32 path_equipment_id = 1; // offset: 56
	repeated EquipRelic equip_relic_list = 4; // offset: 24
	repeated AvatarPathSkillTree avatar_path_skill_tree = 6; // offset: 16
	uint32 avatar_id = 8; // offset: 64
	uint32 rank = 9; // offset: 44
	uint32 dressed_skin_id = 12; // offset: 60
	uint64 unlock_timestamp = 13; // offset: 48
	uint32 unk_enhanced_id = 15; // offset: 40
}

// Type: Rsp
// CmdID: 378
message GetAvatarDataScRsp {
	uint32 JFAADMONJNF = 1; // offset: 84
	bool is_get_all = 2; // offset: 88
	repeated AvatarPathData avatar_path_data_info_list = 4; // offset: 56
	repeated Avatar avatar_list = 5; // offset: 32
	repeated KVP JBFBEOLOHJN = 6; // offset: 24
	CJLCPMDGIBO DHKFCDAGHDM = 9; // offset: 16
	repeated CFMDKNCDDAL PILOAFIMCGK = 11; // offset: 40
	uint32 retcode = 12; // offset: 80
	repeated uint32 skin_list = 13; // offset: 72
	repeated uint32 basic_type_id_list = 15; // offset: 48
}

// Obf: AvatarExpUpCsReq
// Type: Req
// CmdID: 393
message AvatarExpUpCsReq {
	ItemCostData item_cost = 8; // offset: 16
	uint32 base_avatar_id = 13; // offset: 32
}

// Obf: AvatarExpUpScRsp
// Type: Rsp
// CmdID: 358
message AvatarExpUpScRsp {
	uint32 retcode = 2; // offset: 32
	repeated PileItem return_item_list = 7; // offset: 16
}

// Obf: UnlockSkillTreeCsReq
// Type: Req
// CmdID: 388
message UnlockSkillTreeCsReq {
	uint32 level = 5; // offset: 32
	repeated ItemCost item_list = 11; // offset: 24
	uint32 point_id = 15; // offset: 36
}

// Obf: UnlockSkillTreeScRsp
// Type: Rsp
// CmdID: 381
message UnlockSkillTreeScRsp {
	uint32 retcode = 1; // offset: 24
	uint32 level = 3; // offset: 28
	uint32 point_id = 9; // offset: 32
}

// Obf: PromoteAvatarCsReq
// Type: Req
// CmdID: 386
message PromoteAvatarCsReq {
	repeated ItemCost item_list = 4; // offset: 24
	uint32 base_avatar_id = 12; // offset: 32
}

// Obf: PromoteAvatarScRsp
// Type: Rsp
// CmdID: 347
message PromoteAvatarScRsp {
	uint32 retcode = 2; // offset: 24
}

// Obf: DressAvatarCsReq
// Type: Req
// CmdID: 326
message DressAvatarCsReq {
	uint32 avatar_id = 6; // offset: 28
	uint32 equipment_unique_id = 13; // offset: 24
}

// Obf: DressAvatarScRsp
// Type: Rsp
// CmdID: 313
message DressAvatarScRsp {
	uint32 retcode = 3; // offset: 24
}

// Obf: TakeOffEquipmentCsReq
// Type: Req
// CmdID: 371
message TakeOffEquipmentCsReq {
	uint32 avatar_id = 14; // offset: 24
}

// Obf: TakeOffEquipmentScRsp
// Type: Rsp
// CmdID: 340
message TakeOffEquipmentScRsp {
	uint32 retcode = 14; // offset: 24
}

// Type: Notify
// CmdID: 333
message AddAvatarScNotify {
	uint32 base_avatar_id = 3; // offset: 32
	AddAvatarSrcState src = 5; // offset: 36
	bool is_new = 7; // offset: 40
	ItemList reward = 10; // offset: 24
}

// Type: Notify
// CmdID: 305
message AddMultiPathAvatarScNotify {
	GCALLOJPPIJ ALKDBJEGAGG = 1; // offset: 44
	bool is_new = 5; // offset: 48
	uint32 avatar_id = 6; // offset: 40
	repeated NKDNFDCFNCP HJMDNLBNPNA = 9; // offset: 16
	ItemList reward = 12; // offset: 24
}

// Obf: ActiveEidolonCsReq
// Type: Req
// CmdID: 338
message ActiveEidolonCsReq {
	uint32 avatar_id = 5; // offset: 32
	ItemCostData cost_data = 9; // offset: 16
	uint32 rank = 13; // offset: 36
}

// Obf: ActiveEidolonScRsp
// Type: Rsp
// CmdID: 339
message ActiveEidolonScRsp {
	uint32 retcode = 7; // offset: 24
}
message DressRelicParam {
	uint32 relic_unique_id = 1; // offset: 24
	uint32 relic_type = 14; // offset: 28
}

// Obf: DressRelicAvatarCsReq
// Type: Req
// CmdID: 304
message DressRelicAvatarCsReq {
	uint32 avatar_id = 6; // offset: 32
	repeated DressRelicParam switch_list = 9; // offset: 24
}

// Obf: DressRelicAvatarScRsp
// Type: Rsp
// CmdID: 311
message DressRelicAvatarScRsp {
	uint32 avatar_id = 9; // offset: 28
	uint32 retcode = 13; // offset: 24
}

// Obf: TakeOffRelicCsReq
// Type: Req
// CmdID: 336
message TakeOffRelicCsReq {
	repeated uint32 relic_type_list = 1; // offset: 16
	uint32 avatar_id = 11; // offset: 32
}

// Obf: TakeOffRelicScRsp
// Type: Rsp
// CmdID: 348
message TakeOffRelicScRsp {
	uint32 retcode = 13; // offset: 24
}

// Obf: TakePromotionRewardCsReq
// Type: Req
// CmdID: 345
message TakePromotionRewardCsReq {
	uint32 base_avatar_id = 4; // offset: 24
	uint32 promotion = 6; // offset: 28
}

// Obf: TakePromotionRewardScRsp
// Type: Rsp
// CmdID: 369
message TakePromotionRewardScRsp {
	uint32 retcode = 11; // offset: 32
	ItemList reward_list = 15; // offset: 16
}

// Obf: DressAvatarSkinCsReq
// Type: Req
// CmdID: 365
message DressAvatarSkinCsReq {
	uint32 avatar_id = 1; // offset: 24
	uint32 skin_id = 2; // offset: 28
}

// Obf: DressAvatarSkinScRsp
// Type: Rsp
// CmdID: 330
message DressAvatarSkinScRsp {
	uint32 retcode = 5; // offset: 24
}

// Obf: TakeOffAvatarSkinCsReq
// Type: Req
// CmdID: 342
message TakeOffAvatarSkinCsReq {
	uint32 avatar_id = 10; // offset: 24
}

// Obf: TakeOffAvatarSkinScRsp
// Type: Rsp
// CmdID: 372
message TakeOffAvatarSkinScRsp {
	uint32 retcode = 5; // offset: 24
}

// Type: Notify
// CmdID: 380
message UnlockAvatarSkinScNotify {
	uint32 skin_id = 12; // offset: 24
}

// Type: Req
// CmdID: 344
message SetPlayerOutfitCsReq {
	CJLCPMDGIBO DHKFCDAGHDM = 13; // offset: 16
}

// Type: Rsp
// CmdID: 349
message SetPlayerOutfitScRsp {
	uint32 retcode = 9; // offset: 24
}

// Obf: MarkAvatarCsReq
// Type: Req
// CmdID: 384
message MarkAvatarCsReq {
	uint32 avatar_id = 2; // offset: 28
	bool is_marked = 8; // offset: 24
}

// Obf: MarkAvatarScRsp
// Type: Rsp
// CmdID: 321
message MarkAvatarScRsp {
	uint32 avatar_id = 5; // offset: 24
	uint32 retcode = 10; // offset: 32
	bool is_marked = 14; // offset: 28
}

// Obf: SetGrowthTargetAvatarCsReq
// Type: Req
// CmdID: 341
message SetGrowthTargetAvatarCsReq {
	uint32 FCACACLEJNM = 1; // offset: 40
	GrowthTargetState source = 3; // offset: 32
	uint32 avatar_id = 5; // offset: 36
	repeated CFMDKNCDDAL FLINDJJJFLB = 7; // offset: 16
}

// Obf: SetGrowthTargetAvatarScRsp
// Type: Rsp
// CmdID: 310
message SetGrowthTargetAvatarScRsp {
	uint32 retcode = 4; // offset: 36
	uint32 growth_avatar_id = 10; // offset: 32
	repeated CFMDKNCDDAL FLINDJJJFLB = 12; // offset: 16
	uint32 JFAADMONJNF = 15; // offset: 40
}

// Type: Notify
// CmdID: 343
message CFGGOBEDJOK {
	uint32 JFAADMONJNF = 14; // offset: 32
	repeated CFMDKNCDDAL FLINDJJJFLB = 15; // offset: 24
}

// Obf: FNEKPCPNKLO
// Type: Req
// CmdID: 335
message GetPreAvatarActivityListCsReq {
}

// Obf: CEAIGOBEACN
// Type: Rsp
// CmdID: 375
message GetPreAvatarActivityListScRsp {
	repeated uint32 DDMEHPDHPLM = 3; // offset: 16
	uint32 retcode = 11; // offset: 32
}

// Obf: OGIFJNIGHBO
message PreAvatarGrowthMaterialData {
	uint32 FDIJAFBCILL = 1; // offset: 60
	uint32 JHLPBJCAIIF = 2; // offset: 116
	uint32 PELFCMAHJGA = 3; // offset: 68
	uint32 JOBMEJMFELF = 4; // offset: 108
	uint32 IICANCHNIBB = 5; // offset: 76
	uint32 LNHKCMAPMLM = 6; // offset: 124
	uint32 JPGOACKIFFC = 7; // offset: 104
	uint32 DKEBMGFMCBH = 8; // offset: 112
	uint32 BJFJHEJGFPM = 9; // offset: 96
	uint32 PGJKALFDFMA = 10; // offset: 100
	uint32 DLGCGJCKLCB = 11; // offset: 64
	uint32 CAHBPNLNKCC = 12; // offset: 56
	uint32 OIFPBOCOALL = 13; // offset: 92
	uint32 IEGOLHHOANB = 14; // offset: 80
	uint32 BFEPBBLIOGP = 15; // offset: 84
	uint32 PPDAGPPKEJD = 435; // offset: 88
	uint32 type = 499; // offset: 120
	string LACBKOCCFHL = 617; // offset: 24
	string avatar_icon = 1233; // offset: 16
	string NDJGLMCPFHK = 1281; // offset: 40
	string NOCPIJJBKCB = 1559; // offset: 48
	uint32 panel_id = 1620; // offset: 72
}

// Obf: KIBJDDNABII
// Type: Req
// CmdID: 329
message GetPreAvatarGrowthInfoCsReq {
}

// Obf: NMLGHIFLBNN
// Type: Rsp
// CmdID: 363
message GetPreAvatarGrowthInfoScRsp {
	repeated PreAvatarGrowthMaterialData JLMMCNIMPOA = 6; // offset: 16
	uint32 retcode = 13; // offset: 32
}

// Type: Req
// CmdID: 373
message SetAvatarEnhancedIdCsReq {
	uint32 enhanced_id = 4; // offset: 24
	uint32 avatar_id = 11; // offset: 28
}

// Type: Rsp
// CmdID: 312
message SetAvatarEnhancedIdScRsp {
	uint32 retcode = 2; // offset: 28
	uint32 growth_avatar_id = 7; // offset: 24
	uint32 unk_enhanced_id = 10; // offset: 32
}

// Type: Req
// CmdID: 315
message SetAvatarPathCsReq {
	MultiPathAvatarType avatar_id = 4; // offset: 24
}

// Type: Rsp
// CmdID: 318
message SetAvatarPathScRsp {
	MultiPathAvatarType avatar_id = 3; // offset: 24
	uint32 retcode = 7; // offset: 28
}

// Obf: SetMultipleAvatarPathsCsReq
// Type: Req
// CmdID: 314
message SetMultipleAvatarPathsCsReq {
	repeated MultiPathAvatarType avatar_id_list = 8; // offset: 16
}

// Obf: SetMultipleAvatarPathsScRsp
// Type: Rsp
// CmdID: 389
message SetMultipleAvatarPathsScRsp {
	uint32 retcode = 14; // offset: 24
}

// Obf: UnlockAvatarPathCsReq
// Type: Req
// CmdID: 352
message UnlockAvatarPathCsReq {
	MultiPathAvatarType avatar_id = 2; // offset: 24
}

// Obf: UnlockAvatarPathScRsp
// Type: Rsp
// CmdID: 320
message UnlockAvatarPathScRsp {
	uint32 retcode = 3; // offset: 40
	MultiPathAvatarType avatar_id = 4; // offset: 44
	ItemList reward = 5; // offset: 24
	repeated uint32 basic_type_id_list = 7; // offset: 32
}

// Type: Notify
// CmdID: 353
message AvatarPathChangedNotify {
	uint32 base_avatar_id = 13; // offset: 24
	MultiPathAvatarType cur_multi_path_avatar_type = 14; // offset: 28
}

// Type: Notify
// CmdID: 382
message AvatarSpecialSkilltreeUnlockScNotify {
	uint32 avatar_id = 9; // offset: 28
	uint32 point_id = 11; // offset: 24
}

// Type: Notify
// CmdID: 394
message LENDBHPIOJK {
	uint32 avatar_id = 14; // offset: 24
}

// Type: Req
// CmdID: 337
message EKLIDIDKFHC {
	ItemCostData BACAOLDADMC = 1; // offset: 24
	uint32 IGOOJKMPMDC = 5; // offset: 44
	uint32 KLMIBJIKIBB = 8; // offset: 48
	ItemCostData OAINNDAHIMG = 12; // offset: 16
	uint32 base_avatar_id = 13; // offset: 40
}

// Type: Rsp
// CmdID: 351
message PMEMIDKDAFG {
	repeated PileItem return_item_list = 13; // offset: 16
	uint32 retcode = 14; // offset: 32
}

// Obf: EJCOIDCJDHM
enum CmdBattleType {
	EJCOIDCJDHM_NLCDGIPGFDJ = 0;
	CmdQuitBattleCsReq = 193;
	CmdRebattleByClientCsNotify = 138;
	CmdBattleReplayScNotify = 139;
	CmdQuitBattleScNotify = 126;
	CmdPVEBattleResultCsReq = 125;
	CmdSyncClientResVersionCsReq = 186;
	CmdPVEBattleResultScRsp = 178;
	CmdGetCurBattleInfoCsReq = 188;
	CmdQuitBattleScRsp = 158;
	CmdGetCurBattleInfoScRsp = 181;
	CmdSyncClientResVersionScRsp = 147;
}

// Obf: CHIIPPKECEF
// Type: Req
// CmdID: 125
message PVEBattleResultCsReq {
	uint32 LGOJDHLMGEN = 1; // offset: 84
	map<string, uint32> LJJEOOJCEOG = 2; // offset: 40
	string debug_extra_info = 3; // offset: 48
	uint32 stage_id = 4; // offset: 80
	uint32 battle_id = 5; // offset: 72
	bool LGJMMJEFGNK = 6; // offset: 65
	repeated BattleOp op_list = 7; // offset: 24
	bool DKIDHMAOMJB = 8; // offset: 64
	bool NNGDLOHALCN = 9; // offset: 66
	uint32 NIBMFCFBHEP = 10; // offset: 68
	BattleEndStatus end_status = 11; // offset: 88
	uint32 cost_time = 12; // offset: 92
	uint32 LJKMPIMKOMO = 13; // offset: 76
	BattleStatistics stt = 14; // offset: 32
	bytes turn_snapshot_hash = 15; // offset: 16
}

// Obf: PPNMNDKILGL
// Type: Rsp
// CmdID: 178
message PVEBattleResultScRsp {
	uint32 retcode = 1; // offset: 96
	ItemList drop_data = 2; // offset: 64
	string DIMHPKFPPKA = 3; // offset: 16
	bool check_identical = 4; // offset: 100
	ItemList item_list_unk2 = 5; // offset: 56
	ItemList multiple_drop_data = 6; // offset: 24
	uint32 EAHGEKNLHPN = 7; // offset: 104
	uint32 event_id = 8; // offset: 88
	string DPHOLBABAOL = 9; // offset: 32
	uint32 AKDGBBDFDHA = 10; // offset: 116
	uint32 battle_id = 11; // offset: 120
	uint32 LEMGICCOKBK = 12; // offset: 92
	uint32 stage_id = 13; // offset: 108
	repeated BattleAvatar battle_avatar_list = 14; // offset: 80
	BattleEndStatus end_status = 15; // offset: 112
	bool OPDKJBHLOJM = 1253; // offset: 101
	ItemList item_list_unk1 = 1379; // offset: 40
	LMDPKOELKFL ABEMLCJBIEF = 1658; // offset: 48
}

// Type: Req
// CmdID: 193
message QuitBattleCsReq {
	BattleStatistics stt = 11; // offset: 16
	RebattleType NKDAAAGPCDB = 13; // offset: 32
}

// Type: Rsp
// CmdID: 158
message QuitBattleScRsp {
	uint32 retcode = 10; // offset: 24
}

// Obf: FAMHHDBNNFD
// Type: Req
// CmdID: 188
message GetCurBattleInfoCsReq {
}

// Obf: LJJAAGCEBCK
// Type: Rsp
// CmdID: 181
message GetCurBattleInfoScRsp {
	AetherDivideBattleInfo HIDIEJALFIE = 2; // offset: 32
	uint32 KDJGDHKJAGE = 7; // offset: 48
	BattleEndStatus last_end_status = 8; // offset: 40
	uint32 retcode = 10; // offset: 44
	SceneBattleInfo battle_info = 12; // offset: 24
}

// Type: Req
// CmdID: 186
message SyncClientResVersionCsReq {
	uint32 LJKMPIMKOMO = 6; // offset: 24
}

// Type: Rsp
// CmdID: 147
message SyncClientResVersionScRsp {
	uint32 LJKMPIMKOMO = 1; // offset: 24
	uint32 retcode = 15; // offset: 28
}

// Type: Notify
// CmdID: 126
message QuitBattleScNotify {
}

// Type: Notify
// CmdID: 138
message RebattleByClientCsNotify {
	BattleStatistics stt = 2; // offset: 16
	RebattleType NKDAAAGPCDB = 10; // offset: 32
}

// Obf: OJOEOMAKAGI
// Type: Notify
// CmdID: 139
message BattleReplayScNotify {
	bytes NOJCNDGGLBC = 1; // offset: 24
	uint32 stage_id = 3; // offset: 32
	uint32 battle_id = 9; // offset: 36
}

// Obf: GJPPDNGGKCC
enum CmdBattleCollegeType {
	GJPPDNGGKCC_NLCDGIPGFDJ = 0;
	CmdGetBattleCollegeDataCsReq = 5725;
	CmdStartBattleCollegeScRsp = 5788;
	CmdStartBattleCollegeCsReq = 5758;
	CmdSyncBattleCollegeDataChangeScNotify = 5793;
	CmdGetBattleCollegeDataScRsp = 5778;
}

// Obf: LNFGDEAIHNL
// Type: Req
// CmdID: 5725
message GetBattleCollegeDataCsReq {
}

// Obf: JOIAADCLOGF
// Type: Rsp
// CmdID: 5778
message GetBattleCollegeDataScRsp {
	uint32 retcode = 6; // offset: 36
	uint32 MNMJCNOLIII = 9; // offset: 32
	repeated uint32 finished_college_id_list = 13; // offset: 16
}

// Obf: MIIIAIEGEKM
// Type: Notify
// CmdID: 5793
message SyncBattleCollegeDataChangeScNotify {
	repeated uint32 finished_college_id_list = 2; // offset: 24
	uint32 MNMJCNOLIII = 3; // offset: 40
	ItemList reward = 12; // offset: 32
}

// Obf: FDFHMOKCNLB
// Type: Req
// CmdID: 5758
message StartBattleCollegeCsReq {
	uint32 id = 2; // offset: 24
}

// Obf: CHKPEKJFPFD
// Type: Rsp
// CmdID: 5788
message StartBattleCollegeScRsp {
	SceneBattleInfo battle_info = 3; // offset: 24
	uint32 retcode = 10; // offset: 36
	uint32 id = 11; // offset: 32
}

// Obf: JHHIAPCKHNP
enum CmdBattlePassType {
	JHHIAPCKHNP_NLCDGIPGFDJ = 0;
	CmdBuyBpLevelCsReq = 3081;
	CmdTakeBpRewardScRsp = 3088;
	CmdTakeAllRewardScRsp = 3026;
	CmdTakeAllRewardCsReq = 3047;
	CmdTakeBpRewardCsReq = 3058;
	CmdBattlePassInfoNotify = 3025;
	CmdBuyBpLevelScRsp = 3086;
}

// Obf: FMGFKIKBHKN
enum BpTierType {
	FMGFKIKBHKN_NLCDGIPGFDJ = 0;
	FMGFKIKBHKN_LDCGNGDPGAM = 1;
	FMGFKIKBHKN_FENMGLMPMFF = 2;
	FMGFKIKBHKN_AJDEOPEJGEC = 3;
}

// Obf: FDKLOILAJHE
enum BpRewardType {
	FDKLOILAJHE_EIDKKGLPFGO = 0;
	FDKLOILAJHE_GBOMNKONCPL = 1;
	FDKLOILAJHE_CPGBMBBPKPG = 2;
	FDKLOILAJHE_ENKNEHACMFJ = 3;
	FDKLOILAJHE_CKPPJBAKGHL = 4;
}

// Obf: LAOOKLNMLPH
// Type: Notify
// CmdID: 3025
message BattlePassInfoNotify {
	uint64 OKPOHIHPOKI = 1; // offset: 48
	uint32 level = 2; // offset: 56
	uint32 POJDILFNJAH = 4; // offset: 36
	uint64 PDODOAOHMAC = 5; // offset: 80
	uint64 CHJKOFANIKA = 6; // offset: 72
	uint64 DAFMMPKFOEA = 7; // offset: 64
	uint64 NJDCMGOJOLE = 8; // offset: 40
	uint32 AECHNDNNMLF = 9; // offset: 104
	uint32 exp = 11; // offset: 32
	uint64 ICPCCGPEJMP = 12; // offset: 24
	uint64 AIMGGFNLIEK = 13; // offset: 88
	uint64 CBLNJDCICBC = 14; // offset: 96
	BpTierType DELEGHOCLMO = 15; // offset: 60
}

// Obf: HKIOLACNPJF
// Type: Req
// CmdID: 3058
message TakeBpRewardCsReq {
	BpRewardType type = 2; // offset: 24
	uint32 level = 8; // offset: 32
	uint32 optional_reward_id = 13; // offset: 28
}

// Obf: INMLDGNNGKH
// Type: Rsp
// CmdID: 3088
message TakeBpRewardScRsp {
	uint32 retcode = 2; // offset: 32
	ItemList reward = 10; // offset: 24
}

// Obf: CEJDHNPPCCD
// Type: Req
// CmdID: 3081
message BuyBpLevelCsReq {
	uint32 IGOOJKMPMDC = 12; // offset: 24
}

// Obf: JEOKGDBPPMF
// Type: Rsp
// CmdID: 3086
message BuyBpLevelScRsp {
	uint32 retcode = 4; // offset: 24
}
message OptionalReward {
	uint32 optional_reward_id = 3; // offset: 28
	uint32 level = 15; // offset: 24
}

// Obf: HEPHIKELLEA
// Type: Req
// CmdID: 3047
message TakeAllRewardCsReq {
	repeated OptionalReward EIKKALADEHM = 9; // offset: 16
}

// Obf: GAMCGLNKLLG
// Type: Rsp
// CmdID: 3026
message TakeAllRewardScRsp {
	uint32 retcode = 3; // offset: 32
	ItemList reward = 12; // offset: 24
}

// Obf: CCOCNFLIOGK
enum CmdBenefitActivityType {
	CCOCNFLIOGK_NLCDGIPGFDJ = 0;
	CmdGetBenefitActivityInfoCsReq = 4859;
	CmdTakeBenefitActivityRewardScRsp = 4894;
	CmdJoinBenefitActivityScRsp = 4898;
	CmdTakeBenefitActivityRewardCsReq = 4887;
	CmdGetBenefitActivityInfoScRsp = 4873;
	CmdJoinBenefitActivityCsReq = 4869;
}

// Obf: BCMJFJHILIB
// Type: Req
// CmdID: 4859
message GetBenefitActivityInfoCsReq {
}

// Obf: LuckyKoiInfoList
message LuckyKoiInfoList {
	string LHAPDMPPOMP = 6; // offset: 32
	uint32 head_icon = 14; // offset: 40
	string ELBEDNGJKDD = 15; // offset: 24
}
message ICGOLPHCKIL {
	ItemList item_list = 6; // offset: 16
	uint32 level = 12; // offset: 32
}
message OPGKKPEDKCL {
	uint32 MACLJJCIDEJ = 3; // offset: 40
	uint64 EGGJMKCABEF = 6; // offset: 56
	repeated ICGOLPHCKIL EGGJFCELHNK = 8; // offset: 24
	repeated LuckyKoiInfoList JEMFDEEFPFM = 9; // offset: 32
	uint64 end_time = 11; // offset: 48
	uint64 begin_time = 13; // offset: 64
}

// Obf: BenefitData
message BenefitData {
	uint32 status = 2; // offset: 40
	uint32 level = 5; // offset: 36
	OPGKKPEDKCL config = 13; // offset: 16
	uint32 JALHKMEOOPN = 14; // offset: 32
}

// Obf: DJIIJODNAOF
// Type: Rsp
// CmdID: 4873
message GetBenefitActivityInfoScRsp {
	bool GHHLLCEMAOP = 9; // offset: 32
	uint32 retcode = 13; // offset: 36
	repeated BenefitData HNFFFDEGOEB = 15; // offset: 24
}
message OKKEJHPLMLA {
	bool OOFKOIMLCPA = 8; // offset: 24
	uint32 JALHKMEOOPN = 11; // offset: 28
}

// Obf: FPBHCHBALOC
// Type: Req
// CmdID: 4887
message TakeBenefitActivityRewardCsReq {
	repeated OKKEJHPLMLA switch_list = 4; // offset: 24
	bool LJEGPIJGMLG = 9; // offset: 32
}
message OIEAMBAGHBK {
	bool OOFKOIMLCPA = 1; // offset: 36
	uint32 JALHKMEOOPN = 5; // offset: 32
	ItemList item_list = 10; // offset: 16
}

// Obf: AMEABJAOBML
// Type: Rsp
// CmdID: 4894
message TakeBenefitActivityRewardScRsp {
	repeated OIEAMBAGHBK switch_list = 4; // offset: 16
	ItemList JJOKIIKIHNL = 9; // offset: 32
	uint32 retcode = 13; // offset: 40
}

// Type: Req
// CmdID: 4869
message JoinBenefitActivityCsReq {
	uint32 JALHKMEOOPN = 2; // offset: 24
}

// Type: Rsp
// CmdID: 4898
message JoinBenefitActivityScRsp {
	uint32 retcode = 7; // offset: 28
	uint32 JALHKMEOOPN = 15; // offset: 24
}

// Obf: BNDFIJKMBHE
enum CmdBenefitV2ActivityType {
	BNDFIJKMBHE_NLCDGIPGFDJ = 0;
	CmdIMFBPGDPEOI = 9825;
	CmdHBOCFEEEEII = 9826;
	CmdFMDGFHPOAIO = 9823;
	CmdPAGLMEAGPPC = 9821;
	CmdANKFJAABBFK = 9824;
	CmdILFJIIDEEBI = 9830;
}
message HBFODNLIBFI {
	uint32 JALHKMEOOPN = 5; // offset: 28
	uint32 ECGDECADBDO = 6; // offset: 32
	bool AHDCGHABALN = 11; // offset: 24
	uint32 JENKDACFCDO = 14; // offset: 36
}
message EOAJKNKDAOD {
	uint32 group_id = 9; // offset: 32
	repeated HBFODNLIBFI DJNDMMIKFHN = 11; // offset: 24
}

// Type: Req
// CmdID: 9830
message ILFJIIDEEBI {
}

// Type: Rsp
// CmdID: 9821
message PAGLMEAGPPC {
	uint32 retcode = 9; // offset: 32
	repeated EOAJKNKDAOD AJKOKAJABFG = 11; // offset: 24
}

// Type: Req
// CmdID: 9823
message FMDGFHPOAIO {
	uint32 group_id = 5; // offset: 28
	uint32 JALHKMEOOPN = 8; // offset: 24
}

// Type: Rsp
// CmdID: 9825
message IMFBPGDPEOI {
	uint32 retcode = 2; // offset: 40
	uint32 JENKDACFCDO = 8; // offset: 24
	uint32 JALHKMEOOPN = 10; // offset: 32
	uint32 ECGDECADBDO = 11; // offset: 36
	uint32 group_id = 13; // offset: 28
}

// Type: Req
// CmdID: 9824
message ANKFJAABBFK {
	uint32 JALHKMEOOPN = 1; // offset: 28
	uint32 group_id = 2; // offset: 24
}

// Type: Rsp
// CmdID: 9826
message HBOCFEEEEII {
	uint32 group_id = 4; // offset: 40
	uint32 retcode = 8; // offset: 32
	ItemList item_list = 11; // offset: 16
	uint32 JALHKMEOOPN = 14; // offset: 36
}

// Obf: AJLDFPKOBED
enum CmdBoxingClubType {
	AJLDFPKOBED_NLCDGIPGFDJ = 0;
	CmdSetBoxingClubResonanceCsReq = 4233;
	CmdBoxingClubRewardScNotify = 4226;
	CmdGiveUpBoxingClubChallengeCsReq = 4286;
	CmdChooseBoxingClubStageOptionalBuffScRsp = 4204;
	CmdChooseBoxingClubResonanceScRsp = 4240;
	CmdChooseBoxingClubResonanceCsReq = 4271;
	CmdChooseBoxingClubStageOptionalBuffCsReq = 4239;
	CmdGiveUpBoxingClubChallengeScRsp = 4247;
	CmdStartBoxingClubBattleScRsp = 4281;
	CmdStartBoxingClubBattleCsReq = 4288;
	CmdSetBoxingClubResonanceScRsp = 4238;
	CmdMatchBoxingClubOpponentCsReq = 4293;
	CmdGetBoxingClubInfoScRsp = 4278;
	CmdBoxingClubChallengeUpdateScNotify = 4213;
	CmdGetBoxingClubInfoCsReq = 4225;
	CmdMatchBoxingClubOpponentScRsp = 4258;
}
message FLLJIHLMKDI {
	AvatarType avatar_type = 7; // offset: 24
	uint32 avatar_id = 13; // offset: 28
}
message CIEEKOEECHB {
	repeated uint32 avatar_list = 1; // offset: 16
	uint32 HODLKBMKMCF = 2; // offset: 68
	repeated FLLJIHLMKDI OOJOMKDMBBM = 5; // offset: 32
	bool MLOGJKEOCPP = 6; // offset: 72
	uint32 LFFBKJBJJDD = 7; // offset: 56
	uint32 stage_index = 8; // offset: 60
	repeated uint32 EJEFDFEFOMH = 9; // offset: 24
	uint32 challenge_id = 12; // offset: 48
	uint32 EAFICCLCLLA = 13; // offset: 52
	uint32 IFHHFBIJOFC = 15; // offset: 64
}

// Obf: DPKAAFLBPAP
// Type: Req
// CmdID: 4225
message GetBoxingClubInfoCsReq {
}

// Obf: NIKKFEINEFD
// Type: Rsp
// CmdID: 4278
message GetBoxingClubInfoScRsp {
	uint32 retcode = 12; // offset: 32
	repeated CIEEKOEECHB challenge_list = 14; // offset: 24
}
message AKLDICEFCIL {
	uint32 avatar_id = 6; // offset: 24
	AvatarType avatar_type = 13; // offset: 28
}

// Obf: PKPFDGEKLOO
// Type: Req
// CmdID: 4293
message MatchBoxingClubOpponentCsReq {
	uint32 challenge_id = 4; // offset: 40
	repeated AKLDICEFCIL OOJOMKDMBBM = 5; // offset: 16
	repeated uint32 avatar_list = 11; // offset: 32
}

// Obf: CCIBPGAFJFF
// Type: Rsp
// CmdID: 4258
message MatchBoxingClubOpponentScRsp {
	uint32 retcode = 2; // offset: 32
	CIEEKOEECHB OCDLPDDMCLP = 10; // offset: 24
}

// Obf: KHNHMAGJNFN
// Type: Req
// CmdID: 4271
message ChooseBoxingClubResonanceCsReq {
	uint32 HODLKBMKMCF = 8; // offset: 28
	uint32 challenge_id = 13; // offset: 24
}

// Obf: KEKEOMIMNFI
// Type: Rsp
// CmdID: 4240
message ChooseBoxingClubResonanceScRsp {
	uint32 retcode = 2; // offset: 32
	CIEEKOEECHB OCDLPDDMCLP = 13; // offset: 16
}

// Obf: HKFJNFGBGPL
// Type: Req
// CmdID: 4233
message SetBoxingClubResonanceCsReq {
	uint32 challenge_id = 5; // offset: 32
	repeated AKLDICEFCIL OOJOMKDMBBM = 12; // offset: 16
}

// Obf: KADHOJHKFED
// Type: Rsp
// CmdID: 4238
message SetBoxingClubResonanceScRsp {
	CIEEKOEECHB OCDLPDDMCLP = 2; // offset: 16
	uint32 retcode = 4; // offset: 32
}

// Obf: EOAAIPIBNGM
// Type: Req
// CmdID: 4239
message ChooseBoxingClubStageOptionalBuffCsReq {
	uint32 challenge_id = 5; // offset: 28
	uint32 MFKAOHKPIPE = 11; // offset: 24
}

// Obf: BGEKHPCNAKF
// Type: Rsp
// CmdID: 4204
message ChooseBoxingClubStageOptionalBuffScRsp {
	uint32 retcode = 4; // offset: 32
	CIEEKOEECHB OCDLPDDMCLP = 5; // offset: 24
}

// Obf: OLLAEFNBCIM
// Type: Req
// CmdID: 4288
message StartBoxingClubBattleCsReq {
	uint32 challenge_id = 10; // offset: 24
}

// Obf: EBPOGEBENBH
// Type: Rsp
// CmdID: 4281
message StartBoxingClubBattleScRsp {
	uint32 challenge_id = 3; // offset: 32
	SceneBattleInfo battle_info = 12; // offset: 16
	uint32 retcode = 14; // offset: 36
}

// Obf: PMIFOPAPNNI
// Type: Req
// CmdID: 4286
message GiveUpBoxingClubChallengeCsReq {
	uint32 challenge_id = 3; // offset: 28
	bool KEAAGAIAHLA = 5; // offset: 24
}

// Obf: HKNFAFFEHDL
// Type: Rsp
// CmdID: 4247
message GiveUpBoxingClubChallengeScRsp {
	uint32 retcode = 2; // offset: 32
	CIEEKOEECHB OCDLPDDMCLP = 14; // offset: 16
}

// Obf: FHNOLIMEEOM
// Type: Notify
// CmdID: 4226
message BoxingClubRewardScNotify {
	ItemList reward = 1; // offset: 16
	uint32 challenge_id = 2; // offset: 40
	uint32 EAFICCLCLLA = 3; // offset: 32
	bool is_win = 4; // offset: 36
}

// Obf: OFHGANNPNIH
// Type: Notify
// CmdID: 4213
message BoxingClubChallengeUpdateScNotify {
	CIEEKOEECHB OCDLPDDMCLP = 2; // offset: 16
}

// Obf: MJKJNEGGKGC
enum CmdCakeRaceType {
	MJKJNEGGKGC_NLCDGIPGFDJ = 0;
	CmdCakeRaceLoanScRsp = 9124;
	CmdCakeRaceGetHandbookCsReq = 9131;
	CmdCakeRaceUpdatePveScRsp = 9132;
	CmdCakeRaceGetDataCsReq = 9129;
	CmdCakeRaceGetHandbookScRsp = 9130;
	CmdCakeRaceLikeFriendRankingInfoScRsp = 9122;
	CmdCakeRaceStartPveScRsp = 9142;
	CmdCakeRaceGetDataScRsp = 9145;
	CmdCakeRaceGetFriendRankingInfoListScRsp = 9121;
	CmdBCOHNDPHBGK = 9135;
	CmdCakeRaceLikeFriendRankingInfoCsReq = 9150;
	CmdCakeRaceUpdatePveCsReq = 9141;
	CmdCakeRaceLoanCsReq = 9138;
	CmdCakeRaceCoinScoreChangeScNotify = 9123;
	CmdCakeRaceFinishFieldRewardScNotify = 9147;
	CmdCakeRaceStartPveCsReq = 9125;
	CmdCakeRaceGetFriendRankingInfoListCsReq = 9128;
	CmdCakeRaceGetDailyLikeScRsp = 9139;
	CmdCakeRaceGetDailyLikeCsReq = 9137;
	CmdPIBEHFDDAAJ = 9140;
}

// Obf: JEEFPOLFCOO
// Type: Req
// CmdID: 9129
message CakeRaceGetDataCsReq {
}

// Obf: JNEODFOHENL
// Type: Rsp
// CmdID: 9145
message CakeRaceGetDataScRsp {
	repeated uint32 EAHKHGPPLEA = 2; // offset: 16
	uint32 score_id = 4; // offset: 40
	repeated uint32 LAJJHAAKGAF = 7; // offset: 24
	uint32 item_value = 11; // offset: 52
	uint32 JNBEGEOPGFJ = 13; // offset: 48
	uint32 retcode = 15; // offset: 44
}

// Obf: ABKIKDIGKHG
// Type: Req
// CmdID: 9138
message CakeRaceLoanCsReq {
}

// Obf: AEKIMHBEOGP
// Type: Rsp
// CmdID: 9124
message CakeRaceLoanScRsp {
	uint32 retcode = 5; // offset: 36
	uint32 AKEABJGIKLI = 8; // offset: 32
	ItemList item_list = 11; // offset: 16
}

// Obf: AAKNOOFGMIC
// Type: Req
// CmdID: 9125
message CakeRaceStartPveCsReq {
	uint32 LOPNADHJKBF = 1; // offset: 24
}

// Obf: HLMHPBJKJOD
// Type: Rsp
// CmdID: 9142
message CakeRaceStartPveScRsp {
	uint32 retcode = 2; // offset: 28
	uint32 LOPNADHJKBF = 11; // offset: 24
}
message ICDBHMEPNDB {
	uint32 JLAHNBIMKPD = 3; // offset: 28
	uint32 LHHJFMMCBAF = 11; // offset: 24
}
message EMJCPFCMOMK {
	repeated uint32 CPIKEIGHMGB = 2; // offset: 16
}

// Obf: NMADMOMNBMO
// Type: Req
// CmdID: 9141
message CakeRaceUpdatePveCsReq {
	uint32 LOPNADHJKBF = 3; // offset: 40
	uint32 OPNGHDENCAB = 9; // offset: 36
	oneof FGIMLNIJINE {
		ICDBHMEPNDB BOEJNBKDJLM = 5; // offset: 16
		uint32 BCFPLAPCFPL = 1; // offset: 16
		bool MAGPAGCHOHP = 8; // offset: 16
		EMJCPFCMOMK KMOLBEGKLNI = 4; // offset: 16
		bool PIKEOHHECCA = 12; // offset: 16
	}
}

// Obf: DPNIHNAJNLJ
// Type: Rsp
// CmdID: 9132
message CakeRaceUpdatePveScRsp {
	uint32 retcode = 10; // offset: 24
}

// Type: Req
// CmdID: 9140
message PIBEHFDDAAJ {
	bool DHLLPOBKLIO = 10; // offset: 28
	uint32 score_id = 13; // offset: 24
}

// Type: Rsp
// CmdID: 9135
message BCOHNDPHBGK {
	uint32 retcode = 3; // offset: 24
}

// Obf: CJALEDGKEPJ
// Type: Notify
// CmdID: 9147
message CakeRaceFinishFieldRewardScNotify {
	ItemList reward = 2; // offset: 24
	uint32 LOPNADHJKBF = 8; // offset: 32
}

// Obf: ANJBFCEBNGF
// Type: Notify
// CmdID: 9123
message CakeRaceCoinScoreChangeScNotify {
	uint32 score_id = 1; // offset: 24
	uint32 item_value = 9; // offset: 28
	uint32 JNBEGEOPGFJ = 14; // offset: 32
}

// Obf: FNOMEBNDGJI
// Type: Req
// CmdID: 9131
message CakeRaceGetHandbookCsReq {
}
message GKCNOIGHOPM {
	uint32 LHHJFMMCBAF = 3; // offset: 32
	uint32 MBNBCPEAALJ = 6; // offset: 24
	uint32 CBNKDHIHECO = 13; // offset: 28
}

// Obf: MPNKBNOCCLD
// Type: Rsp
// CmdID: 9130
message CakeRaceGetHandbookScRsp {
	uint32 retcode = 4; // offset: 32
	repeated GKCNOIGHOPM AOBBDDKFBMD = 15; // offset: 16
}

// Obf: IONBKDFCGJO
// Type: Req
// CmdID: 9128
message CakeRaceGetFriendRankingInfoListCsReq {
}
message JBHLNAHOJOH {
	uint32 FOGJIBONACG = 7; // offset: 28
	uint32 uid = 10; // offset: 32
	uint32 JNBEGEOPGFJ = 14; // offset: 24
}

// Obf: GMGCEMNNPBM
// Type: Rsp
// CmdID: 9121
message CakeRaceGetFriendRankingInfoListScRsp {
	repeated uint32 LPBBJFFNACA = 3; // offset: 32
	repeated JBHLNAHOJOH MLPHLIHFGKG = 11; // offset: 24
	uint32 retcode = 15; // offset: 40
}

// Obf: FBBHAKEHLEC
// Type: Req
// CmdID: 9150
message CakeRaceLikeFriendRankingInfoCsReq {
	uint32 teleport_id = 5; // offset: 24
}

// Obf: EEBFDPANGCP
// Type: Rsp
// CmdID: 9122
message CakeRaceLikeFriendRankingInfoScRsp {
	uint32 retcode = 2; // offset: 40
	ItemList reward_list = 9; // offset: 16
	uint32 teleport_id = 12; // offset: 44
	repeated uint32 LPBBJFFNACA = 13; // offset: 24
}

// Obf: EHJBIMBILHP
// Type: Req
// CmdID: 9137
message CakeRaceGetDailyLikeCsReq {
}

// Obf: OALBLNCGKCO
// Type: Rsp
// CmdID: 9139
message CakeRaceGetDailyLikeScRsp {
	repeated uint32 LPBBJFFNACA = 6; // offset: 16
	uint32 retcode = 7; // offset: 32
}

// Obf: GBMDCPMJIAB
enum CmdChallengeType {
	GBMDCPMJIAB_NLCDGIPGFDJ = 0;
	CmdGetChallengeGroupStatisticsCsReq = 1711;
	CmdGetChallengeGroupStatisticsScRsp = 1736;
	CmdGetChallengeCsReq = 1725;
	CmdTakeChallengeCumulativeRewardCsReq = 1739;
	CmdGetCurChallengeScRsp = 1771;
	CmdStartChallengeScRsp = 1758;
	CmdChallengeSettleNotify = 1786;
	CmdEnterChallengeNextPhaseScRsp = 1772;
	CmdStartChallengeCsReq = 1793;
	CmdChallengeLineupNotify = 1740;
	CmdStartPartialChallengeCsReq = 1748;
	CmdRestartChallengePhaseCsReq = 1765;
	CmdLeaveChallengeScRsp = 1781;
	CmdGetChallengeScRsp = 1778;
	CmdRestartChallengePhaseScRsp = 1730;
	CmdGetCurChallengeCsReq = 1713;
	CmdLeaveChallengeCsReq = 1788;
	CmdStartPartialChallengeScRsp = 1745;
	CmdChallengeBossPhaseSettleNotify = 1780;
	CmdTakeChallengeCumulativeRewardScRsp = 1704;
	CmdEnterChallengeNextPhaseCsReq = 1742;
}

// Obf: ChallengeStatus
enum ChallengeStatus {
	CHALLENGE_UNKNOWN = 0;
	CHALLENGE_DOING = 1;
	CHALLENGE_FINISH = 2;
	CHALLENGE_FAILED = 3;
}
message Challenge {
	uint32 record_id = 1; // offset: 56
	uint32 score_id = 2; // offset: 40
	bool HGPKMHFPMBJ = 4; // offset: 48
	uint32 challenge_id = 5; // offset: 36
	uint32 taken_reward = 9; // offset: 44
	uint32 star = 11; // offset: 52
	ChallengeStageInfo stage_info = 14; // offset: 24
	uint32 score_two = 15; // offset: 32
}
message ChallengeGroup {
	uint32 group_id = 12; // offset: 24
	uint64 taken_stars_count_reward = 13; // offset: 32
}

// Obf: ChallengeHistoryMaxLevel
message ChallengeHistoryMaxLevel {
	bool HNHCFJJNJCE = 10; // offset: 28
	uint32 reward_display_type = 11; // offset: 24
	uint32 level = 14; // offset: 32
}

// Obf: FICNDNLJEED
// Type: Req
// CmdID: 1725
message GetChallengeCsReq {
}

// Obf: KGPEJJNPLCG
// Type: Rsp
// CmdID: 1778
message GetChallengeScRsp {
	repeated ChallengeGroup challenge_group_list = 1; // offset: 48
	repeated FMDAAIKLAJA KKIAFPFKLGE = 6; // offset: 40
	repeated Challenge challenge_list = 10; // offset: 24
	repeated ChallengeHistoryMaxLevel max_level_list = 11; // offset: 16
	uint32 retcode = 12; // offset: 56
}
message ChallengeStoryBuffInfo {
	uint32 buff_two = 5; // offset: 28
	uint32 buff_one = 12; // offset: 24
}
message ChallengeBossBuffInfo {
	uint32 buff_two = 1; // offset: 24
	uint32 buff_one = 8; // offset: 28
}
message ChallengeBuffInfo {
	oneof KKNBOACNCON {
		ChallengeStoryBuffInfo story_info = 11; // offset: 16
		ChallengeBossBuffInfo boss_info = 13; // offset: 16
	}
}

// Obf: EOFJMGIPBLG
// Type: Req
// CmdID: 1793
message StartChallengeCsReq {
	ChallengeBuffInfo stage_info = 1; // offset: 48
	repeated uint32 first_lineup = 3; // offset: 40
	repeated uint32 second_lineup = 4; // offset: 32
	repeated AvatarLineup avatar_lineup_first = 6; // offset: 56
	repeated AvatarLineup avatar_lineup_second = 10; // offset: 16
	uint32 challenge_id = 12; // offset: 64
}

// Obf: IPALENCIHFB
// Type: Rsp
// CmdID: 1758
message StartChallengeScRsp {
	repeated LineupInfo lineup_list = 2; // offset: 48
	uint32 retcode = 3; // offset: 56
	CurChallenge cur_challenge = 10; // offset: 32
	ChallengeStageInfo stage_info = 11; // offset: 40
	SceneInfo scene = 14; // offset: 24
}

// Obf: OCOJEHPINMN
// Type: Req
// CmdID: 1748
message StartPartialChallengeCsReq {
	uint32 challenge_id = 1; // offset: 24
	uint32 buff_id = 10; // offset: 28
	bool is_first_half = 14; // offset: 32
}

// Obf: FHHDPFNMPMC
// Type: Rsp
// CmdID: 1745
message StartPartialChallengeScRsp {
	uint32 retcode = 2; // offset: 48
	SceneInfo scene = 6; // offset: 16
	CurChallenge cur_challenge = 13; // offset: 32
	LineupInfo lineup = 14; // offset: 24
}

// Obf: KGKLEEPMGEF
// Type: Req
// CmdID: 1788
message LeaveChallengeCsReq {
}

// Obf: PGBKJLOFLLN
// Type: Rsp
// CmdID: 1781
message LeaveChallengeScRsp {
	uint32 retcode = 8; // offset: 24
}

// Obf: DPNNFHCFCKL
// Type: Notify
// CmdID: 1786
message ChallengeSettleNotify {
	repeated uint32 KDIDCCOOJJC = 1; // offset: 48
	uint32 star = 2; // offset: 64
	ChallengeHistoryMaxLevel max_level = 6; // offset: 16
	bool is_win = 7; // offset: 60
	uint32 score_two = 8; // offset: 68
	uint32 challenge_id = 9; // offset: 72
	uint32 challenge_score = 12; // offset: 56
	ItemList reward = 14; // offset: 24
	CurChallenge cur_challenge = 15; // offset: 40
}

// Obf: KillMonster
message KillMonster {
	uint32 monster_id = 2; // offset: 24
	uint32 kill_num = 14; // offset: 28
}
message ChallengeStoryBuffList {
	repeated uint32 buff_list = 5; // offset: 16
}
message ChallengeBossBuffList {
	repeated uint32 buff_list = 2; // offset: 24
	uint32 challenge_boss_const = 3; // offset: 32
}
message ChallengeCurBuffInfo {
	oneof KKNBOACNCON {
		ChallengeStoryBuffList cur_story_buffs = 1; // offset: 24
		ChallengeBossBuffList cur_boss_buffs = 9; // offset: 24
	}
}

// Obf: CurChallenge
message CurChallenge {
	ExtraLineupType extra_lineup_type = 1; // offset: 52
	uint32 challenge_id = 2; // offset: 56
	uint32 score_two = 5; // offset: 64
	ChallengeStatus status = 6; // offset: 40
	uint32 dead_avatar_num = 7; // offset: 44
	repeated KillMonster kill_monster_list = 9; // offset: 24
	ChallengeCurBuffInfo stage_info = 10; // offset: 32
	uint32 round_count = 12; // offset: 48
	uint32 score_id = 13; // offset: 60
}

// Obf: NOHJGOCPPMF
// Type: Req
// CmdID: 1713
message GetCurChallengeCsReq {
}

// Obf: JIOAKKLDCBB
// Type: Rsp
// CmdID: 1771
message GetCurChallengeScRsp {
	repeated LineupInfo lineup_list = 6; // offset: 16
	uint32 retcode = 8; // offset: 40
	CurChallenge cur_challenge = 13; // offset: 32
}

// Obf: DBGHDPKNNKK
// Type: Notify
// CmdID: 1740
message ChallengeLineupNotify {
	ExtraLineupType extra_lineup_type = 4; // offset: 24
}

// Obf: HHGBMDBOKHI
// Type: Req
// CmdID: 1739
message TakeChallengeCumulativeRewardCsReq {
	uint32 group_id = 13; // offset: 24
}

// Obf: CGOFJCCAPBC
// Type: Rsp
// CmdID: 1704
message TakeChallengeCumulativeRewardScRsp {
	uint32 group_id = 2; // offset: 40
	ItemList OAKNHADPLJD = 5; // offset: 32
	uint32 retcode = 6; // offset: 44
	repeated TakenChallengeRewardInfo taken_reward_list = 7; // offset: 24
}
message TakenChallengeRewardInfo {
	ItemList reward = 4; // offset: 16
	uint32 star_count = 5; // offset: 32
}
message ChallengeStatistics {
	ADKJKMKBFDC PPBHLLOJNEK = 6; // offset: 24
	uint32 record_id = 10; // offset: 32
}
message ChallengeStoryStatistics {
	EIKPHEMHIOH PPBHLLOJNEK = 6; // offset: 16
	uint32 record_id = 7; // offset: 32
}
message ChallengeBossStatistics {
	AANLJBLOOFO PPBHLLOJNEK = 1; // offset: 16
	uint32 record_id = 14; // offset: 32
}
message ADKJKMKBFDC {
	uint32 EEJCPNAEKLJ = 1; // offset: 32
	uint32 round_count = 3; // offset: 40
	uint32 level = 13; // offset: 36
	repeated ChallengeLineupList lineup_list = 14; // offset: 16
}
message EIKPHEMHIOH {
	uint32 EEJCPNAEKLJ = 5; // offset: 48
	uint32 buff_one = 6; // offset: 32
	repeated ChallengeLineupList lineup_list = 9; // offset: 24
	uint32 score_id = 10; // offset: 36
	uint32 level = 11; // offset: 44
	uint32 buff_two = 15; // offset: 40
}
message AANLJBLOOFO {
	uint32 buff_two = 1; // offset: 40
	uint32 EEJCPNAEKLJ = 6; // offset: 36
	uint32 level = 8; // offset: 44
	repeated ChallengeLineupList lineup_list = 9; // offset: 16
	uint32 buff_one = 11; // offset: 32
	uint32 score_id = 15; // offset: 48
}

// Obf: HKAMBNCEDDB
// Type: Req
// CmdID: 1711
message GetChallengeGroupStatisticsCsReq {
	uint32 group_id = 12; // offset: 24
}

// Obf: MJLNHAKANHC
// Type: Rsp
// CmdID: 1736
message GetChallengeGroupStatisticsScRsp {
	uint32 group_id = 9; // offset: 48
	uint32 retcode = 15; // offset: 40
	PlayerChallengeTierceRecord MEGBIPBAFBP = 713; // offset: 32
	oneof EDKOHAAMONH {
		ChallengeStatistics challenge_default = 2; // offset: 16
		ChallengeStoryStatistics challenge_story = 8; // offset: 16
		ChallengeBossStatistics challenge_boss = 11; // offset: 16
	}
}

// Obf: ChallengeBossSingleNodeInfo
message ChallengeBossSingleNodeInfo {
	uint32 max_score = 2; // offset: 32
	bool MBHCJPONJOM = 3; // offset: 25
	uint32 buff_id = 5; // offset: 28
	bool is_win = 6; // offset: 24
}
message ChallengeBossInfo {
	bool unk1 = 3; // offset: 72
	repeated AvatarLineup avatar_lineup_first = 5; // offset: 64
	ChallengeBossSingleNodeInfo second_node = 6; // offset: 16
	repeated AvatarLineup avatar_lineup_second = 8; // offset: 32
	map<uint32, ChallengeBossAvatarRelicInfo> challenge_avatar_relic_map = 10; // offset: 56
	ChallengeBossSingleNodeInfo first_node = 11; // offset: 48
	map<uint32, ChallengeBossEquipmentInfo> challenge_avatar_equipment_map = 12; // offset: 40
}

// Obf: ChallengeStageInfo
message ChallengeStageInfo {
	oneof KKNBOACNCON {
		ChallengeBossInfo boss_info = 6; // offset: 16
	}
}

// Obf: LMEBOJEOJPD
// Type: Req
// CmdID: 1765
message RestartChallengePhaseCsReq {
}

// Obf: IGOIIMJKPEH
// Type: Rsp
// CmdID: 1730
message RestartChallengePhaseScRsp {
	SceneInfo scene = 1; // offset: 16
	uint32 retcode = 3; // offset: 32
}

// Obf: BNAKMGMBLCJ
// Type: Req
// CmdID: 1742
message EnterChallengeNextPhaseCsReq {
}

// Obf: PBGKAOINCEP
// Type: Rsp
// CmdID: 1772
message EnterChallengeNextPhaseScRsp {
	uint32 retcode = 3; // offset: 32
	SceneInfo scene = 13; // offset: 16
}

// Obf: ANEIPABEMDH
// Type: Notify
// CmdID: 1780
message ChallengeBossPhaseSettleNotify {
	uint32 challenge_score = 2; // offset: 32
	uint32 star = 3; // offset: 52
	bool is_second_half = 4; // offset: 58
	bool AGAEPDNHPJC = 5; // offset: 56
	bool is_reward = 6; // offset: 59
	uint32 page_type = 8; // offset: 48
	uint32 phase = 10; // offset: 36
	bool is_win = 11; // offset: 57
	repeated BattleTarget battle_target_list = 12; // offset: 24
	uint32 challenge_id = 14; // offset: 40
	uint32 score_two = 15; // offset: 44
}

// Obf: GHGFEJEHGDM
enum CmdChallengePeakType {
	GHGFEJEHGDM_NLCDGIPGFDJ = 0;
	CmdTakeChallengePeakRewardCsReq = 8910;
	CmdConfirmChallengePeakSettleScRsp = 8943;
	CmdReStartChallengePeakCsReq = 8933;
	CmdChallengePeakGroupDataUpdateScNotify = 8907;
	CmdGetCurChallengePeakCsReq = 8924;
	CmdGetChallengePeakDataCsReq = 8909;
	CmdGetChallengePeakDataScRsp = 8923;
	CmdLeaveChallengePeakScRsp = 8948;
	CmdSetChallengePeakMobLineupAvatarCsReq = 8935;
	CmdStartChallengePeakScRsp = 8944;
	CmdStartChallengePeakCsReq = 8937;
	CmdTakeChallengePeakRewardScRsp = 8921;
	CmdChallengePeakSettleScNotify = 8903;
	CmdLeaveChallengePeakCsReq = 8919;
	CmdConfirmChallengePeakSettleCsReq = 8918;
	CmdSetChallengePeakMobLineupAvatarScRsp = 8915;
	CmdReStartChallengePeakScRsp = 8906;
	CmdSetChallengePeakBossHardModeCsReq = 8917;
	CmdGetCurChallengePeakScRsp = 8920;
	CmdSetChallengePeakBossHardModeScRsp = 8929;
}

// Obf: ChallengePeakBuild
message ChallengePeakBuild {
	repeated EquipRelic relic_list = 1; // offset: 16
	uint32 equipment_unique_id = 3; // offset: 40
	uint32 avatar_id = 7; // offset: 32
	uint32 skin_id = 9; // offset: 36
}

// Obf: ChallengePeak
message ChallengePeak {
	uint32 peak_id = 2; // offset: 52
	repeated ChallengePeakBuild peak_build_list = 4; // offset: 40
	repeated uint32 peak_avatar_id_list = 5; // offset: 24
	uint32 cycles_used = 9; // offset: 56
	bool has_passed = 12; // offset: 48
	repeated uint32 finished_target_list = 15; // offset: 32
}
message ChallengePeakBossClearance {
	uint32 best_cycle_count = 3; // offset: 60
	uint32 DJFGDMIDEHJ = 4; // offset: 48
	repeated ABCHBKBKCDF EBNNJAEPBGD = 6; // offset: 24
	repeated uint32 LAMPCACOCHP = 7; // offset: 32
	uint32 buff_id = 8; // offset: 56
	repeated uint32 peak_avatar_id_list = 9; // offset: 16
	bool has_passed = 11; // offset: 64
	uint32 NHOJDHPGBBO = 12; // offset: 52
}
message ChallengePeakBoss {
	repeated uint32 finished_target_list = 4; // offset: 40
	uint32 BFBHCKEJDIG = 5; // offset: 48
	ChallengePeakBossClearance easy_mode = 8; // offset: 24
	ChallengePeakBossClearance hard_mode = 9; // offset: 32
	bool hard_mode_has_passed = 14; // offset: 52
}

// Obf: WaitConfirmData
message WaitConfirmData {
	bool is_wait_confirm = 3; // offset: 40
	uint32 cycles_used = 7; // offset: 32
	repeated uint32 finished_target_list = 9; // offset: 16
	uint32 peak_id = 14; // offset: 36
}
message ABCHBKBKCDF {
	uint32 avatar_id = 1; // offset: 28
	uint32 skin_id = 6; // offset: 24
}
message MEKPDDBLCGK {
	uint32 cycles_used = 3; // offset: 40
	repeated uint32 finished_target_list = 6; // offset: 24
	repeated ABCHBKBKCDF avatar_list = 11; // offset: 32
	uint32 peak_id = 14; // offset: 44
}
message JFBFFIAOPCC {
	repeated MEKPDDBLCGK peaks = 2; // offset: 16
}

// Obf: ChallengePeakGroup
message ChallengePeakGroup {
	ChallengePeakBoss peak_boss = 1; // offset: 56
	uint32 peak_group_id = 2; // offset: 64
	uint32 obtained_stars = 3; // offset: 72
	bool disable_hard_mode = 5; // offset: 76
	JFBFFIAOPCC PAPDCCKPEPK = 8; // offset: 40
	WaitConfirmData wait_confirm_data = 9; // offset: 32
	repeated uint32 taken_star_rewards = 13; // offset: 48
	uint32 count_of_peaks = 14; // offset: 68
	repeated ChallengePeak peaks = 15; // offset: 24
}

// Obf: CJILPJOJOIF
// Type: Req
// CmdID: 8909
message GetChallengePeakDataCsReq {
}

// Obf: PKPOJIAJAAF
// Type: Rsp
// CmdID: 8923
message GetChallengePeakDataScRsp {
	repeated ChallengePeakGroup challenge_peak_groups = 6; // offset: 24
	uint32 current_peak_group_id = 8; // offset: 36
	uint32 retcode = 12; // offset: 32
}

// Type: Req
// CmdID: 8937
message StartChallengePeakCsReq {
	repeated uint32 peak_avatar_id_list = 3; // offset: 16
	uint32 boss_buff_id = 4; // offset: 36
	uint32 peak_id = 7; // offset: 32
}

// Type: Rsp
// CmdID: 8944
message StartChallengePeakScRsp {
	uint32 retcode = 1; // offset: 24
}

// Type: Req
// CmdID: 8919
message LeaveChallengePeakCsReq {
}

// Type: Rsp
// CmdID: 8948
message LeaveChallengePeakScRsp {
	uint32 retcode = 8; // offset: 24
}

// Obf: AFALNHPPKAD
// Type: Notify
// CmdID: 8903
message ChallengePeakSettleScNotify {
	uint32 turn_left = 1; // offset: 44
	bool is_first_pass = 2; // offset: 56
	bool is_boss_target_better = 3; // offset: 48
	uint32 cycles_used = 6; // offset: 52
	bool is_unlock_easy_boss = 7; // offset: 57
	bool is_wait_confirm = 8; // offset: 51
	bool is_win = 9; // offset: 49
	repeated ChallengePeakRewardGroup peak_reward_group_list = 11; // offset: 16
	repeated uint32 finished_target_list = 12; // offset: 32
	uint32 peak_id = 13; // offset: 40
	bool hard_mode_has_passed = 15; // offset: 50
}

// Obf: JMDENKICHGK
// Type: Notify
// CmdID: 8907
message ChallengePeakGroupDataUpdateScNotify {
	ChallengePeakGroup challenge_peak_group = 1; // offset: 24
}

// Obf: PIOAJBFKNIB
// Type: Req
// CmdID: 8910
message TakeChallengePeakRewardCsReq {
	repeated uint32 normal_reward_id_list = 11; // offset: 24
	uint32 peak_group_id = 15; // offset: 32
}
message ChallengePeakRewardGroup {
	uint32 reward_id = 10; // offset: 32
	ItemList reward = 14; // offset: 24
}

// Obf: FGHONKMDBGM
// Type: Rsp
// CmdID: 8921
message TakeChallengePeakRewardScRsp {
	uint32 retcode = 4; // offset: 36
	repeated ChallengePeakRewardGroup peak_reward_group_list = 8; // offset: 24
	uint32 peak_group_id = 11; // offset: 32
}

// Obf: LFGECDNDGEJ
// Type: Req
// CmdID: 8924
message GetCurChallengePeakCsReq {
}

// Obf: CIDMLLEGNNN
// Type: Rsp
// CmdID: 8920
message GetCurChallengePeakScRsp {
	uint32 peak_id = 1; // offset: 32
	uint32 retcode = 2; // offset: 36
	bool has_passed = 5; // offset: 28
	uint32 boss_buff_id = 12; // offset: 24
}

// Obf: KDMFDDFOICF
// Type: Req
// CmdID: 8917
message SetChallengePeakBossHardModeCsReq {
	uint32 peak_group_id = 7; // offset: 24
	bool is_hard_mode = 11; // offset: 28
}

// Obf: CGLPPBKHAAN
// Type: Rsp
// CmdID: 8929
message SetChallengePeakBossHardModeScRsp {
	bool is_hard_mode = 2; // offset: 28
	uint32 retcode = 6; // offset: 32
	uint32 peak_group_id = 11; // offset: 24
}

// Type: Req
// CmdID: 8933
message ReStartChallengePeakCsReq {
}

// Type: Rsp
// CmdID: 8906
message ReStartChallengePeakScRsp {
	uint32 retcode = 15; // offset: 24
}

// Obf: ChallengePeakLineup
message ChallengePeakLineup {
	uint32 peak_id = 4; // offset: 32
	repeated uint32 peak_avatar_id_list = 10; // offset: 16
}

// Type: Req
// CmdID: 8935
message SetChallengePeakMobLineupAvatarCsReq {
	repeated ChallengePeakLineup lineup_list = 1; // offset: 16
	uint32 peak_group_id = 12; // offset: 32
}

// Type: Rsp
// CmdID: 8915
message SetChallengePeakMobLineupAvatarScRsp {
	uint32 retcode = 2; // offset: 24
}

// Type: Req
// CmdID: 8918
message ConfirmChallengePeakSettleCsReq {
	bool IOBCIMIPEOM = 1; // offset: 28
	uint32 peak_id = 13; // offset: 24
}

// Type: Rsp
// CmdID: 8943
message ConfirmChallengePeakSettleScRsp {
	bool IOBCIMIPEOM = 5; // offset: 32
	uint32 peak_id = 8; // offset: 24
	uint32 retcode = 12; // offset: 28
}

// Obf: FEBNJDJAEBM
enum CmdChallengeTierceType {
	FEBNJDJAEBM_NLCDGIPGFDJ = 0;
	CmdConfirmStageSettleChallengeTierceScRsp = 8985;
	CmdRestartChallengeTierceScRsp = 8992;
	CmdConfirmStageSettleChallengeTierceCsReq = 8990;
	CmdStartChallengeTierceScRsp = 8974;
	CmdLeaveChallengeTierceCsReq = 8991;
	CmdGetDataChallengeTierceScRsp = 8980;
	CmdStartNextChallengeTierceScRsp = 8999;
	CmdDOPHNDHILPA = 8973;
	CmdGetControllerChallengeTierceCsReq = 8978;
	CmdRestartChallengeTierceCsReq = 8975;
	CmdGetControllerChallengeTierceScRsp = 8971;
	CmdSetLineupChallengeTierceCsReq = 8979;
	CmdStartChallengeTierceCsReq = 8988;
	CmdGetDataChallengeTierceCsReq = 8981;
	CmdStartNextChallengeTierceCsReq = 8977;
	CmdSetLineupChallengeTierceScRsp = 8995;
	CmdLeaveChallengeTierceScRsp = 8982;
}
message LineupTierce {
	uint32 buff_id = 5; // offset: 32
	repeated AvatarLineup tierce_avatar_id_list = 9; // offset: 16
}

// Obf: NFKCMMEAIDN
// Type: Req
// CmdID: 8979
message SetLineupChallengeTierceCsReq {
	uint32 challenge_id = 7; // offset: 32
	repeated LineupTierce lineup_tierce_list = 12; // offset: 16
}

// Obf: GGCBEKKJCJN
// Type: Rsp
// CmdID: 8995
message SetLineupChallengeTierceScRsp {
	uint32 retcode = 12; // offset: 24
}

// Obf: StartChallengeTierceCsReq
// Type: Req
// CmdID: 8988
message StartChallengeTierceCsReq {
	uint32 stage_index = 1; // offset: 40
	uint32 challenge_id = 3; // offset: 32
	bool MPKMIKBFEHG = 13; // offset: 36
	repeated LineupTierce lineup_tierce_list = 14; // offset: 24
}

// Obf: StartChallengeTierceScRsp
// Type: Rsp
// CmdID: 8974
message StartChallengeTierceScRsp {
	uint32 retcode = 4; // offset: 40
	SceneInfo scene = 7; // offset: 24
	CurTierceChallenge cur_tierce_challenge = 12; // offset: 16
}

// Obf: PKKFNODINEM
// Type: Req
// CmdID: 8975
message RestartChallengeTierceCsReq {
}

// Obf: JMPJCAPKNGI
// Type: Rsp
// CmdID: 8992
message RestartChallengeTierceScRsp {
	SceneInfo scene = 1; // offset: 16
	uint32 retcode = 11; // offset: 32
}

// Obf: MHJNOBBOFOC
// Type: Req
// CmdID: 8977
message StartNextChallengeTierceCsReq {
}

// Obf: LHAKNKHBLBI
// Type: Rsp
// CmdID: 8999
message StartNextChallengeTierceScRsp {
	CurTierceChallenge cur_tierce_challenge = 8; // offset: 32
	SceneInfo scene = 10; // offset: 16
	uint32 retcode = 12; // offset: 40
}

// Obf: LeaveChallengeTierceCsReq
// Type: Req
// CmdID: 8991
message LeaveChallengeTierceCsReq {
}

// Obf: LeaveChallengeTierceScRsp
// Type: Rsp
// CmdID: 8982
message LeaveChallengeTierceScRsp {
	uint32 retcode = 13; // offset: 24
}

// Obf: MENLHHCJNCE
// Type: Req
// CmdID: 8990
message ConfirmStageSettleChallengeTierceCsReq {
	bool IOBCIMIPEOM = 14; // offset: 24
}

// Obf: OKEDFNJJGHB
// Type: Rsp
// CmdID: 8985
message ConfirmStageSettleChallengeTierceScRsp {
	uint32 retcode = 2; // offset: 24
}

// Obf: FBAMAFLOBGA
message ChallengeTierceStageClear {
	repeated uint32 LICPEKHDJGK = 4; // offset: 24
	uint32 challenge_id = 13; // offset: 32
}

// Obf: JCKGBFJJFFC
message ChallengeTierceStageSettle {
	PMMOFOBCINL PAIAEPJIDPE = 11; // offset: 32
	bool FCJGHHILDEK = 206; // offset: 40
	repeated uint32 finished_target_list = 1591; // offset: 16
}

// Obf: PEOKJEOOOJD
message ChallengeTiercePendingStageSettle {
	uint32 OPNPMBJDKNB = 8; // offset: 44
	uint32 MMCPICGKOGD = 10; // offset: 24
	uint32 NEDGGMGMLGO = 15; // offset: 28
	uint32 BIEPFFBBJHG = 295; // offset: 36
	uint32 EKKLCBKNAED = 1420; // offset: 32
	uint32 DPDNPCBNENI = 1788; // offset: 40
}
message IBCNMNCCCBJ {
	uint32 HEJANCCDGAP = 9; // offset: 32
	ItemList reward = 15; // offset: 16
}

// Obf: GEKNAKDAMJF
message ChallengeTierceBigSettle {
	repeated PMMOFOBCINL GBMBAHHDONN = 1; // offset: 32
	uint32 challenge_id = 9; // offset: 60
	repeated IBCNMNCCCBJ DJOBNPIAEJP = 12; // offset: 48
	OLOFPKHFPJL EGEHLOPFELK = 15; // offset: 16
	repeated uint32 finished_target_list = 167; // offset: 40
	bool FCJGHHILDEK = 504; // offset: 56
}

// Obf: FLIPNFHAMPO
message ChallengeTierceMedal {
	uint32 MGLLKBNFKFG = 5; // offset: 24
}

// Type: Notify
// CmdID: 8973
message DOPHNDHILPA {
	oneof MMCGBGDJIPN {
		ChallengeTierceStageSettle IANBCDJPDJF = 1; // offset: 16
		ChallengeTierceBigSettle DFNNKENBOEN = 12; // offset: 16
		ChallengeTierceStageClear IBFHHKHNEFL = 4; // offset: 16
		ChallengeTiercePendingStageSettle IIHFEDLHOPI = 14; // offset: 16
		ChallengeTierceMedal HNHCFJJNJCE = 5; // offset: 16
	}
}

// Obf: GOMLCMBBPCH
// Type: Req
// CmdID: 8981
message GetDataChallengeTierceCsReq {
}
message CMOPLAHDEPN {
	repeated uint32 peak_avatar_id_list = 1; // offset: 32
	repeated AvatarLineup tierce_avatar_id_list = 5; // offset: 16
	uint32 buff_id = 8; // offset: 40
	uint32 stage_index = 14; // offset: 44
}
message PMMOFOBCINL {
	uint32 IBECKONIICF = 1; // offset: 48
	uint32 score_id = 3; // offset: 40
	repeated BattleTarget battle_target_list = 7; // offset: 16
	uint32 stage_index = 9; // offset: 56
	BattleEndStatus end_status = 10; // offset: 52
	uint32 INLLMKEDGLC = 13; // offset: 44
	GLLFJFJBIBC lineup = 14; // offset: 24
}
message OLOFPKHFPJL {
	uint32 total_score = 14; // offset: 24
	uint32 EJEDODFFABI = 15; // offset: 28
}
message IFAHFGFFPEF {
	uint32 challenge_id = 3; // offset: 56
	repeated PMMOFOBCINL HGKCEEOONGA = 4; // offset: 24
	bool FCJGHHILDEK = 6; // offset: 60
	repeated uint32 finished_target_list = 7; // offset: 48
	repeated CMOPLAHDEPN MOGEEAJCFNO = 8; // offset: 32
	OLOFPKHFPJL BHNPINIMMHG = 13; // offset: 16
}
message ICMJACOKIPI {
	uint32 stage_index = 1; // offset: 28
	uint32 score_id = 6; // offset: 36
	uint32 INLLMKEDGLC = 8; // offset: 32
	uint32 IBECKONIICF = 11; // offset: 24
}
message KOBALACAPKF {
	repeated ICMJACOKIPI HGKCEEOONGA = 4; // offset: 16
	repeated uint32 finished_target_list = 5; // offset: 24
	uint32 challenge_id = 6; // offset: 44
	bool FCJGHHILDEK = 10; // offset: 40
}

// Obf: HFGMOFBDAON
// Type: Rsp
// CmdID: 8980
message GetDataChallengeTierceScRsp {
	repeated IFAHFGFFPEF JLOMBBAKBME = 10; // offset: 24
	uint32 retcode = 12; // offset: 32
}

// Obf: CurTierceChallenge
message CurTierceChallenge {
	bool MPKMIKBFEHG = 1; // offset: 48
	repeated LineupInfo lineup_list = 7; // offset: 24
	uint32 stage_index = 12; // offset: 44
	ChallengeTiercePendingStageSettle IIHFEDLHOPI = 13; // offset: 32
	uint32 challenge_id = 15; // offset: 40
}

// Obf: CCHPHOIKECB
// Type: Req
// CmdID: 8978
message GetControllerChallengeTierceCsReq {
}

// Obf: LPIHJBELIBN
// Type: Rsp
// CmdID: 8971
message GetControllerChallengeTierceScRsp {
	uint32 retcode = 7; // offset: 40
	CurTierceChallenge cur_tierce_challenge = 12; // offset: 16
	KOBALACAPKF OHPGEHKFABM = 15; // offset: 32
}

// Obf: FAKGHKIKHAP
enum CmdChatType {
	FAKGHKIKHAP_NLCDGIPGFDJ = 0;
	CmdGetPrivateChatHistoryCsReq = 3988;
	CmdGetLoginChatInfoScRsp = 3904;
	CmdGetChatFriendHistoryScRsp = 3947;
	CmdGetLoginChatInfoCsReq = 3939;
	CmdRevcMsgScNotify = 3993;
	CmdMarkChatEmojiScRsp = 3940;
	CmdSendMsgCsReq = 3925;
	CmdBatchMarkChatEmojiCsReq = 3933;
	CmdGetChatEmojiListScRsp = 3913;
	CmdGetChatEmojiListCsReq = 3926;
	CmdGetChatFriendHistoryCsReq = 3986;
	CmdGetPrivateChatHistoryScRsp = 3981;
	CmdSendMsgScRsp = 3978;
	CmdBatchMarkChatEmojiScRsp = 3938;
	CmdMarkChatEmojiCsReq = 3971;
}

// Obf: PCLHDCHFKLP
// Type: Req
// CmdID: 3925
message SendMsgCsReq {
	ChatType chat_type = 3; // offset: 40
	MessageChatData message_datas = 5; // offset: 16
	repeated uint32 target_list = 8; // offset: 24
}

// Obf: MKFCCNOIDNB
// Type: Rsp
// CmdID: 3978
message SendMsgScRsp {
	uint64 end_time = 1; // offset: 24
	uint32 retcode = 8; // offset: 32
}

// Obf: LLCBGMJAICJ
// Type: Notify
// CmdID: 3993
message RevcMsgScNotify {
	uint32 DKDLOOAAAKE = 2; // offset: 36
	ChatType chat_type = 4; // offset: 32
	ChatMessageData recv_message_data = 12; // offset: 16
}

// Obf: PGADBBAECPD
// Type: Req
// CmdID: 3988
message GetPrivateChatHistoryCsReq {
	uint32 target_side = 8; // offset: 28
	uint32 contact_side = 14; // offset: 24
}

// Obf: JLBGMJFLJEE
// Type: Rsp
// CmdID: 3981
message GetPrivateChatHistoryScRsp {
	repeated ChatMessageData chat_message_list = 3; // offset: 24
	uint32 target_side = 5; // offset: 40
	uint32 contact_side = 10; // offset: 32
	uint32 retcode = 14; // offset: 36
}
message FriendHistoryInfo {
	int64 last_send_time = 10; // offset: 32
	uint32 contact_side = 12; // offset: 24
}

// Obf: OPFLGEAPHBA
// Type: Req
// CmdID: 3986
message GetChatFriendHistoryCsReq {
}

// Obf: ENHNFNKCGJJ
// Type: Rsp
// CmdID: 3947
message GetChatFriendHistoryScRsp {
	uint32 retcode = 10; // offset: 32
	repeated FriendHistoryInfo friend_history_info = 13; // offset: 24
}

// Obf: NGCDALNAHIG
// Type: Req
// CmdID: 3926
message GetChatEmojiListCsReq {
}

// Obf: LOFKMJPPAKF
// Type: Rsp
// CmdID: 3913
message GetChatEmojiListScRsp {
	repeated uint32 chat_emoji_list = 2; // offset: 16
	uint32 retcode = 5; // offset: 32
}

// Obf: FOHHCCEIICN
// Type: Req
// CmdID: 3971
message MarkChatEmojiCsReq {
	bool is_remove_id = 1; // offset: 24
	uint32 emoji_id = 4; // offset: 28
}

// Obf: NGGKLPDFGDC
// Type: Rsp
// CmdID: 3940
message MarkChatEmojiScRsp {
	uint32 emoji_id = 8; // offset: 32
	bool is_remove_id = 11; // offset: 24
	uint32 retcode = 12; // offset: 28
}

// Obf: FEPDPLJADHK
// Type: Req
// CmdID: 3933
message BatchMarkChatEmojiCsReq {
	repeated uint32 marked_emoji_id_list = 12; // offset: 24
}

// Obf: IECODOPOOBL
// Type: Rsp
// CmdID: 3938
message BatchMarkChatEmojiScRsp {
	uint32 retcode = 7; // offset: 32
	repeated uint32 marked_emoji_id_list = 14; // offset: 24
}

// Obf: CGJKIDOBEAL
// Type: Req
// CmdID: 3939
message GetLoginChatInfoCsReq {
}

// Obf: EBOPMIBKNBE
// Type: Rsp
// CmdID: 3904
message GetLoginChatInfoScRsp {
	uint32 retcode = 2; // offset: 32
	repeated uint32 contact_id_list = 4; // offset: 24
}

// Obf: KANFMPNKHJH
enum CmdChenLingBattleType {
	KANFMPNKHJH_NLCDGIPGFDJ = 0;
	CmdOMFFCGEINLF = 9609;
	CmdGOKHEKCHLEL = 9575;
	CmdJMLOJKGMBMC = 9578;
	CmdGBCKAGHDPEB = 9587;
	CmdKNKCNKJOKPA = 9610;
	CmdChenLingQuitStageCsReq = 9589;
	CmdPICHIFNMBNO = 9600;
	CmdPLMPGLKCGBJ = 9602;
	CmdChenLingSyncChangeScNotify = 9592;
	CmdFAHNFMCOJCH = 9584;
	CmdLAECPMJAIIK = 9591;
	CmdDIONONBIIKN = 9571;
	CmdMJEMCKGBIPN = 9596;
	CmdNFAHEHELGEC = 9605;
	CmdEIFJNMDDNPF = 9585;
	CmdChenLingQuitStageScRsp = 9618;
	CmdHKKBGLINEOM = 9611;
	CmdIOPAIDKIGAJ = 9573;
	CmdPFELEGKDCBO = 9599;
	CmdKHMGHGPLPHF = 9572;
	CmdLKFKOHLGMOJ = 9615;
	CmdHPKOOPBFEAH = 9583;
	CmdChenLingStartStageCsReq = 9607;
	CmdMEJECBOGNNN = 9594;
	CmdChenLingActivatedPrivilegeScRsp = 9612;
	CmdHFNMKEDPFJH = 9576;
	CmdONGCOFFLIAE = 9603;
	CmdHLCAKAJLKGO = 9613;
	CmdPIIJEIADMFP = 9586;
	CmdKCEJNBLDAFE = 9577;
	CmdChenLingStartStageScRsp = 9614;
	CmdJJLPGBIAADJ = 9588;
	CmdGEPCOHMCAAJ = 9590;
	CmdChenLingGetDataScRsp = 9593;
	CmdBEKKPBIKINI = 9606;
	CmdFCNMJGGDEFO = 9580;
	CmdDLGCDMBGIEB = 9582;
	CmdChenLingGetDataCsReq = 9579;
	CmdChenLingActivatedPrivilegeCsReq = 9617;
}

enum EFFGCOJFEEL {
	EFFGCOJFEEL_JCHBPHOIACG = 0;
	EFFGCOJFEEL_FHJJHMIFEJG = 1;
	EFFGCOJFEEL_DJFEMKHJBNO = 2;
}

enum BCAMANFJINC {
	BCAMANFJINC_NLCDGIPGFDJ = 0;
	BCAMANFJINC_MLIGAFABJDP = 1;
	BCAMANFJINC_BLLCMLBDLPC = 2;
	BCAMANFJINC_MEBGACKEOOG = 3;
	BCAMANFJINC_GHPKFACFMML = 4;
	BCAMANFJINC_JHJCNLLMPKH = 5;
	BCAMANFJINC_LOFJAGLLHHG = 6;
	BCAMANFJINC_HEIHBJEEGPB = 7;
	BCAMANFJINC_NJPMBLBIBOD = 8;
	BCAMANFJINC_GIFGLDBDELN = 9;
	BCAMANFJINC_NGECENKOPLK = 10;
	BCAMANFJINC_EMGMFOBLAFN = 11;
	BCAMANFJINC_LIJMDJDFIIC = 12;
	BCAMANFJINC_JHGMHCJOKNA = 13;
	BCAMANFJINC_KPCEJLILHMO = 14;
	BCAMANFJINC_AEHHIPFDNFJ = 15;
	BCAMANFJINC_KHBEOADDIFM = 16;
	BCAMANFJINC_action = 17;
	BCAMANFJINC_DACEMIDFHOG = 18;
	BCAMANFJINC_OIKFFLEHFCN = 19;
	BCAMANFJINC_KEJCJJHDKJB = 20;
	BCAMANFJINC_EIIJCLPCFLM = 21;
	BCAMANFJINC_NKJFKBBDDEO = 22;
}

enum GLBAOKOHKCF {
	GLBAOKOHKCF_NLCDGIPGFDJ = 0;
	GLBAOKOHKCF_COJOIFPPCIJ = 2;
	GLBAOKOHKCF_hp = 3;
	GLBAOKOHKCF_OGGGLOEIOMM = 4;
	GLBAOKOHKCF_CCPLGNNIOCO = 5;
	GLBAOKOHKCF_DGOMNKGLABB = 6;
	GLBAOKOHKCF_PAIEELDAADP = 7;
}

enum CNEEMBBNNBO {
	CNEEMBBNNBO_NLCDGIPGFDJ = 0;
	CNEEMBBNNBO_EHNIPLNEEDI = 1;
	CNEEMBBNNBO_FAODKNDLNPF = 2;
	CNEEMBBNNBO_INCLHHDFCEL = 3;
}
message JLPEICPFLMC {
	BCAMANFJINC source_type = 1; // offset: 40
	uint64 BNEFLBPCPOI = 6; // offset: 32
	oneof KLLMJCCOMNF {
		uint32 BFCNALJDHMP = 7; // offset: 16
		uint32 HPDFGFBLDOG = 9; // offset: 16
		uint32 GCPPLLLHBBJ = 13; // offset: 16
		uint32 DJODEIMGKGK = 8; // offset: 16
		uint32 PBHFMIIIPBD = 2; // offset: 16
		uint64 CHFNDAGCEBK = 1671; // offset: 16
		uint32 LEEMKAMANJN = 1075; // offset: 16
		uint32 NKDDBPGDAEE = 1219; // offset: 16
		uint32 EFEENOFADFC = 692; // offset: 16
		PFPPACPMFDJ DJNOLLDHPHJ = 158; // offset: 16
	}
}
message JLIFGIMBMBD {
	uint32 KKCKMCDGCGK = 3; // offset: 32
	uint32 BIOFDPICHLC = 5; // offset: 24
	uint32 HMLBJFJIPCE = 12; // offset: 28
}
message HGCIPBFBNKO {
	JLPEICPFLMC source = 5; // offset: 32
	uint64 unique_id = 7; // offset: 40
	uint32 config_id = 9; // offset: 52
	oneof AEJNJCELNOE {
		JLIFGIMBMBD AENBOONOFLC = 10; // offset: 24
	}
}
message AFDJNEOHCLB {
	uint32 OCJCOOLMCGD = 8; // offset: 32
	JLPEICPFLMC source = 9; // offset: 24
	uint32 progress = 15; // offset: 36
}
message GACKCPEPDAF {
	uint64 MLMFNEBLNHP = 11; // offset: 32
	uint32 max_level = 12; // offset: 24
	uint32 level = 14; // offset: 40
	uint32 config_id = 15; // offset: 28
}
message AKHEOAIPAPA {
	uint32 unique_id = 2; // offset: 40
	double OJMOBAEEMAP = 3; // offset: 48
	double CPLFBOBLFMC = 5; // offset: 32
	JLPEICPFLMC source = 8; // offset: 24
	GLBAOKOHKCF GOKKLNBMLCA = 10; // offset: 44
}
message LDNFIICMCHA {
	uint32 max_level = 3; // offset: 56
	uint32 level = 6; // offset: 64
	bool DBODGPBOIHC = 7; // offset: 60
	uint64 IEPAPOPIFHH = 9; // offset: 48
	repeated AKHEOAIPAPA DIILKEEGLOJ = 12; // offset: 24
	repeated GACKCPEPDAF KAJOFKIEKNH = 13; // offset: 16
	uint64 KNDHHAJMBGB = 15; // offset: 40
}
message GKNOCNDPAJA {
	uint64 IEPAPOPIFHH = 3; // offset: 32
	uint32 max_level = 7; // offset: 28
	uint32 level = 10; // offset: 24
}
message LEGNLMENMJK {
	uint32 unique_id = 6; // offset: 36
	uint32 card_id = 15; // offset: 40
	oneof NPFEGGMNBOC {
		LDNFIICMCHA MLIGAFABJDP = 7; // offset: 24
		GKNOCNDPAJA BLLCMLBDLPC = 11; // offset: 24
	}
}
message PFPPACPMFDJ {
	int32 y = 5; // offset: 28
	int32 x = 11; // offset: 24
}
message DFFLMEMFPLM {
	uint32 BFCNALJDHMP = 12; // offset: 32
	PFPPACPMFDJ DJNOLLDHPHJ = 15; // offset: 24
}
message CABCPFKAOPP {
	uint32 KDIDDHIDNCG = 1; // offset: 44
	repeated uint32 GCDGGBLOJIC = 8; // offset: 16
	repeated uint32 NFPADEPIKML = 10; // offset: 32
	uint32 OEKIFIKBMFI = 11; // offset: 40
}
message AALCHOPCBEM {
	CABCPFKAOPP JOOEEKMDAEO = 3; // offset: 24
}
message FIBKOLLMPMM {
}
message LJBOELCMGFK {
	repeated uint32 GCDGGBLOJIC = 4; // offset: 16
	uint32 KDIDDHIDNCG = 6; // offset: 32
}
message GDDLBMCHIED {
	repeated uint32 MKOKLLKALDE = 9; // offset: 16
	uint32 KDIDDHIDNCG = 12; // offset: 32
}
message GEEPIPMBGJD {
	repeated uint32 GCDGGBLOJIC = 3; // offset: 32
	CABCPFKAOPP JOOEEKMDAEO = 5; // offset: 24
	repeated uint32 NFPADEPIKML = 7; // offset: 16
	uint32 KDIDDHIDNCG = 8; // offset: 48
	uint32 OEKIFIKBMFI = 12; // offset: 52
}
message MLJEJCFJPLE {
}
message KFOOLGFCNDN {
	oneof CNHEJLOEFAA {
		AALCHOPCBEM EFBPPPNPBKH = 11; // offset: 24
		FIBKOLLMPMM IFCFIPGIIME = 6; // offset: 24
		LJBOELCMGFK OCIHLGBPALK = 15; // offset: 24
		GDDLBMCHIED NNLBNIJJPAH = 2; // offset: 24
		GEEPIPMBGJD DJBMEHBKNDF = 14; // offset: 24
		MLJEJCFJPLE BAMNOFCJMPP = 9; // offset: 24
	}
}
message BDOEDOEBFAJ {
	repeated AFDJNEOHCLB IFJIHNBDNGN = 1; // offset: 40
	repeated LEGNLMENMJK entity_list = 2; // offset: 104
	uint32 NKDDBPGDAEE = 3; // offset: 132
	repeated HGCIPBFBNKO LDCJONHGDAN = 4; // offset: 56
	repeated PHHFOGFKDBC MEMGHBHGGPN = 5; // offset: 24
	uint32 GCBDADCOBAE = 6; // offset: 120
	uint32 stage_id = 7; // offset: 136
	repeated DFFLMEMFPLM IEDKELDFHLP = 8; // offset: 72
	KFOOLGFCNDN ILOODGHPOBM = 9; // offset: 96
	uint32 item_value = 10; // offset: 128
	repeated uint32 MGJENMKKIBJ = 11; // offset: 88
	repeated uint32 OKHDNEOLLNF = 12; // offset: 64
	uint32 cur_wave = 13; // offset: 124
	uint32 hp = 14; // offset: 116
	BNHBDMIDFCL FMIGOKIDKJL = 15; // offset: 80
	repeated uint64 FNJCMFOFCNC = 264; // offset: 32
	uint32 max_hp = 539; // offset: 112
	MBLJIEELMKN GHICOBOPHOL = 1951; // offset: 48
}
message FDDNKPJEMJE {
	uint32 stage_id = 1; // offset: 28
	bool is_unlock = 6; // offset: 24
}

// Obf: AGEPCIIPMEF
// Type: Req
// CmdID: 9579
message ChenLingGetDataCsReq {
}

// Obf: PJFEPJKONAA
// Type: Rsp
// CmdID: 9593
message ChenLingGetDataScRsp {
	FDDNKPJEMJE DJOLGKGKCHE = 5; // offset: 16
	BDOEDOEBFAJ KFAIGIIPLOF = 9; // offset: 24
	repeated uint32 IMNNAENHBMA = 11; // offset: 40
	uint32 retcode = 13; // offset: 52
	uint32 GDHOLMIBAEA = 14; // offset: 48
}
message OGGELMMFPKP {
	double damage = 5; // offset: 32
	uint32 config_id = 6; // offset: 24
}
message DFEGGFFOMKI {
	uint32 wave = 1; // offset: 36
	uint32 cur_hp = 5; // offset: 32
	CNEEMBBNNBO reason = 6; // offset: 44
	repeated OGGELMMFPKP PPCKLBHFCCA = 7; // offset: 16
	uint32 stage_id = 8; // offset: 48
	uint32 max_hp = 13; // offset: 40
}

// Obf: FCLBPLLKLLL
// Type: Req
// CmdID: 9607
message ChenLingStartStageCsReq {
	uint32 NKDDBPGDAEE = 3; // offset: 28
	uint32 stage_id = 13; // offset: 24
}

// Obf: CPMOGOPHJOG
// Type: Rsp
// CmdID: 9614
message ChenLingStartStageScRsp {
	uint32 retcode = 11; // offset: 32
	BDOEDOEBFAJ AHCGJNDKBCA = 13; // offset: 24
}

// Obf: PEEJCHEKGCJ
// Type: Req
// CmdID: 9589
message ChenLingQuitStageCsReq {
	uint32 GDIMKFNECOK = 14; // offset: 24
}

// Obf: NEAMMJICKGD
// Type: Rsp
// CmdID: 9618
message ChenLingQuitStageScRsp {
	DFEGGFFOMKI BFLLJJBHLDF = 3; // offset: 24
	uint32 retcode = 5; // offset: 32
}

// Type: Req
// CmdID: 9573
message IOPAIDKIGAJ {
	PFPPACPMFDJ DJNOLLDHPHJ = 14; // offset: 24
}

// Type: Rsp
// CmdID: 9577
message KCEJNBLDAFE {
	uint32 retcode = 7; // offset: 24
}

// Type: Req
// CmdID: 9580
message FCNMJGGDEFO {
	PFPPACPMFDJ GAJFFBBMMEN = 2; // offset: 16
	uint32 FGIHKKKOGJD = 6; // offset: 32
}

// Type: Rsp
// CmdID: 9591
message LAECPMJAIIK {
	uint32 retcode = 9; // offset: 24
}

// Type: Req
// CmdID: 9611
message HKKBGLINEOM {
	uint32 BFCNALJDHMP = 4; // offset: 32
	PFPPACPMFDJ GAJFFBBMMEN = 11; // offset: 16
}

// Type: Rsp
// CmdID: 9582
message DLGCDMBGIEB {
	uint32 retcode = 10; // offset: 24
}

// Type: Req
// CmdID: 9594
message MEJECBOGNNN {
	uint32 FGIHKKKOGJD = 2; // offset: 24
}

// Type: Rsp
// CmdID: 9590
message GEPCOHMCAAJ {
	uint32 retcode = 3; // offset: 24
}

// Type: Req
// CmdID: 9587
message GBCKAGHDPEB {
}

// Type: Rsp
// CmdID: 9599
message PFELEGKDCBO {
	uint32 retcode = 12; // offset: 24
}

// Type: Req
// CmdID: 9603
message ONGCOFFLIAE {
	uint32 add_coin = 3; // offset: 40
	uint32 soldier_dead_cnt = 8; // offset: 44
	uint32 GDIMKFNECOK = 12; // offset: 32
	bool is_win = 13; // offset: 36
	repeated OGGELMMFPKP PPCKLBHFCCA = 14; // offset: 16
}

// Type: Rsp
// CmdID: 9576
message HFNMKEDPFJH {
	uint32 retcode = 1; // offset: 52
	uint32 add_coin = 3; // offset: 48
	bool DAOMHGBDEJH = 4; // offset: 41
	DFEGGFFOMKI BFLLJJBHLDF = 9; // offset: 32
	bool is_win = 10; // offset: 40
	uint32 cur_hp = 12; // offset: 44
	repeated OGGELMMFPKP PPCKLBHFCCA = 15; // offset: 24
}

// Type: Req
// CmdID: 9572
message KHMGHGPLPHF {
}

// Type: Rsp
// CmdID: 9584
message FAHNFMCOJCH {
	uint32 retcode = 10; // offset: 24
}

// Type: Req
// CmdID: 9605
message NFAHEHELGEC {
}

// Type: Rsp
// CmdID: 9585
message EIFJNMDDNPF {
	uint32 retcode = 7; // offset: 24
}

// Type: Req
// CmdID: 9583
message HPKOOPBFEAH {
}

// Type: Rsp
// CmdID: 9578
message JMLOJKGMBMC {
	uint32 retcode = 9; // offset: 24
}

// Type: Req
// CmdID: 9588
message JJLPGBIAADJ {
	uint32 AAIDCOJPLCI = 11; // offset: 24
}

// Type: Rsp
// CmdID: 9613
message HLCAKAJLKGO {
	uint32 retcode = 7; // offset: 24
}

// Type: Req
// CmdID: 9610
message KNKCNKJOKPA {
	uint32 GPDEFEBDMNM = 7; // offset: 24
}

// Type: Rsp
// CmdID: 9596
message MJEMCKGBIPN {
	uint32 retcode = 10; // offset: 24
}

// Type: Req
// CmdID: 9615
message LKFKOHLGMOJ {
	uint32 NCHPDFCFFCK = 1; // offset: 24
}

// Type: Rsp
// CmdID: 9609
message OMFFCGEINLF {
	uint32 retcode = 3; // offset: 24
}

// Obf: NJJNLJAPMMK
// Type: Req
// CmdID: 9617
message ChenLingActivatedPrivilegeCsReq {
	uint32 ADBGHKBGGJM = 11; // offset: 24
}

// Obf: BELCKPBEIOK
// Type: Rsp
// CmdID: 9612
message ChenLingActivatedPrivilegeScRsp {
	uint32 ADBGHKBGGJM = 2; // offset: 24
	uint32 retcode = 5; // offset: 28
}

// Type: Req
// CmdID: 9602
message PLMPGLKCGBJ {
}

// Type: Rsp
// CmdID: 9606
message BEKKPBIKINI {
	uint32 retcode = 8; // offset: 24
}
message LFIONDMGCOP {
	uint32 AAIDCOJPLCI = 7; // offset: 24
}

// Type: Req
// CmdID: 9600
message PICHIFNMBNO {
	uint32 unique_id = 10; // offset: 32
	oneof FDNAJJKOHBN {
		LFIONDMGCOP GFGGBLEGKGJ = 143; // offset: 16
	}
}

// Type: Rsp
// CmdID: 9575
message GOKHEKCHLEL {
	uint32 retcode = 5; // offset: 28
	uint32 unique_id = 13; // offset: 24
}

// Type: Notify
// CmdID: 9586
message PIIJEIADMFP {
	bool PBJJAHKLNAA = 9; // offset: 24
}

// Type: Notify
// CmdID: 9571
message DIONONBIIKN {
	uint32 GDIMKFNECOK = 5; // offset: 24
}
message IOELPDDJGFJ {
	JLPEICPFLMC source = 232; // offset: 24
	oneof MMCGBGDJIPN {
		GICMOLJPLGF PJDHBMOIPPO = 5; // offset: 16
		LCKBHJBKHNH CCHBNLOBPGE = 4; // offset: 16
		uint32 cur_hp = 2; // offset: 16
		uint32 rogue_money = 14; // offset: 16
		LEGNLMENMJK AGHANKEAODD = 9; // offset: 16
		uint32 MGKMLJHMNMO = 10; // offset: 16
		AJNJDDFGFJL GDFFAICHLDJ = 6; // offset: 16
		IIEKKGNJJMC BECPNBEFHGC = 13; // offset: 16
		EJKNEDLPMIB PBNOFEFIDFI = 1; // offset: 16
		NEEAHLMKAAB IAOIFAADLLC = 8; // offset: 16
		DFFLMEMFPLM HOEGFMPDBHH = 11; // offset: 16
		FJJPDJAEJHC HLHBOGKHEEO = 15; // offset: 16
		HGCIPBFBNKO ANHDPPOAOGL = 1364; // offset: 16
		uint64 ELMMNHBECNI = 1520; // offset: 16
		FDDNKPJEMJE DJOLGKGKCHE = 1722; // offset: 16
		uint32 GCBDADCOBAE = 1254; // offset: 16
		uint32 FOJHBIMCLGC = 691; // offset: 16
		NGHEPMFILPE CNCKEHMNJGD = 876; // offset: 16
		KHGFCNNCOGA BJPEEGIFAEA = 886; // offset: 16
		AFDJNEOHCLB OFCPKKMEFKE = 1229; // offset: 16
		LGFBMEACHPI NAPDGGDENBM = 1939; // offset: 16
		BNHBDMIDFCL FMIGOKIDKJL = 211; // offset: 16
		uint32 PMFBIGLPJJA = 1976; // offset: 16
		EJDPLLIJDNK ONAJPGNNLEN = 804; // offset: 16
		uint32 GDHOLMIBAEA = 1732; // offset: 16
		EOKKHLOIBIM KNANINELANC = 550; // offset: 16
		KHLAFMBONNK BEOAPFIBDLB = 860; // offset: 16
		JKLKCKNBHCI ADEJOKOIBHC = 548; // offset: 16
		BFGNNODONFI PJMJAPKJINA = 1279; // offset: 16
		MBLJIEELMKN GHICOBOPHOL = 68; // offset: 16
	}
}

// Obf: DBJPOICBGMK
// Type: Notify
// CmdID: 9592
message ChenLingSyncChangeScNotify {
	repeated IOELPDDJGFJ DGNGMJMPFGK = 3; // offset: 16
}
message PHHFOGFKDBC {
	uint32 unique_id = 7; // offset: 24
	uint32 card_id = 12; // offset: 28
}
message GICMOLJPLGF {
	repeated PHHFOGFKDBC MEMGHBHGGPN = 3; // offset: 16
}
message LCKBHJBKHNH {
	uint32 cur_wave = 4; // offset: 32
	KFOOLGFCNDN ILOODGHPOBM = 15; // offset: 24
}
message AJNJDDFGFJL {
	uint32 max_level = 7; // offset: 36
	uint32 BFCNALJDHMP = 8; // offset: 40
	uint64 IEPAPOPIFHH = 11; // offset: 24
	uint32 level = 15; // offset: 32
}
message IIEKKGNJJMC {
	uint64 KNDHHAJMBGB = 3; // offset: 24
	uint32 BFCNALJDHMP = 8; // offset: 36
	bool DBODGPBOIHC = 13; // offset: 32
}
message NEEAHLMKAAB {
	uint32 BFCNALJDHMP = 2; // offset: 36
	uint32 level = 8; // offset: 32
	uint32 max_level = 13; // offset: 40
	uint64 IEPAPOPIFHH = 14; // offset: 24
}
message NGHEPMFILPE {
	uint32 BFCNALJDHMP = 10; // offset: 32
	AKHEOAIPAPA GOBMEEHNFDC = 14; // offset: 24
}
message KHGFCNNCOGA {
	uint32 BFCNALJDHMP = 1; // offset: 32
	repeated uint32 PJANEJJKOKA = 12; // offset: 16
}
message KHLAFMBONNK {
}
message JKLKCKNBHCI {
}
message EJKNEDLPMIB {
	uint32 BFCNALJDHMP = 7; // offset: 32
	GACKCPEPDAF GHPKFACFMML = 11; // offset: 16
}
message FJJPDJAEJHC {
	repeated uint32 MKOKLLKALDE = 11; // offset: 16
}
message LGFBMEACHPI {
	repeated uint32 MGJENMKKIBJ = 3; // offset: 16
}
message EJDPLLIJDNK {
	uint64 CHFNDAGCEBK = 3; // offset: 24
}
message JAAJAPNFMGO {
	repeated uint32 GCDGGBLOJIC = 5; // offset: 24
}
message BNHBDMIDFCL {
	uint32 unique_id = 13; // offset: 36
	oneof CHJNPHDLMKL {
		JAAJAPNFMGO DOKPHNPNCPN = 1053; // offset: 24
	}
}
message BFGNNODONFI {
}
message EOKKHLOIBIM {
	DFFLMEMFPLM HEHIOCEPEAE = 1; // offset: 24
	DFFLMEMFPLM GEOMBJDBHDD = 2; // offset: 16
}
message MBLJIEELMKN {
	repeated KVP OCIJDDBLGMH = 4; // offset: 24
}

// Obf: LCOIIEGJAOK
enum CmdChenLingFesType {
	LCOIIEGJAOK_NLCDGIPGFDJ = 0;
	CmdChenLingFesLevelStartCsReq = 9937;
	CmdChenLingFesLevelLeaveScRsp = 9948;
	CmdChenLingFesRaidKickedNotify = 9917;
	CmdGetChenLingFesDataCsReq = 9909;
	CmdChenLingFesLevelStartScRsp = 9944;
	CmdChenLingFesBusinessDayEndCsReq = 9924;
	CmdChenLingFesLevelResumeCsReq = 9903;
	CmdGetChenLingFesDataScRsp = 9923;
	CmdChenLingFesLevelLeaveCsReq = 9919;
	CmdChenLingFesLevelEndScRsp = 9921;
	CmdChenLingFesLevelResumeScRsp = 9907;
	CmdChenLingFesLevelEndCsReq = 9910;
	CmdChenLingFesBusinessDayEndScRsp = 9920;
}
message MOJFFDOILBN {
	uint32 star_num = 1; // offset: 40
	repeated uint32 EMPIEBNCANN = 6; // offset: 32
	uint32 score_id = 8; // offset: 48
	uint32 phase_index = 11; // offset: 44
	repeated uint32 MNOOFEPDHOO = 14; // offset: 24
}
message DMHADFNOIGP {
	bool is_success = 12; // offset: 32
	repeated MOJFFDOILBN JOJJKJFHMBI = 14; // offset: 24
}
message OPOCANGAEHJ {
	uint32 y = 7; // offset: 24
	uint32 x = 12; // offset: 28
}
message PGIEBMKMECE {
	OPOCANGAEHJ IBLECIJAGBK = 1; // offset: 16
	uint32 OMFGAABELHE = 2; // offset: 44
	uint32 score_id = 3; // offset: 40
	uint32 direction = 10; // offset: 48
	repeated float CDMKBCHLPAB = 13; // offset: 24
}
message NPNAEPOKPNE {
	OPOCANGAEHJ coord = 8; // offset: 32
	repeated float LIAMHNFAPNL = 10; // offset: 16
}
message OFGLEOIIJBD {
	uint32 FGKPIDLKALL = 2; // offset: 96
	repeated MOJFFDOILBN JOJJKJFHMBI = 3; // offset: 32
	uint32 fever = 4; // offset: 84
	string FGGCAOAPGPA = 5; // offset: 56
	uint32 HGIICMLANJJ = 6; // offset: 100
	uint32 HHINBDNIFBE = 7; // offset: 80
	repeated NPNAEPOKPNE GOKMDCOJPHC = 8; // offset: 16
	repeated PGIEBMKMECE MBFLDKEDBHN = 9; // offset: 40
	uint32 level_id = 10; // offset: 76
	uint32 PLCPOONCFDG = 11; // offset: 92
	string NLMEEEKBPKO = 12; // offset: 48
	uint32 business_day = 13; // offset: 72
	uint32 PGOFHKLBPKC = 14; // offset: 88
	repeated uint32 FJDJCHFDIFL = 15; // offset: 64
}

// Obf: JJONBPINLJJ
// Type: Req
// CmdID: 9909
message GetChenLingFesDataCsReq {
}
message BGAIEEIKOKK {
	uint32 total_score = 3; // offset: 24
	uint32 star_num = 11; // offset: 28
	bool has_passed = 13; // offset: 32
	uint32 level_id = 14; // offset: 36
}

// Obf: LMOPBCHMGFO
// Type: Rsp
// CmdID: 9923
message GetChenLingFesDataScRsp {
	uint32 retcode = 8; // offset: 40
	repeated BGAIEEIKOKK PNDPCELOGHG = 13; // offset: 32
	OFGLEOIIJBD LAEDNIBCNKF = 15; // offset: 16
}

// Obf: BBGIFPNDBIO
// Type: Req
// CmdID: 9937
message ChenLingFesLevelStartCsReq {
	uint32 level_id = 14; // offset: 24
}

// Obf: HJDCIEFEGIM
// Type: Rsp
// CmdID: 9944
message ChenLingFesLevelStartScRsp {
	uint32 FGKPIDLKALL = 2; // offset: 44
	string NLMEEEKBPKO = 5; // offset: 24
	string FGGCAOAPGPA = 9; // offset: 16
	uint32 retcode = 12; // offset: 40
	uint32 level_id = 13; // offset: 48
}

// Obf: OFIKFCJEDNP
// Type: Req
// CmdID: 9919
message ChenLingFesLevelLeaveCsReq {
	uint32 level_id = 11; // offset: 24
}

// Obf: LDANNFAAHIJ
// Type: Rsp
// CmdID: 9948
message ChenLingFesLevelLeaveScRsp {
	uint32 level_id = 7; // offset: 24
	uint32 retcode = 13; // offset: 28
}

// Obf: CLGKHDMKGID
// Type: Req
// CmdID: 9903
message ChenLingFesLevelResumeCsReq {
	uint32 level_id = 9; // offset: 24
}

// Obf: CAJKJIFMGDM
// Type: Rsp
// CmdID: 9907
message ChenLingFesLevelResumeScRsp {
	uint32 level_id = 4; // offset: 28
	uint32 retcode = 5; // offset: 24
	uint32 FGKPIDLKALL = 14; // offset: 32
}

// Obf: JOMKCLPKFHM
// Type: Req
// CmdID: 9910
message ChenLingFesLevelEndCsReq {
	uint32 level_id = 3; // offset: 24
}

// Obf: LDBOCEIMACL
// Type: Rsp
// CmdID: 9921
message ChenLingFesLevelEndScRsp {
	uint32 level_id = 2; // offset: 36
	DMHADFNOIGP level_data = 6; // offset: 16
	uint32 retcode = 8; // offset: 32
}
message AABJNONNLML {
	uint32 HADIHNKDBAD = 3; // offset: 36
	uint32 index = 5; // offset: 40
	uint32 KDIDDHIDNCG = 7; // offset: 32
	repeated uint32 FKGLNIAHGOA = 8; // offset: 16
}
message EDHOBLLOBNP {
	repeated uint32 NELBBCIGIGF = 8; // offset: 16
	repeated uint32 OBGMKBIOMKB = 9; // offset: 24
	uint32 JJPMDBCPJBA = 14; // offset: 40
	uint32 index = 15; // offset: 44
}
message LECPPIEIENH {
	uint32 JJPMDBCPJBA = 4; // offset: 36
	repeated uint32 FKGLNIAHGOA = 12; // offset: 24
	uint32 index = 13; // offset: 40
	uint32 KDIDDHIDNCG = 14; // offset: 32
}
message PGEDFOBAEBC {
	uint32 PLFMKDOCPLP = 9; // offset: 24
	uint32 OMFGAABELHE = 12; // offset: 32
	uint32 FCFLEFOKLFD = 15; // offset: 28
}
message HDLMAPACKNH {
	uint32 DIDBBOCNHBJ = 10; // offset: 24
	uint32 GOCFOJJIAHL = 13; // offset: 28
}

// Obf: GAECNILJCEC
// Type: Req
// CmdID: 9924
message ChenLingFesBusinessDayEndCsReq {
	double happy_progress = 1; // offset: 120
	repeated NPNAEPOKPNE GOKMDCOJPHC = 2; // offset: 24
	repeated HDLMAPACKNH PJGODPMGMEO = 3; // offset: 72
	repeated EDHOBLLOBNP HDNGJJILDCE = 4; // offset: 16
	uint32 COJGECEMCFN = 5; // offset: 116
	uint32 business_day = 7; // offset: 84
	repeated LECPPIEIENH BAOPBDDEBKP = 8; // offset: 56
	uint32 HPHHKJHGMPJ = 9; // offset: 112
	repeated PGEDFOBAEBC MNLCAOLGEMM = 10; // offset: 32
	uint32 DBODBBOMJAD = 11; // offset: 96
	uint32 OCLLAPEHDDH = 12; // offset: 100
	repeated PGIEBMKMECE MBFLDKEDBHN = 13; // offset: 48
	uint32 EJEOGKPEIBF = 14; // offset: 92
	repeated AABJNONNLML FBNBEMECJIJ = 15; // offset: 40
	uint32 fever = 20; // offset: 108
	uint32 business_time = 318; // offset: 80
	uint32 fever_cnt_today = 1063; // offset: 104
	uint32 play_time = 2043; // offset: 88
}

// Obf: NHHKCCGMHEF
// Type: Rsp
// CmdID: 9920
message ChenLingFesBusinessDayEndScRsp {
	string FGGCAOAPGPA = 2; // offset: 24
	uint32 retcode = 4; // offset: 48
	uint32 FGKPIDLKALL = 6; // offset: 52
	uint32 business_day = 14; // offset: 44
	oneof FBLHECDEHEF {
		DMHADFNOIGP EHIHHFMGNHH = 1; // offset: 32
		MOJFFDOILBN GAAHAOGLNPJ = 15; // offset: 32
	}
}

// Obf: GBNDHIOAMDF
// Type: Notify
// CmdID: 9917
message ChenLingFesRaidKickedNotify {
	uint32 raid_id = 6; // offset: 24
}

// Obf: MGAFALOCHKA
enum CmdChessRogueType {
	MGAFALOCHKA_NLCDGIPGFDJ = 0;
	CmdFinishChessRogueSubStoryCsReq = 5544;
	CmdChessRogueEnterCellCsReq = 5486;
	CmdGetChessRogueStoryInfoScRsp = 5548;
	CmdEnterChessRogueAeonRoomScRsp = 5577;
	CmdChessRogueNousEditDiceScRsp = 5480;
	CmdChessRogueNousDiceUpdateNotify = 5455;
	CmdChessRogueEnterNextLayerCsReq = 5529;
	CmdReviveRogueAvatarCsReq = 5543;
	CmdChessRogueUpdateReviveInfoScNotify = 5555;
	CmdChessRogueUpdateDiceInfoScNotify = 5460;
	CmdChessRogueUpdateUnlockLevelScNotify = 5496;
	CmdChessRogueUpdateAeonModifierValueScNotify = 5457;
	CmdSelectChessRogueSubStoryScRsp = 5479;
	CmdGetChessRogueStoryAeonTalkInfoScRsp = 5458;
	CmdSelectChessRogueSubStoryCsReq = 5440;
	CmdChessRogueEnterScRsp = 5593;
	CmdChessRogueCheatRollCsReq = 5466;
	CmdChessRogueUpdateMoneyInfoScNotify = 5580;
	CmdChessRogueNousEnableRogueTalentCsReq = 5446;
	CmdChessRogueGiveUpCsReq = 5441;
	CmdChessRogueEnterCsReq = 5406;
	CmdChessRogueQuestFinishNotify = 5541;
	CmdGetChessRogueStoryInfoCsReq = 5515;
	CmdGetChessRogueStoryAeonTalkInfoCsReq = 5549;
	CmdGetRogueBuffEnhanceInfoScRsp = 5454;
	CmdGetChessRogueNousStoryInfoScRsp = 5474;
	CmdChessRogueEnterCellScRsp = 5482;
	CmdChessRogueQueryCsReq = 5592;
	CmdReviveRogueAvatarScRsp = 5550;
	CmdChessRogueLeaveScRsp = 5563;
	CmdChessRogueGiveUpScRsp = 5540;
	CmdChessRogueRollDiceScRsp = 5596;
	CmdSyncChessRogueMainStoryFinishScNotify = 5469;
	CmdChessRogueUpdateLevelBaseInfoScNotify = 5437;
	CmdChessRogueRollDiceCsReq = 5501;
	CmdChessRogueStartCsReq = 5598;
	CmdChessRogueUpdateDicePassiveAccumulateValueScNotify = 5478;
	CmdChessRogueSkipTeachingLevelScRsp = 5445;
	CmdChessRogueNousDiceSurfaceUnlockNotify = 5408;
	CmdChessRogueCheatRollScRsp = 5410;
	CmdChessRogueQuitCsReq = 5434;
	CmdChessRogueLeaveCsReq = 5583;
	CmdChessRogueCellUpdateNotify = 5450;
	CmdChessRogueChangeAeonDimensionNotify = 5588;
	CmdChessRogueNousGetRogueTalentInfoScRsp = 5453;
	CmdChessRogueQuitScRsp = 5491;
	CmdChessRogueReRollDiceScRsp = 5417;
	CmdSyncChessRogueNousMainStoryScNotify = 5421;
	CmdChessRogueNousEnableRogueTalentScRsp = 5586;
	CmdGetRogueBuffEnhanceInfoCsReq = 5505;
	CmdChessRogueSelectCellCsReq = 5423;
	CmdChessRogueLayerSettlement = 5537;
	CmdChessRogueNousGetRogueTalentInfoCsReq = 5513;
	CmdChessRogueConfirmRollCsReq = 5573;
	CmdGetChessRogueNousStoryInfoCsReq = 5545;
	CmdChessRogueQueryScRsp = 5524;
	CmdChessRogueReRollDiceCsReq = 5527;
	CmdEnhanceRogueBuffCsReq = 5487;
	CmdChessRogueStartScRsp = 5495;
	CmdChessRogueConfirmRollScRsp = 5525;
	CmdChessRogueUpdateActionPointScNotify = 5590;
	CmdChessRogueNousEditDiceCsReq = 5546;
	CmdPickRogueAvatarScRsp = 5494;
	CmdPickRogueAvatarCsReq = 5488;
	CmdSyncChessRogueNousValueScNotify = 5431;
	CmdChessRogueSkipTeachingLevelCsReq = 5483;
	CmdChessRogueEnterNextLayerScRsp = 5489;
	CmdSyncChessRogueNousSubStoryScNotify = 5582;
	CmdEnterChessRogueAeonRoomCsReq = 5463;
	CmdChessRogueUpdateAllowedSelectCellScNotify = 5520;
	CmdChessRogueSelectCellScRsp = 5522;
	CmdFinishChessRogueSubStoryScRsp = 5516;
	CmdEnhanceRogueBuffScRsp = 5514;
}

// Obf: EEOMEIAMNMB
enum ChessRogueDiceStatus {
	EEOMEIAMNMB_BBBFNMBDFDE = 0;
	EEOMEIAMNMB_BGDFCDGFAML = 1;
	EEOMEIAMNMB_IMFHIFIKKNK = 2;
	EEOMEIAMNMB_DMMCIMLIJOA = 3;
}

// Obf: HJCOLMNPKBK
enum ChessRogueDiceType {
	HJCOLMNPKBK_IHHJBGPPACD = 0;
	HJCOLMNPKBK_BKCCOGNPPGH = 1;
}

// Obf: GOBKHHAEIAF
enum ChessRogueBoardCellStatus {
	GOBKHHAEIAF_BPOCOHFIAOH = 0;
	GOBKHHAEIAF_EAPFJHJHIFK = 1;
	GOBKHHAEIAF_LOOAKNHDBLL = 2;
	GOBKHHAEIAF_CIHFGJDCHIA = 3;
}

// Obf: PHAHPIPPMDF
enum ChessRogueCellSpecialType {
	PHAHPIPPMDF_NLCDGIPGFDJ = 0;
	PHAHPIPPMDF_ABGEKPJHHIA = 1;
	PHAHPIPPMDF_EHDFEMMFHDG = 2;
	PHAHPIPPMDF_KCAIFKMKHFJ = 3;
	PHAHPIPPMDF_CMFNKDKKGGI = 4;
	PHAHPIPPMDF_MOPJKHEINAL = 5;
}

enum GDHLDNFLOOF {
	GDHLDNFLOOF_ADHGHGEFMLG = 0;
	GDHLDNFLOOF_BHOGGJNMHPK = 1;
	GDHLDNFLOOF_HDMDBOMJDDI = 2;
	GDHLDNFLOOF_IGDHFMCJMIL = 3;
	GDHLDNFLOOF_EMJFLBCFONO = 4;
	GDHLDNFLOOF_EHMMIFPLLHM = 5;
}

enum DPBCJGCPMLE {
	DPBCJGCPMLE_PMJGFDCJKML = 0;
	DPBCJGCPMLE_BPGDELOMEKH = 1;
	DPBCJGCPMLE_DNOMGJBOGAD = 2;
	DPBCJGCPMLE_PEIIMIHPEMG = 3;
	DPBCJGCPMLE_KILLHJLIFJD = 4;
	DPBCJGCPMLE_MFDBGOABEKJ = 5;
}

enum LLJFJDIOCIL {
	LLJFJDIOCIL_FPBCFHLFMON = 0;
	LLJFJDIOCIL_CGKMMNJAMGK = 1;
	LLJFJDIOCIL_CFPMNLGGCBK = 2;
	LLJFJDIOCIL_IJLEALGBOEA = 3;
	LLJFJDIOCIL_ADJCFJGJPFN = 4;
	LLJFJDIOCIL_OHPBCKPKHIG = 5;
	LLJFJDIOCIL_HNHMNMJKCKF = 6;
	LLJFJDIOCIL_MKJMLGJEKNA = 7;
	LLJFJDIOCIL_NKKOIMFPKHF = 8;
	LLJFJDIOCIL_DNFBBMANGNH = 9;
	LLJFJDIOCIL_CAPGKOKOMOE = 10;
}

enum IEFHBOPDAPL {
	IEFHBOPDAPL_NLCDGIPGFDJ = 0;
	IEFHBOPDAPL_MIDKKNAGOFA = 1;
	IEFHBOPDAPL_NCLBFAALLFJ = 2;
	IEFHBOPDAPL_EPCDLHFFBLI = 3;
	IEFHBOPDAPL_LFODHGBCCHF = 4;
	IEFHBOPDAPL_KHGIKBFDLFB = 5;
	IEFHBOPDAPL_AKJBECPHIJK = 6;
	IEFHBOPDAPL_EJOEHKNHGDM = 7;
	IEFHBOPDAPL_ACMKLFOMPFC = 8;
	IEFHBOPDAPL_MOFNIOJHBBL = 9;
	IEFHBOPDAPL_FMPGGENBHID = 10;
	IEFHBOPDAPL_EMALBALANLH = 11;
}

enum IOJJCDAPLAJ {
	IOJJCDAPLAJ_OLBIJIJCONK = 0;
	IOJJCDAPLAJ_HCFMGBEFBGD = 1;
}

enum AIMCAMJABNA {
	AIMCAMJABNA_NLCDGIPGFDJ = 0;
	AIMCAMJABNA_ILIIOLJMKME = 1;
}

enum OHNELDKIJPH {
	OHNELDKIJPH_NLCDGIPGFDJ = 0;
	OHNELDKIJPH_OMJAJHFCBJM = 1;
	OHNELDKIJPH_INNIEFKCKBK = 2;
	OHNELDKIJPH_BCJJMPKJKDL = 3;
	OHNELDKIJPH_BJOOAEGMCLD = 4;
	OHNELDKIJPH_battle_rogue_magic_info = 5;
	OHNELDKIJPH_PGMNGFMINBK = 6;
	OHNELDKIJPH_PLFMKDOCPLP = 7;
	OHNELDKIJPH_AHHGKPCKAKM = 8;
}

enum JCMAEKICABC {
	JCMAEKICABC_NDLKMGDEJGH = 0;
	JCMAEKICABC_NBHOBNAGENF = 1;
	JCMAEKICABC_ECPHCHONCBI = 2;
	JCMAEKICABC_OEJIAPFKBOP = 3;
}

enum FILMJJMEBJA {
	FILMJJMEBJA_NLCDGIPGFDJ = 0;
	FILMJJMEBJA_BFADFAELKLJ = 1;
	FILMJJMEBJA_CIHFGJDCHIA = 2;
	FILMJJMEBJA_GMCLFNKAHIM = 3;
}

// Obf: PKCGJHNMLPK
enum ChessRogueNousDicePhase {
	PKCGJHNMLPK_NLCDGIPGFDJ = 0;
	PKCGJHNMLPK_HJBHKCJEEEE = 1;
	PKCGJHNMLPK_GAIALIOPEPC = 2;
}
message GAJDPEBBFMG {
	ItemCostData LNIEFKBMIPD = 11; // offset: 24
}
message MANINNKMFHG {
	LineupInfo lineup = 2; // offset: 32
	SceneInfo scene = 10; // offset: 16
}
message KFACLOGFNJF {
	ChessRogueDiceType CEBDDDJMJIJ = 1; // offset: 72
	uint32 DGLIOIEKGNP = 3; // offset: 88
	uint32 DGHEPBKLKDP = 4; // offset: 68
	ChessRogueDiceStatus OACDALINONI = 5; // offset: 76
	uint32 JDLKMDFFMGP = 6; // offset: 96
	bool BGDHHJLICFA = 9; // offset: 85
	uint32 FLADMNIKGEI = 10; // offset: 64
	uint32 BMLMHPPLDDE = 11; // offset: 92
	uint32 EFDMLFGILKK = 12; // offset: 80
	uint32 ONCIOGBKPPI = 13; // offset: 60
	repeated uint32 BDGMPDLBDGN = 813; // offset: 24
	int32 CMDDPMHCALK = 828; // offset: 56
	HGCIAPKELAF GMDKBGODBCB = 1346; // offset: 16
	BMCNDLNONMO OBLADGDFCCN = 1441; // offset: 32
	bool IHCAMLMFAOH = 1832; // offset: 84
	LMNCBIDKHLF BOPGHOPCFHF = 1971; // offset: 40
}

// Obf: BGJIIBNDFEJ
// Type: Req
// CmdID: 5501
message ChessRogueRollDiceCsReq {
	uint32 MMNMIFAAHOF = 14; // offset: 24
}

// Obf: OJIELKBDPGB
// Type: Rsp
// CmdID: 5596
message ChessRogueRollDiceScRsp {
	KFACLOGFNJF POHEPEEFBOA = 2; // offset: 24
	uint32 retcode = 11; // offset: 32
}
message DECHJACNLGP {
	uint32 monster_id = 1; // offset: 24
	uint32 BJBALPKFELE = 15; // offset: 28
}
message DFKMNLIJMFB {
	repeated DECHJACNLGP GEJNMNBLFLG = 7; // offset: 16
	uint32 POFBAHEECGB = 8; // offset: 32
	bool is_selected = 10; // offset: 36
}
message JECIOGKPHFN {
	repeated uint32 JJHFHLAHLGP = 4; // offset: 24
}
message JKLCLLAFHOC {
	DFKMNLIJMFB MGACFLNJLCK = 2; // offset: 16
	JECIOGKPHFN MKMLKGOOAMK = 10; // offset: 24
}
message MCDONFNGMJE {
	oneof CGIFMOFGECO {
		DFKMNLIJMFB MGACFLNJLCK = 9; // offset: 16
		JECIOGKPHFN MKMLKGOOAMK = 14; // offset: 16
		JKLCLLAFHOC LPAAMNFFAIB = 6; // offset: 16
	}
}
message CGMCMAKMJDK {
	uint32 CFGEJHAOKED = 1; // offset: 60
	ChessRogueCellSpecialType KFEMJMKMGIJ = 2; // offset: 56
	uint32 JMPMDGJLIPF = 3; // offset: 36
	bool is_unlock = 5; // offset: 41
	uint32 id = 6; // offset: 52
	uint32 room_id = 7; // offset: 32
	MCDONFNGMJE stage_info = 8; // offset: 24
	uint32 PDKOHKKMKLF = 9; // offset: 48
	bool LDDHLGINDIJ = 10; // offset: 40
	uint32 HLALFNEDFED = 12; // offset: 64
	ChessRogueBoardCellStatus EJEDLGNLOHB = 15; // offset: 44
}
message IKCONCOKNAN {
	uint32 ABOHPPHHPEI = 3; // offset: 44
	uint32 GHKDAJNDBBA = 4; // offset: 40
	uint32 height = 5; // offset: 32
	repeated CGMCMAKMJDK CPPCIGMJALM = 13; // offset: 24
	uint32 width = 15; // offset: 36
}
message GKDJBPJOGPO {
	uint32 IHAOMLEPHOM = 7; // offset: 24
}
message EJHDHGGMILA {
	LMNCBIDKHLF OLJCAJMFJPO = 1; // offset: 16
	uint32 LGPJLJAMJFJ = 15; // offset: 32
}
message DPELLHBJGML {
	repeated GKDJBPJOGPO AGIJECGIBGJ = 1; // offset: 16
	EJHDHGGMILA BAGNPGNGLOJ = 3; // offset: 32
	IKCONCOKNAN ONKBPKPOHEC = 5; // offset: 40
	uint32 EPOHKNLFEAB = 6; // offset: 60
	uint32 AAKGDLDFIIE = 9; // offset: 56
	repeated uint32 AADAFLKEJGD = 12; // offset: 48
}
message LKPCDHCKHKP {
	uint32 id = 1; // offset: 32
	uint32 MDAIAMFJNHM = 4; // offset: 48
	uint32 GKDCPNLOLNF = 5; // offset: 44
	uint32 MLLDCLNMIOG = 7; // offset: 40
	int32 EABEFBDOJEO = 11; // offset: 36
	DPELLHBJGML board = 12; // offset: 24
}
message DMGODFDFPEI {
	uint32 AFEMBLFCCCH = 5; // offset: 28
	uint32 MNMJCNOLIII = 14; // offset: 24
}
message FJKGDHKKDFF {
	repeated DMGODFDFPEI JHBFEGDPLJN = 3; // offset: 24
}
message AEMAPGKPPJA {
	FJKGDHKKDFF FDEEBBFMBLB = 2; // offset: 32
	LMNCBIDKHLF OLJCAJMFJPO = 6; // offset: 40
	uint32 JPPAGGPJOMO = 9; // offset: 48
	repeated uint32 OPAEGCBNACJ = 11; // offset: 24
	int32 FJCIKNAKJOG = 15; // offset: 52
}
message IFFEHFHAKCB {
	uint32 avatar_id = 11; // offset: 24
}
message KCHPLCFMGLF {
	GAJDPEBBFMG MFEODNJNGDP = 3; // offset: 16
	repeated IFFEHFHAKCB JOLEGACINNK = 10; // offset: 24
}
message DLCNDCKCIPC {
	bool HIFMFMBCODL = 3; // offset: 40
	uint32 JGCCIMMEDIJ = 4; // offset: 32
	repeated uint32 AAFIFEGKACO = 7; // offset: 16
	uint32 HGKBJIAAFPC = 15; // offset: 36
}
message EPDDOMFGIMK {
	int32 OPKEHOLONMJ = 1; // offset: 24
}
message NEGNNJGLFJP {
	repeated uint32 KEHKLHMEABI = 6; // offset: 24
}
message DJEKEGMEHLK {
	LKPCDHCKHKP OEIBHLMDJKA = 3; // offset: 64
	NHLBNBBDHMI DNPCCFFFBHN = 4; // offset: 88
	INHBMHCJJCN FMIGOKIDKJL = 5; // offset: 48
	MOIOKCDLNHE AFHEGGDHAOC = 6; // offset: 112
	DLCNDCKCIPC story_info = 7; // offset: 56
	uint32 DLOJFEEHLIJ = 8; // offset: 120
	KFACLOGFNJF POHEPEEFBOA = 9; // offset: 104
	EGLAPJGFKPN HABJHGPFGEB = 10; // offset: 80
	AEMAPGKPPJA AEFMMOHKCHJ = 11; // offset: 40
	KCHPLCFMGLF EIOHFJMFOKF = 12; // offset: 24
	AGEOGDOGDMM DHEKLJDBNNP = 14; // offset: 96
	EPDDOMFGIMK AJPMADHMGML = 15; // offset: 16
	NEGNNJGLFJP EIIHJJEBKOE = 1116; // offset: 32
}
message HIMJKAMHLMJ {
	repeated uint32 FEBKOJODAAM = 1; // offset: 40
	FJKGDHKKDFF FDEEBBFMBLB = 3; // offset: 16
	MOOKMKEKMKC IOCCACNJIGD = 10; // offset: 56
	LPCINMGGCNI EIIHJJEBKOE = 11; // offset: 32
	repeated uint32 HKCDKHJCNDC = 13; // offset: 48
	DDAFEPBGOHK JCOBJAMPOAL = 15; // offset: 24
}
message PPAGCEGGCAK {
	repeated uint32 FEBKOJODAAM = 5; // offset: 40
	FJKGDHKKDFF FDEEBBFMBLB = 9; // offset: 16
	repeated uint32 HKCDKHJCNDC = 10; // offset: 32
	DDAFEPBGOHK JCOBJAMPOAL = 11; // offset: 56
	LPCINMGGCNI EIIHJJEBKOE = 14; // offset: 48
	MOOKMKEKMKC IOCCACNJIGD = 15; // offset: 64
}
message OGHPKFMNNHL {
	APNCCNFJBKO HABJHGPFGEB = 1; // offset: 64
	DPBCJGCPMLE HCPBMIEGDON = 2; // offset: 76
	GMIJHCONFIH DNPCCFFFBHN = 4; // offset: 56
	LineupInfo BJDLGBBPFCK = 5; // offset: 16
	uint32 MMIDEAMEANB = 6; // offset: 100
	uint32 difficulty = 7; // offset: 108
	bool is_finish = 8; // offset: 84
	uint32 KPDLMKFLJAI = 9; // offset: 112
	repeated uint32 AFGFOBPLFIL = 11; // offset: 48
	uint32 HLOCCOOMBGG = 12; // offset: 80
	uint32 OBBGJAFECBE = 13; // offset: 92
	uint32 ADMADHCDHJE = 14; // offset: 104
	ItemList DAKEDPKJMLB = 15; // offset: 24
	uint32 OLMLOEHHFCG = 543; // offset: 88
	uint32 DLOJFEEHLIJ = 711; // offset: 116
	uint32 INNAPIIHJFK = 714; // offset: 72
	uint32 OEGLLHMMBEM = 1036; // offset: 120
	MOIOKCDLNHE AFHEGGDHAOC = 1246; // offset: 32
	uint32 score_id = 1712; // offset: 96
}
message OFGJFLCBBJP {
	repeated CGMCMAKMJDK CPPCIGMJALM = 14; // offset: 24
	uint32 EIMFLPNFPGM = 15; // offset: 32
}
message CHHBLFHDFEK {
	uint32 KPDLMKFLJAI = 5; // offset: 24
	uint32 BMGCCEONICH = 9; // offset: 28
}
message EPHFHKDJKMD {
	uint32 APHIOEALOGI = 7; // offset: 24
	uint32 JGCCIMMEDIJ = 15; // offset: 28
}

// Obf: KKECAFGMONA
// Type: Req
// CmdID: 5592
message ChessRogueQueryCsReq {
}

// Obf: NAPNODDGMMI
// Type: Rsp
// CmdID: 5524
message ChessRogueQueryScRsp {
	DJEKEGMEHLK info = 1; // offset: 40
	uint32 retcode = 4; // offset: 56
	OGHPKFMNNHL MINFCKLKLNJ = 7; // offset: 24
	PPAGCEGGCAK LFLCDNGALME = 11; // offset: 16
	HIMJKAMHLMJ IHNENEGKEPO = 12; // offset: 32
}

// Obf: FPFBPLPIADI
// Type: Req
// CmdID: 5486
message ChessRogueEnterCellCsReq {
	uint32 IHAOMLEPHOM = 5; // offset: 28
	uint32 LOFMJHJOELO = 15; // offset: 24
}

// Obf: HJOPCPPJCHP
// Type: Rsp
// CmdID: 5482
message ChessRogueEnterCellScRsp {
	uint32 retcode = 8; // offset: 40
	DJEKEGMEHLK info = 11; // offset: 32
	MANINNKMFHG stage_info = 15; // offset: 24
}

// Obf: KFFNAEDMDOD
// Type: Req
// CmdID: 5406
message ChessRogueEnterCsReq {
	uint32 id = 4; // offset: 24
}

// Obf: CFIJCNENKDP
// Type: Rsp
// CmdID: 5593
message ChessRogueEnterScRsp {
	DJEKEGMEHLK info = 3; // offset: 24
	MANINNKMFHG stage_info = 12; // offset: 32
	uint32 id = 14; // offset: 44
	uint32 retcode = 15; // offset: 40
}

// Obf: HODPOGNIOOG
// Type: Req
// CmdID: 5583
message ChessRogueLeaveCsReq {
}

// Obf: JCEAEOGFAAA
// Type: Rsp
// CmdID: 5563
message ChessRogueLeaveScRsp {
	HIMJKAMHLMJ IHNENEGKEPO = 4; // offset: 16
	PPAGCEGGCAK LFLCDNGALME = 5; // offset: 48
	AEMAPGKPPJA AEFMMOHKCHJ = 6; // offset: 24
	MANINNKMFHG stage_info = 8; // offset: 32
	uint32 retcode = 10; // offset: 56
}

// Obf: OMNAOBAFFOM
// Type: Req
// CmdID: 5441
message ChessRogueGiveUpCsReq {
}

// Obf: JFKGEOBIHHD
// Type: Rsp
// CmdID: 5540
message ChessRogueGiveUpScRsp {
	AEMAPGKPPJA AEFMMOHKCHJ = 1; // offset: 40
	OGHPKFMNNHL MINFCKLKLNJ = 2; // offset: 48
	uint32 retcode = 10; // offset: 64
	PPAGCEGGCAK LFLCDNGALME = 11; // offset: 16
	HIMJKAMHLMJ IHNENEGKEPO = 12; // offset: 24
	MANINNKMFHG stage_info = 14; // offset: 56
}

// Obf: AECEEKDICHA
// Type: Req
// CmdID: 5598
message ChessRogueStartCsReq {
	repeated uint32 NOEPBNMJFGL = 1; // offset: 16
	repeated uint32 unfinished_story_line_id_list = 3; // offset: 32
	uint32 id = 4; // offset: 56
	repeated uint32 OCEGEKKFLAL = 5; // offset: 40
	uint32 PDFAHEKNHNJ = 9; // offset: 64
	repeated uint32 JKPIPNMGGOA = 12; // offset: 48
	uint32 AFEMBLFCCCH = 14; // offset: 60
}

// Obf: IBJJCCDDFLE
// Type: Rsp
// CmdID: 5495
message ChessRogueStartScRsp {
	MANINNKMFHG stage_info = 1; // offset: 24
	DJEKEGMEHLK info = 2; // offset: 16
	uint32 retcode = 6; // offset: 48
	OFGJFLCBBJP HPHKDGJHIJL = 11; // offset: 32
}

// Obf: LLBHIMCMMEH
// Type: Notify
// CmdID: 5588
message ChessRogueChangeAeonDimensionNotify {
	DMGODFDFPEI info = 4; // offset: 24
}

// Obf: MBJCCOCANEJ
// Type: Req
// CmdID: 5423
message ChessRogueSelectCellCsReq {
	uint32 IHAOMLEPHOM = 2; // offset: 24
}

// Obf: BGLOEBBLFMI
// Type: Rsp
// CmdID: 5522
message ChessRogueSelectCellScRsp {
	uint32 retcode = 4; // offset: 32
	NAPFNBJDIOO EEGHDAJOHJO = 8; // offset: 24
}

// Obf: MDELKPPJIGF
// Type: Notify
// CmdID: 5537
message ChessRogueLayerSettlement {
	uint32 difficulty = 9; // offset: 32
	OGHPKFMNNHL MINFCKLKLNJ = 14; // offset: 16
}

// Obf: FOAGKOAJEMD
// Type: Req
// CmdID: 5505
message GetRogueBuffEnhanceInfoCsReq {
}

// Obf: GBDPDGAHPNK
// Type: Rsp
// CmdID: 5454
message GetRogueBuffEnhanceInfoScRsp {
	uint32 retcode = 1; // offset: 32
	AACJBNFGABA ILMAMLBLIDL = 10; // offset: 24
}

// Obf: PBILBBMINBI
// Type: Req
// CmdID: 5487
message EnhanceRogueBuffCsReq {
	uint32 maze_buff_id = 13; // offset: 24
}

// Obf: JDKJBGGHDBM
// Type: Rsp
// CmdID: 5514
message EnhanceRogueBuffScRsp {
	KJAMNOGFAMJ CNEFDJCKAPL = 1; // offset: 24
	uint32 retcode = 10; // offset: 36
	bool KGKEJAKKLDP = 14; // offset: 32
}

// Obf: BEAFKDMJNLO
// Type: Req
// CmdID: 5488
message PickRogueAvatarCsReq {
	repeated uint32 NOEPBNMJFGL = 9; // offset: 24
	uint32 prop_entity_id = 12; // offset: 32
}

// Obf: DJHNHHCMKMF
// Type: Rsp
// CmdID: 5494
message PickRogueAvatarScRsp {
	uint32 retcode = 10; // offset: 32
	repeated uint32 NOEPBNMJFGL = 11; // offset: 16
}

// Obf: LOINLLCCNBD
// Type: Req
// CmdID: 5543
message ReviveRogueAvatarCsReq {
	repeated uint32 NOEPBNMJFGL = 2; // offset: 16
	uint32 interacted_prop_entity_id = 14; // offset: 32
}

// Obf: OKMIJLHMGCD
// Type: Rsp
// CmdID: 5550
message ReviveRogueAvatarScRsp {
	uint32 retcode = 2; // offset: 32
	GAJDPEBBFMG MFEODNJNGDP = 15; // offset: 24
}

// Obf: AAGLNICHNPI
// Type: Notify
// CmdID: 5555
message ChessRogueUpdateReviveInfoScNotify {
	GAJDPEBBFMG MFEODNJNGDP = 1; // offset: 16
}

// Obf: KAIMCDOLBHO
// Type: Notify
// CmdID: 5580
message ChessRogueUpdateMoneyInfoScNotify {
	AGEOGDOGDMM DHEKLJDBNNP = 10; // offset: 24
}

// Obf: ECNICHNKEGG
// Type: Notify
// CmdID: 5460
message ChessRogueUpdateDiceInfoScNotify {
	KFACLOGFNJF POHEPEEFBOA = 13; // offset: 24
}

// Obf: GBHDIMGDPJG
// Type: Notify
// CmdID: 5437
message ChessRogueUpdateLevelBaseInfoScNotify {
	IOJJCDAPLAJ reason = 8; // offset: 28
	GDHLDNFLOOF GKDCPNLOLNF = 10; // offset: 24
}

// Obf: LLBOLICFOEA
// Type: Notify
// CmdID: 5520
message ChessRogueUpdateAllowedSelectCellScNotify {
	repeated uint32 AADAFLKEJGD = 13; // offset: 16
	uint32 AIHCKNAMPBP = 14; // offset: 32
}

// Obf: IBIAJJCMNKO
// Type: Notify
// CmdID: 5457
message ChessRogueUpdateAeonModifierValueScNotify {
	uint32 AFEMBLFCCCH = 3; // offset: 28
	int32 FJCIKNAKJOG = 11; // offset: 24
}

// Obf: MKOHCHDMNOB
// Type: Notify
// CmdID: 5478
message ChessRogueUpdateDicePassiveAccumulateValueScNotify {
	int32 CGPHGIBCNOH = 6; // offset: 24
}

// Obf: LOIBKAPDBMM
// Type: Req
// CmdID: 5483
message ChessRogueSkipTeachingLevelCsReq {
}

// Obf: ALDJHCDPJDH
// Type: Rsp
// CmdID: 5445
message ChessRogueSkipTeachingLevelScRsp {
	ItemList PDJCAHBPKLK = 7; // offset: 16
	uint32 retcode = 11; // offset: 32
}

// Obf: LGHPBNIKMGI
// Type: Notify
// CmdID: 5496
message ChessRogueUpdateUnlockLevelScNotify {
	repeated uint32 HKCDKHJCNDC = 11; // offset: 24
}

// Obf: LACJDDFOPHD
// Type: Req
// CmdID: 5529
message ChessRogueEnterNextLayerCsReq {
}

// Obf: NCMNJNNOLLM
// Type: Rsp
// CmdID: 5489
message ChessRogueEnterNextLayerScRsp {
	uint32 retcode = 2; // offset: 48
	OFGJFLCBBJP HPHKDGJHIJL = 4; // offset: 32
	MANINNKMFHG stage_info = 6; // offset: 16
	DJEKEGMEHLK rogue_game_info = 10; // offset: 24
}

// Obf: NHILCEBCOJJ
// Type: Req
// CmdID: 5527
message ChessRogueReRollDiceCsReq {
	uint32 MMNMIFAAHOF = 8; // offset: 24
}

// Obf: HCGCPKLMKJN
// Type: Rsp
// CmdID: 5417
message ChessRogueReRollDiceScRsp {
	uint32 retcode = 5; // offset: 32
	KFACLOGFNJF POHEPEEFBOA = 10; // offset: 24
}

// Obf: PGBFGLJFLLP
// Type: Req
// CmdID: 5573
message ChessRogueConfirmRollCsReq {
}

// Obf: LJOLPAOHPBJ
// Type: Rsp
// CmdID: 5525
message ChessRogueConfirmRollScRsp {
	uint32 retcode = 1; // offset: 32
	KFACLOGFNJF POHEPEEFBOA = 13; // offset: 16
}

// Obf: PJFHPHPOIHI
// Type: Req
// CmdID: 5466
message ChessRogueCheatRollCsReq {
	uint32 AMPFBGKHJBF = 6; // offset: 28
	uint32 MMNMIFAAHOF = 13; // offset: 24
}

// Obf: FANIODAOCGG
// Type: Rsp
// CmdID: 5410
message ChessRogueCheatRollScRsp {
	uint32 retcode = 13; // offset: 32
	KFACLOGFNJF POHEPEEFBOA = 14; // offset: 24
}

// Obf: HAHPBCACNDG
// Type: Req
// CmdID: 5434
message ChessRogueQuitCsReq {
}

// Obf: POCJJMEJDGG
// Type: Rsp
// CmdID: 5491
message ChessRogueQuitScRsp {
	LKPCDHCKHKP OEIBHLMDJKA = 3; // offset: 40
	AEMAPGKPPJA AEFMMOHKCHJ = 5; // offset: 64
	MANINNKMFHG stage_info = 9; // offset: 48
	HIMJKAMHLMJ IHNENEGKEPO = 10; // offset: 56
	uint32 retcode = 11; // offset: 72
	OGHPKFMNNHL MINFCKLKLNJ = 12; // offset: 24
	PPAGCEGGCAK LFLCDNGALME = 15; // offset: 16
}

// Obf: OHKCDFGPCKM
// Type: Notify
// CmdID: 5450
message ChessRogueCellUpdateNotify {
	uint32 AIHCKNAMPBP = 4; // offset: 32
	RogueModifierSourceType CFAOFCGJBMA = 7; // offset: 36
	AIMCAMJABNA reason = 10; // offset: 40
	repeated CGMCMAKMJDK CPPCIGMJALM = 15; // offset: 16
}

// Obf: BGEBFHKCINE
// Type: Notify
// CmdID: 5541
message ChessRogueQuestFinishNotify {
	uint32 PEGKFPIKPKP = 2; // offset: 24
}

// Obf: FDPNKOKGEAP
// Type: Req
// CmdID: 5515
message GetChessRogueStoryInfoCsReq {
}

// Obf: JILFBOOFKEO
// Type: Rsp
// CmdID: 5548
message GetChessRogueStoryInfoScRsp {
	repeated CHHBLFHDFEK FNKLMMACCMJ = 1; // offset: 24
	repeated EPHFHKDJKMD POABJDELNGH = 5; // offset: 16
	uint32 retcode = 7; // offset: 40
}

// Obf: LAFMDBBAJHA
// Type: Req
// CmdID: 5440
message SelectChessRogueSubStoryCsReq {
	uint32 rogue_dialogue_event_id = 10; // offset: 24
	uint32 HONCDMKPBEG = 12; // offset: 28
}

// Obf: NLMIDIGAMEL
// Type: Rsp
// CmdID: 5479
message SelectChessRogueSubStoryScRsp {
	uint32 rogue_dialogue_event_id = 3; // offset: 28
	uint32 retcode = 8; // offset: 24
}

// Obf: LBAKHMJIAEC
// Type: Req
// CmdID: 5544
message FinishChessRogueSubStoryCsReq {
	uint32 HONCDMKPBEG = 12; // offset: 24
}

// Obf: NNAGIDCACGI
// Type: Rsp
// CmdID: 5516
message FinishChessRogueSubStoryScRsp {
	uint32 KPDLMKFLJAI = 10; // offset: 32
	uint32 retcode = 11; // offset: 28
	uint32 HONCDMKPBEG = 15; // offset: 24
}

// Obf: BFAEGAJHHKH
// Type: Notify
// CmdID: 5590
message ChessRogueUpdateActionPointScNotify {
	int32 EABEFBDOJEO = 5; // offset: 24
}

// Obf: NGIELFOIPHH
// Type: Req
// CmdID: 5463
message EnterChessRogueAeonRoomCsReq {
}

// Obf: GPEOIKKBNPG
// Type: Rsp
// CmdID: 5577
message EnterChessRogueAeonRoomScRsp {
	MANINNKMFHG stage_info = 6; // offset: 16
	uint32 retcode = 15; // offset: 32
}

// Obf: EJPCHNDAMLH
// Type: Req
// CmdID: 5549
message GetChessRogueStoryAeonTalkInfoCsReq {
	uint32 OEANPIHCHHF = 6; // offset: 24
}

// Obf: LGGIDOJJDCN
// Type: Rsp
// CmdID: 5458
message GetChessRogueStoryAeonTalkInfoScRsp {
	map<uint32, uint32> LDPAJKIEPIP = 4; // offset: 16
	uint32 OEANPIHCHHF = 9; // offset: 32
	uint32 retcode = 14; // offset: 36
}

// Obf: NJBNBKMNBOP
// Type: Notify
// CmdID: 5469
message SyncChessRogueMainStoryFinishScNotify {
	uint32 KPDLMKFLJAI = 2; // offset: 24
}

// Obf: MIAFPKGAMOM
// Type: Notify
// CmdID: 5431
message SyncChessRogueNousValueScNotify {
	EPDDOMFGIMK AJPMADHMGML = 4; // offset: 16
}
message PJBODOPJFGA {
	FILMJJMEBJA status = 2; // offset: 24
	uint32 KPDLMKFLJAI = 7; // offset: 28
}
message BKJCADFCHAB {
	uint32 HONCDMKPBEG = 4; // offset: 24
}

// Obf: PCFHMPGKDBD
// Type: Req
// CmdID: 5545
message GetChessRogueNousStoryInfoCsReq {
}

// Obf: LLELJOADLPI
// Type: Rsp
// CmdID: 5474
message GetChessRogueNousStoryInfoScRsp {
	uint32 retcode = 3; // offset: 40
	repeated PJBODOPJFGA FNKLMMACCMJ = 5; // offset: 32
	repeated BKJCADFCHAB POABJDELNGH = 11; // offset: 16
}

// Obf: IFOFLHFKMKB
// Type: Notify
// CmdID: 5582
message SyncChessRogueNousSubStoryScNotify {
	uint32 HONCDMKPBEG = 14; // offset: 24
}

// Obf: FAKMBJPPIIB
// Type: Notify
// CmdID: 5421
message SyncChessRogueNousMainStoryScNotify {
	repeated PJBODOPJFGA FNKLMMACCMJ = 10; // offset: 16
}
message MOIOKCDLNHE {
	repeated uint32 IDCJMPMJHGC = 3; // offset: 40
	repeated uint32 EKNOAJJDPMM = 5; // offset: 24
	bool HIFMFMBCODL = 7; // offset: 57
	bool LKDOGPNPGPF = 8; // offset: 56
	uint32 HONCDMKPBEG = 10; // offset: 48
	uint32 KPDLMKFLJAI = 12; // offset: 52
	repeated uint32 GBLLJKFOIDK = 13; // offset: 16
}
message OCGHBANLLOH {
	uint32 AMPFBGKHJBF = 8; // offset: 24
	uint32 dice_slot_id = 11; // offset: 28
}
message HGCIAPKELAF {
	uint32 PDFAHEKNHNJ = 2; // offset: 40
	uint32 AHNGMINODKG = 3; // offset: 32
	repeated OCGHBANLLOH LFLFEKEAOCL = 9; // offset: 24
	uint32 MABFMAFCEOA = 13; // offset: 36
}
message MOOKMKEKMKC {
	map<uint32, bool> PEGDMOMCFAD = 1; // offset: 16
	repeated HGCIAPKELAF BILCGENIGJM = 5; // offset: 40
	repeated uint32 ADLKMLFOFPF = 6; // offset: 32
}
message DDAFEPBGOHK {
	FDBDLBAPDBE GMILDFJFOGD = 8; // offset: 16
	uint32 FPCCPKAOGKG = 13; // offset: 32
}
message LPCINMGGCNI {
	repeated uint32 KHCANAKMBDJ = 3; // offset: 16
}

// Obf: IACEIJKMLLN
// Type: Req
// CmdID: 5546
message ChessRogueNousEditDiceCsReq {
	HGCIAPKELAF IOCCACNJIGD = 14; // offset: 24
}

// Obf: LJBHHFGLKPD
// Type: Rsp
// CmdID: 5480
message ChessRogueNousEditDiceScRsp {
	HGCIAPKELAF IOCCACNJIGD = 5; // offset: 24
	uint32 retcode = 12; // offset: 32
}

// Obf: GAJPFLOMGEP
// Type: Notify
// CmdID: 5455
message ChessRogueNousDiceUpdateNotify {
	MOOKMKEKMKC DDHKAGCLBLH = 11; // offset: 16
}

// Obf: DFBBBKADPDI
// Type: Notify
// CmdID: 5408
message ChessRogueNousDiceSurfaceUnlockNotify {
	uint32 HBKEEBKFBFI = 1; // offset: 24
}

// Obf: JCLGDGOJJLL
// Type: Req
// CmdID: 5513
message ChessRogueNousGetRogueTalentInfoCsReq {
}

// Obf: IHHJCBBEAGP
// Type: Rsp
// CmdID: 5453
message ChessRogueNousGetRogueTalentInfoScRsp {
	uint32 FPCCPKAOGKG = 4; // offset: 36
	uint32 retcode = 6; // offset: 32
	FDBDLBAPDBE JCOBJAMPOAL = 14; // offset: 24
}

// Obf: AJCICECLDKJ
// Type: Req
// CmdID: 5446
message ChessRogueNousEnableRogueTalentCsReq {
	uint32 CKHCLKOALKE = 8; // offset: 24
}

// Obf: GGGFNBNGIIP
// Type: Rsp
// CmdID: 5586
message ChessRogueNousEnableRogueTalentScRsp {
	FDBDLBAPDBE JCOBJAMPOAL = 5; // offset: 16
	uint32 retcode = 10; // offset: 36
	uint32 FPCCPKAOGKG = 13; // offset: 32
}

// Obf: CEDABACHBDP
enum CmdChimeraType {
	CEDABACHBDP_NLCDGIPGFDJ = 0;
	CmdChimeraGetDataCsReq = 8178;
	CmdChimeraDoFinalRoundCsReq = 8180;
	CmdChimeraFinishRound = 8177;
	CmdChimeraFinishEndlessRoundScRsp = 8175;
	CEDABACHBDP_GBMFPFHNLBA = 8163;
	CmdChimeraQuitEndlessCsReq = 8161;
	CmdChimeraGetDataScRsp = 8168;
	CmdJHICHKBDMIC = 8167;
	CmdLBMLOLGEHIM = 8174;
	CmdChimeraDoFinalRoundScRsp = 8170;
	CmdMFFFEOKDOAE = 8172;
	CmdChimeraStartEndlessCsReq = 8165;
	CmdChimeraQuitEndlessScRsp = 8169;
	CEDABACHBDP_BKALJDIIMOG = 8162;
	CmdChimeraStartEndlessScRsp = 8164;
	CmdChimeraFinishEndlessRoundCsReq = 8171;
}

enum HDIOKENOFNJ {
	HDIOKENOFNJ_EEGFMMCGCNH = 0;
	HDIOKENOFNJ_GOBLPKACBAE = 1;
	HDIOKENOFNJ_AHEJBANCCEK = 2;
	HDIOKENOFNJ_KBBPMFKGFCP = 3;
}

// Obf: POCJMDKMABI
enum ChimeraRoundWorkEndReason {
	POCJMDKMABI_KMOKDKCLMLD = 0;
	POCJMDKMABI_BKGPAKHJNKM = 1;
	POCJMDKMABI_LJEMJMCLGDH = 2;
	POCJMDKMABI_KLEKCFHLOGO = 3;
}
message EDKJELMPONH {
	uint32 progress = 2; // offset: 28
	uint32 HEFFPONLEGO = 12; // offset: 24
}
message COCHLLCNDJF {
	repeated EDKJELMPONH CDGNAJDAGKE = 6; // offset: 16
}
message NPDKAGOCOLG {
	repeated uint32 EACEBOMJKJH = 6; // offset: 24
}
message GADFFIFFNHM {
	bool AMHAJDNFBGC = 5; // offset: 44
	int32 atk = 8; // offset: 40
	COCHLLCNDJF CDGNAJDAGKE = 9; // offset: 32
	int32 hp = 10; // offset: 48
	repeated uint32 IIELAJFFDPB = 12; // offset: 16
	uint32 id = 15; // offset: 52
}
message GCFGCHAMNOL {
	repeated uint32 PGFFGKDOPGM = 9; // offset: 16
	uint32 CMEKNAJONPH = 10; // offset: 32
}
message ONNMLLIEENI {
	uint32 finish_work_cnt = 3; // offset: 24
	uint32 IDBDBICPBBG = 4; // offset: 28
}
message DEJGMBKPHEC {
	uint32 MBNBFBNKLGH = 1; // offset: 48
	int32 attack = 3; // offset: 24
	uint32 FGECDDFBFOJ = 6; // offset: 32
	uint32 index = 7; // offset: 36
	uint32 DIECMLHJCFE = 10; // offset: 52
	uint32 DKHCOHKFKFA = 11; // offset: 40
	int32 hp = 12; // offset: 28
	uint32 EBMJGPMHDMK = 14; // offset: 44
}
message HFBJNFJHKPO {
	uint32 BPHNEOLCKAD = 1; // offset: 28
	uint32 total_turns = 4; // offset: 24
	uint32 total_auto_turns = 10; // offset: 44
	uint32 LPLLIICLCHB = 12; // offset: 32
	uint32 cost_time = 14; // offset: 40
	uint32 total_damage = 15; // offset: 36
}

// Obf: BILENDACAMP
// Type: Req
// CmdID: 8178
message ChimeraGetDataCsReq {
}

// Obf: BBHANDBNKEJ
// Type: Rsp
// CmdID: 8168
message ChimeraGetDataScRsp {
	uint32 finish_work_cnt = 1; // offset: 108
	uint32 HCENDLKKHOC = 2; // offset: 88
	repeated ONNMLLIEENI CMBJOLCGMAI = 3; // offset: 40
	uint32 IOMEILDMBNE = 4; // offset: 64
	uint32 PIGPKIDNMDH = 6; // offset: 84
	HDIOKENOFNJ HFPGDCJMNIK = 7; // offset: 60
	uint32 MMFKMEGECOI = 8; // offset: 92
	repeated uint32 ICBIMKIEOEP = 9; // offset: 48
	uint32 IMCGJPMBPPJ = 10; // offset: 104
	repeated GADFFIFFNHM JCOAGOJEAPB = 11; // offset: 24
	uint32 JIDBIMNMLJP = 12; // offset: 96
	uint32 retcode = 13; // offset: 56
	GCFGCHAMNOL lineup = 14; // offset: 16
	uint32 FBNEKMPIAKD = 15; // offset: 80
	uint32 ENMLPFBMPNI = 1180; // offset: 72
	uint32 NMPCJAOIOHJ = 1244; // offset: 76
	uint32 KCCACINBEEA = 1379; // offset: 68
	uint32 GGPKMPBBENP = 1587; // offset: 100
}
message EIALJHKFNKG {
	GCFGCHAMNOL lineup = 15; // offset: 24
}

// Type: Rsp
// CmdID: 8172
message MFFFEOKDOAE {
	GCFGCHAMNOL lineup = 6; // offset: 16
	uint32 retcode = 15; // offset: 32
}
message IHBOLKMEEMG {
	repeated DEJGMBKPHEC FJLPLIGMPHB = 2; // offset: 56
	map<uint32, uint32> JEJBODAGOIJ = 3; // offset: 64
	repeated uint32 PKKGGLIGKKN = 5; // offset: 40
	uint32 EPJBFAEPFNI = 7; // offset: 76
	ChimeraRoundWorkEndReason end_reason = 11; // offset: 72
	GCFGCHAMNOL lineup = 13; // offset: 32
	map<uint32, COCHLLCNDJF> DLFJEJINBBC = 14; // offset: 24
	HFBJNFJHKPO stt = 15; // offset: 48
}

// Obf: OKKLBJGHEGJ
// Type: Rsp
// CmdID: 8177
message ChimeraFinishRound {
	uint32 retcode = 1; // offset: 76
	uint32 HCENDLKKHOC = 2; // offset: 88
	HDIOKENOFNJ HFPGDCJMNIK = 4; // offset: 68
	map<uint32, COCHLLCNDJF> GMHEMNIKFMO = 5; // offset: 48
	repeated GADFFIFFNHM PKIAPMIAJHA = 6; // offset: 56
	uint32 finish_work_cnt = 7; // offset: 80
	ChimeraRoundWorkEndReason end_reason = 8; // offset: 72
	repeated uint32 ICBIMKIEOEP = 9; // offset: 24
	uint32 IMCGJPMBPPJ = 11; // offset: 92
	repeated ONNMLLIEENI CMBJOLCGMAI = 12; // offset: 40
	uint32 JIDBIMNMLJP = 13; // offset: 64
	map<uint32, NPDKAGOCOLG> GCLAIOIINGF = 14; // offset: 16
	uint32 GGPKMPBBENP = 15; // offset: 84
}

// Obf: KNFECAFMDII
// Type: Req
// CmdID: 8165
message ChimeraStartEndlessCsReq {
}

// Obf: KNPELGIAMKF
// Type: Rsp
// CmdID: 8164
message ChimeraStartEndlessScRsp {
	uint32 retcode = 12; // offset: 24
}

// Obf: BPOMECJONGO
// Type: Req
// CmdID: 8171
message ChimeraFinishEndlessRoundCsReq {
	bool CJEILDIOIOE = 2; // offset: 56
	GCFGCHAMNOL lineup = 6; // offset: 48
	repeated uint32 PKKGGLIGKKN = 9; // offset: 16
	uint32 NMPCJAOIOHJ = 10; // offset: 60
	repeated DEJGMBKPHEC FJLPLIGMPHB = 11; // offset: 24
	HFBJNFJHKPO stt = 14; // offset: 32
}

// Obf: LEOEMHHIANI
// Type: Rsp
// CmdID: 8175
message ChimeraFinishEndlessRoundScRsp {
	uint32 MMFKMEGECOI = 1; // offset: 52
	uint32 retcode = 2; // offset: 56
	uint32 PIGPKIDNMDH = 4; // offset: 32
	uint32 NMPCJAOIOHJ = 7; // offset: 36
	uint32 EBDOCKLLKMI = 8; // offset: 48
	uint32 IOMEILDMBNE = 9; // offset: 40
	bool CJEILDIOIOE = 12; // offset: 44
	repeated GADFFIFFNHM DKMKPFDNEBL = 13; // offset: 16
}

// Obf: AEDJDBAJGHH
// Type: Req
// CmdID: 8161
message ChimeraQuitEndlessCsReq {
}

// Obf: KHNHDFIJGPF
// Type: Rsp
// CmdID: 8169
message ChimeraQuitEndlessScRsp {
	uint32 retcode = 1; // offset: 24
}

// Obf: OIIDOJCEEDN
// Type: Req
// CmdID: 8180
message ChimeraDoFinalRoundCsReq {
	bool CJEILDIOIOE = 1; // offset: 56
	repeated uint32 PKKGGLIGKKN = 6; // offset: 16
	GCFGCHAMNOL lineup = 9; // offset: 32
	HFBJNFJHKPO stt = 11; // offset: 48
	uint32 NMPCJAOIOHJ = 14; // offset: 60
	repeated DEJGMBKPHEC FJLPLIGMPHB = 15; // offset: 40
}

// Obf: MBMLAIKPEEK
// Type: Rsp
// CmdID: 8170
message ChimeraDoFinalRoundScRsp {
	repeated GADFFIFFNHM DKMKPFDNEBL = 1; // offset: 32
	uint32 index = 3; // offset: 48
	bool CJEILDIOIOE = 4; // offset: 40
	uint32 retcode = 6; // offset: 52
	uint32 ENMLPFBMPNI = 8; // offset: 56
	uint32 HCENDLKKHOC = 9; // offset: 68
	uint32 GGPKMPBBENP = 11; // offset: 60
	repeated ONNMLLIEENI CMBJOLCGMAI = 12; // offset: 24
	uint32 finish_work_cnt = 13; // offset: 44
	uint32 NMPCJAOIOHJ = 14; // offset: 64
}

// Type: Req
// CmdID: 8167
message JHICHKBDMIC {
	repeated DEJGMBKPHEC FJLPLIGMPHB = 1; // offset: 16
	uint32 DCOONCCIKGL = 4; // offset: 44
	GCFGCHAMNOL lineup = 6; // offset: 32
	uint32 FHCKFMDKPPO = 9; // offset: 40
}

// Type: Rsp
// CmdID: 8174
message LBMLOLGEHIM {
	uint32 retcode = 2; // offset: 24
}

// Obf: BJCCFBOGEOE
enum CmdChimeraDuelType {
	BJCCFBOGEOE_NLCDGIPGFDJ = 0;
	CmdChimeraDuelShopBuyItemCsReq = 9212;
	CmdChimeraDuelStartGameScRsp = 9217;
	CmdChimeraDuelFinishMasterChallengeScRsp = 9222;
	CmdChimeraDuelShopLockCsReq = 9245;
	CmdChimeraDuelGetFriendListScRsp = 9215;
	CmdChimeraDuelSetFriendDefendLineupScRsp = 9246;
	CmdChimeraDuelSaveFriendPvpLineupScRsp = 9232;
	CmdChimeraDuelSellChimeraScRsp = 9255;
	CmdChimeraDuelEndRoundShopStageCsReq = 9220;
	CmdChimeraDuelEndGameScRsp = 9239;
	CmdChimeraDuelSetFriendDefendLineupCsReq = 9242;
	CmdChimeraDuelSyncChangeScNotify = 9228;
	CmdChimeraDuelShopRefreshScRsp = 9218;
	CmdChimeraDuelShopBuyChimeraCsReq = 9243;
	CmdChimeraDuelEndRoundBattleStageCsReq = 9234;
	CmdChimeraDuelEndRoundShopStageScRsp = 9231;
	CmdChimeraDuelUnlockMasterScRsp = 9258;
	CmdChimeraDuelUnlockMasterCsReq = 9229;
	CmdChimeraDuelGetDataScRsp = 9233;
	CmdChimeraDuelEndGameCsReq = 9227;
	CmdChimeraDuelShopLockScRsp = 9225;
	CmdChimeraDuelGetFriendListCsReq = 9240;
	CmdChimeraDuelShopBuyItemScRsp = 9224;
	CmdChimeraDuelSaveFriendPvpLineupCsReq = 9252;
	CmdChimeraDuelSelectGameCsReq = 9249;
	CmdChimeraDuelSellChimeraCsReq = 9236;
	CmdChimeraDuelEndRoundBattleStageScRsp = 9230;
	CmdChimeraDuelSelectGameScRsp = 9257;
	CmdChimeraDuelShopRefreshCsReq = 9223;
	CmdChimeraDuelShopBuyChimeraScRsp = 9216;
	CmdChimeraDuelChangeLineupCsReq = 9253;
	CmdChimeraDuelStartGameCsReq = 9213;
	CmdChimeraDuelGetDataCsReq = 9219;
	CmdChimeraDuelFinishMasterChallengeCsReq = 9251;
	CmdChimeraDuelChangeLineupScRsp = 9250;
}

enum PDHFFPOJNJG {
	PDHFFPOJNJG_NLCDGIPGFDJ = 0;
	PDHFFPOJNJG_GIKNCJMJLFE = 1;
	PDHFFPOJNJG_PAGPNOKLNOM = 2;
	PDHFFPOJNJG_LPIINKCPJPO = 3;
	PDHFFPOJNJG_DIMIFCJPHME = 4;
	PDHFFPOJNJG_AJGOEJHKOKE = 5;
}

enum DIIKFKNEHHG {
	DIIKFKNEHHG_NLCDGIPGFDJ = 0;
	DIIKFKNEHHG_EHNIPLNEEDI = 1;
	DIIKFKNEHHG_FAODKNDLNPF = 2;
	DIIKFKNEHHG_EEOOMIBEMNH = 3;
}

enum KPEPGHLKNFG {
	KPEPGHLKNFG_LCNJHOKLMPN = 0;
	KPEPGHLKNFG_JJBEPKLOLCP = 1;
	KPEPGHLKNFG_DOGMHOAOJFD = 2;
}

enum BDEJGKKACMA {
	BDEJGKKACMA_NLCDGIPGFDJ = 0;
	BDEJGKKACMA_hp = 1;
	BDEJGKKACMA_COJOIFPPCIJ = 2;
}
message HNAOOMKGFCB {
	PDHFFPOJNJG source_type = 1; // offset: 24
	uint32 LLMHAEAPGON = 7; // offset: 28
	uint32 BHCCDFFBAAM = 10; // offset: 32
}

// Obf: NEBJABOEDND
message ChimeraDuelPlayerRankData {
	uint32 rank = 5; // offset: 28
	uint32 score_id = 12; // offset: 24
}
message PCBOLEAFMDN {
	repeated MAFDLBFIJMB GNJGPFDKLBH = 1; // offset: 56
	ChimeraDuelPlayerRankData AAIMONALOPD = 2; // offset: 24
	uint32 NGBAKCIGBMN = 3; // offset: 64
	repeated uint32 PGGOOINMOLF = 7; // offset: 48
	uint32 CIFFLEBCFGK = 8; // offset: 68
	repeated uint32 FOLMLBOLGEM = 9; // offset: 32
	repeated uint32 HAKLMIAENCF = 11; // offset: 40
	uint32 FGLEKNDHMKN = 12; // offset: 72
	uint32 DEFHFAGLMLC = 15; // offset: 76
}
message JJNHIKIGKJC {
	uint32 unique_id = 3; // offset: 24
	uint32 item_id = 6; // offset: 28
}
message NHDGNBKBNDB {
	JJNHIKIGKJC equip = 1; // offset: 24
	int32 GIFJODBPLPJ = 4; // offset: 48
	uint32 unique_id = 5; // offset: 40
	uint32 FGECDDFBFOJ = 6; // offset: 44
	uint32 exp = 7; // offset: 52
	uint32 LLEOGLLHCLK = 10; // offset: 36
	int32 OEEIPJDNMOK = 12; // offset: 32
}
message GLLDHGHJLOA {
	string nickname = 2; // offset: 40
	uint32 uid = 5; // offset: 48
	uint32 IPINHNFCIOE = 6; // offset: 56
	repeated NHDGNBKBNDB BCGOAIPKGIK = 7; // offset: 16
	repeated uint32 AJFJLCKPNAM = 8; // offset: 24
	uint32 hp = 10; // offset: 60
	uint32 KIMKENNLHEH = 11; // offset: 52
	uint32 head_icon = 12; // offset: 68
	uint32 rank = 13; // offset: 64
}
message BBDLCOJKGMI {
	GLLDHGHJLOA PHLAMKCLLKP = 15; // offset: 24
}
message KGHDDIBDABP {
	bool is_locked = 5; // offset: 24
	uint32 grid_fight_equipment_id = 9; // offset: 28
	uint32 IPAOBKONIFL = 13; // offset: 40
	uint32 NDJGKJMPPHJ = 14; // offset: 36
	uint32 FGECDDFBFOJ = 15; // offset: 32
}
message DMOJMNKOILL {
	bool is_locked = 6; // offset: 25
	uint32 item_id = 7; // offset: 32
	uint32 AGBAIFPNKII = 10; // offset: 28
	bool IFIGFODOPBB = 12; // offset: 24
}
message POACIACEJJN {
	repeated KGHDDIBDABP DKCMMMPNEME = 1; // offset: 16
	repeated DMOJMNKOILL LCJFDCHINHL = 3; // offset: 32
}

// Obf: ILHGAACMJHM
// Type: Req
// CmdID: 9243
message ChimeraDuelShopBuyChimeraCsReq {
	repeated uint32 FMMICIHEOCM = 6; // offset: 24
	uint32 KODOOHHPIKN = 8; // offset: 32
	uint32 GCKFOOIEHHA = 15; // offset: 36
}

// Obf: CPMDNMMDCCM
// Type: Rsp
// CmdID: 9216
message ChimeraDuelShopBuyChimeraScRsp {
	uint32 retcode = 5; // offset: 24
}

// Obf: INJCCMKJICJ
// Type: Req
// CmdID: 9212
message ChimeraDuelShopBuyItemCsReq {
	uint32 AGBAIFPNKII = 11; // offset: 28
	uint32 JHINLPCKMPK = 14; // offset: 24
}

// Obf: LAOFKEIIEPF
// Type: Rsp
// CmdID: 9224
message ChimeraDuelShopBuyItemScRsp {
	uint32 retcode = 10; // offset: 24
}

// Obf: MBOEOEFGEBL
// Type: Req
// CmdID: 9245
message ChimeraDuelShopLockCsReq {
	bool is_locked = 10; // offset: 36
	oneof KKNBOACNCON {
		uint32 NDJGKJMPPHJ = 9; // offset: 16
		uint32 AGBAIFPNKII = 1; // offset: 16
	}
}

// Obf: NKNIPLOMJMM
// Type: Rsp
// CmdID: 9225
message ChimeraDuelShopLockScRsp {
	bool is_locked = 1; // offset: 36
	uint32 retcode = 2; // offset: 40
	oneof KKNBOACNCON {
		uint32 NDJGKJMPPHJ = 4; // offset: 24
		uint32 AGBAIFPNKII = 3; // offset: 24
	}
}

// Obf: JLAIAPGBEIA
// Type: Req
// CmdID: 9223
message ChimeraDuelShopRefreshCsReq {
}

// Obf: KIDHDGNADCF
// Type: Rsp
// CmdID: 9218
message ChimeraDuelShopRefreshScRsp {
	uint32 retcode = 11; // offset: 24
}
message LCEDDGELBMJ {
	uint32 IPINHNFCIOE = 2; // offset: 64
	uint32 KIMKENNLHEH = 3; // offset: 60
	uint32 IDNHBBMLNJK = 6; // offset: 68
	uint32 NMPABPJHGPE = 7; // offset: 52
	uint32 JGPHDBDHKKO = 9; // offset: 56
	uint32 BAJHKGJPFED = 11; // offset: 48
	repeated NHDGNBKBNDB BCGOAIPKGIK = 13; // offset: 32
	uint32 hp = 14; // offset: 76
	repeated uint32 HGKDHJHKFBP = 15; // offset: 16
	oneof PAPIIIMEKDD {
		POACIACEJJN HKFFIGBBFAE = 982; // offset: 24
		BBDLCOJKGMI PJCKOBNPFCB = 1596; // offset: 24
	}
}

// Obf: DGNHKIDECGG
// Type: Req
// CmdID: 9219
message ChimeraDuelGetDataCsReq {
}

// Obf: ALDPPBAIOEF
// Type: Rsp
// CmdID: 9233
message ChimeraDuelGetDataScRsp {
	uint32 retcode = 6; // offset: 40
	LCEDDGELBMJ CFDIKLBINHK = 11; // offset: 16
	PCBOLEAFMDN COFPFIDNONN = 15; // offset: 24
}

// Obf: LJLKLNBNHLP
// Type: Req
// CmdID: 9229
message ChimeraDuelUnlockMasterCsReq {
	uint32 IPINHNFCIOE = 1; // offset: 24
}

// Obf: FCIGOCFOGHK
// Type: Rsp
// CmdID: 9258
message ChimeraDuelUnlockMasterScRsp {
	uint32 retcode = 1; // offset: 28
	uint32 IPINHNFCIOE = 11; // offset: 24
}

// Obf: CKMAAIACPBH
// Type: Req
// CmdID: 9213
message ChimeraDuelStartGameCsReq {
	uint32 IPINHNFCIOE = 12; // offset: 24
}

// Obf: MKBBBFIDNNE
// Type: Rsp
// CmdID: 9217
message ChimeraDuelStartGameScRsp {
	uint32 retcode = 5; // offset: 32
	LCEDDGELBMJ CFDIKLBINHK = 8; // offset: 24
}

// Obf: AHBDLPFDPGA
// Type: Req
// CmdID: 9220
message ChimeraDuelEndRoundShopStageCsReq {
}

// Obf: NFPFNFPDFGK
// Type: Rsp
// CmdID: 9231
message ChimeraDuelEndRoundShopStageScRsp {
	uint32 retcode = 3; // offset: 32
	LCEDDGELBMJ CFDIKLBINHK = 4; // offset: 16
}
message EBPBMFBFEJA {
	bool ENFKEAEGPBJ = 1; // offset: 44
	uint32 FGLEKNDHMKN = 5; // offset: 40
	LCEDDGELBMJ CFDIKLBINHK = 7; // offset: 24
	ChimeraDuelPlayerRankData AAIMONALOPD = 8; // offset: 16
}
message KELKOMPBONA {
	int32 hp = 1; // offset: 36
	uint32 index = 2; // offset: 52
	uint32 FGECDDFBFOJ = 3; // offset: 68
	uint32 DKHCOHKFKFA = 4; // offset: 44
	uint32 unique_id = 6; // offset: 40
	uint32 EBMJGPMHDMK = 8; // offset: 72
	uint32 grid_fight_equipment_id = 9; // offset: 60
	KPEPGHLKNFG status = 10; // offset: 32
	uint32 DIECMLHJCFE = 11; // offset: 48
	int32 atk = 12; // offset: 64
	uint32 level = 13; // offset: 28
	uint32 MBNBFBNKLGH = 14; // offset: 56
	uint32 exp = 15; // offset: 24
}
message NDLBFFKAGBN {
	uint32 total_auto_turns = 2; // offset: 36
	uint32 ODIBDCLGKBE = 3; // offset: 32
	uint32 total_turns = 4; // offset: 24
	uint32 LPLLIICLCHB = 6; // offset: 44
	uint32 BPHNEOLCKAD = 8; // offset: 40
	uint32 MHDBNNKHBBL = 10; // offset: 28
}
message IDGMALDABBE {
	uint32 total_damage = 2; // offset: 48
	repeated KELKOMPBONA IIFPJKNCLGF = 5; // offset: 32
	NDLBFFKAGBN NMPGPDMHKAM = 8; // offset: 16
	uint32 cost_time = 9; // offset: 52
	repeated KELKOMPBONA EECAHBHNDHC = 15; // offset: 40
}

// Obf: FIPOBGFFNKD
// Type: Req
// CmdID: 9234
message ChimeraDuelEndRoundBattleStageCsReq {
	DIIKFKNEHHG NONPIMDDJNN = 4; // offset: 32
	IDGMALDABBE stt = 11; // offset: 24
	uint32 MILMHPODLBB = 12; // offset: 36
}

// Obf: EKICGMEHNGD
// Type: Rsp
// CmdID: 9230
message ChimeraDuelEndRoundBattleStageScRsp {
	uint32 retcode = 7; // offset: 36
	DIIKFKNEHHG NONPIMDDJNN = 12; // offset: 32
	oneof KKNBOACNCON {
		LCEDDGELBMJ CFDIKLBINHK = 1274; // offset: 24
		EBPBMFBFEJA CECFDNCDBEI = 1115; // offset: 24
	}
}

// Obf: NHNFGOJKPDJ
// Type: Req
// CmdID: 9227
message ChimeraDuelEndGameCsReq {
}

// Obf: ABDJMGPOAOK
// Type: Rsp
// CmdID: 9239
message ChimeraDuelEndGameScRsp {
	uint32 retcode = 7; // offset: 32
	EBPBMFBFEJA CECFDNCDBEI = 14; // offset: 16
}
message GIEPFAIPADI {
	repeated uint32 FMMICIHEOCM = 8; // offset: 16
}
message FJJHCDGNDPD {
	repeated uint32 JJOJFFAOEDI = 4; // offset: 24
	repeated uint32 ACCKECIHCGJ = 8; // offset: 32
}
message JJKOHCPBGAL {
	HNAOOMKGFCB source = 9; // offset: 24
	uint32 FLIEDGKFNOL = 11; // offset: 48
	GIEPFAIPADI LHEOBNDKGHD = 15; // offset: 40
	oneof BHNPKLCNDNG {
		BDEJGKKACMA LLCOEPJFGPE = 661; // offset: 32
		uint32 BNCCMEGJONF = 491; // offset: 32
		FJJHCDGNDPD IAECKEDODEF = 1931; // offset: 32
	}
}
message CJHOCMLPMJD {
	repeated uint32 AJFJLCKPNAM = 8; // offset: 24
}
message FLOPNJFNAOG {
	POACIACEJJN JOOEEKMDAEO = 6; // offset: 16
	bool NBHLDBBBPPA = 13; // offset: 32
}
message LGEDKNLBCAN {
	oneof MMCGBGDJIPN {
		JJKOHCPBGAL ALPKKNKAFBG = 14; // offset: 24
		uint32 PBCGHKNGBFC = 13; // offset: 24
		NHDGNBKBNDB PFOBPLCGGGI = 12; // offset: 24
		uint32 KBPJKIEBBON = 10; // offset: 24
		FLOPNJFNAOG KJHMPBOIGGE = 7; // offset: 24
		CJHOCMLPMJD FICFIOENBEN = 11; // offset: 24
		uint32 GCKFOOIEHHA = 9; // offset: 24
		uint32 HFOKEKMCOBP = 2; // offset: 24
		uint32 CIFFLEBCFGK = 5; // offset: 24
		MAFDLBFIJMB BHPPAPONGOE = 8; // offset: 24
		uint32 NGBAKCIGBMN = 6; // offset: 24
	}
}

// Obf: BDLPMPLGLPF
// Type: Notify
// CmdID: 9228
message ChimeraDuelSyncChangeScNotify {
	repeated LGEDKNLBCAN DGNGMJMPFGK = 15; // offset: 24
}

// Obf: FPPLEPMEEHJ
// Type: Req
// CmdID: 9253
message ChimeraDuelChangeLineupCsReq {
	uint32 ALJOJIDAAPC = 2; // offset: 36
	repeated uint32 AJFJLCKPNAM = 3; // offset: 16
	uint32 GIECFFNDLEB = 15; // offset: 32
}

// Obf: HIFFJEEAFAA
// Type: Rsp
// CmdID: 9250
message ChimeraDuelChangeLineupScRsp {
	uint32 retcode = 2; // offset: 32
	repeated uint32 AJFJLCKPNAM = 5; // offset: 16
}

// Obf: GELEDBJOGNM
// Type: Req
// CmdID: 9236
message ChimeraDuelSellChimeraCsReq {
	uint32 NDJGKJMPPHJ = 2; // offset: 32
	repeated uint32 AJFJLCKPNAM = 12; // offset: 16
}

// Obf: HGEBBOPADLG
// Type: Rsp
// CmdID: 9255
message ChimeraDuelSellChimeraScRsp {
	repeated uint32 AJFJLCKPNAM = 3; // offset: 16
	uint32 retcode = 5; // offset: 36
	uint32 NDJGKJMPPHJ = 13; // offset: 32
}

// Obf: KGCGPFEOCBC
// Type: Req
// CmdID: 9249
message ChimeraDuelSelectGameCsReq {
	uint32 FGLEKNDHMKN = 1; // offset: 24
}

// Obf: KNIBJEJBDLO
// Type: Rsp
// CmdID: 9257
message ChimeraDuelSelectGameScRsp {
	uint32 FGLEKNDHMKN = 5; // offset: 24
	uint32 retcode = 7; // offset: 28
}
message PNCNGIAMLCA {
	uint32 IPINHNFCIOE = 3; // offset: 40
	repeated uint32 AJFJLCKPNAM = 12; // offset: 24
	repeated NHDGNBKBNDB BCGOAIPKGIK = 15; // offset: 16
}
message MAFDLBFIJMB {
	PNCNGIAMLCA lineup = 4; // offset: 24
	uint32 slot = 10; // offset: 32
}

// Obf: EINFHDNDOHM
// Type: Req
// CmdID: 9252
message ChimeraDuelSaveFriendPvpLineupCsReq {
	uint32 slot = 6; // offset: 24
}

// Obf: GDFEPBJJBJB
// Type: Rsp
// CmdID: 9232
message ChimeraDuelSaveFriendPvpLineupScRsp {
	uint32 retcode = 2; // offset: 36
	uint32 slot = 6; // offset: 32
	PNCNGIAMLCA lineup = 14; // offset: 24
}

// Obf: LMOAEPFPCAP
// Type: Req
// CmdID: 9242
message ChimeraDuelSetFriendDefendLineupCsReq {
	uint32 slot = 6; // offset: 24
}

// Obf: IALCLGBDMBL
// Type: Rsp
// CmdID: 9246
message ChimeraDuelSetFriendDefendLineupScRsp {
	uint32 slot = 3; // offset: 24
	uint32 retcode = 9; // offset: 28
}

// Obf: GHDNIIFHFGB
// Type: Req
// CmdID: 9240
message ChimeraDuelGetFriendListCsReq {
}
message MPPHIOJNKGB {
	PNCNGIAMLCA lineup = 5; // offset: 16
	uint32 uid = 6; // offset: 36
	uint32 score_id = 14; // offset: 32
}

// Obf: KNKGKMFEHLB
// Type: Rsp
// CmdID: 9215
message ChimeraDuelGetFriendListScRsp {
	repeated MPPHIOJNKGB friend_list = 5; // offset: 16
	uint32 retcode = 7; // offset: 32
}

// Obf: BALPIPIDLDM
// Type: Req
// CmdID: 9251
message ChimeraDuelFinishMasterChallengeCsReq {
	uint32 IPINHNFCIOE = 11; // offset: 24
}

// Obf: APNJBEGDHNJ
// Type: Rsp
// CmdID: 9222
message ChimeraDuelFinishMasterChallengeScRsp {
	uint32 IPINHNFCIOE = 3; // offset: 24
	uint32 retcode = 7; // offset: 28
}

// Obf: FCMJJICDBBF
enum CmdChooseDeliveryType {
	FCMJJICDBBF_NLCDGIPGFDJ = 0;
	CmdChooseDeliveryGetDataScRsp = 9488;
	CmdChooseDeliveryScRsp = 9492;
	CmdChooseDeliveryCsReq = 9483;
	CmdChooseDeliveryGetDataCsReq = 9498;
}

// Obf: MPGLAPAHADP
// Type: Req
// CmdID: 9498
message ChooseDeliveryGetDataCsReq {
}

// Obf: MEAJJFGMAPG
// Type: Rsp
// CmdID: 9488
message ChooseDeliveryGetDataScRsp {
	repeated uint32 PCOJLMKPAEL = 5; // offset: 24
	uint32 retcode = 10; // offset: 32
}

// Obf: LLGOONIKLAJ
// Type: Req
// CmdID: 9483
message ChooseDeliveryCsReq {
	uint32 group_id = 4; // offset: 24
	uint32 IHFNFDKLFIC = 12; // offset: 28
}

// Obf: EDLIDAKBKMK
// Type: Rsp
// CmdID: 9492
message ChooseDeliveryScRsp {
	uint32 IHFNFDKLFIC = 4; // offset: 32
	repeated ItemList DJOBNPIAEJP = 6; // offset: 24
	uint32 group_id = 10; // offset: 36
	uint32 retcode = 13; // offset: 40
}

// Obf: BHKGAKDOALP
enum CmdClientCustomOpType {
	BHKGAKDOALP_GGKMFAFOINP = 0;
	CmdHMMHDEKAHEA = 9840;
}

enum AGFOMHJENFP {
	AGFOMHJENFP_NLCDGIPGFDJ = 0;
	AGFOMHJENFP_IHPJDDCIIDB = 1;
}

// Type: Notify
// CmdID: 9840
message HMMHDEKAHEA {
	oneof NEBNJDMFELO {
		bool IHPJDDCIIDB = 10; // offset: 16
	}
}

// Obf: GFGOAJBEDFI
enum CmdClockParkType {
	GFGOAJBEDFI_NLCDGIPGFDJ = 0;
	CmdClockParkHandleWaitOperationScRsp = 7220;
	CmdClockParkStartScriptCsReq = 7203;
	CmdClockParkHandleWaitOperationCsReq = 7224;
	CmdClockParkGetOngoingScriptInfoScRsp = 7221;
	CmdClockParkGetInfoCsReq = 7209;
	CmdClockParkGetInfoScRsp = 7223;
	CmdClockParkStartScriptScRsp = 7207;
	CmdIFEGAHJADHG = 7229;
	CmdOMPEMGHMDPM = 7202;
	CmdClockParkGetOngoingScriptInfoCsReq = 7210;
	CmdONNHCHDGBAB = 7215;
	CmdClockParkUnlockTalentCsReq = 7219;
	CmdClockParkFinishScriptScNotify = 7213;
	CmdGEDICCGGDGI = 7217;
	CmdPGHBOPEOBHA = 7235;
	CmdClockParkUnlockTalentScRsp = 7248;
}

// Obf: ACKNOAAIMPC
enum ClockParkPlayStatus {
	ACKNOAAIMPC_NFALPEDFKCL = 0;
	ACKNOAAIMPC_KHBHLGJPGPG = 1;
	ACKNOAAIMPC_MOBBEPFDCEM = 2;
	ACKNOAAIMPC_MNKEDGJLHLE = 5;
}

// Obf: HEENDFJBHCB
// Type: Req
// CmdID: 7209
message ClockParkGetInfoCsReq {
}
message DEGFFGKMFJJ {
	repeated uint32 CFJOGMJIHOE = 9; // offset: 16
	uint32 script_id = 12; // offset: 32
}

// Obf: LJDPBAPPHGO
// Type: Rsp
// CmdID: 7223
message ClockParkGetInfoScRsp {
	repeated DEGFFGKMFJJ DCGDHFJLHCN = 1; // offset: 16
	uint32 progress = 3; // offset: 48
	uint32 LNKAKGOCAOF = 4; // offset: 40
	uint32 CDGICHDIIHH = 6; // offset: 52
	repeated uint32 HPEKLHNPDAJ = 9; // offset: 32
	uint32 retcode = 14; // offset: 44
}

// Obf: HAEIIKKNAON
// Type: Req
// CmdID: 7219
message ClockParkUnlockTalentCsReq {
	uint32 CKHCLKOALKE = 13; // offset: 24
}

// Obf: LENKELHGNBG
// Type: Rsp
// CmdID: 7248
message ClockParkUnlockTalentScRsp {
	uint32 CKHCLKOALKE = 4; // offset: 24
	uint32 retcode = 11; // offset: 28
}

// Obf: OMPIKFLGMCF
// Type: Req
// CmdID: 7203
message ClockParkStartScriptCsReq {
	repeated uint32 BDGMNPIJDDL = 1; // offset: 16
	uint32 script_id = 4; // offset: 32
}

// Obf: NBNMKLMOILM
// Type: Rsp
// CmdID: 7207
message ClockParkStartScriptScRsp {
	uint32 retcode = 7; // offset: 28
	uint32 script_id = 15; // offset: 24
}

// Obf: MNFBAGBGMGN
// Type: Req
// CmdID: 7210
message ClockParkGetOngoingScriptInfoCsReq {
}
message CNOAGGFCDAL {
}
message NIJHCCNMEGA {
	uint32 NPCBECNBIJK = 5; // offset: 32
	repeated uint32 KCNEKEGGAGG = 6; // offset: 16
	uint32 card_id = 8; // offset: 36
}
message IIMHLPBEDDH {
	repeated uint32 KCNEKEGGAGG = 10; // offset: 16
	repeated NIJHCCNMEGA LONFKFCFDND = 11; // offset: 24
}
message PEGDBKDLJDJ {
	IIMHLPBEDDH CENIOBBIJMF = 12; // offset: 16
}
message NIKCDPGKKLF {
	IIMHLPBEDDH CENIOBBIJMF = 15; // offset: 16
}
message KOCBHDOKFNF {
	IIMHLPBEDDH CENIOBBIJMF = 10; // offset: 24
}
message IEFICANECDH {
	uint32 NDNHCFBFPMH = 2; // offset: 36
	uint32 gacha_random = 6; // offset: 32
	IIMHLPBEDDH CENIOBBIJMF = 13; // offset: 24
}
message FFDLJDAGEML {
	IIMHLPBEDDH CENIOBBIJMF = 13; // offset: 24
}
message FOFGKMONJHJ {
	bool OEKKAJJEGAK = 3; // offset: 24
}
message MDDIKNGBPPL {
	uint32 JGPHDBDHKKO = 5; // offset: 32
	oneof EEFKMMOBNOJ {
		CNOAGGFCDAL ICPMABKBLCD = 14; // offset: 24
		PEGDBKDLJDJ FDNLIPKGBLM = 3; // offset: 24
		NIKCDPGKKLF ABIPNABIDPE = 2; // offset: 24
		KOCBHDOKFNF BPMEBJHDOFC = 13; // offset: 24
		IEFICANECDH HGHBDACDJKP = 8; // offset: 24
		FFDLJDAGEML DLNGPBMGMKM = 9; // offset: 24
		FOFGKMONJHJ BELJJJLLCBK = 12; // offset: 24
		bool ALFNNIIMBLM = 1; // offset: 24
	}
}
message LOBFOKCKPKB {
	int32 PNOIJPDMCPG = 10; // offset: 28
	int32 AKKLILNJCPL = 13; // offset: 32
	int32 JEKOHIHJFMK = 14; // offset: 24
}
message FAMLGHGHIOD {
	uint64 unique_id = 2; // offset: 32
	uint32 NOJLMNMPKDP = 7; // offset: 24
	uint32 buff_id = 14; // offset: 28
}

// Obf: OBINJKCBALC
message ClockParkBuffList {
	repeated FAMLGHGHIOD buff_list = 4; // offset: 16
}

// Obf: LKADELHADBB
// Type: Rsp
// CmdID: 7221
message ClockParkGetOngoingScriptInfoScRsp {
	repeated uint32 FKNBOIIMFLD = 1; // offset: 48
	ClockParkBuffList HABJHGPFGEB = 5; // offset: 24
	uint32 INDJEOAJJEN = 6; // offset: 64
	uint32 GIGAEFCKIAK = 7; // offset: 88
	MDDIKNGBPPL HGDLJDAFHLI = 8; // offset: 40
	uint32 script_id = 9; // offset: 68
	uint32 JIPPMKBDJJC = 10; // offset: 84
	uint32 retcode = 11; // offset: 80
	uint32 DCAHJELNJNP = 12; // offset: 76
	string IMJFLCKFJGF = 13; // offset: 32
	uint32 NGBJMEHDKHN = 14; // offset: 72
	LOBFOKCKPKB JOFJEIFLGBP = 15; // offset: 16
}
message NKOCCGLHOML {
}
message KJAIAGDNPGC {
	IIMHLPBEDDH CENIOBBIJMF = 2; // offset: 16
}
message AIGEDICFHCE {
	uint32 IMGLLIBJAPC = 7; // offset: 28
	bool is_win = 9; // offset: 24
}
message CAMLFNCBFHI {
	repeated uint32 avatar_id_list = 6; // offset: 16
}
message IGJLLHMJKPC {
	uint32 gacha_random = 5; // offset: 24
	bool IMKGOKGKDPH = 6; // offset: 28
}
message AJNKADCOKOL {
	uint32 IMGLLIBJAPC = 6; // offset: 24
	bool is_win = 12; // offset: 28
}
message MOEMKBLCKKO {
}

// Obf: DJKMDMLOOOD
// Type: Req
// CmdID: 7224
message ClockParkHandleWaitOperationCsReq {
	uint32 script_id = 5; // offset: 40
	uint32 JGPHDBDHKKO = 7; // offset: 32
	oneof LIMEOJAMBPK {
		NKOCCGLHOML IKNEKEJEGLM = 10; // offset: 16
		KJAIAGDNPGC JFAJEBGKPEH = 1; // offset: 16
		AIGEDICFHCE DIKEDLHGDJJ = 14; // offset: 16
		CAMLFNCBFHI KBOGLMPLNAI = 13; // offset: 16
		IGJLLHMJKPC EJLKEGLKGDN = 15; // offset: 16
		AJNKADCOKOL ACIOPOIJNEF = 11; // offset: 16
		MOEMKBLCKKO MLHNHAFPLKD = 2; // offset: 16
		uint32 GIGAEFCKIAK = 8; // offset: 16
	}
}
message GIPBHLBFDAH {
	uint32 progress = 1; // offset: 48
	uint32 DCAHJELNJNP = 2; // offset: 40
	uint32 script_id = 3; // offset: 36
	uint32 NGBJMEHDKHN = 6; // offset: 44
	bool DMNEACGEHEC = 7; // offset: 33
	bool HGPKMHFPMBJ = 11; // offset: 32
	ItemList reward = 13; // offset: 24
}

// Obf: CLDLKNMOOOH
// Type: Rsp
// CmdID: 7220
message ClockParkHandleWaitOperationScRsp {
	uint32 DMNECEKOLAJ = 2; // offset: 48
	uint32 IGBHCBNKEBO = 4; // offset: 36
	uint32 retcode = 6; // offset: 44
	uint32 JGPHDBDHKKO = 7; // offset: 32
	ClockParkPlayStatus LNPGHCLDOKG = 13; // offset: 40
	SceneBattleInfo battle_info = 14; // offset: 16
}

// Type: Req
// CmdID: 7217
message GEDICCGGDGI {
	uint32 script_id = 5; // offset: 28
	bool MHICFGAPPNB = 11; // offset: 24
}

// Type: Rsp
// CmdID: 7229
message IFEGAHJADHG {
	uint32 retcode = 2; // offset: 24
}

// Type: Rsp
// CmdID: 7202
message OMPEMGHMDPM {
	uint32 retcode = 6; // offset: 28
	uint32 JGPHDBDHKKO = 7; // offset: 24
}

// Obf: PGHBOPEOBHA
// Type: Req
// CmdID: 7235
message PGHBOPEOBHA {
	uint32 script_id = 1; // offset: 28
	uint64 unique_id = 4; // offset: 32
	uint32 JGPHDBDHKKO = 13; // offset: 24
}

// Type: Rsp
// CmdID: 7215
message ONNHCHDGBAB {
	uint32 JGPHDBDHKKO = 3; // offset: 52
	uint32 script_id = 5; // offset: 40
	uint32 retcode = 9; // offset: 44
	ClockParkBuffList HABJHGPFGEB = 13; // offset: 16
	oneof BAHFDOOAGPP {
		IIMHLPBEDDH CENIOBBIJMF = 1877; // offset: 24
		LOBFOKCKPKB JOFJEIFLGBP = 992; // offset: 24
	}
}

// Obf: KMGDKPACAED
// Type: Notify
// CmdID: 7213
message ClockParkFinishScriptScNotify {
	GIPBHLBFDAH NLEOMLNOKCC = 9; // offset: 16
}

enum MissionStatus {
	MISSION_NONE = 0;
	MISSION_DOING = 1;
	MISSION_FINISH = 2;
	MISSION_PREPARED = 3;
}

enum MessageSectionStatus {
	MESSAGE_SECTION_NONE = 0;
	MESSAGE_SECTION_DOING = 1;
	MESSAGE_SECTION_FINISH = 2;
	MESSAGE_SECTION_FROZEN = 3;
}

enum MessageGroupStatus {
	MESSAGE_GROUP_NONE = 0;
	MESSAGE_GROUP_DOING = 1;
	MESSAGE_GROUP_FINISH = 2;
	MESSAGE_GROUP_FROZEN = 3;
}

enum BattleRecordType {
	BATTLE_RECORD_NONE = 0;
	BATTLE_RECORD_CHALLENGE = 1;
	BATTLE_RECORD_ROGUE = 2;
}

enum RebattleType {
	REBATTLE_TYPE_NONE = 0;
	REBATTLE_TYPE_REBATTLE_MIDWAY = 1;
	REBATTLE_TYPE_REBATTLE_LOSE = 2;
	REBATTLE_TYPE_REBATTLE_MIDWAY_LINEUP = 3;
	REBATTLE_TYPE_REBATTLE_LOSE_LINEUP = 4;
	REBATTLE_TYPE_QUIT_MIDWAY = 5;
	REBATTLE_TYPE_QUIT_LOSE = 6;
}
message Item {
	uint32 promotion = 2; // offset: 48
	uint32 unique_id = 3; // offset: 24
	uint32 item_id = 5; // offset: 44
	uint32 main_affix_id = 6; // offset: 28
	uint32 num = 9; // offset: 40
	uint32 level = 11; // offset: 32
	uint32 rank = 13; // offset: 36
}
message ItemList {
	repeated Item item_list_ = 2; // offset: 24
}
message PileItem {
	uint32 item_id = 2; // offset: 28
	uint32 item_num = 10; // offset: 24
}
message ItemCost {
	oneof item {
		PileItem pile_item = 10; // offset: 24
		uint32 equipment_unique_id = 5; // offset: 24
		uint32 relic_unique_id = 9; // offset: 24
	}
}

// Obf: ItemCostData
message ItemCostData {
	repeated ItemCost item_list = 7; // offset: 24
}
message GJJNNBKCJKF {
	uint32 item_count = 6; // offset: 28
	uint32 item_id = 11; // offset: 24
}
message NJPJKJBMKGB {
	uint32 rank = 1; // offset: 40
	uint32 tid = 3; // offset: 32
	uint32 promotion = 4; // offset: 36
	uint32 level = 10; // offset: 24
	uint32 exp = 13; // offset: 28
}
message HOKMNINJPBP {
	uint32 tid = 1; // offset: 32
	uint32 level = 2; // offset: 40
	uint32 main_affix_id = 3; // offset: 36
	uint32 exp = 4; // offset: 44
	repeated RelicAffix sub_affix_list = 7; // offset: 24
}

// Obf: Relic
message Relic {
	uint32 unique_id = 1; // offset: 60
	repeated RelicAffix sub_affix_list = 2; // offset: 32
	bool is_discarded = 3; // offset: 64
	repeated RelicAffix reforge_sub_affix_list = 4; // offset: 16
	uint32 main_affix_id = 6; // offset: 68
	uint32 level = 7; // offset: 76
	uint32 tid = 8; // offset: 72
	bool is_protected = 10; // offset: 65
	uint32 dress_avatar_id = 11; // offset: 52
	uint32 exp = 13; // offset: 56
	repeated RelicAffix preview_sub_affix_list = 14; // offset: 40
	uint32 reforge_block_sub_affix_id = 15; // offset: 48
}
message GBKOBPDKFOA {
	oneof FJIANHMABAB {
		GJJNNBKCJKF FNJBFPALOAO = 2; // offset: 16
		NJPJKJBMKGB PAGPNOKLNOM = 5; // offset: 16
		HOKMNINJPBP LCMADDIMION = 7; // offset: 16
	}
}
message MotionInfo {
	Vector pos = 5; // offset: 16
	Vector rot = 12; // offset: 32
}
message Vector4 {
	float z = 6; // offset: 36
	float w = 8; // offset: 28
	float x = 9; // offset: 24
	float y = 10; // offset: 32
}
message SceneMonsterWaveParam {
	uint32 hard_level_group = 1; // offset: 36
	uint32 CPHIINKIDEB = 3; // offset: 40
	uint32 IEDEBFCCKNL = 8; // offset: 24
	uint32 level = 10; // offset: 28
	uint32 elite_group = 14; // offset: 32
}
message HNEBODEBELG {
	repeated BCCONKJHDJL IEBNOGOOEMO = 5; // offset: 24
	uint32 role_star = 11; // offset: 32
}
message MNDMNDKLKIE {
	oneof teleport_nigger {
		HNEBODEBELG EIGMKOJOEEI = 1951; // offset: 16
	}
}
message SceneMonster {
	uint32 max_hp = 2; // offset: 36
	uint32 cur_hp = 10; // offset: 40
	MNDMNDKLKIE extra_info = 11; // offset: 24
	uint32 monster_id = 12; // offset: 32
}

// Obf: SceneMonsterWave
message SceneMonsterWave {
	repeated ItemList NMGIABHIJJB = 3; // offset: 16
	uint32 battle_wave_id = 8; // offset: 52
	uint32 battle_stage_id = 12; // offset: 48
	repeated SceneMonster monster_list = 13; // offset: 32
	SceneMonsterWaveParam monster_param = 15; // offset: 24
}

// Obf: SceneBattleInfo
message SceneBattleInfo {
	uint32 stage_id = 1; // offset: 136
	repeated BattleBuff buff_list = 2; // offset: 96
	uint32 world_level = 4; // offset: 132
	uint32 logic_random_seed = 5; // offset: 144
	repeated BattleAvatar battle_avatar_list = 7; // offset: 112
	uint32 JAOIOKBBMFC = 9; // offset: 128
	repeated SceneMonsterWave monster_wave_list = 10; // offset: 72
	bool encrypt_result = 12; // offset: 120
	uint32 battle_id = 14; // offset: 124
	uint32 rounds_limit = 15; // offset: 140
	BattleGridFightSpecialBattleInfo battle_evolve_build_data = 188; // offset: 88
	GridFightInfo battle_grid_fight_data = 301; // offset: 80
	EDCFKACPFNB battle_action_event_id = 466; // offset: 16
	PKPFAHEBJIO battle_fate_data = 502; // offset: 104
	GLIBGKGGEJL battle_fate_rin_data = 1053; // offset: 24
	KIAICMELIMM battle_sword_training_data = 1427; // offset: 32
	repeated BattleEventBattleInfo battle_event = 1565; // offset: 56
	map<uint32, BattleTargetList> battle_target_info = 1712; // offset: 64
	BattleRogueMagicInfo battle_rogue_magic_info = 1939; // offset: 40
}

// Obf: AetherDivideBattleInfo
message AetherDivideBattleInfo {
	repeated BattleBuff buff_list = 1; // offset: 24
	uint32 logic_random_seed = 2; // offset: 48
	uint32 stage_id = 9; // offset: 56
	uint32 battle_id = 10; // offset: 52
	repeated AetherAvatarInfo battle_avatar_list = 11; // offset: 16
	bool encrypt_result = 14; // offset: 60
	repeated SceneMonsterWave monster_wave_list = 15; // offset: 40
}

// Obf: LBKMCGDMNJO
message AvatarLineup {
	AvatarType avatar_type = 3; // offset: 32
	uint32 assist_uid = 7; // offset: 28
	uint32 id = 9; // offset: 24
}
message LMDPKOELKFL {
	bool ABFCDBOCMCF = 1; // offset: 40
	ItemList return_item_list = 5; // offset: 16
	repeated uint32 relic_ids = 14; // offset: 24
}

// Obf: APAMFCKFHLL
message KVP {
	uint32 value = 4; // offset: 24
	uint32 key = 12; // offset: 28
}
message BJMPHAAOEFL {
	uint32 key = 9; // offset: 24
	sint32 value = 14; // offset: 28
}
message EquipRelic {
	uint32 relic_unique_id = 1; // offset: 24
	uint32 type = 12; // offset: 28
}

// Obf: HeadFrameInfo
message HeadFrameInfo {
	uint32 head_frame_item_id = 10; // offset: 32
	int64 head_frame_expire_time = 15; // offset: 24
}
message AreaDynamicInfo {
	uint32 diy_dynamic_id = 6; // offset: 28
	uint32 dice_slot_id = 13; // offset: 24
}
message POFNNGOCEOK {
	uint32 EIKLMFPMJJD = 2; // offset: 28
	uint32 dice_slot_id = 3; // offset: 24
	int64 expire_time = 10; // offset: 32
}
message CLLBJDEJFNF {
	message OOIDNDCPEAF {
		enum DAHCIBCIIAD {
			DAHCIBCIIAD_MNEIHEIGLPO = 0;
			DAHCIBCIIAD_BPILLPJGGGB = 1;
			DAHCIBCIIAD_ANHFOPPEFAL = 2;
			DAHCIBCIIAD_LEEOOMLKANM = 3;
			DAHCIBCIIAD_HJOMKLAGMCM = 4;
		}
	}
	uint32 id = 2; // offset: 24
	uint32 type = 8; // offset: 28
	uint32 slot = 14; // offset: 32
}
message OIIPJFDNPAH {
	repeated AreaDynamicInfo GOEJIMNENDC = 7; // offset: 40
	repeated POFNNGOCEOK POLMJFIKNHN = 9; // offset: 16
	repeated CLLBJDEJFNF OFOKOHGPEDO = 12; // offset: 32
}
message KAODLPJMEFE {
	HeadFrameInfo head_frame_info = 2; // offset: 48
	uint32 uid = 3; // offset: 56
	string nickname = 4; // offset: 40
	string remark_name = 5; // offset: 32
	PlatformType platform = 6; // offset: 64
	uint32 level = 8; // offset: 60
	string DJONELMIFEE = 12; // offset: 24
	uint32 head_icon = 13; // offset: 72
	uint32 MIDBIPHKLJO = 14; // offset: 76
	uint32 DCOFPHDKNIJ = 15; // offset: 68
}

// Obf: ContentPackageStatus
enum ContentPackageStatus {
	ContentPackageStatus_None = 0;
	ContentPackageStatus_Init = 1;
	ContentPackageStatus_Doing = 2;
	ContentPackageStatus_Finished = 3;
	ContentPackageStatus_Release = 4;
}

// Obf: PKKCLCNFPLE
enum CmdContentPackageType {
	PKKCLCNFPLE_NLCDGIPGFDJ = 0;
	CmdContentPackageTransferScNotify = 7548;
	CmdContentPackageSyncDataScNotify = 7537;
	PKKCLCNFPLE_DODAJINHEGA = 7509;
	CmdContentPackageGetDataScRsp = 7523;
}
message ContentPackageGetDataCsReq {
}

// Obf: FOBAMBNCFDP
// Type: Rsp
// CmdID: 7523
message ContentPackageGetDataScRsp {
	ContentPackageData data = 9; // offset: 24
	uint32 retcode = 14; // offset: 32
}

// Obf: ContentPackageInfo
message ContentPackageInfo {
	ContentPackageStatus status = 7; // offset: 28
	uint32 content_id = 15; // offset: 24
}

// Obf: ContentPackageData
message ContentPackageData {
	repeated ContentPackageInfo content_package_list = 1; // offset: 16
	uint32 cur_content_id = 15; // offset: 32
}

// Obf: GPDCBDHANON
// Type: Notify
// CmdID: 7537
message ContentPackageSyncDataScNotify {
	ContentPackageData data = 2; // offset: 16
}

// Obf: FEKDLNPGPKP
// Type: Notify
// CmdID: 7548
message ContentPackageTransferScNotify {
}

// Obf: HIAIBKDFAAM
enum CmdDailyActiveType {
	HIAIBKDFAAM_NLCDGIPGFDJ = 0;
	CmdDailyActiveInfoNotify = 3388;
	CmdTakeAllApRewardCsReq = 3381;
	CmdTakeApRewardScRsp = 3378;
	CmdGetDailyActiveInfoScRsp = 3358;
	CmdTakeApRewardCsReq = 3325;
	CmdTakeAllApRewardScRsp = 3386;
	CmdGetDailyActiveInfoCsReq = 3393;
}

// Obf: DailyActivityInfo
message DailyActivityInfo {
	uint32 world_level = 7; // offset: 36
	uint32 level = 8; // offset: 32
	uint32 daily_active_point = 13; // offset: 24
	bool is_has_taken = 15; // offset: 28
}

// Obf: PKBMBKLIIFL
// Type: Req
// CmdID: 3325
message TakeApRewardCsReq {
	uint32 level = 10; // offset: 24
}

// Obf: BLGFDCAPOOH
// Type: Rsp
// CmdID: 3378
message TakeApRewardScRsp {
	uint32 level = 1; // offset: 36
	uint32 retcode = 6; // offset: 32
	ItemList reward = 13; // offset: 16
}

// Obf: GFIIJKCCICO
// Type: Req
// CmdID: 3393
message GetDailyActiveInfoCsReq {
}

// Obf: DIJHCMKKLBJ
// Type: Rsp
// CmdID: 3358
message GetDailyActiveInfoScRsp {
	repeated uint32 daily_active_quest_id_list = 7; // offset: 32
	repeated DailyActivityInfo daily_active_level_list = 8; // offset: 24
	uint32 daily_active_point = 11; // offset: 40
	uint32 retcode = 14; // offset: 44
}

// Obf: LDABILELOFN
// Type: Notify
// CmdID: 3388
message DailyActiveInfoNotify {
	uint32 daily_active_point = 1; // offset: 40
	repeated DailyActivityInfo daily_active_level_list = 3; // offset: 32
	repeated uint32 daily_active_quest_id_list = 14; // offset: 24
}

// Obf: HCGENMGNLDJ
// Type: Req
// CmdID: 3381
message TakeAllApRewardCsReq {
}

// Obf: APEIKKFNKAJ
// Type: Rsp
// CmdID: 3386
message TakeAllApRewardScRsp {
	uint32 retcode = 2; // offset: 40
	ItemList reward = 10; // offset: 16
	repeated uint32 take_reward_level_list = 12; // offset: 24
}

// Obf: PMDFMAIHPGL
enum CmdDiceCombatType {
	PMDFMAIHPGL_NLCDGIPGFDJ = 0;
	CmdUpgradeAvatarRsp = 9293;
	CmdBuyShopGoodCsReq = 9284;
	CmdGetShopDataCsReq = 9281;
	CmdBLBHACNKKFC = 9279;
	CmdGetShopDataScRsp = 9265;
	CmdGetSystemDataRsp = 9270;
	CmdDiceCombatMainPageRollDiceCsReq = 9274;
	CmdGetSystemDataCsReq = 9296;
	CmdUpgradeAvatarCsReq = 9267;
	CmdAddItemRsp = 9297;
	CmdFinishPveStageCsReq = 9273;
	CmdDiceCombatMainPageRollDiceScRsp = 9295;
	CmdBuyShopGoodScRsp = 9272;
	CmdFinishPveStageScRsp = 9269;
	CmdV2FinishPveStageScRsp = 9298;
	CmdDDKNIMHHNPA = 9276;
	CmdV2FinishPveStageCsReq = 9278;
	CmdModifyAvatarDiceRsp = 9290;
	CmdModifyAvatarDiceCsReq = 9283;
}

// Obf: HHKPBPHJOMO
// Type: Req
// CmdID: 9296
message GetSystemDataCsReq {
}
message PKENAGKIECB {
	uint32 CLEKAKLPNBP = 10; // offset: 24
	int64 unlock_time = 15; // offset: 32
}
message CMKMOIGANHN {
	uint32 FPJMKDNDENK = 2; // offset: 28
	uint32 stage_id = 12; // offset: 24
}
message PDEIEDGCOBA {
	repeated uint32 GNNBMNHOIFG = 5; // offset: 32
	repeated CMKMOIGANHN LNPPFHHACPF = 12; // offset: 24
}

// Obf: CCNGMFEFNKG
// Type: Rsp
// CmdID: 9270
message GetSystemDataRsp {
	repeated DiceCombatAvatar avatar_list = 2; // offset: 24
	repeated uint32 OHFIIBEIPJE = 6; // offset: 40
	uint32 retcode = 9; // offset: 56
	repeated PKENAGKIECB KCNEKEGGAGG = 11; // offset: 48
	PDEIEDGCOBA DGFNLDBFLAJ = 13; // offset: 16
}

// Obf: IPGLHOIFDAB
// Type: Notify
// CmdID: 9297
message AddItemRsp {
	int64 unlock_time = 7; // offset: 40
	ItemList reward = 8; // offset: 24
	oneof FJIANHMABAB {
		uint32 avatar_id = 6; // offset: 16
		uint32 CLEKAKLPNBP = 2; // offset: 16
	}
}

// Type: Req
// CmdID: 9274
message DiceCombatMainPageRollDiceCsReq {
}

// Type: Rsp
// CmdID: 9295
message DiceCombatMainPageRollDiceScRsp {
	uint32 retcode = 3; // offset: 24
}

// Obf: JFGGPGHOANG
// Type: Req
// CmdID: 9281
message GetShopDataCsReq {
}
message NJEBDKOJNGA {
	repeated FLDKOELBPGA CNFFGBMPCHD = 10; // offset: 16
	uint32 shop_id = 13; // offset: 32
}
message FLDKOELBPGA {
	bool DOFNEAPHMKH = 1; // offset: 32
	ItemCostData cost = 3; // offset: 16
	uint32 item_id = 7; // offset: 40
	uint32 KDMNGCLJDOM = 15; // offset: 36
}

// Obf: IEGHPBPFCGL
// Type: Rsp
// CmdID: 9265
message GetShopDataScRsp {
	uint32 retcode = 1; // offset: 32
	repeated NJEBDKOJNGA OPNFOBJOPCB = 15; // offset: 16
}

// Obf: IAFNLKNKPBD
// Type: Req
// CmdID: 9284
message BuyShopGoodCsReq {
	uint32 KDMNGCLJDOM = 5; // offset: 28
	uint32 shop_id = 8; // offset: 24
}

// Obf: NCGNOILONNI
// Type: Rsp
// CmdID: 9272
message BuyShopGoodScRsp {
	uint32 retcode = 4; // offset: 32
	repeated NJEBDKOJNGA OPNFOBJOPCB = 11; // offset: 16
}

// Obf: PENHEEONFHJ
// Type: Req
// CmdID: 9283
message ModifyAvatarDiceCsReq {
	uint32 LLPCNBJIMCN = 1; // offset: 24
	uint32 avatar_id = 3; // offset: 28
}

// Obf: NALJOPFBJDK
// Type: Rsp
// CmdID: 9290
message ModifyAvatarDiceRsp {
	uint32 retcode = 4; // offset: 32
	DiceCombatAvatar avatar = 10; // offset: 16
}

// Obf: LAPHOALBKBH
// Type: Req
// CmdID: 9267
message UpgradeAvatarCsReq {
	uint32 avatar_id = 12; // offset: 24
}

// Obf: LCACCGHOGDB
// Type: Rsp
// CmdID: 9293
message UpgradeAvatarRsp {
	DiceCombatAvatar avatar = 6; // offset: 16
	uint32 retcode = 15; // offset: 32
}

// Obf: ELOCPGOBJFM
// Type: Req
// CmdID: 9273
message FinishPveStageCsReq {
	uint32 MPDHNFNCIEA = 9; // offset: 32
	uint32 damage = 10; // offset: 24
	bool is_win = 13; // offset: 29
	bool AINKFEINNAK = 14; // offset: 28
}

// Obf: DFLIOADBEDK
// Type: Rsp
// CmdID: 9269
message FinishPveStageScRsp {
	uint32 MPDHNFNCIEA = 4; // offset: 36
	bool is_win = 5; // offset: 40
	uint32 retcode = 6; // offset: 32
	ItemList reward = 11; // offset: 16
}

// Type: Notify
// CmdID: 9279
message BLBHACNKKFC {
	uint32 EECIJBLGLNG = 1; // offset: 32
	int32 GALOHJONKCG = 6; // offset: 28
	bool is_win = 9; // offset: 36
	uint32 LEHIGGFKPMN = 11; // offset: 24
	bool is_friend = 12; // offset: 37
}

// Obf: IOEOOJJNGKD
// Type: Req
// CmdID: 9278
message V2FinishPveStageCsReq {
	uint32 AELAEGOOBMB = 4; // offset: 36
	uint32 MPDHNFNCIEA = 5; // offset: 24
	uint32 KGHBJELHOBA = 6; // offset: 28
	uint32 FGBIJPLPOBI = 8; // offset: 40
	bool is_win = 12; // offset: 45
	uint32 EOILKCCLEIF = 14; // offset: 32
	bool AINKFEINNAK = 15; // offset: 44
}

// Obf: AFAAPIGOAEN
// Type: Rsp
// CmdID: 9298
message V2FinishPveStageScRsp {
	uint32 retcode = 6; // offset: 36
	uint32 MPDHNFNCIEA = 9; // offset: 40
	bool is_win = 10; // offset: 32
	ItemList reward = 11; // offset: 24
}

// Type: Notify
// CmdID: 9276
message DDKNIMHHNPA {
	repeated LPGJPLMHKFL JDGMEHCPGLL = 5; // offset: 16
	uint32 stage_id = 6; // offset: 48
	bool is_win = 10; // offset: 44
	repeated EHMEPOMCGNG LMPLLJFMFEC = 13; // offset: 32
	uint32 total_score = 15; // offset: 40
}

// Obf: JNAFGAGPCIK
enum CmdDrinkMakerType {
	JNAFGAGPCIK_NLCDGIPGFDJ = 0;
	CmdDrinkMakerChallengeCsReq = 6995;
	CmdDrinkMakerCheersGetDataScRsp = 6990;
	CmdMakeMissionDrinkScRsp = 6984;
	CmdGetDrinkMakerDataScRsp = 6988;
	CmdDrinkMakerCheersGetDataCsReq = 7000;
	CmdGetDrinkMakerDataCsReq = 6998;
	CmdMakeDrinkCsReq = 6983;
	CmdDrinkMakerCheersEnterNextGroupCsReq = 6986;
	CmdEndDrinkMakerSequenceScRsp = 6997;
	CmdMakeMissionDrinkCsReq = 6985;
	CmdDrinkMakerCheersMakeDrinkScRsp = 6994;
	CmdDrinkMakerUpdateTipsNotify = 6989;
	CmdDrinkMakerCheersEnterNextGroupScRsp = 6999;
	CmdEndDrinkMakerSequenceCsReq = 6982;
	CmdDrinkMakerChallengeScRsp = 6981;
	CmdMakeDrinkScRsp = 6992;
	CmdDrinkMakerCheersMakeDrinkCsReq = 6987;
	CmdGetDrinkMakerDayEndScNotify = 6991;
}
message KKIACMJGIKN {
	repeated uint32 OBJOLNOJIKC = 2; // offset: 24
	uint32 OHPIDOOJDHJ = 12; // offset: 32
	uint32 JOIKIENJNJI = 13; // offset: 36
}
message DFJPGILAAON {
	repeated uint32 ECIOKDDBEPN = 4; // offset: 24
	uint32 PDHDOHAIJKD = 6; // offset: 40
	uint32 HCCKHLMLENE = 11; // offset: 44
	uint32 DALCMIELFDD = 12; // offset: 32
	uint32 KMADACHJHJC = 15; // offset: 36
}
message NACEGIAMJMG {
	uint32 CJGGHHCILMD = 1; // offset: 24
	bool KGKEJAKKLDP = 7; // offset: 28
}

// Obf: JEMBBCBCOIK
// Type: Req
// CmdID: 6998
message GetDrinkMakerDataCsReq {
}

// Obf: JPDFANKBJNO
// Type: Rsp
// CmdID: 6988
message GetDrinkMakerDataScRsp {
	uint32 retcode = 1; // offset: 72
	uint32 EMIAIOMOLPO = 2; // offset: 48
	repeated uint32 CJKAGEDKAFL = 3; // offset: 32
	uint32 level = 4; // offset: 64
	uint32 FGBELHJAKCC = 6; // offset: 52
	repeated KKIACMJGIKN ONFNEDNFOLL = 7; // offset: 40
	DFJPGILAAON LMOGDPMLKFH = 8; // offset: 16
	uint32 FHPKJONKHAC = 11; // offset: 60
	uint32 day = 12; // offset: 68
	uint32 exp = 13; // offset: 56
}

// Obf: HAALIJLGHNM
// Type: Req
// CmdID: 6983
message MakeDrinkCsReq {
	uint32 FGBELHJAKCC = 7; // offset: 32
	DFJPGILAAON AGCBLNPHFCI = 13; // offset: 16
}

// Obf: BIFNKEPOOPA
// Type: Rsp
// CmdID: 6992
message MakeDrinkScRsp {
	bool KGKEJAKKLDP = 7; // offset: 24
	uint32 retcode = 12; // offset: 28
	uint32 LEJDBHMPBBG = 13; // offset: 32
}

// Obf: GCOKGACMDNF
// Type: Req
// CmdID: 6982
message EndDrinkMakerSequenceCsReq {
}

// Obf: JALACKKFDEG
// Type: Rsp
// CmdID: 6997
message EndDrinkMakerSequenceScRsp {
	repeated NACEGIAMJMG ADNJJHNMAAJ = 7; // offset: 32
	uint32 exp = 9; // offset: 56
	uint32 BFHGACCOGJD = 10; // offset: 52
	ItemList reward = 11; // offset: 40
	uint32 FHPKJONKHAC = 12; // offset: 60
	KKIACMJGIKN guest = 13; // offset: 16
	uint32 level = 14; // offset: 64
	uint32 retcode = 15; // offset: 48
}

// Obf: CEJMDKPGPGP
// Type: Req
// CmdID: 6985
message MakeMissionDrinkCsReq {
	DFJPGILAAON AGCBLNPHFCI = 2; // offset: 16
	bool is_save = 5; // offset: 32
	uint32 CJGGHHCILMD = 15; // offset: 36
}

// Obf: NALOLCLOBMG
// Type: Rsp
// CmdID: 6984
message MakeMissionDrinkScRsp {
	uint32 retcode = 1; // offset: 32
	bool KGKEJAKKLDP = 7; // offset: 37
	DFJPGILAAON LMOGDPMLKFH = 11; // offset: 24
	bool is_save = 12; // offset: 36
}

// Obf: DJALAJMGFHO
// Type: Notify
// CmdID: 6991
message GetDrinkMakerDayEndScNotify {
	uint32 HBJIJHHMEGO = 10; // offset: 24
}

// Obf: IHKCFDECEEH
// Type: Req
// CmdID: 6995
message DrinkMakerChallengeCsReq {
	DFJPGILAAON AGCBLNPHFCI = 4; // offset: 16
	uint32 challenge_id = 6; // offset: 32
}

// Obf: AIIAOELLFAP
// Type: Rsp
// CmdID: 6981
message DrinkMakerChallengeScRsp {
	uint32 challenge_id = 9; // offset: 40
	bool KGKEJAKKLDP = 11; // offset: 32
	ItemList reward = 12; // offset: 24
	uint32 retcode = 15; // offset: 36
}

// Obf: MDJMAMCHFAO
// Type: Notify
// CmdID: 6989
message DrinkMakerUpdateTipsNotify {
	uint32 FHPKJONKHAC = 13; // offset: 24
}
message LEFIDLICEMH {
	DFJPGILAAON AGCBLNPHFCI = 1; // offset: 24
	uint32 MJJMPMCCNJH = 2; // offset: 44
	repeated uint32 LNCKEHDMHLD = 9; // offset: 32
	bool MHNDLPIDJIE = 13; // offset: 40
}

// Obf: INBGOEJNFLG
// Type: Req
// CmdID: 7000
message DrinkMakerCheersGetDataCsReq {
}

// Obf: OFANJNFJCGL
// Type: Rsp
// CmdID: 6990
message DrinkMakerCheersGetDataScRsp {
	uint32 LFNJKNCGNEE = 2; // offset: 40
	repeated LEFIDLICEMH NHFMCMGHADE = 4; // offset: 24
	uint32 retcode = 12; // offset: 36
	uint32 OLKJPIIKCKP = 15; // offset: 32
}

// Obf: NMKKIFLKMPB
// Type: Req
// CmdID: 6987
message DrinkMakerCheersMakeDrinkCsReq {
	uint32 MJJMPMCCNJH = 1; // offset: 36
	bool PCPIHPDOIGI = 9; // offset: 40
	DFJPGILAAON AGCBLNPHFCI = 10; // offset: 16
	uint32 group_id = 13; // offset: 32
}

// Obf: KOJDMLGPKII
// Type: Rsp
// CmdID: 6994
message DrinkMakerCheersMakeDrinkScRsp {
	uint32 retcode = 4; // offset: 32
	LEFIDLICEMH GKBFMPCFFOE = 8; // offset: 24
}

// Obf: CNAFOICMECG
// Type: Req
// CmdID: 6986
message DrinkMakerCheersEnterNextGroupCsReq {
}

// Obf: NOMBOPLGJJC
// Type: Rsp
// CmdID: 6999
message DrinkMakerCheersEnterNextGroupScRsp {
	uint32 retcode = 1; // offset: 28
	uint32 OLKJPIIKCKP = 9; // offset: 24
}

// Obf: GFOCDHFMBBC
enum CmdElationActivityType {
	GFOCDHFMBBC_NLCDGIPGFDJ = 0;
	CmdElationActivityBattleEndScNotify = 9104;
	CmdEnterElationActivityStageCsReq = 9103;
	CmdEnterElationActivityStageScRsp = 9105;
	CmdGetElationActivityDataCsReq = 9110;
	CmdGetElationActivityDataScRsp = 9101;
}
message ElationActivityAvatar {
	AvatarType avatar_type = 1; // offset: 24
	uint32 avatar_id = 12; // offset: 28
}
message ElationActivityLevelData {
	bool is_perfect = 5; // offset: 32
	uint32 level_id = 7; // offset: 40
	uint32 BOEINFJIILE = 10; // offset: 28
	uint32 CHPCJIBGKFK = 12; // offset: 24
	uint32 FFGFINDLMCF = 14; // offset: 36
}

// Obf: NJKCBFFNNEH
// Type: Req
// CmdID: 9110
message GetElationActivityDataCsReq {
}

// Obf: ONJNHGNCEOE
// Type: Rsp
// CmdID: 9101
message GetElationActivityDataScRsp {
	uint32 retcode = 3; // offset: 32
	repeated ElationActivityLevelData level_data_list = 6; // offset: 24
}

// Obf: BKMKLMLDHJG
// Type: Req
// CmdID: 9103
message EnterElationActivityStageCsReq {
	repeated ElationActivityAvatar player_selected_avatar_list = 1; // offset: 24
	repeated ElationActivityAvatar fixed_avatar_list = 9; // offset: 16
	uint32 level_id = 12; // offset: 40
}

// Obf: HBPGCJMBKGB
// Type: Rsp
// CmdID: 9105
message EnterElationActivityStageScRsp {
	SceneBattleInfo battle_info = 1; // offset: 16
	uint32 retcode = 6; // offset: 32
	uint32 level_id = 7; // offset: 36
}

// Obf: NHFAHLAIHEJ
// Type: Notify
// CmdID: 9104
message ElationActivityBattleEndScNotify {
	uint32 JCFMCEPKEHA = 2; // offset: 44
	uint32 JIGFPIOBAHB = 4; // offset: 32
	uint32 level_id = 6; // offset: 36
	uint32 perfect_wave = 13; // offset: 40
	ElationActivityLevelData level_data = 15; // offset: 24
}

// Obf: AEHOCHBKGOL
enum CmdElfRestaurantType {
	AEHOCHBKGOL_NLCDGIPGFDJ = 0;
	CmdALEEDHCDIAL = 2587;
	CmdElfRestaurantFinishTradeOrderScRsp = 2589;
	CmdElfRestaurantRecycleSeedCsReq = 2567;
	AEHOCHBKGOL_LCFDIHFAGHA = 2583;
	CmdElfRestaurantHarvestCropCsReq = 2574;
	CmdGetElfRestaurantDataCsReq = 2559;
	CmdGOOJIJDPKIP = 2593;
	AEHOCHBKGOL_HPKGGLPLHMD = 2556;
	CmdMFIJFCEAKHA = 2586;
	CmdPNOENKFAKEK = 2557;
	CmdHCBCPFNMMMI = 2585;
	AEHOCHBKGOL_OGCDAOELHCB = 2568;
	CmdElfRestaurantTakeVillagerRewardScRsp = 2592;
	CmdJFMKFJJCDKN = 2594;
	CmdKFLIEGJGOBO = 2572;
	CmdGetElfRestaurantDataScRsp = 2573;
	CmdGHNLNAAAOLG = 2565;
	CmdElfRestaurantFinishTradeOrderCsReq = 2595;
	CmdIJBBCKPNPAF = 2558;
	CmdElfRestaurantDataChangeNotify = 2598;
	CmdElfRestaurantBuyShopItemCsReq = 2590;
	CmdFCEEHNOJAAN = 2564;
	CmdHCGNKJHKJMM = 2563;
	CmdElfRestaurantPlantSeedScRsp = 2571;
	CmdEEAGACLNDFN = 2553;
	CmdElfRestaurantRecycleSeedScRsp = 2579;
	CmdElfRestaurantTakeVillagerRewardCsReq = 2597;
	CmdNJMHBEAAOOC = 2580;
	CmdElfRestaurantHarvestCropScRsp = 2570;
	CmdElfRestaurantBuyShopItemScRsp = 2576;
	CmdOCKGMNGKIEE = 2552;
	CmdENDIDPAKMGF = 2582;
	CmdElfRestaurantPlantSeedCsReq = 2560;
}
message NOHPJFOGFLM {
	uint32 JJIJBJDKNAE = 5; // offset: 28
	uint32 progress = 7; // offset: 24
}
message ACAKOLCGDLL {
	uint32 MDIIJKBHBBI = 1; // offset: 44
	bool GPPHKPEHKIM = 8; // offset: 36
	uint32 NPGFNBPFMKI = 11; // offset: 32
	uint32 KKCKMCDGCGK = 12; // offset: 40
	repeated NOHPJFOGFLM NMJIOGGNLEO = 13; // offset: 24
}
message OBDBODNJACD {
	uint32 LIHAHPDCIKL = 5; // offset: 32
	bool MEBMAMHHGMD = 7; // offset: 29
	bool JFAPNIECBKO = 8; // offset: 28
	uint32 LOPNADHJKBF = 9; // offset: 40
	uint32 BLNHCIBKJOM = 11; // offset: 24
	uint32 IHAOMLEPHOM = 14; // offset: 36
}
message OMPLEKGNLBC {
	repeated OBDBODNJACD FMCGHNLBIKP = 1; // offset: 32
	bool PCKLCAEDJPC = 5; // offset: 40
	repeated uint32 KPMKNBNOAFP = 15; // offset: 24
}
message GHFEKEGEFAC {
	uint32 level = 3; // offset: 24
	uint32 OMFGAABELHE = 10; // offset: 28
}
message FHCIIMGMIML {
	uint32 AOOLKNMJLNI = 9; // offset: 24
	uint32 level = 15; // offset: 28
}
message CLBNCPOFNPB {
	uint32 GELLJOJMEFP = 1; // offset: 32
	uint32 AOOLKNMJLNI = 7; // offset: 24
	uint32 MCGHFJCBBMK = 15; // offset: 28
}
message BMJDDOLALFI {
	uint32 count = 1; // offset: 24
	uint32 ENBEGMDIFKN = 4; // offset: 28
}
message LABMFHEEPBI {
	repeated BMJDDOLALFI ELJEBPIOKDD = 3; // offset: 32
	repeated CLBNCPOFNPB FGJIAMOOIIG = 4; // offset: 48
	repeated uint32 JEENJPHNBLI = 6; // offset: 40
	uint64 FEKHNEKHAAK = 7; // offset: 56
	repeated uint32 FFEILKDLABH = 9; // offset: 16
	uint32 DFELFGNJGDP = 13; // offset: 68
	uint32 JFBOMKNCNIE = 14; // offset: 64
}
message BAEDIBFGLDE {
	LABMFHEEPBI AJFHKPNGPDB = 2; // offset: 24
	repeated GHFEKEGEFAC JJHMEHGELNO = 9; // offset: 16
	repeated FHCIIMGMIML DLCGPENPMNK = 10; // offset: 40
}
message AGFGGFBNOJC {
	uint32 AMMPOLONOBC = 6; // offset: 28
	uint32 level = 11; // offset: 24
}
message IILBDJMKELG {
	repeated AGFGGFBNOJC FGJHNNPOGGF = 9; // offset: 24
}
message MOOGIHHBHFG {
	uint32 LMGFEGDNCHP = 3; // offset: 28
	uint32 ICNCMMEEJKM = 6; // offset: 32
	uint32 BEIJKGPGFFE = 13; // offset: 24
}
message LGFLGGDMAGD {
	uint32 BEIJKGPGFFE = 6; // offset: 24
	uint32 BFADNHJAJBJ = 9; // offset: 28
}
message ICABANFEIHJ {
	repeated MOOGIHHBHFG LCJFDCHINHL = 5; // offset: 32
	repeated LGFLGGDMAGD NILEKCAGIMK = 13; // offset: 16
}

// Obf: BAKKENDDMOL
// Type: Req
// CmdID: 2559
message GetElfRestaurantDataCsReq {
}

// Obf: FDFOELGFBCA
// Type: Rsp
// CmdID: 2573
message GetElfRestaurantDataScRsp {
	uint32 retcode = 2; // offset: 64
	BAEDIBFGLDE OENLJGEBCGA = 4; // offset: 40
	OMPLEKGNLBC FFKCMKJFFCM = 5; // offset: 24
	ACAKOLCGDLL IBHKOKEEMOI = 8; // offset: 48
	IILBDJMKELG MILCHKIIEJE = 12; // offset: 56
	ICABANFEIHJ AHCEIMGNBNM = 13; // offset: 32
}

// Type: Req
// CmdID: 2587
message ALEEDHCDIAL {
}

// Type: Rsp
// CmdID: 2594
message JFMKFJJCDKN {
	uint32 retcode = 5; // offset: 24
}
message HGMJFBCFJFN {
	oneof ENDDAHPBCKJ {
		ACAKOLCGDLL JNBFIBDKLGB = 4; // offset: 24
		OBDBODNJACD LEMCGNHLOOI = 10; // offset: 24
		AGFGGFBNOJC NEFHJPJALGO = 12; // offset: 24
		uint32 EDGOIFOOBMH = 7; // offset: 24
		GHFEKEGEFAC HINKDPMAICB = 5; // offset: 24
		FHCIIMGMIML MOCNALBMLLI = 9; // offset: 24
		MOOGIHHBHFG MFAJAPGACPA = 14; // offset: 24
		uint32 FDLGKNFIPMG = 8; // offset: 24
		LGFLGGDMAGD HMGKHCNMDDJ = 3; // offset: 24
		uint32 KMHMAKDFKLB = 15; // offset: 24
		bool PCKLCAEDJPC = 13; // offset: 24
		LABMFHEEPBI HGPMMEHONLD = 11; // offset: 24
	}
}

// Obf: AODEGGFNDJP
// Type: Notify
// CmdID: 2598
message ElfRestaurantDataChangeNotify {
	repeated HGMJFBCFJFN DGNGMJMPFGK = 13; // offset: 16
}

// Type: Req
// CmdID: 2553
message EEAGACLNDFN {
	uint32 LOPNADHJKBF = 10; // offset: 24
}

// Type: Rsp
// CmdID: 2557
message PNOENKFAKEK {
	uint32 retcode = 6; // offset: 32
	ItemCostData FKMFHAAJMMF = 7; // offset: 16
}
message KPLHHLEGGCD {
	uint32 IHAOMLEPHOM = 2; // offset: 24
	uint32 LOPNADHJKBF = 13; // offset: 28
}
message NKEGPAOCGCJ {
	uint32 LOPNADHJKBF = 2; // offset: 36
	ItemCostData FKMFHAAJMMF = 7; // offset: 24
	uint32 IHAOMLEPHOM = 10; // offset: 32
}

// Obf: AADFONOBBKJ
// Type: Req
// CmdID: 2560
message ElfRestaurantPlantSeedCsReq {
	uint32 BLNHCIBKJOM = 1; // offset: 32
	repeated KPLHHLEGGCD FMCGHNLBIKP = 8; // offset: 24
}

// Obf: EPDCKMBJMOO
// Type: Rsp
// CmdID: 2571
message ElfRestaurantPlantSeedScRsp {
	uint32 retcode = 6; // offset: 32
	repeated NKEGPAOCGCJ FPEBFLJMEJL = 9; // offset: 24
}

// Obf: GAHILLJECMN
// Type: Req
// CmdID: 2574
message ElfRestaurantHarvestCropCsReq {
	repeated KPLHHLEGGCD FMCGHNLBIKP = 10; // offset: 16
}
message CEKMLMOCLHF {
	ItemList KKDJMIMHNAE = 6; // offset: 24
	map<uint32, ItemList> JOCFFLKPNOL = 9; // offset: 32
	uint32 LOPNADHJKBF = 10; // offset: 40
	uint32 IHAOMLEPHOM = 15; // offset: 44
}

// Obf: AFOKEPANBEH
// Type: Rsp
// CmdID: 2570
message ElfRestaurantHarvestCropScRsp {
	uint32 retcode = 10; // offset: 32
	repeated CEKMLMOCLHF LGPOMBCJPKL = 13; // offset: 24
}

// Obf: DEJCDBOCLHM
// Type: Req
// CmdID: 2567
message ElfRestaurantRecycleSeedCsReq {
	repeated KPLHHLEGGCD FMCGHNLBIKP = 14; // offset: 16
}
message ECGKEKKAHGN {
	uint32 LOPNADHJKBF = 5; // offset: 36
	uint32 IHAOMLEPHOM = 6; // offset: 32
	ItemList FEANLLOCFBA = 15; // offset: 24
}

// Obf: IPFOBFKCDGH
// Type: Rsp
// CmdID: 2579
message ElfRestaurantRecycleSeedScRsp {
	repeated ECGKEKKAHGN HDAMNMCDHLH = 7; // offset: 24
	uint32 retcode = 13; // offset: 32
}

// Obf: FIOHLMBJJDB
// Type: Req
// CmdID: 2597
message ElfRestaurantTakeVillagerRewardCsReq {
}
message PLOHACFCDKF {
	ItemList reward_list = 1; // offset: 24
	uint32 progress = 8; // offset: 36
	uint32 OCJKDCPANJM = 9; // offset: 40
	uint32 MMMADINMHFB = 15; // offset: 32
}

// Obf: HDPBHCKNOBC
// Type: Rsp
// CmdID: 2592
message ElfRestaurantTakeVillagerRewardScRsp {
	uint32 retcode = 7; // offset: 32
	repeated PLOHACFCDKF DJOBNPIAEJP = 10; // offset: 16
}

// Type: Req
// CmdID: 2552
message OCKGMNGKIEE {
	uint32 AMMPOLONOBC = 4; // offset: 24
	uint32 IGOOJKMPMDC = 14; // offset: 28
}

// Type: Rsp
// CmdID: 2564
message FCEEHNOJAAN {
	ItemCostData FKMFHAAJMMF = 5; // offset: 16
	uint32 retcode = 7; // offset: 32
}

// Type: Req
// CmdID: 2585
message HCBCPFNMMMI {
	uint32 OMFGAABELHE = 3; // offset: 24
	uint32 IGOOJKMPMDC = 5; // offset: 28
}

// Type: Rsp
// CmdID: 2565
message GHNLNAAAOLG {
	uint32 retcode = 15; // offset: 24
}

// Type: Req
// CmdID: 2563
message HCGNKJHKJMM {
	uint32 AOOLKNMJLNI = 2; // offset: 28
	uint32 IGOOJKMPMDC = 6; // offset: 24
}

// Type: Rsp
// CmdID: 2558
message IJBBCKPNPAF {
	uint32 retcode = 12; // offset: 24
}
message KHEOAGDIHCC {
	uint32 AOOLKNMJLNI = 2; // offset: 24
}
message KFCKFOFONGI {
	uint32 KINCCGNDOJN = 3; // offset: 32
	bool FACNFJFMPNK = 5; // offset: 36
	repeated KHEOAGDIHCC MEDLNEJHOEF = 12; // offset: 24
	bool DPLFIIPIACN = 14; // offset: 37
}
message JPLJJHFFODO {
	uint32 event_type = 2; // offset: 24
	uint32 num = 4; // offset: 28
}
message FJEBMHIBJPL {
	uint32 CAOFLNHBOLK = 11; // offset: 28
	uint32 BBMELNJBGAL = 14; // offset: 24
}
message LNCAAKDIMBL {
	uint32 BIOFDPICHLC = 4; // offset: 52
	uint32 IFGMFCOGNJF = 9; // offset: 32
	bool FKLNFMAHKGD = 10; // offset: 40
	uint32 ADGNNEOEAFO = 11; // offset: 44
	repeated KVP DBOBKAAGPJH = 12; // offset: 24
	bool PLIEODDEEHG = 13; // offset: 41
	uint32 AOOLKNMJLNI = 14; // offset: 36
	uint32 IHHKFADNADN = 15; // offset: 48
}
message CDCMOFFKCPI {
	uint32 GLABGHEAGMI = 7; // offset: 32
	uint32 BIOFDPICHLC = 8; // offset: 28
	uint32 event_id = 11; // offset: 24
}
message IAOMNBIBCNP {
	uint32 cost_time = 2; // offset: 84
	uint32 OFMDJAMJNGN = 4; // offset: 64
	uint32 GKOONGBHOMM = 5; // offset: 88
	repeated CDCMOFFKCPI PIGMDKOGADE = 6; // offset: 56
	uint32 IFDKCGENNCP = 7; // offset: 72
	uint32 PLOEMBOCIGE = 8; // offset: 76
	uint32 HFIBLHAFONM = 9; // offset: 80
	repeated FJEBMHIBJPL MFIIBGCFABF = 10; // offset: 24
	uint32 FEKHNEKHAAK = 11; // offset: 68
	repeated KFCKFOFONGI PNBHFPMPGHN = 12; // offset: 16
	repeated LNCAAKDIMBL CMODBLCAEJF = 13; // offset: 40
	repeated JPLJJHFFODO MGFHEBIDAOL = 14; // offset: 32
}

// Type: Rsp
// CmdID: 2593
message GOOJIJDPKIP {
	uint32 retcode = 2; // offset: 24
}

// Obf: FGADBGEMDAG
// Type: Req
// CmdID: 2590
message ElfRestaurantBuyShopItemCsReq {
	uint32 ICAILDEHHBN = 3; // offset: 24
	uint32 ICNCMMEEJKM = 14; // offset: 28
}

// Obf: GAAODNGGFJF
// Type: Rsp
// CmdID: 2576
message ElfRestaurantBuyShopItemScRsp {
	uint32 ICNCMMEEJKM = 6; // offset: 44
	uint32 retcode = 8; // offset: 40
	ItemList GLAPKNMCIBI = 9; // offset: 32
	ItemCostData FKMFHAAJMMF = 10; // offset: 24
}

// Obf: NDEFINBJPAG
// Type: Req
// CmdID: 2595
message ElfRestaurantFinishTradeOrderCsReq {
	uint32 BFADNHJAJBJ = 9; // offset: 24
}

// Obf: LOOPILHHNFD
// Type: Rsp
// CmdID: 2589
message ElfRestaurantFinishTradeOrderScRsp {
	uint32 BFADNHJAJBJ = 4; // offset: 40
	ItemCostData FKMFHAAJMMF = 8; // offset: 32
	uint32 retcode = 12; // offset: 44
	ItemList GLAPKNMCIBI = 13; // offset: 24
}

// Type: Req
// CmdID: 2572
message KFLIEGJGOBO {
	repeated uint32 COBAKMLAOJC = 12; // offset: 24
}

// Type: Rsp
// CmdID: 2582
message ENDIDPAKMGF {
	uint32 retcode = 4; // offset: 24
}

// Type: Req
// CmdID: 2586
message MFIJFCEAKHA {
	bool is_active = 7; // offset: 24
}

// Type: Rsp
// CmdID: 2580
message NJMHBEAAOOC {
	uint32 retcode = 11; // offset: 24
}

// Obf: LDEBFOMPOGN
enum CmdEraFlipperType {
	LDEBFOMPOGN_NLCDGIPGFDJ = 0;
	CmdChangeEraFlipperDataCsReq = 6562;
	CmdResetEraFlipperDataScRsp = 6559;
	CmdGetEraFlipperDataScRsp = 6571;
	CmdChangeEraFlipperDataScRsp = 6557;
	CmdResetEraFlipperDataCsReq = 6555;
	CmdDMICEOCOGAD = 6565;
	CmdEnterEraFlipperDataScRsp = 6568;
	CmdEnterEraFlipperDataCsReq = 6569;
	CmdGetEraFlipperDataCsReq = 6558;
}
message HKLDDAAECLN {
	uint32 state = 8; // offset: 28
	uint32 region_id = 15; // offset: 24
}
message KKFMGCNDHGH {
	repeated HKLDDAAECLN DMDKAOOLABF = 14; // offset: 16
}

// Type: Req
// CmdID: 6558
message GetEraFlipperDataCsReq {
}

// Type: Rsp
// CmdID: 6571
message GetEraFlipperDataScRsp {
	uint32 retcode = 1; // offset: 32
	KKFMGCNDHGH data = 11; // offset: 16
}

// Type: Req
// CmdID: 6562
message ChangeEraFlipperDataCsReq {
	KKFMGCNDHGH data = 1; // offset: 24
}

// Type: Rsp
// CmdID: 6557
message ChangeEraFlipperDataScRsp {
	uint32 retcode = 5; // offset: 32
	KKFMGCNDHGH data = 7; // offset: 24
}

// Type: Req
// CmdID: 6555
message ResetEraFlipperDataCsReq {
	bool CJEILDIOIOE = 1; // offset: 24
}

// Type: Rsp
// CmdID: 6559
message ResetEraFlipperDataScRsp {
	uint32 retcode = 3; // offset: 32
	KKFMGCNDHGH data = 7; // offset: 24
	bool CJEILDIOIOE = 15; // offset: 36
}

// Type: Req
// CmdID: 6569
message EnterEraFlipperDataCsReq {
	uint32 state = 5; // offset: 24
	uint32 region_id = 15; // offset: 28
}

// Type: Rsp
// CmdID: 6568
message EnterEraFlipperDataScRsp {
	uint32 region_id = 6; // offset: 28
	uint32 retcode = 7; // offset: 24
}

// Type: Notify
// CmdID: 6565
message DMICEOCOGAD {
	KKFMGCNDHGH data = 1; // offset: 24
	uint32 floor_id = 2; // offset: 32
}

// Obf: HNJJAFEFDLN
enum CmdEvolveBuildType {
	HNJJAFEFDLN_MMNFGNKHNLL = 0;
	CmdEvolveBuildStartLevelScRsp = 7144;
	CmdGetEvolveBuildShopAbilityResetScRsp = 7118;
	CmdGetEvolveBuildShopAbilityDownCsReq = 7114;
	CmdEvolveBuildSkipTeachLevelCsReq = 7126;
	CmdGetEvolveBuildReRandomStageCsReq = 7120;
	CmdGetEvolveBuildCoinNotify = 7143;
	CmdGetEvolveBuildQueryInfoScRsp = 7123;
	CmdGetEvolveBuildGiveupCsReq = 7103;
	CmdGetEvolveBuildGiveupScRsp = 7107;
	CmdGetEvolveBuildShopAbilityUpCsReq = 7106;
	CmdGetEvolveBuildShopAbilityUpScRsp = 7102;
	CmdGetEvolveBuildShopAbilityDownScRsp = 7135;
	CmdEvolveBuildSkipTeachLevelScRsp = 7145;
	CmdEvolveBuildStartStageCsReq = 7119;
	CmdGetEvolveBuildFinishScNotify = 7124;
	CmdEvolveBuildStartStageScRsp = 7148;
	CmdGetEvolveBuildQueryInfoCsReq = 7109;
	CmdEvolveBuildStartLevelCsReq = 7137;
	CmdGetEvolveBuildReRandomStageScRsp = 7117;
	CmdGetEvolveBuildShopAbilityResetCsReq = 7108;
}

enum GCIOHOGCBCF {
	GCIOHOGCBCF_DLHFAILACPE = 0;
	GCIOHOGCBCF_MBHIMLHPAGD = 1;
	GCIOHOGCBCF_PEBJKLDDMHA = 2;
	GCIOHOGCBCF_JJMFIEPCJGH = 3;
	GCIOHOGCBCF_FLPKLFENPBG = 4;
}

enum IAPIIEJHLMP {
	IAPIIEJHLMP_BFNCMBCKDHK = 0;
	IAPIIEJHLMP_GNDJPIHJCFF = 1;
	IAPIIEJHLMP_BNHFLKDCHOJ = 2;
	IAPIIEJHLMP_INHGFENMDFN = 3;
	IAPIIEJHLMP_HPDBIFBGHBD = 4;
}

enum EDJKFOBBDJF {
	EDJKFOBBDJF_PCIHNGDCFAL = 0;
	EDJKFOBBDJF_CNLOJEFOHII = 1;
	EDJKFOBBDJF_IABFOPFPILL = 2;
}
message EHPLFHLNMIF {
	AvatarType avatar_type = 4; // offset: 24
	double damage = 7; // offset: 32
	uint32 avatar_id = 15; // offset: 28
}
message LDLCMMOPKNG {
	EDJKFOBBDJF HFPEJIDDDJG = 2; // offset: 60
	repeated EHPLFHLNMIF avatar_list = 3; // offset: 48
	uint32 DJHHPKMHPBC = 5; // offset: 64
	uint32 round_cnt = 6; // offset: 56
	repeated BattleTarget battle_target_list = 8; // offset: 32
	BattleGridFightSpecialBattleInfo battle_info = 11; // offset: 16
	repeated uint32 DCKIGAHCNMJ = 15; // offset: 24
}
message ACNKOPCGKDD {
	uint32 max_score = 7; // offset: 24
	uint32 FAGLNMDFOME = 8; // offset: 32
	uint32 level_id = 14; // offset: 28
}
message GOMKGHJBNFM {
	uint32 level = 5; // offset: 24
	uint32 JEKLOEPPJBK = 9; // offset: 28
}
message HLOADNFIOOO {
	repeated uint32 DCKIGAHCNMJ = 2; // offset: 24
	uint32 level_id = 6; // offset: 36
	bool FANPGKBLIOB = 11; // offset: 32
}
message LMMLGKHALLA {
	uint32 item_value = 6; // offset: 32
	EDJKFOBBDJF HFPEJIDDDJG = 8; // offset: 36
	repeated GOMKGHJBNFM CEPCGLMFPBC = 15; // offset: 16
}
message CJJHNFICDIM {
	uint32 exp = 2; // offset: 64
	repeated HLOADNFIOOO JBOJBAGKIAE = 3; // offset: 56
	repeated ACNKOPCGKDD POFJCCBEBGA = 4; // offset: 40
	repeated LMMLGKHALLA HHFAAFOBKME = 5; // offset: 16
	repeated uint32 HNOCFELOAFJ = 8; // offset: 48
	uint32 item_value = 10; // offset: 68
	repeated uint32 BHAOHNCEAJM = 11; // offset: 24
}

// Obf: NJHABLKFDLG
// Type: Req
// CmdID: 7109
message GetEvolveBuildQueryInfoCsReq {
}

// Obf: LBPHINKJJIM
// Type: Rsp
// CmdID: 7123
message GetEvolveBuildQueryInfoScRsp {
	repeated LDLCMMOPKNG JPDOIGJNGNP = 3; // offset: 24
	uint32 retcode = 6; // offset: 40
	CJJHNFICDIM CFDIKLBINHK = 9; // offset: 32
}

// Obf: HOKOLDJBBMK
// Type: Req
// CmdID: 7137
message EvolveBuildStartLevelCsReq {
	DKPHAFPGDLO NENJBDBJNFI = 2; // offset: 24
	uint32 level_id = 5; // offset: 40
	repeated EHPLFHLNMIF avatar_list = 7; // offset: 32
}

// Obf: GDMLMJECLCD
// Type: Rsp
// CmdID: 7144
message EvolveBuildStartLevelScRsp {
	uint32 retcode = 11; // offset: 32
	LDLCMMOPKNG OEIBHLMDJKA = 15; // offset: 24
}

// Obf: FPMGJDEHNAI
// Type: Req
// CmdID: 7119
message EvolveBuildStartStageCsReq {
	uint32 level_id = 12; // offset: 24
}

// Obf: BNFCJPEGJFL
// Type: Rsp
// CmdID: 7148
message EvolveBuildStartStageScRsp {
	SceneBattleInfo AEPNEDJPAGK = 1; // offset: 24
	uint32 retcode = 3; // offset: 40
	LDLCMMOPKNG OEIBHLMDJKA = 13; // offset: 16
}

// Obf: FJGKJHBJCCG
// Type: Req
// CmdID: 7103
message GetEvolveBuildGiveupCsReq {
	uint32 level_id = 3; // offset: 24
}

// Obf: OKBILIPEDPP
// Type: Rsp
// CmdID: 7107
message GetEvolveBuildGiveupScRsp {
	LDLCMMOPKNG OEIBHLMDJKA = 2; // offset: 24
	uint32 retcode = 8; // offset: 32
}

// Obf: CFEDPOMHPCP
// Type: Notify
// CmdID: 7124
message GetEvolveBuildFinishScNotify {
	LDLCMMOPKNG OEIBHLMDJKA = 2; // offset: 16
	uint32 wave = 3; // offset: 56
	uint32 level_id = 4; // offset: 52
	uint32 score_id = 5; // offset: 32
	uint32 item_value = 9; // offset: 48
	bool NLMAFMCFHAL = 10; // offset: 36
	uint32 exp = 13; // offset: 44
	IAPIIEJHLMP APKKKEIPJOG = 15; // offset: 40
}

// Obf: JBGHEJOMOAL
// Type: Req
// CmdID: 7120
message GetEvolveBuildReRandomStageCsReq {
	uint32 level_id = 9; // offset: 24
}

// Obf: PIHEAPGDMLC
// Type: Rsp
// CmdID: 7117
message GetEvolveBuildReRandomStageScRsp {
	uint32 retcode = 9; // offset: 32
	HLOADNFIOOO GMBPFFIABHJ = 15; // offset: 24
}

// Obf: LBPEMINKHEN
// Type: Req
// CmdID: 7106
message GetEvolveBuildShopAbilityUpCsReq {
	uint32 JEKLOEPPJBK = 2; // offset: 24
	uint32 level = 5; // offset: 28
}

// Obf: LJDGGBLKKGB
// Type: Rsp
// CmdID: 7102
message GetEvolveBuildShopAbilityUpScRsp {
	uint32 JEKLOEPPJBK = 4; // offset: 32
	uint32 retcode = 12; // offset: 24
	uint32 level = 15; // offset: 28
}

// Obf: FMGBEEPNNHH
// Type: Req
// CmdID: 7114
message GetEvolveBuildShopAbilityDownCsReq {
	uint32 level = 1; // offset: 28
	uint32 JEKLOEPPJBK = 7; // offset: 24
}

// Obf: BJELONPOIAG
// Type: Rsp
// CmdID: 7135
message GetEvolveBuildShopAbilityDownScRsp {
	uint32 JEKLOEPPJBK = 1; // offset: 28
	uint32 retcode = 12; // offset: 24
	uint32 level = 14; // offset: 32
}

// Obf: NILMGDJFACH
// Type: Req
// CmdID: 7108
message GetEvolveBuildShopAbilityResetCsReq {
	EDJKFOBBDJF HFPEJIDDDJG = 15; // offset: 24
}

// Obf: IPLODDDJKNF
// Type: Rsp
// CmdID: 7118
message GetEvolveBuildShopAbilityResetScRsp {
	repeated GOMKGHJBNFM CEPCGLMFPBC = 7; // offset: 16
	EDJKFOBBDJF HFPEJIDDDJG = 11; // offset: 32
	uint32 retcode = 13; // offset: 36
	uint32 item_value = 14; // offset: 40
}

// Obf: FNIFKDBNLBG
// Type: Notify
// CmdID: 7143
message GetEvolveBuildCoinNotify {
	uint32 item_value = 11; // offset: 28
	EDJKFOBBDJF HFPEJIDDDJG = 13; // offset: 24
}

// Obf: EMKKAIGDENF
// Type: Req
// CmdID: 7126
message EvolveBuildSkipTeachLevelCsReq {
	uint32 level_id = 6; // offset: 24
}

// Obf: OBBEOELJNPA
// Type: Rsp
// CmdID: 7145
message EvolveBuildSkipTeachLevelScRsp {
	uint32 level_id = 3; // offset: 28
	uint32 retcode = 7; // offset: 24
}

// Obf: OKPCOBCMOFF
enum CmdExpeditionType {
	OKPCOBCMOFF_NLCDGIPGFDJ = 0;
	CmdTakeMultipleExpeditionRewardCsReq = 2514;
	CmdGetExpeditionDataCsReq = 2509;
	CmdTakeMultipleExpeditionRewardScRsp = 2535;
	CmdHKCILGGEEFM = 2510;
	CmdGetExpeditionDataScRsp = 2523;
	CmdAcceptMultipleExpeditionCsReq = 2506;
	CmdAcceptMultipleExpeditionScRsp = 2502;
}
message ExpeditionInfo {
	uint32 id = 6; // offset: 24
}

// Obf: DGHLOHPCFKP
// Type: Req
// CmdID: 2509
message GetExpeditionDataCsReq {
}

// Obf: CNLOBEKDKGL
// Type: Rsp
// CmdID: 2523
message GetExpeditionDataScRsp {
	uint32 retcode = 1; // offset: 52
	int64 BJMGDBCHEAN = 9; // offset: 40
	repeated ExpeditionInfo expedition_info = 11; // offset: 16
	repeated uint32 CAALNNFJIAH = 14; // offset: 24
	uint32 total_expedition_count = 15; // offset: 48
}

// Obf: GFGPOLPKOLH
// Type: Req
// CmdID: 2506
message AcceptMultipleExpeditionCsReq {
	repeated ExpeditionInfo expedition = 8; // offset: 16
}

// Obf: LIIHMEHAHDN
// Type: Rsp
// CmdID: 2502
message AcceptMultipleExpeditionScRsp {
	repeated ItemList DJOBNPIAEJP = 4; // offset: 16
	uint32 retcode = 10; // offset: 48
	repeated ExpeditionInfo accept_multi_expedition = 12; // offset: 24
	int64 BJMGDBCHEAN = 15; // offset: 40
}

// Obf: PEIGLFGGMJH
// Type: Req
// CmdID: 2514
message TakeMultipleExpeditionRewardCsReq {
}

// Obf: MFDJDDKAHKL
// Type: Rsp
// CmdID: 2535
message TakeMultipleExpeditionRewardScRsp {
	uint32 retcode = 1; // offset: 48
	repeated ItemList DJOBNPIAEJP = 3; // offset: 24
	int64 BJMGDBCHEAN = 5; // offset: 40
	repeated uint32 NPCMKBNJABA = 10; // offset: 32
}

// Type: Notify
// CmdID: 2510
message HKCILGGEEFM {
	repeated ExpeditionInfo expedition_info = 1; // offset: 16
	repeated uint32 CAALNNFJIAH = 5; // offset: 32
	uint32 total_expedition_count = 9; // offset: 40
	int64 BJMGDBCHEAN = 13; // offset: 48
}

// Obf: GJALOMOKFKK
enum CmdFantasticStoryActivityType {
	GJALOMOKFKK_NLCDGIPGFDJ = 0;
	CmdGetFantasticStoryActivityDataScRsp = 4978;
	CmdEnterFantasticStoryActivityStageScRsp = 4988;
	CmdEPMJEKOHNME = 4993;
	CmdEnterFantasticStoryActivityStageCsReq = 4958;
	CmdFantasticStoryActivityBattleEndScNotify = 4981;
	CmdGetFantasticStoryActivityDataCsReq = 4925;
}
message FGGCEKHFPLH {
	repeated uint32 buff_list = 6; // offset: 16
	repeated PKCIPJBKAFO avatar_list = 7; // offset: 32
}
message GCFDJCPFOGG {
	repeated uint32 HPLNHIFHBMA = 2; // offset: 32
	uint32 OFHBPNGDEGO = 3; // offset: 72
	repeated uint32 DJJKDGEFOIP = 5; // offset: 48
	map<uint32, uint32> DLBOJCCDCFI = 6; // offset: 56
	repeated uint32 FIBFIKOBDPG = 10; // offset: 40
	map<uint32, FGGCEKHFPLH> DALPAKHCKLI = 11; // offset: 24
	repeated uint32 JJOBBOHHOMG = 15; // offset: 16
}

// Obf: DEMKDHAODBJ
// Type: Req
// CmdID: 4925
message GetFantasticStoryActivityDataCsReq {
	uint32 OFHBPNGDEGO = 14; // offset: 24
}

// Obf: MHMLENGPLLD
// Type: Rsp
// CmdID: 4978
message GetFantasticStoryActivityDataScRsp {
	uint32 retcode = 2; // offset: 32
	GCFDJCPFOGG ONIEMLICONB = 4; // offset: 16
}

// Type: Notify
// CmdID: 4993
message EPMJEKOHNME {
	GCFDJCPFOGG ONIEMLICONB = 8; // offset: 24
}
message PKCIPJBKAFO {
	AvatarType avatar_type = 8; // offset: 28
	uint32 avatar_id = 11; // offset: 24
}

// Obf: NLIBEBMOKCI
// Type: Req
// CmdID: 4958
message EnterFantasticStoryActivityStageCsReq {
	repeated PKCIPJBKAFO avatar_list = 1; // offset: 24
	uint32 OFHBPNGDEGO = 2; // offset: 44
	repeated uint32 buff_list = 8; // offset: 32
	uint32 battle_id = 11; // offset: 40
}

// Obf: HOPLLHBDLBI
// Type: Rsp
// CmdID: 4988
message EnterFantasticStoryActivityStageScRsp {
	SceneBattleInfo battle_info = 2; // offset: 16
	uint32 battle_id = 10; // offset: 36
	uint32 OFHBPNGDEGO = 11; // offset: 40
	uint32 retcode = 13; // offset: 32
}

// Obf: NAGIJNLDDEA
// Type: Notify
// CmdID: 4981
message FantasticStoryActivityBattleEndScNotify {
	uint32 battle_id = 3; // offset: 32
	uint32 FHBNGHINHOG = 8; // offset: 28
	uint32 OFHBPNGDEGO = 10; // offset: 24
}

// Obf: DFNJFJBGLLP
enum CmdFateType {
	DFNJFJBGLLP_NLCDGIPGFDJ = 0;
	CmdFateHandlePendingActionScRsp = 5965;
	CmdJOLGFGCFMAL = 5993;
	CmdFateBattleStartScRsp = 5998;
	CmdFateShopLeaveCsReq = 5952;
	CmdFateSyncPendingActionScNotify = 5958;
	CmdFateStartCsReq = 5987;
	CmdFateTakeExpRewardCsReq = 5976;
	CmdFateBattleStartCsReq = 5969;
	CmdFateShopBuyGoodsScRsp = 5971;
	CmdFateShopLockGoodsScRsp = 5956;
	CmdFateShopLeaveScRsp = 5964;
	CmdFateChangeLineupScRsp = 5957;
	CmdFateSyncActionResultScNotify = 5963;
	CmdFateShopRefreshGoodsCsReq = 5967;
	CmdFateShopBuyGoodsCsReq = 5960;
	CmdFateChangeLineupCsReq = 5953;
	CmdFateTakeExpRewardScRsp = 5995;
	CmdFateShopSellBuffCsReq = 5974;
	CmdFateStartScRsp = 5994;
	CmdFateSettleScNotify = 5990;
	CmdFGEMJLFIHHL = 5968;
	CmdFateShopRefreshGoodsScRsp = 5979;
	CmdFateQueryScRsp = 5973;
	CmdFateShopSellBuffScRsp = 5970;
	CmdFateShopLockGoodsCsReq = 5983;
	CmdFateQueryCsReq = 5959;
	CmdFateHandlePendingActionCsReq = 5985;
}

enum EMFDLPNOGOH {
	EMFDLPNOGOH_NLCDGIPGFDJ = 0;
	EMFDLPNOGOH_NGPHFLBNHKB = 1;
	EMFDLPNOGOH_KBAENNGPMPH = 2;
	EMFDLPNOGOH_GKHJMGPHDBK = 3;
	EMFDLPNOGOH_CHGJLDDJJAH = 4;
	EMFDLPNOGOH_FBKMDMLBNII = 5;
	EMFDLPNOGOH_MADBILBKOAO = 6;
}

// Obf: KNGLNMKNGJD
enum FateMasterStatusType {
	KNGLNMKNGJD_NLCDGIPGFDJ = 0;
	KNGLNMKNGJD_LCNJHOKLMPN = 1;
	KNGLNMKNGJD_JJBEPKLOLCP = 2;
	KNGLNMKNGJD_PEBNPKOCADN = 3;
}
message FJKMGCKMNNA {
	MOHNIMLCODA source_type = 1; // offset: 28
	uint32 BNEFLBPCPOI = 3; // offset: 24
}
message JOGCCINEHFJ {
	bool DIHFBELJFIA = 5; // offset: 40
	repeated uint32 monster_list = 7; // offset: 16
	uint32 unique_id = 10; // offset: 32
	uint32 affix_id = 11; // offset: 36
	bool FNIAOAOBKBA = 12; // offset: 41
}
message GKJEMHKOMJC {
	uint32 rank = 5; // offset: 32
	int32 hp = 7; // offset: 48
	repeated JOGCCINEHFJ CFFCNEDGCJJ = 8; // offset: 16
	FateMasterStatusType status = 9; // offset: 44
	uint32 avatar_id = 11; // offset: 40
	int32 max_hp = 14; // offset: 36
}
message CLNABFMHFFH {
	uint32 avatar_id = 10; // offset: 28
	bool BKFONKNLCHP = 12; // offset: 24
}
message MJLJMCCGNEE {
	CLNABFMHFFH KPEHHGEKNHA = 1; // offset: 24
	CLNABFMHFFH LJEAFPOHNCD = 15; // offset: 32
}
message PJFDAOKIKOJ {
	repeated GKJEMHKOMJC OCAMBKNKKGO = 9; // offset: 24
}

// Obf: KOLCCDIJBGO
message FateBuffData {
	uint32 buff_id = 4; // offset: 28
	uint32 cnt = 6; // offset: 24
}

// Obf: PLMAMHBLJKP
message ActiveTraitSourceList {
	uint32 cnt = 3; // offset: 32
	FJKMGCKMNNA source = 4; // offset: 16
}
message AGPKFBLGDIH {
	repeated ActiveTraitSourceList KBGAPHFIPJF = 2; // offset: 24
	uint32 trait_id = 15; // offset: 32
}
message NBBHDPCPHNN {
	map<uint32, uint32> buff_amplification_map = 2; // offset: 48
	repeated uint32 NGOMJIFBBBP = 5; // offset: 40
	repeated AGPKFBLGDIH ICCMJHJLPCD = 12; // offset: 16
	repeated FateBuffData buff_list = 13; // offset: 56
	repeated uint32 MHLNGFBOIDP = 14; // offset: 24
	uint32 JIMBJHLMHLO = 15; // offset: 64
}
message JDAIOFEPGCC {
	bool GDOBLPPEGKD = 9; // offset: 36
	uint32 KDKPDJNMMCM = 10; // offset: 32
	uint32 cnt = 11; // offset: 24
	uint32 buff_id = 14; // offset: 28
}
message IMIHIMCHHIP {
	uint32 item_value = 8; // offset: 28
	uint32 OIDJFIFJDHL = 9; // offset: 24
}
message JIMNPPNNHEL {
	uint32 KCBLNMMHOKG = 1; // offset: 44
	bool ONDCOEBNAPJ = 3; // offset: 48
	uint32 item_value = 6; // offset: 52
	repeated IMIHIMCHHIP AALLBBCJGIA = 7; // offset: 32
	repeated JDAIOFEPGCC OGDKJPDFFAI = 9; // offset: 16
	uint32 MNCBFLEFJCK = 11; // offset: 40
	bool PNMNPFGCFBJ = 15; // offset: 49
}
message KCLHMJHIDOB {
	uint32 IDNHBBMLNJK = 7; // offset: 24
	uint32 BKPDKFLDLDD = 8; // offset: 28
}
message ENJDEFHFKPI {
	repeated uint32 BAHMHMDOMPB = 12; // offset: 24
}
message KLMNGOJKEIN {
	uint32 unique_id = 6; // offset: 24
	uint32 MELNKMALHJO = 7; // offset: 28
}
message KAOPGJBGEBF {
	uint32 unique_id = 6; // offset: 28
	int32 value = 12; // offset: 32
	uint32 DAMIHCPPJAB = 14; // offset: 24
}
message BFBCEOICLAB {
	ENJDEFHFKPI IEMEKMDDIOI = 1; // offset: 96
	repeated KAOPGJBGEBF LNNGKPAJKLP = 2; // offset: 88
	NBBHDPCPHNN MHALEIHFKLG = 3; // offset: 16
	uint32 difficulty = 5; // offset: 116
	repeated KLMNGOJKEIN FELMAMPGMAE = 7; // offset: 40
	uint32 area_id = 8; // offset: 104
	PJFDAOKIKOJ CCOPDLOKAAE = 9; // offset: 24
	EMFDLPNOGOH status = 10; // offset: 108
	JIMNPPNNHEL EFLLPHLDBPC = 11; // offset: 64
	JFKAOMCJIKK FMIGOKIDKJL = 12; // offset: 56
	KCLHMJHIDOB LMLDELGBJOO = 13; // offset: 80
	uint32 GBMBGHAPDMG = 15; // offset: 112
	ANNFOAGBJBP CMCBGGKLBCF = 706; // offset: 48
	IBGFKJMMICI GODPEHNPPCO = 978; // offset: 72
}
message JFKAOMCJIKK {
	uint32 queue_position = 8; // offset: 32
	KFAIFLHPEIE GJDKHBPHNCG = 13; // offset: 16
}

// Obf: AMEFCGGAGGC
// Type: Req
// CmdID: 5985
message FateHandlePendingActionCsReq {
	uint32 queue_position = 8; // offset: 32
	oneof DMNECEKOLAJ {
		AFKJKLJJLKN HNPBCGILAJP = 3; // offset: 16
		GHAJMKCEEPJ NPBKAADBHHC = 14; // offset: 16
	}
}
message AFKJKLJJLKN {
	uint32 PJLEJKEOFII = 1; // offset: 24
}
message GHAJMKCEEPJ {
	uint32 NOILILELKFB = 6; // offset: 24
	bool MLKBOBIEAPL = 13; // offset: 28
}

// Obf: ILLBJPOBLLK
// Type: Rsp
// CmdID: 5965
message FateHandlePendingActionScRsp {
	uint32 retcode = 5; // offset: 24
}

// Obf: HCPNKGMBBIP
// Type: Notify
// CmdID: 5963
message FateSyncActionResultScNotify {
	repeated DDLHODCINBI CLGGKLNPLCK = 14; // offset: 24
}
message DDLHODCINBI {
	oneof MMCGBGDJIPN {
		DACCNAFGHFJ EKKABKCCLGJ = 6; // offset: 24
		MMPPKFJEOGK BJEDONKMCFE = 13; // offset: 24
		OPPNDJOCBEA GAEFNAJACEH = 10; // offset: 24
		FLIPLAHLMKM JGKDIFDIMKN = 7; // offset: 24
		DBKNLPMGFFH MFFLKLAJBDF = 12; // offset: 24
		JFLOHLLMOJK HENLCGACIOK = 15; // offset: 24
		DOBHOCKGHBI PLFLNBLMMHI = 3; // offset: 24
		MAFJLIIKIIF NKPAELIHJAD = 5; // offset: 24
		ANJBJLDMDFN MLPFDMIILBD = 4; // offset: 24
		AFANKKDMIHC GIGFDPNIMGD = 9; // offset: 24
		LMOPAFOIJNF JGNMFHFCIFN = 1; // offset: 24
		KAJLLLAAKOG OKDKHJFHJND = 14; // offset: 24
		AHOMAAHPCIG CCOHJLKNFON = 2; // offset: 24
		KGJGEEEKNNC MILPEAKHKEL = 11; // offset: 24
		LHJBIHJBNHI PLDLCJPGCIB = 187; // offset: 24
		BDJEGABKNHN FEINKBBJNHP = 1436; // offset: 24
		ELEMFBMOMMM HNFLLMLLNFI = 1308; // offset: 24
		HACIGDEEMCJ CCEGFKEBEMI = 1111; // offset: 24
		PANAGPMIIIH GGGLMGKKFFM = 83; // offset: 24
		KGOBMEOAEBL JKHGEJCJOEB = 173; // offset: 24
		PIKIDDEEDII CMHLMLEGNGM = 1009; // offset: 24
	}
}
message JFLOHLLMOJK {
	uint32 KCBLNMMHOKG = 1; // offset: 28
	uint32 MNCBFLEFJCK = 5; // offset: 24
}
message KGJGEEEKNNC {
	JIMNPPNNHEL EFLLPHLDBPC = 9; // offset: 16
}
message KGOBMEOAEBL {
	bool ONDCOEBNAPJ = 5; // offset: 24
}
message PIKIDDEEDII {
	repeated uint32 BAHMHMDOMPB = 2; // offset: 24
}
message LMOPAFOIJNF {
	repeated uint32 PDKAMAGEFEK = 9; // offset: 16
	repeated FateBuffData FCKIOLPLANI = 11; // offset: 24
}
message KAJLLLAAKOG {
	repeated AGPKFBLGDIH BFNINELCBCN = 7; // offset: 32
	repeated uint32 CJBINCOKFPO = 8; // offset: 16
}
message AHOMAAHPCIG {
	repeated uint32 DAPJMJMGCFC = 5; // offset: 16
	repeated uint32 EKJDLEFFGHD = 11; // offset: 32
}
message BDJEGABKNHN {
	map<uint32, uint32> ICAOKNPHKGN = 5; // offset: 24
	repeated uint32 PPHEKHLLFHC = 9; // offset: 32
}
message PANAGPMIIIH {
	repeated uint32 NGOMJIFBBBP = 13; // offset: 24
}
message ELEMFBMOMMM {
	BGNIMFMFKLH ECMBBBAPAJC = 14; // offset: 24
}
message HACIGDEEMCJ {
	FJKMGCKMNNA JDFKEJDDGFC = 9; // offset: 24
}
message DACCNAFGHFJ {
	KCLHMJHIDOB AKGJOPBLPNE = 6; // offset: 24
}
message MMPPKFJEOGK {
	EMFDLPNOGOH EGBFNFCEPHD = 15; // offset: 24
}
message LEGBKMIIJOA {
	uint32 DIIDBKIJEAF = 1; // offset: 44
	uint32 JGLNALONLDO = 5; // offset: 40
	uint32 GCIFCLINGFN = 7; // offset: 52
	uint32 avatar_id = 8; // offset: 36
	bool MEHPJMPDNNA = 9; // offset: 48
	double FJDFOPNAFPP = 10; // offset: 24
	bool JMCMPFPDEHG = 12; // offset: 49
	uint32 ECPMGBGLLNN = 15; // offset: 32
}
message OPPNDJOCBEA {
	uint32 GCNMKIHOFGG = 1; // offset: 64
	repeated LEGBKMIIJOA MIKKAEJNLAL = 2; // offset: 40
	uint32 NCDBCLLAHPP = 3; // offset: 56
	uint32 LKPNNOGPJOI = 4; // offset: 52
	repeated uint32 EAOCKLDEOGH = 6; // offset: 24
	repeated GKJEMHKOMJC OCAMBKNKKGO = 8; // offset: 32
	bool NEEDLFJJFPL = 9; // offset: 48
	uint32 JJDEEHAMHGF = 14; // offset: 60
}
message FLIPLAHLMKM {
	repeated MJLJMCCGNEE BLFMGKPNPGG = 12; // offset: 16
}
message DBKNLPMGFFH {
	uint32 gold = 13; // offset: 24
}
message DOBHOCKGHBI {
	uint32 JIMBJHLMHLO = 10; // offset: 24
}
message MAFJLIIKIIF {
	KLMNGOJKEIN MAIBAOAOGID = 9; // offset: 24
}
message ANJBJLDMDFN {
	uint32 unique_id = 4; // offset: 24
}
message AFANKKDMIHC {
	KAOPGJBGEBF MGMPDHKJFIM = 12; // offset: 24
}
message LHJBIHJBNHI {
	GKJEMHKOMJC GJPGBBHCAFC = 10; // offset: 16
}

// Obf: OICAPCABFNK
// Type: Notify
// CmdID: 5958
message FateSyncPendingActionScNotify {
	JFKAOMCJIKK FMIGOKIDKJL = 6; // offset: 24
}
message KFAIFLHPEIE {
	oneof MMCGBGDJIPN {
		DAFHOKGICNG HNPBCGILAJP = 7; // offset: 24
		JCMKKEKMHNC NPBKAADBHHC = 9; // offset: 24
	}
}
message DAFHOKGICNG {
	repeated uint32 PDABDEJBPEL = 8; // offset: 24
}
message KMLOMKCMGHD {
	uint32 JCNDBKGBLLJ = 8; // offset: 28
	uint32 DAMIHCPPJAB = 11; // offset: 24
}
message JCMKKEKMHNC {
	repeated KMLOMKCMGHD LGFJPBJOBPC = 3; // offset: 24
}
message EJCCCIGMHOM {
	repeated uint32 NKHIIMHCLCD = 3; // offset: 40
	HIJCLODMBPO GJFKKFFJDAH = 4; // offset: 24
	repeated uint32 GMGOHBLFMAN = 5; // offset: 32
	GCECAGOELDP BDIBPIMAPOC = 12; // offset: 16
}
message HIJCLODMBPO {
	HJHMNDBJPND PIDFDPIDJMN = 2; // offset: 16
	HJHMNDBJPND OAFLJGCKIAJ = 11; // offset: 40
	map<uint32, HJHMNDBJPND> BDJECEJAKIJ = 12; // offset: 32
	repeated HJFCEEBAGMF BJJDJFJMGDI = 14; // offset: 24
}
message GCECAGOELDP {
	uint32 exp = 1; // offset: 40
	repeated uint32 CFIKMGKPOFH = 10; // offset: 24
	repeated uint32 NPDOKAJOOKD = 14; // offset: 16
}
message HJHMNDBJPND {
	map<uint32, uint32> LJDLJKCMIIC = 2; // offset: 32
	uint32 total_count = 3; // offset: 40
	uint32 KAENLKDNOMF = 4; // offset: 44
	repeated uint32 DKJEDBHLOPP = 12; // offset: 16
}

// Obf: MFAGCMDGHPJ
// Type: Req
// CmdID: 5959
message FateQueryCsReq {
}

// Obf: DOFDHCNMNMJ
// Type: Rsp
// CmdID: 5973
message FateQueryScRsp {
	uint32 retcode = 10; // offset: 40
	EJCCCIGMHOM LFLCDNGALME = 12; // offset: 24
	BFBCEOICLAB OEIBHLMDJKA = 15; // offset: 16
}

// Obf: KMDNHNAEPBE
// Type: Req
// CmdID: 5987
message FateStartCsReq {
	uint32 area_id = 6; // offset: 32
	repeated KPNHGDGLICN avatar_list = 14; // offset: 16
	uint32 difficulty = 15; // offset: 36
}

// Obf: KEMGFAPBFNL
// Type: Rsp
// CmdID: 5994
message FateStartScRsp {
	uint32 retcode = 7; // offset: 32
	BFBCEOICLAB OEIBHLMDJKA = 11; // offset: 16
}

// Obf: OGCKAGAMDJP
// Type: Req
// CmdID: 5969
message FateBattleStartCsReq {
}

// Obf: HIEGKBMFNMJ
// Type: Rsp
// CmdID: 5998
message FateBattleStartScRsp {
	SceneBattleInfo battle_info = 12; // offset: 16
	uint32 retcode = 14; // offset: 32
}

// Obf: OEMOJOKKKNL
// Type: Req
// CmdID: 5953
message FateChangeLineupCsReq {
	repeated KPNHGDGLICN avatar_list = 8; // offset: 16
}

// Obf: GBOIDHOLFGH
// Type: Rsp
// CmdID: 5957
message FateChangeLineupScRsp {
	uint32 retcode = 13; // offset: 24
}

// Obf: IBECCHLNDFL
// Type: Req
// CmdID: 5960
message FateShopBuyGoodsCsReq {
	uint32 COCLMANMAAI = 2; // offset: 24
}

// Obf: GMDDANCGGBL
// Type: Rsp
// CmdID: 5971
message FateShopBuyGoodsScRsp {
	uint32 retcode = 13; // offset: 28
	uint32 COCLMANMAAI = 14; // offset: 24
}

// Obf: BPFLBBKOPNN
// Type: Req
// CmdID: 5974
message FateShopSellBuffCsReq {
	uint32 JDIFHPAFPID = 8; // offset: 24
	uint32 PCJOBDNLEAI = 11; // offset: 32
	bool PMCPIECGEHH = 13; // offset: 28
}

// Obf: LBNKGCMFNCM
// Type: Rsp
// CmdID: 5970
message FateShopSellBuffScRsp {
	bool PMCPIECGEHH = 8; // offset: 28
	uint32 retcode = 9; // offset: 24
	uint32 JDIFHPAFPID = 11; // offset: 36
	uint32 PCJOBDNLEAI = 13; // offset: 32
}

// Obf: HJFALMNEFDC
// Type: Req
// CmdID: 5967
message FateShopRefreshGoodsCsReq {
}

// Obf: OPABCPDGGAA
// Type: Rsp
// CmdID: 5979
message FateShopRefreshGoodsScRsp {
	uint32 retcode = 8; // offset: 32
	bool PNMNPFGCFBJ = 9; // offset: 36
	repeated JDAIOFEPGCC OGDKJPDFFAI = 15; // offset: 16
}

// Obf: OPHOEIDJDMO
// Type: Req
// CmdID: 5983
message FateShopLockGoodsCsReq {
	bool is_locked = 11; // offset: 24
}

// Obf: JPNPDPIBNBB
// Type: Rsp
// CmdID: 5956
message FateShopLockGoodsScRsp {
	uint32 retcode = 12; // offset: 24
	bool is_locked = 13; // offset: 28
}

// Obf: JHOFKNCODLC
// Type: Req
// CmdID: 5952
message FateShopLeaveCsReq {
}

// Obf: LIBBPNHIGAG
// Type: Rsp
// CmdID: 5964
message FateShopLeaveScRsp {
	uint32 retcode = 8; // offset: 24
}
message ANNFOAGBJBP {
	repeated MJLJMCCGNEE BLFMGKPNPGG = 3; // offset: 16
}
message BGNIMFMFKLH {
	FJKMGCKMNNA source = 13; // offset: 24
	map<uint32, double> OPEMKBPFFDN = 14; // offset: 16
}
message IBGFKJMMICI {
	repeated BGNIMFMFKLH OPOIDPJFFPK = 11; // offset: 16
}

// Type: Req
// CmdID: 5968
message FGEMJLFIHHL {
}

// Type: Rsp
// CmdID: 5993
message JOLGFGCFMAL {
	uint32 retcode = 12; // offset: 24
}
message HDHLHNEACHP {
	uint32 id = 4; // offset: 24
	uint32 level = 6; // offset: 32
	AvatarType avatar_type = 10; // offset: 28
	bool is_upgraded = 15; // offset: 36
}
message HJFCEEBAGMF {
	map<uint32, uint32> LANHCGFHCDB = 2; // offset: 24
	repeated HDHLHNEACHP avatar_list = 3; // offset: 48
	uint32 difficulty = 5; // offset: 76
	uint32 OKOICDENGFK = 7; // offset: 84
	map<uint32, uint32> DBIFAJIBGAC = 8; // offset: 56
	repeated uint32 LNNGKPAJKLP = 9; // offset: 40
	uint32 BKPDKFLDLDD = 11; // offset: 80
	uint32 IDNHBBMLNJK = 12; // offset: 72
	repeated uint32 FELMAMPGMAE = 13; // offset: 64
	uint32 level_id = 15; // offset: 88
	map<uint32, uint32> DHBPGMPMPOL = 302; // offset: 32
}

// Obf: HLECBNECIJA
// Type: Notify
// CmdID: 5990
message FateSettleScNotify {
	HJFCEEBAGMF LNBBPPKLBFA = 1; // offset: 32
	ItemList reward = 7; // offset: 16
	uint32 score_id = 12; // offset: 40
}

// Obf: EFGLGFMMNJI
// Type: Req
// CmdID: 5976
message FateTakeExpRewardCsReq {
}

// Obf: PNJAABBGEII
// Type: Rsp
// CmdID: 5995
message FateTakeExpRewardScRsp {
	ItemList reward = 6; // offset: 40
	repeated uint32 HPJMJEAJKAC = 7; // offset: 32
	uint32 retcode = 10; // offset: 48
	repeated uint32 HKEFKHJOEPJ = 12; // offset: 16
}

// Obf: NAEGJBPBAGK
enum CmdFateRinType {
	NAEGJBPBAGK_NLCDGIPGFDJ = 0;
	CmdFateRinStartChallengeFightCsReq = 9865;
	CmdFateRinStartStoryFightScRsp = 9874;
	CmdFateRinStartHouguMapFightScRsp = 9881;
	CmdFateRinStartHouguMapFightCsReq = 9895;
	CmdEILMEGELLLJ = 9867;
	CmdFateRinStartStoryFightCsReq = 9897;
	CmdKDMOONKPLPI = 9898;
	CmdDNNNCIPMPKH = 9873;
	CmdNCBOENDMDIC = 9870;
	CmdGOELKOBOCDI = 9872;
	CmdAIKICHNEPKE = 9893;
	CmdGHCLLIAGDEP = 9878;
	CmdPMEHLELAFJI = 9883;
	CmdKNLJDBNOPKD = 9890;
	CmdDIEODGPPEDC = 9896;
	CmdFateRinStartChallengeFightScRsp = 9884;
	CmdPPGFKFIAAHL = 9876;
	CmdFNHBHPDJACF = 9879;
	CmdOCOEKDNDEGJ = 9869;
}
message KDANACKPJIP {
	uint32 CCOOCEEAKFI = 1; // offset: 32
	uint32 JBGENFIKGGF = 4; // offset: 28
	uint32 JHMNIGAGOCK = 11; // offset: 24
}

// Type: Req
// CmdID: 9896
message DIEODGPPEDC {
}

// Type: Rsp
// CmdID: 9870
message NCBOENDMDIC {
	repeated GCJCLFOLBPP LDEJLFKJBCL = 2; // offset: 48
	uint32 retcode = 3; // offset: 56
	uint32 level = 6; // offset: 60
	repeated uint32 HINFJMIMBIN = 8; // offset: 32
	uint32 ILLHHMHBJCG = 9; // offset: 64
	uint32 NFAOAGIFKEG = 12; // offset: 68
	repeated uint32 PDABDEJBPEL = 13; // offset: 16
	repeated KDANACKPJIP HBDMBLAPEMH = 14; // offset: 40
}

// Obf: DFDCPCNBPAD
// Type: Req
// CmdID: 9897
message FateRinStartStoryFightCsReq {
	uint32 CCOOCEEAKFI = 11; // offset: 24
}

// Obf: NCENFLDDJEA
// Type: Rsp
// CmdID: 9874
message FateRinStartStoryFightScRsp {
	uint32 retcode = 1; // offset: 32
	SceneBattleInfo battle_info = 8; // offset: 24
}

// Obf: DHGDFOIKEDD
// Type: Req
// CmdID: 9895
message FateRinStartHouguMapFightCsReq {
	bool JBIFGIHHMNO = 7; // offset: 24
	uint32 CCOOCEEAKFI = 13; // offset: 28
}

// Obf: KBFCICJOJPE
// Type: Rsp
// CmdID: 9881
message FateRinStartHouguMapFightScRsp {
	uint32 retcode = 1; // offset: 32
	SceneBattleInfo battle_info = 4; // offset: 24
}

// Obf: KDIHMOLCGED
// Type: Req
// CmdID: 9865
message FateRinStartChallengeFightCsReq {
	repeated uint32 KLFBKKMEGFF = 1; // offset: 24
	uint32 CCOOCEEAKFI = 6; // offset: 32
}

// Obf: GIGMJINJFJC
// Type: Rsp
// CmdID: 9884
message FateRinStartChallengeFightScRsp {
	SceneBattleInfo battle_info = 2; // offset: 16
	uint32 retcode = 6; // offset: 32
}
message GCJCLFOLBPP {
	repeated uint32 CKGPHNNDACN = 3; // offset: 16
	repeated uint32 HPOOCCHJNEN = 6; // offset: 40
	repeated uint32 OPBNNKHNAEL = 7; // offset: 32
	uint32 NKDDBPGDAEE = 11; // offset: 48
}

// Type: Req
// CmdID: 9872
message GOELKOBOCDI {
	repeated GCJCLFOLBPP LDEJLFKJBCL = 8; // offset: 16
}

// Type: Rsp
// CmdID: 9883
message PMEHLELAFJI {
	uint32 retcode = 2; // offset: 32
	repeated GCJCLFOLBPP LDEJLFKJBCL = 7; // offset: 24
}

// Type: Notify
// CmdID: 9890
message KNLJDBNOPKD {
	GCJCLFOLBPP PNJMDOFOEEE = 3; // offset: 16
}

// Type: Notify
// CmdID: 9867
message EILMEGELLLJ {
	repeated uint32 PDABDEJBPEL = 1; // offset: 24
}

// Type: Notify
// CmdID: 9893
message AIKICHNEPKE {
	uint32 level = 4; // offset: 24
}

// Type: Notify
// CmdID: 9873
message DNNNCIPMPKH {
	repeated uint32 EDCIGEJLFFH = 5; // offset: 24
	uint32 NFAOAGIFKEG = 7; // offset: 40
	ItemList reward = 14; // offset: 32
}

// Type: Req
// CmdID: 9869
message OCOEKDNDEGJ {
	uint32 PPMJKDBNHCA = 5; // offset: 24
}

// Type: Rsp
// CmdID: 9879
message FNHBHPDJACF {
	uint32 retcode = 5; // offset: 24
	uint32 NFAOAGIFKEG = 10; // offset: 28
}

// Type: Req
// CmdID: 9878
message GHCLLIAGDEP {
	uint32 NKDDBPGDAEE = 15; // offset: 24
}

// Type: Rsp
// CmdID: 9898
message KDMOONKPLPI {
	uint32 ILLHHMHBJCG = 8; // offset: 28
	uint32 retcode = 12; // offset: 24
}

// Type: Notify
// CmdID: 9876
message PPGFKFIAAHL {
	KDANACKPJIP NMFGECJBPLJ = 11; // offset: 16
	BattleEndStatus end_status = 12; // offset: 32
}

// Obf: BJJBIJMNDCA
enum CmdFeverTimeActivityType {
	BJJBIJMNDCA_NLCDGIPGFDJ = 0;
	CmdEnterFeverTimeActivityStageScRsp = 7151;
	CmdGetFeverTimeActivityDataCsReq = 7155;
	CmdEnterFeverTimeActivityStageCsReq = 7160;
	CmdFeverTimeActivityBattleEndScNotify = 7153;
	CmdGetFeverTimeActivityDataScRsp = 7154;
}

// Obf: NNNPOIJENJC
enum FeverTimeBattleRank {
	NNNPOIJENJC_PICLIGEAJFN = 0;
	NNNPOIJENJC_OGPNODHENKN = 1;
	NNNPOIJENJC_JPDBDLEEHGK = 2;
	NNNPOIJENJC_BMHMMIMOAIJ = 3;
	NNNPOIJENJC_DCGAPNGCCEH = 4;
}
message JBMJOIPJPLH {
	uint32 DJFGDMIDEHJ = 4; // offset: 32
	uint32 OFBEDJIAEOA = 8; // offset: 28
	FeverTimeBattleRank OINGNAJMFNL = 9; // offset: 24
}

// Obf: AEGLEIHJKFN
// Type: Req
// CmdID: 7155
message GetFeverTimeActivityDataCsReq {
}

// Obf: FBKBHENKCPF
// Type: Rsp
// CmdID: 7154
message GetFeverTimeActivityDataScRsp {
	uint32 retcode = 9; // offset: 32
	repeated JBMJOIPJPLH GNDEFEAEDNJ = 15; // offset: 24
}

// Obf: GNFDDFJAEEC
// Type: Notify
// CmdID: 7153
message FeverTimeActivityBattleEndScNotify {
	uint32 id = 3; // offset: 24
	uint32 turn_left = 9; // offset: 28
	FeverTimeBattleRank LDDHCPLNKKA = 12; // offset: 32
	uint32 FAJDFFHODIP = 13; // offset: 36
}

// Obf: JIPHBIACDPH
// Type: Req
// CmdID: 7160
message EnterFeverTimeActivityStageCsReq {
	repeated KPNHGDGLICN avatar_list = 2; // offset: 24
	uint32 id = 5; // offset: 36
	uint32 CJHDABDKGHP = 8; // offset: 40
	uint32 MFLAIMHFABP = 11; // offset: 32
}

// Obf: NMHDDOGNHGC
// Type: Rsp
// CmdID: 7151
message EnterFeverTimeActivityStageScRsp {
	uint32 retcode = 2; // offset: 36
	uint32 id = 7; // offset: 32
	SceneBattleInfo battle_info = 13; // offset: 16
}

// Obf: DLBLIJPDMLM
enum CmdFightType {
	DLBLIJPDMLM_NLCDGIPGFDJ = 0;
	CmdIMKKKJFHEIO = 30081;
	CmdJEOILKKMKCN = 30078;
	CmdOEAMNAAJJHI = 30088;
	CmdCOMJKPOMILA = 30013;
	CmdMCKLINCMDKK = 30047;
	CmdKIJEFPFAIJC = 30025;
	CmdFEMJLEMCEFD = 30093;
	CmdICKLANINJDB = 30026;
	CmdOOCNBNHOICI = 30086;
}

// Type: Req
// CmdID: 30025
message KIJEFPFAIJC {
	uint32 account_ip_port = 1; // offset: 32
	uint64 PMLOIOIAHCF = 4; // offset: 40
	uint32 platform = 7; // offset: 52
	string fight_token = 8; // offset: 24
	uint32 account_ip = 9; // offset: 48
	uint32 LJKMPIMKOMO = 11; // offset: 60
	uint32 MLKLBJJHGIO = 12; // offset: 56
	uint32 uid = 14; // offset: 36
}

// Type: Rsp
// CmdID: 30078
message JEOILKKMKCN {
	uint32 retcode = 8; // offset: 40
	uint64 secret_key_seed = 9; // offset: 24
	uint32 MLKLBJJHGIO = 11; // offset: 44
	uint64 server_timestamp_ms = 14; // offset: 32
}

// Type: Notify
// CmdID: 30093
message FEMJLEMCEFD {
	uint32 GCOPDPOLECJ = 7; // offset: 24
}

// Type: Req
// CmdID: 30088
message OEAMNAAJJHI {
	uint64 client_time_ms = 13; // offset: 24
}

// Type: Rsp
// CmdID: 30081
message IMKKKJFHEIO {
	uint64 server_time_ms = 1; // offset: 32
	uint64 client_time_ms = 9; // offset: 24
	uint32 retcode = 13; // offset: 40
}

// Type: Notify
// CmdID: 30086
message OOCNBNHOICI {
	BFBHKJLJJBJ KAEDKFOMADJ = 11; // offset: 16
}

// Type: Req
// CmdID: 30047
message MCKLINCMDKK {
	bytes LNBKFFIDEEJ = 5; // offset: 16
	uint32 OMFPICKPOCP = 7; // offset: 32
}

// Type: Rsp
// CmdID: 30026
message ICKLANINJDB {
	uint32 OMFPICKPOCP = 3; // offset: 36
	bytes LNBKFFIDEEJ = 9; // offset: 16
	uint32 retcode = 11; // offset: 32
}

// Type: Notify
// CmdID: 30013
message COMJKPOMILA {
	uint32 server_tick = 3; // offset: 40
	bytes LNBKFFIDEEJ = 6; // offset: 16
	uint64 server_time_ms = 10; // offset: 32
	uint32 OMFPICKPOCP = 12; // offset: 44
}
message AJJMGKHEBFH {
	repeated uint32 FJKDOIDEBJC = 6; // offset: 32
	COMJKPOMILA DIEDPKCLDBF = 13; // offset: 16
}
message DABKPEFPBOL {
	bytes IGHFGADJCMG = 6; // offset: 24
	uint32 EIKOEBDEGGA = 15; // offset: 32
}
message EDECDFFDAIB {
	repeated uint32 FJKDOIDEBJC = 3; // offset: 56
	uint32 EIKOEBDEGGA = 5; // offset: 72
	repeated DABKPEFPBOL JHBLCEGCHBE = 6; // offset: 32
	bytes FJLPJJNIHLC = 8; // offset: 24
	repeated AJJMGKHEBFH BPDMEELPDLF = 9; // offset: 48
	repeated COMJKPOMILA DKGGJGDAJDD = 12; // offset: 40
	bytes IGHFGADJCMG = 14; // offset: 64
}
message MMCIJKKAEII {
	OFFMCODMKDL room_ext_info = 5; // offset: 16
	repeated LMLNNHKJEIP DFLEOIGPLNM = 15; // offset: 24
}

// Obf: EJNCEADPKFE
enum CmdFightActivityType {
	EJNCEADPKFE_NLCDGIPGFDJ = 0;
	CmdEnterFightActivityStageScRsp = 3688;
	CmdEnterFightActivityStageCsReq = 3658;
	CmdGetFightActivityDataCsReq = 3625;
	CmdTakeFightActivityRewardCsReq = 3681;
	CmdFightActivityDataChangeScNotify = 3693;
	CmdTakeFightActivityRewardScRsp = 3686;
	CmdGetFightActivityDataScRsp = 3678;
}
message CDABDPPPHBN {
	uint32 group_id = 2; // offset: 32
	repeated uint32 LINOMGEDMHC = 7; // offset: 24
	uint32 CJPDGBPLFIG = 9; // offset: 36
	uint32 ALALEBDJGHA = 11; // offset: 40
}

// Obf: IIAOPKANEKJ
// Type: Req
// CmdID: 3625
message GetFightActivityDataCsReq {
}

// Obf: KDMLMIFIMHE
// Type: Rsp
// CmdID: 3678
message GetFightActivityDataScRsp {
	uint32 world_level = 2; // offset: 44
	uint32 retcode = 7; // offset: 40
	repeated CDABDPPPHBN FALBALFNOFF = 9; // offset: 24
	bool CFDBDGEFJJN = 10; // offset: 48
	map<uint32, uint32> EDGPAOJEENN = 15; // offset: 16
}

// Obf: KLABGDHBEDN
// Type: Notify
// CmdID: 3693
message FightActivityDataChangeScNotify {
	repeated CDABDPPPHBN FALBALFNOFF = 5; // offset: 16
	map<uint32, uint32> EDGPAOJEENN = 11; // offset: 32
}
message DOIBLFFDHDG {
	uint32 avatar_id = 3; // offset: 28
	AvatarType avatar_type = 15; // offset: 24
}

// Obf: NLLDALGJENF
// Type: Req
// CmdID: 3658
message EnterFightActivityStageCsReq {
	uint32 DBKHHCGGKNN = 3; // offset: 48
	repeated DOIBLFFDHDG MACCJKCGGII = 4; // offset: 40
	repeated uint32 avatar_list = 8; // offset: 16
	repeated uint32 item_list = 9; // offset: 32
	uint32 group_id = 12; // offset: 52
}

// Obf: LAEGLNJINGN
// Type: Rsp
// CmdID: 3688
message EnterFightActivityStageScRsp {
	uint32 retcode = 2; // offset: 32
	uint32 group_id = 6; // offset: 40
	uint32 DBKHHCGGKNN = 7; // offset: 36
	SceneBattleInfo battle_info = 14; // offset: 24
}

// Obf: HKMMGCDNILJ
// Type: Req
// CmdID: 3681
message TakeFightActivityRewardCsReq {
	uint32 DBKHHCGGKNN = 5; // offset: 24
	uint32 group_id = 12; // offset: 28
}

// Obf: CPHCFHCEGOG
// Type: Rsp
// CmdID: 3686
message TakeFightActivityRewardScRsp {
	uint32 group_id = 4; // offset: 40
	uint32 retcode = 5; // offset: 32
	ItemList reward = 7; // offset: 24
	uint32 DBKHHCGGKNN = 14; // offset: 36
}

// Obf: AHCMDPLMIDA
enum CmdFightCakeRaceType {
	AHCMDPLMIDA_NLCDGIPGFDJ = 0;
}

enum BOHNFJPIDAD {
	BOHNFJPIDAD_NLCDGIPGFDJ = 0;
	BOHNFJPIDAD_MLDHBKBFNEP = 1;
}

enum EILNMPEFGOM {
	EILNMPEFGOM_GFHLAKINNHJ = 0;
	EILNMPEFGOM_EJNNNNCLNII = 1;
	EILNMPEFGOM_ONFLOLAEAFN = 2;
	EILNMPEFGOM_KGMGHCGECCP = 3;
}
message OPEDNENFCIN {
	uint32 BKCELHNLPMN = 1; // offset: 56
	repeated uint32 HFADPMMFNCK = 4; // offset: 40
	repeated KVP BIHMGJNKEOH = 5; // offset: 32
	uint32 add_score = 6; // offset: 60
	DILHPBMCOFK IPDDIKPHGPE = 9; // offset: 48
	repeated uint32 MAJNGJCJNNH = 13; // offset: 16
	uint32 DHJANOFGDNP = 14; // offset: 52
}
message LIKNJLCIAGI {
	uint64 time_stamp = 1; // offset: 40
	float x = 4; // offset: 36
	float y = 6; // offset: 28
	float z = 10; // offset: 24
	float NJDHHMLEHFL = 13; // offset: 32
}
message ENFDMFGIJDC {
	uint32 interact_id = 2; // offset: 64
	LIKNJLCIAGI MAKKJMNDDDN = 3; // offset: 32
	uint32 MOBCPDJGEFK = 4; // offset: 56
	int32 MFPJBEAFFLG = 5; // offset: 44
	int32 AEKJCKODEFP = 6; // offset: 40
	uint32 config_id = 9; // offset: 60
	uint32 ELFFJOOPKJJ = 13; // offset: 52
	int32 NGICBOPFBJF = 14; // offset: 48
	LIKNJLCIAGI EBCLHMBBAEH = 15; // offset: 24
}
message BICCMEPJMDO {
	int32 unique_id = 1; // offset: 32
	int32 direction = 4; // offset: 36
	KIAKKNFLEPN GOOAMHHLHPJ = 10; // offset: 16
}
message AMDJAFAHKEL {
	KIAKKNFLEPN GOOAMHHLHPJ = 2; // offset: 32
	uint32 GAHFPGCPAJA = 5; // offset: 44
	int32 unique_id = 12; // offset: 40
	repeated BJMPHAAOEFL CDMKBCHLPAB = 15; // offset: 24
}
message FHHGBMIEBOE {
	uint32 FDKPCNBCGEG = 6; // offset: 24
	uint32 JLAHNBIMKPD = 12; // offset: 28
}
message IAJMCLGLAAC {
	uint32 PHOKGKFBHJF = 1; // offset: 36
	uint32 PHHMKHNPJJK = 2; // offset: 40
	repeated FHHGBMIEBOE friend_recommend_list = 8; // offset: 24
	uint32 DPHAJPEADAF = 10; // offset: 32
}
message LIELJCGKNJN {
	uint32 PGMABEHJJAB = 3; // offset: 32
	repeated uint32 ACIMPFCLEEF = 11; // offset: 16
}
message HONBPDEJDCC {
	map<uint32, uint32> IAIGNIIEOBH = 1; // offset: 64
	repeated uint32 MLAOKGBINNE = 3; // offset: 24
	uint32 NNFDDHNBGAI = 4; // offset: 72
	repeated uint32 JALDDFICGOH = 6; // offset: 32
	uint32 section_id = 7; // offset: 92
	uint64 start_time_stamp = 8; // offset: 80
	repeated LIELJCGKNJN IKJDCGHHAEM = 9; // offset: 56
	repeated IAJMCLGLAAC KNPPCFCICHD = 10; // offset: 40
	uint32 GPCEAGEAPJL = 12; // offset: 88
	repeated uint32 GOCBCMIBHGN = 13; // offset: 16
}
message PCBNCBNOAAE {
	uint64 level_state_start_timestamp = 1; // offset: 104
	AMDJAFAHKEL GOMOHKCJIBP = 2; // offset: 40
	repeated HONBPDEJDCC FOEMKKBNCNI = 3; // offset: 64
	LLOLFGCKKJB EAIJCHCNMEB = 4; // offset: 72
	repeated ENFDMFGIJDC HMAIHHCBFKP = 5; // offset: 88
	bool EBLPGLFJNEL = 6; // offset: 116
	repeated NKGAIPKINJE CFBCCNCHBMO = 7; // offset: 96
	DFEAHIKPKLO HNCBACAOFFJ = 8; // offset: 32
	repeated BICCMEPJMDO CBHMLANHMAB = 9; // offset: 48
	uint32 level_state = 10; // offset: 112
	repeated JGNCJOINEMP AIIJHNIIPKH = 11; // offset: 16
	repeated AMDJAFAHKEL EEBLFGKCLPL = 13; // offset: 24
	repeated AMDJAFAHKEL IGMGBGGBHHL = 15; // offset: 80
}
message LHEBFHDKAIO {
	repeated uint32 region_list = 2; // offset: 24
}
message GECHEPGEIKF {
	uint32 NLICFEFAPLE = 3; // offset: 60
	repeated LHEBFHDKAIO NOGHNCPGGMI = 5; // offset: 24
	repeated ENFDMFGIJDC CNHJPNENDJJ = 6; // offset: 40
	uint32 HEGPIGMBCLO = 7; // offset: 56
	repeated uint32 FJKDOIDEBJC = 9; // offset: 32
	bool FDBNNLFJGPD = 11; // offset: 64
	repeated PJPAOLMBKEC DGBCNEDPGLB = 15; // offset: 48
}
message LDNBPINBPKB {
	uint32 OCPMGBPNMED = 4; // offset: 32
	PCBNCBNOAAE KNBGBCEBLDF = 5; // offset: 24
}
message MPKPFCNKECG {
	AMDJAFAHKEL KOLGNPBHCCD = 1; // offset: 24
	repeated BICCMEPJMDO CBHMLANHMAB = 7; // offset: 40
	repeated ENFDMFGIJDC HMAIHHCBFKP = 9; // offset: 56
	repeated AMDJAFAHKEL GIMOGCAADEH = 10; // offset: 32
	repeated AMDJAFAHKEL JCFCMNODNPA = 13; // offset: 16
}
message NGJLHMAHIDD {
	uint32 level_state = 5; // offset: 36
	repeated HONBPDEJDCC FOEMKKBNCNI = 6; // offset: 24
	uint32 OCPMGBPNMED = 9; // offset: 32
	uint64 level_state_start_timestamp = 11; // offset: 40
}
message PNHBCBIDFBE {
	uint32 DPHAJPEADAF = 2; // offset: 36
	repeated uint32 NIKICHNOGJD = 3; // offset: 24
	uint32 MDKFLGDEJCN = 11; // offset: 32
}
message FGJAKGPJCKB {
	uint32 score_id = 2; // offset: 52
	uint32 NICBADCOCBA = 3; // offset: 48
	uint32 rank = 4; // offset: 40
	repeated PNHBCBIDFBE JDGMEHCPGLL = 5; // offset: 24
	int32 MHAHLJPLCII = 12; // offset: 36
	uint32 KMFAPDJCKLF = 14; // offset: 32
	int32 ELPDAJBOFEE = 15; // offset: 44
}
message NCGPLAFMDCJ {
	repeated LIELJCGKNJN IKJDCGHHAEM = 4; // offset: 24
}
message KIAKKNFLEPN {
	int32 MDNGADJPMCH = 1; // offset: 32
	uint32 ALIKFDCKGJB = 4; // offset: 24
	uint32 MOFEHOKGEJE = 14; // offset: 28
}
message JBCHHGDHKIG {
	int32 z = 1; // offset: 24
	int32 x = 6; // offset: 32
	int32 y = 7; // offset: 28
}
message PJPAOLMBKEC {
	int32 unique_id = 1; // offset: 32
	KIAKKNFLEPN pos_index = 6; // offset: 16
	uint32 GDIGGOLJIBJ = 9; // offset: 36
}
message FCOENPKOEBP {
	uint32 item_id = 4; // offset: 32
	uint32 JEKLOEPPJBK = 5; // offset: 44
	uint32 BIACKLBMMAP = 6; // offset: 36
	uint32 GAHFPGCPAJA = 9; // offset: 40
	JBCHHGDHKIG OPMGDNNAEJF = 14; // offset: 24
	EILNMPEFGOM owner_type = 15; // offset: 48
}
message EJHIIFCIPMB {
	repeated PJPAOLMBKEC NLKHKHFIOHL = 14; // offset: 16
}
message NKGAIPKINJE {
	KIAKKNFLEPN ONHHLCKNHHH = 2; // offset: 24
	uint32 type = 4; // offset: 32
}
message HAJJKFAIJBD {
	bool BHPCOAPAGMA = 6; // offset: 44
	NKGAIPKINJE item = 12; // offset: 24
	oneof PIEPADODEDD {
		uint32 ELGOLPLGFKJ = 8; // offset: 16
		bool DAJHCEKHNBH = 15; // offset: 16
	}
}
message FBNEIIGLHDH {
	repeated HAJJKFAIJBD LNIGPEDGCFI = 15; // offset: 24
}
message PFMAAAJFLOA {
	uint32 LOGLBCPNAEL = 6; // offset: 40
	uint32 LHHJFMMCBAF = 10; // offset: 36
	oneof HGEOKHHJAIE {
		uint32 FJLCMPAPIGA = 2; // offset: 24
		NKGAIPKINJE EBEMKMGCCGJ = 1; // offset: 24
	}
}
message LLOLFGCKKJB {
	repeated PFMAAAJFLOA CNLNDHJCPAF = 6; // offset: 16
}
message DFEAHIKPKLO {
	repeated uint32 JKFAHHNMKGO = 4; // offset: 16
	uint32 LANGNEFHAGJ = 5; // offset: 32
}
message NECNANNNGBN {
	uint32 DOHLBHLLAFO = 2; // offset: 24
	uint32 DCDOELCPOHB = 7; // offset: 28
}
message BPDKJKJGECM {
	oneof PNBLCPHJNNO {
		NECNANNNGBN NJFNFNBKEMK = 10; // offset: 24
	}
}
message JGNCJOINEMP {
	LIKNJLCIAGI pos_index = 2; // offset: 16
	bool BHPCOAPAGMA = 5; // offset: 44
	BPDKJKJGECM shape = 7; // offset: 24
	uint32 show_type = 8; // offset: 48
	int32 unique_id = 11; // offset: 40
}
message FDLGMIIOACH {
	oneof NNIHPHPEGIJ {
		uint32 NNDNCAEGDFI = 14; // offset: 16
		uint32 extra_id = 11; // offset: 16
	}
}
message LEIJJPBKBKG {
	FDLGMIIOACH MPGPEOFGDCN = 8; // offset: 24
	uint32 DHJANOFGDNP = 9; // offset: 32
}
message HNOENBKDPFH {
	uint32 item_id = 1; // offset: 32
	repeated uint32 CPIKEIGHMGB = 4; // offset: 16
}
message HCFLAPPBPOP {
	uint64 time_stamp = 10; // offset: 32
	uint32 NMNKDOOKMPC = 14; // offset: 40
	oneof EBFMCHOOAOG {
		LDNBPINBPKB KNBGBCEBLDF = 220; // offset: 24
		MPKPFCNKECG MKPDGFEMJMA = 2019; // offset: 24
		NGJLHMAHIDD IGDLINLDKKK = 647; // offset: 24
		FGJAKGPJCKB HEPHJJOLHPI = 1959; // offset: 24
		NCGPLAFMDCJ DGCDFCMIAGB = 1065; // offset: 24
		FCOENPKOEBP KBLJAHKCNDN = 265; // offset: 24
		EJHIIFCIPMB FIMOBDMHLND = 159; // offset: 24
		FBNEIIGLHDH OPPGLIEPBPG = 1678; // offset: 24
		LLOLFGCKKJB OFLMAAOBIEB = 1315; // offset: 24
		DFEAHIKPKLO HNCBACAOFFJ = 443; // offset: 24
		JGNCJOINEMP JICJMDJFMNA = 1653; // offset: 24
		LEIJJPBKBKG MPGPEOFGDCN = 1172; // offset: 24
		ENFDMFGIJDC LGLFACNKKLD = 295; // offset: 24
		HNOENBKDPFH DDOPJJIIFIO = 672; // offset: 24
	}
}
message BHMPCNECEBG {
	repeated HCFLAPPBPOP COLLINOIEEE = 1; // offset: 24
}
message OMLGPGPJGJK {
	uint64 DNFCEEKGAKJ = 4; // offset: 48
	FGJAKGPJCKB HEPHJJOLHPI = 6; // offset: 40
	PCBNCBNOAAE KNBGBCEBLDF = 9; // offset: 24
	uint64 time_stamp = 10; // offset: 56
	GECHEPGEIKF APIDHHKLGEJ = 12; // offset: 16
}
message JLJOBFCIBBC {
	uint32 DPHAJPEADAF = 3; // offset: 24
	uint32 JLAHNBIMKPD = 14; // offset: 28
}
message DPCIMIHKCGG {
	uint32 JLAHNBIMKPD = 12; // offset: 28
	uint32 DPHAJPEADAF = 14; // offset: 24
}
message NONKABLNHEM {
	uint32 PGMABEHJJAB = 6; // offset: 24
}
message NNDMMMHDGIH {
	uint32 PGMABEHJJAB = 2; // offset: 24
}
message HCCJOJGJNGK {
}
message BHHEHPPHEKI {
}
message EMNNNCHNPKP {
	uint32 item_id = 1; // offset: 36
	JBCHHGDHKIG OPMGDNNAEJF = 8; // offset: 16
	uint32 BIACKLBMMAP = 14; // offset: 32
}
message ILEPJCLBBJD {
}
message PBIGEJHGLEH {
	FDLGMIIOACH MPGPEOFGDCN = 15; // offset: 16
}
message EEPHEHAEFOF {
}

// Obf: FKFINHPOMMA
enum CmdFightDiceCombatType {
	FKFINHPOMMA_NLCDGIPGFDJ = 0;
}

enum JOFKFNHDGIK {
	JOFKFNHDGIK_NLCDGIPGFDJ = 0;
	JOFKFNHDGIK_MLDHBKBFNEP = 1;
	JOFKFNHDGIK_PJDDKPFNMJP = 2;
}
message OPIHMOOHIPC {
	uint64 DHJANOFGDNP = 1; // offset: 24
	bool AINKFEINNAK = 2; // offset: 32
	DILHPBMCOFK IPDDIKPHGPE = 3; // offset: 40
	uint32 damage = 7; // offset: 36
	bool OLNMGFFJMOJ = 10; // offset: 33
}
message HLIDBLDLBBM {
	repeated EHMEPOMCGNG LMPLLJFMFEC = 1; // offset: 24
	uint32 EOILKCCLEIF = 5; // offset: 44
	bool OLNMGFFJMOJ = 7; // offset: 49
	uint32 AELAEGOOBMB = 8; // offset: 52
	repeated LPGJPLMHKFL JDGMEHCPGLL = 10; // offset: 32
	uint64 DHJANOFGDNP = 11; // offset: 56
	DILHPBMCOFK IPDDIKPHGPE = 12; // offset: 40
	uint32 KGHBJELHOBA = 13; // offset: 64
	uint32 FGBIJPLPOBI = 14; // offset: 68
	bool AINKFEINNAK = 15; // offset: 48
}

// Obf: FLLKHDMHGEJ
enum CmdFightFestType {
	FLLKHDMHGEJ_NLCDGIPGFDJ = 0;
	CmdGetFightFestDataScRsp = 7273;
	CmdFightFestUpdateCoinNotify = 7257;
	CmdFightFestUpdateChallengeRecordNotify = 7253;
	CmdStartFightFestScRsp = 7294;
	CmdFightFestScoreUpdateNotify = 7269;
	CmdStartFightFestCsReq = 7287;
	CmdFightFestUnlockSkillNotify = 7298;
	CmdGetFightFestDataCsReq = 7259;
}

enum BGLIMCBGLAJ {
	BGLIMCBGLAJ_PICLIGEAJFN = 0;
	BGLIMCBGLAJ_OGPNODHENKN = 1;
	BGLIMCBGLAJ_JPDBDLEEHGK = 2;
	BGLIMCBGLAJ_BMHMMIMOAIJ = 3;
	BGLIMCBGLAJ_DCGAPNGCCEH = 4;
}

// Obf: OGOJLBNJKCN
enum FightFestType {
	OGOJLBNJKCN_NLCDGIPGFDJ = 0;
	OGOJLBNJKCN_IBAADNINFCG = 1;
	OGOJLBNJKCN_score_id = 2;
	OGOJLBNJKCN_OCDLPDDMCLP = 3;
	OGOJLBNJKCN_HNGBFGALLBI = 4;
}
message LPJOINCGBBP {
	uint32 DJFGDMIDEHJ = 1; // offset: 28
	BGLIMCBGLAJ OINGNAJMFNL = 4; // offset: 24
	uint32 challenge_id = 5; // offset: 32
}

// Obf: CKPAPNKFBHD
// Type: Req
// CmdID: 7259
message GetFightFestDataCsReq {
}

// Obf: HNOJGAGPFBG
// Type: Rsp
// CmdID: 7273
message GetFightFestDataScRsp {
	repeated uint32 GILJLEOAOMA = 6; // offset: 24
	uint32 score_id = 7; // offset: 48
	uint32 retcode = 8; // offset: 40
	repeated LPJOINCGBBP challenge_list = 10; // offset: 32
	uint32 item_value = 15; // offset: 44
}
message EPCNGNEEMBI {
	AvatarType avatar_type = 4; // offset: 24
	uint32 id = 14; // offset: 28
}

// Obf: IKJDKNKJBGI
// Type: Req
// CmdID: 7287
message StartFightFestCsReq {
	repeated EPCNGNEEMBI avatar_list = 1; // offset: 24
	FightFestType type = 3; // offset: 48
	repeated uint32 GILJLEOAOMA = 4; // offset: 32
	uint32 id = 7; // offset: 44
	uint32 event_id = 15; // offset: 40
}

// Obf: LCGFKNIAMBE
// Type: Rsp
// CmdID: 7294
message StartFightFestScRsp {
	uint32 id = 2; // offset: 44
	FightFestType type = 4; // offset: 36
	uint32 retcode = 7; // offset: 32
	SceneBattleInfo battle_info = 9; // offset: 24
	uint32 event_id = 15; // offset: 40
}

// Obf: OPIKBFAICKP
// Type: Notify
// CmdID: 7269
message FightFestScoreUpdateNotify {
	uint32 JODNMFEFPFD = 7; // offset: 28
	uint32 score_id = 11; // offset: 24
}

// Obf: JJEHDBECIMM
// Type: Notify
// CmdID: 7298
message FightFestUnlockSkillNotify {
	uint32 AMAGKDCBFGL = 11; // offset: 24
}

// Obf: JEGBMCKBMOB
// Type: Notify
// CmdID: 7253
message FightFestUpdateChallengeRecordNotify {
	BGLIMCBGLAJ HMBBBNKAILD = 1; // offset: 40
	uint32 challenge_id = 4; // offset: 32
	BGLIMCBGLAJ rank = 10; // offset: 24
	uint32 DJFGDMIDEHJ = 13; // offset: 28
	uint32 turn_left = 15; // offset: 36
}

// Obf: ENBAEEHAEBD
// Type: Notify
// CmdID: 7257
message FightFestUpdateCoinNotify {
	uint32 item_value = 3; // offset: 24
}

// Obf: CMCLMBIODNG
enum CmdFightMarbleType {
	CMCLMBIODNG_NLCDGIPGFDJ = 0;
}

enum KLFJLAPLPBF {
	KLFJLAPLPBF_NLCDGIPGFDJ = 0;
	KLFJLAPLPBF_MLDHBKBFNEP = 1;
	KLFJLAPLPBF_HEPHJJOLHPI = 2;
}

enum EJLGEOKIJKH {
	EJLGEOKIJKH_FOFDFIOGIDL = 0;
	EJLGEOKIJKH_NNDOKEBIMLB = 1;
	EJLGEOKIJKH_HEGGGOBCLFC = 2;
}

enum HEJPHKGCNBA {
	HEJPHKGCNBA_MHFPHNMDBPD = 0;
	HEJPHKGCNBA_OBAPBCOBIBK = 1;
	HEJPHKGCNBA_GOJHJNMNKFG = 2;
}

enum CKHKFIEAAII {
	CKHKFIEAAII_FMIEDHLAEDM = 0;
	CKHKFIEAAII_HLBJLABHOLB = 1;
	CKHKFIEAAII_HBLHGLLHKHO = 2;
	CKHKFIEAAII_IOGOOKPKJDD = 3;
	CKHKFIEAAII_FOIMHFAEAGI = 4;
	CKHKFIEAAII_DHJDIDMPLPB = 6;
	CKHKFIEAAII_PPNPJLGIAGF = 7;
	CKHKFIEAAII_CDLMPBOAIKB = 8;
	CKHKFIEAAII_HCEBGAEDPJK = 9;
	CKHKFIEAAII_JMAEDENGFDG = 10;
}

enum CIHOEEPIBAI {
	CIHOEEPIBAI_DFPNLDKHGMM = 0;
	CIHOEEPIBAI_BJPOPNCPJKB = 1;
	CIHOEEPIBAI_PIEEKEENFAC = 2;
	CIHOEEPIBAI_CENCCGHMEBL = 3;
	CIHOEEPIBAI_FLGFIMKBIPB = 4;
	CIHOEEPIBAI_OAFKPNDMOMO = 5;
	CIHOEEPIBAI_LFCJCDEOACG = 6;
	CIHOEEPIBAI_MAMAEIMCAKK = 7;
	CIHOEEPIBAI_OONLIPMOIAD = 8;
	CIHOEEPIBAI_CCAPPCKPBCP = 9;
	CIHOEEPIBAI_FKCINENKMOO = 10;
	CIHOEEPIBAI_PALJMGOHOBN = 11;
	CIHOEEPIBAI_NBNKMEBBBFH = 12;
	CIHOEEPIBAI_PDAAINOOBEM = 13;
	CIHOEEPIBAI_ELACJCMMAIG = 14;
	CIHOEEPIBAI_DILHEJLBOBI = 15;
	CIHOEEPIBAI_FGGMMAHAFJD = 16;
	CIHOEEPIBAI_OKANCJMDEHG = 17;
	CIHOEEPIBAI_CIAKNIMKCBF = 18;
	CIHOEEPIBAI_FMHHMPOJNKF = 19;
	CIHOEEPIBAI_PIMBHPFLAKC = 20;
	CIHOEEPIBAI_HMKCHIHCPMN = 21;
	CIHOEEPIBAI_FHNEFOIONMB = 22;
	CIHOEEPIBAI_ALOHLIIBCID = 23;
	CIHOEEPIBAI_JKBIGFOFALO = 24;
	CIHOEEPIBAI_HHGCKKDLKCE = 25;
	CIHOEEPIBAI_GHEJGFJDFGE = 26;
}

enum GPEEFAOIBNB {
	GPEEFAOIBNB_GJGOFBPCEEH = 0;
	GPEEFAOIBNB_IJFLEOHOOAJ = 1;
	GPEEFAOIBNB_LOHCFNPCIFG = 2;
	GPEEFAOIBNB_PDIINEANOMF = 3;
	GPEEFAOIBNB_GMIGKCMGLAL = 4;
}

// Obf: LMGECGDAPEN
enum FightMarbleHpChangeType {
	LMGECGDAPEN_NLPOGHCIEGN = 0;
	LMGECGDAPEN_BNOHJNMEOBI = 1;
	LMGECGDAPEN_ALGLGIGKDOO = 2;
}

enum DNLHKFILMLB {
	DNLHKFILMLB_JHICPCLLELB = 0;
	DNLHKFILMLB_GOCKJAONOPC = 1;
	DNLHKFILMLB_POFPAAJAFPC = 2;
	DNLHKFILMLB_OENGNIFBPGE = 3;
	DNLHKFILMLB_IDGLNHCHPEB = 4;
	DNLHKFILMLB_CHKMMMFCOIH = 5;
	DNLHKFILMLB_CIFDIEDPBHB = 6;
	DNLHKFILMLB_IHCIIAECGPO = 7;
	DNLHKFILMLB_FDDCFIIALGG = 8;
	DNLHKFILMLB_KDLBGPKGMGJ = 9;
	DNLHKFILMLB_GFGCHCLAPOB = 10;
	DNLHKFILMLB_EMBPPEMIGAD = 11;
	DNLHKFILMLB_PPNLKFJAGNC = 12;
	DNLHKFILMLB_INCFIPCBFLH = 13;
	DNLHKFILMLB_HFEHCCHFODI = 14;
	DNLHKFILMLB_MHMIHLMAFJL = 15;
}
message GIJBCJPELBG {
	int32 ODDLBGLACKO = 3; // offset: 32
	DILHPBMCOFK IPDDIKPHGPE = 7; // offset: 36
	uint64 DHJANOFGDNP = 11; // offset: 24
}
message OPLFJCHFNCG {
	repeated GIJBCJPELBG CLGGKLNPLCK = 7; // offset: 24
}
message HDHPAHIFEPM {
	float x = 10; // offset: 24
	float y = 11; // offset: 28
}
message EBMCLNPBHJH {
	uint32 item_id = 7; // offset: 32
	HDHPAHIFEPM MHKLPAMDKBN = 13; // offset: 24
}
message CELLCCKJIGL {
	uint32 NMNKDOOKMPC = 2; // offset: 32
	oneof EBFMCHOOAOG {
		GFHCKBHCNDF DCCILJIBPNK = 1590; // offset: 24
		AMBAFEMGGLD FHEOAODACLK = 24; // offset: 24
		HIDPFIAALLB NLEOMLNOKCC = 826; // offset: 24
		MBDOBECHOJA KNBGBCEBLDF = 233; // offset: 24
		PLAGFACLPDL NDJKPABPJHO = 1897; // offset: 24
	}
}
message EACCOJLOPJL {
	repeated CELLCCKJIGL CDAMKBGLNKO = 15; // offset: 24
}
message GFHCKBHCNDF {
	bool FDBNNLFJGPD = 1; // offset: 57
	uint32 IHPLBMKACIP = 2; // offset: 64
	bool AIJJAKIFABF = 3; // offset: 56
	uint32 CJJMDMOCPDJ = 4; // offset: 68
	uint32 GNAMNBDIEKG = 5; // offset: 80
	EJLGEOKIJKH DOJGFCKAGKB = 6; // offset: 84
	uint32 DDPBFAENJJN = 7; // offset: 92
	uint32 FHDBCDEPBAK = 8; // offset: 60
	repeated uint32 team_a = 9; // offset: 24
	uint32 OIBCHBJCHJE = 10; // offset: 88
	repeated uint32 NFPLNBKIFCF = 11; // offset: 32
	uint32 FKDFHHLLDEB = 12; // offset: 52
	uint32 DNOLEOMJHLH = 13; // offset: 76
	EJLGEOKIJKH MBNNIKFMLDG = 14; // offset: 48
	uint32 level_id = 15; // offset: 72
	repeated LMLNNHKJEIP DFLEOIGPLNM = 514; // offset: 16
}
message LNDNIBFBGAC {
	uint32 MDKFLGDEJCN = 2; // offset: 36
	int32 KDMPKIPAIDJ = 3; // offset: 40
	uint32 item_id = 4; // offset: 24
	int32 PDEMOPHANLA = 10; // offset: 28
	int32 total_damage = 14; // offset: 32
}
message HIDPFIAALLB {
	bool is_win = 1; // offset: 45
	bool is_friend = 2; // offset: 44
	HEJPHKGCNBA LHNIIOHNIFL = 8; // offset: 40
	int32 add_score = 9; // offset: 36
	uint32 BIEPFFBBJHG = 12; // offset: 48
	repeated LNDNIBFBGAC ODCOPMFBHNK = 14; // offset: 16
	uint32 FDKPCNBCGEG = 15; // offset: 32
}
message PBOFFJNBFMI {
	int32 hp = 1; // offset: 148
	int32 max_hp = 2; // offset: 84
	uint32 skill_id = 3; // offset: 88
	CIHOEEPIBAI FOAGGPDEELF = 4; // offset: 152
	float time = 5; // offset: 76
	GPEEFAOIBNB GHCHJAODJMF = 6; // offset: 140
	HDHPAHIFEPM velocity = 7; // offset: 56
	int32 attack = 8; // offset: 64
	HDHPAHIFEPM position = 9; // offset: 32
	HDHPAHIFEPM forward = 10; // offset: 48
	uint32 LDPMAMJNOGJ = 11; // offset: 92
	uint32 BGJCOCDAHLC = 12; // offset: 128
	uint32 id = 13; // offset: 80
	HDHPAHIFEPM ACGINICEHML = 14; // offset: 16
	HDHPAHIFEPM PIMFIPHJJLI = 15; // offset: 40
	bool PLCKAKEDCAM = 25; // offset: 101
	bool on_field = 175; // offset: 100
	float radius = 291; // offset: 120
	uint32 FLIEDGKFNOL = 372; // offset: 156
	uint32 DDPBFAENJJN = 769; // offset: 136
	uint32 level = 890; // offset: 104
	uint32 IHLFJOHEIME = 919; // offset: 116
	uint32 tech_id = 944; // offset: 96
	FightMarbleHpChangeType HDLKKFCMCPJ = 1100; // offset: 132
	uint32 FHDBCDEPBAK = 1196; // offset: 72
	bool has_shield = 1600; // offset: 102
	float AMPCKJNGIOO = 1617; // offset: 124
	uint32 buff_id = 1619; // offset: 108
	int32 GIFJODBPLPJ = 1944; // offset: 68
	uint32 IPJLOMPBPFI = 1973; // offset: 144
	uint32 text_id = 1988; // offset: 112
}
message AMBAFEMGGLD {
	uint32 queue_position = 1; // offset: 112
	uint32 DBJLGHGDKEB = 2; // offset: 64
	bool MKAKPEAHBDH = 3; // offset: 102
	float total_time = 4; // offset: 84
	repeated uint32 FKGAIGOEHNH = 5; // offset: 16
	repeated PBOFFJNBFMI CDDDBPDOOFH = 6; // offset: 40
	uint32 ACFINMJEPEJ = 7; // offset: 104
	CKHKFIEAAII MOAJKMOEKGP = 8; // offset: 92
	bool round_team_a = 9; // offset: 101
	uint32 HHNFKNPHHOI = 10; // offset: 68
	uint32 emoji_id = 11; // offset: 80
	repeated uint32 HNDCKMNDOCD = 12; // offset: 48
	uint32 round = 13; // offset: 88
	repeated uint32 KGHFCILHGJL = 14; // offset: 56
	uint32 tech_id = 15; // offset: 96
	bool round_first_team_a = 181; // offset: 100
	repeated PBOFFJNBFMI ELLMNBJOLDL = 263; // offset: 24
	uint32 POPMBKKMAJE = 347; // offset: 72
	uint32 EINHGIPFNBG = 1478; // offset: 76
	uint32 ANLOFALJCPO = 1795; // offset: 108
}
message MBDOBECHOJA {
	uint32 round = 1; // offset: 80
	GHJBBHOOOBC CJJMDMOCPDJ = 2; // offset: 24
	float LMODIDJMJIH = 3; // offset: 84
	bool round_first_team_a = 4; // offset: 88
	uint32 win_score = 5; // offset: 76
	uint32 FDKPCNBCGEG = 7; // offset: 92
	GFHCKBHCNDF DCCILJIBPNK = 8; // offset: 64
	repeated LIJFHHMGBFE OCMEMBAKLMM = 9; // offset: 48
	GHJBBHOOOBC OIBCHBJCHJE = 12; // offset: 40
	DNLHKFILMLB phase = 13; // offset: 72
	repeated LIJFHHMGBFE NAJEIPKGACO = 14; // offset: 16
	repeated uint32 KGHFCILHGJL = 15; // offset: 56
}
message PLAGFACLPDL {
	uint32 item_id = 3; // offset: 32
	HDHPAHIFEPM MHKLPAMDKBN = 8; // offset: 24
	uint32 FDKPCNBCGEG = 10; // offset: 36
}
message GHJBBHOOOBC {
	repeated uint32 KPLJDHJNCDI = 1; // offset: 16
	uint32 JAICOMFNBEM = 4; // offset: 52
	uint32 EPDMKLFCJFA = 7; // offset: 48
	repeated NPGCEFKJOIN PPMHKAHHDKG = 8; // offset: 24
	bool hide_line = 10; // offset: 56
	repeated LIJFHHMGBFE team = 14; // offset: 40
	bool PLCKAKEDCAM = 15; // offset: 57
}
message LIJFHHMGBFE {
	float radius = 1; // offset: 40
	uint32 level = 2; // offset: 44
	uint32 IHLFJOHEIME = 3; // offset: 64
	int32 attack = 4; // offset: 48
	bool is_dead = 5; // offset: 58
	bool has_shield = 6; // offset: 56
	uint32 buff_id = 7; // offset: 52
	int32 max_hp = 8; // offset: 60
	bool MKAKPEAHBDH = 9; // offset: 59
	uint32 id = 10; // offset: 68
	HDHPAHIFEPM position = 11; // offset: 24
	bool on_field = 12; // offset: 57
	int32 hp = 13; // offset: 72
	HDHPAHIFEPM forward = 14; // offset: 16
}
message NPGCEFKJOIN {
	uint32 tech_id = 5; // offset: 28
	bool active = 9; // offset: 24
}

// Obf: OAJIKEKPHOD
enum CmdFightMatch3Type {
	OAJIKEKPHOD_NHGDFLDLJLJ = 0;
	CmdIEOGEDFAELP = 30158;
	OAJIKEKPHOD_AEMOIILIOIF = 30133;
	OAJIKEKPHOD_CFIDMGINPBI = 30181;
	CmdMHLMFDBFCEC = 30113;
	CmdEAGCPEPIOIO = 30140;
	CmdLGEOFJJKFNF = 30148;
	OAJIKEKPHOD_LAEHKICDGPJ = 30165;
	CmdOJLHCIDDFDF = 30145;
	OAJIKEKPHOD_HBHIODOPENH = 30125;
	CmdGBMPOBJDAFF = 30180;
	OAJIKEKPHOD_JAMEPLPKJBB = 30139;
	OAJIKEKPHOD_EDHOJDAAGJL = 30126;
	CmdOPAOIBLFJOM = 30169;
	CmdGBFDMFJKOOP = 30147;
	CmdAJOHOIGMCNN = 30138;
	CmdBMBCNFKFABK = 30178;
	CmdPKBJOGHCFOA = 30172;
	CmdKINFINGMICK = 30171;
	CmdLLFIKHHPJEB = 30104;
	CmdLNGLLJKNKHG = 30186;
	OAJIKEKPHOD_MOHONNNIKGF = 30142;
	CmdGODEELLFLEN = 30188;
	CmdDPDDOADGCMG = 30184;
	OAJIKEKPHOD_GBPLKHLHFDB = 30111;
	CmdCBDJAJAKCFF = 30130;
	CmdBCMGFCDNAIE = 30136;
	CmdNMOMCMJOFGG = 30193;
}

enum PFPHJFEGDAA {
	PFPHJFEGDAA_HGFFCFFBGDB = 0;
	PFPHJFEGDAA_FOFLFMBMOMA = 1;
	PFPHJFEGDAA_DHHGMKAOALN = 2;
	PFPHJFEGDAA_CGKCEONNAGM = 3;
	PFPHJFEGDAA_MJLCFPEKNPA = 4;
	PFPHJFEGDAA_NAIHAJOLEID = 5;
}

enum NHHJAONHDDG {
	NHHJAONHDDG_LCNJHOKLMPN = 0;
	NHHJAONHDDG_OFGBFHHIFAM = 1;
	NHHJAONHDDG_JJBEPKLOLCP = 2;
	NHHJAONHDDG_OPCKNBHNBOA = 3;
}

enum ABLCCPHIOMI {
	ABLCCPHIOMI_KFIKMPOPBFD = 0;
	ABLCCPHIOMI_MCOJHEKMHIL = 1;
	ABLCCPHIOMI_GJGNJHPOFOL = 2;
	ABLCCPHIOMI_JONELAAFDEA = 3;
	ABLCCPHIOMI_DMBKGPBNBPO = 4;
	ABLCCPHIOMI_NGBOPLGBCNK = 5;
}

enum AMDMKHKOHNF {
	AMDMKHKOHNF_CCLMEHJMPGC = 0;
	AMDMKHKOHNF_FDEAJLPGEOJ = 1;
	AMDMKHKOHNF_KNHNJMABEBB = 2;
	AMDMKHKOHNF_EGLAFFEKPHG = 3;
	AMDMKHKOHNF_LMBDFFBHDOK = 4;
	AMDMKHKOHNF_DPFACDOOILN = 5;
}

enum FNCFIHAFGGN {
	FNCFIHAFGGN_NLCDGIPGFDJ = 0;
	FNCFIHAFGGN_HBHCKEGINEN = 1;
	FNCFIHAFGGN_DDJCFCLNCIM = 2;
}

enum FDICBBEGKEO {
	FDICBBEGKEO_NLCDGIPGFDJ = 0;
	FDICBBEGKEO_EHNBEPDHBKC = 1;
	FDICBBEGKEO_CBLMHGEJLMP = 2;
	FDICBBEGKEO_NHEMIPGKGCJ = 3;
}

enum CKGOFMFNIPP {
	CKGOFMFNIPP_HGBBGFBCCJJ = 0;
	CKGOFMFNIPP_MLJFKFACNND = 1;
	CKGOFMFNIPP_NNAMMGLFFCG = 2;
	CKGOFMFNIPP_OBLIOOOLFEE = 3;
	CKGOFMFNIPP_FAIALBOJMFN = 4;
	CKGOFMFNIPP_BMJKLMCDPLG = 5;
}

enum IFFKDFPJECM {
	IFFKDFPJECM_KFDDOBPEJMF = 0;
	IFFKDFPJECM_DOJNFGNKFGP = 1;
	IFFKDFPJECM_BBCFLEDLBBB = 2;
	IFFKDFPJECM_GOIMMOHGCIH = 3;
	IFFKDFPJECM_ADJOCBGIJHP = 4;
}

enum DIKCFAICOHB {
	DIKCFAICOHB_EJDLGGAGBEA = 0;
	DIKCFAICOHB_PINPGFJKDPH = 1;
	DIKCFAICOHB_EMPKDJGKDBI = 2;
	DIKCFAICOHB_AOIOAKGHGHG = 3;
	DIKCFAICOHB_ECEHHJJGFED = 4;
	DIKCFAICOHB_GHBHAPNLJEJ = 5;
}
message JBILGCPCJOD {
	uint32 OPHFDHGBLPJ = 1; // offset: 48
	bool BKFONKNLCHP = 3; // offset: 52
	NHHJAONHDDG state = 4; // offset: 36
	repeated DLBGONGJBNC item_list = 6; // offset: 24
	uint32 score_id = 8; // offset: 40
	uint32 IFOCJCOCDBH = 9; // offset: 60
	uint32 DHJANOFGDNP = 10; // offset: 56
	uint32 rank = 14; // offset: 32
	uint32 hp = 15; // offset: 44
}
message JECNOELJLKO {
	repeated uint32 LPOPKEGOLHB = 1; // offset: 16
	uint32 BPBMJBIDIIC = 3; // offset: 64
	int32 HIJJDGBOMDL = 5; // offset: 48
	uint64 FIKHCEBOPMI = 7; // offset: 56
	repeated JBILGCPCJOD BFCGOELLNIP = 8; // offset: 40
	PFPHJFEGDAA cur_state = 11; // offset: 52
	IPGIJFNAFLC KNBGBCEBLDF = 14; // offset: 32
}
message DFLIHGGNBDB {
	uint32 EDIGEANPBNL = 4; // offset: 28
	uint32 row = 15; // offset: 24
}
message IPGIJFNAFLC {
	repeated MNOOMFIAFPF op_list = 1; // offset: 24
	uint32 LIKMIMCFPKC = 2; // offset: 88
	uint32 FHEFKOGAMHK = 3; // offset: 92
	uint32 DJJODJAAIGA = 4; // offset: 80
	uint32 IGDOFKLAILH = 5; // offset: 72
	uint32 score_id = 6; // offset: 68
	repeated uint32 MNCPGDNOIAM = 7; // offset: 56
	uint32 cur_hp = 8; // offset: 96
	LAJGLHCCNED JDFPKAMFHAP = 9; // offset: 32
	repeated DLBGONGJBNC item_list = 10; // offset: 48
	NHHJAONHDDG LHNIIOHNIFL = 11; // offset: 84
	uint32 JJJBLAJDEDC = 13; // offset: 64
	uint32 energy_info = 14; // offset: 76
	repeated GMGABLBKJMC buff_list = 15; // offset: 16
}
message JFJDMGOMJOF {
	ABLCCPHIOMI JNIEIKOKBGK = 1; // offset: 32
	IPGIJFNAFLC KGOCFEINBIN = 12; // offset: 24
}
message PLHPJCKDEDI {
}

// Type: Rsp
// CmdID: 30178
message BMBCNFKFABK {
	JECNOELJLKO data = 6; // offset: 24
	repeated LMLNNHKJEIP DFLEOIGPLNM = 9; // offset: 16
	uint32 retcode = 12; // offset: 40
}

// Type: Notify
// CmdID: 30193
message NMOMCMJOFGG {
	JECNOELJLKO data = 3; // offset: 16
}

// Type: Notify
// CmdID: 30158
message IEOGEDFAELP {
	JECNOELJLKO EHIELLKLPCK = 3; // offset: 24
}

// Type: Notify
// CmdID: 30188
message GODEELLFLEN {
	JECNOELJLKO JMIOMLJDCNN = 3; // offset: 32
	JECNOELJLKO ENJMGOJPNOE = 12; // offset: 24
}
message OKIPFIENKIF {
	DFLIHGGNBDB GGCMCDDGEIB = 2; // offset: 24
	repeated JFJDMGOMJOF DGKLOCJHKNH = 13; // offset: 32
	DFLIHGGNBDB OPMGDNNAEJF = 14; // offset: 40
	uint32 EAFFACCBAAA = 15; // offset: 48
}

// Type: Rsp
// CmdID: 30186
message LNGLLJKNKHG {
	uint32 EAFFACCBAAA = 1; // offset: 32
	uint32 retcode = 8; // offset: 36
	IPGIJFNAFLC IHBOHKKCGCP = 11; // offset: 24
	bool BDCNNNNLLHJ = 14; // offset: 40
}

// Type: Notify
// CmdID: 30147
message GBFDMFJKOOP {
	NHHJAONHDDG state = 3; // offset: 36
	uint32 hp = 5; // offset: 32
	uint32 IFOCJCOCDBH = 11; // offset: 44
	uint32 score_id = 12; // offset: 48
	uint32 BPBMJBIDIIC = 13; // offset: 40
	repeated DLBGONGJBNC item_list = 15; // offset: 24
}
message BEOGFNDKCIL {
	uint32 PIFNIJHPLJC = 9; // offset: 24
}

// Type: Rsp
// CmdID: 30113
message MHLMFDBFCEC {
	uint32 PIFNIJHPLJC = 11; // offset: 28
	uint32 retcode = 15; // offset: 24
}

// Type: Notify
// CmdID: 30171
message KINFINGMICK {
	uint32 PIFNIJHPLJC = 4; // offset: 28
	uint32 OBJCJGPIHAD = 8; // offset: 24
}

// Type: Notify
// CmdID: 30140
message EAGCPEPIOIO {
	JECNOELJLKO data = 9; // offset: 24
}
message DLBGONGJBNC {
	uint32 FMEHKPKHGJA = 6; // offset: 32
	uint32 DGGCFDKJDPO = 9; // offset: 28
	uint32 ODFEDCPLNEM = 10; // offset: 24
	uint32 PNGHFKLCNBE = 12; // offset: 36
}
message MNOOMFIAFPF {
	FNCFIHAFGGN op_type = 2; // offset: 24
	uint32 MPKCANFHCHG = 8; // offset: 28
}
message GMGABLBKJMC {
	uint32 param = 13; // offset: 24
	FDICBBEGKEO buff_type = 14; // offset: 28
}
message KLGJDILNNDH {
	NHHJAONHDDG LHNIIOHNIFL = 1; // offset: 56
	uint32 score_id = 2; // offset: 60
	bool OCLBMMNNMFC = 3; // offset: 48
	repeated DLBGONGJBNC item_list = 4; // offset: 32
	uint32 OPHFDHGBLPJ = 5; // offset: 44
	LAJGLHCCNED JDFPKAMFHAP = 6; // offset: 16
	uint32 FHEFKOGAMHK = 7; // offset: 52
	uint32 energy_info = 9; // offset: 64
	uint32 DHJANOFGDNP = 12; // offset: 68
	bool ANMLAPADELO = 13; // offset: 49
	uint32 IGDOFKLAILH = 15; // offset: 40
}
message BHMEPBAGOFF {
	uint64 FIKHCEBOPMI = 1; // offset: 56
	int32 HIJJDGBOMDL = 3; // offset: 40
	repeated KLGJDILNNDH BFCGOELLNIP = 4; // offset: 24
	uint32 PBEPLKMNAKF = 5; // offset: 52
	uint32 NAOKGNGBHAO = 6; // offset: 44
	AMDMKHKOHNF cur_state = 10; // offset: 48
	IPGIJFNAFLC KNBGBCEBLDF = 12; // offset: 16
}
message PKBDAKMLDMC {
	repeated DFLIHGGNBDB GNABNEDKPHH = 2; // offset: 16
	uint32 MMLNAMPFAKA = 5; // offset: 40
	uint32 use_item_id = 11; // offset: 44
	repeated JFJDMGOMJOF DGKLOCJHKNH = 13; // offset: 24
}

// Type: Rsp
// CmdID: 30138
message AJOHOIGMCNN {
	IPGIJFNAFLC LLCPOHADBKB = 2; // offset: 24
	uint32 use_item_id = 7; // offset: 32
	uint32 retcode = 12; // offset: 36
}
message FHAPLEMDKGN {
}

// Type: Rsp
// CmdID: 30104
message LLFIKHHPJEB {
	repeated LMLNNHKJEIP DFLEOIGPLNM = 4; // offset: 16
	BHMEPBAGOFF data = 7; // offset: 24
	uint32 retcode = 13; // offset: 40
}
message EEFDJLPDCFO {
	uint32 DPJLMFBADMM = 6; // offset: 28
	uint32 EMLBKOKEAOH = 12; // offset: 32
	uint32 PBEPLKMNAKF = 14; // offset: 24
}

// Type: Rsp
// CmdID: 30136
message BCMGFCDNAIE {
	uint32 retcode = 3; // offset: 24
}

// Type: Notify
// CmdID: 30148
message LGEOFJJKFNF {
	CKGOFMFNIPP reason = 2; // offset: 32
	BHMEPBAGOFF data = 13; // offset: 16
}

// Type: Notify
// CmdID: 30145
message OJLHCIDDFDF {
	IPGIJFNAFLC LLCPOHADBKB = 5; // offset: 32
	OKIPFIENKIF PBAPICNDIDN = 15; // offset: 24
}

// Type: Notify
// CmdID: 30169
message OPAOIBLFJOM {
	IPGIJFNAFLC LLCPOHADBKB = 1; // offset: 16
	PKBDAKMLDMC PBAPICNDIDN = 2; // offset: 32
}
message CDPEFGCIGFB {
}

// Type: Rsp
// CmdID: 30130
message CBDJAJAKCFF {
	uint32 retcode = 4; // offset: 24
}
message LPHCHEJEMPD {
	NHHJAONHDDG state = 1; // offset: 24
	uint32 rank = 2; // offset: 32
	uint32 DHJANOFGDNP = 4; // offset: 36
	uint32 score_id = 7; // offset: 28
}
message FOJDKLCHCKG {
	int32 HIJJDGBOMDL = 1; // offset: 60
	IFFKDFPJECM cur_state = 4; // offset: 40
	repeated LPHCHEJEMPD BFCGOELLNIP = 8; // offset: 24
	IPGIJFNAFLC KNBGBCEBLDF = 10; // offset: 16
	uint32 NAOKGNGBHAO = 12; // offset: 56
	uint64 FIKHCEBOPMI = 14; // offset: 48
}
message BGEJHKFILME {
}

// Type: Rsp
// CmdID: 30172
message PKBJOGHCFOA {
	FOJDKLCHCKG KHEFAHCPHBL = 5; // offset: 32
	repeated LMLNNHKJEIP DFLEOIGPLNM = 14; // offset: 24
	uint32 retcode = 15; // offset: 40
}

// Type: Notify
// CmdID: 30180
message GBMPOBJDAFF {
	FOJDKLCHCKG KHEFAHCPHBL = 4; // offset: 16
	DIKCFAICOHB reason = 14; // offset: 32
}

// Type: Notify
// CmdID: 30184
message DPDDOADGCMG {
	uint32 NAOKGNGBHAO = 2; // offset: 32
	repeated LPHCHEJEMPD BFCGOELLNIP = 3; // offset: 24
}

// Obf: BOJPMACOMHG
enum CmdFightTeamTowersType {
	BOJPMACOMHG_NLCDGIPGFDJ = 0;
}

enum KBBCJKNCOAC {
	KBBCJKNCOAC_NLCDGIPGFDJ = 0;
	KBBCJKNCOAC_MLDHBKBFNEP = 1;
}
message BOINNCFONAE {
	uint32 CJPDGBPLFIG = 2; // offset: 32
	DILHPBMCOFK IPDDIKPHGPE = 3; // offset: 36
	uint64 DHJANOFGDNP = 8; // offset: 48
	repeated HDLCAPDIKJI cast_skill_info_list = 10; // offset: 16
	uint32 MNHPDBEDJLB = 15; // offset: 40
}

// Obf: EIBEMMGHLPK
enum CmdFiveDimType {
	EIBEMMGHLPK_NLCDGIPGFDJ = 0;
	CmdUpdateFiveDimGameDataCsReq = 2269;
	CmdEnterFiveDimGameScRsp = 2257;
	CmdGetFiveDimGameDataScRsp = 2271;
	CmdGetFiveDimMoneyScRsp = 2254;
	CmdFiveDimGameDataUpdateScNotify = 2253;
	CmdFiveDimGameTransferScRsp = 2272;
	CmdGetFiveDimGameDataCsReq = 2258;
	CmdGetFiveDimMoneyDataScRsp = 2252;
	CmdLeaveFiveDimGameCsReq = 2255;
	CmdFiveDimMoneyChangeScNotify = 2251;
	CmdFiveDimJumpEnergyChangeScNotify = 2261;
	EIBEMMGHLPK_AHPMEDBLABF = 2260;
	CmdUpdateFiveDimGameDataScRsp = 2268;
	CmdFiveDimGameTransferCsReq = 2265;
	CmdLeaveFiveDimGameScRsp = 2259;
	CmdEnterFiveDimGameCsReq = 2262;
	EIBEMMGHLPK_GKNCIGPOBGA = 2275;
}

enum KFDEPBCLENF {
	KFDEPBCLENF_NLCDGIPGFDJ = 0;
	KFDEPBCLENF_KALJCABDJLC = 1;
	KFDEPBCLENF_HJJDLPHHFPA = 2;
}

// Obf: DFKEBOHGDKF
// Type: Req
// CmdID: 2258
message GetFiveDimGameDataCsReq {
}

// Obf: BNFGMKBICKJ
// Type: Rsp
// CmdID: 2271
message GetFiveDimGameDataScRsp {
	uint32 retcode = 2; // offset: 40
	repeated uint32 KEGAOHGOALD = 3; // offset: 16
	uint32 CPFCMKLCMFG = 9; // offset: 44
	DGHPIDMDOJM CFDIKLBINHK = 11; // offset: 32
}

// Obf: AGDNLAAKGDD
// Type: Req
// CmdID: 2262
message EnterFiveDimGameCsReq {
	BLPHONLBNBO OEIBHLMDJKA = 1; // offset: 16
	AHCLMAGAHPN PPJFMBIGIGB = 4; // offset: 24
	MotionInfo HKGDHOPGCKF = 14; // offset: 40
}

// Obf: IBAAHKDOHDB
// Type: Rsp
// CmdID: 2257
message EnterFiveDimGameScRsp {
	uint32 retcode = 10; // offset: 24
}

// Obf: BGBIBDECAFH
// Type: Req
// CmdID: 2255
message LeaveFiveDimGameCsReq {
	uint32 PJLKEHONHED = 3; // offset: 40
	MotionInfo HKGDHOPGCKF = 5; // offset: 24
	KFDEPBCLENF KEHGFMAMEPD = 8; // offset: 32
	uint32 COGDLBMPPNM = 12; // offset: 36
}

// Obf: OMFLOBEGHNM
// Type: Rsp
// CmdID: 2259
message LeaveFiveDimGameScRsp {
	uint32 retcode = 5; // offset: 24
	uint32 client_pos_version = 11; // offset: 28
}

// Obf: FPAKIHDJMIK
// Type: Req
// CmdID: 2269
message UpdateFiveDimGameDataCsReq {
	uint32 GABODFDMPMM = 1; // offset: 32
	AHCLMAGAHPN PPJFMBIGIGB = 7; // offset: 16
}

// Obf: PKFCCICBLGL
// Type: Rsp
// CmdID: 2268
message UpdateFiveDimGameDataScRsp {
	uint32 retcode = 15; // offset: 24
}

// Obf: BOFJIOEKDFK
// Type: Req
// CmdID: 2265
message FiveDimGameTransferCsReq {
	KFDEPBCLENF KEHGFMAMEPD = 1; // offset: 44
	AHCLMAGAHPN PPJFMBIGIGB = 2; // offset: 16
	BLPHONLBNBO OEIBHLMDJKA = 3; // offset: 32
	uint32 COGDLBMPPNM = 14; // offset: 40
}

// Obf: AGBDHJMJFHD
// Type: Rsp
// CmdID: 2272
message FiveDimGameTransferScRsp {
	uint32 retcode = 7; // offset: 24
}

// Obf: DCJGNLLAHEM
// Type: Notify
// CmdID: 2253
message FiveDimGameDataUpdateScNotify {
	bool HBJLJJAJHOI = 1; // offset: 36
	DGHPIDMDOJM CFDIKLBINHK = 3; // offset: 16
	uint32 client_pos_version = 15; // offset: 32
}

// Obf: IBCFCAOKMOP
// Type: Notify
// CmdID: 2261
message FiveDimJumpEnergyChangeScNotify {
	uint32 CPFCMKLCMFG = 14; // offset: 24
}
message DDHKGAKNOEK {
	uint32 JIDCDLCBKHG = 12; // offset: 24
}

// Obf: NPPLIGADGDF
// Type: Rsp
// CmdID: 2254
message GetFiveDimMoneyScRsp {
	uint32 JIDCDLCBKHG = 7; // offset: 28
	uint32 retcode = 8; // offset: 24
	uint32 GJHKPIGEIIO = 14; // offset: 32
}

// Obf: CMJAOMBHJNL
// Type: Notify
// CmdID: 2251
message FiveDimMoneyChangeScNotify {
	uint32 OEPCCMAPFFH = 9; // offset: 28
	uint32 KFBJGFJHGEK = 15; // offset: 24
}
message IKFDIJLEOJA {
}

// Obf: NFEJKBHMEOL
// Type: Rsp
// CmdID: 2252
message GetFiveDimMoneyDataScRsp {
	uint32 KFBJGFJHGEK = 9; // offset: 24
	uint32 OEPCCMAPFFH = 10; // offset: 28
	uint32 retcode = 15; // offset: 32
}

// Obf: MGDHKHBKDDG
enum CmdFriendType {
	MGDHKHBKDDG_NLCDGIPGFDJ = 0;
	CmdGetFriendRecommendLineupCsReq = 2966;
	CmdGetAssistListCsReq = 2905;
	CmdNewAssistHistoryNotify = 2973;
	CmdDeleteBlacklistCsReq = 2972;
	CmdGetFriendApplyListInfoScRsp = 2981;
	CmdApplyFriendScRsp = 2947;
	CmdSetFriendRemarkNameCsReq = 2969;
	CmdSetFriendMarkScRsp = 2914;
	CmdGetFriendListInfoCsReq = 2925;
	CmdGetFriendRecommendListInfoCsReq = 2948;
	CmdReportPlayerCsReq = 2930;
	CmdGetFriendBattleRecordDetailScRsp = 2928;
	CmdHandleFriendCsReq = 2913;
	CmdSetFriendMarkCsReq = 2920;
	CmdGetAssistHistoryCsReq = 2934;
	CmdCurAssistChangedNotify = 2975;
	CmdGetCurAssistCsReq = 2929;
	CmdDeleteFriendCsReq = 2933;
	CmdAddBlacklistCsReq = 2904;
	CmdSyncDeleteFriendScNotify = 2939;
	CmdSyncApplyFriendScNotify = 2926;
	CmdSetForbidOtherApplyFriendCsReq = 2953;
	CmdGetFriendBattleRecordDetailCsReq = 2919;
	CmdDeleteFriendScRsp = 2938;
	CmdGetFriendRecommendLineupDetailScRsp = 2906;
	CmdGetFriendDevelopmentInfoCsReq = 2998;
	CmdGetCurAssistScRsp = 2963;
	CmdSearchPlayerCsReq = 2984;
	CmdSyncHandleFriendScNotify = 2940;
	CmdSetAssistScRsp = 2943;
	CmdSetFriendRemarkNameScRsp = 2965;
	CmdReportPlayerScRsp = 2942;
	CmdAddBlacklistScRsp = 2911;
	CmdGetFriendRecommendListInfoScRsp = 2945;
	CmdSyncAddBlacklistScNotify = 2936;
	CmdSetForbidOtherApplyFriendScRsp = 2952;
	CmdGetAssistListScRsp = 2941;
	CmdTakeAssistRewardScRsp = 2935;
	CmdApplyFriendCsReq = 2986;
	CmdTakeAssistRewardCsReq = 2912;
	CmdGetAssistHistoryScRsp = 2996;
	CmdSetAssistCsReq = 2910;
	CmdGetPlatformPlayerInfoCsReq = 2944;
	CmdGetPlayerDetailInfoCsReq = 2993;
	CmdGetPlayerDetailInfoScRsp = 2958;
	CmdGetFriendLoginInfoCsReq = 2915;
	CmdGetFriendListInfoScRsp = 2978;
	CmdGetFriendAssistListScRsp = 2982;
	CmdGetFriendRecommendLineupDetailCsReq = 2916;
	CmdGetFriendAssistListCsReq = 2989;
	CmdGetFriendLoginInfoScRsp = 2918;
	CmdDeleteBlacklistScRsp = 2980;
	CmdGetFriendApplyListInfoCsReq = 2988;
	CmdGetPlatformPlayerInfoScRsp = 2949;
	CmdHandleFriendScRsp = 2971;
	CmdGetFriendDevelopmentInfoScRsp = 2962;
	CmdSearchPlayerScRsp = 2921;
	CmdGetFriendRecommendLineupScRsp = 2955;
}

enum FriendOnlineStatus {
	FRIEND_ONLINE_STATUS_OFFLINE = 0;
	FRIEND_ONLINE_STATUS_ONLINE = 1;
}

// Obf: HPEKGMDHFLO
enum FriendApplySource {
	HPEKGMDHFLO_NLCDGIPGFDJ = 0;
	HPEKGMDHFLO_GODCHGIMIAJ = 1;
	HPEKGMDHFLO_BLNBLLNHICH = 2;
	HPEKGMDHFLO_ODHMGPNECFO = 3;
	HPEKGMDHFLO_OBPHECNLKAP = 4;
	HPEKGMDHFLO_OKJJPJKLIOG = 5;
	HPEKGMDHFLO_OGCABAGJIIK = 6;
	HPEKGMDHFLO_CGMPJEGGEED = 7;
	HPEKGMDHFLO_JGFGNCLKIBO = 8;
	HPEKGMDHFLO_MKHLALNLOLA = 9;
	HPEKGMDHFLO_CILGIDDHODG = 10;
}
message AssistSimpleInfo {
	uint32 pos = 1; // offset: 24
	uint32 dressed_skin_id = 5; // offset: 32
	uint32 level = 6; // offset: 28
	uint32 avatar_id = 15; // offset: 36
}
message HHJANNIGCKM {
	bool EGLLMGLLHDL = 5; // offset: 32
	repeated uint32 finished_target_list = 12; // offset: 16
}
message ICMGDJBDFEA {
	uint32 LMPPDGOFOMF = 5; // offset: 44
	HHJANNIGCKM NCKJLAEJNDP = 6; // offset: 24
	uint32 group_id = 9; // offset: 36
	uint32 max_level = 11; // offset: 32
	uint32 FBOGDAHNDKA = 14; // offset: 40
}
message PIBFIDOEPAP {
	uint32 GNIFODGCPAA = 9; // offset: 24
	uint32 FFFNGBKHOEA = 14; // offset: 28
}
message JMOCDMHFEJG {
	PIBFIDOEPAP KGBHIKKLJMK = 10; // offset: 24
}
message EJAKBKOEEPC {
	JMOCDMHFEJG BHDKLAJPMBJ = 14; // offset: 16
}

// Obf: FriendGridFightRecord
message FriendGridFightRecord {
	uint32 division_id = 14; // offset: 24
}
message PAEFDELFKJK {
	BattleRecordType display_type = 3; // offset: 48
	FriendGridFightRecord BAMDEHAICDA = 7; // offset: 24
	EJAKBKOEEPC KBLKLGDCOMF = 8; // offset: 32
	ICMGDJBDFEA AMLDHBMIGEN = 11; // offset: 40
}
message PlayerSimpleInfo {
	bool is_banned = 1; // offset: 84
	uint32 chat_bubble_id = 2; // offset: 80
	string signature = 3; // offset: 40
	string nickname = 4; // offset: 24
	uint32 head_icon = 5; // offset: 88
	uint32 personal_card = 6; // offset: 116
	CJLCPMDGIBO player_outfit_data = 7; // offset: 16
	uint32 level = 8; // offset: 132
	string platform_nick = 9; // offset: 72
	FriendOnlineStatus online_status = 10; // offset: 104
	repeated AssistSimpleInfo assist_simple_info_list = 11; // offset: 32
	uint32 uid = 12; // offset: 108
	string platform_uuid = 13; // offset: 48
	int64 last_active_time = 14; // offset: 120
	PlatformType platform = 15; // offset: 128
	uint32 gender = 48; // offset: 112
	HeadFrameInfo head_frame_info = 837; // offset: 64
	int64 update_time = 1034; // offset: 96
}

// Obf: DisplayEquipmentInfo
message DisplayEquipmentInfo {
	uint32 exp = 5; // offset: 40
	uint32 promotion = 9; // offset: 28
	uint32 level = 11; // offset: 24
	uint32 tid = 12; // offset: 32
	uint32 rank = 15; // offset: 36
}
message DisplayRelicInfo {
	uint32 exp = 3; // offset: 44
	repeated RelicAffix sub_affix_list = 4; // offset: 24
	uint32 level = 8; // offset: 48
	uint32 tid = 9; // offset: 36
	uint32 main_affix_id = 13; // offset: 40
	uint32 type = 14; // offset: 32
}
message DisplayAvatarDetailInfo {
	uint32 enhanced_id = 1; // offset: 64
	uint32 rank = 2; // offset: 60
	uint32 pos = 3; // offset: 48
	uint32 dressed_skin_id = 5; // offset: 68
	repeated AvatarSkillTree skilltree_list = 6; // offset: 32
	uint32 exp = 7; // offset: 80
	DisplayEquipmentInfo equipment = 8; // offset: 16
	repeated DisplayRelicInfo relic_list = 9; // offset: 24
	uint32 avatar_type = 11; // offset: 56
	uint32 promotion = 12; // offset: 52
	uint32 avatar_id = 13; // offset: 72
	uint32 level = 14; // offset: 76
}
message EDEGAHHANMF {
	uint32 MBHJNPEILCL = 1; // offset: 32
	uint32 PLKAGMLBCDG = 2; // offset: 36
	uint32 OPENPJJLADD = 7; // offset: 24
	uint32 IGENPDKHDMC = 12; // offset: 40
	uint32 LCDDMLIMAGA = 15; // offset: 28
}

// Obf: PlayerRecordInfo
message PlayerRecordInfo {
	EDEGAHHANMF EOGGPDHKKBJ = 4; // offset: 16
	uint32 JJKIKOBAJLF = 5; // offset: 52
	uint32 MIMECEAFDNK = 7; // offset: 40
	uint32 PPFDDFAHLED = 8; // offset: 36
	uint32 DIOIIFAHAKK = 9; // offset: 32
	uint32 NECKJBHEKHE = 10; // offset: 44
	uint32 MHOIJFEBAPA = 11; // offset: 60
	uint32 KCBINJNIBNO = 14; // offset: 56
	uint32 ALGEOLGNFBL = 15; // offset: 48
}
message OHKDPNBGPOA {
	bool MAKOLELFLFH = 2; // offset: 25
	bool DCJECFMMIBC = 3; // offset: 27
	bool GNFDDPEMMFN = 5; // offset: 26
	bool PFBHGAHAFMD = 8; // offset: 24
	bool IOJEAOCOBBF = 11; // offset: 28
}

// Obf: PlayerDetailInfo
message PlayerDetailInfo {
	bool is_banned = 1; // offset: 136
	string DJONELMIFEE = 2; // offset: 64
	uint32 head_icon = 3; // offset: 124
	string signature = 4; // offset: 56
	uint32 HCGMAGDFAAO = 5; // offset: 128
	string IJKOMIKFKEK = 6; // offset: 24
	uint32 uid = 7; // offset: 148
	bool HIEAPDNNNEI = 8; // offset: 137
	repeated DisplayAvatarDetailInfo display_avatar_list = 9; // offset: 32
	PlayerRecordInfo record_info = 10; // offset: 16
	uint32 world_level = 11; // offset: 132
	uint32 GEJFMBBHNLN = 12; // offset: 112
	PlatformType platform = 13; // offset: 116
	string nickname = 14; // offset: 72
	uint32 level = 15; // offset: 144
	uint32 gender = 230; // offset: 120
	uint32 KINOEHKMFML = 649; // offset: 140
	repeated DisplayAvatarDetailInfo assist_avatar_list = 880; // offset: 40
	CJLCPMDGIBO DHKFCDAGHDM = 1096; // offset: 88
	OIIPJFDNPAH AIHNDIAFGPM = 1159; // offset: 48
	OHKDPNBGPOA BOKLABGLEFL = 1414; // offset: 104
	HeadFrameInfo head_frame_info = 1703; // offset: 96
}

// Obf: FriendSimpleInfo
message FriendSimpleInfo {
	PlayingState playing_state = 1; // offset: 48
	string remark_name = 2; // offset: 16
	int64 create_time = 3; // offset: 56
	bool is_marked = 9; // offset: 52
	PAEFDELFKJK MBOIHJLIJDG = 10; // offset: 32
	PlayerSimpleInfo player_info = 14; // offset: 24
}

// Obf: FriendApplyInfo
message FriendApplyInfo {
	int64 apply_time = 5; // offset: 32
	PlayerSimpleInfo player_info = 10; // offset: 24
}

// Obf: FriendRecommendInfo
message FriendRecommendInfo {
	bool JINLAHLMDLN = 1; // offset: 32
	PlayerSimpleInfo player_info = 10; // offset: 16
}
message PlayerAssistInfo {
	PlayerSimpleInfo player_info = 10; // offset: 24
	DisplayAvatarDetailInfo assist_avatar = 12; // offset: 16
}

// Obf: FriendChallengeLineup
message FriendChallengeLineup {
	PlayerSimpleInfo player_info = 2; // offset: 24
	repeated ChallengeLineupList lineup_list = 3; // offset: 40
	uint32 score_id = 6; // offset: 48
	uint32 buff_two = 9; // offset: 60
	string remark_name = 10; // offset: 32
	uint32 buff_one = 12; // offset: 52
	uint32 EEJCPNAEKLJ = 14; // offset: 56
}

// Obf: FriendChallengeClearanceInfo
message FriendChallengeClearanceInfo {
	uint32 LMPPDGOFOMF = 4; // offset: 48
	PlayerChallengeTierceRecord MEGBIPBAFBP = 11; // offset: 32
	uint32 group_id = 14; // offset: 44
	oneof EDKOHAAMONH {
		ChallengeStatistics challenge_default = 1338; // offset: 24
		ChallengeStoryStatistics challenge_story = 651; // offset: 24
		ChallengeBossStatistics challenge_boss = 1920; // offset: 24
	}
}
message GLILLENEIJK {
	uint32 GNIFODGCPAA = 8; // offset: 24
	uint32 FFFNGBKHOEA = 14; // offset: 28
}
message NMFEHEHPGAB {
	uint32 MGCACGFLKEK = 3; // offset: 32
	uint32 area_id = 6; // offset: 24
	uint32 MBDKAJBEPPF = 10; // offset: 28
}
message FKCNEPIJJAO {
	uint32 area_id = 3; // offset: 28
	uint32 FEFLAJIODHB = 9; // offset: 32
	uint32 DCOKLHPBAJO = 10; // offset: 24
	uint32 JNCCOGCHNMB = 11; // offset: 36
}
message OIMLMDHOHAP {
	uint32 IELFOBFPDPA = 2; // offset: 36
	uint32 APANPLBMONN = 5; // offset: 28
	uint32 area_id = 9; // offset: 32
	uint32 KPHJDOPBMEN = 10; // offset: 24
}
message BGPIHMLLNGM {
	NMFEHEHPGAB HJFHOEAAGGC = 1; // offset: 16
	OIMLMDHOHAP MHAIBAMJGIM = 9; // offset: 32
	FKCNEPIJJAO BFGELCKJJPN = 11; // offset: 24
	GLILLENEIJK ENDLJENKBMF = 12; // offset: 48
}

// Obf: PlayerChallengePeakRecordMobData
message PlayerChallengePeakRecordMobData {
	uint32 cycles_used = 5; // offset: 44
	ChallengeLineupList lineup = 11; // offset: 16
	repeated uint32 MCJNLLBBDHN = 12; // offset: 32
	uint32 peak_id = 14; // offset: 40
}

// Obf: PlayerChallengePeakRecordBossData
message PlayerChallengePeakRecordBossData {
	uint32 DJFGDMIDEHJ = 2; // offset: 56
	bool HAMDKIHGKGO = 5; // offset: 40
	repeated uint32 MCJNLLBBDHN = 7; // offset: 24
	uint32 peak_id = 9; // offset: 52
	uint32 buff_id = 10; // offset: 48
	uint32 best_cycle_count = 13; // offset: 44
	bool CFLDOMPACKI = 14; // offset: 41
	ChallengeLineupList lineup = 15; // offset: 16
}
message DBFHOCOBPMK {
	repeated PlayerChallengePeakRecordMobData HDCHFBKDCEB = 8; // offset: 32
	PlayerChallengePeakRecordBossData CDFFIGJLGMM = 14; // offset: 24
	uint32 group_id = 15; // offset: 40
}
message HBJDMDKKMFI {
	uint32 division_id = 10; // offset: 24
}
message KHFEGOFPHHC {
	uint32 area_id = 14; // offset: 24
}
message CFNEMEIDMID {
	uint32 area_id = 2; // offset: 24
	uint32 HOLPMKOHACH = 9; // offset: 28
}
message MOOGABJBJAG {
	uint32 challenge_id = 7; // offset: 24
}
message JBKJGBMMKFI {
	uint32 peak_id = 2; // offset: 24
}
message IENCCMEAIAJ {
	uint32 GNIFODGCPAA = 11; // offset: 24
}
message LJJIEAPLOOI {
	uint32 division_id = 4; // offset: 24
}
message KGBAFBEMICB {
	uint32 AACGBEBGDPE = 3; // offset: 28
	bool MNDCIBFEJOP = 5; // offset: 24
}
message NJMOBNILIHI {
	DevelopmentType NELHEHHFCCM = 3; // offset: 32
	int64 time = 10; // offset: 40
	oneof NNMAOMHPNBK {
		KHFEGOFPHHC DCODKLADIJM = 668; // offset: 24
		MOOGABJBJAG ELJOEBBHDPB = 1259; // offset: 24
		uint32 avatar_id = 712; // offset: 24
		uint32 KAJCFPKEGBP = 1411; // offset: 24
		CFNEMEIDMID IIBJEGJMOKJ = 1610; // offset: 24
		uint32 panel_id = 1857; // offset: 24
		JBKJGBMMKFI AGKKAFEFGOB = 1662; // offset: 24
		IENCCMEAIAJ IMILIFMDLBI = 1446; // offset: 24
		LJJIEAPLOOI BNNDODHIKCE = 1595; // offset: 24
		KGBAFBEMICB DHKCMBFCALH = 244; // offset: 24
	}
}

// Obf: ADKDAKFNFMH
// Type: Req
// CmdID: 2925
message GetFriendListInfoCsReq {
}

// Obf: JLHNEDPPFOO
// Type: Rsp
// CmdID: 2978
message GetFriendListInfoScRsp {
	repeated PlayerSimpleInfo black_list = 2; // offset: 32
	uint32 retcode = 11; // offset: 40
	repeated FriendSimpleInfo friend_list = 15; // offset: 24
}

// Obf: NHAAPILNALO
// Type: Req
// CmdID: 2993
message GetPlayerDetailInfoCsReq {
	uint32 uid = 8; // offset: 24
}

// Obf: KFLGFDDDOPJ
// Type: Rsp
// CmdID: 2958
message GetPlayerDetailInfoScRsp {
	PlayerDetailInfo detail_info = 1; // offset: 24
	uint32 retcode = 7; // offset: 32
}

// Obf: GFCNKHPBPOC
// Type: Req
// CmdID: 2988
message GetFriendApplyListInfoCsReq {
}

// Obf: FBFKDPMGFNL
// Type: Rsp
// CmdID: 2981
message GetFriendApplyListInfoScRsp {
	repeated uint32 send_apply_list = 2; // offset: 24
	uint32 retcode = 6; // offset: 40
	repeated FriendApplyInfo receive_apply_list = 9; // offset: 16
}

// Obf: CHBNOHMCMGC
// Type: Req
// CmdID: 2986
message ApplyFriendCsReq {
	FriendApplySource source = 13; // offset: 28
	uint32 uid = 15; // offset: 24
}

// Obf: GIMLCCAKGDG
// Type: Rsp
// CmdID: 2947
message ApplyFriendScRsp {
	uint32 uid = 10; // offset: 28
	uint32 retcode = 14; // offset: 24
}

// Obf: MGENDBNGEEE
// Type: Notify
// CmdID: 2926
message SyncApplyFriendScNotify {
	FriendApplyInfo friend_apply_info = 3; // offset: 24
}

// Obf: BLEJGGNFNEO
// Type: Req
// CmdID: 2913
message HandleFriendCsReq {
	bool is_accept = 4; // offset: 24
	uint32 uid = 6; // offset: 28
}

// Obf: DOELBKLNLIM
// Type: Rsp
// CmdID: 2971
message HandleFriendScRsp {
	uint32 retcode = 2; // offset: 32
	bool is_accept = 3; // offset: 36
	uint32 uid = 8; // offset: 40
	FriendSimpleInfo friend_info = 12; // offset: 16
}

// Obf: OMGAOCOIILH
// Type: Notify
// CmdID: 2940
message SyncHandleFriendScNotify {
	bool is_accept = 2; // offset: 36
	FriendSimpleInfo friend_info = 6; // offset: 16
	uint32 uid = 13; // offset: 32
}

// Obf: KIKEJIAMKPH
// Type: Req
// CmdID: 2933
message DeleteFriendCsReq {
	uint32 uid = 6; // offset: 28
	uint32 LMHDOMCMGNL = 9; // offset: 24
}

// Obf: LBBIGDCILDJ
// Type: Rsp
// CmdID: 2938
message DeleteFriendScRsp {
	uint32 uid = 2; // offset: 28
	uint32 retcode = 14; // offset: 24
}

// Obf: DMPDJIEMJJD
// Type: Notify
// CmdID: 2939
message SyncDeleteFriendScNotify {
	uint32 uid = 15; // offset: 24
}

// Obf: ALJJJEFJLKA
// Type: Req
// CmdID: 2904
message AddBlacklistCsReq {
	uint32 uid = 3; // offset: 24
}

// Obf: JMABIKHOJOI
// Type: Rsp
// CmdID: 2911
message AddBlacklistScRsp {
	PlayerSimpleInfo black_info = 3; // offset: 16
	uint32 retcode = 13; // offset: 32
}

// Obf: DKKELLBOGIO
// Type: Notify
// CmdID: 2936
message SyncAddBlacklistScNotify {
	uint32 uid = 4; // offset: 24
}

// Obf: FGNGBABEENA
// Type: Req
// CmdID: 2948
message GetFriendRecommendListInfoCsReq {
	bool DDNKHDIKAEL = 4; // offset: 24
}

// Obf: AMCGEGIPAKJ
// Type: Rsp
// CmdID: 2945
message GetFriendRecommendListInfoScRsp {
	repeated FriendRecommendInfo friend_recommend_list = 4; // offset: 24
	uint32 retcode = 9; // offset: 32
}

// Obf: HMOGLECADPG
// Type: Req
// CmdID: 2969
message SetFriendRemarkNameCsReq {
	string remark_name = 5; // offset: 16
	uint32 uid = 11; // offset: 36
	uint32 reason = 14; // offset: 32
}

// Obf: CDLCLGLKBLO
// Type: Rsp
// CmdID: 2965
message SetFriendRemarkNameScRsp {
	uint32 retcode = 4; // offset: 32
	string remark_name = 8; // offset: 16
	uint32 uid = 12; // offset: 36
}

// Type: Req
// CmdID: 2930
message ReportPlayerCsReq {
	uint32 uid = 4; // offset: 36
	uint32 OLLBLNAGMPC = 9; // offset: 32
	string IMNOJNCGGNI = 10; // offset: 24
}

// Type: Rsp
// CmdID: 2942
message ReportPlayerScRsp {
	uint32 retcode = 15; // offset: 24
}

// Obf: ACHFMFGCOJF
// Type: Req
// CmdID: 2972
message DeleteBlacklistCsReq {
	uint32 uid = 14; // offset: 24
}

// Obf: DAMBPIKLCBL
// Type: Rsp
// CmdID: 2980
message DeleteBlacklistScRsp {
	uint32 retcode = 1; // offset: 28
	uint32 uid = 5; // offset: 24
}

// Obf: IJBGABAFCEE
// Type: Req
// CmdID: 2984
message SearchPlayerCsReq {
	bool DDNKHDIKAEL = 3; // offset: 32
	repeated uint32 uid_list = 8; // offset: 16
}

// Obf: MLBAKKMGDLG
// Type: Rsp
// CmdID: 2921
message SearchPlayerScRsp {
	repeated PlayerSimpleInfo simple_info_list = 2; // offset: 24
	repeated uint32 result_uid_list = 13; // offset: 16
	uint32 retcode = 14; // offset: 40
}

// Obf: IEIMIFAEADO
// Type: Req
// CmdID: 2905
message GetAssistListCsReq {
	bool LKBAENBKJCE = 2; // offset: 25
	bool DDNKHDIKAEL = 12; // offset: 24
}

// Obf: KCKOECDINAF
// Type: Rsp
// CmdID: 2941
message GetAssistListScRsp {
	uint32 retcode = 3; // offset: 32
	repeated PlayerAssistInfo assist_list = 12; // offset: 16
}

// Obf: KIKIGDGMPEN
// Type: Req
// CmdID: 2910
message SetAssistCsReq {
	uint32 uid = 8; // offset: 24
	uint32 avatar_id = 10; // offset: 28
}

// Obf: EFFMBFDAJDA
// Type: Rsp
// CmdID: 2943
message SetAssistScRsp {
	uint32 retcode = 9; // offset: 28
	uint32 avatar_id = 11; // offset: 24
	uint32 uid = 15; // offset: 32
}

// Obf: HMMPDJAOMKJ
// Type: Req
// CmdID: 2929
message GetCurAssistCsReq {
}

// Obf: FBCPGPMNECG
// Type: Rsp
// CmdID: 2963
message GetCurAssistScRsp {
	PlayerAssistInfo ODHMGPNECFO = 2; // offset: 24
	uint32 retcode = 8; // offset: 32
}

// Obf: CJMNHDLJKLE
// Type: Req
// CmdID: 2934
message GetAssistHistoryCsReq {
}

// Obf: BHCMCLJHEGJ
// Type: Rsp
// CmdID: 2996
message GetAssistHistoryScRsp {
	uint32 LLIPLPNDIMC = 3; // offset: 32
	uint32 OFEKHCHHOFD = 4; // offset: 28
	uint32 retcode = 12; // offset: 36
	uint32 EFONJLMDFIH = 15; // offset: 24
}

// Obf: OKHINFPCHAN
// Type: Notify
// CmdID: 2973
message NewAssistHistoryNotify {
	uint32 OFEKHCHHOFD = 9; // offset: 24
}

// Obf: OPDCHJINMMK
// Type: Req
// CmdID: 2912
message TakeAssistRewardCsReq {
}

// Obf: ENEHBCOCEGB
// Type: Rsp
// CmdID: 2935
message TakeAssistRewardScRsp {
	repeated KAODLPJMEFE OILHLECGBCH = 2; // offset: 32
	uint32 retcode = 4; // offset: 40
	ItemList reward = 13; // offset: 16
}

// Obf: KDHABGDIAPJ
// Type: Notify
// CmdID: 2975
message CurAssistChangedNotify {
	PlayerAssistInfo ODHMGPNECFO = 4; // offset: 24
}

// Obf: IFPAENCHHHE
// Type: Req
// CmdID: 2944
message GetPlatformPlayerInfoCsReq {
	repeated string EPIBJAMIJFI = 10; // offset: 16
	PlatformType platform = 11; // offset: 32
}

// Obf: NOAGHDALEJE
// Type: Rsp
// CmdID: 2949
message GetPlatformPlayerInfoScRsp {
	repeated PlayerSimpleInfo friend_recommend_list = 7; // offset: 16
	uint32 retcode = 9; // offset: 32
}

// Obf: CNDFNIHMPKC
// Type: Req
// CmdID: 2915
message GetFriendLoginInfoCsReq {
}

// Obf: NMAOECIJEBA
// Type: Rsp
// CmdID: 2918
message GetFriendLoginInfoScRsp {
	repeated uint32 _black_uid_list = 2; // offset: 24
	bool show_red_dot_flag = 6; // offset: 44
	bool is_allow_other_apply = 8; // offset: 45
	repeated uint32 _friend_uid_list = 11; // offset: 32
	uint32 retcode = 13; // offset: 40
}

// Obf: DGEEIJCMHHO
// Type: Req
// CmdID: 2953
message SetForbidOtherApplyFriendCsReq {
	bool PBNJDHFCHHC = 12; // offset: 24
}

// Obf: JJJJPBCNDCC
// Type: Rsp
// CmdID: 2952
message SetForbidOtherApplyFriendScRsp {
	bool PBNJDHFCHHC = 4; // offset: 24
	uint32 retcode = 10; // offset: 28
}

// Obf: IONJONGACJL
// Type: Req
// CmdID: 2920
message SetFriendMarkCsReq {
	uint32 uid = 1; // offset: 24
	bool BIJJOJNJHDO = 2; // offset: 32
	uint32 reason = 15; // offset: 28
}

// Obf: MHBMDBMICFA
// Type: Rsp
// CmdID: 2914
message SetFriendMarkScRsp {
	bool BIJJOJNJHDO = 4; // offset: 24
	uint32 retcode = 6; // offset: 32
	uint32 uid = 15; // offset: 28
}

// Obf: IILCDMAHMDN
// Type: Req
// CmdID: 2989
message GetFriendAssistListCsReq {
	bool DDNKHDIKAEL = 1; // offset: 40
	repeated uint32 EEJGCFBJKAK = 5; // offset: 16
	repeated uint32 HHFPJHMEIJK = 6; // offset: 32
	PIDAHABFLBL HFOLAOIKOLB = 9; // offset: 44
	uint32 target_side = 10; // offset: 48
}

// Obf: MEDJBBOGLNM
// Type: Rsp
// CmdID: 2982
message GetFriendAssistListScRsp {
	uint32 target_side = 1; // offset: 36
	uint32 retcode = 2; // offset: 32
	repeated PlayerAssistInfo assist_list = 4; // offset: 16
}
message CJNDCNIJBEI {
	repeated uint32 finished_target_list = 9; // offset: 32
	repeated ONKDAPOKGAC avatar_list = 15; // offset: 24
}
message OKFKPPNGCOD {
	uint32 peak_id = 8; // offset: 40
	repeated ONKDAPOKGAC avatar_list = 9; // offset: 16
	repeated uint32 finished_target_list = 15; // offset: 32
}
message MJMGDLJAJCM {
	repeated OKFKPPNGCOD DNIGKDKIPPJ = 7; // offset: 16
}

// Obf: ChallengePeakBossFriendLineupRecommendation
message ChallengePeakBossFriendLineupRecommendation {
	uint32 buff_id = 3; // offset: 44
	bool hard_mode_has_passed = 7; // offset: 41
	repeated ONKDAPOKGAC avatar_list = 9; // offset: 24
	bool is_hard_mode = 12; // offset: 40
	repeated uint32 finished_target_list = 15; // offset: 16
}
message OJJJDPNOKHG {
	repeated uint32 finished_target_list = 4; // offset: 40
	repeated ChallengeLineupList lineup_list = 7; // offset: 16
	repeated uint32 AOLIEDBCNBN = 8; // offset: 32
}
message BMKNANGPDGH {
	uint32 passed_level = 10; // offset: 32
	uint32 EMOHLJHPOPC = 12; // offset: 36
	repeated ONKDAPOKGAC avatar_list = 15; // offset: 16
}
message OFFMDBMMNFM {
	repeated BMKNANGPDGH lineup_list = 9; // offset: 24
}
message FPDCINMDJCE {
	PlayerSimpleInfo player_info = 6; // offset: 24
	string remark_name = 7; // offset: 16
	oneof KJFEKHDEBIK {
		FriendChallengeLineup NHMOPCHJEHN = 11; // offset: 40
		CJNDCNIJBEI BNAFKMMLGFE = 12; // offset: 40
		MJMGDLJAJCM LMHIOKFMDNE = 2; // offset: 40
		ChallengePeakBossFriendLineupRecommendation KCNAHJCMNJI = 5; // offset: 40
		OJJJDPNOKHG NHKCFOALAPD = 15; // offset: 40
		OFFMDBMMNFM KPPDEMBPEDO = 1403; // offset: 40
	}
}

// Obf: NKOBPKLEDFP
// Type: Req
// CmdID: 2966
message GetFriendRecommendLineupCsReq {
	JFNJKAPPNOF type = 4; // offset: 28
	uint32 key = 7; // offset: 24
}

// Obf: BKALMLMEEPL
// Type: Rsp
// CmdID: 2955
message GetFriendRecommendLineupScRsp {
	uint32 key = 1; // offset: 40
	uint32 retcode = 6; // offset: 32
	repeated FPDCINMDJCE MGKCKHIIICL = 11; // offset: 24
	bool ALDBIIIGLOM = 14; // offset: 44
	JFNJKAPPNOF type = 15; // offset: 36
}

// Obf: HONDEKOHJHP
// Type: Req
// CmdID: 2916
message GetFriendRecommendLineupDetailCsReq {
	JFNJKAPPNOF type = 2; // offset: 32
	uint32 key = 4; // offset: 24
	uint32 uid = 7; // offset: 28
}

// Obf: OLLGFBLPHOH
// Type: Rsp
// CmdID: 2906
message GetFriendRecommendLineupDetailScRsp {
	uint32 key = 2; // offset: 36
	uint32 retcode = 3; // offset: 32
	repeated DisplayAvatarDetailInfo KNHHAJDNGJG = 4; // offset: 24
	JFNJKAPPNOF type = 7; // offset: 40
	uint32 uid = 14; // offset: 44
}

// Obf: HPPJFBCNNPG
// Type: Req
// CmdID: 2919
message GetFriendBattleRecordDetailCsReq {
	uint32 uid = 8; // offset: 24
}

// Obf: DJIFIBOJKFP
// Type: Rsp
// CmdID: 2928
message GetFriendBattleRecordDetailScRsp {
	repeated FriendChallengeClearanceInfo EPNLMHPCDKL = 5; // offset: 16
	uint32 retcode = 9; // offset: 56
	BGPIHMLLNGM HCIEFEHCENO = 10; // offset: 48
	repeated DBFHOCOBPMK LGIBJLFBFCG = 11; // offset: 24
	uint32 uid = 12; // offset: 60
	HBJDMDKKMFI BAMDEHAICDA = 14; // offset: 32
}

// Obf: PJJAIIONOPE
// Type: Req
// CmdID: 2998
message GetFriendDevelopmentInfoCsReq {
	uint32 uid = 2; // offset: 24
}

// Obf: JJFIJODMGGB
// Type: Rsp
// CmdID: 2962
message GetFriendDevelopmentInfoScRsp {
	repeated NJMOBNILIHI EMBPENNEIJH = 2; // offset: 24
	uint32 uid = 7; // offset: 32
	uint32 retcode = 10; // offset: 36
}

// Obf: LDADFJEOFGL
enum CmdGachaType {
	LDADFJEOFGL_NLCDGIPGFDJ = 0;
	CmdDoGachaScRsp = 1958;
	CmdGetGachaCeilingCsReq = 1988;
	CmdExchangeGachaCeilingScRsp = 1947;
	CmdSetGachaDecideItemScRsp = 1913;
	CmdGetGachaCeilingScRsp = 1981;
	CmdGetGachaInfoCsReq = 1925;
	CmdGetGachaInfoScRsp = 1978;
	CmdSetGachaDecideItemCsReq = 1926;
	CmdExchangeGachaCeilingCsReq = 1986;
	CmdDoGachaCsReq = 1993;
	LDADFJEOFGL_PDCIIFCCBEH = 1971;
}

// Obf: JDKEAPHHLBM
// Type: Req
// CmdID: 1925
message GetGachaInfoCsReq {
}
message GachaCeilingAvatar {
	uint32 repeated_cnt = 2; // offset: 24
	uint32 avatar_id = 12; // offset: 28
}
message GachaCeiling {
	repeated GachaCeilingAvatar avatar_list = 3; // offset: 16
	uint32 ceiling_num = 7; // offset: 36
	bool is_claimed = 11; // offset: 32
}
message NEIMLKNMDBM {
	uint32 GFANBHAEKOK = 10; // offset: 44
	repeated uint32 OJNEFBJHCCK = 12; // offset: 16
	uint32 MMELNCHIDNC = 13; // offset: 40
	repeated uint32 EJGNMCAMELA = 14; // offset: 32
}

// Obf: GachaInfo
message GachaInfo {
	int64 begin_time = 1; // offset: 72
	uint32 MMELNCHIDNC = 2; // offset: 100
	repeated uint32 item_detail_list = 3; // offset: 16
	GachaCeiling gacha_ceiling = 4; // offset: 56
	string history_url = 5; // offset: 24
	uint32 NHBBHEMPJJM = 6; // offset: 80
	int64 end_time = 7; // offset: 88
	repeated uint32 ONIHOMCELJK = 9; // offset: 48
	uint32 GLLJFPENLHD = 12; // offset: 96
	uint32 gacha_id = 13; // offset: 84
	repeated uint32 prize_item_list = 14; // offset: 32
	string detail_url = 15; // offset: 40
}

// Obf: LDPGAPPKBBB
// Type: Rsp
// CmdID: 1978
message GetGachaInfoScRsp {
	uint32 GPNLDDLBOLM = 1; // offset: 44
	uint32 OGMPKDHKPAJ = 3; // offset: 56
	uint32 retcode = 5; // offset: 48
	uint32 KKKNJDBNJPM = 9; // offset: 40
	repeated NEIMLKNMDBM AKMDBPNEHDE = 13; // offset: 24
	repeated GachaInfo gacha_info_list = 14; // offset: 16
	uint32 gacha_random = 15; // offset: 52
}

// Obf: JEADDEILJLE
// Type: Req
// CmdID: 1993
message DoGachaCsReq {
	uint32 gacha_id = 4; // offset: 24
	uint32 simulate_magic = 5; // offset: 32
	uint32 gacha_random = 14; // offset: 28
	uint32 gacha_num = 15; // offset: 36
}
message GachaItem {
	ItemList transfer_item_list = 1; // offset: 16
	ItemList token_item = 2; // offset: 32
	Item gacha_item = 3; // offset: 40
	bool is_new = 6; // offset: 48
}

// Obf: IAOPGJEOHOM
// Type: Rsp
// CmdID: 1958
message DoGachaScRsp {
	repeated GachaItem gacha_item_list = 1; // offset: 16
	uint32 gacha_id = 2; // offset: 52
	uint32 NHBBHEMPJJM = 4; // offset: 40
	uint32 retcode = 5; // offset: 44
	uint32 LDBCKJIPDHF = 6; // offset: 60
	uint32 gacha_num = 10; // offset: 32
	uint32 ceiling_num = 13; // offset: 36
	uint32 GPNLDDLBOLM = 14; // offset: 56
	uint32 GLLJFPENLHD = 15; // offset: 48
}

// Obf: GHJGEGJAODM
// Type: Req
// CmdID: 1988
message GetGachaCeilingCsReq {
	uint32 gacha_type = 7; // offset: 24
}

// Obf: DFNMFPBNPDM
// Type: Rsp
// CmdID: 1981
message GetGachaCeilingScRsp {
	uint32 retcode = 2; // offset: 36
	GachaCeiling gacha_ceiling = 5; // offset: 24
	uint32 gacha_type = 13; // offset: 32
}

// Obf: AMIHACOLKBO
// Type: Req
// CmdID: 1986
message ExchangeGachaCeilingCsReq {
	uint32 avatar_id = 2; // offset: 24
	uint32 gacha_type = 8; // offset: 28
}

// Obf: PJBNPPDIDDC
// Type: Rsp
// CmdID: 1947
message ExchangeGachaCeilingScRsp {
	uint32 gacha_type = 1; // offset: 40
	GachaCeiling gacha_ceiling = 3; // offset: 24
	ItemList transfer_item_list = 5; // offset: 16
	uint32 avatar_id = 6; // offset: 48
	uint32 retcode = 9; // offset: 44
}

// Obf: GIMKMEOLAAO
// Type: Req
// CmdID: 1926
message SetGachaDecideItemCsReq {
	repeated uint32 OJNEFBJHCCK = 1; // offset: 16
	uint32 gacha_id = 6; // offset: 32
	uint32 GFANBHAEKOK = 9; // offset: 36
}

// Obf: EAAECDKBAFC
// Type: Rsp
// CmdID: 1913
message SetGachaDecideItemScRsp {
	NEIMLKNMDBM NBLOJLDLBEB = 4; // offset: 16
	uint32 retcode = 12; // offset: 32
}

// Obf: IGDBCJJBMPD
enum CmdGridFightType {
	IGDBCJJBMPD_NLCDGIPGFDJ = 0;
	IGDBCJJBMPD_ILONCLKIMJM = 8742;
	CmdGridFightHandlePendingActionCsReq = 8445;
	CmdGAEKHIDCFHF = 8577;
	CmdJIOMOCFOMOA = 8740;
	CmdOENNAOAFAMA = 8465;
	CmdIKMOCJBMGOJ = 8718;
	CmdPHGFFOEJEBM = 8750;
	CmdUpdateGameFormationScRsp = 8696;
	CmdFavourArchiveScRsp = 8676;
	CmdGridFightSyncUpdateResultScNotify = 8602;
	CmdGridFightUpdateEquipTrackCsReq = 8689;
	CmdKOIAMDKEFKH = 8608;
	CmdFavourArchiveCsReq = 8652;
	CmdGridFightSeasonHandBookNotify = 8725;
	CmdMOIONLDJGJI = 8572;
	CmdGridFightGetArchiveCsReq = 8530;
	CmdMCIPOMDGBCA = 8601;
	CmdGridFightEndBattleStageNotify = 8459;
	CmdIAABDBBJHOL = 8464;
	CmdFGMKGOIIFFL = 8679;
	CmdGEBBMDCOLCH = 8716;
	CmdGridFightRecycleRoleCsReq = 8680;
	CmdGridFightPermanentTalentResetScRsp = 8423;
	CmdJBOOPAPNFDC = 8483;
	CmdGridFightGetDataScRsp = 8443;
	CmdEMFJDODNGIF = 8702;
	CmdGridFightUpdateEquipTrackScRsp = 8729;
	CmdCGBKKGNFMKL = 8661;
	CmdLCFAAGEJGBG = 8552;
	CmdMFLDDCIFAJN = 8488;
	CmdLDNPBALACDB = 8766;
	CmdCheckTextCsReq = 8502;
	CmdPNHDGCBLPGD = 8664;
	CmdABCBKHAIEOG = 8745;
	CmdMCDBJHOCGHI = 8519;
	CmdNDAMFDIDKGB = 8581;
	CmdGridFightSeasonTalentResetScRsp = 8412;
	CmdAAGHPDHCOOI = 8498;
	CmdBDNCOOANAEA = 8570;
	CmdCFIDOJGKBHB = 8794;
	CmdGridFightSyncVirtualItemNotify = 8710;
	CmdILCPGLAAADL = 8650;
	CmdCEGIAKADMHP = 8644;
	CmdGGAMIKNEDGE = 8539;
	CmdGridFightGetArchiveScRsp = 8723;
	CmdAAMEAOBEGKA = 8763;
	CmdGridFightHandlePendingActionScRsp = 8798;
	CmdGridFightUpdatePosScRsp = 8631;
	CmdGridFightPermanentTalentEnableCsReq = 8435;
	CmdOEBKLEPMMKE = 8447;
	CmdKAHAOOJHJPK = 8647;
	CmdALNFEBKHCFC = 8408;
	CmdFHNLBDMKPEM = 8699;
	CmdGridFightSeasonTalentEnableCsReq = 8441;
	CmdIIFPPBCFBBC = 8668;
	CmdCFHEKNFNMIP = 8514;
	CmdGridFightSeasonTalentEnableScRsp = 8484;
	CmdGridFightSeasonTalentResetCsReq = 8700;
	CmdCCGJDDBKIDE = 8531;
	CmdUpdateGameFormationCsReq = 8693;
	CmdGridFightSettleNotify = 8698;
	CmdGridFightPermanentTalentEnableScRsp = 8717;
	CmdHMBDOOHKIBC = 8422;
	CmdJKGILKGILAI = 8504;
	IGDBCJJBMPD_OOFHGFDNGIB = 8772;
	CmdGridFightEnterBattleStageCsReq = 8478;
	CmdLDBJKKCHNGJ = 8651;
	CmdPAJHFEKAPMN = 8468;
	CmdGridFightUpdatePosCsReq = 8522;
	CmdLLPMAKIHAPL = 8413;
	CmdGetGameFormationScRsp = 8583;
	CmdLFEFLIMJOGO = 8682;
	CmdCNOAPAMNDOA = 8470;
	CmdGetGameFormationCsReq = 8633;
	CmdLKDMCPDHEGM = 8692;
	CmdDHOCOJLJPPA = 8779;
	CmdAIDDODLHDLE = 8697;
	CmdHKOAOCKBBJA = 8460;
	CmdGridFightTraitUpdateCsReq = 8620;
	CmdGDHFMHKFEAL = 8595;
	CmdGridFightEnterBattleStageScRsp = 8695;
	CmdCheckTextRsp = 8591;
	CmdGridFightWeeklyExtraSeasonExpScRsp = 8658;
	CmdHFNIHDLFMCJ = 8516;
	CmdGridFightGetDataCsReq = 8578;
	CmdGridFightPermanentTalentResetCsReq = 8411;
	CmdGridFightTraitUpdateScRsp = 8554;
	CmdPOIBJKBDLLI = 8584;
	CmdCBEEKLPIEMK = 8492;
	CmdFDJCIHMFOMC = 8776;
	CmdGridFightRecycleRoleScRsp = 8449;
	CmdGridFightBackToPrepareScRsp = 8592;
	CmdFLHIDBDFFKG = 8757;
	CmdAGOBLKJFJDL = 8768;
	CmdGridFightBackToPrepareCsReq = 8748;
	CmdGridFightSyncKeepWinCntNotify = 8529;
}

// Obf: GGNKDLAHAGH
enum GridFightLockType {
	GGNKDLAHAGH_EAJGHKNNJBB = 0;
	GGNKDLAHAGH_FHOHPFBDNOH = 6;
	GGNKDLAHAGH_GBDNJLPBNPO = 7;
	GGNKDLAHAGH_DAOBNJOGBBF = 8;
}

// Obf: KMJNPEMPNMC
enum GridFightLockReason {
	KMJNPEMPNMC_NEELHDGILED = 0;
	KMJNPEMPNMC_IDODGIKBBAE = 1;
	KMJNPEMPNMC_NJJGBCMLNLI = 2;
	KMJNPEMPNMC_AEINKINPAFL = 3;
}

enum BGMLEJCOFPK {
	BGMLEJCOFPK_NLCDGIPGFDJ = 0;
	BGMLEJCOFPK_ENPLACDLJGA = 1;
	BGMLEJCOFPK_DACEMIDFHOG = 2;
}

enum IBBDHFAEFNH {
	IBBDHFAEFNH_NLCDGIPGFDJ = 0;
	IBBDHFAEFNH_BMOOGBNPEAA = 1;
	IBBDHFAEFNH_CIHFGJDCHIA = 2;
	IBBDHFAEFNH_PJPFIHFAHGO = 3;
}

// Obf: JJDFGMMMCMI
enum GridFightUpdateSrcType {
	JJDFGMMMCMI_CMOALMGLKIE = 0;
	JJDFGMMMCMI_DBIEKOMKBIN = 1;
	JJDFGMMMCMI_NFEGHCIANJO = 2;
	JJDFGMMMCMI_OIEEJKMJMDL = 3;
	JJDFGMMMCMI_EJLJOJFECPM = 4;
	JJDFGMMMCMI_GLFOHBCEGHA = 5;
	JJDFGMMMCMI_HLMCFKLKBPP = 6;
	JJDFGMMMCMI_JNCNKPHPFDH = 7;
	JJDFGMMMCMI_IEGCGBNPPHN = 8;
	JJDFGMMMCMI_NJBMBFFLNGM = 9;
	JJDFGMMMCMI_ANMFPKDFICD = 10;
	JJDFGMMMCMI_PNPMEHHEFPK = 11;
	JJDFGMMMCMI_NJPCDLLOHNO = 12;
	JJDFGMMMCMI_MAHELBOAHCG = 13;
	JJDFGMMMCMI_DOOKAAEOGPB = 14;
	JJDFGMMMCMI_LGHJPNHOGGA = 15;
	JJDFGMMMCMI_PKJFICDOGBH = 16;
	JJDFGMMMCMI_GLKAGBGLENM = 17;
	JJDFGMMMCMI_EABNJFBHKGG = 18;
	JJDFGMMMCMI_FDOIMKNLNLP = 19;
	JJDFGMMMCMI_NEDKALJPMLG = 20;
	JJDFGMMMCMI_LLENMLJBIDN = 21;
	JJDFGMMMCMI_MKNCMFALKPM = 22;
	JJDFGMMMCMI_KNEJNNEJNBC = 23;
	JJDFGMMMCMI_EGIKDCAEMNL = 24;
	JJDFGMMMCMI_JOMIDGFCHPH = 25;
	JJDFGMMMCMI_AFAFJHAHNEB = 26;
	JJDFGMMMCMI_OABPAPCNCKG = 27;
	JJDFGMMMCMI_IHEKGIGCGEC = 28;
	JJDFGMMMCMI_ECJPFOHNEDE = 29;
	JJDFGMMMCMI_IMDOPABAGGA = 30;
	JJDFGMMMCMI_EBMEIFGBJIM = 31;
	JJDFGMMMCMI_FFKPFGFJCEL = 32;
	JJDFGMMMCMI_NOKDKPGNPKK = 33;
	JJDFGMMMCMI_JNGKOHJPIHK = 34;
	JJDFGMMMCMI_DMJNOEIGDPA = 35;
	JJDFGMMMCMI_IOCFCLMNGDA = 36;
}

// Obf: IHMJHLGKLHP
enum GridFightEquipTrackSource {
	IHMJHLGKLHP_FAHMBODELMP = 0;
	IHMJHLGKLHP_AIBFMLHADOG = 1;
	IHMJHLGKLHP_AJGKMJGKNNE = 2;
	IHMJHLGKLHP_GEMHFFFKHAP = 3;
}

// Obf: DMGOKGLBNJJ
enum GridFightEquipDressSource {
	DMGOKGLBNJJ_IMLHGIMCJGG = 0;
	DMGOKGLBNJJ_GPAPBPFNKBI = 1;
	DMGOKGLBNJJ_PBKFJGEFCID = 2;
}

// Obf: ACNPGGHPDJB
enum GridFightEquipCraftSource {
	ACNPGGHPDJB_GDDBKIPOJFK = 0;
	ACNPGGHPDJB_NAADGNAMIOK = 1;
	ACNPGGHPDJB_LEPMGCFIMGD = 2;
	ACNPGGHPDJB_KEKMKPPODEG = 3;
}

enum DMHHPOIEMFE {
	DMHHPOIEMFE_LKGAOBCCPIM = 0;
	DMHHPOIEMFE_BBFOHNLCKNF = 1;
	DMHHPOIEMFE_OPKIJLMKLNL = 2;
}

// Obf: JEHMCCGIOKG
enum GridFightDropReason {
	JEHMCCGIOKG_LNPNFLDKKCK = 0;
	JEHMCCGIOKG_ELFIEMKALJO = 1;
	JEHMCCGIOKG_KJMKFEICCDA = 2;
}

// Obf: DFIJIBKBEJL
enum GridFightUpdateGlobalHpReason {
	DFIJIBKBEJL_IHNDJOLCKDI = 0;
	DFIJIBKBEJL_FDKCPHMMFCD = 1;
	DFIJIBKBEJL_IEGEHAKDEHA = 2;
	DFIJIBKBEJL_KEOPICGMGPI = 3;
	DFIJIBKBEJL_AAMHKFPCFPO = 4;
	DFIJIBKBEJL_LGCCNHOBMAP = 101;
	DFIJIBKBEJL_HBGPPEHGINP = 102;
	DFIJIBKBEJL_CJDPIHFECNJ = 103;
	DFIJIBKBEJL_AEKPBHCLJAN = 201;
}

// Obf: PEIJNEFOCHI
enum GridFightSettleReason {
	PEIJNEFOCHI_AIBAFPBKDJI = 0;
	PEIJNEFOCHI_NOCIJDINKPJ = 1;
	PEIJNEFOCHI_HIGMFLKHGNJ = 2;
	PEIJNEFOCHI_JOJPGBCECLN = 3;
	PEIJNEFOCHI_NBPPJEDAIFN = 4;
}

enum MLJIILDNDPL {
	MLJIILDNDPL_LAHJFEFDOBC = 0;
	MLJIILDNDPL_NJOBADDLBGK = 1;
	MLJIILDNDPL_FAGECPGMPEH = 2;
}

// Obf: GridFightGameInfo
message GridFightGameInfo {
	oneof LEOIAOFBBFA {
		GridFightGameBasicInfo FAOCFBOFCJP = 15; // offset: 16
		GridFightGameItemsInfo GCKLIONKMJC = 11; // offset: 16
		GridFightGameShopInfo EBHDIOGALIE = 13; // offset: 16
		GridFightLevelInfo KLCPAAHDPJF = 14; // offset: 16
		GridFightGameOrbInfo DBAGKJNPDOL = 7; // offset: 16
		GridFightGameAugmentSync LLDBOIANGDN = 4; // offset: 16
		GridFightGameTraitInfo OAHOAPCIDMK = 10; // offset: 16
		GridFightGameTeamInfo EJIPINIKNCK = 5; // offset: 16
		FIIJNPBFJBG KFBIEANENKJ = 1; // offset: 16
		MCNFDKKKABH CKLNMDAMJCB = 8; // offset: 16
	}
}

// Obf: MPIMAEMCEFH
message GridFightCurrentInfo {
	CLFABOEKMJI JLDDDLDNFEF = 2; // offset: 48
	uint32 LJNGPCKPJLF = 3; // offset: 64
	GridFightPendingAction FMIGOKIDKJL = 6; // offset: 16
	uint32 unique_id = 7; // offset: 56
	repeated GridFightGameInfo NAGDJGMMCBE = 8; // offset: 32
	bool is_overlock = 12; // offset: 68
	uint32 division_id = 14; // offset: 60
	GridFightGameData CAAGABEPPPE = 15; // offset: 40
}

// Obf: GEPAFBJBGBH
message GridFightCurrentTask {
	uint32 progress = 2; // offset: 24
	uint32 NLIDEKJOFMG = 15; // offset: 28
}

// Obf: HGEAOCGDCHD
message GridFightSyncCurrentTaskInfo {
	GridFightCurrentTask ONPCDAELHGP = 9; // offset: 32
	repeated uint32 CAMMIIJDEKP = 14; // offset: 16
}
message GMBMNFLMKPI {
	GridFightLockType LMICDNNABNM = 10; // offset: 28
	GridFightLockReason IBCPAKJAPFF = 12; // offset: 24
}

// Obf: NIHNGPKHEPC
message GridFightGameBasicInfo {
	repeated RoleTrackEquipmentInfo MIIDIMOCPEB = 1; // offset: 32
	uint32 grid_fight_lineup_hp = 2; // offset: 96
	uint32 gold = 3; // offset: 132
	uint32 JLOCMDIDPCI = 4; // offset: 104
	uint32 NDAINFLOLPJ = 5; // offset: 128
	uint32 PPKKHHNEOHB = 6; // offset: 112
	uint32 AFFCFLFIFPH = 7; // offset: 108
	uint32 GDAKCOICIDA = 8; // offset: 116
	uint32 EHNJDIDABHD = 9; // offset: 92
	uint32 MICEOJBAKGN = 10; // offset: 120
	uint32 grid_fight_cur_level_exp = 12; // offset: 100
	uint32 KNFOCCPOJEA = 13; // offset: 124
	repeated uint32 ONHDKLIMLNM = 14; // offset: 72
	uint32 BEPMODICONA = 15; // offset: 88
	GMBMNFLMKPI GAJGBBFELEL = 643; // offset: 48
	string ANIBGAAIAHF = 953; // offset: 56
	repeated uint32 JCMCCGHFIAN = 1509; // offset: 16
	repeated uint32 FMEOHKHGMJM = 1649; // offset: 64
	string GBGOBPOOPGO = 1889; // offset: 24
	GridFightSyncCurrentTaskInfo BHJFJEEGGMC = 2022; // offset: 40
}

// Obf: CDEAABODKCP
message GridGameRoleInfo {
	uint32 role_star = 5; // offset: 48
	repeated uint32 PNJIPHJJONG = 8; // offset: 24
	uint32 unique_id = 9; // offset: 56
	map<string, uint32> grid_fight_value_init_component = 10; // offset: 40
	uint32 id = 12; // offset: 52
	map<uint32, uint32> convert_property_to_fixpoint = 14; // offset: 32
	uint32 pos_index = 15; // offset: 60
}

// Obf: GGAKNLJJNEI
message GridGameNpcInfo {
	uint32 unique_id = 1; // offset: 40
	uint32 id = 3; // offset: 36
	uint32 pos_index = 4; // offset: 32
	repeated uint32 PNJIPHJJONG = 15; // offset: 24
}

// Obf: DDAMEHEPOBD
message GridGameForgeItemInfo {
	uint32 LCLPEJHEAID = 3; // offset: 36
	uint32 pos_index = 6; // offset: 40
	repeated MBPDIPLJMKN CKJAKKNOHEK = 7; // offset: 24
	uint32 unique_id = 13; // offset: 32
}
message FPHPFJLAJDK {
	uint32 unique_id = 1; // offset: 32
	uint32 LKMEMKLGIIK = 9; // offset: 28
	uint32 pos_index = 11; // offset: 24
}
message NBPEJFHIKJL {
	repeated uint32 OLPPMEAMFFO = 1; // offset: 16
}

// Obf: CHKCPJLBOGE
message GridFightTraitElationEffectUpdate {
	repeated FHCEIOHLADG POJGKJENENA = 3; // offset: 16
	map<uint32, uint32> BANBECDCDHG = 12; // offset: 32
	uint32 DNNCAGJIOAP = 13; // offset: 40
}
message BJFLPMNPFFK {
	uint32 MDNAGANGNKK = 14; // offset: 24
}
message LDMNIHIFDFG {
	uint32 BPJKHDNBPOE = 3; // offset: 24
}
message HJCFNEPJKDM {
	repeated uint32 JMLAMKFMKON = 8; // offset: 16
}

// Obf: MGBHKCMHDOK
message GridFightTraitEffectInfo {
	uint32 effect_id = 1; // offset: 36
	oneof NEBNJDMFELO {
		uint32 trait_core_role = 80; // offset: 16
		NBPEJFHIKJL avatar_core_info = 665; // offset: 16
		uint32 ECEMNCJBFOP = 812; // offset: 16
		GridFightTraitElationEffectUpdate JLCLHAKNMLL = 602; // offset: 16
		BJFLPMNPFFK MPHGIPCONLF = 1162; // offset: 16
		HJCFNEPJKDM KJFIOEPKOBM = 1515; // offset: 16
		LDMNIHIFDFG KOEPOCADLDI = 1626; // offset: 16
	}
}

// Obf: JLKCBOIFJKC
message GridFightTraitSyncInfo {
	uint32 trait_id = 7; // offset: 36
	bool is_recover = 11; // offset: 32
	GridFightTraitEffectInfo ENPLACDLJGA = 15; // offset: 16
}

// Obf: FBNGHMHHHLL
message GridGameTraitInfo {
	uint32 CGIEODOGAIE = 1; // offset: 40
	uint32 AFKKLDMAEDJ = 2; // offset: 44
	uint32 layer = 3; // offset: 48
	repeated uint32 OLPPMEAMFFO = 9; // offset: 24
	repeated GridFightTraitEffectInfo trait_effect_list = 11; // offset: 16
	uint32 trait_id = 14; // offset: 52
}
message IGKKILFFNJK {
	uint32 BLAEAAFANBM = 1; // offset: 32
	repeated uint32 LEOCEFMKAEM = 8; // offset: 24
}
message HOGJECBMFHD {
	repeated IGKKILFFNJK DAOOOBLJOLB = 12; // offset: 16
}

// Obf: HKFECLCHBFJ
message GridFightGameTeamInfo {
	repeated GridGameRoleInfo grid_game_role_list = 2; // offset: 40
	repeated FPHPFJLAJDK KCOMPKMJCMC = 3; // offset: 32
	repeated GridGameForgeItemInfo PMEOPPDAMLM = 6; // offset: 16
	repeated uint32 PLEIPHJGFIE = 13; // offset: 56
	repeated GridGameNpcInfo grid_game_npc_list = 14; // offset: 24
}

// Obf: FFOGFOBHDEK
message GridFightGameTraitInfo {
	repeated GridGameTraitInfo grid_fight_trait_info = 2; // offset: 32
	repeated IGKKILFFNJK DAOOOBLJOLB = 11; // offset: 24
}
message AFCBKJEFKPG {
	BGMLEJCOFPK CCDGGDMHMLF = 3; // offset: 40
	uint32 progress = 5; // offset: 48
	uint32 id = 6; // offset: 52
	repeated uint32 CBACAMKJFMI = 10; // offset: 24
	GridFightDropInfo CLHLMNAPLNC = 12; // offset: 16
	IBBDHFAEFNH status = 14; // offset: 44
}
message MCNFDKKKABH {
	repeated uint32 BHOBPPBBNIL = 7; // offset: 16
	repeated AFCBKJEFKPG IBBKKFGEEPH = 14; // offset: 24
}

// Obf: LALKBPJANIH
message GridFightConsumableInfo {
	uint32 item_id = 1; // offset: 36
	uint32 round_cnt = 2; // offset: 24
	uint32 num = 5; // offset: 28
	uint32 group_id = 9; // offset: 32
}

// Obf: IJDLENJJBHJ
message GridFightEquipmentInfo {
	uint32 grid_fight_equipment_id = 5; // offset: 32
	uint32 source = 8; // offset: 44
	uint32 unique_id = 11; // offset: 36
	map<uint32, uint32> convert_property_to_fixpoint = 14; // offset: 24
	bool IODIJBEHEGF = 15; // offset: 40
}
message ELGLKEAPLGM {
	uint32 grid_fight_equipment_id = 11; // offset: 24
}
message PGECGKEKFNC {
	uint32 LPFGIGJDLFM = 1; // offset: 24
	uint32 role_id = 2; // offset: 28
}
message FLFHACPLDJE {
	oneof OFJBCEDFLKL {
		PGECGKEKFNC BDPIMPJOJBK = 1; // offset: 24
		uint32 gold = 8; // offset: 24
	}
}
message MBPDIPLJMKN {
	oneof OFJBCEDFLKL {
		ELGLKEAPLGM GGMPEGMEHPD = 8; // offset: 24
	}
}

// Obf: CONONEALNOF
message GridFightGameItemsInfo {
	repeated GridFightEquipmentInfo grid_fight_equipment_list = 12; // offset: 32
	repeated GridFightConsumableInfo IPMKOMEHBMP = 14; // offset: 24
}
message NJBGFHDPFNO {
	uint32 role_star = 1; // offset: 28
	uint32 role_id = 7; // offset: 24
}
message ELJOHIOHPMJ {
	uint32 IJMKBOBGHBD = 13; // offset: 24
}
message CCKPBIKOIBB {
	uint32 LKMEMKLGIIK = 12; // offset: 24
}

// Obf: HDEIAANGMDB
message GridFightShopGoodsInfo {
	bool LHGIFDNPIDE = 8; // offset: 36
	uint32 KDKPDJNMMCM = 12; // offset: 32
	oneof AELHFLGJMJN {
		NJBGFHDPFNO BDPIMPJOJBK = 1210; // offset: 24
		ELJOHIOHPMJ LLIBLKCJEMI = 409; // offset: 24
		CCKPBIKOIBB INBCCAIFHNL = 533; // offset: 24
	}
}
message BOPHDCKJMMN {
	uint32 weight = 2; // offset: 28
	uint32 CKKDAEMFDPA = 14; // offset: 24
}
message MONJNCPINKN {
	repeated BOPHDCKJMMN FIJPICNPKIG = 9; // offset: 24
}

// Obf: POCJDMMANBM
message GridFightGameShopInfo {
	uint32 OPDCMCFOFAA = 3; // offset: 48
	bool ABGEKPJHHIA = 5; // offset: 56
	repeated uint32 DLDJEOPKNMB = 10; // offset: 32
	MONJNCPINKN ABBNGCPECAI = 11; // offset: 40
	uint32 NFGMOPCCPIC = 12; // offset: 52
	repeated GridFightShopGoodsInfo OGDKJPDFFAI = 14; // offset: 24
}
message LHNCMINFONJ {
	uint32 LOGHLGKIFEN = 3; // offset: 24
}

// Obf: GIDEDMOPFKF
message GridFightGamePortalBuffInfo {
	uint32 portal_buff_id = 15; // offset: 24
}
message AHKDPCIIELA {
	uint32 monster_id = 5; // offset: 24
	uint32 role_star = 9; // offset: 32
	uint32 IMDKLKONINF = 10; // offset: 28
	uint32 LOGHLGKIFEN = 15; // offset: 36
}
message PNAKHANCNGK {
	uint32 OCPEPEMNNEK = 8; // offset: 32
	repeated AHKDPCIIELA PBLBBDBDLEK = 15; // offset: 16
}

// Obf: KKBGIPCAGGH
message GridFightEncounterInfo {
	uint32 IFIIOIIKJHO = 1; // offset: 40
	repeated PNAKHANCNGK monster_wave_list = 6; // offset: 24
	uint32 EPPHOFDAEMI = 8; // offset: 44
	uint32 CJADMFDOBAI = 10; // offset: 48
	GridFightDropInfo BOAMLLHPNEC = 15; // offset: 16
}
message MDJBBILMHLC {
	uint32 LNDKCPBJDKH = 3; // offset: 32
	uint32 MOADBALHMFD = 7; // offset: 36
	repeated GridFightEncounterInfo BPDABHGFBFO = 10; // offset: 24
}

// Obf: NBGDEFLFLMI
message GridFightSupplyRoleInfo {
	uint32 role_id = 5; // offset: 32
	repeated uint32 grid_fight_item_list = 15; // offset: 24
}

// Obf: NCKOKDHNJDC
message GridFightLayerInfo {
	bool LLOEBDLMLJO = 9; // offset: 36
	oneof EFECLPJFOCM {
		MDJBBILMHLC MPOBBIPMNNJ = 95; // offset: 24
	}
}
message KGMCLFHAJNJ {
	repeated AHKDPCIIELA NCGHKPEMPDP = 9; // offset: 24
}
message KEEPBBDICFN {
	uint32 PDIAOLDMBLL = 9; // offset: 28
	uint32 LOGHLGKIFEN = 11; // offset: 24
}

// Obf: LHLMPOHKPKG
message GridFightSectionRecordInfo {
	uint32 DCAHJELNJNP = 5; // offset: 40
	uint32 node_type = 7; // offset: 32
	uint32 section_id = 11; // offset: 36
	oneof MMHKPJJNHDK {
		KEEPBBDICFN GFCEGEPFCDB = 1758; // offset: 24
	}
}

// Obf: BHBAILHMCOI
message GridFightDamageSttInfo {
	repeated NFIDNDFHJGN JFCHLABGFJO = 3; // offset: 24
	repeated PLFKMENCDMM EEGPILJDLBG = 12; // offset: 40
	repeated KINJHHBJNJP APABPAFGCIA = 15; // offset: 32
}
message GANGPHPGFCL {
	repeated GridFightSectionRecordInfo FNJNKKMNKIM = 3; // offset: 32
	GridFightDamageSttInfo NKBIDLBLONC = 6; // offset: 16
}
message JKPOIHGIFFG {
	uint32 section_id = 4; // offset: 28
	uint32 DCAHJELNJNP = 6; // offset: 24
}
message ACCMEOICEOD {
	repeated JKPOIHGIFFG GKJIDBEGBJP = 2; // offset: 16
}
message LAAMIAJFOMC {
	bool PNJCLPNFIGA = 5; // offset: 24
	uint32 affix_id = 11; // offset: 28
}

// Obf: BEEFLEJAOCN
message GridFightLevelInfo {
	GANGPHPGFCL COEBCNGCNOO = 2; // offset: 48
	ACCMEOICEOD LHEBNOLNJHE = 3; // offset: 16
	uint32 DCAHJELNJNP = 6; // offset: 80
	repeated LHNCMINFONJ HEKMEJLMGFF = 7; // offset: 32
	uint32 EMOHLJHPOPC = 8; // offset: 84
	GridFightLayerInfo IMPNAHBCADN = 9; // offset: 64
	KGMCLFHAJNJ boss_info = 10; // offset: 24
	repeated LAAMIAJFOMC CFFCNEDGCJJ = 11; // offset: 56
	uint32 section_id = 14; // offset: 88
	repeated GridFightGamePortalBuffInfo grid_fight_portal_buff_list = 15; // offset: 40
}
message IBPDPCOGDEP {
	uint32 unique_id = 3; // offset: 28
	uint32 LDBNOMPCOKK = 4; // offset: 24
}
message PFBCBNMKFAK {
	uint32 DOJDFBENBEC = 8; // offset: 28
	uint32 CMEHHMEEKPO = 14; // offset: 32
	uint32 unique_id = 15; // offset: 24
}

// Obf: DBONCGFHHDN
message GridFightGameOrbInfo {
	repeated PFBCBNMKFAK ODCMJGHEOMG = 2; // offset: 16
	repeated IBPDPCOGDEP MDKGCIKOMLI = 6; // offset: 24
}
message FADHEIGJENF {
	map<string, uint32> HJMAEDKCONE = 1; // offset: 24
}
message FIIJNPBFJBG {
	map<string, uint32> POCKGKDFLKK = 3; // offset: 16
	uint32 IFLJPNDPDOA = 10; // offset: 32
}

// Obf: HKDACEAEDDE
message GridFightGameData {
	repeated GridFightGameItemInfo KLCKAOJAMNH = 9; // offset: 16
}
message MJEICIEGAHF {
	repeated uint32 OOEOCGLLHFO = 10; // offset: 24
	JDCAPBNPOOK JMNJLFACCLM = 12; // offset: 32
}

// Obf: NJKFOJJDGGG
message GridFightGameItemInfo {
	uint32 unique_id = 13; // offset: 44
	MJEICIEGAHF GBEAGMEAEPB = 15; // offset: 32
	oneof FMEKLFFDPGG {
		LFOCLBEMIEM HAGAEFMEHBA = 477; // offset: 24
		AKHEHAMBLEB FHKFMFKNMCH = 1784; // offset: 24
		ONLFOIONDAF CHHEGLGPCCH = 1577; // offset: 24
		FBFBMMAAFCP IJAFFOCBKJI = 140; // offset: 24
		KPKDJDEIKBM PDMOLEDAFIF = 1389; // offset: 24
		IPGCHDECCNB FCPGFBADIAL = 1293; // offset: 24
		LHMLIGPHOKP LJBBFDMAEOH = 1696; // offset: 24
		HHNBCLPNDFI LFBGLMMDMCD = 1626; // offset: 24
		FHBHIHJAOPB GLGPBLLICAG = 1438; // offset: 24
		ELPPDAHKLBE DNLGBJLPDCE = 1851; // offset: 24
		JEIEGMECGEN GNMCJEFJOKP = 1917; // offset: 24
		CNBHPJFFLEF PDHEDGGOPGL = 481; // offset: 24
		HDOLIECDHAO BBGLCDJPLMF = 556; // offset: 24
		OPJALEIKFAC EJEEHDPBHLI = 454; // offset: 24
		BJIGOFOAEPL EKLIOPIEKII = 1186; // offset: 24
		FAFBDGCEAHD FKBIGANCEPD = 1168; // offset: 24
		PIKKAEBHIKF NPHCPBDKLCH = 953; // offset: 24
		AGGDDAJLAEB CLFNPNNIFGE = 1539; // offset: 24
		FBDLJKEBPHM AOGFFCECKPK = 1607; // offset: 24
		OHBLOLLNHIC CMBMNLHAECG = 656; // offset: 24
		ILDEFHMIDKP LBFBINFMGNF = 107; // offset: 24
		FCABIGNMAPL FLELIBAJPEC = 219; // offset: 24
		GILMFECEBFE PNMLHBJOABC = 2005; // offset: 24
		DBFGKBNAKNH FBOLADPFLFL = 514; // offset: 24
		KBEKJKNCMCL KPHBBLHOPHF = 1245; // offset: 24
		HCIFBGJCPDM OAJOEEODJAO = 1440; // offset: 24
		HPMNCENLCAB KHNNNFBIAMA = 60; // offset: 24
		KLIHJCNOEJP AMGAJDKLHFO = 1015; // offset: 24
		GFOMAIAIDFA PDADFOGABLJ = 496; // offset: 24
		PPBJJJMJOBN IBNBALOPKMM = 1624; // offset: 24
		IEOMGIBLHJB INDGPPMDFND = 893; // offset: 24
		IEMINJAFCPM PKPFNHIKHON = 1022; // offset: 24
		KPMOCBIIMHH NIOCABOLGLO = 1410; // offset: 24
		CEHDAMJJFOE PGCBFHOPLEP = 732; // offset: 24
		BKIKOGNAECK KEHCIIEOLMD = 1818; // offset: 24
		HEHOBDGMMJM INHGPDPNILL = 1324; // offset: 24
	}
}
message LFOCLBEMIEM {
	uint32 node_type = 2; // offset: 24
	uint32 DCAHJELNJNP = 11; // offset: 28
	uint32 section_id = 13; // offset: 32
	uint32 ELPODIAAGEK = 15; // offset: 36
}
message AKHEHAMBLEB {
	int64 start_time = 11; // offset: 32
	int64 KAHFEFACFIE = 12; // offset: 24
}
message ONLFOIONDAF {
	uint32 JJNGGKPAKME = 3; // offset: 36
	uint32 interval = 4; // offset: 32
	uint32 PNFOOPNCDCH = 7; // offset: 28
	int64 start_time = 8; // offset: 40
	bool JMCJKPPKAIF = 12; // offset: 24
}
message FBFBMMAAFCP {
	uint32 NBPFMFMKJHI = 12; // offset: 24
	uint32 EMFCEMPHOPI = 15; // offset: 28
}
message KPKDJDEIKBM {
	uint32 CJCOMKHDAGM = 2; // offset: 24
}
message IPGCHDECCNB {
	uint32 node_type = 1; // offset: 28
	uint32 PIJBIFAIFOA = 11; // offset: 24
	uint32 CLBEEGLKMIM = 14; // offset: 32
}
message LHMLIGPHOKP {
	repeated uint32 DIKFEBAJMEK = 9; // offset: 24
}
message HHNBCLPNDFI {
	repeated uint32 DIKFEBAJMEK = 1; // offset: 24
}
message FHBHIHJAOPB {
	uint32 DCAHJELNJNP = 9; // offset: 32
	uint32 DMLFGGDECDN = 12; // offset: 24
	uint32 ODDKKGOJHFO = 14; // offset: 28
}
message ELPPDAHKLBE {
}
message JEIEGMECGEN {
	map<uint32, uint32> NADGHDJCHPI = 7; // offset: 16
}
message CNBHPJFFLEF {
	bool is_effect = 3; // offset: 32
	repeated uint32 OJNEFBJHCCK = 10; // offset: 16
}
message HDOLIECDHAO {
}
message OPJALEIKFAC {
}
message BJIGOFOAEPL {
}
message FAFBDGCEAHD {
	uint32 trait_id = 2; // offset: 24
	uint32 AFKKLDMAEDJ = 7; // offset: 28
}
message PIKKAEBHIKF {
	uint32 PGEBCGLDNMN = 15; // offset: 24
}
message GILMFECEBFE {
	uint32 EOPHMLBEPGK = 1; // offset: 28
	uint32 PEBCBLBLMPH = 13; // offset: 24
}
message DBFGKBNAKNH {
	uint32 KHHFIEPDHHD = 15; // offset: 24
}
message AGGDDAJLAEB {
	uint32 INLHPJMOOMO = 10; // offset: 24
	double IDONFFOACIL = 12; // offset: 32
}
message KPMOCBIIMHH {
	uint32 role_id = 4; // offset: 32
	uint32 IEOGEFBLNEL = 9; // offset: 24
	uint32 MDNAGANGNKK = 14; // offset: 28
}
message BKIKOGNAECK {
	uint32 PEBCBLBLMPH = 1; // offset: 24
	uint32 DNMFNFCLOOM = 3; // offset: 28
}
message HEHOBDGMMJM {
	uint32 trait_id = 4; // offset: 32
	repeated uint32 grid_fight_avatar_list = 15; // offset: 16
}
message FBDLJKEBPHM {
	uint32 role_id = 2; // offset: 36
	uint32 MDNAGANGNKK = 4; // offset: 32
	map<uint32, uint32> JPIHLKGCBPC = 10; // offset: 24
}
message OHBLOLLNHIC {
	uint32 trait_id = 3; // offset: 24
	bool ANDIPJEDGMG = 11; // offset: 28
	uint32 HOHDOFKJJDJ = 12; // offset: 32
	uint32 role_id = 15; // offset: 36
}
message ILDEFHMIDKP {
	uint32 CKKDAEMFDPA = 8; // offset: 24
}
message FCABIGNMAPL {
	uint32 CKKDAEMFDPA = 14; // offset: 24
}
message KBEKJKNCMCL {
	repeated uint32 CAOADMAKKPM = 9; // offset: 24
}
message HCIFBGJCPDM {
}
message HPMNCENLCAB {
	uint32 role_id = 5; // offset: 24
}
message KLIHJCNOEJP {
	uint32 IGOHOJEJIGP = 6; // offset: 40
	uint32 NFBJINKLLLK = 9; // offset: 32
	repeated uint32 JPDCDKLEIBD = 11; // offset: 16
	uint32 EEELJEKNNOG = 12; // offset: 36
	uint32 LLJLCCDDLNI = 15; // offset: 44
}
message GFOMAIAIDFA {
	uint32 IEOGEFBLNEL = 13; // offset: 24
}
message PPBJJJMJOBN {
	uint32 BINKJCPGOAB = 7; // offset: 24
	uint32 BLAEAAFANBM = 11; // offset: 28
}
message IEOMGIBLHJB {
	uint32 NFFHCBDFABA = 1; // offset: 28
	uint32 IIJHFJFPIHK = 14; // offset: 24
}
message IFPAJBFOHLN {
	uint32 section_id = 4; // offset: 32
	uint32 DCAHJELNJNP = 11; // offset: 28
	uint32 role_id = 15; // offset: 24
}
message IEMINJAFCPM {
	repeated IFPAJBFOHLN ICDHAPACGEH = 14; // offset: 24
}
message CEHDAMJJFOE {
	uint32 MDNAGANGNKK = 5; // offset: 32
	uint32 ENNOJCBAJEN = 6; // offset: 28
	uint32 JNJBMFJHBHD = 12; // offset: 24
}
message CLFABOEKMJI {
	repeated uint32 MIOAPAGNAMC = 3; // offset: 24
}

// Obf: PPGEBEBPMJC
message GridGameAugmentInfo {
	bool NEKJGIDPCAI = 10; // offset: 25
	bool AEKOKMPIFLN = 13; // offset: 24
	uint32 augment_id = 15; // offset: 28
}

// Obf: OMINPDAIBLP
message GridFightGameAugmentAdd {
	GridGameAugmentInfo MCPIKEHDMND = 7; // offset: 24
}

// Obf: ECLKNNECNFK
message GridFightGameAugmentUpdate {
	GridGameAugmentInfo MCPIKEHDMND = 5; // offset: 24
}

// Obf: KGFNICBCMOA
message GridFightGameAugmentSync {
	repeated GridGameAugmentInfo sync_augment_info = 3; // offset: 16
}

// Obf: AEFBLHALOFO
// Type: Req
// CmdID: 8578
message GridFightGetDataCsReq {
}

// Obf: JABAHAPIBBO
// Type: Rsp
// CmdID: 8443
message GridFightGetDataScRsp {
	uint32 retcode = 5; // offset: 40
	GridFightCurrentInfo DHFOFLFCLAH = 12; // offset: 32
	GridFightSystemInfo LFLCDNGALME = 15; // offset: 24
}
message KNDOLAFNJED {
}

// Type: Rsp
// CmdID: 8601
message MCIPOMDGBCA {
	GridFightCurrentInfo DHFOFLFCLAH = 2; // offset: 16
	uint32 retcode = 4; // offset: 32
}
message EPKFPIDHMOC {
	uint32 MDNAGANGNKK = 11; // offset: 28
	uint32 JFCJNHNBMCB = 12; // offset: 24
}

// Type: Req
// CmdID: 8716
message GEBBMDCOLCH {
	repeated EPKFPIDHMOC CONJCEMAHGN = 7; // offset: 16
}

// Type: Rsp
// CmdID: 8408
message ALNFEBKHCFC {
	uint32 retcode = 5; // offset: 24
}

// Obf: FLGMGNEOFBH
message GridFightConsumableUpdateInfo {
	int32 HFNNNGHBHGG = 2; // offset: 24
	uint32 round_cnt = 7; // offset: 40
	uint32 item_id = 9; // offset: 28
	uint32 num = 10; // offset: 32
	uint32 group_id = 14; // offset: 36
}

// Obf: AOFOEOIJEHF
message GridFightGameItemSyncInfo {
	repeated GridFightConsumableUpdateInfo PFMDKHIDDLB = 4; // offset: 16
	repeated GridFightEquipmentInfo grid_fight_equipment_list = 8; // offset: 32
}

// Obf: PIHKLPJGEPM
message GridFightPlayerLevelSyncInfo {
	uint32 HFMKLAPEKFA = 3; // offset: 32
	uint32 level = 8; // offset: 24
	uint32 exp = 14; // offset: 28
}
message FMJDDIHBELC {
	uint32 grid_fight_lineup_hp = 5; // offset: 24
	uint32 PPKKHHNEOHB = 7; // offset: 28
}

// Obf: HONNGJEMGGH
message GridFightShopSyncInfo {
	bool ABGEKPJHHIA = 1; // offset: 40
	uint32 OPDCMCFOFAA = 5; // offset: 44
	MONJNCPINKN ABBNGCPECAI = 6; // offset: 24
	uint32 NFGMOPCCPIC = 8; // offset: 48
	repeated GridFightShopGoodsInfo OGDKJPDFFAI = 9; // offset: 32
}
message GLPCEKMKLGG {
	repeated uint32 grid_fight_avatar_list = 13; // offset: 24
}
message MOENFCDKGMJ {
	uint32 portal_buff_id = 6; // offset: 24
}

// Obf: AINFNFIDGFF
message GridFightLevelSyncInfo {
	uint32 DCAHJELNJNP = 2; // offset: 36
	uint32 section_id = 9; // offset: 32
	GridFightLayerInfo IMPNAHBCADN = 12; // offset: 16
}

// Obf: MMEDLCAENAL
message GridFightOrbSyncInfo {
	uint32 unique_id = 6; // offset: 28
	uint32 LDBNOMPCOKK = 9; // offset: 24
}

// Obf: FBCIJONDIJE
message GridFightTraitTrackSyncInfo {
	repeated uint32 ONHDKLIMLNM = 2; // offset: 24
	bool GHJLDDEDJLI = 12; // offset: 32
}

// Obf: JJOBHGFOGHP
message RoleTrackEquipmentInfo {
	uint32 BGFFICLCKHE = 3; // offset: 44
	uint32 priority = 8; // offset: 48
	repeated uint32 MCJMHBIECMN = 9; // offset: 24
	GridFightEquipTrackSource source = 12; // offset: 40
	repeated uint32 grid_fight_item_list = 13; // offset: 16
}
message MDKHMNKAECP {
	repeated RoleTrackEquipmentInfo MIIDIMOCPEB = 6; // offset: 16
}
message KEPIEGKPFIJ {
	uint32 MOADBALHMFD = 11; // offset: 24
}
message JPGKBLDLADF {
	oneof MNLCHEJKDHO {
		uint32 AOKPCNJJBAO = 2; // offset: 24
		GridFightCurrentTask KBBOAJPMNCN = 3; // offset: 24
		uint32 CEPEHNEOIOH = 6; // offset: 24
	}
}
message HJCAJKHNCDH {
	oneof MNLCHEJKDHO {
		AFCBKJEFKPG AIGPJLHBNEH = 9; // offset: 24
		AFCBKJEFKPG JNIOBAPDKLN = 3; // offset: 24
		uint32 MLAGBPIANKG = 1; // offset: 24
	}
}

// Obf: KFNCAIHIHCM
message GridFightSyncData {
	oneof MNLCHEJKDHO {
		GridGameRoleInfo PIDDDHKPDDM = 1830; // offset: 16
		GridGameRoleInfo CFOCDALNCBP = 1071; // offset: 16
		uint32 HFCBOIOAECK = 1726; // offset: 16
		GridFightGameItemSyncInfo LMOLELDIKMA = 2016; // offset: 16
		GridFightGameItemSyncInfo DDBKEOPKPFI = 2004; // offset: 16
		GridFightGameItemSyncInfo PENGEDECBNF = 457; // offset: 16
		uint32 item_value = 542; // offset: 16
		GridFightPlayerLevelSyncInfo PLPHEIBLPDL = 873; // offset: 16
		FMJDDIHBELC grid_fight_lineup_hp = 1865; // offset: 16
		uint32 BPCFDPNHIEL = 450; // offset: 16
		GridFightShopSyncInfo MOFNIOJHBBL = 359; // offset: 16
		GridFightPendingAction FMIGOKIDKJL = 1938; // offset: 16
		MOENFCDKGMJ HPIIGHOELBH = 1114; // offset: 16
		GridFightLevelSyncInfo OOICHLAMNIG = 1061; // offset: 16
		GridFightOrbSyncInfo AFILIPBHMOO = 1769; // offset: 16
		GridFightSectionRecordInfo DMHMICHJBCB = 1253; // offset: 16
		GridFightGameAugmentUpdate LEADDFOJFKD = 1578; // offset: 16
		uint32 MDDKJGPJOAF = 294; // offset: 16
		uint32 PMFBIGLPJJA = 1073; // offset: 16
		uint32 KNFOCCPOJEA = 806; // offset: 16
		uint32 BEPMODICONA = 281; // offset: 16
		GridFightTraitSyncInfo HKHJJCMKKJE = 386; // offset: 16
		GridFightTraitTrackSyncInfo HGNDMOODNKF = 304; // offset: 16
		uint32 GDAKCOICIDA = 586; // offset: 16
		uint32 MICEOJBAKGN = 612; // offset: 16
		uint32 JLOCMDIDPCI = 1132; // offset: 16
		GridFightDamageSttInfo NKBIDLBLONC = 815; // offset: 16
		KEPIEGKPFIJ FGODNPLCECH = 1446; // offset: 16
		GridGameNpcInfo EJMDHDJCGDI = 666; // offset: 16
		GridGameNpcInfo DHLEOLKNAMI = 1226; // offset: 16
		uint32 NJCEFEJBEOP = 261; // offset: 16
		GridGameForgeItemInfo OLCKALFILKK = 1293; // offset: 16
		GridGameForgeItemInfo FEKCPKAPHHO = 917; // offset: 16
		uint32 OACCGHIHLBA = 1233; // offset: 16
		GridFightGameAugmentAdd EIKHFBCKIFA = 1463; // offset: 16
		MDKHMNKAECP BMGFDIKDOBE = 755; // offset: 16
		GridFightGameItemInfo GOOCHGKBIPN = 528; // offset: 16
		uint32 GOHHJLAPMBB = 1222; // offset: 16
		uint32 DGEOHFLHAHI = 130; // offset: 16
		JPGKBLDLADF LDKDJAEJMPA = 1993; // offset: 16
		GMBMNFLMKPI JOMFJHOCHJP = 1077; // offset: 16
		uint32 KALKCJFFJIK = 247; // offset: 16
		FPHPFJLAJDK GOJINGMMAIL = 1388; // offset: 16
		FPHPFJLAJDK CPCJGHCGLIJ = 68; // offset: 16
		uint32 DEKGKLGIDGI = 562; // offset: 16
		PFBCBNMKFAK AHMMHGHNHMI = 1681; // offset: 16
		uint32 OOAGJADOJNB = 165; // offset: 16
		uint32 CDKJHJNFDIH = 67; // offset: 16
		uint32 LDPPDHGNCHL = 911; // offset: 16
		FADHEIGJENF HJMAEDKCONE = 1633; // offset: 16
		GLPCEKMKLGG PPJFPNMIFHL = 1097; // offset: 16
		uint32 LOGJNAICJPA = 456; // offset: 16
		LAAMIAJFOMC MHFOELCFJGK = 235; // offset: 16
		HOGJECBMFHD BKDDCFHELNB = 1501; // offset: 16
		HJCAJKHNCDH CKNDFNACIPO = 1420; // offset: 16
	}
}
message ABPLALCHNFA {
	repeated uint32 OOEOCGLLHFO = 6; // offset: 24
	repeated GridFightSyncData JKPJFKCBIEM = 7; // offset: 16
	GridFightUpdateSrcType grid_update_src = 13; // offset: 40
}

// Obf: OILCMCPNBEO
// Type: Notify
// CmdID: 8602
message GridFightSyncUpdateResultScNotify {
	repeated ABPLALCHNFA GCPNIHHBGGD = 6; // offset: 24
}
message MHEGMHKHAAD {
	uint32 pos_index = 7; // offset: 24
	uint32 unique_id = 15; // offset: 28
}

// Obf: GEKBDAKFNHK
// Type: Req
// CmdID: 8522
message GridFightUpdatePosCsReq {
	repeated MHEGMHKHAAD AAKDHMHCMLP = 3; // offset: 16
}

// Obf: LMKKDOLLDJK
// Type: Rsp
// CmdID: 8631
message GridFightUpdatePosScRsp {
	uint32 retcode = 6; // offset: 32
	repeated MHEGMHKHAAD AAKDHMHCMLP = 11; // offset: 24
}

// Obf: IPHBHKOOGBJ
// Type: Req
// CmdID: 8680
message GridFightRecycleRoleCsReq {
	uint32 unique_id = 12; // offset: 24
}

// Obf: JGAEMGBIAIK
// Type: Rsp
// CmdID: 8449
message GridFightRecycleRoleScRsp {
	uint32 retcode = 2; // offset: 24
}

// Type: Req
// CmdID: 8608
message KOIAMDKEFKH {
	GridFightEquipDressSource CPFCNOAJCGK = 2; // offset: 24
	uint32 MDNAGANGNKK = 4; // offset: 32
	uint32 PEBCBLBLMPH = 14; // offset: 28
}

// Type: Rsp
// CmdID: 8740
message JIOMOCFOMOA {
	uint32 retcode = 5; // offset: 24
}

// Type: Req
// CmdID: 8570
message BDNCOOANAEA {
	repeated uint32 EHDAKFEHPMF = 6; // offset: 16
	uint32 NNFECNICMOD = 9; // offset: 32
	uint32 JCNLCNFHHDG = 10; // offset: 40
	GridFightEquipCraftSource source = 13; // offset: 36
}

// Type: Rsp
// CmdID: 8488
message MFLDDCIFAJN {
	uint32 retcode = 1; // offset: 24
}
message BDDDLOFNCHN {
	uint32 MDNAGANGNKK = 11; // offset: 24
}
message HPJKBFKAKJH {
	uint32 MDNAGANGNKK = 12; // offset: 28
	uint32 PEBCBLBLMPH = 13; // offset: 24
}
message BEBIJAKFNLO {
	uint32 PEBCBLBLMPH = 6; // offset: 24
}
message GBJHJGCOJBC {
	uint32 MDNAGANGNKK = 1; // offset: 24
}
message AMFIFNOCDOF {
	uint32 MDNAGANGNKK = 11; // offset: 24
}

// Obf: LMIFHAMFCFE
message GridFightConsumableTargetInfo {
	oneof NEBNJDMFELO {
		BDDDLOFNCHN AALCFBOGFKP = 1461; // offset: 16
		HPJKBFKAKJH IMILGHELNBJ = 1646; // offset: 16
		BEBIJAKFNLO KMCBBKIHBKF = 453; // offset: 16
		GBJHJGCOJBC AEOIKFNKAAP = 1600; // offset: 16
		AMFIFNOCDOF HLKKCAFGCIJ = 1794; // offset: 16
	}
}

// Type: Req
// CmdID: 8572
message MOIONLDJGJI {
	GridFightConsumableTargetInfo param = 2; // offset: 24
	uint32 item_id = 10; // offset: 36
	uint32 group_id = 12; // offset: 32
}

// Type: Rsp
// CmdID: 8647
message KAHAOOJHJPK {
	uint32 retcode = 3; // offset: 24
}

// Type: Req
// CmdID: 8447
message OEBKLEPMMKE {
	uint32 PFIKCNFBGHE = 5; // offset: 24
	uint32 unique_id = 12; // offset: 28
}

// Type: Rsp
// CmdID: 8699
message FHNLBDMKPEM {
	uint32 retcode = 7; // offset: 24
}

// Type: Req
// CmdID: 8718
message IKMOCJBMGOJ {
	bool is_get_all = 3; // offset: 32
	repeated uint32 CBMGDBJHLHO = 11; // offset: 24
}

// Type: Rsp
// CmdID: 8664
message PNHDGCBLPGD {
	uint32 retcode = 4; // offset: 24
}

// Type: Notify
// CmdID: 8595
message GDHFMHKFEAL {
	uint32 FKNNKCKLFMD = 6; // offset: 32
	GridFightDropInfo NMGIABHIJJB = 11; // offset: 16
}

// Type: Req
// CmdID: 8682
message LFEFLIMJOGO {
}

// Type: Rsp
// CmdID: 8422
message HMBDOOHKIBC {
	uint32 retcode = 5; // offset: 24
}

// Type: Req
// CmdID: 8692
message LKDMCPDHEGM {
}

// Type: Rsp
// CmdID: 8644
message CEGIAKADMHP {
	uint32 retcode = 8; // offset: 24
}

// Type: Req
// CmdID: 8514
message CFHEKNFNMIP {
	bool is_locked = 8; // offset: 24
}

// Type: Rsp
// CmdID: 8661
message CGBKKGNFMKL {
	uint32 retcode = 9; // offset: 24
}

// Type: Req
// CmdID: 8483
message JBOOPAPNFDC {
	bool CIBONIOHELB = 5; // offset: 32
	repeated uint32 CGAFCMIAKLI = 12; // offset: 16
}

// Type: Rsp
// CmdID: 8492
message CBEEKLPIEMK {
	uint32 retcode = 3; // offset: 24
}
message ENDFBBDFFDH {
}
message NBNLDHBELLO {
	uint32 role_id = 1; // offset: 28
	uint32 weight = 10; // offset: 24
}
message LHCOHLJIAII {
	uint32 num = 7; // offset: 24
	uint32 role_id = 13; // offset: 28
}

// Type: Rsp
// CmdID: 8470
message CNOAPAMNDOA {
	repeated NBNLDHBELLO LFJLNAHJNBE = 10; // offset: 32
	repeated LHCOHLJIAII KGOEHKJIONM = 12; // offset: 24
	uint32 retcode = 14; // offset: 40
}

// Obf: PEFKOGMGEIC
message GridFightPortalBuffActionInfo {
	repeated uint32 NPHOIMEEDHM = 4; // offset: 24
	uint32 PLPJNCDKMAD = 6; // offset: 40
	uint32 DAEMEBCKHIK = 7; // offset: 32
	uint32 GMLNOOHJCHM = 12; // offset: 36
}

// Obf: IHGANLCNHBD
message GridFightPendingAugmentInfo {
	uint32 FEGDEOEHLFD = 3; // offset: 32
	uint32 KKIOBDHKPPK = 8; // offset: 28
	uint32 augment_id = 10; // offset: 24
}

// Obf: IPFFLNPMCEG
message GridFightAugmentActionInfo {
	repeated GridFightPendingAugmentInfo CEBFFDFMKGK = 2; // offset: 16
}
message NGNKIIOHBAI {
	repeated uint32 OLPPMEAMFFO = 4; // offset: 24
	uint32 effect_id = 8; // offset: 36
	uint32 trait_id = 13; // offset: 32
}
message HNPHLAHJPOB {
	uint32 DAEMEBCKHIK = 1; // offset: 24
	uint32 PLPJNCDKMAD = 5; // offset: 28
}
message IAKEDFLIOFD {
	uint32 PLPJNCDKMAD = 1; // offset: 36
	uint32 JJPMDBCPJBA = 4; // offset: 40
	uint32 DAEMEBCKHIK = 7; // offset: 32
	uint32 IONLFBNMOFP = 13; // offset: 44
	repeated GridFightSupplyRoleInfo MFBAKLCBPCJ = 14; // offset: 24
}
message LEGPFIAPLOO {
	bool NKDEGMKKHPB = 4; // offset: 40
	uint32 effect_id = 5; // offset: 44
	uint32 trait_id = 6; // offset: 48
	repeated uint32 LAJLGHPLAAA = 10; // offset: 24
	repeated uint32 EGJDILDEAKP = 15; // offset: 16
}
message DPHPAKFLNOD {
}
message HJPDALHDJHC {
}
message MHJIOJNNPDM {
	repeated uint32 KBECJMLLCEJ = 1; // offset: 16
}

// Obf: COGDEMPCLHA
message GridFightRecommendEquipmentActionInfo {
	repeated uint32 KBECJMLLCEJ = 10; // offset: 24
}

// Obf: FGLLAJMCPKM
message GridFightForgeRoleActionInfo {
	uint32 LCLPEJHEAID = 11; // offset: 32
	repeated PGECGKEKFNC CKJAKKNOHEK = 13; // offset: 16
}
message FKJMGFOPHHN {
	repeated FLFHACPLDJE CKJAKKNOHEK = 2; // offset: 24
	uint32 LCLPEJHEAID = 3; // offset: 32
}
message GEIBJKJDOHO {
	repeated uint32 FJBFGEIGMHF = 1; // offset: 16
	uint32 effect_id = 3; // offset: 32
	uint32 trait_id = 15; // offset: 36
}
message BJALEHOMFKH {
	repeated uint32 OLPPMEAMFFO = 2; // offset: 16
	uint32 effect_id = 3; // offset: 36
	uint32 trait_id = 12; // offset: 32
}
message BPENENIMEFE {
	GridFightDropInfo GHBBCIIPHKJ = 8; // offset: 24
	uint32 quest_id = 10; // offset: 32
	bool IJJDEHIPOEL = 11; // offset: 36
}
message CFFDCICDAKK {
	repeated BPENENIMEFE EKBOGBMPAPJ = 2; // offset: 24
}

// Obf: CHCHAJIANIM
message GridFightPendingAction {
	uint32 queue_position = 10; // offset: 32
	oneof FGLIODAJFML {
		GridFightPortalBuffActionInfo MFFCPLBNHCF = 339; // offset: 24
		GridFightAugmentActionInfo IBCHMBNIPLK = 1379; // offset: 24
		NGNKIIOHBAI PKHJLKNGCGH = 52; // offset: 24
		HNPHLAHJPOB BAKAKODKECM = 775; // offset: 24
		LEGPFIAPLOO JLPOPEAJHMF = 334; // offset: 24
		DPHPAKFLNOD NNDGEJFLGGF = 1071; // offset: 24
		HJPDALHDJHC LGNPHHBGKFH = 628; // offset: 24
		IAKEDFLIOFD FIKAGBAEOAP = 111; // offset: 24
		MHJIOJNNPDM HOKCPPPLJIO = 2033; // offset: 24
		GridFightRecommendEquipmentActionInfo HHNPEHMBDKD = 527; // offset: 24
		GridFightForgeRoleActionInfo HHNHGJMOGDD = 1479; // offset: 24
		FKJMGFOPHHN CFDIPFKBFJB = 139; // offset: 24
		GEIBJKJDOHO LAJGNNBOLDG = 1548; // offset: 24
		BJALEHOMFKH LFIDNOAECMN = 1986; // offset: 24
		CFFDCICDAKK IOHJGOENAPF = 1005; // offset: 24
	}
}
message LAPOAFHDNCM {
	uint32 JCAPCNLJGFC = 2; // offset: 24
}
message EPLJJNHCJIF {
}
message CJPOMFIDLOA {
	uint32 augment_id = 10; // offset: 24
}
message GIOLAAKLDED {
	uint32 augment_id = 15; // offset: 24
}
message GKLDOELMEIN {
	uint32 unique_id = 7; // offset: 24
}
message OHAINOHGKCM {
	uint32 MOADBALHMFD = 10; // offset: 24
}
message DGILDLDMGEI {
}
message HMNMJKCHABE {
	repeated uint32 LOAFKKAFBOK = 3; // offset: 16
}
message PDKGKIDCBKA {
	uint32 BCIGPPFMLJB = 13; // offset: 24
}
message PCCGPNAFMHP {
	uint32 BCIGPPFMLJB = 12; // offset: 24
}
message LFONAPFHAOB {
	uint32 PFIKCNFBGHE = 5; // offset: 24
}
message FNNFHNKHIDD {
	uint32 PFIKCNFBGHE = 5; // offset: 24
}
message IDOJADMFGKF {
	uint32 ratio = 13; // offset: 24
}
message EJEFKJGAKOO {
	uint32 effect_id = 2; // offset: 24
	uint32 MENFBEDCBHB = 11; // offset: 28
	uint32 trait_id = 12; // offset: 32
}
message KCCPHHGCPMP {
	uint32 JLLFIDAMBCN = 15; // offset: 24
}
message DFMGEJCCBPD {
}
message NIDJPBLNDLH {
	uint32 HAFOKMHCGFM = 10; // offset: 24
}
message NNFPCAPDENH {
}
message AJDFPFHBFJM {
}
message NEMAKFJPGDF {
}
message FKILNIGOKBF {
	uint32 role_id = 10; // offset: 24
}

// Obf: AFPDIFAPAEA
// Type: Req
// CmdID: 8445
message GridFightHandlePendingActionCsReq {
	uint32 queue_position = 4; // offset: 36
	oneof FGLIODAJFML {
		LAPOAFHDNCM MFFCPLBNHCF = 2023; // offset: 24
		EPLJJNHCJIF DCPHLHNLNKF = 1901; // offset: 24
		CJPOMFIDLOA IBCHMBNIPLK = 1939; // offset: 24
		GIOLAAKLDED DAJDBBEPMMA = 656; // offset: 24
		GKLDOELMEIN PKHJLKNGCGH = 1607; // offset: 24
		OHAINOHGKCM BAKAKODKECM = 690; // offset: 24
		NIDJPBLNDLH JLPOPEAJHMF = 1162; // offset: 24
		NNFPCAPDENH KEBDKGKEJDD = 301; // offset: 24
		AJDFPFHBFJM NNDGEJFLGGF = 1142; // offset: 24
		NEMAKFJPGDF LGNPHHBGKFH = 497; // offset: 24
		HMNMJKCHABE FIKAGBAEOAP = 827; // offset: 24
		DFMGEJCCBPD IACBCOBMGJB = 349; // offset: 24
		PDKGKIDCBKA HOKCPPPLJIO = 374; // offset: 24
		DGILDLDMGEI EMMPHLKJAJN = 1304; // offset: 24
		PCCGPNAFMHP HHNPEHMBDKD = 1095; // offset: 24
		LFONAPFHAOB HHNHGJMOGDD = 885; // offset: 24
		FNNFHNKHIDD CFDIPFKBFJB = 210; // offset: 24
		IDOJADMFGKF NFBJINKLLLK = 1748; // offset: 24
		EJEFKJGAKOO LAJGNNBOLDG = 1884; // offset: 24
		FKILNIGOKBF LFIDNOAECMN = 1593; // offset: 24
		KCCPHHGCPMP IOHJGOENAPF = 1247; // offset: 24
	}
}

// Obf: CJLEJIGIKOF
// Type: Rsp
// CmdID: 8798
message GridFightHandlePendingActionScRsp {
	uint32 retcode = 12; // offset: 28
	uint32 queue_position = 13; // offset: 24
}

// Type: Req
// CmdID: 8464
message IAABDBBJHOL {
	bool is_overlock = 1; // offset: 28
	uint32 LJNGPCKPJLF = 7; // offset: 32
	uint32 division_id = 14; // offset: 24
}

// Type: Rsp
// CmdID: 8779
message DHOCOJLJPPA {
	GridFightCurrentInfo DHFOFLFCLAH = 6; // offset: 16
	uint32 retcode = 13; // offset: 32
}

// Type: Req
// CmdID: 8794
message CFIDOJGKBHB {
}

// Type: Rsp
// CmdID: 8539
message GGAMIKNEDGE {
	uint32 retcode = 10; // offset: 24
}

// Type: Req
// CmdID: 8763
message AAMEAOBEGKA {
	uint32 unique_id = 1; // offset: 24
}

// Type: Rsp
// CmdID: 8679
message FGMKGOIIFFL {
	uint32 retcode = 15; // offset: 24
}

// Type: Req
// CmdID: 8468
message PAJHFEKAPMN {
	uint32 EGAPEGCKDFJ = 8; // offset: 24
}

// Type: Rsp
// CmdID: 8745
message ABCBKHAIEOG {
	uint32 retcode = 8; // offset: 24
}

// Obf: LHDIOCPFGHJ
// Type: Req
// CmdID: 8478
message GridFightEnterBattleStageCsReq {
}

// Obf: NGIPBCJPFPG
// Type: Rsp
// CmdID: 8695
message GridFightEnterBattleStageScRsp {
	uint32 retcode = 5; // offset: 32
	SceneBattleInfo battle_info = 10; // offset: 16
}

// Obf: GEDDNPGHNGP
message GridFightHpModifyInfo {
	uint32 IOAOHNDEJNB = 2; // offset: 36
	GridFightUpdateGlobalHpReason reason = 9; // offset: 28
	uint32 EOBOFDOGDDM = 10; // offset: 32
	int32 ODJEBDNBLLC = 11; // offset: 40
	int32 BMMADDOCJOG = 13; // offset: 24
}
message NFPLDMFCLHA {
	uint32 level = 1; // offset: 28
	uint32 KDBMPKJKAKI = 2; // offset: 32
	uint32 exp = 3; // offset: 24
}
message GEEMFDBDMDH {
	NFPLDMFCLHA LHIAODNJIIC = 5; // offset: 16
	uint32 PBMAHOJBAGG = 10; // offset: 40
	NFPLDMFCLHA EDCLIPCEHAO = 11; // offset: 32
}

// Obf: ELDJBEKOLHB
// Type: Notify
// CmdID: 8459
message GridFightEndBattleStageNotify {
	uint32 DMNILJEGICO = 1; // offset: 108
	GridFightDamageSttInfo NKBIDLBLONC = 2; // offset: 48
	uint32 JPKHBELGHCG = 3; // offset: 68
	uint32 DCAHJELNJNP = 5; // offset: 96
	uint32 EMOHLJHPOPC = 6; // offset: 56
	uint32 HFLPDCJDIAC = 7; // offset: 92
	uint32 OGLOCDMNNIM = 8; // offset: 80
	map<uint32, GridFightDropInfo> AFFFCONCDMG = 9; // offset: 16
	bool CBHJKFNCDAD = 13; // offset: 76
	uint32 section_id = 15; // offset: 60
	uint32 CLFNPMGHMFC = 323; // offset: 100
	uint32 OAHFCPPIMLF = 471; // offset: 72
	uint32 ODJEBDNBLLC = 1105; // offset: 84
	uint32 OCCOHKIMGCN = 1115; // offset: 104
	GEEMFDBDMDH AEOCOGHMEBG = 1250; // offset: 40
	repeated GridFightHpModifyInfo HMKOKACNHJH = 1429; // offset: 32
	uint32 PAGPKOKMDBK = 1637; // offset: 64
	uint32 LKCJAPIGEND = 1987; // offset: 88
}

// Type: Req
// CmdID: 8650
message ILCPGLAAADL {
}

// Type: Rsp
// CmdID: 8757
message FLHIDBDFFKG {
	uint32 retcode = 1; // offset: 24
}
message GPCFHMLMDHC {
	uint32 unique_id = 9; // offset: 24
}
message AFPJPEABFKH {
	uint32 EAKBFELDDBF = 12; // offset: 24
}
message MHKNPBJDFIC {
	uint32 role_id = 9; // offset: 24
}

// Obf: PHIFCNHKOAI
// Type: Req
// CmdID: 8620
message GridFightTraitUpdateCsReq {
	uint32 effect_id = 8; // offset: 36
	uint32 trait_id = 12; // offset: 40
	oneof NEBNJDMFELO {
		GPCFHMLMDHC FFBEPFLBHPL = 897; // offset: 24
		AFPJPEABFKH JLCLHAKNMLL = 1879; // offset: 24
		MHKNPBJDFIC LFIDNOAECMN = 1854; // offset: 24
	}
}

// Obf: IEKGANLHMHM
// Type: Rsp
// CmdID: 8554
message GridFightTraitUpdateScRsp {
	uint32 retcode = 14; // offset: 24
}

// Type: Req
// CmdID: 8519
message MCDBJHOCGHI {
	uint32 trait_id = 9; // offset: 24
	bool BJDOINAHDLN = 11; // offset: 28
}

// Type: Rsp
// CmdID: 8668
message IIFPPBCFBBC {
	uint32 retcode = 8; // offset: 24
}
message HLHHLIGPNOM {
	repeated uint32 MCJMHBIECMN = 1; // offset: 32
	repeated uint32 grid_fight_item_list = 5; // offset: 24
	GridFightEquipTrackSource source = 6; // offset: 40
	bool BJDOINAHDLN = 9; // offset: 48
	uint32 priority = 10; // offset: 44
	uint32 BGFFICLCKHE = 15; // offset: 52
}

// Obf: FDBMEIIMMJD
// Type: Req
// CmdID: 8689
message GridFightUpdateEquipTrackCsReq {
	repeated HLHHLIGPNOM DKEIDONNDCJ = 9; // offset: 24
	GridFightEquipTrackSource source = 14; // offset: 32
}

// Obf: KLLHNFLCDGF
// Type: Rsp
// CmdID: 8729
message GridFightUpdateEquipTrackScRsp {
	uint32 retcode = 15; // offset: 24
}
message EPELDFBCCEK {
	uint32 BGFFICLCKHE = 5; // offset: 24
	uint32 priority = 15; // offset: 28
}

// Type: Req
// CmdID: 8584
message POIBJKBDLLI {
	repeated EPELDFBCCEK BFCMLCJMLOL = 15; // offset: 16
}

// Type: Rsp
// CmdID: 8413
message LLPMAKIHAPL {
	uint32 retcode = 4; // offset: 24
}

// Type: Req
// CmdID: 8498
message AAGHPDHCOOI {
	uint32 LKMEMKLGIIK = 9; // offset: 24
}

// Type: Rsp
// CmdID: 8552
message LCFAAGEJGBG {
	uint32 retcode = 12; // offset: 24
}

// Type: Req
// CmdID: 8581
message NDAMFDIDKGB {
	uint32 MOADBALHMFD = 11; // offset: 24
}

// Type: Rsp
// CmdID: 8697
message AIDDODLHDLE {
	uint32 retcode = 10; // offset: 24
}

// Type: Req
// CmdID: 8768
message AGOBLKJFJDL {
	uint32 OOPFNFIGPKB = 10; // offset: 28
	uint32 NFBJINKLLLK = 15; // offset: 24
}

// Type: Rsp
// CmdID: 8702
message EMFJDODNGIF {
	uint32 retcode = 9; // offset: 24
}
message PLFKMENCDMM {
	uint32 role_star = 1; // offset: 36
	uint32 role_id = 2; // offset: 32
	bool DIGNECHKINI = 3; // offset: 41
	bool OGIBPMBELKC = 5; // offset: 40
	repeated uint32 grid_fight_equipment_list = 7; // offset: 16
	double total_damage = 10; // offset: 48
}
message KINJHHBJNJP {
	uint32 trait_id = 7; // offset: 24
	uint32 layer = 9; // offset: 28
	double damage = 13; // offset: 32
}
message NFIDNDFHJGN {
	double damage = 1; // offset: 40
	double KINKMHEAANP = 11; // offset: 24
	uint32 augment_id = 14; // offset: 32
}
message GOCIGPCDKDJ {
	uint32 PAGPKOKMDBK = 2; // offset: 56
	uint32 EMOHLJHPOPC = 5; // offset: 48
	uint32 section_id = 6; // offset: 40
	uint32 LKCJAPIGEND = 8; // offset: 44
	uint32 FDGKBOIEHBD = 10; // offset: 36
	repeated uint32 FMEOHKHGMJM = 12; // offset: 24
	uint32 AACGBEBGDPE = 13; // offset: 52
	uint32 DCAHJELNJNP = 15; // offset: 32
}
message OEDHMAHDECC {
	repeated GridGameTraitInfo grid_fight_trait_info = 3; // offset: 96
	uint32 LLJJCOOKANH = 6; // offset: 172
	repeated GridFightGamePortalBuffInfo OAIGAGABCMK = 7; // offset: 88
	repeated GridGameAugmentInfo sync_augment_info = 8; // offset: 128
	GOCIGPCDKDJ basic = 12; // offset: 40
	repeated PLFKMENCDMM EEGPILJDLBG = 13; // offset: 120
	repeated FPHPFJLAJDK KCOMPKMJCMC = 393; // offset: 56
	repeated GridGameRoleInfo grid_game_role_list = 636; // offset: 104
	repeated uint32 MHLBIBGKIOB = 682; // offset: 136
	repeated NFIDNDFHJGN JFCHLABGFJO = 738; // offset: 152
	repeated KINJHHBJNJP APABPAFGCIA = 762; // offset: 112
	uint32 MBMJNEDIFFC = 910; // offset: 176
	bool is_overlock = 1284; // offset: 160
	GLPCEKMKLGG PPJFPNMIFHL = 1290; // offset: 16
	bool DBODGPBOIHC = 1293; // offset: 161
	CLFABOEKMJI JLDDDLDNFEF = 1303; // offset: 72
	repeated uint32 HGAGKFEKBDA = 1311; // offset: 80
	repeated GridGameNpcInfo grid_game_npc_list = 1426; // offset: 48
	GridFightSettleReason reason = 1547; // offset: 168
	uint32 AKEGLJLCFPH = 1568; // offset: 164
	repeated LAAMIAJFOMC CFFCNEDGCJJ = 1846; // offset: 64
	KGMCLFHAJNJ boss_info = 1866; // offset: 32
	repeated GridFightEquipmentInfo grid_fight_equipment_list = 1972; // offset: 24
}

// Obf: OLPFMPIKIPK
// Type: Notify
// CmdID: 8698
message GridFightSettleNotify {
	uint32 GEBGGMAGDJB = 5; // offset: 32
	uint32 KEJGCDOGEDD = 6; // offset: 40
	uint32 FLHOPMMEGAI = 10; // offset: 52
	uint32 NMCKJPEMACM = 13; // offset: 60
	uint32 EDHKHJAPMKA = 14; // offset: 36
	uint32 CDANKDNACJP = 15; // offset: 56
	OEDHMAHDECC BFLLJJBHLDF = 42; // offset: 16
	uint32 CGKNDIJMOCJ = 93; // offset: 48
	uint32 MNNKKEPCPPL = 457; // offset: 44
}

// Obf: FMNKKAMOHEE
message GridFightTalentInfo {
	repeated uint32 BDGMNPIJDDL = 13; // offset: 16
}
message GLIFOLCEMIN {
	uint32 PIFOEGCGKLC = 11; // offset: 28
	uint32 KEJGCDOGEDD = 15; // offset: 24
}

// Obf: AMEEHIIPMFP
message GridFightStaticGameInfo {
	GLIFOLCEMIN exp = 2; // offset: 24
	uint32 ADFEKPNIFOJ = 3; // offset: 64
	uint32 GEBGGMAGDJB = 7; // offset: 56
	uint32 GEGMHOMNBDG = 8; // offset: 48
	uint32 GDAKCOICIDA = 9; // offset: 52
	GridFightTalentInfo MHFHLBHFIBC = 11; // offset: 16
	uint32 division_id = 13; // offset: 60
	GridFightHandBookInfo NLENPEPIHAC = 15; // offset: 32
}
message CKPOBLIFMGN {
	GridFightTalentInfo MHFHLBHFIBC = 11; // offset: 24
}

// Obf: CLEDCMIOIPF
message GridFightSystemInfo {
	GridFightStaticGameInfo HFPEJIDDDJG = 11; // offset: 32
	CKPOBLIFMGN PKELAIPIHMF = 12; // offset: 16
}

// Obf: CKIKMLCGLFK
// Type: Req
// CmdID: 8435
message GridFightPermanentTalentEnableCsReq {
	uint32 CKHCLKOALKE = 4; // offset: 24
}

// Obf: KCADLPJDECG
// Type: Rsp
// CmdID: 8717
message GridFightPermanentTalentEnableScRsp {
	uint32 CKHCLKOALKE = 8; // offset: 24
	uint32 retcode = 14; // offset: 28
}

// Obf: NOGLDANAKDO
// Type: Req
// CmdID: 8441
message GridFightSeasonTalentEnableCsReq {
	uint32 CKHCLKOALKE = 1; // offset: 24
}

// Obf: MNJCFFIDJFO
// Type: Rsp
// CmdID: 8484
message GridFightSeasonTalentEnableScRsp {
	uint32 retcode = 1; // offset: 28
	uint32 CKHCLKOALKE = 13; // offset: 24
}

// Obf: OCOONGAKCMI
// Type: Req
// CmdID: 8411
message GridFightPermanentTalentResetCsReq {
}

// Obf: AMELHLBNKAM
// Type: Rsp
// CmdID: 8423
message GridFightPermanentTalentResetScRsp {
	uint32 retcode = 4; // offset: 24
}

// Obf: OCFPHHCOIHI
// Type: Req
// CmdID: 8700
message GridFightSeasonTalentResetCsReq {
}

// Obf: CBICBHJDHLO
// Type: Rsp
// CmdID: 8412
message GridFightSeasonTalentResetScRsp {
	uint32 retcode = 14; // offset: 24
}
message CENBJOMMJGD {
	uint32 item_count = 1; // offset: 28
	uint32 item_type = 14; // offset: 24
}

// Obf: HFIDFIANHAN
// Type: Notify
// CmdID: 8710
message GridFightSyncVirtualItemNotify {
	repeated CENBJOMMJGD item_list = 15; // offset: 16
}

// Obf: NCHKFJPOHAH
message GridFightHandBookRoleInfo {
	repeated uint32 grid_fight_avatar_list = 2; // offset: 16
}

// Obf: FCEILNCDMAH
message GridFightHandBookEquipInfo {
	repeated uint32 grid_fight_item_list = 15; // offset: 16
}

// Obf: GKNIJKHENBF
message GridFightHandBookAugmentInfo {
	repeated uint32 DDIFKADGIBO = 4; // offset: 24
	repeated uint32 JICIBCFDHIH = 7; // offset: 16
}

// Obf: NEDHMLJKIOA
message GridFightHandBookPortalInfo {
	repeated uint32 DJJBKIGBGJA = 1; // offset: 32
	repeated uint32 NPHOIMEEDHM = 7; // offset: 24
}

// Obf: AHPHDNBNLPJ
message GridFightHandBookMonsterInfo {
	repeated uint32 HEKMEJLMGFF = 6; // offset: 24
}

// Obf: NMECHIFGKAD
message GridFightHandBookInfo {
	GridFightHandBookMonsterInfo NIOAIKLPACM = 6; // offset: 40
	GridFightHandBookEquipInfo PJBIPMKACOF = 9; // offset: 16
	GridFightHandBookAugmentInfo JLFANEOAHOC = 13; // offset: 56
	GridFightHandBookPortalInfo EJHDGLHCNLH = 14; // offset: 32
	GridFightHandBookRoleInfo DNEGDNEBJMB = 15; // offset: 24
}

// Obf: MNJIFHBGMDJ
// Type: Notify
// CmdID: 8725
message GridFightSeasonHandBookNotify {
	oneof KKNBOACNCON {
		GridFightHandBookRoleInfo KBHGCCENEEC = 518; // offset: 24
		GridFightHandBookEquipInfo LNLDBNIGODI = 1637; // offset: 24
		GridFightHandBookAugmentInfo ODEJBBALEOA = 537; // offset: 24
		GridFightHandBookPortalInfo HLHCCONOKCL = 1531; // offset: 24
		GridFightHandBookMonsterInfo BNFHPKCIFCC = 1069; // offset: 24
	}
}

// Obf: JEBPPPNJJJM
// Type: Notify
// CmdID: 8658
message GridFightWeeklyExtraSeasonExpScRsp {
	uint32 ACDOIGCBGEB = 5; // offset: 24
}
message NDLNIKCCALK {
	bool BPFFFCMMMCH = 1; // offset: 44
	uint32 EDHKHJAPMKA = 5; // offset: 40
	int64 end_time = 7; // offset: 48
	repeated uint32 OPLNKCOLCKJ = 12; // offset: 24
	int64 start_time = 14; // offset: 32
}

// Type: Req
// CmdID: 8651
message LDBJKKCHNGJ {
	repeated uint32 JKCEBHFIENI = 10; // offset: 16
}

// Type: Rsp
// CmdID: 8577
message GAEKHIDCFHF {
	ItemList reward = 1; // offset: 32
	repeated uint32 NGKOFMBBGNL = 3; // offset: 40
	NDLNIKCCALK MGBNEAHCDMA = 4; // offset: 24
	uint32 retcode = 8; // offset: 48
}

// Type: Req
// CmdID: 8766
message LDNPBALACDB {
	repeated uint32 GDCFLPLFJCI = 3; // offset: 24
}

// Type: Rsp
// CmdID: 8516
message HFNIHDLFMCJ {
	uint32 retcode = 9; // offset: 32
	NDLNIKCCALK MGBNEAHCDMA = 14; // offset: 16
}

// Obf: FAIHLAKPABN
message GridFightArchiveData {
	uint32 GEGMHOMNBDG = 7; // offset: 48
	int64 OBNEAIPKGKL = 9; // offset: 56
	bool IECKKCHJMLP = 10; // offset: 32
	OEDHMAHDECC BFLLJJBHLDF = 11; // offset: 24
	uint32 PMBNKEFCICH = 12; // offset: 44
	uint32 LJNGPCKPJLF = 14; // offset: 40
	uint32 BAAGDILLLME = 15; // offset: 36
}

// Obf: KOKMBKGPCFE
// Type: Req
// CmdID: 8530
message GridFightGetArchiveCsReq {
	MLJIILDNDPL type = 14; // offset: 24
}

// Obf: NABNCJEJGLG
// Type: Rsp
// CmdID: 8723
message GridFightGetArchiveScRsp {
	MLJIILDNDPL type = 7; // offset: 32
	repeated GridFightArchiveData MCGGPONOCKC = 10; // offset: 24
	uint32 retcode = 11; // offset: 36
}

// Obf: CIIBIOBDDCE
// Type: Req
// CmdID: 8652
message FavourArchiveCsReq {
	uint32 BAAGDILLLME = 1; // offset: 24
	bool IECKKCHJMLP = 7; // offset: 28
}

// Obf: CECPPJBHMMH
// Type: Rsp
// CmdID: 8676
message FavourArchiveScRsp {
	uint32 BAAGDILLLME = 2; // offset: 24
	uint32 retcode = 3; // offset: 28
	bool IECKKCHJMLP = 7; // offset: 32
}

// Obf: OIOELLNKEDJ
// Type: Notify
// CmdID: 8529
message GridFightSyncKeepWinCntNotify {
	uint32 EHBLJGIENPI = 14; // offset: 24
}

// Type: Req
// CmdID: 8748
message GridFightBackToPrepareCsReq {
}

// Type: Rsp
// CmdID: 8592
message GridFightBackToPrepareScRsp {
	uint32 retcode = 3; // offset: 24
}

// Obf: CBEHKFHNNAI
// Type: Req
// CmdID: 8633
message GetGameFormationCsReq {
}

// Obf: LPIJFPCGAKO
// Type: Rsp
// CmdID: 8583
message GetGameFormationScRsp {
	repeated HENDEHGPKMF FEBFMFMLHPO = 5; // offset: 24
	uint32 DACKJGDGMLN = 6; // offset: 36
	uint32 retcode = 12; // offset: 32
}

// Obf: NOICMGFLOKA
// Type: Req
// CmdID: 8502
message CheckTextCsReq {
	string OHNAIHACIKH = 10; // offset: 16
}

// Obf: OFADBBMPDMM
// Type: Rsp
// CmdID: 8591
message CheckTextRsp {
	uint32 retcode = 8; // offset: 24
}

// Obf: IBEMBMGFDBJ
// Type: Req
// CmdID: 8693
message UpdateGameFormationCsReq {
	bytes JLFIAFKGCOJ = 1; // offset: 16
	uint32 dice_slot_id = 4; // offset: 60
	bool KLLEKHPJGLE = 7; // offset: 56
	string KFPMJKCOJAJ = 11; // offset: 40
	string name = 14; // offset: 48
	string MILBDIPBJGP = 15; // offset: 24
}

// Obf: FKCIBPKMODK
// Type: Rsp
// CmdID: 8696
message UpdateGameFormationScRsp {
	uint32 retcode = 2; // offset: 32
	HENDEHGPKMF EFBDADNLCGL = 4; // offset: 24
}

// Type: Req
// CmdID: 8460
message HKOAOCKBBJA {
	uint32 dice_slot_id = 4; // offset: 24
}

// Type: Rsp
// CmdID: 8465
message OENNAOAFAMA {
	uint32 retcode = 5; // offset: 32
	uint32 JBDFEHDFKNO = 9; // offset: 24
	uint32 DACKJGDGMLN = 10; // offset: 28
}

// Type: Req
// CmdID: 8531
message CCGJDDBKIDE {
	message OAKDCENFILP {
		enum BBFEFIPJMEB {
			BBFEFIPJMEB_OHDJNICJKLK = 0;
			BBFEFIPJMEB_NCBOLDFDGNL = 1;
			BBFEFIPJMEB_EKGPCJLBINA = 2;
		}
	}
	uint32 IMJBFLJPMJB = 1; // offset: 24
	OAKDCENFILP.BBFEFIPJMEB type = 12; // offset: 28
}

// Type: Rsp
// CmdID: 8504
message JKGILKGILAI {
	uint32 DACKJGDGMLN = 6; // offset: 28
	uint32 retcode = 11; // offset: 24
}

// Type: Req
// CmdID: 8750
message PHGFFOEJEBM {
	string EGCPAOEAGLF = 8; // offset: 32
	string PEOODHOAJMP = 9; // offset: 24
}

// Type: Rsp
// CmdID: 8776
message FDJCIHMFOMC {
	uint32 retcode = 7; // offset: 40
	string EGCPAOEAGLF = 8; // offset: 32
	string PEOODHOAJMP = 10; // offset: 16
}

// Obf: FPGIGBAMDDP
enum CmdHeartdialType {
	FPGIGBAMDDP_NLCDGIPGFDJ = 0;
	CmdSubmitEmotionItemCsReq = 6388;
	CmdChangeScriptEmotionScRsp = 6358;
	CmdHeartDialScriptChangeScNotify = 6326;
	CmdSubmitEmotionItemScRsp = 6381;
	CmdGetHeartDialInfoCsReq = 6325;
	CmdHeartDialTraceScriptCsReq = 6313;
	CmdFinishEmotionDialoguePerformanceScRsp = 6347;
	CmdHeartDialTraceScriptScRsp = 6371;
	CmdChangeScriptEmotionCsReq = 6393;
	CmdFinishEmotionDialoguePerformanceCsReq = 6386;
	CmdGetHeartDialInfoScRsp = 6378;
}

enum HeartDialEmotionType {
	HEART_DIAL_EMOTION_TYPE_PEACE = 0;
	HEART_DIAL_EMOTION_TYPE_ANGER = 1;
	HEART_DIAL_EMOTION_TYPE_HAPPY = 2;
	HEART_DIAL_EMOTION_TYPE_SAD = 3;
}

enum HeartDialStepType {
	HeartDialStepType_COEEJALELPF = 0;
	HeartDialStepType_BADPBGFJPNN = 1;
	HeartDialStepType_game_lock_info = 2;
	HeartDialStepType_CCJMKNNHKKE = 3;
	HeartDialStepType_BEJEBBNFGPM = 4;
	HeartDialStepType_NGNFOIHNLMJ = 5;
}

enum HeartDialUnlockStatus {
	HEART_DIAL_UNLOCK_STATUS_LOCK = 0;
	HEART_DIAL_UNLOCK_STATUS_UNLOCK_SINGLE = 1;
	HEART_DIAL_UNLOCK_STATUS_UNLOCK_ALL = 2;
}
message HeartDialDialogueInfo {
	bool GDPHOIMONLN = 12; // offset: 28
	uint32 dialogue_id = 14; // offset: 24
}
message HeartDialScriptInfo {
	uint32 script_id = 5; // offset: 28
	bool EEKCKFGHGEH = 11; // offset: 25
	HeartDialStepType step = 12; // offset: 32
	HeartDialEmotionType cur_emotion_type = 14; // offset: 36
	bool LHCOJIEBFFM = 15; // offset: 24
}
message EAJEMNNNEBM {
	uint32 LLIOEMOBFGD = 10; // offset: 28
	uint32 script_id = 12; // offset: 24
}

// Obf: BCKGEKPBCGD
// Type: Req
// CmdID: 6325
message GetHeartDialInfoCsReq {
}

// Obf: OEOKBKBJGOG
// Type: Rsp
// CmdID: 6378
message GetHeartDialInfoScRsp {
	repeated HeartDialScriptInfo script_info_list = 3; // offset: 32
	repeated HeartDialDialogueInfo dialogue_info_list = 4; // offset: 40
	HeartDialUnlockStatus unlock_status = 7; // offset: 52
	uint32 retcode = 9; // offset: 48
	repeated EAJEMNNNEBM EBLMNLBBFNL = 14; // offset: 24
}

// Obf: HOJLMOCMFNK
// Type: Req
// CmdID: 6393
message ChangeScriptEmotionCsReq {
	HeartDialEmotionType target_emotion_type = 3; // offset: 32
	uint32 BLKFCFGMMBD = 8; // offset: 28
	uint32 script_id = 15; // offset: 24
}

// Obf: GCKMGDFCFDG
// Type: Rsp
// CmdID: 6358
message ChangeScriptEmotionScRsp {
	HeartDialEmotionType emotion_type = 2; // offset: 28
	uint32 retcode = 3; // offset: 32
	uint32 script_id = 15; // offset: 24
}

// Obf: IDIGIKOLDEM
// Type: Req
// CmdID: 6388
message SubmitEmotionItemCsReq {
	uint32 script_id = 3; // offset: 32
	ItemList item_list = 7; // offset: 24
}

// Obf: AIGNBOLGIGI
// Type: Rsp
// CmdID: 6381
message SubmitEmotionItemScRsp {
	uint32 retcode = 4; // offset: 28
	uint32 script_id = 5; // offset: 24
}

// Obf: NFKHOGDIJPL
// Type: Req
// CmdID: 6386
message FinishEmotionDialoguePerformanceCsReq {
	uint32 script_id = 2; // offset: 28
	uint32 BLKFCFGMMBD = 3; // offset: 32
	uint32 dialogue_id = 11; // offset: 24
}

// Obf: ILLDFAANIEP
// Type: Rsp
// CmdID: 6347
message FinishEmotionDialoguePerformanceScRsp {
	uint32 retcode = 5; // offset: 40
	uint32 script_id = 7; // offset: 32
	ItemList reward_list = 8; // offset: 24
	uint32 dialogue_id = 12; // offset: 36
}

// Obf: DBCAGGFPCGF
// Type: Notify
// CmdID: 6326
message HeartDialScriptChangeScNotify {
	repeated EAJEMNNNEBM EBLMNLBBFNL = 6; // offset: 40
	repeated HeartDialDialogueInfo changed_dialogue_info_list = 7; // offset: 24
	HeartDialUnlockStatus unlock_status = 12; // offset: 48
	repeated HeartDialScriptInfo changed_script_info_list = 15; // offset: 32
}

// Obf: BGDGEAGBMGH
// Type: Req
// CmdID: 6313
message HeartDialTraceScriptCsReq {
	EAJEMNNNEBM NDPMEMLJGCK = 6; // offset: 16
}

// Obf: PACPOIAFPFF
// Type: Rsp
// CmdID: 6371
message HeartDialTraceScriptScRsp {
	EAJEMNNNEBM NDPMEMLJGCK = 3; // offset: 24
	uint32 retcode = 7; // offset: 32
}

// Obf: AMJEMJIDNKF
enum CmdHeliobusType {
	AMJEMJIDNKF_NLCDGIPGFDJ = 0;
	CmdHeliobusSnsCommentCsReq = 5826;
	CmdHeliobusUpgradeLevelScRsp = 5838;
	CmdHeliobusLineupUpdateScNotify = 5872;
	CmdHeliobusSelectSkillScRsp = 5811;
	CmdHeliobusSnsUpdateScNotify = 5871;
	CmdHeliobusUpgradeLevelCsReq = 5833;
	CmdHeliobusSnsPostCsReq = 5888;
	CmdHeliobusActivityDataScRsp = 5878;
	CmdHeliobusStartRaidCsReq = 5865;
	CmdHeliobusInfoChangedScNotify = 5840;
	CmdHeliobusSnsCommentScRsp = 5813;
	CmdHeliobusSnsLikeCsReq = 5886;
	CmdHeliobusEnterBattleCsReq = 5845;
	CmdHeliobusSnsReadScRsp = 5858;
	CmdHeliobusChallengeUpdateScNotify = 5842;
	CmdHeliobusStartRaidScRsp = 5830;
	CmdHeliobusActivityDataCsReq = 5825;
	CmdHeliobusSnsReadCsReq = 5893;
	CmdHeliobusSnsLikeScRsp = 5847;
	AMJEMJIDNKF_FLPCDJFJHHM = 5804;
	CmdHeliobusEnterBattleScRsp = 5869;
	CmdHeliobusUnlockSkillScNotify = 5839;
	CmdHeliobusSnsPostScRsp = 5881;
}
message ONBLLGHELOB {
	repeated uint32 NGONANKBKMF = 1; // offset: 16
	uint32 ENGEPMPCJPC = 6; // offset: 32
}

// Obf: FPIBAIPJCMD
message HeliobusChallengeData {
	uint32 challenge_id = 5; // offset: 24
	bool DBPNANBMGFE = 10; // offset: 32
	uint32 star = 12; // offset: 28
}
message HeliobusChallengeLineup {
	repeated uint32 avatar_id_list = 4; // offset: 16
	uint32 group_id = 8; // offset: 36
	uint32 skill_id = 9; // offset: 32
}

// Obf: BJOAEPLGCND
// Type: Req
// CmdID: 5825
message HeliobusActivityDataCsReq {
}

// Obf: MNDPFKFEENO
// Type: Rsp
// CmdID: 5878
message HeliobusActivityDataScRsp {
	uint32 OMMNAFNIKPH = 2; // offset: 76
	uint32 level = 3; // offset: 72
	ONBLLGHELOB skill_info = 4; // offset: 40
	repeated HeliobusChallengeData challenge_list = 5; // offset: 16
	repeated BGOMIHEFHPA AAHPCIOOLHB = 6; // offset: 24
	uint32 phase = 7; // offset: 60
	uint32 retcode = 10; // offset: 64
	uint32 AFMLOAPAAPM = 12; // offset: 56
	uint32 IMGDMDDKHDL = 13; // offset: 68
	repeated HeliobusChallengeLineup DJKMBPEFCKL = 14; // offset: 48
}
message BLODLKIBCIE {
	repeated BLODLKIBCIE LEGEGIHKLFK = 2; // offset: 24
	uint32 BOGIJENAEHJ = 9; // offset: 36
	uint32 ELAENNLBEDD = 11; // offset: 32
}
message BGOMIHEFHPA {
	bool KGEJAOIMOBK = 2; // offset: 52
	uint32 CBGODLHCLPK = 3; // offset: 48
	repeated BLODLKIBCIE GEFLCFHPNJH = 6; // offset: 16
	uint32 MDAIPFLCNAJ = 7; // offset: 32
	uint32 HGBLLINAMLN = 11; // offset: 36
	uint32 DNNCAGJIOAP = 12; // offset: 44
	bool BNBCGFOBIPH = 13; // offset: 53
	uint32 GAIJNEMFDBP = 14; // offset: 40
}

// Obf: FBGAKELNFDP
// Type: Req
// CmdID: 5893
message HeliobusSnsReadCsReq {
	uint32 CBGODLHCLPK = 7; // offset: 24
}

// Obf: JNMBGFOJNBD
// Type: Rsp
// CmdID: 5858
message HeliobusSnsReadScRsp {
	uint32 retcode = 3; // offset: 24
	uint32 CBGODLHCLPK = 11; // offset: 28
}

// Obf: MINGMOMGNEL
// Type: Req
// CmdID: 5888
message HeliobusSnsPostCsReq {
	uint32 MDAIPFLCNAJ = 5; // offset: 28
	uint32 CBGODLHCLPK = 10; // offset: 32
	uint32 DNNCAGJIOAP = 11; // offset: 24
}

// Obf: NJMHBOMPING
// Type: Rsp
// CmdID: 5881
message HeliobusSnsPostScRsp {
	uint32 retcode = 3; // offset: 32
	BGOMIHEFHPA AMFEFIDDMDA = 7; // offset: 24
}

// Obf: DFALDMOKJEN
// Type: Req
// CmdID: 5886
message HeliobusSnsLikeCsReq {
	uint32 CBGODLHCLPK = 7; // offset: 24
}

// Obf: ABKNCPGFADC
// Type: Rsp
// CmdID: 5847
message HeliobusSnsLikeScRsp {
	uint32 retcode = 6; // offset: 28
	uint32 CBGODLHCLPK = 11; // offset: 24
	bool KGEJAOIMOBK = 13; // offset: 32
}

// Obf: GOODKHEFJHJ
// Type: Req
// CmdID: 5826
message HeliobusSnsCommentCsReq {
	uint32 BOGIJENAEHJ = 1; // offset: 32
	uint32 CBGODLHCLPK = 4; // offset: 24
	uint32 JKGKPABHDCH = 5; // offset: 28
}

// Obf: HBNLILKKBFN
// Type: Rsp
// CmdID: 5813
message HeliobusSnsCommentScRsp {
	uint32 retcode = 3; // offset: 32
	BGOMIHEFHPA AMFEFIDDMDA = 14; // offset: 24
}

// Obf: HNODHEJGACP
// Type: Notify
// CmdID: 5871
message HeliobusSnsUpdateScNotify {
	repeated BGOMIHEFHPA KGKLBGOADCE = 7; // offset: 24
}

// Obf: FMBJEANIAGI
// Type: Notify
// CmdID: 5840
message HeliobusInfoChangedScNotify {
	uint32 IMGDMDDKHDL = 3; // offset: 32
	uint32 OMMNAFNIKPH = 4; // offset: 40
	repeated BGOMIHEFHPA KGKLBGOADCE = 12; // offset: 16
	uint32 phase = 13; // offset: 36
}

// Obf: MHMHPNNMFCC
// Type: Req
// CmdID: 5833
message HeliobusUpgradeLevelCsReq {
}

// Obf: IMCAMOHNKNK
// Type: Rsp
// CmdID: 5838
message HeliobusUpgradeLevelScRsp {
	uint32 retcode = 1; // offset: 24
	uint32 level = 5; // offset: 28
}

// Obf: KJBFKGBKJME
// Type: Notify
// CmdID: 5839
message HeliobusUnlockSkillScNotify {
	uint32 skill_id = 1; // offset: 28
	uint32 ENGEPMPCJPC = 9; // offset: 24
}

// Obf: ACEKIEKJFPA
// Type: Req
// CmdID: 5845
message HeliobusEnterBattleCsReq {
	uint32 event_id = 2; // offset: 32
	repeated uint32 avatar_id_list = 4; // offset: 16
	uint32 skill_id = 14; // offset: 36
}

// Obf: FMJCABJPDHG
// Type: Rsp
// CmdID: 5869
message HeliobusEnterBattleScRsp {
	SceneBattleInfo battle_info = 2; // offset: 16
	uint32 event_id = 4; // offset: 32
	uint32 retcode = 10; // offset: 36
}
message JFKCEEPDHCB {
	uint32 skill_id = 13; // offset: 24
}

// Obf: EBFLACABCKO
// Type: Rsp
// CmdID: 5811
message HeliobusSelectSkillScRsp {
	uint32 skill_id = 2; // offset: 24
	uint32 retcode = 13; // offset: 28
}

// Obf: JMIIKBEBJMC
// Type: Notify
// CmdID: 5842
message HeliobusChallengeUpdateScNotify {
	HeliobusChallengeData OCDLPDDMCLP = 10; // offset: 24
}

// Obf: KHODCLCAIIP
// Type: Notify
// CmdID: 5872
message HeliobusLineupUpdateScNotify {
	HeliobusChallengeLineup lineup = 11; // offset: 24
}

// Obf: OFKLMBJJJPO
// Type: Req
// CmdID: 5865
message HeliobusStartRaidCsReq {
	uint32 skill_id = 1; // offset: 32
	bool is_save = 9; // offset: 44
	uint32 raid_id = 10; // offset: 48
	uint32 prop_entity_id = 12; // offset: 36
	uint32 DNOAEPDPHKK = 14; // offset: 40
	repeated uint32 avatar_list = 15; // offset: 24
}

// Obf: AOGJGJKGECJ
// Type: Rsp
// CmdID: 5830
message HeliobusStartRaidScRsp {
	uint32 retcode = 1; // offset: 32
	GEGLJDELBHA scene = 5; // offset: 16
}

// Obf: MKFFJFHICCC
enum CmdHipplenType {
	MKFFJFHICCC_NLCDGIPGFDJ = 0;
	CmdOpenHipplenCycleCsReq = 9024;
	CmdSettleHipplenWorkScRsp = 9007;
	CmdSetHipplenAgendaScRsp = 9048;
	CmdSetHipplenOutfitCsReq = 9017;
	CmdSetHipplenAgendaCsReq = 9019;
	CmdTakeHipplenEndingRewardScRsp = 9035;
	CmdGetHipplenInheritScRsp = 9044;
	CmdGetHipplenInheritCsReq = 9037;
	CmdSetHipplenOutfitScRsp = 9029;
	CmdHipplenTraitUnlockScNotify = 9002;
	CmdHipplenCycleResultScNotify = 9021;
	CmdGetHipplenDataScRsp = 9023;
	CmdHipplenChangeScNotify = 9015;
	CmdSettleHipplenWorkCsReq = 9003;
	CmdOpenHipplenCycleScRsp = 9020;
	CmdTakeHipplenEndingRewardCsReq = 9014;
	CmdHipplenAgendaResultScNotify = 9010;
	CmdGetHipplenDataCsReq = 9009;
}

enum NAOCMAOJECF {
	NAOCMAOJECF_NLCDGIPGFDJ = 0;
	NAOCMAOJECF_CNMBIADBFNG = 1;
	NAOCMAOJECF_ENCBGPOIFCM = 2;
	NAOCMAOJECF_ECKIMBNDOME = 3;
	NAOCMAOJECF_LONKNKFDPII = 4;
	NAOCMAOJECF_MLLNOGKNHNL = 5;
}
message FCOBIMJMLIF {
	uint32 type = 2; // offset: 28
	uint32 value = 15; // offset: 24
}
message ANHJKLLEKKB {
	int32 value = 1; // offset: 28
	uint32 type = 2; // offset: 24
}
message GEFEDOAOKNO {
	repeated FCOBIMJMLIF MONKDLNMMBK = 6; // offset: 24
}
message AFEDHCKDDFA {
	uint32 id = 3; // offset: 28
	NAOCMAOJECF type = 12; // offset: 24
	bool AAGAFBJHOKK = 14; // offset: 32
}
message PJOHABIOPPI {
	AFEDHCKDDFA LAJOGEKPHOP = 1; // offset: 40
	uint32 MBHJONMGDOO = 3; // offset: 52
	repeated AFEDHCKDDFA NEMFNENACNB = 7; // offset: 16
	repeated uint32 OGDLPFOJMHI = 9; // offset: 24
	uint32 DOHNBOCBOGJ = 13; // offset: 48
	uint32 JEEELNEHDCD = 15; // offset: 56
}
message HINIJKGDDBI {
	repeated uint32 grid_fight_trait_info = 4; // offset: 16
}
message BNJAIHINJIK {
	uint32 OBGKOOAPCEM = 1; // offset: 52
	GEFEDOAOKNO IPDLBJHAJOO = 4; // offset: 24
	HINIJKGDDBI FBECMPGLPKK = 5; // offset: 32
	uint32 ODPELJAIPHL = 6; // offset: 56
	PJOHABIOPPI GMMPIDODKKD = 12; // offset: 40
	uint32 GNAHDKMEDEP = 13; // offset: 48
}
message FEDNIHCAHGP {
	repeated uint32 FCOKODHGEKO = 6; // offset: 16
	repeated uint32 GEMHKFCFCCC = 12; // offset: 24
}
message ENIDJAFECBD {
	uint32 BKFICFMMGIN = 5; // offset: 24
	bool is_taken_reward = 11; // offset: 28
}
message ELOFLNEAHPD {
	repeated ENIDJAFECBD BPFJDLHFEKG = 8; // offset: 16
	repeated uint32 grid_fight_trait_info = 10; // offset: 32
}
message JHBOOCGAKCM {
	uint32 LDMHLKGILOD = 7; // offset: 28
	uint32 FFKDFODDBDN = 14; // offset: 24
}

// Obf: NBKACPHIPDA
// Type: Req
// CmdID: 9009
message GetHipplenDataCsReq {
}

// Obf: PNDFAAJNNEO
// Type: Rsp
// CmdID: 9023
message GetHipplenDataScRsp {
	FEDNIHCAHGP KJDEEJNBLHK = 1; // offset: 16
	uint32 JFLAEGMBMAK = 6; // offset: 52
	uint32 retcode = 8; // offset: 48
	BNJAIHINJIK HIGHKDBJNIM = 11; // offset: 40
	ELOFLNEAHPD ACOLLHOFKGL = 13; // offset: 24
	bool HPKECDINMCE = 15; // offset: 56
}

// Obf: KMIGGGFOGCN
// Type: Req
// CmdID: 9037
message GetHipplenInheritCsReq {
}

// Obf: GCLDADIKLEG
// Type: Rsp
// CmdID: 9044
message GetHipplenInheritScRsp {
	uint32 retcode = 6; // offset: 32
	repeated uint32 grid_fight_trait_info = 11; // offset: 16
}

// Obf: DOLCPKAMCEM
// Type: Req
// CmdID: 9019
message SetHipplenAgendaCsReq {
	repeated uint32 NEMFNENACNB = 11; // offset: 24
}

// Obf: LEILCBFJFFD
// Type: Rsp
// CmdID: 9048
message SetHipplenAgendaScRsp {
	repeated AFEDHCKDDFA NEMFNENACNB = 10; // offset: 16
	uint32 retcode = 11; // offset: 32
}
message HBMGNLFKMMK {
	uint32 MNCFOGJECMF = 5; // offset: 24
}
message LODMLDKMPPL {
	uint32 id = 6; // offset: 24
}
message OHHHCKCFPIG {
	repeated uint32 DPOKBJGLKNN = 1; // offset: 16
}
message GCNJGJMPLHM {
}

// Obf: CGONOIEOEBP
// Type: Req
// CmdID: 9003
message SettleHipplenWorkCsReq {
	oneof NEBNJDMFELO {
		HBMGNLFKMMK HBGCOIAGDIG = 10; // offset: 16
		LODMLDKMPPL ENCBGPOIFCM = 15; // offset: 16
		OHHHCKCFPIG ECKIMBNDOME = 12; // offset: 16
		GCNJGJMPLHM MLLNOGKNHNL = 9; // offset: 16
	}
}
message DMLACLLDCCE {
	uint32 GNAHDKMEDEP = 7; // offset: 24
	int32 CBPGJAFAHFC = 9; // offset: 36
	uint32 MNCFOGJECMF = 11; // offset: 32
	uint32 AJAFEEAOBLC = 15; // offset: 28
}
message LKFFMLJMGOB {
	uint32 MNCFOGJECMF = 2; // offset: 28
	uint32 AJAFEEAOBLC = 9; // offset: 24
	int32 CBPGJAFAHFC = 13; // offset: 32
}

// Obf: DOJOHDFGJLB
// Type: Rsp
// CmdID: 9007
message SettleHipplenWorkScRsp {
	repeated AFEDHCKDDFA NEMFNENACNB = 7; // offset: 24
	repeated ANHJKLLEKKB BNIFMIPPIMA = 8; // offset: 40
	GEFEDOAOKNO IPDLBJHAJOO = 11; // offset: 48
	uint32 retcode = 13; // offset: 60
	oneof MEJDDIPIEKK {
		DMLACLLDCCE HBGCOIAGDIG = 1; // offset: 32
		LKFFMLJMGOB LONKNKFDPII = 5; // offset: 32
	}
}

// Obf: LDECOFOGIGD
// Type: Notify
// CmdID: 9010
message HipplenAgendaResultScNotify {
	repeated uint32 grid_fight_trait_info = 2; // offset: 64
	BNJAIHINJIK HIGHKDBJNIM = 3; // offset: 24
	bool CPFFAGAHJMH = 5; // offset: 72
	GEFEDOAOKNO JMKHOIMEFFM = 6; // offset: 40
	repeated uint32 GPDEDJIHMGB = 10; // offset: 32
	repeated AFEDHCKDDFA NEMFNENACNB = 11; // offset: 48
	LKFFMLJMGOB FEJPEALIKHE = 15; // offset: 16
}

// Obf: GJIIPFBFLLC
// Type: Notify
// CmdID: 9021
message HipplenCycleResultScNotify {
	repeated JHBOOCGAKCM IHLCDDOMPKD = 1; // offset: 24
	uint32 JFLAEGMBMAK = 2; // offset: 68
	uint32 BKFICFMMGIN = 6; // offset: 64
	GEFEDOAOKNO GNBKDCHLDGL = 7; // offset: 16
	repeated JHBOOCGAKCM FJFJMOGILBM = 8; // offset: 56
	repeated uint32 FCOKODHGEKO = 13; // offset: 40
	repeated uint32 grid_fight_trait_info = 14; // offset: 48
}

// Obf: NCFFIOJPHJM
// Type: Req
// CmdID: 9024
message OpenHipplenCycleCsReq {
	uint32 trait_id = 5; // offset: 24
}

// Obf: ELBMKCGDHAK
// Type: Rsp
// CmdID: 9020
message OpenHipplenCycleScRsp {
	BNJAIHINJIK HIGHKDBJNIM = 1; // offset: 16
	uint32 JFLAEGMBMAK = 6; // offset: 36
	uint32 retcode = 10; // offset: 32
}

// Obf: EPBHKLFKMLB
// Type: Req
// CmdID: 9017
message SetHipplenOutfitCsReq {
	uint32 IMIBAAPJGEJ = 12; // offset: 24
}

// Obf: ALEAEINGEBP
// Type: Rsp
// CmdID: 9029
message SetHipplenOutfitScRsp {
	repeated uint32 GEMHKFCFCCC = 1; // offset: 24
	uint32 retcode = 5; // offset: 32
}

// Obf: CCENPJEAFOI
// Type: Notify
// CmdID: 9002
message HipplenTraitUnlockScNotify {
	repeated uint32 grid_fight_trait_info = 3; // offset: 16
}

// Obf: INFDOMFEGML
// Type: Req
// CmdID: 9014
message TakeHipplenEndingRewardCsReq {
	uint32 BKFICFMMGIN = 9; // offset: 24
}

// Obf: DGEPKPAHIIN
// Type: Rsp
// CmdID: 9035
message TakeHipplenEndingRewardScRsp {
	uint32 BKFICFMMGIN = 1; // offset: 36
	uint32 retcode = 6; // offset: 32
	ItemList reward_list = 14; // offset: 16
}
message DPGGADJHCBG {
	uint32 IMIBAAPJGEJ = 6; // offset: 24
}
message NOPCFDDLPNN {
	uint32 BKFICFMMGIN = 15; // offset: 24
}
message HGDHJFGCEJF {
	oneof KKNBOACNCON {
		DPGGADJHCBG MDFCELGPPHM = 8; // offset: 24
		NOPCFDDLPNN HNLMBGIBEBN = 12; // offset: 24
	}
}

// Obf: JKPIHPAGABC
// Type: Notify
// CmdID: 9015
message HipplenChangeScNotify {
	repeated HGDHJFGCEJF DGNGMJMPFGK = 5; // offset: 24
}

// Obf: IJKEHFDJOJH
enum CmdIdleLiveType {
	IJKEHFDJOJH_NLCDGIPGFDJ = 0;
	CmdGetFriendNewAssistRewardScNotify = 9432;
	CmdFinishQuestionCsReq = 9448;
	CmdEMCJBMOICJN = 9428;
	CmdNOHKADAPKHE = 9439;
	CmdJLCNOGIJGMH = 9397;
	CmdDressSpecialEquipScRsp = 9392;
	CmdUpgradeTeamSlotCsCsReq = 9401;
	CmdHandlePendingEquipCsReq = 9422;
	CmdTakeQuestEquipCsRsp = 9387;
	CmdStartNodeBattleScRsp = 9431;
	CmdUpdateCustomInfoCsReq = 9369;
	CmdTakeContentCsReq = 9362;
	CmdTakeContentScRsp = 9385;
	CmdEndDungeonScRsp = 9365;
	CmdReplaceTeamCsCsReq = 9389;
	CmdTechTreeChangeNodeStateCsRsp = 9379;
	CmdLGNJPFPACGH = 9395;
	CmdKKGJPMCFDON = 9413;
	CmdEndDungeonCsReq = 9399;
	CmdDressSpecialEquipCsReq = 9380;
	CmdTakeTaskRewardCsReq = 9391;
	CmdMAAIAFILLFN = 9363;
	CmdGetFriendDungeonInfoCsReq = 9416;
	CmdUpdateCustomInfoScRsp = 9378;
	CmdUpgradeTeamSlotCsRsp = 9396;
	CmdStartNodeBattleCsReq = 9438;
	CmdTechTreeChangeNodeStateCsCsReq = 9393;
	CmdMLBDIPICABB = 9390;
	CmdFOMCONFODHH = 9436;
	CmdNDMGIMOOFBL = 9386;
	CmdStartDungeonCsReq = 9425;
	CmdTakeQuestEquipCsCsReq = 9444;
	CmdGetFriendDungeonInfoScRsp = 9405;
	CmdDMEPOENPEIF = 9419;
	CmdNILCAHCBKAI = 9384;
	CmdPDMEKAGOCND = 9434;
	CmdDDNJIHCBDDE = 9376;
	CmdBABFMGPNOIG = 9443;
	CmdIABBGPLBLML = 9421;
	CmdFinishQuestionRsp = 9412;
	CmdAPKJENOJIFD = 9375;
	CmdBBABPMLDJMM = 9364;
	CmdBIJEDLPINKH = 9398;
	CmdHandlePendingEquipScRsp = 9430;
	CmdReplaceTeamCsRsp = 9354;
	CmdGAIANGFBBPG = 9361;
	CmdTakeTaskRewardScRsp = 9360;
	CmdFAJEJCBILIA = 9371;
	CmdLMACKMNOJBF = 9408;
	CmdStartDungeonScRsp = 9394;
	CmdSyncChangeNtf = 9355;
	CmdNMEMDFOCMFO = 9415;
}

enum DBKAAJAEGNM {
	DBKAAJAEGNM_NLCDGIPGFDJ = 0;
	DBKAAJAEGNM_BMOOGBNPEAA = 1;
	DBKAAJAEGNM_CIHFGJDCHIA = 2;
	DBKAAJAEGNM_PDKLDMNAJBO = 3;
}

enum JDGNMIDMACL {
	JDGNMIDMACL_GAIFBJCKGPA = 0;
	JDGNMIDMACL_KGPGDEMEAND = 1;
	JDGNMIDMACL_BPKLGJOBOMA = 2;
	JDGNMIDMACL_IAAOAHFDFLC = 3;
}

enum CDABMABJFII {
	CDABMABJFII_NLCDGIPGFDJ = 0;
	CDABMABJFII_FEHEGGCOKJH = 2;
	CDABMABJFII_GGMPEGMEHPD = 4;
	CDABMABJFII_MGBCAPIIKLM = 5;
	CDABMABJFII_DILIGFNLNKE = 6;
	CDABMABJFII_BOJIEINFLFF = 7;
}

enum OEDABANAJEK {
	OEDABANAJEK_NLCDGIPGFDJ = 0;
	OEDABANAJEK_BPNMABIFCAC = 1;
	OEDABANAJEK_OHLJJBCALBF = 2;
}

enum LPPKGHJGOCC {
	LPPKGHJGOCC_NLCDGIPGFDJ = 0;
	LPPKGHJGOCC_CAJPAGKBBML = 1;
	LPPKGHJGOCC_JOKPPELAFOI = 2;
}
message AOJEODENHPL {
	uint32 event_id = 5; // offset: 28
	uint32 chapter_index = 7; // offset: 24
	uint32 IKKEJKOGBNO = 8; // offset: 40
	bool has_passed = 11; // offset: 32
	uint32 KJJJPMAPFOH = 13; // offset: 36
}
message KJMHIDMOBMB {
	uint64 battle_power = 1; // offset: 48
	uint32 chapter_index = 4; // offset: 40
	uint32 captain_num = 5; // offset: 32
	uint32 OAJGKOOFNBL = 11; // offset: 36
	bool is_final_act_finished = 12; // offset: 44
	repeated uint32 IKLJBAJBOPG = 14; // offset: 24
}
message JBMDMFOCOAK {
	AOJEODENHPL LMMNDOFIMBN = 6; // offset: 24
	uint32 PGIEEGCGCDI = 8; // offset: 32
}
message DICEFIGKFCL {
	uint32 BEBLGGDLADJ = 4; // offset: 40
	uint32 BJFNMEJNKIK = 8; // offset: 44
	uint32 LLGKEIPDDMB = 9; // offset: 52
	uint32 HJDNNCOHPJH = 10; // offset: 48
	JBMDMFOCOAK GJLDDMIIILF = 14; // offset: 32
	repeated KJMHIDMOBMB KNEMNAEGKBF = 15; // offset: 24
}
message PEPEHIDAKKK {
	uint32 avatar_id = 2; // offset: 28
	uint32 PMFAHDMLOFK = 6; // offset: 24
}
message CGGPJFLLGID {
	uint32 JIGOOAEFDPP = 8; // offset: 24
	uint32 level = 11; // offset: 28
}
message CGBPOHBACGE {
	repeated KVP EIEOJFJAIBD = 3; // offset: 16
	uint64 battle_power = 7; // offset: 48
	repeated CGGPJFLLGID FKLPCAPONIA = 10; // offset: 32
	repeated PEPEHIDAKKK avatar_list = 15; // offset: 24
}
message CHAGFKJEIMI {
	uint32 offset = 13; // offset: 28
	uint32 LBDLAACOCCN = 14; // offset: 24
}
message CBNNMKNBLDI {
	uint32 level = 1; // offset: 36
	repeated CHAGFKJEIMI CDMKBCHLPAB = 4; // offset: 16
	uint32 rarity = 7; // offset: 44
	bool is_special = 10; // offset: 40
	uint32 grid_fight_equipment_id = 15; // offset: 32
}
message KLNNIAHJBCO {
	CBNNMKNBLDI equip = 2; // offset: 16
	uint32 PNIPCNLLKKD = 6; // offset: 32
	uint32 OJBJHGBEMJN = 15; // offset: 36
}
message PCGMJHKDCOG {
	repeated KVP IHJJKABIEPC = 1; // offset: 32
	repeated CBNNMKNBLDI KIDBGNPHGBI = 6; // offset: 48
	repeated uint32 OILPEBPLDBG = 10; // offset: 16
	repeated CBNNMKNBLDI grid_fight_equipment_list = 14; // offset: 40
}
message HANHLKIHCJH {
	repeated uint32 AFACNNLLPMG = 8; // offset: 24
}
message HGPBONMLNAJ {
	uint32 progress = 1; // offset: 24
	uint32 IBEFDOMBEHM = 7; // offset: 32
	DBKAAJAEGNM status = 11; // offset: 28
}
message IIPIFJCOIFO {
	HGPBONMLNAJ PJJGPDNKMJH = 12; // offset: 16
}
message PIOJJEGMOOF {
	repeated uint32 GBACMOJJKIJ = 15; // offset: 16
}
message OOMNNODJGPH {
	uint32 NNDNCAEGDFI = 2; // offset: 24
	bool CIHPIAGDHAO = 9; // offset: 28
}
message JIEKJDGEGDN {
	bool is_active = 3; // offset: 32
	uint32 PDICFEGEPNM = 4; // offset: 24
	uint32 CJAINJMLDFC = 11; // offset: 28
}
message HIDCLKLDHLE {
	repeated KVP CAOFMHOMMHF = 1; // offset: 24
	JIEKJDGEGDN POLADDGLAEH = 2; // offset: 48
	repeated OOMNNODJGPH NNIAKOLKDFP = 3; // offset: 32
	repeated uint32 HHNNEGILEFB = 4; // offset: 40
}
message MGEAPNBMJKJ {
	uint32 KNEJAEFBDED = 6; // offset: 28
	uint32 EICEKDBENKM = 11; // offset: 24
}
message JDDFIGPOKHC {
	repeated MGEAPNBMJKJ JHJEJKGFJMN = 1; // offset: 16
}
message PFPHKOAFPCJ {
	uint32 FOGCAJJOMMK = 11; // offset: 24
}
message EJJBHFOLCEA {
	uint32 NJKHFPICPLK = 3; // offset: 24
	uint32 DLILJLGKBEK = 7; // offset: 28
	uint32 OLAAFALFKIH = 12; // offset: 32
}
message IGOGKCCOIIF {
	uint32 AJIMPLLIFIE = 2; // offset: 36
	uint32 FKIIFFFJKJH = 9; // offset: 32
	string title = 15; // offset: 24
}

// Obf: APKJENOJIFD
// Type: Req
// CmdID: 9375
message APKJENOJIFD {
}

// Obf: EMCJBMOICJN
// Type: Rsp
// CmdID: 9428
message EMCJBMOICJN {
	HANHLKIHCJH BOOIAMNBFND = 1; // offset: 16
	PIOJJEGMOOF FNBMIGIICEK = 2; // offset: 40
	uint32 retcode = 3; // offset: 112
	PFPHKOAFPCJ AIBHMDPILKE = 4; // offset: 56
	CGBPOHBACGE MKAGCFGNPGD = 5; // offset: 64
	EJJBHFOLCEA JJKKMGKNCJA = 8; // offset: 72
	JDDFIGPOKHC HKLNGMHFICM = 9; // offset: 32
	IIPIFJCOIFO GNPHKFCKNOP = 10; // offset: 104
	HIDCLKLDHLE HFBBOHBKBJE = 11; // offset: 88
	IGOGKCCOIIF PLFNNLOKBOO = 12; // offset: 96
	PCGMJHKDCOG OPHJAENGBGJ = 13; // offset: 24
	DICEFIGKFCL DNGNEKAMHMD = 15; // offset: 48
}

// Type: Req
// CmdID: 9434
message PDMEKAGOCND {
}

// Type: Rsp
// CmdID: 9371
message FAJEJCBILIA {
	uint32 retcode = 11; // offset: 32
	repeated uint32 IKLJBAJBOPG = 12; // offset: 24
}

// Type: Req
// CmdID: 9443
message BABFMGPNOIG {
	uint32 chapter_index = 3; // offset: 24
	uint32 KJJJPMAPFOH = 13; // offset: 28
}

// Type: Rsp
// CmdID: 9408
message LMACKMNOJBF {
	JBMDMFOCOAK GJLDDMIIILF = 7; // offset: 16
	uint32 retcode = 14; // offset: 32
}

// Obf: BKDANKLCAHC
// Type: Req
// CmdID: 9438
message StartNodeBattleCsReq {
}

// Obf: ELPBDFINJGH
// Type: Rsp
// CmdID: 9431
message StartNodeBattleScRsp {
	uint32 retcode = 5; // offset: 36
	uint32 PGIEEGCGCDI = 11; // offset: 32
	repeated KVP ENCINPIHHDF = 13; // offset: 24
}
message ANAJELDHDBH {
	uint32 key = 2; // offset: 24
	double damage = 14; // offset: 32
}
message BIKNPJPLDAO {
	repeated ANAJELDHDBH HFHJGBHHBKM = 6; // offset: 24
	repeated ANAJELDHDBH FNHDDAMNKCG = 8; // offset: 16
	uint32 MBOBGNPLLOO = 9; // offset: 52
	double total_damage = 12; // offset: 40
	uint32 OBKCFGAJLJJ = 14; // offset: 48
}

// Type: Req
// CmdID: 9436
message FOMCONFODHH {
	BIKNPJPLDAO HNMLBLGGOLB = 3; // offset: 24
	JDGNMIDMACL GBJEALNCMJC = 10; // offset: 32
}

// Type: Rsp
// CmdID: 9397
message JLCNOGIJGMH {
	ItemList BPIOEKHMAIC = 2; // offset: 40
	repeated KVP HPCKMFMNOBG = 3; // offset: 64
	uint64 JEAEFMHIIAC = 4; // offset: 72
	JDGNMIDMACL GBJEALNCMJC = 7; // offset: 80
	repeated KVP IOFKDDFNDGC = 10; // offset: 32
	uint32 retcode = 11; // offset: 84
	ItemList DHPPLPJOMNB = 12; // offset: 56
	ItemList reward = 13; // offset: 48
	repeated KVP IBLOFDAGDCE = 15; // offset: 24
}

// Type: Req
// CmdID: 9376
message DDNJIHCBDDE {
}

// Type: Rsp
// CmdID: 9363
message MAAIAFILLFN {
	uint32 retcode = 1; // offset: 24
}

// Type: Req
// CmdID: 9421
message IABBGPLBLML {
	uint32 JGFLMODLDCD = 3; // offset: 24
}

// Type: Rsp
// CmdID: 9390
message MLBDIPICABB {
	uint32 retcode = 2; // offset: 32
	ItemList reward = 8; // offset: 24
}

// Obf: IDFMIDPCJAC
// Type: Req
// CmdID: 9401
message UpgradeTeamSlotCsCsReq {
	uint32 JIGOOAEFDPP = 8; // offset: 28
	uint32 level = 13; // offset: 24
}

// Obf: GDLPHFCCCFL
// Type: Rsp
// CmdID: 9396
message UpgradeTeamSlotCsRsp {
	uint32 level = 3; // offset: 32
	uint32 retcode = 6; // offset: 28
	uint32 JIGOOAEFDPP = 12; // offset: 24
}

// Obf: OLFPLAAAFHI
// Type: Req
// CmdID: 9389
message ReplaceTeamCsCsReq {
	repeated KVP ENCINPIHHDF = 3; // offset: 16
	uint32 MNKCHCLGNOM = 15; // offset: 32
}

// Obf: BDKIMOIFPIL
// Type: Rsp
// CmdID: 9354
message ReplaceTeamCsRsp {
	repeated KVP ENCINPIHHDF = 11; // offset: 16
	uint32 retcode = 12; // offset: 32
}

// Type: Req
// CmdID: 9361
message GAIANGFBBPG {
	bool ECBJLAKHOCF = 5; // offset: 28
	uint32 LOFNHPHCCIL = 6; // offset: 24
}

// Type: Rsp
// CmdID: 9386
message NDMGIMOOFBL {
	repeated KVP HPCKMFMNOBG = 1; // offset: 40
	repeated KVP IOFKDDFNDGC = 4; // offset: 16
	repeated KVP IBLOFDAGDCE = 7; // offset: 32
	uint32 retcode = 9; // offset: 60
	bool ECBJLAKHOCF = 10; // offset: 56
	ItemList reward = 15; // offset: 48
}

// Type: Req
// CmdID: 9419
message DMEPOENPEIF {
	uint32 PJODECIGFOI = 2; // offset: 24
}

// Type: Rsp
// CmdID: 9415
message NMEMDFOCMFO {
	repeated KVP IOFKDDFNDGC = 1; // offset: 24
	repeated KVP IBLOFDAGDCE = 3; // offset: 32
	repeated KVP HPCKMFMNOBG = 4; // offset: 40
	uint32 PJODECIGFOI = 5; // offset: 52
	uint32 retcode = 7; // offset: 48
}

// Type: Req
// CmdID: 9398
message BIJEDLPINKH {
}

// Type: Rsp
// CmdID: 9395
message LGNJPFPACGH {
	KLNNIAHJBCO LJMLJKPLKBN = 3; // offset: 24
	uint32 retcode = 8; // offset: 32
}

// Obf: EAILAPHKBNO
// Type: Req
// CmdID: 9422
message HandlePendingEquipCsReq {
	bool DKPCAIGPHNO = 13; // offset: 24
}

// Obf: NEEFMPLOKIL
// Type: Rsp
// CmdID: 9430
message HandlePendingEquipScRsp {
	uint32 retcode = 2; // offset: 36
	bool DKPCAIGPHNO = 12; // offset: 32
	KLNNIAHJBCO LJMLJKPLKBN = 13; // offset: 24
}

// Obf: DOAGEJLCHJE
// Type: Req
// CmdID: 9380
message DressSpecialEquipCsReq {
	repeated KVP COLOHMBFKIH = 8; // offset: 16
}

// Obf: NJABIIKAJEK
// Type: Rsp
// CmdID: 9392
message DressSpecialEquipScRsp {
	uint32 retcode = 7; // offset: 32
	repeated KVP COLOHMBFKIH = 12; // offset: 16
}

// Obf: JOCIDFPEBGM
// Type: Req
// CmdID: 9444
message TakeQuestEquipCsCsReq {
	bool DKPCAIGPHNO = 4; // offset: 28
	uint32 quest_id = 15; // offset: 24
}

// Obf: MGKHEPIJPAC
// Type: Rsp
// CmdID: 9387
message TakeQuestEquipCsRsp {
	uint32 retcode = 1; // offset: 24
	bool DKPCAIGPHNO = 10; // offset: 28
	uint32 quest_id = 14; // offset: 32
}

// Obf: HMPGPHLEJKF
// Type: Req
// CmdID: 9391
message TakeTaskRewardCsReq {
}

// Obf: OPCILEAHKAH
// Type: Rsp
// CmdID: 9360
message TakeTaskRewardScRsp {
	uint32 retcode = 12; // offset: 32
	ItemList reward = 15; // offset: 16
}

// Obf: LOMPEEDFPLE
// Type: Notify
// CmdID: 9355
message SyncChangeNtf {
	repeated KAILIIEEBJM DGNGMJMPFGK = 14; // offset: 16
}
message FHMNLHLADJO {
	uint32 AJIMPLLIFIE = 2; // offset: 24
	uint32 FKIIFFFJKJH = 14; // offset: 28
}
message KAILIIEEBJM {
	oneof MMCGBGDJIPN {
		PEPEHIDAKKK NBDDJGJOIEH = 12; // offset: 16
		KJMHIDMOBMB BBBEGOLJKHJ = 15; // offset: 16
		uint32 IFDLLJHHOGL = 5; // offset: 16
		HGPBONMLNAJ PJJGPDNKMJH = 9; // offset: 16
		BBIPCFPDEJN KGMIIKKGJFH = 8; // offset: 16
		FHLEBDMFCHL LNGGONNOBHM = 11; // offset: 16
		uint32 NJKHFPICPLK = 14; // offset: 16
		uint32 OLAAFALFKIH = 10; // offset: 16
		uint32 DLILJLGKBEK = 6; // offset: 16
		uint32 FFFBADMIMLF = 13; // offset: 16
		KVP DGBFGDIMKND = 806; // offset: 16
		bool EIJHKECFBLA = 1166; // offset: 16
		JIEKJDGEGDN POLADDGLAEH = 196; // offset: 16
		uint32 NOAKIEIOKIB = 128; // offset: 16
		FHMNLHLADJO HAEIEPPAJFH = 203; // offset: 16
	}
}
message BBIPCFPDEJN {
	CDABMABJFII reason = 2; // offset: 24
	uint64 GLANPLEGMPG = 12; // offset: 32
}
message FHLEBDMFCHL {
	uint32 content_id = 2; // offset: 28
	LPPKGHJGOCC content_type = 8; // offset: 24
}

// Obf: DCKICCFJELB
// Type: Req
// CmdID: 9393
message TechTreeChangeNodeStateCsCsReq {
	uint32 CDMFHNGEFCN = 4; // offset: 24
	OEDABANAJEK op_type = 12; // offset: 28
}

// Obf: CCCGMGMLKOM
// Type: Rsp
// CmdID: 9379
message TechTreeChangeNodeStateCsRsp {
	uint32 retcode = 2; // offset: 32
	uint32 CDMFHNGEFCN = 5; // offset: 28
	OEDABANAJEK op_type = 14; // offset: 24
}

// Obf: OMLBEGNKAOE
// Type: Req
// CmdID: 9362
message TakeContentCsReq {
	LPPKGHJGOCC content_type = 6; // offset: 28
	uint32 content_id = 14; // offset: 24
}

// Obf: DIMGBMHNGAH
// Type: Rsp
// CmdID: 9385
message TakeContentScRsp {
	ItemList reward = 4; // offset: 16
	uint32 retcode = 9; // offset: 36
	uint32 content_id = 12; // offset: 40
	LPPKGHJGOCC content_type = 14; // offset: 32
}

// Obf: OKABLGLBPOA
// Type: Req
// CmdID: 9425
message StartDungeonCsReq {
	repeated KVP COLOHMBFKIH = 1; // offset: 32
	repeated KVP ENCINPIHHDF = 2; // offset: 24
	repeated uint32 JAJDGPAKNLL = 6; // offset: 40
	uint32 EICEKDBENKM = 8; // offset: 48
}
message BCIMOPDDKHH {
	repeated uint32 FEODDIKPAOA = 10; // offset: 24
	uint32 uid = 12; // offset: 32
}

// Obf: CPFNEECKCMK
// Type: Rsp
// CmdID: 9394
message StartDungeonScRsp {
	repeated BCIMOPDDKHH KMMBNFIFALA = 2; // offset: 40
	uint32 EICEKDBENKM = 3; // offset: 52
	uint32 retcode = 7; // offset: 48
	repeated KVP COLOHMBFKIH = 8; // offset: 32
	repeated KVP ENCINPIHHDF = 15; // offset: 24
}

// Obf: FNKBEGIDAAC
// Type: Req
// CmdID: 9399
message EndDungeonCsReq {
	repeated uint32 FEODDIKPAOA = 4; // offset: 24
	bool DHLLPOBKLIO = 11; // offset: 40
	BIKNPJPLDAO HNMLBLGGOLB = 15; // offset: 32
}

// Obf: LDCHLAKNODJ
// Type: Rsp
// CmdID: 9365
message EndDungeonScRsp {
	uint32 DHBKGOFBMIM = 2; // offset: 32
	ItemList reward = 6; // offset: 24
	uint32 retcode = 8; // offset: 40
	uint32 EICEKDBENKM = 12; // offset: 36
}

// Obf: HGDEGLENMPM
// Type: Req
// CmdID: 9416
message GetFriendDungeonInfoCsReq {
}
message OCBPHIBFFAC {
	repeated KVP CJDOEPKKJGC = 5; // offset: 24
	uint32 FANDKFADKKM = 6; // offset: 36
	uint32 LNGEAIJIODK = 9; // offset: 40
	uint32 uid = 11; // offset: 32
}

// Obf: MNFPIBFOIEF
// Type: Rsp
// CmdID: 9405
message GetFriendDungeonInfoScRsp {
	repeated OCBPHIBFFAC IOOIIKICFHE = 12; // offset: 24
	uint32 retcode = 13; // offset: 32
}

// Obf: BBABPMLDJMM
// Type: Req
// CmdID: 9364
message BBABPMLDJMM {
}

// Obf: NOHKADAPKHE
// Type: Rsp
// CmdID: 9439
message NOHKADAPKHE {
	repeated KAODLPJMEFE OILHLECGBCH = 7; // offset: 32
	ItemList reward = 9; // offset: 24
	uint32 retcode = 13; // offset: 40
}

// Obf: GFDJAEDKGGB
// Type: Notify
// CmdID: 9432
message GetFriendNewAssistRewardScNotify {
	uint32 FANDKFADKKM = 12; // offset: 24
}

// Obf: KKGJPMCFDON
// Type: Req
// CmdID: 9413
message KKGJPMCFDON {
	uint32 gacha_count = 12; // offset: 24
}
message LJGKDEKCHPJ {
	uint32 MMONAECCLHN = 7; // offset: 28
	uint32 avatar_id = 10; // offset: 24
	uint32 MGBCAPIIKLM = 11; // offset: 32
}
message IGGFCPNDMPN {
	oneof BNJPPHJNKHF {
		LJGKDEKCHPJ AONEJBHFKMO = 10; // offset: 16
		uint32 BKJFBHANFLC = 2; // offset: 16
	}
}
message EBNKDHCIJPH {
	uint32 avatar_id = 7; // offset: 24
	uint32 ANPNFPJDPKP = 10; // offset: 32
	uint32 KBOGFJANBPD = 14; // offset: 28
}

// Obf: NILCAHCBKAI
// Type: Rsp
// CmdID: 9384
message NILCAHCBKAI {
	uint32 retcode = 2; // offset: 40
	repeated IGGFCPNDMPN PGHCLDFGPOA = 5; // offset: 32
	uint32 FOGCAJJOMMK = 6; // offset: 44
	repeated EBNKDHCIJPH APGBCDJHPGL = 14; // offset: 16
}

// Obf: BPHPLIKMHHF
// Type: Req
// CmdID: 9369
message UpdateCustomInfoCsReq {
	oneof MMCGBGDJIPN {
		string title = 10; // offset: 16
		uint32 AJIMPLLIFIE = 13; // offset: 16
	}
}

// Obf: DMBPHCPLGIJ
// Type: Rsp
// CmdID: 9378
message UpdateCustomInfoScRsp {
	uint32 retcode = 10; // offset: 36
	oneof MMCGBGDJIPN {
		string title = 5; // offset: 16
		uint32 AJIMPLLIFIE = 11; // offset: 16
	}
}

// Obf: COFMKALOLKB
// Type: Req
// CmdID: 9448
message FinishQuestionCsReq {
	uint32 CJAINJMLDFC = 8; // offset: 24
	uint32 PDICFEGEPNM = 11; // offset: 36
	bool DJNDDEBIMGA = 12; // offset: 32
	uint32 JMBGMIPLLJI = 13; // offset: 28
}

// Obf: KIDELOJLPFB
// Type: Rsp
// CmdID: 9412
message FinishQuestionRsp {
	uint32 retcode = 2; // offset: 24
}

// Obf: EFDHFOEMKHH
enum CmdInteractiveTriggerMazeBuffType {
	EFDHFOEMKHH_NLCDGIPGFDJ = 0;
	CmdNMEKJABIGGH = 9471;
	CmdDCABOALFJAP = 9480;
}

// Type: Req
// CmdID: 9480
message DCABOALFJAP {
	uint32 OHMBEPHEBDJ = 13; // offset: 24
}

// Type: Rsp
// CmdID: 9471
message NMEKJABIGGH {
	uint32 retcode = 5; // offset: 24
	uint32 OHMBEPHEBDJ = 11; // offset: 28
}

// Obf: PJMJNHAAEJI
enum CmdItemType {
	PJMJNHAAEJI_NLCDGIPGFDJ = 0;
	CmdGetRecyleTimeScRsp = 521;
	CmdAMPMJPCFLND = 535;
	CmdComposeSelectedRelicCsReq = 542;
	CmdGetBagCsReq = 525;
	CmdComposeLimitNumCompleteScNotify = 505;
	CmdGetBagScRsp = 578;
	CmdUseItemCsReq = 586;
	CmdEMLDLBKPEFD = 546;
	CmdGetRelicFilterPlanCsReq = 514;
	CmdExpUpEquipmentCsReq = 571;
	CmdBatchRankUpEquipmentCsReq = 574;
	CmdRelicReforgeCsReq = 566;
	CmdLockRelicCsReq = 511;
	CmdGetMarkItemListCsReq = 529;
	CmdLockEquipmentScRsp = 581;
	CmdMarkRelicFilterPlanCsReq = 528;
	CmdRelicReforgeConfirmScRsp = 506;
	CmdEquipmentQuickUpCsReq = 527;
	CmdRankUpEquipmentScRsp = 513;
	CmdRankUpEquipmentCsReq = 526;
	CmdLockRelicScRsp = 536;
	CmdGetRelicFilterPlanScRsp = 589;
	CmdExchangeHcoinCsReq = 565;
	CmdDiscardRelicScRsp = 515;
	CmdExpUpRelicCsReq = 539;
	CmdAddEquipmentScRsp = 580;
	CmdExpUpEquipmentScRsp = 540;
	CmdRechargeSuccNotify = 569;
	CmdComposeLimitNumUpdateScNotify = 541;
	CmdComposeSelectedRelicScRsp = 572;
	CmdRelicReforgeConfirmCsReq = 516;
	CmdExpUpRelicScRsp = 504;
	CmdComposeItemCsReq = 533;
	CmdModifyRelicFilterPlanScRsp = 551;
	CmdLJKFPPDFHMH = 575;
	CmdMarkItemScRsp = 596;
	CmdGeneralVirtualItemDataNotify = 544;
	CmdGetRecyleTimeCsReq = 584;
	CmdMGBKBIKLJDN = 519;
	CmdRelicFilterPlanClearNameScNotify = 562;
	CmdSellItemScRsp = 545;
	CmdPromoteEquipmentScRsp = 558;
	CmdExchangeHcoinScRsp = 530;
	CmdLockEquipmentCsReq = 588;
	CmdDestroyItemScRsp = 543;
	CmdPromoteEquipmentCsReq = 593;
	CmdRelicReforgeScRsp = 555;
	CmdGetMarkItemListScRsp = 563;
	CmdCancelMarkItemNotify = 573;
	CmdAddRelicFilterPlanScRsp = 594;
	CmdAddRelicFilterPlanCsReq = 582;
	CmdSellItemCsReq = 548;
	CmdUseItemScRsp = 547;
	CmdDiscardRelicCsReq = 549;
	CmdComposeItemScRsp = 538;
	CmdBatchRankUpEquipmentScRsp = 557;
	CmdModifyRelicFilterPlanCsReq = 537;
	CmdMarkItemCsReq = 534;
	CmdEquipmentQuickUpScRsp = 523;
	CmdSyncTurnFoodNotify = 512;
	CmdMarkRelicFilterPlanScRsp = 598;
	CmdDestroyItemCsReq = 510;
}

// Obf: PJHKIIDEOOG
enum RelicDiscardType {
	PJHKIIDEOOG_ICFONCMFNLG = 0;
	PJHKIIDEOOG_AOBKJJHAHCN = 1;
	PJHKIIDEOOG_OHNJLMFECEN = 2;
}

// Obf: FHLEKKNDBBE
enum TurnFoodSwitch {
	FHLEKKNDBBE_NLCDGIPGFDJ = 0;
	FHLEKKNDBBE_attack = 1;
	FHLEKKNDBBE_FJLOGNFECHI = 2;
}

// Obf: HGKLNOIKPPE
// Type: Req
// CmdID: 525
message GetBagCsReq {
}

// Obf: Equipment
message Equipment {
	bool is_protected = 3; // offset: 52
	uint32 tid = 4; // offset: 44
	uint32 dress_avatar_id = 7; // offset: 36
	uint32 rank = 8; // offset: 32
	uint32 exp = 9; // offset: 28
	uint32 promotion = 10; // offset: 40
	uint32 level = 12; // offset: 24
	uint32 unique_id = 13; // offset: 48
}

// Obf: Material
message Material {
	uint64 expire_time = 1; // offset: 24
	uint32 num = 5; // offset: 36
	uint32 tid = 11; // offset: 32
}

// Obf: WaitDelResource
message WaitDelResource {
	uint32 num = 3; // offset: 24
	uint32 tid = 14; // offset: 28
}
message BKGPJOBNMKJ {
	uint32 num = 5; // offset: 36
	uint32 tid = 8; // offset: 32
	uint64 expire_time = 14; // offset: 24
}
message NKDNFDCFNCP {
	PileItem FMOKFKBAEII = 5; // offset: 24
	repeated PileItem HJLENJODAMN = 10; // offset: 32
}
message OCKCHBDFGNL {
	uint64 time = 3; // offset: 32
	repeated NKDNFDCFNCP HJMDNLBNPNA = 11; // offset: 16
}
message NLLLAAEJOBP {
	uint32 tid = 11; // offset: 32
	repeated uint32 DMNHPNAPGNB = 13; // offset: 24
}

// Obf: GJDACOJFAGG
// Type: Rsp
// CmdID: 578
message GetBagScRsp {
	repeated WaitDelResource wait_del_resource_list = 1; // offset: 88
	repeated uint32 CAMEGAGKPGL = 2; // offset: 104
	repeated Relic relic_list = 3; // offset: 24
	repeated Equipment equipment_list = 4; // offset: 16
	repeated uint32 KOFNOJCMEFA = 5; // offset: 96
	repeated TurnFoodSwitch EOJBFLHBNMB = 6; // offset: 32
	repeated OCKCHBDFGNL FFEGBHJLBNH = 7; // offset: 112
	repeated PileItem PLBLHEKEIJO = 8; // offset: 64
	uint32 retcode = 10; // offset: 128
	repeated BKGPJOBNMKJ NAJFMIIFIEC = 11; // offset: 80
	repeated Material material_list = 13; // offset: 120
	repeated uint32 HGGGFLABDLB = 14; // offset: 48
	repeated BKGPJOBNMKJ CNDODPICGHI = 15; // offset: 72
	repeated NLLLAAEJOBP update_platform_bound_gifts_list = 206; // offset: 40
}

// Type: Req
// CmdID: 593
message PromoteEquipmentCsReq {
	uint32 equipment_unique_id = 6; // offset: 32
	ItemCostData cost_data = 8; // offset: 16
}

// Type: Rsp
// CmdID: 558
message PromoteEquipmentScRsp {
	uint32 retcode = 13; // offset: 24
}

// Type: Req
// CmdID: 588
message LockEquipmentCsReq {
	repeated uint32 LDBMBPBGFHK = 2; // offset: 16
	bool is_locked = 15; // offset: 32
}

// Type: Rsp
// CmdID: 581
message LockEquipmentScRsp {
	uint32 retcode = 1; // offset: 24
}

// Obf: BDHDBGECGJA
// Type: Req
// CmdID: 586
message UseItemCsReq {
	uint32 use_item_id = 1; // offset: 32
	uint32 use_item_count = 2; // offset: 24
	AvatarType KANPPCMBJHG = 4; // offset: 36
	bool DGEKFCHEAPO = 5; // offset: 40
	uint32 optional_reward_id = 9; // offset: 28
	uint32 base_avatar_id = 12; // offset: 44
}

// Obf: FKOIIHNOICH
// Type: Rsp
// CmdID: 547
message UseItemScRsp {
	uint32 use_item_id = 2; // offset: 36
	uint32 formula_id = 5; // offset: 48
	uint64 month_card_out_date_time = 10; // offset: 40
	ItemList return_data = 12; // offset: 24
	uint32 use_item_count = 14; // offset: 32
	uint32 retcode = 15; // offset: 52
}

// Type: Req
// CmdID: 526
message RankUpEquipmentCsReq {
	ItemCostData cost_data = 5; // offset: 24
	uint32 equipment_unique_id = 13; // offset: 32
}

// Type: Rsp
// CmdID: 513
message RankUpEquipmentScRsp {
	uint32 retcode = 2; // offset: 24
}
message FBNBEIKABGE {
	uint32 equipment_unique_id = 1; // offset: 32
	ItemCostData cost_data = 12; // offset: 24
}

// Type: Req
// CmdID: 574
message BatchRankUpEquipmentCsReq {
	repeated FBNBEIKABGE switch_list = 3; // offset: 16
}

// Type: Rsp
// CmdID: 557
message BatchRankUpEquipmentScRsp {
	uint32 retcode = 12; // offset: 24
}

// Obf: PJGAHLDOIIG
// Type: Req
// CmdID: 571
message ExpUpEquipmentCsReq {
	ItemCostData cost_data = 1; // offset: 16
	uint32 equipment_unique_id = 10; // offset: 32
}

// Obf: GIFJFIDCJAI
// Type: Rsp
// CmdID: 540
message ExpUpEquipmentScRsp {
	repeated PileItem return_item_list = 4; // offset: 24
	uint32 retcode = 14; // offset: 32
}

// Obf: NPIAJDLLAHL
// Type: Req
// CmdID: 533
message ComposeItemCsReq {
	ItemCostData compose_item_list = 3; // offset: 32
	ItemCostData convert_item_list = 13; // offset: 24
	uint32 count = 14; // offset: 40
	uint32 compose_id = 15; // offset: 44
}

// Obf: PNBGCDGOLJB
// Type: Rsp
// CmdID: 538
message ComposeItemScRsp {
	uint32 count = 1; // offset: 36
	ItemList return_item_list = 3; // offset: 24
	uint32 compose_id = 12; // offset: 32
	uint32 retcode = 15; // offset: 40
}

// Obf: DEAIMKCPPDJ
// Type: Req
// CmdID: 542
message ComposeSelectedRelicCsReq {
	ItemCostData wr_item_list = 1; // offset: 16
	uint32 count = 5; // offset: 52
	uint32 compose_id = 6; // offset: 60
	ItemCostData compose_item_list = 7; // offset: 24
	uint32 compose_relic_id = 10; // offset: 48
	repeated uint32 sub_affix_id_list = 11; // offset: 32
	uint32 main_affix_id = 13; // offset: 56
}

// Obf: GJHDDFIJJIC
// Type: Rsp
// CmdID: 572
message ComposeSelectedRelicScRsp {
	uint32 retcode = 5; // offset: 36
	ItemList return_item_list = 9; // offset: 16
	uint32 compose_id = 13; // offset: 32
}

// Obf: PKIAEJLCPHL
// Type: Req
// CmdID: 539
message ExpUpRelicCsReq {
	ItemCostData cost_data = 5; // offset: 16
	uint32 relic_unique_id = 13; // offset: 32
}

// Obf: KJMNPHBPHLD
// Type: Rsp
// CmdID: 504
message ExpUpRelicScRsp {
	uint32 retcode = 10; // offset: 32
	repeated PileItem return_item_list = 13; // offset: 16
}

// Type: Req
// CmdID: 511
message LockRelicCsReq {
	bool NPPKABBJCMI = 12; // offset: 32
	bool is_locked = 13; // offset: 33
	repeated uint32 relic_ids = 15; // offset: 24
}

// Type: Rsp
// CmdID: 536
message LockRelicScRsp {
	uint32 retcode = 14; // offset: 24
}

// Obf: ACGCJMLFHCO
// Type: Req
// CmdID: 549
message DiscardRelicCsReq {
	repeated uint32 relic_ids = 1; // offset: 24
	bool DKPCAIGPHNO = 6; // offset: 32
	RelicDiscardType IFEEJKMACHF = 8; // offset: 36
	uint64 KDGCPMGOPPJ = 13; // offset: 40
}

// Obf: EMGMPNOKJGL
// Type: Rsp
// CmdID: 515
message DiscardRelicScRsp {
	RelicDiscardType IFEEJKMACHF = 3; // offset: 36
	repeated uint32 relic_ids = 5; // offset: 16
	uint32 retcode = 7; // offset: 32
	bool DKPCAIGPHNO = 14; // offset: 40
}

// Obf: DBEMDBEGDLA
// Type: Req
// CmdID: 548
message SellItemCsReq {
	ItemCostData cost_data = 11; // offset: 16
	bool HNLKAEBKKBL = 12; // offset: 32
}

// Obf: NDFJEJPFCGK
// Type: Rsp
// CmdID: 545
message SellItemScRsp {
	ItemList return_item_list = 2; // offset: 16
	uint32 retcode = 12; // offset: 32
}

// Obf: LLOJHLJFJIM
// Type: Notify
// CmdID: 569
message RechargeSuccNotify {
	ItemList item_list = 1; // offset: 16
	string product_id = 3; // offset: 24
	uint64 month_card_out_date_time = 6; // offset: 48
	string price_tier = 11; // offset: 40
}

// Obf: NFONKIEFCCK
// Type: Req
// CmdID: 565
message ExchangeHcoinCsReq {
	uint32 num = 14; // offset: 24
}

// Obf: PIHLJLKOPEE
// Type: Rsp
// CmdID: 530
message ExchangeHcoinScRsp {
	uint32 retcode = 3; // offset: 24
	uint32 num = 6; // offset: 28
}

// Obf: MJEJCMECDDN
// Type: Notify
// CmdID: 580
message AddEquipmentScRsp {
	uint32 KAJCFPKEGBP = 13; // offset: 24
}

// Obf: CJJPGIGPDIA
// Type: Req
// CmdID: 584
message GetRecyleTimeCsReq {
	repeated uint32 IKJMAFGBMEL = 2; // offset: 16
}

// Obf: JFOEKIFGPCP
// Type: Rsp
// CmdID: 521
message GetRecyleTimeScRsp {
	repeated BKGPJOBNMKJ NAJFMIIFIEC = 6; // offset: 16
	uint32 retcode = 15; // offset: 32
}
message DPGAHDIJJDL {
	uint32 DJLNCCEIDNO = 5; // offset: 28
	uint32 KAHMGPGPOII = 7; // offset: 24
}

// Obf: LHILENAKIPI
// Type: Notify
// CmdID: 505
message ComposeLimitNumCompleteScNotify {
	repeated DPGAHDIJJDL MGLCGPMNHBB = 3; // offset: 24
}

// Obf: OMJPICCHOEG
// Type: Notify
// CmdID: 541
message ComposeLimitNumUpdateScNotify {
	DPGAHDIJJDL PLJFOAPFELP = 4; // offset: 16
}

// Obf: EKEFLKGCMBN
// Type: Req
// CmdID: 510
message DestroyItemCsReq {
	uint32 item_id = 1; // offset: 24
	uint32 ADOIMNBAGKC = 2; // offset: 32
	uint32 item_count = 15; // offset: 28
}

// Obf: BGJEJDDLJPE
// Type: Rsp
// CmdID: 543
message DestroyItemScRsp {
	uint32 retcode = 2; // offset: 24
	uint32 ADOIMNBAGKC = 6; // offset: 28
}

// Obf: DEBAGFJEEIA
// Type: Req
// CmdID: 529
message GetMarkItemListCsReq {
}

// Obf: PLCBONEAMNL
// Type: Rsp
// CmdID: 563
message GetMarkItemListScRsp {
	repeated uint32 PEPKCBILIFO = 2; // offset: 24
	uint32 retcode = 13; // offset: 32
}

// Obf: GFKOAPFOFNL
// Type: Req
// CmdID: 534
message MarkItemCsReq {
	bool ABDJKPCGDHO = 6; // offset: 28
	uint32 item_id = 13; // offset: 24
}

// Obf: GGBGDAFPGID
// Type: Rsp
// CmdID: 596
message MarkItemScRsp {
	uint32 retcode = 3; // offset: 32
	uint32 item_id = 4; // offset: 28
	bool ABDJKPCGDHO = 5; // offset: 24
}

// Obf: IOHGFLDMPEM
// Type: Notify
// CmdID: 573
message CancelMarkItemNotify {
	uint32 item_id = 8; // offset: 24
}

// Obf: DMDDINNHIOE
// Type: Notify
// CmdID: 512
message SyncTurnFoodNotify {
	repeated uint32 CAMEGAGKPGL = 2; // offset: 24
	repeated TurnFoodSwitch EOJBFLHBNMB = 11; // offset: 16
}

// Type: Req
// CmdID: 535
message AMPMJPCFLND {
	TurnFoodSwitch KLAJGAKAFCP = 3; // offset: 24
	bool is_open = 12; // offset: 28
}

// Type: Rsp
// CmdID: 575
message LJKFPPDFHMH {
	TurnFoodSwitch KLAJGAKAFCP = 1; // offset: 32
	uint32 retcode = 2; // offset: 28
	bool is_open = 11; // offset: 24
}

// Obf: MLNNABAOJGC
// Type: Notify
// CmdID: 544
message GeneralVirtualItemDataNotify {
	bool EBLPGLFJNEL = 2; // offset: 32
	repeated PileItem FCNBHBHMFMC = 3; // offset: 24
}
message KJDLIPEIAAK {
	uint32 OLELCDKLPDK = 3; // offset: 24
	bool IFONLBKJGFE = 15; // offset: 28
}
message GABKFNAJIDD {
	BNAILMNNGIF settings = 1; // offset: 16
	KJDLIPEIAAK icon = 2; // offset: 32
	uint32 NPHAJEKCBKF = 5; // offset: 64
	int64 BNCALAMGIOC = 6; // offset: 56
	string name = 10; // offset: 24
	bool is_marked = 11; // offset: 68
	uint32 GFEENEDNJGF = 12; // offset: 48
}

// Obf: ENCGNAJCJME
// Type: Req
// CmdID: 514
message GetRelicFilterPlanCsReq {
}

// Obf: JJDNPDECDDA
// Type: Rsp
// CmdID: 589
message GetRelicFilterPlanScRsp {
	repeated GABKFNAJIDD JCKBEEKBPHF = 1; // offset: 24
	uint32 retcode = 5; // offset: 32
}

// Obf: AAMPBNNKEOK
// Type: Req
// CmdID: 582
message AddRelicFilterPlanCsReq {
	bool is_marked = 7; // offset: 48
	KJDLIPEIAAK icon = 9; // offset: 16
	string name = 11; // offset: 40
	BNAILMNNGIF settings = 12; // offset: 24
	uint32 GFEENEDNJGF = 15; // offset: 52
}

// Obf: EBPBGFNCJEP
// Type: Rsp
// CmdID: 594
message AddRelicFilterPlanScRsp {
	uint32 retcode = 1; // offset: 32
	GABKFNAJIDD relic_plan = 8; // offset: 24
}

// Obf: BAIEHPEHGIO
// Type: Req
// CmdID: 537
message ModifyRelicFilterPlanCsReq {
	uint32 NPHAJEKCBKF = 5; // offset: 36
	oneof KKNBOACNCON {
		string name = 9; // offset: 16
		KJDLIPEIAAK MJPKBIGCFOM = 12; // offset: 16
		BNAILMNNGIF LJKNDCIOOCG = 3; // offset: 16
	}
}

// Obf: DEHJKNPFDMA
// Type: Rsp
// CmdID: 551
message ModifyRelicFilterPlanScRsp {
	int64 BNCALAMGIOC = 4; // offset: 40
	uint32 retcode = 10; // offset: 48
	uint32 NPHAJEKCBKF = 14; // offset: 32
	oneof KKNBOACNCON {
		string name = 7; // offset: 16
		KJDLIPEIAAK MJPKBIGCFOM = 1; // offset: 16
		BNAILMNNGIF LJKNDCIOOCG = 8; // offset: 16
	}
}

// Type: Req
// CmdID: 546
message EMLDLBKPEFD {
	repeated uint32 GGIGDJPFBBP = 5; // offset: 16
	bool NPPKABBJCMI = 14; // offset: 32
}

// Type: Rsp
// CmdID: 519
message MGBKBIKLJDN {
	repeated uint32 GGIGDJPFBBP = 2; // offset: 16
	uint32 retcode = 13; // offset: 32
	bool NPPKABBJCMI = 14; // offset: 36
}

// Obf: LBFJJFDFABF
// Type: Req
// CmdID: 528
message MarkRelicFilterPlanCsReq {
	repeated uint32 GGIGDJPFBBP = 5; // offset: 24
	bool NPPKABBJCMI = 13; // offset: 33
	bool BIJJOJNJHDO = 15; // offset: 32
}

// Obf: NLFHJLDBOEA
// Type: Rsp
// CmdID: 598
message MarkRelicFilterPlanScRsp {
	uint32 retcode = 2; // offset: 32
	bool BIJJOJNJHDO = 7; // offset: 37
	bool NPPKABBJCMI = 10; // offset: 36
	repeated uint32 GGIGDJPFBBP = 11; // offset: 16
}

// Type: Notify
// CmdID: 562
message RelicFilterPlanClearNameScNotify {
	uint32 NPHAJEKCBKF = 14; // offset: 24
}

// Type: Req
// CmdID: 566
message RelicReforgeCsReq {
	uint32 reforge_block_sub_affix_id = 5; // offset: 24
	uint32 relic_unique_id = 6; // offset: 28
}

// Type: Rsp
// CmdID: 555
message RelicReforgeScRsp {
	uint32 retcode = 4; // offset: 24
}

// Type: Req
// CmdID: 516
message RelicReforgeConfirmCsReq {
	uint32 relic_unique_id = 12; // offset: 24
	bool is_cancel = 14; // offset: 28
}

// Type: Rsp
// CmdID: 506
message RelicReforgeConfirmScRsp {
	uint32 retcode = 7; // offset: 24
}

// Obf: EOBJKAMNNPI
// Type: Req
// CmdID: 527
message EquipmentQuickUpCsReq {
	uint32 equipment_unique_id = 1; // offset: 40
	uint32 IGOOJKMPMDC = 3; // offset: 44
	ItemCostData IDGEEENIMMK = 4; // offset: 32
	ItemCostData BOBOKJBAMNB = 5; // offset: 24
	uint32 KLMIBJIKIBB = 12; // offset: 48
}

// Obf: AMNBMKEMMFL
// Type: Rsp
// CmdID: 523
message EquipmentQuickUpScRsp {
	repeated PileItem return_item_list = 3; // offset: 24
	uint32 retcode = 6; // offset: 32
}

// Obf: ONBKHMHLADC
enum CmdJukeboxType {
	ONBKHMHLADC_NLCDGIPGFDJ = 0;
	CmdFKLMGEFILDI = 3186;
	CmdPlayBackGroundMusicCsReq = 3193;
	CmdEGDFPDHNOKO = 3147;
	CmdUnlockBackGroundMusicCsReq = 3188;
	CmdUnlockBackGroundMusicScRsp = 3181;
	CmdGetJukeboxDataCsReq = 3125;
	CmdGetJukeboxDataScRsp = 3178;
	CmdPlayBackGroundMusicScRsp = 3158;
}
message LHHGCDLCJDA {
	uint32 id = 4; // offset: 32
	uint32 group_id = 8; // offset: 28
	bool BIMDKNLMICG = 11; // offset: 24
}

// Obf: DONHOEBBNNG
// Type: Req
// CmdID: 3125
message GetJukeboxDataCsReq {
}

// Obf: KLIPBCNOPNO
// Type: Rsp
// CmdID: 3178
message GetJukeboxDataScRsp {
	MNCBEDBDDHL GFFOBALDBPM = 1; // offset: 16
	repeated LHHGCDLCJDA IOKAJIBHLMP = 4; // offset: 24
	uint32 retcode = 5; // offset: 40
}

// Obf: JFFEDGDNJEA
// Type: Req
// CmdID: 3193
message PlayBackGroundMusicCsReq {
	MNCBEDBDDHL IKJNIKIGFLF = 11; // offset: 16
}

// Obf: KOCPKKFLHBJ
// Type: Rsp
// CmdID: 3158
message PlayBackGroundMusicScRsp {
	uint32 retcode = 10; // offset: 32
	MNCBEDBDDHL GFFOBALDBPM = 14; // offset: 24
}

// Obf: CFEBLJEFOMA
// Type: Req
// CmdID: 3188
message UnlockBackGroundMusicCsReq {
	repeated uint32 LIGKEOLPFBE = 10; // offset: 16
}

// Obf: LMINGAKNDKP
// Type: Rsp
// CmdID: 3181
message UnlockBackGroundMusicScRsp {
	repeated LHHGCDLCJDA IOKAJIBHLMP = 3; // offset: 16
	repeated uint32 BPFGBEBPEDP = 6; // offset: 24
	uint32 retcode = 12; // offset: 40
}

// Type: Req
// CmdID: 3186
message FKLMGEFILDI {
	uint32 JKFCKJNHLHI = 15; // offset: 24
}

// Type: Rsp
// CmdID: 3147
message EGDFPDHNOKO {
	uint32 JKFCKJNHLHI = 11; // offset: 28
	uint32 retcode = 13; // offset: 24
}

// Obf: ELGHLKHAMKB
enum CmdLimaoNewsType {
	ELGHLKHAMKB_NLCDGIPGFDJ = 0;
	CmdOFDMHDODALP = 9202;
	CmdACGBGKFFAOL = 9199;
	CmdDGFHEGJKHFO = 9210;
	CmdDDAPICMFDAB = 9194;
	CmdMAGMMMINOAJ = 9184;
	CmdHBOOIEJHKOD = 9191;
	CmdEPMONPAABKJ = 9190;
	CmdKELNHIOMCNF = 9197;
	CmdHOALCJNIJJC = 9209;
	CmdGHBBMIJFIAD = 9182;
	CmdPNOAIGFGNKE = 9189;
	CmdJEGNOIJMBCA = 9200;
	CmdOLNDMBMBNDC = 9195;
	CmdJGHOCEGBDCC = 9188;
	CmdDPAJAECBCPA = 9192;
	CmdCPGFNBBIGLH = 9201;
	CmdJKHGDJGBHCD = 9205;
	CmdLFGKIJMBKJG = 9207;
	CmdGHBKJLIHHGJ = 9183;
	CmdLJCBIAEMLDN = 9181;
	CmdIBPHNIBGMPH = 9198;
	CmdOFNBDEKJMON = 9185;
	CmdPNALNDONMCK = 9187;
	CmdKBAKBMGBNOL = 9186;
	CmdPLADCLDJGKK = 9204;
}

// Obf: NMCBKMBDILL
enum LimaoNewsOfficeSurveyState {
	NMCBKMBDILL_NLCDGIPGFDJ = 0;
	NMCBKMBDILL_PPBPGHDDCOL = 1;
	NMCBKMBDILL_IGGJEJAHPIJ = 2;
	NMCBKMBDILL_BBNEHDGPGGH = 3;
	NMCBKMBDILL_CCKPNCIBDGP = 4;
}
message PBLBAAMLNLH {
	uint32 MDJMBGPLCDD = 1; // offset: 32
	uint32 LJHGIFGINOL = 4; // offset: 40
	bool is_unlocked = 6; // offset: 25
	bool BBMCAHOMEFN = 7; // offset: 24
	uint32 BMGBBEMHLIG = 10; // offset: 28
	uint32 CBGODLHCLPK = 12; // offset: 36
	bool KBLBFGANMPJ = 13; // offset: 26
}
message PJPMBOBAMIC {
	bool KBLBFGANMPJ = 9; // offset: 24
	uint32 BEOHGAADKPH = 12; // offset: 28
}
message HDDBFAIFCGK {
	uint32 LFPABLEIKKE = 6; // offset: 32
	repeated PJPMBOBAMIC EHFHDELPGLN = 13; // offset: 16
}
message LGGGHFDBCFN {
	uint32 KBDOBOODPAK = 2; // offset: 28
	uint32 progress = 6; // offset: 32
	bool has_passed = 9; // offset: 36
	uint32 FDGJLMMEAOF = 13; // offset: 24
}
message FNIDNGOGAFF {
	uint32 IIADKFFPKGP = 4; // offset: 28
	uint32 KPKJALDCMIK = 7; // offset: 24
}
message KJAMNAOLOLL {
	uint32 MBBGFJGCHGE = 1; // offset: 28
	uint32 LJHGIFGINOL = 12; // offset: 24
}

// Type: Req
// CmdID: 9189
message PNOAIGFGNKE {
}

// Type: Rsp
// CmdID: 9205
message JKHGDJGBHCD {
	repeated PBLBAAMLNLH JLADELFEHNO = 2; // offset: 80
	repeated uint32 BIGCHMJEPKE = 5; // offset: 24
	uint32 retcode = 6; // offset: 96
	repeated HDDBFAIFCGK IDMHGCAIBNK = 7; // offset: 48
	repeated uint32 BEBLBBEEIGH = 8; // offset: 16
	repeated KJAMNAOLOLL LFEGDDMBLEE = 9; // offset: 40
	bool HIHOBEPGLEJ = 10; // offset: 88
	repeated uint32 KBMHPOBLMKH = 11; // offset: 56
	repeated FNIDNGOGAFF LBBGCNIJMJC = 12; // offset: 32
	uint32 JDGKFGONCJI = 13; // offset: 92
	repeated LGGGHFDBCFN JEFNJEJFPGK = 15; // offset: 64
}

// Type: Req
// CmdID: 9198
message IBPHNIBGMPH {
	uint32 CBGODLHCLPK = 15; // offset: 24
}

// Type: Rsp
// CmdID: 9184
message MAGMMMINOAJ {
	uint32 retcode = 1; // offset: 32
	PBLBAAMLNLH AMFEFIDDMDA = 11; // offset: 24
}

// Type: Req
// CmdID: 9185
message OFNBDEKJMON {
	uint32 LFPABLEIKKE = 4; // offset: 24
}

// Type: Rsp
// CmdID: 9202
message OFDMHDODALP {
	uint32 retcode = 1; // offset: 28
	uint32 LFPABLEIKKE = 4; // offset: 24
}
message JPIEAEJIDAO {
	repeated FNIDNGOGAFF LMLLNJBLPGC = 10; // offset: 16
}
message OCEAHPDAPFC {
	oneof MMCGBGDJIPN {
		uint32 OCJCOOLMCGD = 15; // offset: 24
		PBLBAAMLNLH NOGCKIHEDCE = 3; // offset: 24
		uint32 HOCFMNJPCLI = 12; // offset: 24
		uint32 JGMJFHLIAIL = 11; // offset: 24
		KJAMNAOLOLL IAFPOEBBJIL = 7; // offset: 24
		LGGGHFDBCFN LDBGGNHLFAM = 10; // offset: 24
		JPIEAEJIDAO HDMEPMHHOLP = 14; // offset: 24
		uint32 JDGKFGONCJI = 5; // offset: 24
		uint32 CGEFHJIEKGF = 9; // offset: 24
	}
}

// Type: Notify
// CmdID: 9187
message PNALNDONMCK {
	repeated OCEAHPDAPFC DGNGMJMPFGK = 15; // offset: 16
}

// Type: Req
// CmdID: 9209
message HOALCJNIJJC {
	uint32 param = 11; // offset: 28
	uint32 event_id = 15; // offset: 24
}

// Type: Rsp
// CmdID: 9201
message CPGFNBBIGLH {
	uint32 event_id = 5; // offset: 32
	uint32 param = 10; // offset: 24
	uint32 retcode = 13; // offset: 28
}

// Type: Req
// CmdID: 9197
message KELNHIOMCNF {
}

// Type: Rsp
// CmdID: 9199
message ACGBGKFFAOL {
	uint32 retcode = 5; // offset: 24
}

// Type: Req
// CmdID: 9192
message DPAJAECBCPA {
	repeated uint32 HBEHCHBCBPG = 7; // offset: 16
	repeated uint32 IAEAJKJDCHO = 8; // offset: 40
	repeated LimaoNewsOfficeSurveyState CMNOBDCMGHE = 14; // offset: 24
}

// Type: Rsp
// CmdID: 9200
message JEGNOIJMBCA {
	uint32 retcode = 5; // offset: 24
}

// Type: Req
// CmdID: 9210
message DGFHEGJKHFO {
	uint32 KPKJALDCMIK = 6; // offset: 24
}

// Type: Rsp
// CmdID: 9182
message GHBBMIJFIAD {
	uint32 KPKJALDCMIK = 6; // offset: 28
	uint32 retcode = 12; // offset: 24
}

// Type: Req
// CmdID: 9195
message OLNDMBMBNDC {
	uint32 NNDNCAEGDFI = 15; // offset: 24
}

// Type: Rsp
// CmdID: 9183
message GHBKJLIHHGJ {
	uint32 NNDNCAEGDFI = 5; // offset: 24
	uint32 retcode = 7; // offset: 28
}

// Type: Req
// CmdID: 9191
message HBOOIEJHKOD {
	uint32 BOGIJENAEHJ = 4; // offset: 24
	uint32 CBGODLHCLPK = 7; // offset: 28
}

// Type: Rsp
// CmdID: 9190
message EPMONPAABKJ {
	uint32 BOGIJENAEHJ = 4; // offset: 24
	uint32 retcode = 6; // offset: 32
	uint32 CBGODLHCLPK = 8; // offset: 28
}

// Type: Req
// CmdID: 9188
message JGHOCEGBDCC {
}

// Type: Rsp
// CmdID: 9181
message LJCBIAEMLDN {
	uint32 retcode = 14; // offset: 24
}

// Type: Req
// CmdID: 9207
message LFGKIJMBKJG {
	uint32 CBGODLHCLPK = 10; // offset: 28
	bool KBLBFGANMPJ = 15; // offset: 24
}

// Type: Rsp
// CmdID: 9194
message DDAPICMFDAB {
	bool KBLBFGANMPJ = 3; // offset: 24
	uint32 retcode = 6; // offset: 28
	uint32 CBGODLHCLPK = 11; // offset: 32
}

// Type: Req
// CmdID: 9204
message PLADCLDJGKK {
	uint32 BEOHGAADKPH = 9; // offset: 28
	bool KBLBFGANMPJ = 11; // offset: 24
}

// Type: Rsp
// CmdID: 9186
message KBAKBMGBNOL {
	uint32 BEOHGAADKPH = 2; // offset: 28
	uint32 retcode = 10; // offset: 32
	bool KBLBFGANMPJ = 13; // offset: 24
}

// Obf: MLPGOBNCBOF
enum CmdLineupType {
	MLPGOBNCBOF_NLCDGIPGFDJ = 0;
	CmdJoinLineupCsReq = 788;
	CmdSwitchLineupIndexCsReq = 704;
	CmdSetLineupNameCsReq = 736;
	CmdSwapLineupCsReq = 726;
	CmdChangeLineupLeaderScRsp = 739;
	CmdExtraLineupDestroyNotify = 772;
	CmdGetAllLineupDataCsReq = 745;
	CmdSwapLineupScRsp = 713;
	CmdGetCurLineupDataCsReq = 793;
	CmdQuitLineupCsReq = 786;
	CmdCNCFCDJAFOJ = 721;
	CmdGetLineupAvatarDataScRsp = 733;
	CmdSyncLineupNotify = 771;
	CmdJoinLineupScRsp = 781;
	CmdSwitchLineupIndexScRsp = 711;
	CmdGetCurLineupDataScRsp = 758;
	CmdReplaceLineupCsReq = 730;
	CmdVirtualLineupTrialAvatarChangeScNotify = 780;
	CmdVirtualLineupDestroyNotify = 765;
	CmdGetAllLineupDataScRsp = 769;
	CmdGetLineupAvatarDataCsReq = 740;
	CmdQuitLineupScRsp = 747;
	CmdChangeLineupLeaderCsReq = 738;
	CmdSetLineupNameScRsp = 748;
	CmdSyncAllPresetLineupNotify = 784;
	CmdReplaceLineupScRsp = 742;
}

enum EMEAOGDFBDI {
	EMEAOGDFBDI_NLCDGIPGFDJ = 0;
	EMEAOGDFBDI_ELILFEPKLCJ = 1;
	EMEAOGDFBDI_JCCBPMFLEHB = 2;
	EMEAOGDFBDI_FIHJPKBLGPF = 3;
	EMEAOGDFBDI_KBLBAPNNANO = 4;
}

// Obf: DMHILEFFPFL
enum ExtraLineupType {
	LINEUP_NONE = 0;
	LINEUP_CHALLENGE = 1;
	LINEUP_ROGUE = 2;
	LINEUP_CHALLENGE_2 = 3;
	LINEUP_CHALLENGE_3 = 4;
	LINEUP_ROGUE_CHALLENGE = 5;
	LINEUP_STAGE_TRIAL = 6;
	LINEUP_ROGUE_TRIAL = 7;
	LINEUP_ACTIVITY = 8;
	LINEUP_BOXING_CLUB = 9;
	LINEUP_TREASURE_DUNGEON = 11;
	LINEUP_CHESS_ROGUE = 12;
	LINEUP_HELIOBUS = 13;
	LINEUP_TOURN_ROGUE = 14;
	LINEUP_RELIC_ROGUE = 15;
	LINEUP_ARCADE_ROGUE = 16;
	LINEUP_MAGIC_ROGUE = 17;
	LINEUP_FATE = 18;
	LINEUP_GRID_FIGHT = 19;
}

// Obf: OAJOCEIKAGK
enum SyncLineupReason {
	SYNC_REASON_NONE = 0;
	SYNC_REASON_MP_ADD = 1;
	SYNC_REASON_MP_ADD_PROP_HIT = 2;
	SYNC_REASON_HP_ADD = 3;
	SYNC_REASON_HP_ADD_PROP_HIT = 4;
	SYNC_REASON_MP_MAX_CHANGED_PERMANENT = 5;
	SYNC_REASON_MP_MAX_CHANGED_BY_MODIFIER = 6;
}

// Obf: LineupAvatar
message LineupAvatar {
	uint32 id = 3; // offset: 40
	uint32 slot = 4; // offset: 36
	uint32 satiety = 10; // offset: 44
	AvatarType avatar_type = 13; // offset: 48
	uint32 hp = 14; // offset: 32
	SpBarInfo sp_bar = 15; // offset: 24
}

// Obf: LineupInfo
message LineupInfo {
	repeated uint32 locked_avatar_i_ds = 1; // offset: 24
	repeated uint32 available_trial_avatar_i_ds = 2; // offset: 16
	uint32 mp = 3; // offset: 76
	uint32 game_story_line_id = 4; // offset: 72
	uint32 leader_slot = 5; // offset: 64
	bool ABHONGJHICF = 6; // offset: 80
	repeated LineupAvatar avatar_list = 7; // offset: 56
	uint32 plane_id = 8; // offset: 88
	repeated uint32 story_line_avatar_id_list = 9; // offset: 48
	bool _is_virtual = 11; // offset: 81
	uint32 index = 12; // offset: 84
	uint32 max_mp = 13; // offset: 92
	string name = 14; // offset: 32
	ExtraLineupType extra_lineup_type = 15; // offset: 68
}

// Obf: JIJPDHKHFML
// Type: Req
// CmdID: 793
message GetCurLineupDataCsReq {
}

// Obf: FNDNOHGCGIE
// Type: Rsp
// CmdID: 758
message GetCurLineupDataScRsp {
	LineupInfo lineup = 10; // offset: 24
	uint32 retcode = 15; // offset: 32
}

// Type: Req
// CmdID: 788
message JoinLineupCsReq {
	ExtraLineupType extra_lineup_type = 1; // offset: 32
	bool _is_virtual = 3; // offset: 28
	uint32 slot = 5; // offset: 24
	uint32 base_avatar_id = 8; // offset: 40
	uint32 index = 10; // offset: 36
	uint32 plane_id = 12; // offset: 48
	AvatarType avatar_type = 13; // offset: 44
}

// Type: Rsp
// CmdID: 781
message JoinLineupScRsp {
	uint32 retcode = 9; // offset: 24
}

// Type: Req
// CmdID: 786
message QuitLineupCsReq {
	AvatarType avatar_type = 1; // offset: 24
	uint32 base_avatar_id = 6; // offset: 44
	uint32 plane_id = 8; // offset: 28
	uint32 index = 9; // offset: 32
	ExtraLineupType extra_lineup_type = 14; // offset: 36
	bool _is_virtual = 15; // offset: 40
}

// Type: Rsp
// CmdID: 747
message QuitLineupScRsp {
	uint32 retcode = 1; // offset: 24
	bool _is_virtual = 9; // offset: 29
	bool MFBIPMACFCE = 15; // offset: 28
}

// Type: Req
// CmdID: 726
message SwapLineupCsReq {
	uint32 ENBIBCPPLDC = 1; // offset: 40
	uint32 index = 4; // offset: 28
	bool _is_virtual = 6; // offset: 36
	ExtraLineupType extra_lineup_type = 8; // offset: 32
	uint32 MPIEGFCNBEN = 10; // offset: 24
	uint32 plane_id = 13; // offset: 44
}

// Type: Rsp
// CmdID: 713
message SwapLineupScRsp {
	uint32 retcode = 12; // offset: 24
}

// Obf: EOBONCLPPLM
// Type: Notify
// CmdID: 771
message SyncLineupNotify {
	LineupInfo lineup = 3; // offset: 16
	repeated SyncLineupReason reason_list = 7; // offset: 32
}

// Obf: ELFNJCILJGK
// Type: Req
// CmdID: 740
message GetLineupAvatarDataCsReq {
}
message LineupAvatarData {
	uint32 hp = 12; // offset: 32
	AvatarType avatar_type = 14; // offset: 28
	uint32 id = 15; // offset: 24
}

// Obf: HLPOIMIADJI
// Type: Rsp
// CmdID: 733
message GetLineupAvatarDataScRsp {
	uint32 retcode = 11; // offset: 32
	repeated LineupAvatarData avatar_data_list = 15; // offset: 24
}

// Obf: GOEIOJHFNOH
// Type: Req
// CmdID: 738
message ChangeLineupLeaderCsReq {
	uint32 slot = 15; // offset: 24
}

// Obf: GHHKJGJNKIK
// Type: Rsp
// CmdID: 739
message ChangeLineupLeaderScRsp {
	uint32 slot = 6; // offset: 24
	uint32 retcode = 11; // offset: 28
}

// Obf: GFMLKENMBGP
// Type: Req
// CmdID: 704
message SwitchLineupIndexCsReq {
	uint32 index = 1; // offset: 24
}

// Obf: MEFDHAEBAFG
// Type: Rsp
// CmdID: 711
message SwitchLineupIndexScRsp {
	uint32 retcode = 2; // offset: 28
	uint32 index = 5; // offset: 24
}

// Obf: HIPGFJHDOBO
// Type: Req
// CmdID: 736
message SetLineupNameCsReq {
	string name = 4; // offset: 16
	uint32 index = 11; // offset: 32
}

// Obf: FIMLPDOBHBD
// Type: Rsp
// CmdID: 748
message SetLineupNameScRsp {
	uint32 retcode = 10; // offset: 32
	string name = 12; // offset: 24
	uint32 index = 13; // offset: 36
}

// Obf: AMIDBKDMELM
// Type: Req
// CmdID: 745
message GetAllLineupDataCsReq {
}

// Obf: EPGDODNPPDO
// Type: Rsp
// CmdID: 769
message GetAllLineupDataScRsp {
	uint32 retcode = 3; // offset: 36
	uint32 cur_index = 5; // offset: 32
	repeated LineupInfo lineup_list = 7; // offset: 16
}

// Obf: EFAFCCEKOAN
// Type: Notify
// CmdID: 784
message SyncAllPresetLineupNotify {
	repeated LineupInfo lineup_list = 10; // offset: 16
	uint32 cur_index = 13; // offset: 32
}

// Obf: HPHANFONFPF
// Type: Notify
// CmdID: 765
message VirtualLineupDestroyNotify {
	uint32 plane_id = 1; // offset: 24
}
message LineupSlotData {
	uint32 id = 7; // offset: 36
	uint32 slot = 10; // offset: 24
	uint32 assist_uid = 12; // offset: 32
	AvatarType avatar_type = 13; // offset: 28
}

// Obf: BLIOAJGEJNN
// Type: Req
// CmdID: 730
message ReplaceLineupCsReq {
	bool PLIEODDEEHG = 1; // offset: 52
	uint32 leader_slot = 2; // offset: 44
	bool _is_virtual = 3; // offset: 53
	bool HIAMAJKDIOO = 9; // offset: 54
	uint32 game_story_line_id = 10; // offset: 32
	uint32 plane_id = 11; // offset: 36
	repeated LineupSlotData lineup_slot_list = 13; // offset: 16
	uint32 index = 14; // offset: 48
	ExtraLineupType extra_lineup_type = 15; // offset: 40
}

// Obf: JHICJLAIPLD
// Type: Rsp
// CmdID: 742
message ReplaceLineupScRsp {
	uint32 OMDLCGEMBLA = 4; // offset: 28
	uint32 retcode = 14; // offset: 24
}

// Obf: HOGPMBGJIDH
// Type: Notify
// CmdID: 772
message ExtraLineupDestroyNotify {
	ExtraLineupType extra_lineup_type = 3; // offset: 24
}

// Obf: GNIOONGIJLP
// Type: Notify
// CmdID: 780
message VirtualLineupTrialAvatarChangeScNotify {
	bool OLPNMKAPDLP = 1; // offset: 44
	uint32 plane_id = 5; // offset: 40
	repeated uint32 EDBMIFNEHHH = 7; // offset: 32
	repeated uint32 ILIDIIGALKD = 12; // offset: 24
}

// Type: Notify
// CmdID: 721
message CNCFCDJAFOJ {
	repeated uint32 KLNEDJPADCA = 4; // offset: 24
}

// Obf: MFAHJPCHPIN
enum CmdLobbyType {
	MFAHJPCHPIN_NLCDGIPGFDJ = 0;
	CmdLobbyCreateScRsp = 7373;
	CmdAGDPIOAKFGB = 7365;
	CmdLobbyKickOutCsReq = 7360;
	CmdLobbyModifyPlayerInfoCsReq = 7353;
	CmdLobbyKickOutScRsp = 7371;
	CmdDACEFJFGLGM = 7369;
	CmdLobbyInviteCsReq = 7370;
	CmdLobbyJoinCsReq = 7387;
	CmdLobbyModifyPlayerInfoScRsp = 7357;
	CmdOPKKJFEFEIL = 7385;
	CmdLobbyQuitCsReq = 7379;
	CmdLobbyGetInfoScRsp = 7364;
	CmdLobbyGetInfoCsReq = 7352;
	CmdANFMHBGNNEG = 7358;
	CmdLobbyQuitScRsp = 7383;
	CmdLobbyInteractScNotify = 7363;
	CmdLobbyJoinScRsp = 7394;
	CmdLobbyCreateCsReq = 7359;
	CmdKIGJGMLAMGH = 7368;
	CmdLobbySyncInfoScNotify = 7374;
	CmdLobbyInviteScRsp = 7367;
	CmdGJBGNMGGDLE = 7398;
}

// Obf: CCDPOMCEFED
// Type: Req
// CmdID: 7359
message LobbyCreateCsReq {
	LobbyGameExtInfo JIDKDPPPDPF = 1; // offset: 24
	uint32 HDJFGMGAOOF = 9; // offset: 40
	FightGameMode GJNMHILINHC = 14; // offset: 44
	PJMGBLIFDFP room_ext_info = 15; // offset: 16
}

// Obf: ACABBGBMIPN
// Type: Rsp
// CmdID: 7373
message LobbyCreateScRsp {
	uint64 room_id = 2; // offset: 48
	uint32 retcode = 5; // offset: 40
	uint32 HDJFGMGAOOF = 7; // offset: 44
	repeated LMLNNHKJEIP DFLEOIGPLNM = 9; // offset: 16
	FightGameMode GJNMHILINHC = 13; // offset: 56
	PJMGBLIFDFP room_ext_info = 14; // offset: 32
}

// Type: Req
// CmdID: 7370
message LobbyInviteCsReq {
	repeated uint32 uid_list = 1; // offset: 16
}

// Type: Rsp
// CmdID: 7367
message LobbyInviteScRsp {
	uint32 retcode = 1; // offset: 32
	repeated uint32 uid_list = 4; // offset: 24
}

// Obf: BNOKBNOIIGD
// Type: Req
// CmdID: 7387
message LobbyJoinCsReq {
	LobbyGameExtInfo JIDKDPPPDPF = 5; // offset: 32
	string JKJCIPFMOHG = 10; // offset: 16
	uint64 room_id = 15; // offset: 40
}

// Obf: JLPMFNHLBED
// Type: Rsp
// CmdID: 7394
message LobbyJoinScRsp {
	PJMGBLIFDFP room_ext_info = 4; // offset: 32
	uint32 HDJFGMGAOOF = 7; // offset: 52
	FightGameMode GJNMHILINHC = 8; // offset: 56
	uint32 retcode = 10; // offset: 48
	uint64 room_id = 12; // offset: 40
	repeated LMLNNHKJEIP DFLEOIGPLNM = 15; // offset: 16
}

// Type: Req
// CmdID: 7379
message LobbyQuitCsReq {
}

// Type: Rsp
// CmdID: 7383
message LobbyQuitScRsp {
	uint32 retcode = 4; // offset: 24
}

// Type: Req
// CmdID: 7369
message DACEFJFGLGM {
}

// Type: Rsp
// CmdID: 7398
message GJBGNMGGDLE {
	uint32 retcode = 14; // offset: 24
}

// Type: Req
// CmdID: 7353
message LobbyModifyPlayerInfoCsReq {
	LobbyModifyType type = 9; // offset: 36
	LobbyGameExtInfo JIDKDPPPDPF = 13; // offset: 16
	uint32 GMGJFJCDGGN = 15; // offset: 32
}

// Type: Rsp
// CmdID: 7357
message LobbyModifyPlayerInfoScRsp {
	uint32 retcode = 2; // offset: 24
}

// Obf: FPEGJJJKNAL
// Type: Notify
// CmdID: 7374
message LobbySyncInfoScNotify {
	uint32 uid = 3; // offset: 36
	LobbyModifyType type = 5; // offset: 32
	repeated LMLNNHKJEIP DFLEOIGPLNM = 8; // offset: 24
}

// Type: Req
// CmdID: 7360
message LobbyKickOutCsReq {
	uint32 uid = 9; // offset: 24
}

// Type: Rsp
// CmdID: 7371
message LobbyKickOutScRsp {
	uint32 retcode = 13; // offset: 24
}

// Obf: AIBENADLLGH
// Type: Req
// CmdID: 7352
message LobbyGetInfoCsReq {
}

// Obf: MAMINBCLDKO
// Type: Rsp
// CmdID: 7364
message LobbyGetInfoScRsp {
	uint32 HDJFGMGAOOF = 1; // offset: 40
	uint32 retcode = 3; // offset: 56
	PJMGBLIFDFP room_ext_info = 4; // offset: 32
	FightGameMode GJNMHILINHC = 5; // offset: 60
	uint64 room_id = 7; // offset: 48
	repeated LMLNNHKJEIP DFLEOIGPLNM = 9; // offset: 24
}

// Type: Req
// CmdID: 7385
message OPKKJFEFEIL {
	uint32 teleport_id = 5; // offset: 24
	LobbyInteractType DNBKKDBFFAJ = 9; // offset: 28
}

// Type: Rsp
// CmdID: 7365
message AGDPIOAKFGB {
	uint32 retcode = 12; // offset: 24
	uint32 teleport_id = 13; // offset: 28
}

// Obf: DMOIAEPEJHK
// Type: Notify
// CmdID: 7363
message LobbyInteractScNotify {
	LobbyInteractType DNBKKDBFFAJ = 1; // offset: 24
	uint32 CPOCELOLNHL = 8; // offset: 28
}

// Type: Req
// CmdID: 7358
message ANFMHBGNNEG {
	PJMGBLIFDFP room_ext_info = 15; // offset: 16
}

// Type: Rsp
// CmdID: 7368
message KIGJGMLAMGH {
	uint32 retcode = 12; // offset: 24
}

// Obf: EGHHBKBLDMM
enum CmdLocalLegendType {
	EGHHBKBLDMM_NLCDGIPGFDJ = 0;
	CmdEnterLocalLegendLevelCsReq = 6587;
	CmdLocalLegendDataChangeNotify = 6580;
	CmdEnterLocalLegendLevelScRsp = 6582;
	CmdGetLocalLegendDataScRsp = 6596;
	CmdGetLocalLegendDataCsReq = 6583;
}
message JJEFLBCLBFN {
	uint32 group_id = 1; // offset: 28
	uint32 DBKHHCGGKNN = 9; // offset: 32
	uint32 FFGFINDLMCF = 11; // offset: 24
}

// Obf: BKPFBNADBFO
// Type: Req
// CmdID: 6583
message GetLocalLegendDataCsReq {
}

// Obf: FBLEHOCIBOG
// Type: Rsp
// CmdID: 6596
message GetLocalLegendDataScRsp {
	uint32 retcode = 9; // offset: 32
	repeated JJEFLBCLBFN level_data_list = 13; // offset: 24
}
message ACIHMMBKMIM {
	uint32 avatar_id = 3; // offset: 24
	AvatarType avatar_type = 12; // offset: 28
}

// Obf: LDPHOLLGPKE
// Type: Req
// CmdID: 6587
message EnterLocalLegendLevelCsReq {
	repeated ACIHMMBKMIM avatar_list = 4; // offset: 16
	uint32 DBKHHCGGKNN = 12; // offset: 36
	uint32 group_id = 14; // offset: 32
}

// Obf: KJPKLCHMMNM
// Type: Rsp
// CmdID: 6582
message EnterLocalLegendLevelScRsp {
	uint32 retcode = 2; // offset: 40
	uint32 DBKHHCGGKNN = 3; // offset: 36
	SceneBattleInfo battle_info = 6; // offset: 16
	uint32 group_id = 15; // offset: 32
}

// Obf: HCFLLCPLMHF
// Type: Notify
// CmdID: 6580
message LocalLegendDataChangeNotify {
	JJEFLBCLBFN level_data = 2; // offset: 16
}

// Obf: CFGEBHKAEHB
enum CmdMailType {
	CFGEBHKAEHB_NLCDGIPGFDJ = 0;
	CmdGetMailScRsp = 878;
	CmdDelMailCsReq = 888;
	CmdDelMailScRsp = 881;
	CmdTakeMailAttachmentScRsp = 847;
	CmdMarkReadMailScRsp = 858;
	CmdGetMailCsReq = 825;
	CmdMarkReadMailCsReq = 893;
	CmdNewMailScNotify = 826;
	CmdTakeMailAttachmentCsReq = 886;
}

// Obf: JNLNCKDBOLK
enum MailType {
	MAIL_TYPE_NORMAL = 0;
	MAIL_TYPE_STAR = 1;
}

// Type: Req
// CmdID: 825
message GetMailCsReq {
	uint32 start = 1; // offset: 24
	uint32 HFKFNFKIEON = 15; // offset: 28
}
message ClientMail {
	uint32 id = 1; // offset: 68
	int64 expire_time = 2; // offset: 80
	bool is_read = 3; // offset: 92
	string content = 4; // offset: 40
	string title = 5; // offset: 56
	MailType mail_type = 6; // offset: 64
	ItemList attachment = 8; // offset: 16
	int64 time = 9; // offset: 72
	string sender = 11; // offset: 32
	uint32 template_id = 12; // offset: 88
	repeated string para_list = 15; // offset: 24
}

// Type: Rsp
// CmdID: 878
message GetMailScRsp {
	uint32 total_num = 3; // offset: 48
	repeated ClientMail mail_list = 8; // offset: 16
	uint32 retcode = 10; // offset: 44
	uint32 start = 11; // offset: 52
	repeated ClientMail notice_mail_list = 12; // offset: 32
	bool is_end = 14; // offset: 40
}

// Type: Req
// CmdID: 893
message MarkReadMailCsReq {
	uint32 id = 14; // offset: 24
}

// Type: Rsp
// CmdID: 858
message MarkReadMailScRsp {
	uint32 id = 9; // offset: 28
	uint32 retcode = 10; // offset: 24
}

// Type: Req
// CmdID: 888
message DelMailCsReq {
	repeated uint32 id_list = 9; // offset: 24
}

// Type: Rsp
// CmdID: 881
message DelMailScRsp {
	repeated uint32 id_list = 2; // offset: 16
	uint32 retcode = 12; // offset: 32
}

// Type: Req
// CmdID: 886
message TakeMailAttachmentCsReq {
	uint32 optional_reward_id = 7; // offset: 32
	repeated uint32 mail_id_list = 10; // offset: 24
}
message KNPNAHPHNJK {
	uint32 IODBGABPNOP = 10; // offset: 28
	uint32 item_id = 12; // offset: 24
}

// Type: Rsp
// CmdID: 847
message TakeMailAttachmentScRsp {
	repeated KNPNAHPHNJK fail_mail_list = 3; // offset: 24
	repeated uint32 succ_mail_id_list = 10; // offset: 40
	uint32 retcode = 11; // offset: 48
	ItemList attachment = 15; // offset: 16
}

// Type: Notify
// CmdID: 826
message NewMailScNotify {
	repeated uint32 mail_id_list = 7; // offset: 24
}

// Obf: LLGNEHDEAFB
enum CmdMapRotationType {
	LLGNEHDEAFB_NLCDGIPGFDJ = 0;
	CmdResetMapRotationRegionScRsp = 6838;
	CmdRotateMapCsReq = 6886;
	CmdDNNLHFKKNLM = 6845;
	CmdResetMapRotationRegionCsReq = 6833;
	CmdRemoveRotatorCsReq = 6836;
	CmdDeployRotatorCsReq = 6888;
	CmdInteractChargerCsReq = 6893;
	CmdEnterMapRotationRegionScRsp = 6878;
	CmdGetMapRotationDataScRsp = 6840;
	CmdInteractChargerScRsp = 6858;
	CmdLeaveMapRotationRegionCsReq = 6826;
	CmdLeaveMapRotationRegionScRsp = 6813;
	CmdRotateMapScRsp = 6847;
	CmdEnterMapRotationRegionCsReq = 6825;
	CmdGetMapRotationDataCsReq = 6871;
	CmdRemoveRotaterScRsp = 6848;
	CmdDeployRotatorScRsp = 6881;
	CmdUpdateEnergyScNotify = 6804;
	CmdUpdateMapRotationDataScNotify = 6811;
}
message FHEGNOPNICH {
	bool MJIPOJPBKNB = 1; // offset: 60
	int32 region_id = 2; // offset: 56
	RotaterEnergyInfo energy_info = 6; // offset: 24
	repeated RotaterData CEDGGDFMILP = 9; // offset: 48
	uint32 JPPMEKJGJFD = 11; // offset: 64
	RotateMapInfo COOOMDKGODF = 14; // offset: 16
	repeated ChargerInfo EGAGKNADAHJ = 15; // offset: 40
}
message RotaterEnergyInfo {
	uint32 max_num = 1; // offset: 24
	uint32 cur_num = 13; // offset: 28
}
message RotateMapInfo {
	Vector ELFDIEFKCMH = 2; // offset: 16
	Vector4 MIACNFDGKCE = 10; // offset: 24
}

// Type: Req
// CmdID: 6825
message EnterMapRotationRegionCsReq {
	MotionInfo motion = 3; // offset: 24
	uint32 region_id = 7; // offset: 32
	uint32 JPPMEKJGJFD = 11; // offset: 36
}

// Type: Rsp
// CmdID: 6878
message EnterMapRotationRegionScRsp {
	uint32 JPPMEKJGJFD = 2; // offset: 44
	uint32 retcode = 6; // offset: 48
	uint32 region_id = 8; // offset: 52
	MotionInfo motion = 9; // offset: 24
	RotaterEnergyInfo energy_info = 11; // offset: 16
	uint32 client_pos_version = 15; // offset: 40
}
message ChargerInfo {
	uint32 group_id = 10; // offset: 24
	uint32 instance_id = 11; // offset: 28
}

// Type: Req
// CmdID: 6893
message InteractChargerCsReq {
	ChargerInfo charger_info = 5; // offset: 16
}

// Type: Rsp
// CmdID: 6858
message InteractChargerScRsp {
	uint32 retcode = 2; // offset: 40
	RotaterEnergyInfo energy_info = 5; // offset: 16
	ChargerInfo charger_info = 12; // offset: 32
}
message RotaterData {
	float position = 9; // offset: 28
	uint32 instance_id = 11; // offset: 24
	uint32 group_id = 15; // offset: 32
}

// Type: Req
// CmdID: 6888
message DeployRotatorCsReq {
	RotaterData rotater_data = 4; // offset: 24
}

// Type: Rsp
// CmdID: 6881
message DeployRotatorScRsp {
	uint32 retcode = 6; // offset: 40
	RotaterData rotater_data = 10; // offset: 32
	RotaterEnergyInfo energy_info = 13; // offset: 24
}

// Type: Req
// CmdID: 6886
message RotateMapCsReq {
	RotateMapInfo COOOMDKGODF = 4; // offset: 32
	uint32 group_id = 7; // offset: 40
	MotionInfo motion = 10; // offset: 24
	uint32 instance_id = 14; // offset: 44
}

// Type: Rsp
// CmdID: 6847
message RotateMapScRsp {
	uint32 retcode = 2; // offset: 32
	uint32 client_pos_version = 3; // offset: 36
	MotionInfo motion = 6; // offset: 24
}

// Type: Req
// CmdID: 6826
message LeaveMapRotationRegionCsReq {
	MotionInfo motion = 3; // offset: 16
}

// Type: Rsp
// CmdID: 6813
message LeaveMapRotationRegionScRsp {
	uint32 client_pos_version = 7; // offset: 36
	uint32 retcode = 11; // offset: 32
	MotionInfo motion = 15; // offset: 16
}

// Type: Req
// CmdID: 6871
message GetMapRotationDataCsReq {
}

// Type: Rsp
// CmdID: 6840
message GetMapRotationDataScRsp {
	repeated ChargerInfo EGAGKNADAHJ = 1; // offset: 24
	bool BHABAIFPOOA = 2; // offset: 60
	int32 region_id = 5; // offset: 68
	RotateMapInfo COOOMDKGODF = 6; // offset: 48
	uint32 JPPMEKJGJFD = 8; // offset: 64
	repeated RotaterData CEDGGDFMILP = 10; // offset: 16
	RotaterEnergyInfo energy_info = 13; // offset: 32
	uint32 retcode = 14; // offset: 56
}

// Type: Req
// CmdID: 6833
message ResetMapRotationRegionCsReq {
	RotateMapInfo COOOMDKGODF = 6; // offset: 32
	MotionInfo motion = 8; // offset: 24
}

// Type: Rsp
// CmdID: 6838
message ResetMapRotationRegionScRsp {
	uint32 client_pos_version = 4; // offset: 32
	uint32 retcode = 5; // offset: 36
	MotionInfo motion = 7; // offset: 16
}

// Type: Notify
// CmdID: 6804
message UpdateEnergyScNotify {
	RotaterEnergyInfo energy_info = 7; // offset: 24
}

// Type: Notify
// CmdID: 6811
message UpdateMapRotationDataScNotify {
	uint32 JPPMEKJGJFD = 1; // offset: 64
	bool BHABAIFPOOA = 3; // offset: 56
	repeated ChargerInfo EGAGKNADAHJ = 6; // offset: 40
	RotaterEnergyInfo energy_info = 8; // offset: 32
	RotateMapInfo COOOMDKGODF = 11; // offset: 48
	repeated RotaterData CEDGGDFMILP = 12; // offset: 16
	int32 region_id = 14; // offset: 60
}

// Type: Req
// CmdID: 6836
message RemoveRotatorCsReq {
	RotaterData rotater_data = 10; // offset: 16
}

// Type: Rsp
// CmdID: 6848
message RemoveRotaterScRsp {
	uint32 retcode = 1; // offset: 40
	RotaterData rotater_data = 13; // offset: 32
	RotaterEnergyInfo energy_info = 14; // offset: 24
}

// Type: Notify
// CmdID: 6845
message DNNLHFKKNLM {
	repeated RotaterData CEDGGDFMILP = 4; // offset: 24
}

// Obf: NIEBPPAPJOF
enum CmdMarbleType {
	NIEBPPAPJOF_NLCDGIPGFDJ = 0;
	CmdMarbleGetDataCsReq = 8288;
	CmdHAJKEPNEJED = 8273;
	CmdMarbleUpdateShownSealCsReq = 8281;
	CmdMarbleShopBuyCsReq = 8272;
	CmdMarbleShopBuyScRsp = 8287;
	CmdMarbleUpdateShownSealScRsp = 8285;
	CmdMarbleUnlockSealScNotify = 8275;
	CmdMarblePvpDataUpdateScNotify = 8274;
	CmdMarbleGetDataScRsp = 8278;
	CmdKBECKAMICJF = 8282;
}

// Obf: ONEBKBJMLIG
// Type: Req
// CmdID: 8288
message MarbleGetDataCsReq {
}

// Obf: CCNJIFFMGNA
// Type: Rsp
// CmdID: 8278
message MarbleGetDataScRsp {
	repeated uint32 IKGIIIJLLBL = 3; // offset: 40
	int32 score_id = 8; // offset: 52
	repeated uint32 LHDIMCDHCEO = 11; // offset: 16
	uint32 retcode = 12; // offset: 48
	repeated uint32 KJJCIMANKOA = 15; // offset: 32
}

// Type: Req
// CmdID: 8273
message HAJKEPNEJED {
	uint32 GNAMNBDIEKG = 3; // offset: 32
	repeated uint32 EGCLLKDHIAE = 13; // offset: 24
}

// Type: Rsp
// CmdID: 8282
message KBECKAMICJF {
	uint32 GNAMNBDIEKG = 5; // offset: 28
	uint32 retcode = 13; // offset: 24
}

// Obf: IPIKNJLJCNC
// Type: Req
// CmdID: 8272
message MarbleShopBuyCsReq {
	repeated uint32 EGCLLKDHIAE = 5; // offset: 16
}

// Obf: AFDNHCKGNNB
// Type: Rsp
// CmdID: 8287
message MarbleShopBuyScRsp {
	repeated uint32 EGCLLKDHIAE = 8; // offset: 16
	uint32 retcode = 13; // offset: 32
}

// Obf: GKHLACNDNHA
// Type: Notify
// CmdID: 8275
message MarbleUnlockSealScNotify {
	repeated uint32 EGCLLKDHIAE = 10; // offset: 16
}

// Obf: DPIEGEGHMDP
// Type: Notify
// CmdID: 8274
message MarblePvpDataUpdateScNotify {
	int32 score_id = 15; // offset: 24
}

// Obf: PODAILFIECJ
// Type: Req
// CmdID: 8281
message MarbleUpdateShownSealCsReq {
	repeated uint32 GFADCIHMDNN = 7; // offset: 24
}

// Obf: ODGOEIFAHPH
// Type: Rsp
// CmdID: 8285
message MarbleUpdateShownSealScRsp {
	repeated uint32 GFADCIHMDNN = 3; // offset: 16
	uint32 retcode = 10; // offset: 32
}

// Obf: LCNKHDAOMKM
enum CmdMarkChestType {
	LCNKHDAOMKM_NLCDGIPGFDJ = 0;
	CmdUpdateMarkChestCsReq = 8183;
	CmdGetMarkChestCsReq = 8198;
	CmdMarkChestChangedScNotify = 8182;
	CmdGetMarkChestScRsp = 8188;
	CmdUpdateMarkChestScRsp = 8192;
}
message MarkChestInfo {
	uint32 group_id = 3; // offset: 24
	uint32 plane_id = 5; // offset: 28
	uint32 config_id = 8; // offset: 36
	uint32 HFJELBGDGHP = 9; // offset: 32
	uint32 floor_id = 13; // offset: 40
}
message MarkChestFuncInfo {
	int64 mark_time = 6; // offset: 32
	uint32 func_id = 8; // offset: 40
	repeated MarkChestInfo mark_chest_info_list = 10; // offset: 24
}

// Obf: BMDACCNEEPL
// Type: Req
// CmdID: 8198
message GetMarkChestCsReq {
}

// Obf: KGALGCOHNIJ
// Type: Rsp
// CmdID: 8188
message GetMarkChestScRsp {
	uint32 retcode = 1; // offset: 32
	repeated MarkChestFuncInfo mark_chest_func_info = 9; // offset: 24
}

// Obf: GIAHMBPHGPI
// Type: Req
// CmdID: 8183
message UpdateMarkChestCsReq {
	uint32 func_id = 9; // offset: 32
	repeated MarkChestInfo mark_chest_info_list = 10; // offset: 16
	uint32 trigger_param_id = 12; // offset: 36
}

// Obf: MHHCEHOKJBG
// Type: Rsp
// CmdID: 8192
message UpdateMarkChestScRsp {
	uint32 retcode = 3; // offset: 32
	uint32 func_id = 5; // offset: 36
	repeated MarkChestFuncInfo mark_chest_func_info = 8; // offset: 16
	uint32 trigger_param_id = 10; // offset: 40
}

// Obf: PCECJDGICOC
// Type: Notify
// CmdID: 8182
message MarkChestChangedScNotify {
	repeated MarkChestFuncInfo mark_chest_func_info = 15; // offset: 24
}

// Obf: OJCIGGAFGPN
enum CmdMatchType {
	OJCIGGAFGPN_NLCDGIPGFDJ = 0;
	CmdStartMatchScRsp = 7323;
	CmdGetCrossInfoScRsp = 7303;
	CmdCancelMatchCsReq = 7337;
	CmdGetCrossInfoCsReq = 7348;
	CmdStartMatchCsReq = 7309;
	CmdCancelMatchScRsp = 7344;
}

// Type: Req
// CmdID: 7309
message StartMatchCsReq {
	FightGameMode GJNMHILINHC = 4; // offset: 32
	LobbyGameExtInfo JIDKDPPPDPF = 11; // offset: 16
}

// Type: Rsp
// CmdID: 7323
message StartMatchScRsp {
	uint32 retcode = 2; // offset: 24
}

// Type: Req
// CmdID: 7337
message CancelMatchCsReq {
}

// Type: Rsp
// CmdID: 7344
message CancelMatchScRsp {
	uint32 retcode = 1; // offset: 24
}

// Obf: LFHENIDCNMJ
// Type: Req
// CmdID: 7348
message GetCrossInfoCsReq {
}

// Obf: BMMPOKFLJFG
// Type: Rsp
// CmdID: 7303
message GetCrossInfoScRsp {
	uint64 FGNFDGAKKAP = 7; // offset: 32
	uint64 room_id = 9; // offset: 24
	uint32 retcode = 10; // offset: 40
	FightGameMode GJNMHILINHC = 15; // offset: 44
}

// Obf: PLHKNANMNAO
enum CmdMatchThreeModuleType {
	PLHKNANMNAO_NLCDGIPGFDJ = 0;
	CmdMatchThreeV2SetBirdPosCsReq = 7429;
	CmdMatchThreeV2LevelEndCsReq = 7420;
	CmdPOGMMMGBNCH = 7448;
	CmdDHFGMHFEHEB = 7410;
	CmdMatchThreeGetDataDataCsReq = 7409;
	CmdMatchThreeV2ScNotify = 7406;
	CmdEEHLDBOEFGB = 7414;
	CmdMatchThreeV2BattleItemLevelUpScRsp = 7424;
	CmdMatchThreeV2SetBirdPosScRsp = 7433;
	CmdPBDKDFCOAPB = 7407;
	CmdMatchThreeV2BattleItemLevelUpCsReq = 7421;
	CmdHDAOEKOEDHO = 7403;
	CmdMatchThreeLevelEndCsReq = 7437;
	CmdMatchThreeGetDataDataScRsp = 7423;
	CmdMatchThreeV2LevelEndScRsp = 7417;
	CmdMatchThreeSyncDataScNotify = 7419;
	CmdMatchThreeV2PvpFinishScNotify = 7402;
	CmdMatchThreeLevelEndScRsp = 7444;
}

// Obf: JHGPKBIJHDE
enum MatchThreeStatisticsType {
	JHGPKBIJHDE_AKHAIBHBLFL = 0;
	JHGPKBIJHDE_IKGFLPIKBME = 1;
	JHGPKBIJHDE_FPBHKCHPDJD = 2;
	JHGPKBIJHDE_CGMJACLCLOI = 3;
	JHGPKBIJHDE_OEMMEEEJGJN = 4;
	JHGPKBIJHDE_GGCOALCKJLG = 5;
	JHGPKBIJHDE_DEDJLNBBFJD = 6;
	JHGPKBIJHDE_LCIJPPIJBKC = 7;
	JHGPKBIJHDE_EAKEHNFBDBN = 8;
	JHGPKBIJHDE_ALMCCADJLKA = 9;
	JHGPKBIJHDE_COLMJCGJDCC = 10;
	JHGPKBIJHDE_MDBAFCNEPJP = 11;
	JHGPKBIJHDE_OFOKPFFONKH = 12;
	JHGPKBIJHDE_DBNNDMDFHEK = 13;
}

// Obf: JPDGPEOBBNJ
// Type: Req
// CmdID: 7409
message MatchThreeGetDataDataCsReq {
}
message HPIEHAMDJAP {
	uint32 level_id = 8; // offset: 24
	uint32 KKHPKMAHDMK = 9; // offset: 28
}
message MLHLIMIJHDD {
	uint32 pos_index = 2; // offset: 32
	uint32 count = 6; // offset: 36
	uint32 HBONKLEOEEI = 7; // offset: 28
	uint32 LALGADHLMCB = 9; // offset: 24
}
message ALNGMGOJDOA {
	map<uint32, uint32> AEOMEFEMBJI = 7; // offset: 32
	repeated HPIEHAMDJAP MJNNNJPDKDI = 9; // offset: 48
	map<uint32, uint32> GMONIMLFKFC = 12; // offset: 24
	repeated MLHLIMIJHDD DBINCLPHEFN = 15; // offset: 40
}

// Obf: AJDCICOLIBC
// Type: Rsp
// CmdID: 7423
message MatchThreeGetDataDataScRsp {
	ALNGMGOJDOA GJFKKFFJDAH = 8; // offset: 16
	uint32 retcode = 14; // offset: 32
}

// Obf: GKHHHFHGINI
// Type: Req
// CmdID: 7437
message MatchThreeLevelEndCsReq {
	map<uint32, uint32> GMONIMLFKFC = 2; // offset: 16
	uint32 KKHPKMAHDMK = 3; // offset: 52
	uint32 HBONKLEOEEI = 4; // offset: 40
	uint32 LALGADHLMCB = 5; // offset: 44
	string uuid = 7; // offset: 32
	uint32 level_id = 11; // offset: 48
}

// Obf: LOJIENDBLAI
// Type: Rsp
// CmdID: 7444
message MatchThreeLevelEndScRsp {
	uint32 retcode = 3; // offset: 28
	uint32 level_id = 10; // offset: 32
	uint32 KKHPKMAHDMK = 14; // offset: 24
}

// Obf: ENILOPJOCBN
// Type: Notify
// CmdID: 7419
message MatchThreeSyncDataScNotify {
	ALNGMGOJDOA GJFKKFFJDAH = 6; // offset: 16
}

// Type: Req
// CmdID: 7448
message POGMMMGBNCH {
	uint32 HBONKLEOEEI = 8; // offset: 24
	uint32 pos_index = 14; // offset: 28
}

// Type: Rsp
// CmdID: 7403
message HDAOEKOEDHO {
	uint32 pos_index = 6; // offset: 28
	uint32 retcode = 8; // offset: 24
	uint32 HBONKLEOEEI = 11; // offset: 32
}

// Obf: PBDKDFCOAPB
// Type: Req
// CmdID: 7407
message PBDKDFCOAPB {
}
message HDKJPKPEJFO {
	uint32 level_id = 4; // offset: 32
	repeated uint32 GKCABEGBOCG = 5; // offset: 16
}
message KPCHPLEJCKC {
	uint32 LALGADHLMCB = 7; // offset: 32
	uint32 count = 11; // offset: 28
	uint32 pos_index = 14; // offset: 36
	uint32 HBONKLEOEEI = 15; // offset: 24
}
message JKEBEAKOHJJ {
	repeated KVP GOBIPJPDBFG = 2; // offset: 32
	repeated KPCHPLEJCKC DBINCLPHEFN = 4; // offset: 24
	repeated KVP KIOIBLGKFCJ = 6; // offset: 48
	repeated HDKJPKPEJFO NKHIIMHCLCD = 8; // offset: 56
	uint32 EECIJBLGLNG = 10; // offset: 68
	repeated KVP BFCMLMLIHHM = 12; // offset: 16
	uint32 JNAOKJKFLHL = 15; // offset: 64
}

// Obf: DHFGMHFEHEB
// Type: Rsp
// CmdID: 7410
message DHFGMHFEHEB {
	JKEBEAKOHJJ BJBJLBIOPKA = 13; // offset: 16
	uint32 retcode = 14; // offset: 32
}

// Obf: FCDAFFCDLLD
// Type: Req
// CmdID: 7421
message MatchThreeV2BattleItemLevelUpCsReq {
	uint32 IGOOJKMPMDC = 8; // offset: 24
	uint32 FMEHKPKHGJA = 12; // offset: 28
}

// Obf: MPCDHLLOEJM
// Type: Rsp
// CmdID: 7424
message MatchThreeV2BattleItemLevelUpScRsp {
	uint32 FMEHKPKHGJA = 5; // offset: 24
	uint32 retcode = 8; // offset: 28
	uint32 IGOOJKMPMDC = 10; // offset: 32
}

// Obf: GJKAHBHLPPH
// Type: Req
// CmdID: 7420
message MatchThreeV2LevelEndCsReq {
	string uuid = 1; // offset: 16
	repeated KVP MONKDLNMMBK = 2; // offset: 24
	repeated uint32 EEDLBJGGLKD = 3; // offset: 40
	uint32 EOHGLCJAMKN = 8; // offset: 52
	uint32 HBONKLEOEEI = 10; // offset: 64
	uint32 JGIFDFLDBPB = 12; // offset: 60
	uint32 GFBAHEODFNA = 13; // offset: 48
	uint32 level_id = 15; // offset: 56
}

// Obf: CGCHNIIJMMD
// Type: Rsp
// CmdID: 7417
message MatchThreeV2LevelEndScRsp {
	uint32 level_id = 1; // offset: 64
	ItemList DBDIGIEPMBB = 3; // offset: 40
	uint32 JNAOKJKFLHL = 4; // offset: 68
	repeated ItemList DOBNEFKPMPB = 5; // offset: 16
	HDKJPKPEJFO OEIBHLMDJKA = 6; // offset: 24
	KPCHPLEJCKC IEGCHPIHPJN = 7; // offset: 48
	uint32 AFLCNNAJAGB = 11; // offset: 56
	uint32 retcode = 13; // offset: 60
}

// Obf: MOHJGIEBFFM
// Type: Req
// CmdID: 7429
message MatchThreeV2SetBirdPosCsReq {
	uint32 HBONKLEOEEI = 5; // offset: 24
	uint32 pos_index = 14; // offset: 28
}

// Obf: DBMDKDAKCNC
// Type: Rsp
// CmdID: 7433
message MatchThreeV2SetBirdPosScRsp {
	uint32 pos_index = 5; // offset: 36
	uint32 retcode = 6; // offset: 28
	uint32 HBONKLEOEEI = 10; // offset: 24
	uint32 LIDGCJIKIEG = 12; // offset: 32
}

// Obf: JNHKFNPECCB
// Type: Notify
// CmdID: 7406
message MatchThreeV2ScNotify {
	JKEBEAKOHJJ BJBJLBIOPKA = 5; // offset: 16
}

// Obf: DABAAANKJGF
// Type: Notify
// CmdID: 7402
message MatchThreeV2PvpFinishScNotify {
	JKEBEAKOHJJ BJBJLBIOPKA = 2; // offset: 32
	LAJGLHCCNED JDFPKAMFHAP = 3; // offset: 24
	NPPEMMILLCO reason = 5; // offset: 44
	uint32 OJNGBIBGHBL = 11; // offset: 48
	FightGameMode game_mode = 13; // offset: 40
	uint32 BCAKPNCHIIJ = 14; // offset: 52
}

// Type: Notify
// CmdID: 7414
message EEHLDBOEFGB {
	LAJGLHCCNED JDFPKAMFHAP = 4; // offset: 16
	uint32 BCAKPNCHIIJ = 5; // offset: 32
	int32 OJNGBIBGHBL = 7; // offset: 40
	NPPEMMILLCO reason = 11; // offset: 44
	FightGameMode game_mode = 12; // offset: 36
}

// Obf: GPNGEMMFFAK
enum CmdMazePuzzleType {
	GPNGEMMFFAK_NLCDGIPGFDJ = 0;
	CmdCDJKLJDMJHO = 9071;
	CmdEGJJHFIPCNB = 9065;
	GPNGEMMFFAK_NBOOGOBHMOE = 9085;
	CmdGetChenLingGameBoyDataScRsp = 9073;
	CmdFiveDimFluteDataChangeNotify = 9068;
	CmdFinishFiveDimMiniGameCsReq = 9083;
	CmdFinishChenLingGameBoyScRsp = 9094;
	GPNGEMMFFAK_JCPGIMAGBHN = 9069;
	CmdMazeCrossFloorConditionChangeScNotify = 9093;
	CmdGetFiveDimMiniGameDataCsReq = 9053;
	GPNGEMMFFAK_IPNFOOJJGMC = 9063;
	GPNGEMMFFAK_LDPOIFPCEHB = 9052;
	CmdChenLingGameBoyGetFriendRankingInfoScRsp = 9098;
	CmdONAEGKCMPNN = 9057;
	CmdNCGFPOKHMBL = 9058;
	GPNGEMMFFAK_BDFOHFOJBKK = 9074;
	CmdJHEHACPKKBL = 9070;
	CmdFinishFiveDimMiniGameScRsp = 9056;
	CmdGetFiveDimMiniGameDataScRsp = 9079;
	GPNGEMMFFAK_KGMEEFCMPCK = 9067;
	CmdGetFiveDimFluteDataScRsp = 9064;
	CmdFinishChenLingGameBoyCsReq = 9087;
	GPNGEMMFFAK_DIELFHOLCGG = 9059;
	GPNGEMMFFAK_EEICODKONDH = 9060;
}
message JBOBHIPHGPB {
	uint64 HLNODEFLOCF = 2; // offset: 40
	bool HIEMHCBHKEO = 5; // offset: 33
	bool OOMILCOFGPN = 9; // offset: 32
	uint32 IJCJBDDGGJF = 10; // offset: 36
	repeated uint32 CJKAGEDKAFL = 13; // offset: 24
}
message CMGCLJCPJKO {
	uint32 IJCJBDDGGJF = 4; // offset: 24
}

// Obf: AHFBNKIHGIH
// Type: Rsp
// CmdID: 9073
message GetChenLingGameBoyDataScRsp {
	JBOBHIPHGPB game_data = 9; // offset: 24
	uint32 retcode = 15; // offset: 32
}

// Obf: JAIPALPGNKD
// Type: Req
// CmdID: 9087
message FinishChenLingGameBoyCsReq {
	uint32 IJCJBDDGGJF = 3; // offset: 32
	repeated uint32 CJKAGEDKAFL = 7; // offset: 24
	uint64 BEJCJJCLJHL = 10; // offset: 40
	bool HOPOJGBFGEG = 11; // offset: 36
	bool BOHDCEOOLBA = 15; // offset: 37
}

// Obf: PGIOKHAKAPP
// Type: Rsp
// CmdID: 9094
message FinishChenLingGameBoyScRsp {
	ItemList reward = 5; // offset: 32
	repeated uint32 DDDGOAEEODC = 7; // offset: 16
	uint32 retcode = 8; // offset: 40
	uint32 IJCJBDDGGJF = 9; // offset: 44
	uint64 HLNODEFLOCF = 12; // offset: 56
	uint64 BEJCJJCLJHL = 15; // offset: 48
}
message NBHDCJHGKCN {
	uint64 BEJCJJCLJHL = 3; // offset: 32
	uint32 IJCJBDDGGJF = 7; // offset: 28
	uint32 uid = 12; // offset: 24
}
message NFEKGEAIMEO {
	uint32 IJCJBDDGGJF = 4; // offset: 24
}

// Obf: NPPEAEPGEOF
// Type: Rsp
// CmdID: 9098
message ChenLingGameBoyGetFriendRankingInfoScRsp {
	bool EBAFPOLLJIA = 7; // offset: 36
	uint32 IJCJBDDGGJF = 10; // offset: 40
	repeated NBHDCJHGKCN BEDHEKAGAPE = 12; // offset: 16
	uint32 retcode = 13; // offset: 32
}

// Obf: JAIGKNCMOLK
// Type: Req
// CmdID: 9053
message GetFiveDimMiniGameDataCsReq {
	bool EBAFPOLLJIA = 13; // offset: 24
}

// Type: Rsp
// CmdID: 9057
message ONAEGKCMPNN {
	uint32 retcode = 8; // offset: 24
	bool EBAFPOLLJIA = 11; // offset: 28
}
message ANDPLLAKCLE {
	uint32 IJCJBDDGGJF = 5; // offset: 24
}

// Type: Rsp
// CmdID: 9071
message CDJKLJDMJHO {
	JBOBHIPHGPB game_data = 3; // offset: 24
	uint32 retcode = 11; // offset: 32
}
message EMDKLICDPKK {
	uint32 IJCJBDDGGJF = 11; // offset: 24
	bool HIEMHCBHKEO = 13; // offset: 28
}

// Type: Rsp
// CmdID: 9070
message JHEHACPKKBL {
	JBOBHIPHGPB game_data = 1; // offset: 24
	uint32 retcode = 8; // offset: 32
}
message IKHLECEJHPO {
	uint32 OFNNJJNAHHH = 1; // offset: 24
	uint32 BAJHKGJPFED = 12; // offset: 28
}
message PFPDFEPNLHL {
}

// Obf: EMPBDGJAFDF
// Type: Rsp
// CmdID: 9079
message GetFiveDimMiniGameDataScRsp {
	repeated IKHLECEJHPO content_package_list = 8; // offset: 16
	uint32 retcode = 12; // offset: 32
}

// Obf: BHMAJOCINCF
// Type: Req
// CmdID: 9083
message FinishFiveDimMiniGameCsReq {
	uint32 CHMBABEJKGE = 1; // offset: 44
	uint32 AKCLEAJAEPA = 2; // offset: 40
	uint32 IPDDIKPHGPE = 4; // offset: 64
	uint32 BAJHKGJPFED = 5; // offset: 36
	uint32 gold = 7; // offset: 32
	uint32 MGBDFKKMNOL = 8; // offset: 60
	uint32 score_id = 9; // offset: 48
	string uuid = 10; // offset: 24
	float JAPBBDENKGM = 11; // offset: 56
	uint32 FKFGIGAPJNF = 13; // offset: 68
	uint32 OCFCOJMIMFD = 15; // offset: 52
}

// Obf: GNCJHGHBEPP
// Type: Rsp
// CmdID: 9056
message FinishFiveDimMiniGameScRsp {
	uint32 BAJHKGJPFED = 1; // offset: 52
	float JAPBBDENKGM = 3; // offset: 72
	ItemList KAFIKBEFKDH = 5; // offset: 24
	uint32 score_id = 6; // offset: 44
	uint32 MGBDFKKMNOL = 7; // offset: 68
	uint32 AKCLEAJAEPA = 8; // offset: 40
	uint32 retcode = 10; // offset: 56
	uint32 gold = 11; // offset: 64
	ItemList DHBABIBHNOG = 12; // offset: 32
	bool ILAFNJNAFIM = 14; // offset: 48
	uint32 CHMBABEJKGE = 15; // offset: 60
}
message NNFLBBKGBDP {
}

// Obf: JOMFDNFHHBD
// Type: Rsp
// CmdID: 9064
message GetFiveDimFluteDataScRsp {
	repeated uint32 AOBGMMAIMHJ = 1; // offset: 24
	repeated uint32 NFOBNDJIEPL = 8; // offset: 16
	uint32 retcode = 11; // offset: 40
}
message BAGCLEDHOBD {
	uint32 BAKMHAPCNCJ = 9; // offset: 24
}

// Type: Rsp
// CmdID: 9065
message EGJJHFIPCNB {
	uint32 retcode = 9; // offset: 24
	uint32 BAKMHAPCNCJ = 10; // offset: 28
}
message AIPNFBBDNEO {
	uint32 BAKMHAPCNCJ = 9; // offset: 24
}

// Type: Rsp
// CmdID: 9058
message NCGFPOKHMBL {
	uint32 BAKMHAPCNCJ = 1; // offset: 28
	uint32 retcode = 12; // offset: 24
}

// Obf: NBEFNNHILCB
// Type: Notify
// CmdID: 9068
message FiveDimFluteDataChangeNotify {
	repeated uint32 AOBGMMAIMHJ = 3; // offset: 32
	repeated uint32 NFOBNDJIEPL = 13; // offset: 16
}

// Obf: LMJDKIDHMFH
// Type: Notify
// CmdID: 9093
message MazeCrossFloorConditionChangeScNotify {
	repeated uint32 HLLLIKPGOFG = 9; // offset: 24
}

// Obf: BDIMOGEJAFG
enum CmdMessageType {
	BDIMOGEJAFG_NLCDGIPGFDJ = 0;
	CmdGetNpcStatusScRsp = 2758;
	CmdGetNpcMessageGroupScRsp = 2778;
	CmdFinishSectionIdScRsp = 2747;
	CmdFinishPerformSectionIdCsReq = 2726;
	CmdFinishItemIdScRsp = 2781;
	CmdGetMissionMessageScRsp = 2740;
	CmdFinishItemIdCsReq = 2788;
	CmdFinishPerformSectionIdScRsp = 2713;
	CmdGetNpcMessageGroupCsReq = 2725;
	CmdGetNpcStatusCsReq = 2793;
	CmdGetMissionMessageCsReq = 2771;
	CmdFinishSectionIdCsReq = 2786;
}

// Obf: LNDMHNMPGNP
// Type: Req
// CmdID: 2725
message GetNpcMessageGroupCsReq {
	repeated uint32 contact_id_list = 14; // offset: 24
}
message MessageItem {
	uint32 text_id = 14; // offset: 24
	uint32 item_id = 15; // offset: 28
}
message MessageSection {
	repeated uint32 message_item_list = 1; // offset: 32
	uint32 frozen_item_id = 2; // offset: 44
	repeated MessageItem item_list = 3; // offset: 16
	uint32 id = 10; // offset: 40
	MessageSectionStatus status = 13; // offset: 48
}
message MessageGroup {
	MessageGroupStatus status = 3; // offset: 32
	uint32 message_section_id = 6; // offset: 36
	repeated MessageSection message_section_list = 8; // offset: 24
	uint32 id = 9; // offset: 40
	int64 refresh_time = 15; // offset: 48
}

// Obf: EBBKLGBFJBN
// Type: Rsp
// CmdID: 2778
message GetNpcMessageGroupScRsp {
	repeated MessageGroup message_group_list = 10; // offset: 24
	uint32 retcode = 12; // offset: 32
}

// Obf: EMACPOEHODE
// Type: Req
// CmdID: 2793
message GetNpcStatusCsReq {
}
message NpcStatus {
	bool is_finish = 1; // offset: 28
	uint32 npc_id = 6; // offset: 24
}
message GroupStatus {
	int64 refresh_time = 1; // offset: 32
	uint32 group_id = 5; // offset: 28
	MessageGroupStatus group_status = 15; // offset: 24
}
message SectionStatus {
	uint32 section_id = 14; // offset: 28
	MessageSectionStatus section_status = 15; // offset: 24
}

// Obf: FOKMHCLKPGJ
// Type: Rsp
// CmdID: 2758
message GetNpcStatusScRsp {
	uint32 retcode = 5; // offset: 32
	repeated NpcStatus npc_status_list = 7; // offset: 16
}

// Obf: FNNBOBGFAKH
// Type: Req
// CmdID: 2788
message FinishItemIdCsReq {
	uint32 text_id = 3; // offset: 28
	uint32 item_id = 4; // offset: 24
}

// Obf: EEFCOCPHIOD
// Type: Rsp
// CmdID: 2781
message FinishItemIdScRsp {
	uint32 item_id = 6; // offset: 28
	uint32 retcode = 9; // offset: 32
	uint32 text_id = 11; // offset: 24
}

// Obf: BCONPMPJLDD
// Type: Req
// CmdID: 2786
message FinishSectionIdCsReq {
	uint32 section_id = 12; // offset: 24
}

// Obf: LCJMFNOJBAC
// Type: Rsp
// CmdID: 2747
message FinishSectionIdScRsp {
	ItemList reward = 6; // offset: 24
	uint32 retcode = 10; // offset: 32
	uint32 section_id = 15; // offset: 36
}

// Obf: OCJOLLHLFIB
// Type: Req
// CmdID: 2726
message FinishPerformSectionIdCsReq {
	repeated MessageItem item_list = 12; // offset: 16
	uint32 section_id = 13; // offset: 32
}

// Obf: KGPCODGNDEG
// Type: Rsp
// CmdID: 2713
message FinishPerformSectionIdScRsp {
	ItemList reward = 3; // offset: 24
	uint32 retcode = 5; // offset: 44
	uint32 section_id = 9; // offset: 40
	repeated MessageItem item_list = 11; // offset: 32
}

// Obf: EJFBKAEEDJK
// Type: Req
// CmdID: 2771
message GetMissionMessageCsReq {
}

// Obf: PGFLOJNIFLF
// Type: Rsp
// CmdID: 2740
message GetMissionMessageScRsp {
	uint32 retcode = 2; // offset: 32
	map<uint32, uint32> PFMHKKKAGCD = 12; // offset: 24
}

// Obf: LLGMNBFFNEL
enum CmdMiscModuleType {
	LLGMNBFFNEL_NLCDGIPGFDJ = 0;
	CmdLCBIEJNJDIF = 4120;
	CmdPICONFLHMCD = 4153;
	CmdEABIMAPLLLL = 4189;
	CmdUpdateMovieRacingDataCsReq = 4130;
	CmdALCDAEIDEAM = 4118;
	CmdMGFAALHCHEF = 4136;
	CmdGetSwitchMascotDataCsReq = 4112;
	CmdGetMovieRacingDataScRsp = 4165;
	CmdMNCFPNFGAOH = 4133;
	CmdJOIGBKBEGOB = 4115;
	CmdUpdateGunPlayDataScRsp = 4121;
	CmdBMFLFFJIEFC = 4138;
	CmdEHNLGMEGIJP = 4181;
	CmdGetChallangeTierceScRsp = 4149;
	CmdGetGunPlayDataCsReq = 4172;
	CmdGetMovieRacingDataCsReq = 4169;
	CmdShareCsReq = 4125;
	CmdNIALCDGNNLC = 4104;
	CmdGetGunPlayDataScRsp = 4180;
	CmdGetShareDataCsReq = 4193;
	CmdLIOGDHEFOGD = 4188;
	LLGMNBFFNEL_CNHFAPDGPPM = 4171;
	CmdDifficultyAdjustmentUpdateDataCsReq = 4110;
	CmdFECGDOJFDIM = 4152;
	CmdINKEEEKKNKF = 4113;
	CmdMazeKillDirectScRsp = 4163;
	CmdDifficultyAdjustmentGetDataScRsp = 4141;
	CmdShareScRsp = 4178;
	CmdMazeKillDirectCsReq = 4129;
	CmdUpdateMovieRacingDataScRsp = 4142;
	CmdJDAALEACPKL = 4139;
	CmdGetSwitchMascotDataScRsp = 4135;
	CmdDifficultyAdjustmentUpdateDataScRsp = 4143;
	CmdGetChallangeTierceCsReq = 4144;
	CmdDirectDeliveryScNotify = 4134;
	CmdPIMFFPGEPIO = 4126;
	CmdDifficultyAdjustmentGetDataCsReq = 4105;
	CmdIDENFKIJICM = 4140;
	CmdCancelDirectDeliveryNoticeScRsp = 4173;
	CmdDDOOEDOKEPF = 4114;
	CmdUpdateGunPlayDataCsReq = 4184;
	CmdSwitchMascotUpdateScNotify = 4175;
	CmdCancelDirectDeliveryNoticeCsReq = 4196;
	CmdGFGEMCJLGPP = 4111;
	CmdGetShareDataScRsp = 4158;
}

enum BMHIHBHECKD {
	BMHIHBHECKD_NLCDGIPGFDJ = 0;
	BMHIHBHECKD_AONEONHEHNA = 1;
	BMHIHBHECKD_NGCHDKKBACD = 2;
	BMHIHBHECKD_LHCCHLAIAIN = 3;
}

// Obf: KKBNKEKDPFM
enum MovieRacingType {
	KKBNKEKDPFM_BIFLGLFOBBM = 0;
	KKBNKEKDPFM_DNKHLGPJNJO = 1;
	KKBNKEKDPFM_FPGEONEKIPD = 2;
	KKBNKEKDPFM_CGMLGHICNPN = 3;
}

// Obf: JNECPMMFEKP
enum DifficultyAdjustmentType {
	JNECPMMFEKP_AANHCEGHCFA = 0;
	JNECPMMFEKP_AEDDONPLOFJ = 1;
}

enum CGOGDJKALMH {
	CGOGDJKALMH_FHFJLAIAGEH = 0;
	CGOGDJKALMH_FMDDNENDJOJ = 1;
	CGOGDJKALMH_JIBJFDIJCNM = 2;
}

enum FDJADOEAOLE {
	FDJADOEAOLE_OIDDFJEFIPF = 0;
	FDJADOEAOLE_AHGEIJFIGKE = 1;
	FDJADOEAOLE_PKHPJIKJMDO = 2;
	FDJADOEAOLE_HFGBOOLJDNA = 3;
	FDJADOEAOLE_ENDLJOAKNPI = 4;
}

// Obf: PMDGOKCLELJ
// Type: Req
// CmdID: 4125
message ShareCsReq {
	uint32 MGGNKENIPFC = 6; // offset: 24
}
message BCBHFBPADEE {
	uint32 JNOPBGBACOO = 4; // offset: 28
	uint32 MGGNKENIPFC = 12; // offset: 24
}

// Obf: NJBNEBEFNEC
// Type: Rsp
// CmdID: 4178
message ShareScRsp {
	uint32 retcode = 8; // offset: 40
	ItemList reward = 13; // offset: 16
	BCBHFBPADEE NMOKJJMNICM = 15; // offset: 24
}

// Obf: INAFIPCFLGB
// Type: Req
// CmdID: 4193
message GetShareDataCsReq {
}

// Obf: DLCCOHOEFCA
// Type: Rsp
// CmdID: 4158
message GetShareDataScRsp {
	repeated BCBHFBPADEE MNCJMIOONPE = 3; // offset: 16
	uint32 retcode = 13; // offset: 32
}

// Type: Req
// CmdID: 4188
message LIOGDHEFOGD {
}

// Type: Rsp
// CmdID: 4181
message EHNLGMEGIJP {
	uint32 retcode = 2; // offset: 24
}
message OKJCHGLGBHP {
	uint32 type = 4; // offset: 36
	repeated uint32 JLNOCDGJDLI = 8; // offset: 16
	uint32 NADCIHPPPBC = 15; // offset: 32
}

// Type: Req
// CmdID: 4133
message MNCFPNFGAOH {
	repeated OKJCHGLGBHP OKJNBIOKKIB = 5; // offset: 16
}

// Type: Rsp
// CmdID: 4138
message BMFLFFJIEFC {
	uint32 retcode = 6; // offset: 24
}

// Type: Req
// CmdID: 4126
message PIMFFPGEPIO {
	repeated uint32 JALHKMEOOPN = 5; // offset: 24
	repeated string OKFMBDEECCH = 7; // offset: 16
	BMHIHBHECKD type = 8; // offset: 40
}

// Type: Rsp
// CmdID: 4113
message INKEEEKKNKF {
	uint32 retcode = 9; // offset: 24
}
message IGBJDKIEDJL {
	string GIFOENLDCHO = 7; // offset: 24
}

// Type: Rsp
// CmdID: 4140
message IDENFKIJICM {
	uint32 retcode = 10; // offset: 24
}
message HDAHFLMBAAB {
	uint32 level = 3; // offset: 24
	uint32 HFENOFPKNPJ = 13; // offset: 32
	MovieRacingType type = 14; // offset: 28
	uint32 EGKNHHFDJHM = 15; // offset: 36
}

// Obf: IMEFDMEGEON
// Type: Req
// CmdID: 4169
message GetMovieRacingDataCsReq {
}

// Obf: HIADAFCBLKH
// Type: Rsp
// CmdID: 4165
message GetMovieRacingDataScRsp {
	repeated HDAHFLMBAAB HNIAEGMMPKD = 5; // offset: 16
	uint32 retcode = 7; // offset: 32
}

// Obf: IHMMNILOINC
// Type: Req
// CmdID: 4130
message UpdateMovieRacingDataCsReq {
	HDAHFLMBAAB LJEPIAIDJFC = 1; // offset: 16
}

// Obf: NCFCNNFIBLJ
// Type: Rsp
// CmdID: 4142
message UpdateMovieRacingDataScRsp {
	uint32 retcode = 8; // offset: 32
	HDAHFLMBAAB LJEPIAIDJFC = 13; // offset: 16
}

// Type: Req
// CmdID: 4139
message JDAALEACPKL {
	uint32 KPKEBLOEFCP = 3; // offset: 24
}

// Type: Rsp
// CmdID: 4104
message NIALCDGNNLC {
	uint32 retcode = 9; // offset: 28
	uint32 KPKEBLOEFCP = 10; // offset: 24
}

// Type: Req
// CmdID: 4111
message GFGEMCJLGPP {
	uint32 IFMCCMLCBGP = 8; // offset: 32
	repeated uint32 BGJAEJKJCFP = 10; // offset: 24
	uint32 content_id = 12; // offset: 36
}
message MJEIKNGOCJO {
	uint32 state = 5; // offset: 32
	uint32 group_id = 6; // offset: 28
	uint32 config_id = 15; // offset: 24
}
message BLPLICDMFEL {
	uint32 floor_id = 10; // offset: 32
	repeated MJEIKNGOCJO PEPOGGNCGLD = 14; // offset: 16
}

// Type: Rsp
// CmdID: 4136
message MGFAALHCHEF {
	uint32 retcode = 3; // offset: 32
	repeated BLPLICDMFEL CGOJBLPJFAK = 8; // offset: 24
	uint32 IFMCCMLCBGP = 14; // offset: 40
	uint32 content_id = 15; // offset: 36
}
message BPAGBAALHMP {
	uint32 BLMAEGGMCHJ = 3; // offset: 28
	uint32 EGKNHHFDJHM = 10; // offset: 36
	uint32 level = 11; // offset: 32
	bool is_perfect = 14; // offset: 24
}

// Obf: LOIAGBJKMEB
// Type: Req
// CmdID: 4172
message GetGunPlayDataCsReq {
}

// Obf: AHDEDBMNMCP
// Type: Rsp
// CmdID: 4180
message GetGunPlayDataScRsp {
	uint32 retcode = 2; // offset: 32
	repeated BPAGBAALHMP OHOLABHLCKL = 13; // offset: 16
}

// Obf: GACMFAOEKMP
// Type: Req
// CmdID: 4184
message UpdateGunPlayDataCsReq {
	uint32 group_id = 1; // offset: 36
	uint64 uuid = 3; // offset: 40
	BPAGBAALHMP AOPPLPDBEHK = 5; // offset: 24
	uint32 GIJOPFIAMIA = 15; // offset: 32
}

// Obf: EKOPMNIGCPH
// Type: Rsp
// CmdID: 4121
message UpdateGunPlayDataScRsp {
	uint32 retcode = 11; // offset: 32
	BPAGBAALHMP AOPPLPDBEHK = 15; // offset: 24
}
message AMKBFMCOIHK {
	CGOGDJKALMH source_type = 9; // offset: 32
	uint32 id = 11; // offset: 28
	DifficultyAdjustmentType ANJMFPKJHOH = 13; // offset: 24
}

// Obf: MJHIOCKGPMN
// Type: Req
// CmdID: 4105
message DifficultyAdjustmentGetDataCsReq {
}

// Obf: BPFGOALJLPP
// Type: Rsp
// CmdID: 4141
message DifficultyAdjustmentGetDataScRsp {
	repeated AMKBFMCOIHK content_package_list = 3; // offset: 24
	uint32 retcode = 10; // offset: 32
}

// Obf: ELBOKICMECP
// Type: Req
// CmdID: 4110
message DifficultyAdjustmentUpdateDataCsReq {
	AMKBFMCOIHK data = 8; // offset: 16
}

// Obf: FCGMKPGGCAC
// Type: Rsp
// CmdID: 4143
message DifficultyAdjustmentUpdateDataScRsp {
	uint32 retcode = 2; // offset: 40
	repeated AMKBFMCOIHK content_package_list = 7; // offset: 16
	AMKBFMCOIHK data = 10; // offset: 24
}

// Obf: FPMCECGEIJD
// Type: Req
// CmdID: 4129
message MazeKillDirectCsReq {
	repeated uint32 entity_list = 12; // offset: 24
	FDJADOEAOLE source_type = 14; // offset: 36
	uint32 FABPLNCIGPK = 15; // offset: 32
}

// Obf: LBEBKNGBBCO
// Type: Rsp
// CmdID: 4163
message MazeKillDirectScRsp {
	repeated uint32 entity_list = 4; // offset: 16
	uint32 retcode = 12; // offset: 32
}

// Obf: CLIOFILACMC
// Type: Notify
// CmdID: 4134
message DirectDeliveryScNotify {
	uint32 HFHHKGFNGFC = 2; // offset: 32
	repeated ItemList DJOBNPIAEJP = 13; // offset: 16
}

// Obf: JFFANDLFOGP
// Type: Req
// CmdID: 4196
message CancelDirectDeliveryNoticeCsReq {
	uint32 HFHHKGFNGFC = 8; // offset: 24
}

// Obf: EJBPJPEDLJL
// Type: Rsp
// CmdID: 4173
message CancelDirectDeliveryNoticeScRsp {
	uint32 retcode = 12; // offset: 28
	uint32 HFHHKGFNGFC = 13; // offset: 24
}
message BKAHEDAHNHL {
	uint32 NBFJHDJBLCF = 13; // offset: 28
	uint32 gold = 15; // offset: 24
}

// Obf: BGGJMEAOBFG
// Type: Req
// CmdID: 4112
message GetSwitchMascotDataCsReq {
	uint32 NBFJHDJBLCF = 13; // offset: 24
}

// Obf: DPODMNMGDLK
// Type: Rsp
// CmdID: 4135
message GetSwitchMascotDataScRsp {
	repeated BKAHEDAHNHL JNOEHPJJPOF = 8; // offset: 16
	uint32 retcode = 10; // offset: 36
	uint32 NBFJHDJBLCF = 14; // offset: 32
}

// Obf: OFAPJBDCIAE
// Type: Notify
// CmdID: 4175
message SwitchMascotUpdateScNotify {
	bool EBLPGLFJNEL = 11; // offset: 32
	repeated BKAHEDAHNHL JNOEHPJJPOF = 12; // offset: 16
}

// Type: Req
// CmdID: 4144
message GetChallangeTierceCsReq {
}

// Type: Rsp
// CmdID: 4149
message GetChallangeTierceScRsp {
	repeated uint32 KNKGIENCLJJ = 1; // offset: 32
	repeated uint32 NJIIPBHBEDK = 4; // offset: 16
	uint32 retcode = 8; // offset: 48
	int64 GCMOKMIEHDB = 15; // offset: 40
}
message GAAMBBFPCHB {
	int64 end_time = 3; // offset: 32
	repeated uint32 OPLNKCOLCKJ = 6; // offset: 16
	int64 start_time = 7; // offset: 40
	uint32 PMJGAJGIFOA = 8; // offset: 48
}

// Type: Req
// CmdID: 4115
message JOIGBKBEGOB {
}

// Type: Rsp
// CmdID: 4118
message ALCDAEIDEAM {
	uint32 retcode = 7; // offset: 32
	GAAMBBFPCHB NFEDANFBIBE = 9; // offset: 24
}

// Type: Req
// CmdID: 4153
message PICONFLHMCD {
	repeated uint32 JKCEBHFIENI = 7; // offset: 24
}

// Type: Rsp
// CmdID: 4152
message FECGDOJFDIM {
	uint32 retcode = 1; // offset: 48
	repeated uint32 NGKOFMBBGNL = 6; // offset: 16
	GAAMBBFPCHB NFEDANFBIBE = 10; // offset: 40
	ItemList reward = 14; // offset: 32
}

// Type: Req
// CmdID: 4120
message LCBIEJNJDIF {
	repeated uint32 GDCFLPLFJCI = 8; // offset: 24
}

// Type: Rsp
// CmdID: 4114
message DDOOEDOKEPF {
	GAAMBBFPCHB NFEDANFBIBE = 9; // offset: 24
	uint32 retcode = 11; // offset: 32
}

// Type: Notify
// CmdID: 4189
message EABIMAPLLLL {
	GAAMBBFPCHB NFEDANFBIBE = 2; // offset: 16
}

// Obf: LCPPDELLPFC
enum CmdMissionType {
	LCPPDELLPFC_NLCDGIPGFDJ = 0;
	CmdMissionRewardScNotify = 1288;
	CmdFinishTalkMissionCsReq = 1293;
	CmdMissionSyncTaskCsReq = 1281;
	CmdFinishCosumeItemMissionCsReq = 1233;
	CmdStarPerformanceRelayCsReq = 1249;
	CmdUpdateMainMissionCustomValueScRsp = 1244;
	CmdStarPerformanceRelayScRsp = 1215;
	CmdGetMissionDataScRsp = 1278;
	CmdGetMissionDataCsReq = 1225;
	CmdMissionGroupWarnScNotify = 1240;
	CmdMainMissionAcceptNotify = 1234;
	CmdAcceptMainMissionScRsp = 1243;
	CmdStartFinishMainMissionScNotify = 1241;
	CmdStartFinishSubMissionScNotify = 1205;
	CmdGetMainMissionCustomValueCsReq = 1229;
	CmdFinishTalkMissionScRsp = 1258;
	CmdTeleportToMissionResetPointCsReq = 1284;
	CmdUpdateMainMissionCustomValueCsReq = 1275;
	CmdTeleportToMissionResetPointScRsp = 1221;
	CmdGetMissionStatusCsReq = 1245;
	CmdSubMissionRewardScNotify = 1280;
	CmdGetMissionStatusScRsp = 1269;
	CmdGetMainMissionCustomValueScRsp = 1263;
	CmdFinishCosumeItemMissionScRsp = 1238;
	CmdAcceptMainMissionCsReq = 1210;
	CmdUpdateTrackMainMissionCsReq = 1273;
	CmdFinishedMissionScNotify = 1235;
	CmdUpdateTrackMainMissionScRsp = 1212;
	CmdMissionSyncTaskScRsp = 1286;
}

enum MissionSyncRecord {
	MissionSyncRecord_DOJFCPKAJEN = 0;
	MissionSyncRecord_HPBMPLFIGDO = 1;
	MissionSyncRecord_BBFKOIKPIOA = 2;
	MissionSyncRecord_LPJJPGJPMKA = 3;
	MissionSyncRecord_JCIHFNMKAKK = 4;
	MissionSyncRecord_EGDIDGJEOCG = 11;
	MissionSyncRecord_JPJOOPBLLHO = 12;
	MissionSyncRecord_EBINJEAEFOE = 13;
	MissionSyncRecord_BJLCBIGLBIM = 14;
	MissionSyncRecord_KPDHHAPIIGM = 15;
}

enum PPEPCEAAPMJ {
	PPEPCEAAPMJ_LHPKJOBMKHC = 0;
	PPEPCEAAPMJ_KCMIJCJMIDC = 1;
}

// Obf: APHBPMBMLOM
enum TrackMainMissionUpdateReasonId {
	APHBPMBMLOM_DJAOKMDALMI = 0;
	APHBPMBMLOM_FEFMPGIAGBP = 1;
	APHBPMBMLOM_OGIADPFFHEF = 2;
	APHBPMBMLOM_OJBIMIOEABG = 3;
}

// Obf: EMIFJNLDKDE
// Type: Req
// CmdID: 1225
message GetMissionDataCsReq {
}
message ALBOJHJALOF {
	MissionSyncRecord type = 11; // offset: 24
	uint32 param = 12; // offset: 32
	uint32 id = 13; // offset: 28
}

// Obf: Mission
message Mission {
	MissionStatus status = 7; // offset: 32
	uint32 id = 12; // offset: 28
	uint32 progress = 14; // offset: 24
}

// Obf: MissionCustomValue
message MissionCustomValue {
	string BGDFHBAANLB = 2; // offset: 16
	uint32 index = 3; // offset: 32
	uint32 custom_value = 6; // offset: 36
}
message ONHKODAFEMH {
	repeated MissionCustomValue custom_value_list = 8; // offset: 16
}
message MainMission {
	repeated MissionCustomValue custom_value_list = 4; // offset: 24
	MissionStatus status = 13; // offset: 36
	uint32 id = 15; // offset: 32
}
message MJBANFPPEFH {
	uint32 id = 8; // offset: 32
	oneof EPIIKEKKMPJ {
		ONHKODAFEMH custom_value_list = 547; // offset: 16
	}
}

// Obf: MainMissionCustomValue
message MainMissionCustomValue {
	ONHKODAFEMH custom_value_list = 2; // offset: 24
	uint32 main_mission_id = 4; // offset: 32
}

// Obf: KHKJONMCECE
// Type: Rsp
// CmdID: 1278
message GetMissionDataScRsp {
	uint32 GKFPKBGJBGN = 1; // offset: 64
	repeated uint32 KBDGNGMPFEH = 2; // offset: 16
	repeated MainMission main_mission_list = 4; // offset: 40
	repeated uint32 OLKALABEDOA = 5; // offset: 48
	uint32 retcode = 10; // offset: 68
	repeated uint32 finished_main_mission_id_list = 11; // offset: 56
	uint32 track_mission_id = 12; // offset: 72
	repeated Mission mission_list = 13; // offset: 24
}

// Obf: KHOHCEGIHGF
// Type: Req
// CmdID: 1210
message AcceptMainMissionCsReq {
	uint32 main_mission_id = 2; // offset: 24
}

// Obf: GGHDJOBEDAF
// Type: Rsp
// CmdID: 1243
message AcceptMainMissionScRsp {
	uint32 retcode = 12; // offset: 28
	uint32 main_mission_id = 13; // offset: 24
}

// Obf: MMJJKEOONKE
// Type: Req
// CmdID: 1293
message FinishTalkMissionCsReq {
	string talk_str = 5; // offset: 24
	repeated MissionCustomValue custom_value_list = 9; // offset: 16
	uint32 sub_mission_id = 14; // offset: 40
}

// Obf: OKPLFBLIDFF
// Type: Rsp
// CmdID: 1258
message FinishTalkMissionScRsp {
	uint32 retcode = 10; // offset: 40
	string talk_str = 11; // offset: 24
	repeated MissionCustomValue custom_value_list = 13; // offset: 16
	uint32 sub_mission_id = 15; // offset: 44
}

// Obf: IKMNHNAHNMK
// Type: Notify
// CmdID: 1288
message MissionRewardScNotify {
	uint32 sub_mission_id = 8; // offset: 36
	ItemList reward = 9; // offset: 24
	uint32 main_mission_id = 12; // offset: 32
}

// Obf: AOCAHONLJKE
// Type: Notify
// CmdID: 1280
message SubMissionRewardScNotify {
	uint32 sub_mission_id = 7; // offset: 32
	ItemList reward = 12; // offset: 24
}

// Type: Req
// CmdID: 1281
message MissionSyncTaskCsReq {
	string key = 6; // offset: 24
}

// Type: Rsp
// CmdID: 1286
message MissionSyncTaskScRsp {
	string key = 6; // offset: 16
	uint32 retcode = 9; // offset: 32
}

// Obf: GHFEIOEICNP
// Type: Notify
// CmdID: 1240
message MissionGroupWarnScNotify {
	repeated uint32 OIKJKMJCHEG = 13; // offset: 24
}

// Type: Req
// CmdID: 1233
message FinishCosumeItemMissionCsReq {
	uint32 sub_mission_id = 3; // offset: 32
	ItemList item_list = 11; // offset: 16
}

// Type: Rsp
// CmdID: 1238
message FinishCosumeItemMissionScRsp {
	uint32 retcode = 2; // offset: 28
	uint32 sub_mission_id = 11; // offset: 24
}

// Obf: MEBIGMFKKFD
// Type: Req
// CmdID: 1245
message GetMissionStatusCsReq {
	repeated uint32 sub_mission_id_list = 4; // offset: 32
	repeated uint32 main_mission_id_list = 13; // offset: 24
}

// Obf: GetMissionStatusScRsp
// Type: Rsp
// CmdID: 1269
message GetMissionStatusScRsp {
	repeated uint32 curversion_finished_main_mission_id_list = 1; // offset: 16
	repeated MainMissionCustomValue main_mission_mcv_list = 3; // offset: 48
	repeated uint32 unfinished_main_mission_id_list = 4; // offset: 24
	repeated Mission sub_mission_status_list = 8; // offset: 32
	uint32 retcode = 9; // offset: 72
	repeated uint32 disabled_main_mission_id_list = 13; // offset: 64
	repeated uint32 finished_main_mission_id_list = 15; // offset: 56
}

// Obf: HNPPCJMODAB
// Type: Req
// CmdID: 1284
message TeleportToMissionResetPointCsReq {
}

// Obf: DCNKCCPMKLE
// Type: Rsp
// CmdID: 1221
message TeleportToMissionResetPointScRsp {
	uint32 client_pos_version = 4; // offset: 36
	MotionInfo motion = 6; // offset: 24
	uint32 retcode = 15; // offset: 32
}

// Obf: CJOACNKDPEI
// Type: Notify
// CmdID: 1205
message StartFinishSubMissionScNotify {
	uint32 sub_mission_id = 6; // offset: 24
}

// Obf: JMIPELIDOIJ
// Type: Notify
// CmdID: 1241
message StartFinishMainMissionScNotify {
	uint32 main_mission_id = 15; // offset: 24
}

// Obf: CFDNIJHMEND
// Type: Req
// CmdID: 1229
message GetMainMissionCustomValueCsReq {
	repeated uint32 main_mission_id_list = 13; // offset: 16
}

// Obf: NBDELHIPKLP
// Type: Rsp
// CmdID: 1263
message GetMainMissionCustomValueScRsp {
	repeated MainMission main_mission_list = 1; // offset: 24
	uint32 retcode = 2; // offset: 32
}

// Obf: CPFCAJBHOIB
// Type: Notify
// CmdID: 1234
message MainMissionAcceptNotify {
	repeated uint32 main_mission_id_list = 6; // offset: 16
}

// Type: Req
// CmdID: 1273
message UpdateTrackMainMissionCsReq {
	uint32 track_mission_id = 8; // offset: 32
	uint32 JFONDEBDIOO = 10; // offset: 24
	TrackMainMissionUpdateReasonId POPNCNIBNMJ = 15; // offset: 28
}

// Type: Rsp
// CmdID: 1212
message UpdateTrackMainMissionScRsp {
	uint32 prev_track_mission_id = 4; // offset: 24
	uint32 track_mission_id = 7; // offset: 28
	uint32 retcode = 14; // offset: 32
}

// Obf: ABFLEADGIIF
// Type: Notify
// CmdID: 1235
message FinishedMissionScNotify {
	repeated uint32 finished_main_mission_id_list = 14; // offset: 16
}

// Type: Req
// CmdID: 1275
message UpdateMainMissionCustomValueCsReq {
	string BGDFHBAANLB = 1; // offset: 16
	uint32 value = 3; // offset: 36
	uint32 main_mission_id = 6; // offset: 32
}

// Type: Rsp
// CmdID: 1244
message UpdateMainMissionCustomValueScRsp {
	MainMission HKDDMGGDCIP = 4; // offset: 24
	uint32 retcode = 9; // offset: 32
}

// Type: Req
// CmdID: 1249
message StarPerformanceRelayCsReq {
	uint32 performance_id = 7; // offset: 28
	uint32 performance_type = 14; // offset: 24
}

// Type: Rsp
// CmdID: 1215
message StarPerformanceRelayScRsp {
	uint32 retcode = 3; // offset: 24
}

// Obf: IOBAOPKJMAK
enum CmdMonopolyType {
	IOBAOPKJMAK_NLCDGIPGFDJ = 0;
	CmdMonopolyGameSettleScNotify = 7043;
	CmdMonopolyConfirmRandomScRsp = 7045;
	CmdGetMonopolyMbtiReportRewardCsReq = 7059;
	CmdMonopolyGetRafflePoolInfoScRsp = 7003;
	CmdMonopolyAcceptQuizScRsp = 7012;
	CmdGetMbtiReportScRsp = 7098;
	CmdGetMbtiReportCsReq = 7028;
	CmdMonopolyContentUpdateScNotify = 7005;
	CmdGetMonopolyDailyReportCsReq = 7079;
	CmdMonopolyCheatDiceScRsp = 7021;
	CmdMonopolyGuessChooseCsReq = 7075;
	CmdJHIDMEBBKPE = 7074;
	CmdMonopolyLikeCsReq = 7051;
	CmdMonopolySelectOptionCsReq = 7013;
	CmdMonopolyCheatDiceCsReq = 7084;
	CmdBBEPMABCBGF = 7094;
	CmdOIDPMKIOJGK = 7030;
	CmdMonopolyGetRaffleTicketScRsp = 7083;
	CmdMonopolyActionResultScNotify = 7093;
	CmdMonopolyGetDailyInitItemCsReq = 7085;
	CmdMLBDFEOBKIJ = 7015;
	CmdMonopolyGetRegionProgressCsReq = 7032;
	CmdMonopolyReRollRandomCsReq = 7011;
	CmdMonopolyGiveUpCurContentCsReq = 7072;
	CmdMonopolyTakeRaffleTicketRewardCsReq = 7095;
	CmdMonopolyClickCellCsReq = 7087;
	CmdMonopolyGameBingoFlipCardScRsp = 7096;
	CmdMonopolyScrachRaffleTicketCsReq = 7060;
	CmdMonopolyScrachRaffleTicketScRsp = 7090;
	CmdMonopolyLikeScRsp = 7046;
	CmdMonopolySelectOptionScRsp = 7071;
	CmdGetSocialEventServerCacheScRsp = 7006;
	CmdMonopolySocialEventEffectScNotify = 7055;
	CmdMonopolyEventLoadUpdateScNotify = 7068;
	CmdMonopolyGameCreateScNotify = 7035;
	CmdMonopolyConfirmRandomCsReq = 7048;
	CmdPDJFKFFPDKI = 7042;
	CmdMonopolyGameBingoFlipCardCsReq = 7034;
	CmdDNBHKLFEMLG = 7002;
	CmdMonopolyTakeRaffleTicketRewardScRsp = 7017;
	CmdMonopolyAcceptQuizCsReq = 7073;
	CmdMonopolyGuessChooseScRsp = 7044;
	CmdMonopolyConditionUpdateScNotify = 7031;
	CmdGetMonopolyMbtiReportRewardScRsp = 7009;
	CmdMonopolyTakePhaseRewardCsReq = 7001;
	CmdMonopolyBuyGoodsCsReq = 7069;
	CmdDailyFirstEnterMonopolyActivityScRsp = 7038;
	CmdMonopolyGetRafflePoolInfoCsReq = 7097;
	CmdGetMonopolyInfoCsReq = 7025;
	CmdMonopolyGetRaffleTicketCsReq = 7023;
	CmdMonopolyMoveCsReq = 7047;
	CmdDailyFirstEnterMonopolyActivityCsReq = 7033;
	CmdGetMonopolyInfoScRsp = 7078;
	CmdMonopolyEventSelectFriendScRsp = 7066;
	CmdGDDEAKMJOAP = 7057;
	CmdMonopolyGuessDrawScNotify = 7018;
	CmdMonopolyRollRandomCsReq = 7039;
	CmdMonopolyClickCellScRsp = 7024;
	CmdGetMonopolyDailyReportScRsp = 7007;
	CmdMonopolyCellUpdateNotify = 7058;
	CmdMonopolyRollDiceCsReq = 7081;
	CmdMonopolyRollDiceScRsp = 7086;
	CmdGetMonopolyFriendRankingListScRsp = 7037;
	CmdMonopolyLikeScNotify = 7019;
	CmdMonopolyBuyGoodsScRsp = 7065;
	CmdNHKIADBINML = 7010;
	CmdMonopolyGiveUpCurContentScRsp = 7080;
	CmdMonopolyGameGachaScRsp = 7063;
	CmdMonopolyDailySettleScNotify = 7082;
	CmdMonopolySttUpdateScNotify = 7091;
	CmdEPAIKOHMLDK = 7100;
	CmdMonopolyQuizDurationChangeScNotify = 7053;
	CmdPILJIHGLHJA = 7041;
	CmdMonopolyTakePhaseRewardScRsp = 7064;
	CmdMonopolyGameGachaCsReq = 7029;
	CmdGetMonopolyFriendRankingListCsReq = 7049;
	CmdMonopolyRollRandomScRsp = 7004;
	CmdMonopolyMoveScRsp = 7026;
	CmdMonopolyEventSelectFriendCsReq = 7062;
	CmdMonopolyGetRegionProgressScRsp = 7070;
	CmdGetSocialEventServerCacheCsReq = 7016;
	CmdMonopolyGetDailyInitItemScRsp = 7077;
	CmdMonopolyReRollRandomScRsp = 7036;
}

enum LAEHICCBBFN {
	LAEHICCBBFN_NLCDGIPGFDJ = 0;
	LAEHICCBBFN_HHKFKGKFNJI = 1;
}

enum NADDHEILBBN {
	NADDHEILBBN_BPOCOHFIAOH = 0;
	NADDHEILBBN_HOPAGBFPBGP = 1;
	NADDHEILBBN_MDJCIKAGEKH = 2;
	NADDHEILBBN_CIHFGJDCHIA = 3;
}

enum BAKAELIMIJI {
	BAKAELIMIJI_NLCDGIPGFDJ = 0;
	BAKAELIMIJI_HEIHBJEEGPB = 1;
	BAKAELIMIJI_BOGGAFJJPGC = 2;
	BAKAELIMIJI_HCEBKFDJGIO = 3;
	BAKAELIMIJI_CBKLDCBEKCH = 4;
	BAKAELIMIJI_LGGEBOCPPDA = 5;
	BAKAELIMIJI_BBDHKAKKBEA = 6;
	BAKAELIMIJI_BFPGGHFAHCA = 7;
	BAKAELIMIJI_PPINCGHOOBH = 8;
	BAKAELIMIJI_JCECCHOJPFK = 9;
	BAKAELIMIJI_JBLEFHFOHGO = 10;
}

// Obf: MKNLDCIOCFI
// Type: Req
// CmdID: 7025
message GetMonopolyInfoCsReq {
}
message PDNABFBLEPG {
	bool GNIHCOPOLJB = 1; // offset: 41
	uint32 MGJFFPIAOMI = 2; // offset: 24
	uint32 KEEOBECJNIP = 3; // offset: 28
	uint32 item_value = 5; // offset: 36
	uint32 ALMKIPNHAFM = 6; // offset: 32
	bool BLBFMKKBELI = 7; // offset: 40
}
message HDDLALFAMKO {
	LAEHICCBBFN KDJACPBDHAE = 6; // offset: 32
	repeated uint32 LPBBJFFNACA = 15; // offset: 24
}
message HIHEHNIAGPF {
	uint32 FBDENECLHIH = 4; // offset: 28
	uint32 progress = 9; // offset: 24
}
message DDHIEONLIIL {
	bool is_taken_reward = 3; // offset: 32
	bool DDKGKOFAGMH = 8; // offset: 33
	uint64 HEMOHFJJMJG = 15; // offset: 24
}
message KFGILGDFEKE {
	uint32 GCPABINOPNJ = 1; // offset: 88
	repeated HIHEHNIAGPF IOFPLHOGBOD = 2; // offset: 72
	repeated DDHIEONLIIL JBKMDKKBFFA = 3; // offset: 40
	uint32 FNFEKIPGKHJ = 5; // offset: 104
	uint32 IJFPHJAPBCO = 6; // offset: 96
	repeated HIHEHNIAGPF MHNLHEIMBLH = 7; // offset: 24
	bool BODENACHCHF = 8; // offset: 100
	repeated HIHEHNIAGPF AMFDDGGEABC = 10; // offset: 48
	uint32 FDOPJGFNMMA = 11; // offset: 112
	repeated HIHEHNIAGPF BADCFEEJKIC = 12; // offset: 32
	uint32 pool_id = 13; // offset: 92
	uint32 NBNCEEGGGFF = 15; // offset: 108
	string MGKCFIFICCF = 157; // offset: 56
	string DANMGAEPGML = 1305; // offset: 80
	string DPIOJAJLOLD = 1683; // offset: 16
}
message BCDIFIIDPIA {
	repeated KFGILGDFEKE BEMBGMOIAON = 12; // offset: 24
}

// Obf: IHLLOOIAFFG
// Type: Rsp
// CmdID: 7078
message GetMonopolyInfoScRsp {
	FIOENGOHOOJ MOMEIFPICLE = 1; // offset: 24
	ILMFJKCGBCK COOOMDKGODF = 2; // offset: 96
	DBPHHPGNMKC KKKMHNAPFCP = 3; // offset: 72
	FOOFAIFPOOI PNJBEPAAEOF = 4; // offset: 16
	BCDIFIIDPIA MALPPHCEOGB = 5; // offset: 48
	NJHAGKGHKJJ OLAONLGLAJO = 6; // offset: 32
	uint32 retcode = 7; // offset: 120
	INGKNDHECNF HABJHGPFGEB = 9; // offset: 104
	OCDBIMIBNCD stt = 11; // offset: 112
	CCMCKOKEJNI CICLCCFLALE = 12; // offset: 56
	PDNABFBLEPG OCHNMGMDHME = 13; // offset: 80
	HDDLALFAMKO GKMKAEEDCHP = 14; // offset: 64
	repeated uint32 CANEJDOMAFA = 15; // offset: 88
}
message CCMCKOKEJNI {
	repeated uint32 HNDAGKPKGHI = 12; // offset: 24
}

// Obf: KJFLKGEPIGG
// Type: Notify
// CmdID: 7031
message MonopolyConditionUpdateScNotify {
	CCMCKOKEJNI CICLCCFLALE = 4; // offset: 16
}
message OCDBIMIBNCD {
	repeated uint32 LEIJJGDJECI = 10; // offset: 32
	repeated uint32 POHBLAMKNJH = 15; // offset: 24
}

// Obf: CGABKEMOBEB
// Type: Notify
// CmdID: 7091
message MonopolySttUpdateScNotify {
	OCDBIMIBNCD stt = 8; // offset: 16
}
message EIDFCGLODFB {
	uint32 map_id = 2; // offset: 36
	bool BPKMKFLDCAI = 3; // offset: 32
	uint32 IHAOMLEPHOM = 13; // offset: 28
	NADDHEILBBN PIJJDFCBMPG = 15; // offset: 24
}
message ILMFJKCGBCK {
	repeated EIDFCGLODFB DGBEOGGJLOO = 2; // offset: 24
	repeated EIDFCGLODFB EGDNFKHLKKE = 6; // offset: 16
	uint32 COKKNEKDJAJ = 8; // offset: 48
	EIDFCGLODFB GOPFOJLIFKN = 9; // offset: 40
	uint32 LJCCANLCGHI = 11; // offset: 52
}

// Obf: KMGEMNJJACK
// Type: Notify
// CmdID: 7068
message MonopolyEventLoadUpdateScNotify {
	repeated EIDFCGLODFB DGBEOGGJLOO = 6; // offset: 16
	repeated EIDFCGLODFB EGDNFKHLKKE = 10; // offset: 32
}
message NIFKIMAANFJ {
	uint32 event_id = 9; // offset: 24
}
message LNCHJBMIMAF {
	uint32 event_id = 14; // offset: 24
}
message ADNCPPCPLLH {
	repeated uint32 MJMJOMDLOHI = 5; // offset: 24
	uint32 GKKNMDDNOJF = 8; // offset: 36
	uint32 event_id = 9; // offset: 32
	uint32 HAFOKMHCGFM = 11; // offset: 40
}
message OFPGDJJKGKJ {
	uint32 IJJFAPBJMOD = 1; // offset: 44
	repeated uint32 MJMJOMDLOHI = 4; // offset: 24
	uint32 JMBGMIPLLJI = 6; // offset: 36
	uint32 GKKNMDDNOJF = 9; // offset: 32
	uint32 event_id = 11; // offset: 40
}
message DFKABDLJMJO {
	repeated NEMIDPFEJFL PHKBDAHIPEE = 3; // offset: 16
	uint32 KBLJEGIPINF = 5; // offset: 32
}
message NCPJGBCCGGI {
	uint32 CBILPMICEKC = 2; // offset: 24
}
message DCAJAKJAJNL {
	uint32 shop_id = 7; // offset: 24
}
message DKHCBKNGOMF {
	uint32 MKNLPJMBHDK = 11; // offset: 24
}
message GALCNKIAHNN {
	uint32 NLGNNDIFGGF = 1; // offset: 24
	uint32 add_coin = 3; // offset: 28
}
message NEMIDPFEJFL {
	uint32 GCLADEKCJCG = 13; // offset: 36
	oneof BMHHGPHPLJB {
		NIFKIMAANFJ NHONHFPBEBG = 12; // offset: 24
		LNCHJBMIMAF MPBPBBLAHNM = 14; // offset: 24
		ADNCPPCPLLH ONCBJHBKBLB = 6; // offset: 24
		NCPJGBCCGGI CEFDDDAIMMD = 2; // offset: 24
		DCAJAKJAJNL MOFNIOJHBBL = 5; // offset: 24
		DKHCBKNGOMF AJGOEJHKOKE = 10; // offset: 24
		GALCNKIAHNN ENFIEFPPCIC = 3; // offset: 24
		OFPGDJJKGKJ BJHKLNNKPPB = 1; // offset: 24
		DFKABDLJMJO HCLAEGDLOBD = 4; // offset: 24
	}
}
message FIOENGOHOOJ {
	NEMIDPFEJFL MEGBFFOAFGL = 6; // offset: 24
}

// Obf: LBDGBAALOOJ
// Type: Notify
// CmdID: 7005
message MonopolyContentUpdateScNotify {
	NEMIDPFEJFL MEGBFFOAFGL = 7; // offset: 24
}

// Obf: NMFBEMPIMMN
// Type: Notify
// CmdID: 7058
message MonopolyCellUpdateNotify {
	EIDFCGLODFB GOPFOJLIFKN = 6; // offset: 24
}

// Obf: JEJNIBGECID
// Type: Req
// CmdID: 7081
message MonopolyRollDiceCsReq {
}

// Obf: DKDDEPHBBEM
// Type: Rsp
// CmdID: 7086
message MonopolyRollDiceScRsp {
	uint32 retcode = 1; // offset: 24
	uint32 roll_result = 12; // offset: 28
}

// Obf: OLPKGAGBKAB
// Type: Req
// CmdID: 7084
message MonopolyCheatDiceCsReq {
	uint32 LAGNINIKEAE = 15; // offset: 24
}

// Obf: MILDJHKDICG
// Type: Rsp
// CmdID: 7021
message MonopolyCheatDiceScRsp {
	uint32 retcode = 4; // offset: 24
	uint32 LAGNINIKEAE = 15; // offset: 28
}

// Obf: EAHLPCJGLPD
// Type: Req
// CmdID: 7047
message MonopolyMoveCsReq {
	uint32 AHNGICEEADK = 6; // offset: 24
	uint32 CPFGHPCBFOF = 8; // offset: 28
}

// Obf: BLHGFHMEFMB
// Type: Rsp
// CmdID: 7026
message MonopolyMoveScRsp {
	repeated EIDFCGLODFB AJGMLOIONPK = 3; // offset: 24
	ILMFJKCGBCK COOOMDKGODF = 8; // offset: 32
	uint32 retcode = 9; // offset: 40
}

// Obf: CKONENEGJMM
// Type: Req
// CmdID: 7013
message MonopolySelectOptionCsReq {
	uint32 HAFOKMHCGFM = 2; // offset: 24
	uint32 event_id = 12; // offset: 28
}
message HKNBLADLAAE {
	uint32 MIPKOFFGPFA = 3; // offset: 32
	uint32 event_id = 12; // offset: 24
	uint32 HAFOKMHCGFM = 13; // offset: 28
}

// Obf: ILGDFJMKOEC
// Type: Rsp
// CmdID: 7071
message MonopolySelectOptionScRsp {
	uint32 event_id = 5; // offset: 48
	uint32 HAFOKMHCGFM = 6; // offset: 40
	repeated HKNBLADLAAE DMCKDIGKHLB = 8; // offset: 32
	NEMIDPFEJFL MOMEIFPICLE = 13; // offset: 24
	uint32 retcode = 15; // offset: 44
}

// Obf: OACJDKMNPIC
// Type: Req
// CmdID: 7039
message MonopolyRollRandomCsReq {
	uint32 event_id = 11; // offset: 24
}

// Obf: JONNKENDDPG
// Type: Rsp
// CmdID: 7004
message MonopolyRollRandomScRsp {
	NEMIDPFEJFL MOMEIFPICLE = 1; // offset: 16
	uint32 event_id = 11; // offset: 32
	uint32 retcode = 14; // offset: 36
}

// Obf: BADCAMHNGKA
// Type: Req
// CmdID: 7011
message MonopolyReRollRandomCsReq {
	uint32 event_id = 1; // offset: 24
}

// Obf: HEGELOIBGME
// Type: Rsp
// CmdID: 7036
message MonopolyReRollRandomScRsp {
	uint32 retcode = 2; // offset: 32
	NEMIDPFEJFL MOMEIFPICLE = 12; // offset: 16
}

// Obf: PDAEJKNMBNK
// Type: Req
// CmdID: 7048
message MonopolyConfirmRandomCsReq {
	uint32 event_id = 10; // offset: 24
}

// Obf: LOBOKLMODGC
// Type: Rsp
// CmdID: 7045
message MonopolyConfirmRandomScRsp {
	NEMIDPFEJFL MOMEIFPICLE = 2; // offset: 24
	uint32 retcode = 10; // offset: 32
}

// Obf: POFOGBPDEHB
// Type: Req
// CmdID: 7069
message MonopolyBuyGoodsCsReq {
	uint32 shop_id = 12; // offset: 24
	uint32 goods_id = 14; // offset: 28
}

// Obf: ANCENNCMLDH
// Type: Rsp
// CmdID: 7065
message MonopolyBuyGoodsScRsp {
	uint32 retcode = 5; // offset: 32
	uint32 goods_id = 13; // offset: 24
	uint32 shop_id = 15; // offset: 28
}

// Type: Req
// CmdID: 7030
message OIDPMKIOJGK {
	uint32 CBILPMICEKC = 14; // offset: 24
}

// Type: Rsp
// CmdID: 7042
message PDJFKFFPDKI {
	uint32 retcode = 14; // offset: 24
}

// Obf: MBKBDPECMHA
// Type: Req
// CmdID: 7072
message MonopolyGiveUpCurContentCsReq {
	uint32 content_id = 14; // offset: 24
}

// Obf: CILKIOLEJFJ
// Type: Rsp
// CmdID: 7080
message MonopolyGiveUpCurContentScRsp {
	uint32 retcode = 8; // offset: 24
}
message MonopolyActionResult {
	uint32 trigger_cell_id = 4; // offset: 32
	GPPKIMDCPBM detail = 6; // offset: 24
	uint32 click_map_id = 7; // offset: 36
	uint32 click_cell_id = 8; // offset: 48
	uint32 effect_type = 11; // offset: 52
	uint32 trigger_map_id = 13; // offset: 40
	BAKAELIMIJI source_type = 15; // offset: 44
}

// Obf: HCGCOHCHKBN
// Type: Notify
// CmdID: 7093
message MonopolyActionResultScNotify {
	repeated MonopolyActionResult BKGPGINCHJI = 15; // offset: 16
}
message CCOHBABCHAI {
	bool EEDEGBHEKGD = 7; // offset: 28
	uint32 NJFKOEBEGGB = 11; // offset: 24
}
message GPPKIMDCPBM {
	oneof IDLCKHEKCCB {
		GOLHAKEGKCL FIPDBFMPEKH = 9; // offset: 24
		GOLHAKEGKCL AHMEECFKBDJ = 3; // offset: 24
		BANELIGFLCO CBKLDCBEKCH = 1; // offset: 24
		BANELIGFLCO HMOBMBALLJE = 10; // offset: 24
		GNNGLBEGIKB IFOOEPKGGAG = 11; // offset: 24
		GNNGLBEGIKB CMPNCFCJCNE = 5; // offset: 24
		NEAEMNNKKEF DOMHNBMJGHF = 7; // offset: 24
		NEAEMNNKKEF HKAGPIMFPAG = 14; // offset: 24
		CCOHBABCHAI GAJGLONDGMP = 12; // offset: 24
		AHMFKPIAHCO IJBAMMMBIOA = 6; // offset: 24
		GNNGLBEGIKB EBCGEBEPOJJ = 8; // offset: 24
		NEAEMNNKKEF CKBEEBALAEG = 13; // offset: 24
		NOKANMFKNMM LDIGCPKPNBC = 4; // offset: 24
	}
}
message NOKANMFKNMM {
	uint32 PJFPLAFEHKK = 6; // offset: 24
}
message GOLHAKEGKCL {
	uint32 DCPDNBALDOA = 10; // offset: 32
	uint32 HFNNNGHBHGG = 11; // offset: 28
	uint32 item_id = 12; // offset: 24
}
message NEAEMNNKKEF {
	uint32 DDFFJEBLCAN = 3; // offset: 28
	uint32 BGKDJKCFEKD = 7; // offset: 24
}
message AHMFKPIAHCO {
	uint32 DAEKKPOJAJG = 2; // offset: 32
	uint32 KCLCDFGGPBK = 7; // offset: 24
	uint32 ADADGDPCPDN = 8; // offset: 36
	uint32 KJBILOOCBPB = 15; // offset: 28
}
message GLMGJFEEJHD {
	uint32 ratio = 6; // offset: 36
	uint32 config_id = 11; // offset: 32
	uint32 BAJHKGJPFED = 13; // offset: 40
	oneof JMPNIHHAMPH {
		KDPGIMOOLON AGLMEDOBMAL = 5; // offset: 24
		JGKNADEDNHB LOCHFJEECKL = 10; // offset: 24
		LOEBAOEFMDC COKLIDDAEOH = 7; // offset: 24
	}
}
message FOOFAIFPOOI {
	repeated GLMGJFEEJHD BGJBAGJAJDL = 4; // offset: 40
	CCOHBABCHAI IBLHLCMNMAJ = 5; // offset: 32
	GLMGJFEEJHD JELODDPELKJ = 13; // offset: 24
}

// Obf: MBOPGGGPMMM
// Type: Notify
// CmdID: 7043
message MonopolyGameSettleScNotify {
	ItemList item_list = 9; // offset: 40
	ItemList NGADCEHJHBE = 14; // offset: 16
	GLMGJFEEJHD AJGOEJHKOKE = 15; // offset: 24
}

// Obf: AOPEHFBKPHP
// Type: Notify
// CmdID: 7035
message MonopolyGameCreateScNotify {
	CCOHBABCHAI IBLHLCMNMAJ = 7; // offset: 16
	GLMGJFEEJHD AJGOEJHKOKE = 10; // offset: 32
}

// Type: Req
// CmdID: 7041
message PILJIHGLHJA {
	uint32 ratio = 1; // offset: 24
}

// Type: Rsp
// CmdID: 7010
message NHKIADBINML {
	uint32 ratio = 4; // offset: 28
	uint32 retcode = 12; // offset: 24
}

// Obf: MPIMMHDEAGO
// Type: Req
// CmdID: 7033
message DailyFirstEnterMonopolyActivityCsReq {
}

// Obf: HFGKJEFPJPB
// Type: Rsp
// CmdID: 7038
message DailyFirstEnterMonopolyActivityScRsp {
	uint32 ICPAPCAJFKK = 2; // offset: 36
	bool GLEJFCIOMKC = 4; // offset: 32
	int64 DJMLHBFEMBE = 7; // offset: 40
	uint32 retcode = 13; // offset: 48
	NJHAGKGHKJJ OLAONLGLAJO = 15; // offset: 16
}

// Obf: PKNEMMHHBJK
// Type: Req
// CmdID: 7085
message MonopolyGetDailyInitItemCsReq {
}

// Obf: HDJNPJKFBPJ
// Type: Rsp
// CmdID: 7077
message MonopolyGetDailyInitItemScRsp {
	uint32 AEDFGDEAOBD = 1; // offset: 44
	int64 DJMLHBFEMBE = 2; // offset: 32
	uint32 FOFGDAJJPEM = 3; // offset: 52
	uint32 MKEDABICJPH = 4; // offset: 28
	uint32 PKLPCBACEMA = 11; // offset: 24
	uint32 retcode = 12; // offset: 40
	uint32 AJDOFHNCOLP = 15; // offset: 48
}
message KDPGIMOOLON {
	repeated uint32 KNJMPBHKHCJ = 2; // offset: 32
	repeated uint32 PGMHMPEHPHP = 6; // offset: 24
	repeated uint32 JKOOLMNHPHI = 7; // offset: 16
	bool BDEFAFFDBCC = 9; // offset: 48
	uint32 PEDFLGGDHDP = 14; // offset: 52
}

// Obf: KJIMFIHOAFM
// Type: Req
// CmdID: 7034
message MonopolyGameBingoFlipCardCsReq {
	uint32 LKFIGBGPEJB = 5; // offset: 24
}

// Obf: CPLFHOFEEIO
// Type: Rsp
// CmdID: 7096
message MonopolyGameBingoFlipCardScRsp {
	uint32 retcode = 3; // offset: 32
	repeated uint32 KNJMPBHKHCJ = 5; // offset: 16
	bool BDEFAFFDBCC = 11; // offset: 40
	uint32 total_score = 14; // offset: 36
}

// Obf: HIAFBJNNCHN
// Type: Req
// CmdID: 7029
message MonopolyGameGachaCsReq {
}

// Obf: AIMFGJGOLNG
// Type: Rsp
// CmdID: 7063
message MonopolyGameGachaScRsp {
	uint32 retcode = 2; // offset: 32
	repeated uint32 CLGGKLNPLCK = 15; // offset: 24
}
message NNDKLIBALLC {
	uint32 JJKPBPLAGAN = 13; // offset: 24
	uint32 KPMHGGHLOHB = 14; // offset: 28
}
message JGKNADEDNHB {
	uint32 KPGNEABOECG = 1; // offset: 44
	uint32 AHAPDFNPICG = 7; // offset: 48
	uint32 GHKNBIOFLGA = 10; // offset: 40
	repeated NNDKLIBALLC OLGHCHMMMIA = 11; // offset: 24
	uint32 KOMEOMHBCEC = 12; // offset: 52
	repeated uint32 HDAKGBMLKKI = 15; // offset: 16
}

// Obf: HDLCCMGHJAD
// Type: Req
// CmdID: 7073
message MonopolyAcceptQuizCsReq {
	repeated NNDKLIBALLC OLGHCHMMMIA = 5; // offset: 16
}

// Obf: AJCNPDNBIEM
// Type: Rsp
// CmdID: 7012
message MonopolyAcceptQuizScRsp {
	uint32 retcode = 11; // offset: 32
	JGKNADEDNHB LOCHFJEECKL = 14; // offset: 16
}
message JPEGNCJDBOM {
	uint32 AHAPDFNPICG = 5; // offset: 28
	uint32 AFHMLGFILFN = 7; // offset: 24
	uint32 BLLLEIGDMOI = 13; // offset: 32
}

// Obf: PBPDPNPJHLE
// Type: Notify
// CmdID: 7053
message MonopolyQuizDurationChangeScNotify {
	repeated JPEGNCJDBOM DGNGMJMPFGK = 1; // offset: 16
}
message LOEBAOEFMDC {
	uint32 HCFJIJHLJDM = 3; // offset: 32
	bool FNFJOCEGFBI = 7; // offset: 24
	uint32 HABHOAMCGLH = 15; // offset: 28
}

// Obf: FGDFHJPOHML
// Type: Req
// CmdID: 7075
message MonopolyGuessChooseCsReq {
	uint32 HCFJIJHLJDM = 13; // offset: 24
}

// Obf: AIADHAKAAIC
// Type: Rsp
// CmdID: 7044
message MonopolyGuessChooseScRsp {
	uint32 retcode = 1; // offset: 28
	uint32 HCFJIJHLJDM = 10; // offset: 24
}
message DCMHLOEGFBM {
	uint32 LCFDOPINEBO = 2; // offset: 32
	ItemList item_list = 7; // offset: 16
	uint32 HABHOAMCGLH = 15; // offset: 36
}

// Obf: ODKIEBABOOC
// Type: Notify
// CmdID: 7018
message MonopolyGuessDrawScNotify {
	repeated DCMHLOEGFBM KHLFDHANJCO = 11; // offset: 16
}

// Obf: IAFJANHGCLL
// Type: Req
// CmdID: 7049
message GetMonopolyFriendRankingListCsReq {
}

// Type: Rsp
// CmdID: 7015
message MLBDFEOBKIJ {
	uint32 retcode = 7; // offset: 24
}
message BANELIGFLCO {
	uint32 CBILPMICEKC = 4; // offset: 24
	uint32 level = 10; // offset: 28
	uint32 MFKHDANPCIC = 12; // offset: 32
}
message DBPHHPGNMKC {
	repeated BANELIGFLCO NPENGFBHFJN = 3; // offset: 16
}
message NJHAGKGHKJJ {
	uint32 DBPJBMMGAHH = 1; // offset: 32
	bool DKJBKELKKFO = 2; // offset: 48
	uint32 IFDIIODCFLC = 3; // offset: 56
	uint32 KDFDFBHKCNG = 4; // offset: 44
	uint32 OECIPJIPKEG = 7; // offset: 36
	uint32 EEKPBPFPNIK = 9; // offset: 40
	uint32 JDMNGBJDLBN = 10; // offset: 28
	uint32 HNENMGMGONM = 11; // offset: 24
	uint32 PKHIADLBDDP = 12; // offset: 52
}

// Obf: EPIHBHLJOJD
// Type: Notify
// CmdID: 7082
message MonopolyDailySettleScNotify {
	NJHAGKGHKJJ OLAONLGLAJO = 10; // offset: 16
	uint32 ICPAPCAJFKK = 11; // offset: 32
}
message GNNGLBEGIKB {
	uint32 DPGJKAHLINH = 2; // offset: 32
	uint32 GCLADEKCJCG = 3; // offset: 28
	uint32 buff_id = 15; // offset: 24
}
message INGKNDHECNF {
	repeated GNNGLBEGIKB buff_list = 8; // offset: 24
}

// Type: Req
// CmdID: 7094
message BBEPMABCBGF {
	uint32 KDFDFBHKCNG = 1; // offset: 24
	uint32 HEIHPAPJHID = 6; // offset: 28
	uint32 DOHOMJBJLLG = 7; // offset: 32
	uint32 uid = 8; // offset: 36
	uint32 OECIPJIPKEG = 9; // offset: 40
}
message MMLLDKHEDCJ {
}

// Obf: PBNLNHAAAKF
// Type: Rsp
// CmdID: 7037
message GetMonopolyFriendRankingListScRsp {
	uint32 retcode = 3; // offset: 40
	repeated BBEPMABCBGF BEDHEKAGAPE = 6; // offset: 24
	BBEPMABCBGF PONAOKBNIAM = 14; // offset: 32
}

// Obf: AABJNDIJDAD
// Type: Req
// CmdID: 7051
message MonopolyLikeCsReq {
	uint32 teleport_id = 3; // offset: 24
}

// Obf: LDJFPALJFEK
// Type: Rsp
// CmdID: 7046
message MonopolyLikeScRsp {
	uint32 teleport_id = 7; // offset: 32
	ItemList reward_list = 11; // offset: 16
	uint32 retcode = 15; // offset: 36
}

// Obf: OJLCDCKIMON
// Type: Notify
// CmdID: 7019
message MonopolyLikeScNotify {
	uint32 DOHOMJBJLLG = 2; // offset: 32
	repeated uint32 LPBBJFFNACA = 3; // offset: 16
}

// Obf: AHAHBBILPOH
// Type: Req
// CmdID: 7028
message GetMbtiReportCsReq {
}
message EDGEHPFOKBH {
	uint32 cnt = 9; // offset: 28
	uint32 ACPKAOIIEHJ = 10; // offset: 24
}

// Obf: MBKLKIAJPDD
// Type: Rsp
// CmdID: 7098
message GetMbtiReportScRsp {
	bool is_taken_reward = 1; // offset: 49
	repeated HKNBLADLAAE DMCKDIGKHLB = 3; // offset: 24
	bool JMFNGFKBIFL = 5; // offset: 48
	uint32 retcode = 6; // offset: 52
	int32 KHMNANHKINB = 7; // offset: 40
	int32 CJBLDKJDLOJ = 9; // offset: 44
	uint32 progress = 10; // offset: 56
	repeated EDGEHPFOKBH BLINEMKKEOG = 14; // offset: 32
}

// Obf: LPFNJLAONFF
// Type: Req
// CmdID: 7062
message MonopolyEventSelectFriendCsReq {
	uint32 LPDFMJPFGJH = 5; // offset: 28
	bool DHLLPOBKLIO = 7; // offset: 24
}

// Obf: JDMGDNEIALG
// Type: Rsp
// CmdID: 7066
message MonopolyEventSelectFriendScRsp {
	uint32 NLGNNDIFGGF = 2; // offset: 32
	uint32 add_coin = 5; // offset: 24
	uint32 retcode = 8; // offset: 28
}
message EOHAFICJPIP {
	uint32 add_coin = 6; // offset: 28
	uint32 NLGNNDIFGGF = 9; // offset: 32
	uint32 CPOCELOLNHL = 14; // offset: 36
	uint32 id = 15; // offset: 24
}

// Obf: KHOPJJHMFMC
// Type: Notify
// CmdID: 7055
message MonopolySocialEventEffectScNotify {
	repeated EOHAFICJPIP OKPHCFLPLGH = 12; // offset: 24
}

// Obf: INEBJNDOBGP
// Type: Req
// CmdID: 7016
message GetSocialEventServerCacheCsReq {
}

// Obf: CAOAINDGCDK
// Type: Rsp
// CmdID: 7006
message GetSocialEventServerCacheScRsp {
	uint32 retcode = 5; // offset: 32
	repeated EOHAFICJPIP OKPHCFLPLGH = 12; // offset: 24
}

// Type: Req
// CmdID: 7074
message JHIDMEBBKPE {
	repeated uint32 CNILHHCDAKD = 14; // offset: 24
}

// Type: Rsp
// CmdID: 7057
message GDDEAKMJOAP {
	uint32 retcode = 4; // offset: 32
	repeated uint32 FHAIOBNLADG = 13; // offset: 24
}

// Obf: LGAMHIEPIIP
// Type: Req
// CmdID: 7023
message MonopolyGetRaffleTicketCsReq {
	uint32 pool_id = 2; // offset: 24
}

// Obf: APIIDMEFDJJ
// Type: Rsp
// CmdID: 7083
message MonopolyGetRaffleTicketScRsp {
	uint32 pool_id = 6; // offset: 36
	uint32 retcode = 9; // offset: 32
	repeated DDHIEONLIIL HDLPEKIMAJB = 12; // offset: 16
}

// Obf: PPNADCDDNNP
// Type: Req
// CmdID: 7095
message MonopolyTakeRaffleTicketRewardCsReq {
	uint32 pool_id = 3; // offset: 24
	uint64 BBPGHFJOADI = 9; // offset: 32
}

// Obf: BCBFOIIENII
// Type: Rsp
// CmdID: 7017
message MonopolyTakeRaffleTicketRewardScRsp {
	uint32 retcode = 5; // offset: 32
	uint32 pool_id = 6; // offset: 36
	uint32 BBPGHFJOADI = 7; // offset: 40
	ItemList reward_list = 9; // offset: 16
}

// Obf: DHOLOGBDGDI
// Type: Req
// CmdID: 7060
message MonopolyScrachRaffleTicketCsReq {
	uint32 pool_id = 5; // offset: 24
	uint64 BBPGHFJOADI = 13; // offset: 32
}

// Obf: PNLLICGHFCA
// Type: Rsp
// CmdID: 7090
message MonopolyScrachRaffleTicketScRsp {
	uint64 BBPGHFJOADI = 8; // offset: 32
	uint32 pool_id = 10; // offset: 24
	uint32 retcode = 14; // offset: 28
}

// Obf: FPPAAKNAEKO
// Type: Req
// CmdID: 7032
message MonopolyGetRegionProgressCsReq {
}

// Obf: NLBPGICIMJJ
// Type: Rsp
// CmdID: 7070
message MonopolyGetRegionProgressScRsp {
	uint32 CNGMMDKCBND = 2; // offset: 28
	uint32 retcode = 8; // offset: 32
	uint32 HEIHPAPJHID = 14; // offset: 24
}

// Obf: PHKOAOLFBFI
// Type: Req
// CmdID: 7097
message MonopolyGetRafflePoolInfoCsReq {
}

// Obf: OPHOAKJPGFE
// Type: Rsp
// CmdID: 7003
message MonopolyGetRafflePoolInfoScRsp {
	BCDIFIIDPIA MALPPHCEOGB = 3; // offset: 16
	uint32 retcode = 13; // offset: 32
}

// Obf: OELHDNEGGBB
// Type: Req
// CmdID: 7001
message MonopolyTakePhaseRewardCsReq {
	repeated uint32 IICEKEPFMJO = 9; // offset: 24
}

// Obf: OCLIPJHEAGJ
// Type: Rsp
// CmdID: 7064
message MonopolyTakePhaseRewardScRsp {
	uint32 retcode = 8; // offset: 40
	repeated uint32 IICEKEPFMJO = 13; // offset: 16
	ItemList reward_list = 15; // offset: 24
}

// Obf: MGHEAIMFOMO
// Type: Req
// CmdID: 7059
message GetMonopolyMbtiReportRewardCsReq {
}

// Obf: HAPCCLFFPNB
// Type: Rsp
// CmdID: 7009
message GetMonopolyMbtiReportRewardScRsp {
	ItemList reward_list = 2; // offset: 24
	uint32 retcode = 13; // offset: 32
}

// Obf: ANNMAOPFDAL
// Type: Req
// CmdID: 7079
message GetMonopolyDailyReportCsReq {
}

// Obf: OMDFLBJFIDM
// Type: Rsp
// CmdID: 7007
message GetMonopolyDailyReportScRsp {
	uint32 retcode = 10; // offset: 32
	NJHAGKGHKJJ OLAONLGLAJO = 12; // offset: 24
}

// Obf: IJGOCJPBPFJ
// Type: Req
// CmdID: 7087
message MonopolyClickCellCsReq {
	uint32 map_id = 1; // offset: 24
	uint32 IHAOMLEPHOM = 7; // offset: 28
}

// Obf: DBGDANBJNMM
// Type: Rsp
// CmdID: 7024
message MonopolyClickCellScRsp {
	uint32 IHAOMLEPHOM = 1; // offset: 32
	uint32 map_id = 13; // offset: 24
	uint32 retcode = 14; // offset: 28
}

// Type: Req
// CmdID: 7002
message DNBHKLFEMLG {
}

// Type: Rsp
// CmdID: 7100
message EPAIKOHMLDK {
	uint32 retcode = 6; // offset: 24
}

// Obf: EDCDMKFIOPH
enum CmdMultiplayerType {
	EDCDMKFIOPH_NLCDGIPGFDJ = 0;
	CmdNENHKMEFAEC = 1026;
	CmdMatchPlayDataChangeNtf = 1040;
	CmdJJAGFPLDCAF = 1081;
	CmdHPGIGMPBIBO = 1058;
	CmdGetFriendRankingInfoRsp = 1038;
	CmdFightGameStateCsReq = 1025;
	CmdIHGLPGLPDFF = 1088;
	CmdHFFCEACMEIG = 1047;
	CmdFightGameStateScRsp = 1078;
	CmdFightGameStartScNotify = 1086;
	CmdGetMatchPlayDataCsReq = 1013;
	CmdNLOPJLCMLEN = 1093;
	CmdSelfRankChangeNtf = 1039;
	CmdGetMatchPlayDataRsp = 1071;
	CmdGetFriendRankingInfoCsReq = 1033;
}

// Obf: IMNPPGALEHP
// Type: Req
// CmdID: 1025
message FightGameStateCsReq {
}

// Obf: ABAIDFKODPJ
// Type: Rsp
// CmdID: 1078
message FightGameStateScRsp {
	OFFMCODMKDL room_ext_info = 5; // offset: 16
	uint32 retcode = 9; // offset: 48
	BFBHKJLJJBJ KAEDKFOMADJ = 12; // offset: 24
	repeated LMLNNHKJEIP DFLEOIGPLNM = 13; // offset: 40
}

// Type: Req
// CmdID: 1093
message NLOPJLCMLEN {
}

// Type: Rsp
// CmdID: 1058
message HPGIGMPBIBO {
	uint32 retcode = 4; // offset: 40
	string fight_token = 10; // offset: 24
	uint32 port = 12; // offset: 44
	string gate_server_address = 14; // offset: 16
	uint64 FGNFDGAKKAP = 15; // offset: 48
}

// Type: Req
// CmdID: 1088
message IHGLPGLPDFF {
}

// Type: Rsp
// CmdID: 1081
message JJAGFPLDCAF {
	uint32 retcode = 9; // offset: 24
}

// Obf: HMJOPNLILHK
// Type: Notify
// CmdID: 1086
message FightGameStartScNotify {
	repeated LMLNNHKJEIP DFLEOIGPLNM = 1; // offset: 32
	BFBHKJLJJBJ KAEDKFOMADJ = 11; // offset: 24
}

// Type: Notify
// CmdID: 1047
message HFFCEACMEIG {
	BFBHKJLJJBJ KAEDKFOMADJ = 4; // offset: 24
}

// Type: Notify
// CmdID: 1026
message NENHKMEFAEC {
	uint32 BCAKPNCHIIJ = 4; // offset: 28
	NPPEMMILLCO reason = 9; // offset: 24
}
message OOAHBHODMHG {
	uint32 count = 7; // offset: 24
	uint32 HBONKLEOEEI = 9; // offset: 32
	uint32 LALGADHLMCB = 12; // offset: 28
}
message PJLEILDLONN {
	uint32 EECIJBLGLNG = 10; // offset: 32
	repeated OOAHBHODMHG DBINCLPHEFN = 15; // offset: 24
}
message DGLBOFKGGLL {
	uint32 EECIJBLGLNG = 6; // offset: 24
}
message ECOAKLBOLDA {
	uint32 CBFFGFBEFMF = 4; // offset: 24
	uint32 EECIJBLGLNG = 14; // offset: 28
}
message PLICOOFLBIB {
	uint32 EECIJBLGLNG = 9; // offset: 24
}
message BCKBEMGGGIF {
	uint32 EECIJBLGLNG = 11; // offset: 24
}
message JCNLJNELKEO {
	uint32 EECIJBLGLNG = 5; // offset: 24
}
message JJIJAMHKNGO {
	bool GLEJFCIOMKC = 6; // offset: 32
	uint32 EECIJBLGLNG = 8; // offset: 28
	uint32 CJPDGBPLFIG = 9; // offset: 24
}
message GKJHNGLHOBA {
	uint32 CJPDGBPLFIG = 9; // offset: 28
	bool GLEJFCIOMKC = 10; // offset: 24
	uint32 EECIJBLGLNG = 11; // offset: 32
}

// Obf: GNHMFIJAGIP
// Type: Req
// CmdID: 1013
message GetMatchPlayDataCsReq {
	repeated FightGameMode LCCHAKBKAHL = 15; // offset: 24
}
message PNEGDOHOLDN {
	uint32 panel_id = 13; // offset: 40
	FightGameMode GJNMHILINHC = 14; // offset: 32
	oneof AELHFLGJMJN {
		PJLEILDLONN ODLONPLECJB = 11; // offset: 24
		ECOAKLBOLDA OCGCLKAHGBK = 4; // offset: 24
		JCNLJNELKEO ICNFMLIAAKE = 6; // offset: 24
		JJIJAMHKNGO GMDCKAOEGNF = 3; // offset: 24
	}
}

// Obf: HIEKCDEJNIL
// Type: Rsp
// CmdID: 1071
message GetMatchPlayDataRsp {
	uint32 retcode = 9; // offset: 32
	repeated PNEGDOHOLDN JBMEEGGOLKN = 10; // offset: 16
}

// Obf: LKOGDPGHEKL
// Type: Notify
// CmdID: 1040
message MatchPlayDataChangeNtf {
	PNEGDOHOLDN KMCDHFGJFNJ = 5; // offset: 24
}

// Obf: CDLJKKNLHBC
// Type: Req
// CmdID: 1033
message GetFriendRankingInfoCsReq {
	FightGameMode GJNMHILINHC = 15; // offset: 24
}
message DLCJPINDIAC {
	uint32 PPOAGPGEAFH = 7; // offset: 32
	uint32 uid = 10; // offset: 40
	oneof KKNBOACNCON {
		DGLBOFKGGLL BJKBADEMEOE = 15; // offset: 24
		PLICOOFLBIB KCICNNFJEAC = 1; // offset: 24
		BCKBEMGGGIF LENBIENEFIB = 11; // offset: 24
		GKJHNGLHOBA ONNAKPKDLHO = 3; // offset: 24
	}
}

// Obf: NBNNMNBEJCJ
// Type: Rsp
// CmdID: 1038
message GetFriendRankingInfoRsp {
	uint32 retcode = 7; // offset: 36
	FightGameMode GJNMHILINHC = 11; // offset: 32
	repeated DLCJPINDIAC MLPHLIHFGKG = 13; // offset: 16
}

// Obf: KGALHFLMAKC
// Type: Notify
// CmdID: 1039
message SelfRankChangeNtf {
	FightGameMode GJNMHILINHC = 11; // offset: 32
	repeated DLCJPINDIAC MLPHLIHFGKG = 14; // offset: 24
}

// Obf: ACIMFGFNPDF
enum CmdMultipleDropType {
	ACIMFGFNPDF_NLCDGIPGFDJ = 0;
	CmdGetMultipleDropInfoCsReq = 4625;
	CmdGetPlayerReturnMultiDropInfoScRsp = 4688;
	CmdGetMultipleDropInfoScRsp = 4678;
	CmdMultipleDropInfoNotify = 4681;
	CmdGetPlayerReturnMultiDropInfoCsReq = 4658;
	CmdMultipleDropInfoScNotify = 4693;
}

// Obf: FKONEIIILGP
// Type: Req
// CmdID: 4625
message GetMultipleDropInfoCsReq {
}
message NGLOBFBCGBB {
	uint32 id = 4; // offset: 28
	uint32 CLLFACKFNBO = 11; // offset: 24
}

// Obf: IPBOFGFMHHC
// Type: Rsp
// CmdID: 4678
message GetMultipleDropInfoScRsp {
	repeated BMJHAHOLEGH FAFFFJGJHHC = 3; // offset: 16
	uint32 retcode = 10; // offset: 40
	repeated NGLOBFBCGBB MOPAGKNEMOD = 13; // offset: 24
}

// Obf: DHGOJJOGOKL
// Type: Notify
// CmdID: 4693
message MultipleDropInfoScNotify {
	repeated NGLOBFBCGBB MOPAGKNEMOD = 4; // offset: 16
}

// Obf: FNOACGHLHGM
// Type: Req
// CmdID: 4658
message GetPlayerReturnMultiDropInfoCsReq {
}
message GCLPBMPOHLI {
	uint32 FAOAGKPPNGN = 2; // offset: 36
	uint32 JMGPFEGLCGG = 5; // offset: 28
	uint32 panel_id = 8; // offset: 24
	uint32 LFOHEBCNMDP = 11; // offset: 32
}
message BMJHAHOLEGH {
	uint32 NEKCONMFFFE = 1; // offset: 36
	uint32 KFBIODICKGC = 4; // offset: 28
	uint32 panel_id = 10; // offset: 24
	uint32 total_count = 15; // offset: 32
}

// Obf: NGNBAKJNPID
// Type: Rsp
// CmdID: 4688
message GetPlayerReturnMultiDropInfoScRsp {
	uint32 retcode = 2; // offset: 40
	repeated BMJHAHOLEGH FAFFFJGJHHC = 9; // offset: 24
	GCLPBMPOHLI HDLIGGEMOKM = 15; // offset: 32
}

// Obf: JDIMGPHOEPL
// Type: Notify
// CmdID: 4681
message MultipleDropInfoNotify {
	repeated GCLPBMPOHLI JGALOGDBCKI = 7; // offset: 40
	repeated NGLOBFBCGBB MOPAGKNEMOD = 10; // offset: 16
	repeated BMJHAHOLEGH FAFFFJGJHHC = 13; // offset: 24
}

// Obf: CIILMLFIACA
enum CmdMuseumType {
	CIILMLFIACA_NLCDGIPGFDJ = 0;
	CmdTakeCollectRewardCsReq = 4321;
	CmdMuseumRandomEventSelectScRsp = 4330;
	CmdGetMuseumInfoCsReq = 4325;
	CmdSetStuffToAreaScRsp = 4381;
	CmdSyncGetExhibitScNotify = 4313;
	CmdUpgradeAreaStatCsReq = 4339;
	CmdSyncMuseumRandomEventStartScNotify = 4348;
	CmdUpgradeAreaStatScRsp = 4304;
	CmdSetStuffToAreaCsReq = 4388;
	CmdFinishCurTurnScRsp = 4340;
	CmdSyncMuseumTargetStartNotify = 4372;
	CmdSyncGetStuffScNotify = 4326;
	CmdTakeCollectRewardRsp = 4305;
	CmdGetMuseumInfoScRsp = 4378;
	CmdFinishCurTurnCsReq = 4371;
	CmdUpgradeAreaScRsp = 4338;
	CmdSyncMuseumFundsChangedScNotify = 4336;
	CmdRemoveStuffFromAreaScRsp = 4347;
	CmdBuyNpcStuffScRsp = 4358;
	CmdUpgradeAreaCsReq = 4333;
	CmdBuyNpcStuffCsReq = 4393;
	CmdRemoveStuffFromAreaCsReq = 4386;
	CmdSyncMuseumInfoChangedScNotify = 4311;
	CmdSyncMuseumTargetMissionFinishNotify = 4380;
	CmdMuseumRandomEventSelectCsReq = 4365;
	CmdSyncMuseumTargetRewardNotify = 4384;
	CmdMuseumRandomEventQueryCsReq = 4345;
	CmdMuseumRandomEventQueryScRsp = 4369;
}

// Obf: NLAEDPNBHBP
enum MuseumRandomEventState {
	NLAEDPNBHBP_NLCDGIPGFDJ = 0;
	NLAEDPNBHBP_NPAFMEBNFOB = 1;
	NLAEDPNBHBP_LOOAKNHDBLL = 2;
	NLAEDPNBHBP_CIHFGJDCHIA = 3;
}

enum GBAEPOLFFMG {
	GBAEPOLFFMG_NLCDGIPGFDJ = 0;
	GBAEPOLFFMG_FBLHLHCGMKO = 1;
	GBAEPOLFFMG_GNEIJHBGCHG = 2;
	GBAEPOLFFMG_JNKMJKBDGPL = 3;
}

// Obf: GOPHGIHIDPP
enum StatType {
	GOPHGIHIDPP_NLCDGIPGFDJ = 0;
	GOPHGIHIDPP_INJOMKCIBPI = 1;
	GOPHGIHIDPP_GMKNIIHMCBO = 2;
	GOPHGIHIDPP_HNMLECBEGPB = 3;
}

// Obf: FILBJDAJPAA
enum GetStuffType {
	FILBJDAJPAA_AADOIEIDPKC = 0;
	FILBJDAJPAA_KLEADAAONJI = 1;
	FILBJDAJPAA_JIJFOLELOHP = 2;
	FILBJDAJPAA_KCMIPOEAKOM = 3;
	FILBJDAJPAA_MFCAHCCMCHA = 4;
	FILBJDAJPAA_DCJDPBHNEEN = 5;
	FILBJDAJPAA_CBECLOHPGNJ = 6;
}
message BAEFMEJJIBI {
	uint32 CEAMLKCMMGD = 6; // offset: 28
	GBAEPOLFFMG pos_index = 11; // offset: 24
}
message FCCDKHNGIPH {
	uint32 MLDLNLGBMHN = 1; // offset: 36
	uint32 area_id = 3; // offset: 44
	uint32 FJPJFHPNKBH = 4; // offset: 40
	uint32 PELHCNILCBP = 5; // offset: 32
	uint32 level = 13; // offset: 48
	repeated BAEFMEJJIBI DHIOHIOPCGP = 14; // offset: 16
}
message FGFJNANBJJI {
	uint32 CLLLEMMKDMB = 5; // offset: 24
	bool is_finish = 10; // offset: 28
}
message KPCNNOGGIDO {
	uint32 KFGLDLFBFFB = 6; // offset: 44
	uint32 CLPAAFFFBKK = 7; // offset: 48
	uint32 MJOKDHMJBEH = 9; // offset: 36
	uint32 MGLEKDEAJBB = 10; // offset: 32
	uint32 MLBMDLBKEEM = 12; // offset: 40
	repeated FGFJNANBJJI CBEFDHFFNLN = 15; // offset: 16
}
message FEHHKDIIENA {
	uint32 CEAMLKCMMGD = 3; // offset: 28
	uint32 PIKEPJNDJPE = 4; // offset: 24
}
message FFEEHEBBLCI {
	uint32 PKDANDJFAON = 2; // offset: 32
	MuseumRandomEventState state = 3; // offset: 40
	uint32 OMILGFHKGBC = 5; // offset: 44
	uint32 JJBKGGDAGIM = 8; // offset: 36
	uint32 JGPIOFGPBGE = 9; // offset: 52
	repeated uint32 DAHOMKDLEGI = 12; // offset: 24
	uint32 event_id = 14; // offset: 48
}
message CDNPKGOKEPK {
	repeated uint32 MNBMDLBDCBB = 1; // offset: 24
	uint32 ELAENEOBAJD = 2; // offset: 40
	repeated FFEEHEBBLCI PMIFFBHOOOO = 9; // offset: 16
}

// Obf: NNKJBOKLHAF
// Type: Req
// CmdID: 4325
message GetMuseumInfoCsReq {
}

// Obf: IKADIECNGND
// Type: Rsp
// CmdID: 4378
message GetMuseumInfoScRsp {
	uint32 exp = 1; // offset: 92
	KPCNNOGGIDO target = 2; // offset: 64
	repeated uint32 BILNKFBKOBC = 3; // offset: 16
	uint32 cur_fund = 4; // offset: 84
	repeated uint32 ONJEOMGPGLJ = 5; // offset: 24
	uint32 NEHFEBHDGIK = 6; // offset: 76
	CDNPKGOKEPK PKJCHLDHKBL = 7; // offset: 48
	uint32 ONCBJHBKBLB = 8; // offset: 100
	uint32 KAADGPOLIEN = 9; // offset: 96
	uint32 EKGPINKBLED = 11; // offset: 80
	uint32 retcode = 12; // offset: 72
	uint32 level = 13; // offset: 88
	repeated FCCDKHNGIPH area_list = 14; // offset: 56
	repeated FEHHKDIIENA DHIOHIOPCGP = 15; // offset: 40
}

// Obf: FOOHBPABPNO
// Type: Req
// CmdID: 4393
message BuyNpcStuffCsReq {
	uint32 CEAMLKCMMGD = 7; // offset: 24
}

// Obf: BBNNCAIJLKL
// Type: Rsp
// CmdID: 4358
message BuyNpcStuffScRsp {
	uint32 retcode = 10; // offset: 24
	uint32 CEAMLKCMMGD = 14; // offset: 28
}

// Obf: HIJBMFLHGEL
// Type: Req
// CmdID: 4388
message SetStuffToAreaCsReq {
	GBAEPOLFFMG pos_index = 6; // offset: 28
	uint32 PIKEPJNDJPE = 11; // offset: 24
	uint32 CEAMLKCMMGD = 15; // offset: 32
}

// Obf: JCKHEKIFHLO
// Type: Rsp
// CmdID: 4381
message SetStuffToAreaScRsp {
	uint32 PIKEPJNDJPE = 5; // offset: 24
	uint32 retcode = 8; // offset: 36
	uint32 CEAMLKCMMGD = 12; // offset: 28
	GBAEPOLFFMG pos_index = 13; // offset: 32
}

// Obf: IMAAMKJIHNO
// Type: Req
// CmdID: 4386
message RemoveStuffFromAreaCsReq {
	uint32 CEAMLKCMMGD = 10; // offset: 24
}

// Obf: CHCPOJDPPJL
// Type: Rsp
// CmdID: 4347
message RemoveStuffFromAreaScRsp {
	uint32 retcode = 5; // offset: 28
	uint32 CEAMLKCMMGD = 15; // offset: 24
}

// Obf: GGILOAPIPBF
// Type: Notify
// CmdID: 4326
message SyncGetStuffScNotify {
	GetStuffType BAPBMHCHCIC = 3; // offset: 24
	uint32 CEAMLKCMMGD = 4; // offset: 28
}

// Obf: FEDOFFJODEM
// Type: Notify
// CmdID: 4313
message SyncGetExhibitScNotify {
	uint32 MMNBPCGIONF = 4; // offset: 24
}

// Obf: HFIFAFEEAHI
// Type: Req
// CmdID: 4371
message FinishCurTurnCsReq {
	uint32 IDFANGELPEE = 15; // offset: 24
}

// Obf: CHIBEKJIAMC
// Type: Rsp
// CmdID: 4340
message FinishCurTurnScRsp {
	uint32 retcode = 14; // offset: 24
}

// Obf: DOIJKIKLBEG
// Type: Req
// CmdID: 4333
message UpgradeAreaCsReq {
	uint32 area_id = 10; // offset: 28
	uint32 level = 13; // offset: 24
}

// Obf: EIBGMKIJNDK
// Type: Rsp
// CmdID: 4338
message UpgradeAreaScRsp {
	uint32 retcode = 4; // offset: 32
	uint32 level = 6; // offset: 28
	uint32 area_id = 12; // offset: 24
}

// Obf: AIENHIHMJDP
// Type: Req
// CmdID: 4339
message UpgradeAreaStatCsReq {
	uint32 level = 7; // offset: 28
	uint32 area_id = 9; // offset: 24
	StatType GNBKDCHLDGL = 13; // offset: 32
}

// Obf: EAINGAEAJIN
// Type: Rsp
// CmdID: 4304
message UpgradeAreaStatScRsp {
	StatType GNBKDCHLDGL = 1; // offset: 28
	uint32 retcode = 4; // offset: 24
	uint32 area_id = 10; // offset: 36
	uint32 level = 13; // offset: 32
}

// Obf: EJLFOBMAPEJ
// Type: Notify
// CmdID: 4311
message SyncMuseumInfoChangedScNotify {
	uint32 exp = 1; // offset: 76
	uint32 cur_fund = 2; // offset: 88
	KPCNNOGGIDO target = 3; // offset: 40
	uint32 EKGPINKBLED = 5; // offset: 72
	uint32 level = 6; // offset: 96
	uint32 KAADGPOLIEN = 7; // offset: 92
	repeated uint32 ONJEOMGPGLJ = 8; // offset: 64
	repeated FCCDKHNGIPH area_list = 9; // offset: 32
	repeated uint32 BILNKFBKOBC = 10; // offset: 56
	repeated FEHHKDIIENA DHIOHIOPCGP = 11; // offset: 16
	CDNPKGOKEPK PKJCHLDHKBL = 12; // offset: 24
	uint32 NEHFEBHDGIK = 13; // offset: 80
	uint32 ONCBJHBKBLB = 14; // offset: 84
}

// Obf: HIEMNHKDOJE
// Type: Notify
// CmdID: 4348
message SyncMuseumRandomEventStartScNotify {
	FFEEHEBBLCI info = 7; // offset: 24
}

// Obf: BKCPHOMPACI
// Type: Req
// CmdID: 4345
message MuseumRandomEventQueryCsReq {
}

// Obf: PJKFNOJHHHJ
// Type: Rsp
// CmdID: 4369
message MuseumRandomEventQueryScRsp {
	CDNPKGOKEPK info = 8; // offset: 24
	uint32 retcode = 12; // offset: 32
}

// Obf: MLBLCNIPBFG
// Type: Req
// CmdID: 4365
message MuseumRandomEventSelectCsReq {
	uint32 event_id = 13; // offset: 28
	uint32 JGPIOFGPBGE = 15; // offset: 24
}

// Obf: MGPKJCKKCBI
// Type: Rsp
// CmdID: 4330
message MuseumRandomEventSelectScRsp {
	uint32 event_id = 1; // offset: 28
	uint32 retcode = 9; // offset: 32
	uint32 JGPIOFGPBGE = 14; // offset: 24
}

// Obf: OPLMCLODKAJ
// Type: Notify
// CmdID: 4336
message SyncMuseumFundsChangedScNotify {
	uint32 cur_fund = 14; // offset: 24
}

// Obf: AGFENBLCABB
// Type: Notify
// CmdID: 4372
message SyncMuseumTargetStartNotify {
	uint32 KFGLDLFBFFB = 1; // offset: 24
}

// Obf: LICMNPOKCMB
// Type: Notify
// CmdID: 4380
message SyncMuseumTargetMissionFinishNotify {
	bool MAOMPIDOMIJ = 1; // offset: 36
	repeated uint32 CLLLEMMKDMB = 9; // offset: 24
	uint32 KFGLDLFBFFB = 12; // offset: 32
}

// Obf: BDDMKOIHCPK
// Type: Notify
// CmdID: 4384
message SyncMuseumTargetRewardNotify {
	uint32 KFGLDLFBFFB = 4; // offset: 32
	uint32 item_count = 6; // offset: 28
	uint32 item_id = 15; // offset: 24
}

// Obf: CHMJIHDLDEB
// Type: Req
// CmdID: 4321
message TakeCollectRewardCsReq {
	uint32 item_id = 12; // offset: 24
}

// Obf: JDMPHALCCKE
// Type: Rsp
// CmdID: 4305
message TakeCollectRewardRsp {
	uint32 retcode = 3; // offset: 36
	uint32 item_id = 8; // offset: 32
	ItemList reward = 12; // offset: 16
}

// Obf: PHAPALJNLBE
enum CmdMusicRhythmType {
	PHAPALJNLBE_NLCDGIPGFDJ = 0;
	CmdMusicRhythmStartLevelScRsp = 7574;
	CmdMusicRhythmMaxDifficultyLevelsUnlockNotify = 7590;
	CmdMusicRhythmUnlockSongSfxScNotify = 7585;
	CmdMusicRhythmStartLevelCsReq = 7588;
	CmdMusicRhythmUnlockSongNotify = 7582;
	CmdMusicRhythmSaveSongConfigDataScRsp = 7591;
	CmdMusicRhythmFinishLevelScRsp = 7592;
	CmdMusicRhythmSaveSongConfigDataCsReq = 7599;
	CmdMusicRhythmUnlockTrackScNotify = 7577;
	CmdMusicRhythmFinishLevelCsReq = 7575;
	CmdMusicRhythmDataCsReq = 7579;
	CmdMusicRhythmDataScRsp = 7595;
}

enum AGBBJFOIPII {
	AGBBJFOIPII_OAAPNDMLIOL = 0;
	AGBBJFOIPII_BHAHGKJBLAD = 1;
}
message MusicRhythmLevel {
	uint32 unlock_level = 2; // offset: 28
	uint32 level_id = 9; // offset: 32
	bool full_combo = 12; // offset: 24
}
message MusicRhythmGroup {
	repeated uint32 BBINFDHMGII = 2; // offset: 16
	uint32 music_group_id = 3; // offset: 40
	uint32 music_group_phase = 4; // offset: 44
	repeated uint32 EOHMNCBOALC = 10; // offset: 24
}

// Obf: EGOPMFJBPMH
// Type: Req
// CmdID: 7579
message MusicRhythmDataCsReq {
}

// Obf: NANCKMNBPCB
// Type: Rsp
// CmdID: 7595
message MusicRhythmDataScRsp {
	repeated uint32 unlock_track_list = 1; // offset: 16
	bool show_hint = 2; // offset: 72
	repeated MusicRhythmLevel level_data_list = 4; // offset: 40
	repeated MusicRhythmGroup music_group = 5; // offset: 48
	uint32 cur_song_id = 7; // offset: 64
	repeated uint32 unlock_phase_list = 8; // offset: 32
	uint32 cur_level_id = 10; // offset: 76
	uint32 retcode = 11; // offset: 68
	repeated uint32 unlock_song_list = 12; // offset: 24
}

// Obf: NGHAHHMDHJB
// Type: Req
// CmdID: 7588
message MusicRhythmStartLevelCsReq {
	uint32 level_id = 14; // offset: 24
}

// Obf: IBPLDFOPIFJ
// Type: Rsp
// CmdID: 7574
message MusicRhythmStartLevelScRsp {
	string trans_no = 6; // offset: 16
	uint32 retcode = 10; // offset: 36
	uint32 level_id = 15; // offset: 32
}

// Obf: JPOHGNLDCMM
// Type: Req
// CmdID: 7575
message MusicRhythmFinishLevelCsReq {
	bool full_combo = 4; // offset: 32
	uint32 role_star = 6; // offset: 24
	uint32 score_id = 15; // offset: 28
}

// Obf: OOIGMDLPHOD
// Type: Rsp
// CmdID: 7592
message MusicRhythmFinishLevelScRsp {
	uint32 retcode = 7; // offset: 28
	uint32 level_id = 15; // offset: 24
}

// Obf: PEMJOICNGMM
// Type: Notify
// CmdID: 7577
message MusicRhythmUnlockTrackScNotify {
	repeated uint32 PFHNONKNHAC = 11; // offset: 16
}

// Obf: KDJCAKMNDMI
// Type: Req
// CmdID: 7599
message MusicRhythmSaveSongConfigDataCsReq {
	MusicRhythmGroup BENAFNHLCEO = 6; // offset: 16
}

// Obf: HHLNMCEJIDN
// Type: Rsp
// CmdID: 7591
message MusicRhythmSaveSongConfigDataScRsp {
	uint32 EFEGLAOAJDA = 4; // offset: 28
	uint32 cur_song_id = 12; // offset: 32
	uint32 retcode = 13; // offset: 24
}

// Type: Notify
// CmdID: 7582
message MusicRhythmUnlockSongNotify {
	repeated uint32 PHCHFKMHDMA = 13; // offset: 16
}

// Type: Notify
// CmdID: 7590
message MusicRhythmMaxDifficultyLevelsUnlockNotify {
}

// Obf: DECBOGPHHLN
// Type: Notify
// CmdID: 7585
message MusicRhythmUnlockSongSfxScNotify {
	repeated uint32 PHCHFKMHDMA = 10; // offset: 16
}

// Obf: LIPONPBGOPN
enum CmdOfferingType {
	LIPONPBGOPN_NLCDGIPGFDJ = 0;
	CmdSubmitOfferingItemScRsp = 6932;
	CmdGetOfferingInfoScRsp = 6928;
	CmdOfferingInfoScNotify = 6925;
	CmdSubmitOfferingItemCsReq = 6923;
	CmdTakeOfferingRewardScRsp = 6937;
	CmdGetOfferingInfoCsReq = 6938;
	CmdTakeOfferingRewardCsReq = 6922;
}

enum OfferingState {
	OFFERING_STATE_NONE = 0;
	OFFERING_STATE_LOCK = 1;
	OFFERING_STATE_OPEN = 2;
}

// Obf: OfferingInfo
message OfferingInfo {
	uint32 level_exp = 1; // offset: 32
	repeated uint32 has_taken_reward_id_list = 3; // offset: 24
	OfferingState offering_state = 4; // offset: 44
	uint32 offering_level = 5; // offset: 40
	uint32 total_exp = 7; // offset: 48
	uint32 offering_id = 10; // offset: 36
}

// Obf: GDKCEFMKPOB
// Type: Req
// CmdID: 6938
message GetOfferingInfoCsReq {
	repeated uint32 offering_id_list = 11; // offset: 16
}

// Obf: AMFCIFOOKNF
// Type: Rsp
// CmdID: 6928
message GetOfferingInfoScRsp {
	repeated OfferingInfo offering_info_list = 3; // offset: 24
	uint32 retcode = 5; // offset: 32
}

// Obf: COAKAAHCAJO
// Type: Req
// CmdID: 6923
message SubmitOfferingItemCsReq {
	uint32 offering_id = 10; // offset: 24
	uint32 interacted_prop_entity_id = 11; // offset: 28
}

// Obf: LDGBPNABNKL
// Type: Rsp
// CmdID: 6932
message SubmitOfferingItemScRsp {
	uint32 retcode = 12; // offset: 32
	OfferingInfo offering_info = 13; // offset: 16
}

// Obf: OLFFBCHOLMN
// Type: Req
// CmdID: 6922
message TakeOfferingRewardCsReq {
	uint32 offering_id = 1; // offset: 36
	repeated uint32 take_reward_level_list = 8; // offset: 16
	uint32 interacted_prop_entity_id = 14; // offset: 32
}

// Obf: FBBGFEKMMIJ
// Type: Rsp
// CmdID: 6937
message TakeOfferingRewardScRsp {
	ItemList reward = 4; // offset: 24
	uint32 retcode = 12; // offset: 40
	OfferingInfo offering_info = 13; // offset: 32
}

// Obf: KAFLJMENFBA
// Type: Notify
// CmdID: 6925
message OfferingInfoScNotify {
	OfferingInfo offering_info = 9; // offset: 24
}

// Obf: KMGNIGGHMBM
enum CmdPamMissionType {
	KMGNIGGHMBM_NLCDGIPGFDJ = 0;
	CmdSyncAcceptedPamMissionNotify = 4093;
	CmdAcceptedPamMissionExpireCsReq = 4025;
	CmdAcceptedPamMissionExpireScRsp = 4078;
}

// Type: Req
// CmdID: 4025
message AcceptedPamMissionExpireCsReq {
	uint32 main_mission_id = 15; // offset: 24
}

// Type: Rsp
// CmdID: 4078
message AcceptedPamMissionExpireScRsp {
	uint32 retcode = 4; // offset: 24
}

// Obf: CLLPLCICDOB
// Type: Notify
// CmdID: 4093
message SyncAcceptedPamMissionNotify {
	uint32 main_mission_id = 1; // offset: 32
	uint64 expire_time = 13; // offset: 24
}

// Obf: LIKMDKALNNI
enum CmdPamSkinType {
	LIKMDKALNNI_NLCDGIPGFDJ = 0;
	CmdUnlockPamSkinScNotify = 8122;
	CmdSelectPamSkinCsReq = 8123;
	CmdGetPamSkinDataScRsp = 8128;
	CmdSelectPamSkinScRsp = 8132;
	CmdGetPamSkinDataCsReq = 8138;
}

// Obf: NCHNMOMFEFO
// Type: Req
// CmdID: 8138
message GetPamSkinDataCsReq {
}

// Obf: FCFKMMCAFKA
// Type: Rsp
// CmdID: 8128
message GetPamSkinDataScRsp {
	uint32 retcode = 3; // offset: 32
	repeated uint32 unlock_skin_list = 6; // offset: 16
	uint32 cur_skin = 8; // offset: 36
}

// Obf: MGNHCFALBAP
// Type: Req
// CmdID: 8123
message SelectPamSkinCsReq {
	uint32 pam_skin = 3; // offset: 24
}

// Obf: BDJOLGFOHLM
// Type: Rsp
// CmdID: 8132
message SelectPamSkinScRsp {
	uint32 retcode = 2; // offset: 24
	uint32 set_skin = 3; // offset: 32
	uint32 cur_skin = 5; // offset: 28
}

// Obf: GDEKLGACBCM
// Type: Notify
// CmdID: 8122
message UnlockPamSkinScNotify {
	uint32 pam_skin = 3; // offset: 24
}

// Obf: KCLDFMNECJB
enum CmdParkourType {
	KCLDFMNECJB_NLCDGIPGFDJ = 0;
	CmdParkourEndLevelScRsp = 8384;
	CmdParkourStartLevelScRsp = 8397;
	CmdParkourGetDataScRsp = 8388;
	CmdParkourGetDataCsReq = 8398;
	CmdParkourGetRankingInfoScRsp = 8392;
	CmdParkourStartLevelCsReq = 8382;
	CmdParkourGetRankingInfoCsReq = 8383;
	CmdParkourEndLevelCsReq = 8385;
}

enum OHFECKKADEK {
	OHFECKKADEK_NLCDGIPGFDJ = 0;
	OHFECKKADEK_CIHFGJDCHIA = 1;
	OHFECKKADEK_INCLHHDFCEL = 2;
}

enum EJEGHJPAMPI {
	EJEGHJPAMPI_BACKHOLLHDC = 0;
	EJEGHJPAMPI_HAAFIJPEJOO = 1;
	EJEGHJPAMPI_FPPDHDLGACM = 2;
}
message BADOONPCDLO {
	bool AJGOLAKNGPA = 1; // offset: 24
	uint32 level_id = 8; // offset: 28
	uint32 time = 10; // offset: 32
}

// Obf: JNIAPEEOKJN
// Type: Req
// CmdID: 8398
message ParkourGetDataCsReq {
}

// Obf: KKKCJLHIGKO
// Type: Rsp
// CmdID: 8388
message ParkourGetDataScRsp {
	repeated BADOONPCDLO CGIPFMLDPNA = 8; // offset: 24
	uint32 retcode = 12; // offset: 32
}
message HANMCLKOCBO {
	uint32 time = 2; // offset: 28
	uint32 id = 7; // offset: 24
	uint32 LJJGFIPLDLI = 14; // offset: 32
}
message COIMBCBMNIE {
	repeated HANMCLKOCBO BEDHEKAGAPE = 2; // offset: 16
	uint32 level_id = 11; // offset: 32
}

// Obf: CLOIKIFPAJC
// Type: Req
// CmdID: 8383
message ParkourGetRankingInfoCsReq {
}

// Obf: KIAGIOBGGNK
// Type: Rsp
// CmdID: 8392
message ParkourGetRankingInfoScRsp {
	COIMBCBMNIE LGFNFABAAGA = 1; // offset: 16
	repeated COIMBCBMNIE JNMFKJHCOEG = 5; // offset: 32
	uint32 retcode = 8; // offset: 40
}

// Obf: HJELNANIFIE
// Type: Req
// CmdID: 8382
message ParkourStartLevelCsReq {
	uint32 CEKKJHBNEOD = 7; // offset: 24
	uint32 level_id = 11; // offset: 28
}

// Obf: FLAIJDHDEBI
// Type: Rsp
// CmdID: 8397
message ParkourStartLevelScRsp {
	uint32 level_id = 2; // offset: 28
	uint32 CEKKJHBNEOD = 4; // offset: 32
	uint32 retcode = 10; // offset: 24
}
message ABEBEOKFKFF {
	uint32 cnt = 3; // offset: 24
	EJEGHJPAMPI type = 12; // offset: 28
}
message BDEOLCNPBPP {
	uint32 id = 8; // offset: 28
	uint32 cnt = 12; // offset: 24
}
message OIHEIIDJOLI {
	repeated BDEOLCNPBPP OECOCOPOOHO = 1; // offset: 16
	uint32 FPIDONGEKFO = 2; // offset: 52
	uint32 MGPMDJOMMOK = 3; // offset: 68
	uint32 BAPPKHBKOAG = 4; // offset: 60
	uint32 NCMMFCJGDKA = 5; // offset: 64
	uint32 DHJEALPGPJK = 7; // offset: 56
	uint32 GCAFHJIAMIL = 8; // offset: 32
	uint32 GBOLMEOHEOB = 12; // offset: 40
	uint32 GOMFPKDIIKA = 13; // offset: 48
	uint32 PLOEMBOCIGE = 14; // offset: 36
	uint32 GPHNIOGICJP = 15; // offset: 44
}
message IJJFBFPCBCI {
	uint32 IEOJFKHKBEP = 2; // offset: 36
	uint32 KBFHFLODGIA = 3; // offset: 24
	uint32 ICBKCJKHNBP = 7; // offset: 32
	uint32 BLEFGKAGDEN = 13; // offset: 28
}

// Obf: BLFMKDAGCFO
// Type: Req
// CmdID: 8385
message ParkourEndLevelCsReq {
	uint32 time = 1; // offset: 52
	OHFECKKADEK end_reason = 2; // offset: 56
	uint32 total_time = 3; // offset: 60
	uint32 KMGMFCJIAPI = 4; // offset: 72
	uint32 rank = 5; // offset: 48
	OIHEIIDJOLI PKMAFFMMMAE = 6; // offset: 24
	uint32 CEKKJHBNEOD = 7; // offset: 64
	uint32 level_id = 12; // offset: 68
	repeated ABEBEOKFKFF IDLJKFOKBJD = 14; // offset: 40
	repeated IJJFBFPCBCI FENPLCNDKBJ = 15; // offset: 32
}

// Obf: EJNFAIOPNEO
// Type: Rsp
// CmdID: 8384
message ParkourEndLevelScRsp {
	OHFECKKADEK end_reason = 1; // offset: 40
	bool ADJLGNBJAOC = 2; // offset: 36
	uint32 level_id = 4; // offset: 48
	uint32 time = 5; // offset: 44
	BADOONPCDLO ENKCCEACJKL = 6; // offset: 24
	uint32 retcode = 8; // offset: 32
	bool AJGOLAKNGPA = 10; // offset: 37
}

// Obf: MAMMDADNGLP
enum CmdPetType {
	MAMMDADNGLP_NLCDGIPGFDJ = 0;
	CmdSummonPetCsReq = 7612;
	CmdSummonPetScRsp = 7607;
	CmdGetPetDataScRsp = 7621;
	CmdGetPetDataCsReq = 7608;
	CmdCurPetChangedScNotify = 7619;
	CmdRecallPetScRsp = 7609;
	CmdRecallPetCsReq = 7605;
}

enum NDGKMJPFFLI {
	NDGKMJPFFLI_NLCDGIPGFDJ = 0;
	NDGKMJPFFLI_LDPNBEGMBJL = 1;
	NDGKMJPFFLI_ANAJMPDKCOD = 2;
}

// Obf: OFKBDMOJBCP
// Type: Req
// CmdID: 7608
message GetPetDataCsReq {
}

// Obf: IHFGDIHNHMC
// Type: Rsp
// CmdID: 7621
message GetPetDataScRsp {
	repeated uint32 unlocked_pet_id = 3; // offset: 24
	uint32 cur_pet_id = 4; // offset: 36
	uint32 retcode = 5; // offset: 32
}

// Obf: LHENKFJFGKH
// Type: Req
// CmdID: 7612
message SummonPetCsReq {
	uint32 summoned_pet_id = 7; // offset: 24
}

// Obf: MPDGMIHGIFG
// Type: Rsp
// CmdID: 7607
message SummonPetScRsp {
	uint32 cur_pet_id = 6; // offset: 32
	uint32 select_pet_id = 7; // offset: 28
	uint32 retcode = 15; // offset: 24
}

// Obf: NCLGCOEMLIF
// Type: Req
// CmdID: 7605
message RecallPetCsReq {
	uint32 summoned_pet_id = 3; // offset: 24
}

// Obf: DJNNFOIKDKF
// Type: Rsp
// CmdID: 7609
message RecallPetScRsp {
	uint32 retcode = 4; // offset: 28
	uint32 cur_pet_id = 8; // offset: 24
	uint32 select_pet_id = 14; // offset: 32
}

// Type: Notify
// CmdID: 7619
message CurPetChangedScNotify {
	uint32 cur_pet_id = 14; // offset: 24
}

// Obf: JADIINBLALB
enum CmdPhoneType {
	JADIINBLALB_NLCDGIPGFDJ = 0;
	CmdSelectPhoneThemeCsReq = 5181;
	CmdGetPhoneDataScRsp = 5178;
	CmdGetPhoneDataCsReq = 5125;
	CmdSelectPhoneCaseScRsp = 5113;
	CmdSelectPhoneThemeScRsp = 5186;
	CmdSelectPhoneCaseCsReq = 5126;
	CmdSelectChatBubbleCsReq = 5193;
	CmdUnlockChatBubbleScNotify = 5188;
	CmdUnlockPhoneCaseScNotify = 5171;
	CmdUnlockPhoneThemeScNotify = 5147;
	CmdSelectChatBubbleScRsp = 5158;
}

// Obf: IJCGOCNMJIN
// Type: Req
// CmdID: 5125
message GetPhoneDataCsReq {
}

// Obf: HNPKMPJPIPC
// Type: Rsp
// CmdID: 5178
message GetPhoneDataScRsp {
	repeated uint32 owned_phone_cases = 1; // offset: 40
	uint32 retcode = 2; // offset: 48
	uint32 cur_phone_theme = 3; // offset: 52
	repeated uint32 owned_phone_themes = 6; // offset: 16
	uint32 cur_phone_case = 10; // offset: 60
	uint32 cur_chat_bubble = 11; // offset: 56
	repeated uint32 owned_chat_bubbles = 14; // offset: 24
}

// Obf: BPGMIPJINKJ
// Type: Req
// CmdID: 5193
message SelectChatBubbleCsReq {
	uint32 bubble_id = 10; // offset: 24
}

// Obf: IEIEEEFKLFA
// Type: Rsp
// CmdID: 5158
message SelectChatBubbleScRsp {
	uint32 retcode = 3; // offset: 28
	uint32 NGJMMMBJFHD = 4; // offset: 24
	uint32 cur_chat_bubble = 6; // offset: 32
}

// Obf: HCNFKLDECJE
// Type: Notify
// CmdID: 5188
message UnlockChatBubbleScNotify {
	uint32 bubble_id = 9; // offset: 24
}

// Obf: BJHGBFMIPFN
// Type: Req
// CmdID: 5181
message SelectPhoneThemeCsReq {
	uint32 theme_id = 10; // offset: 24
}

// Obf: PGNEMAJPKND
// Type: Rsp
// CmdID: 5186
message SelectPhoneThemeScRsp {
	uint32 retcode = 7; // offset: 24
	uint32 cur_phone_theme = 12; // offset: 32
	uint32 NNOHELHPJOM = 13; // offset: 28
}

// Obf: HMOEGOMDNAA
// Type: Notify
// CmdID: 5147
message UnlockPhoneThemeScNotify {
	uint32 theme_id = 4; // offset: 24
}

// Obf: MEGMIKNHDPO
// Type: Req
// CmdID: 5126
message SelectPhoneCaseCsReq {
	uint32 phone_case_id = 6; // offset: 24
}

// Obf: IMOOBICJGGE
// Type: Rsp
// CmdID: 5113
message SelectPhoneCaseScRsp {
	uint32 retcode = 1; // offset: 24
	uint32 cur_phone_case = 9; // offset: 28
	uint32 NAMPHKPIOBA = 14; // offset: 32
}

// Obf: CIGKGOOHGAG
// Type: Notify
// CmdID: 5171
message UnlockPhoneCaseScNotify {
	uint32 phone_case_id = 7; // offset: 24
}

// Obf: DDAEJOHMJBN
enum CmdPixAirType {
	DDAEJOHMJBN_NLCDGIPGFDJ = 0;
	CmdPixAirReenterStageCsReq = 9777;
	CmdFCIBLHJDPID = 9803;
	CmdIAOPGEAFECL = 9784;
	CmdHPEKDMBCAEI = 9772;
	CmdPixAirSwapEquipCsReq = 9790;
	DDAEJOHMJBN_DJFANBNMAKN = 9785;
	CmdEKMNFJIPCMI = 9805;
	CmdHENHAIFODIG = 9794;
	CmdPixAirGetDataCsReq = 9779;
	CmdPixAirSwapEquipScRsp = 9787;
	CmdILBJGGEHAEK = 9799;
	CmdLIFDLLPAAKF = 9818;
	CmdPixAirUnlockPlaneScRsp = 9788;
	CmdPixAirSyncChangeScNotify = 9807;
	CmdEKJMIJBIIHO = 9810;
	CmdIIFHCHDPKIA = 9791;
	CmdNBBINLLONGI = 9776;
	CmdPixAirGetDataScRsp = 9793;
	CmdPixAirUnlockPlaneCsReq = 9778;
	CmdKNHFDINIJOL = 9813;
	CmdGNCJNHIOKDL = 9783;
	CmdPixAirStartStageScRsp = 9789;
	CmdPixAirStartStageCsReq = 9814;
	CmdPixAirReenterStageScRsp = 9780;
	CmdBFHPBLANIKG = 9773;
}

enum JDHJMNAGIIA {
	JDHJMNAGIIA_CDCHHNPNPLN = 0;
	JDHJMNAGIIA_EECEDOKMPPI = 1;
	JDHJMNAGIIA_PGGEODDBMMK = 2;
	JDHJMNAGIIA_PJGPLEAPECI = 3;
	JDHJMNAGIIA_BFLLFGOJPCG = 4;
	JDHJMNAGIIA_JAOLOFNICGD = 5;
	JDHJMNAGIIA_KAPHNBBNHBP = 6;
	JDHJMNAGIIA_DAJDHGGFJGK = 7;
	JDHJMNAGIIA_KEDPGJCCLDC = 8;
	JDHJMNAGIIA_MDMMEAKJNOC = 9;
	JDHJMNAGIIA_CDKPJHAEMFE = 10;
	JDHJMNAGIIA_CCJKIBNAFPJ = 11;
	JDHJMNAGIIA_NIBDPFIMOFG = 12;
	JDHJMNAGIIA_KGJCNJPFCNO = 13;
	JDHJMNAGIIA_CPBNIGEIKJA = 14;
}

enum GJIGHKNMILJ {
	GJIGHKNMILJ_NCMIMMDPHFM = 0;
	GJIGHKNMILJ_PJFGLBEKECE = 1;
	GJIGHKNMILJ_INCLHHDFCEL = 2;
	GJIGHKNMILJ_BGDCOCGIONK = 3;
}

// Obf: OFNMDDJOJEO
// Type: Req
// CmdID: 9779
message PixAirGetDataCsReq {
}

// Obf: IOAFKPDEIEA
// Type: Rsp
// CmdID: 9793
message PixAirGetDataScRsp {
	NMACHAFCGNI IEIGEDABKAD = 1; // offset: 32
	repeated uint32 PGMIJBOGIKN = 5; // offset: 48
	uint32 score_id = 6; // offset: 56
	NAJFNKIEEDM JCOBJAMPOAL = 7; // offset: 16
	repeated uint32 OPOJIGCHGDO = 14; // offset: 24
	uint32 retcode = 15; // offset: 60
}
message NMACHAFCGNI {
	uint32 ALJNIHNLNMA = 1; // offset: 36
	IDJALKEGPLI basic = 7; // offset: 16
	uint32 MFPOKNMFNGM = 8; // offset: 32
	uint32 stage_id = 10; // offset: 40
}
message NAJFNKIEEDM {
	repeated uint32 BLHJIPBHHFO = 10; // offset: 16
}
message HGNAHHFBMMN {
	LHJDEOLKHKB JGEMNOLFNIE = 1; // offset: 48
	IDJALKEGPLI basic = 2; // offset: 64
	uint32 AJHDCEGIGMC = 3; // offset: 80
	uint32 MFPOKNMFNGM = 4; // offset: 92
	uint32 GJLDDMIIILF = 5; // offset: 84
	uint32 stage_id = 6; // offset: 88
	repeated KVP switch_list = 7; // offset: 40
	string trans_no = 9; // offset: 16
	uint32 ALJNIHNLNMA = 10; // offset: 76
	FFKHFDJFAGM FMIGOKIDKJL = 11; // offset: 24
	BMOIPALHBJN NGNJHMEOHBD = 13; // offset: 32
	uint32 PAEAKCCACOP = 15; // offset: 72
}
message IDJALKEGPLI {
	repeated KVP DCJDCPMKEPN = 9; // offset: 16
	uint32 plane_id = 14; // offset: 32
}
message LHJDEOLKHKB {
	repeated JPEBEDHMNLA DPPJILKLJAG = 3; // offset: 24
	repeated JPEBEDHMNLA MKJECBOMHPP = 8; // offset: 32
	uint32 slot_num = 10; // offset: 40
}
message JPEBEDHMNLA {
	uint32 unique_id = 2; // offset: 40
	uint32 pos_index = 3; // offset: 36
	uint32 grid_fight_equipment_id = 8; // offset: 32
	uint32 CCBIIDDBFGK = 10; // offset: 24
	uint32 level = 13; // offset: 28
}
message GCINPDAAELN {
	repeated JPEBEDHMNLA grid_fight_equipment_list = 9; // offset: 24
}
message BMOIPALHBJN {
	repeated NJHFBDDHCEN OGDKJPDFFAI = 4; // offset: 16
	uint32 JOMDKGINNEK = 8; // offset: 32
	uint32 shop_id = 11; // offset: 40
	uint32 AAIODNCLAIP = 12; // offset: 36
}
message NNFFGHJKPJD {
	uint32 JOMDKGINNEK = 2; // offset: 32
	uint32 shop_id = 7; // offset: 40
	uint32 AAIODNCLAIP = 14; // offset: 36
	repeated NJHFBDDHCEN OGDKJPDFFAI = 15; // offset: 16
}
message NJHFBDDHCEN {
	bool LHGIFDNPIDE = 4; // offset: 28
	uint32 grid_fight_equipment_id = 5; // offset: 24
	uint32 level = 11; // offset: 32
}
message EIFBMCGPNMG {
	map<uint32, uint32> EOPNCAMILJF = 7; // offset: 16
}

// Obf: INOEJKDIMKO
// Type: Notify
// CmdID: 9807
message PixAirSyncChangeScNotify {
	repeated KLBPBDLHKBG DGNGMJMPFGK = 8; // offset: 16
}
message KLBPBDLHKBG {
	JDHJMNAGIIA source_type = 5; // offset: 36
	uint32 BNEFLBPCPOI = 10; // offset: 32
	oneof MMCGBGDJIPN {
		FFKHFDJFAGM FMIGOKIDKJL = 14; // offset: 16
		NBKKABHMMPP IANBCDJPDJF = 7; // offset: 16
		GCINPDAAELN EKEFDIEPHEE = 2; // offset: 16
		uint32 FKIAFJBMAPI = 9; // offset: 16
		IMAGFGIHLJC JKPINLKEOOK = 12; // offset: 16
		EIFBMCGPNMG DLOHBPGEMFF = 13; // offset: 16
		NNFFGHJKPJD KJHMPBOIGGE = 347; // offset: 16
		uint32 JOINHCDHNNL = 164; // offset: 16
		uint32 PMFBIGLPJJA = 730; // offset: 16
		uint32 OEKKEIMGBNO = 257; // offset: 16
	}
}
message IMAGFGIHLJC {
	uint32 CDMFHNGEFCN = 4; // offset: 24
	uint32 AJHDCEGIGMC = 7; // offset: 32
	uint32 area_id = 8; // offset: 28
}

// Obf: GHMOAPECAPB
// Type: Req
// CmdID: 9814
message PixAirStartStageCsReq {
	uint32 stage_id = 1; // offset: 24
	bool EMMGHDLIPOH = 6; // offset: 32
	uint32 ALJNIHNLNMA = 7; // offset: 36
	uint32 plane_id = 8; // offset: 28
}

// Obf: OMPGJHBEJAB
// Type: Rsp
// CmdID: 9789
message PixAirStartStageScRsp {
	uint32 retcode = 7; // offset: 32
	bool EMMGHDLIPOH = 9; // offset: 36
	HGNAHHFBMMN stage_info = 14; // offset: 24
}
message NBKKABHMMPP {
	uint32 NJPMPAAGCCD = 1; // offset: 56
	uint32 score_id = 4; // offset: 36
	ItemList reward = 5; // offset: 24
	uint32 ALOFCOLHAGA = 6; // offset: 40
	uint32 GMLCJEOOCHJ = 7; // offset: 52
	GJIGHKNMILJ reason = 11; // offset: 44
	uint32 OACBLHIIIEH = 223; // offset: 48
	uint32 HGBHCLHCGBB = 555; // offset: 32
}

// Type: Req
// CmdID: 9818
message LIFDLLPAAKF {
}

// Type: Rsp
// CmdID: 9773
message BFHPBLANIKG {
	uint32 retcode = 9; // offset: 24
}

// Obf: BFMGLOCNHMO
// Type: Req
// CmdID: 9777
message PixAirReenterStageCsReq {
}

// Obf: GBMIHCDKOKK
// Type: Rsp
// CmdID: 9780
message PixAirReenterStageScRsp {
	uint32 retcode = 6; // offset: 32
	HGNAHHFBMMN stage_info = 14; // offset: 16
}
message EPADPABCFGH {
	uint32 pos_index = 3; // offset: 32
	uint32 IAAHNOFKNGN = 4; // offset: 28
	uint32 unique_id = 5; // offset: 24
}

// Obf: DFOAHLEOOIK
// Type: Req
// CmdID: 9790
message PixAirSwapEquipCsReq {
	repeated EPADPABCFGH MJLGNPMNMOP = 13; // offset: 16
}

// Obf: LABAJFDICMD
// Type: Rsp
// CmdID: 9787
message PixAirSwapEquipScRsp {
	uint32 retcode = 11; // offset: 32
	repeated EPADPABCFGH MJLGNPMNMOP = 15; // offset: 16
}

// Type: Req
// CmdID: 9799
message ILBJGGEHAEK {
	uint32 unique_id = 12; // offset: 24
}

// Type: Rsp
// CmdID: 9803
message FCIBLHJDPID {
	uint32 retcode = 4; // offset: 24
}

// Type: Req
// CmdID: 9776
message NBBINLLONGI {
	uint32 CDCIOPBFKGB = 4; // offset: 24
}

// Type: Rsp
// CmdID: 9772
message HPEKDMBCAEI {
	uint32 retcode = 15; // offset: 24
}

// Type: Req
// CmdID: 9784
message IAOPGEAFECL {
}

// Type: Rsp
// CmdID: 9805
message EKMNFJIPCMI {
	uint32 retcode = 14; // offset: 24
}
message FFKHFDJFAGM {
	uint32 queue_position = 12; // offset: 36
	oneof MMCGBGDJIPN {
		CKICDPIJIMF BACBKGJJOGA = 2; // offset: 16
		PKPHOOGGPOL IBIFHOIPAGE = 10; // offset: 16
		FJGMGGIGLPD MOFNIOJHBBL = 15; // offset: 16
		KAAJEKKIDIE IPKGIIJEPAJ = 14; // offset: 16
		ALLFGCIALIJ JFGIMDGOMBH = 9; // offset: 16
		EPBFAAHFDNF OOOACLEFDGM = 13; // offset: 16
		HIEACFOEMCE ADMICNGJLOI = 783; // offset: 16
		CCPCAIGEBCB AOEMGEFGIFG = 1021; // offset: 16
	}
}

// Type: Req
// CmdID: 9791
message IIFHCHDPKIA {
	uint32 queue_position = 3; // offset: 32
	oneof MMCGBGDJIPN {
		AGBPBAOCCJF DHJNFOKBPNC = 4; // offset: 16
		OHPMDJFALNH JEIODBPCKNB = 8; // offset: 16
		MOJCEJIPPGO MOFNIOJHBBL = 13; // offset: 16
		AEGGFGBNLPE IPKGIIJEPAJ = 15; // offset: 16
		LJGKOGKEDOA JFGIMDGOMBH = 14; // offset: 16
		HLDLJBFIMOO OOOACLEFDGM = 11; // offset: 16
		GANGPOOHAKI ADMICNGJLOI = 508; // offset: 16
		GDNDBHGJBLF AOEMGEFGIFG = 713; // offset: 16
	}
}

// Type: Rsp
// CmdID: 9794
message HENHAIFODIG {
	uint32 retcode = 5; // offset: 24
}
message CKICDPIJIMF {
	uint32 battle_id = 2; // offset: 24
}
message AGBPBAOCCJF {
	bool is_win = 7; // offset: 24
}
message FJGMGGIGLPD {
}
message MOJCEJIPPGO {
}
message AOPODAHBPFH {
	uint32 content_id = 3; // offset: 24
	uint32 content_type = 14; // offset: 28
}
message PKPHOOGGPOL {
	repeated AOPODAHBPFH message_datas = 5; // offset: 24
}
message OHPMDJFALNH {
	uint32 content_id = 15; // offset: 24
}
message EMHEOJNCGFH {
	uint32 level = 4; // offset: 24
	uint32 grid_fight_equipment_id = 14; // offset: 28
}
message KAAJEKKIDIE {
	EMHEOJNCGFH equip = 14; // offset: 16
}
message AEGGFGBNLPE {
	bool FOGGEJIIJCM = 7; // offset: 24
}
message ALLFGCIALIJ {
	uint32 JNBIALMKFCL = 4; // offset: 32
	repeated EMHEOJNCGFH grid_fight_equipment_list = 10; // offset: 24
}
message LJGKOGKEDOA {
	uint32 OJEIHPEIJCO = 15; // offset: 24
}
message MGCPEPBPMNG {
	uint32 content_id = 10; // offset: 28
	uint32 HAFOKMHCGFM = 13; // offset: 24
}
message EPBFAAHFDNF {
	repeated MGCPEPBPMNG KFNMIEMBJGD = 12; // offset: 16
	uint32 event_id = 15; // offset: 32
}
message HLDLJBFIMOO {
	uint32 HAFOKMHCGFM = 13; // offset: 24
}
message HIEACFOEMCE {
	uint32 HICEJEJNOLE = 7; // offset: 24
}
message GANGPOOHAKI {
	uint32 PEBCBLBLMPH = 1; // offset: 24
}
message CCPCAIGEBCB {
	uint32 CCBIIDDBFGK = 12; // offset: 24
}
message GDNDBHGJBLF {
	uint32 PEBCBLBLMPH = 6; // offset: 24
}
message GBMAHPJPGLM {
	uint32 CKHCLKOALKE = 11; // offset: 24
}

// Type: Rsp
// CmdID: 9783
message GNCJNHIOKDL {
	uint32 CKHCLKOALKE = 2; // offset: 32
	uint32 retcode = 8; // offset: 40
	oneof PGNIENCDODA {
		uint32 ECHFGJHHGOG = 1; // offset: 16
		uint32 NDEDLLMEFBJ = 9; // offset: 16
		KVP CJKEIMBCMEP = 3; // offset: 16
	}
}

// Obf: NIAFAFFMEMM
// Type: Req
// CmdID: 9778
message PixAirUnlockPlaneCsReq {
	uint32 plane_id = 8; // offset: 24
}

// Obf: GIHJNDBDJJI
// Type: Rsp
// CmdID: 9788
message PixAirUnlockPlaneScRsp {
	uint32 plane_id = 6; // offset: 24
	uint32 retcode = 8; // offset: 28
}

// Type: Req
// CmdID: 9813
message KNHFDINIJOL {
}

// Type: Rsp
// CmdID: 9810
message EKJMIJBIIHO {
	uint32 retcode = 11; // offset: 24
}

// Obf: FEHEIOMNGHD
enum CmdPlanetFesType {
	FEHEIOMNGHD_NLCDGIPGFDJ = 0;
	CmdPlanetFesTakeRegionPhaseRewardCsReq = 8232;
	CmdPOFDBDHOJNG = 8248;
	CmdPlanetFesSkillLevelUpScRsp = 8222;
	CmdLOFFNNNIDMM = 8210;
	CmdOLENIPLHIPI = 8221;
	CmdPlanetFesSetCustomKeyValueScRsp = 8211;
	CmdPlanetFesSkillLevelUpCsReq = 8242;
	CmdPlanetFesGetFriendRankingInfoListScRsp = 8238;
	CmdPlanetFesFriendRankingInfoChangeScNotify = 8227;
	CmdPlanetFesBonusEventInteractCsReq = 8250;
	CmdGOMIDGNOENH = 8244;
	CmdPlanetFesGetAvatarStatScRsp = 8225;
	CmdPlanetFesDeliverPamCargoCsReq = 8243;
	CmdGHONFFLAMHB = 8249;
	CmdIHHBDEJOCGI = 8224;
	CmdECJCIAPBFDJ = 8203;
	CmdPlanetFesGetAvatarStatCsReq = 8231;
	CmdGetPlanetFesDataScRsp = 8223;
	CmdPlanetFesGetBusinessDayInfoCsReq = 8215;
	CmdPlanetFesTakeRegionPhaseRewardScRsp = 8236;
	CmdPlanetFesTakeQuestRewardScRsp = 8235;
	CmdPlanetFesAvatarLevelUpCsReq = 8206;
	CmdPlanetFesUseItemScRsp = 8212;
	CmdPlanetFesDoGachaScRsp = 8233;
	CmdPlanetFesTakeQuestRewardCsReq = 8214;
	CmdPlanetFesChooseAvatarEventOptionCsReq = 8226;
	CmdPlanetFesBusinessDayRefreshEventCsReq = 8208;
	CmdPlanetFesGameBingoFlipCsReq = 8216;
	CmdPlanetFesGameBingoFlipScRsp = 8201;
	CmdMOOLKFODKIK = 8220;
	CmdBGNAMLHFLDB = 8246;
	CmdPlanetFesGetFriendRankingInfoListCsReq = 8234;
	CmdNLAGKOJKHCN = 8217;
	CmdPlanetFesGetBusinessDayInfoScRsp = 8213;
	CmdPlanetFesSetCustomKeyValueCsReq = 8228;
	CmdDHHFAMDCDPK = 8219;
	CmdFPMMPGAOGCH = 8207;
	CmdPlanetFesSyncChangeScNotify = 8237;
	CmdPlanetFesStartMiniGameScRsp = 8205;
	CmdPlanetFesUseItemCsReq = 8241;
	CmdPlanetFesChooseAvatarEventOptionScRsp = 8245;
	CmdPlanetFesDeliverPamCargoScRsp = 8240;
	CmdPlanetFesAvatarLevelUpScRsp = 8202;
	CmdPlanetFesStartMiniGameCsReq = 8230;
	CmdGetPlanetFesDataCsReq = 8209;
	CmdPlanetFesDealAvatarEventOptionItemScRsp = 8247;
	CmdPlanetFesDealAvatarEventOptionItemCsReq = 8239;
	CmdPlanetFesBonusEventInteractScRsp = 8204;
	CmdPlanetFesDoGachaCsReq = 8229;
	CmdPlanetFesBusinessDayRefreshEventScRsp = 8218;
}

// Obf: CNLAEDCLICP
enum PlanetFesQuestState {
	CNLAEDCLICP_MDPJCGEMOLG = 0;
	CNLAEDCLICP_GBJIHFOIGHD = 1;
	CNLAEDCLICP_BILKPNLJBFA = 2;
	CNLAEDCLICP_CGIIKAHOIKL = 3;
}

enum GJJEOANEDDO {
	GJJEOANEDDO_NLCDGIPGFDJ = 0;
	GJJEOANEDDO_GHDEPAGOKBE = 1;
	GJJEOANEDDO_GGEKFBGIJID = 2;
}

// Obf: FEGJOAPIMCK
enum PlanetFesCustomKey {
	FEGJOAPIMCK_NLCDGIPGFDJ = 0;
	FEGJOAPIMCK_HHBCDDHGFEO = 1;
	FEGJOAPIMCK_DHHOGPFPJGL = 2;
	FEGJOAPIMCK_OANGMEDLOBL = 3;
	FEGJOAPIMCK_CFOLBLCAPFB = 4;
}

// Obf: JMAHAKPLAAD
// Type: Req
// CmdID: 8209
message GetPlanetFesDataCsReq {
}

// Obf: MNNDMCHALGC
// Type: Rsp
// CmdID: 8223
message GetPlanetFesDataScRsp {
	PPAIELAKIJD BBEKBJPHEJK = 1; // offset: 80
	repeated KVP custom_value_list = 2; // offset: 88
	PLOFKJDKEPN FEOONKKLCHA = 3; // offset: 56
	PHCPOIHAPGP COGGJELNFCN = 5; // offset: 64
	OBEHBNOCLMM LCPEDLCOMFE = 6; // offset: 24
	NOLLHKIMDOC CCFGCCMEFCI = 8; // offset: 16
	KCMJJLJCHHP NJFGGOOMGCD = 9; // offset: 96
	CHBCJNLOLMB OPJLJOPBGOJ = 10; // offset: 104
	BLDIHADJKJF OEIBHLMDJKA = 11; // offset: 112
	BAGAOALHAJI skill_info = 12; // offset: 32
	JMBNHAFHIHM IEKDOJDPMEB = 13; // offset: 48
	uint32 retcode = 14; // offset: 120
	KNECKDAOKOA OCHNMGMDHME = 15; // offset: 72
}
message NCFKHDIKCNI {
	repeated uint32 GFKAFIFMHNF = 8; // offset: 24
}

// Obf: BPDMBMPFPEB
// Type: Notify
// CmdID: 8237
message PlanetFesSyncChangeScNotify {
	repeated LEJNBBLNNDM DGNGMJMPFGK = 10; // offset: 16
}
message OBEBKODGODB {
	uint32 EMPDMDNDLHE = 1; // offset: 32
	uint32 EPFHBGNGBBK = 3; // offset: 28
	uint32 BNEFLBPCPOI = 12; // offset: 24
}
message LEJNBBLNNDM {
	OBEBKODGODB source = 6; // offset: 24
	EPKGFJDJMHM detail = 7; // offset: 32
}
message DAGGFIOGHGE {
	int64 MGHNNENOOGB = 1; // offset: 48
	NCFKHDIKCNI GAMNCJJJPEN = 6; // offset: 16
	uint32 FNABEJNJBKN = 9; // offset: 40
	NCFKHDIKCNI EJPENDJNLIH = 13; // offset: 32
}
message JMBNHAFHIHM {
	repeated DAGGFIOGHGE GOIJOOCHJDP = 14; // offset: 16
}
message CPHOIPHAPDJ {
	uint32 role_star = 6; // offset: 28
	uint32 PLEEMBMPICA = 9; // offset: 32
	uint32 level = 12; // offset: 36
	uint32 avatar_id = 13; // offset: 24
}
message PHCPOIHAPGP {
	repeated CPHOIPHAPDJ avatar_list = 7; // offset: 24
}
message FMKMEFMOJGJ {
	uint32 item_count = 1; // offset: 24
	uint32 item_id = 6; // offset: 28
}
message KNECKDAOKOA {
	NCFKHDIKCNI item_value = 3; // offset: 24
	NCFKHDIKCNI GJPLOMMEBGM = 8; // offset: 16
	repeated FMKMEFMOJGJ item_list = 15; // offset: 40
}
message CHBCJNLOLMB {
	repeated KICPDGKGGHO LDCJONHGDAN = 12; // offset: 16
}
message KICPDGKGGHO {
	uint64 unique_id = 2; // offset: 40
	uint32 config_id = 8; // offset: 48
	repeated IEDAMBICKBB KABJOHKOEFN = 9; // offset: 32
	OBEBKODGODB source = 10; // offset: 16
}
message IEDAMBICKBB {
	oneof KKNBOACNCON {
		int64 KHCGOMAJDGL = 9; // offset: 24
	}
}
message JHACFFJIPHK {
	PlanetFesQuestState status = 5; // offset: 40
	uint32 progress = 7; // offset: 48
	uint32 DPCHGMMCKNN = 10; // offset: 32
	uint32 quest_id = 11; // offset: 44
	oneof JCPHPAHKPDD {
		uint32 MCNLMNOKAFF = 2; // offset: 24
		NCFKHDIKCNI KNOCPAJCPJC = 15; // offset: 24
	}
}
message PCONBOGEDFD {
	uint32 PKCIADAEICG = 3; // offset: 24
	uint32 EDBPMKPHLDK = 15; // offset: 28
}
message PLOFKJDKEPN {
	repeated JHACFFJIPHK quest_list = 7; // offset: 32
	PCONBOGEDFD DFBGAOAJLIC = 8; // offset: 24
}
message BLDIHADJKJF {
	NCFKHDIKCNI NNJCNEMGEAJ = 2; // offset: 16
	uint32 JKAGCGKCHJG = 5; // offset: 32
}
message HBONEFMPKKO {
	uint32 MMFGAJNCAOA = 2; // offset: 24
	uint32 progress = 10; // offset: 28
}
message PPAIELAKIJD {
	repeated uint32 BJNOHKFONFP = 1; // offset: 32
	repeated HBONEFMPKKO KFOFAKDPGJC = 14; // offset: 16
}
message EKEOBMOKEFD {
	uint32 level = 4; // offset: 28
	uint32 skill_id = 9; // offset: 24
}
message BAGAOALHAJI {
	repeated EKEOBMOKEFD skill_list = 3; // offset: 24
}
message OBEHBNOCLMM {
	repeated uint32 HPMNIKJGBPD = 10; // offset: 16
	uint32 CNGMMDKCBND = 12; // offset: 32
}
message NOLLHKIMDOC {
	int64 GLDGCHLDMJE = 1; // offset: 32
	uint32 JOADLJIDGND = 2; // offset: 40
	repeated uint32 IJMHPOEPILG = 3; // offset: 16
}
message EPKGFJDJMHM {
	oneof KKNBOACNCON {
		BEJOPEHPABO FKFPLMFLNPI = 5; // offset: 24
		BEJOPEHPABO HFCPPGPPMPB = 9; // offset: 24
		IHHONELJHJG LMOLELDIKMA = 4; // offset: 24
		IHHONELJHJG JCJLAAFLGHC = 3; // offset: 24
		DAGGFIOGHGE DLNEGFMNCPI = 10; // offset: 24
		DAGGFIOGHGE JLHJHFMMAPG = 8; // offset: 24
		CPHOIPHAPDJ LPGHOGLGEKH = 13; // offset: 24
		CPHOIPHAPDJ BFPNBEPPPLL = 1; // offset: 24
		KICPDGKGGHO KMKNPALADDC = 15; // offset: 24
		KICPDGKGGHO ELMMNHBECNI = 7; // offset: 24
		AAIMICLLCKE FBMJJGFJFMA = 2; // offset: 24
		JHACFFJIPHK NPNDMLGFEFI = 11; // offset: 24
		JHACFFJIPHK LIHDHBNHDKM = 14; // offset: 24
		PCONBOGEDFD MDFJJFCDLCK = 6; // offset: 24
		PlanetFesUnlockChange KONHPICIELO = 12; // offset: 24
		EKEOBMOKEFD LNPGIMBEMOE = 974; // offset: 24
		IMHOJPDMOJI HGGBFCEFLKO = 959; // offset: 24
		ECIDGEBFJHP ODOHJNABBAM = 981; // offset: 24
		PEMCOFDFCAC JDLEEFDFJGA = 801; // offset: 24
		MCCHABOPEFJ CGMBBDHDMEO = 1451; // offset: 24
		HGJHBCBIONE KGHOJJKNCBP = 1173; // offset: 24
		CANOCBHNHLJ BPKMBMPJAON = 373; // offset: 24
		KICPDGKGGHO EOPILJCMLLA = 139; // offset: 24
		FLCJMPNDMMH KMCJFDEDEAA = 1437; // offset: 24
		GMODJEECPPJ DBDLIIPGEOE = 1619; // offset: 24
		IEDPDDJAAIH JOGCFKGJMJB = 723; // offset: 24
		MAOINJAJOEC KJOAEEGIGDI = 899; // offset: 24
		DFEPHMALKDK OAHOCFKEMCM = 963; // offset: 24
	}
}

// Obf: BFAKCFDPNFM
message PlanetFesUnlockChange {
	HBONEFMPKKO BBEKBJPHEJK = 5; // offset: 16
	bool has_passed = 15; // offset: 32
}
message AAIMICLLCKE {
	NCFKHDIKCNI NNJCNEMGEAJ = 10; // offset: 16
	uint32 JKAGCGKCHJG = 13; // offset: 32
}
message BEJOPEHPABO {
	NCFKHDIKCNI HFNNNGHBHGG = 6; // offset: 40
	NCFKHDIKCNI HMCIEDENFMK = 8; // offset: 24
	repeated uint32 LGBOJJFEGFI = 9; // offset: 16
	NCFKHDIKCNI DCPDNBALDOA = 14; // offset: 48
}
message IHHONELJHJG {
	uint32 item_id = 1; // offset: 32
	uint32 DCPDNBALDOA = 5; // offset: 24
	uint32 HFNNNGHBHGG = 15; // offset: 28
}
message IMHOJPDMOJI {
	uint32 HBJIJHHMEGO = 7; // offset: 24
}
message GLECNCOBKCJ {
	uint32 LKBHAFLMOLA = 4; // offset: 32
	uint32 PKJHFPFOABL = 6; // offset: 36
	uint32 avatar_id = 7; // offset: 40
	NCFKHDIKCNI NFDJOCBMLCI = 10; // offset: 16
}
message FLCJMPNDMMH {
	uint32 HBMGKJAAPFI = 2; // offset: 76
	NCFKHDIKCNI BFEOOJBNFBG = 3; // offset: 32
	uint32 MAGBFEHEOOI = 4; // offset: 68
	repeated GLECNCOBKCJ FIHPPANOOFL = 6; // offset: 40
	uint32 NFCMAEIGKHK = 7; // offset: 80
	uint32 BPBADPAACOL = 10; // offset: 64
	uint32 LAAAPJAIKAF = 12; // offset: 72
	NCFKHDIKCNI FDGKBOIEHBD = 13; // offset: 16
	map<uint32, uint32> ODICAOCLJKO = 14; // offset: 48
	NCFKHDIKCNI FHGFEKEAJFF = 15; // offset: 56
}
message ECIDGEBFJHP {
	PLPDNKNJBAA BOLCNGAKAMG = 10; // offset: 24
}
message MCCHABOPEFJ {
	MOFKNBAKKDI GHKFKGMOHDO = 2; // offset: 24
}
message PEMCOFDFCAC {
	NCFKHDIKCNI EFOJBKPJLIO = 15; // offset: 24
}
message HGJHBCBIONE {
	GJJEOANEDDO GMKICMIMAAB = 3; // offset: 32
	OJHHACMHFKA GLOAGDBEKDP = 13; // offset: 24
}
message CANOCBHNHLJ {
	uint32 CNGMMDKCBND = 7; // offset: 24
}
message AIMNHEHKIMI {
	uint32 DJMPADMMPAN = 3; // offset: 40
	uint32 AFOHLIOKLAA = 8; // offset: 32
	uint32 OAEFICOLFIG = 10; // offset: 44
	NCFKHDIKCNI BAGMMONIIGK = 11; // offset: 16
	uint32 HMHEDCCLDGB = 15; // offset: 36
}
message IKMLLJNNKJB {
	repeated FMKMEFMOJGJ item_list = 7; // offset: 16
	repeated AIMNHEHKIMI transfer_item_list = 9; // offset: 24
}
message IPMLDNLACFO {
	FMKMEFMOJGJ item = 5; // offset: 32
	AIMNHEHKIMI PIENFNCGFMB = 12; // offset: 16
}

// Type: Req
// CmdID: 8244
message GOMIDGNOENH {
	uint32 FNABEJNJBKN = 9; // offset: 24
}

// Type: Rsp
// CmdID: 8219
message DHHFAMDCDPK {
	uint32 retcode = 1; // offset: 24
}
message PHFGDCMBDBA {
	uint32 avatar_id = 4; // offset: 28
	uint32 FNABEJNJBKN = 10; // offset: 24
}

// Type: Req
// CmdID: 8248
message POFDBDHOJNG {
	repeated PHFGDCMBDBA NEMFNENACNB = 14; // offset: 16
}

// Type: Rsp
// CmdID: 8203
message ECJCIAPBFDJ {
	uint32 retcode = 11; // offset: 24
}

// Type: Req
// CmdID: 8207
message FPMMPGAOGCH {
	uint32 FNABEJNJBKN = 11; // offset: 24
}

// Type: Rsp
// CmdID: 8210
message LOFFNNNIDMM {
	uint32 retcode = 4; // offset: 24
}

// Type: Req
// CmdID: 8221
message OLENIPLHIPI {
	bool is_active = 4; // offset: 24
}

// Type: Rsp
// CmdID: 8224
message IHHBDEJOCGI {
	uint32 retcode = 5; // offset: 24
}

// Type: Req
// CmdID: 8220
message MOOLKFODKIK {
}

// Type: Rsp
// CmdID: 8217
message NLAGKOJKHCN {
	uint32 retcode = 4; // offset: 32
	NCFKHDIKCNI GALBOLNODBB = 11; // offset: 16
}

// Obf: IMPNLCOOGGD
// Type: Req
// CmdID: 8229
message PlanetFesDoGachaCsReq {
	uint32 gacha_id = 1; // offset: 28
	uint32 gacha_count = 3; // offset: 24
	uint32 simulate_magic = 12; // offset: 32
}
message EKPBGMKJGDL {
	uint32 MGBCAPIIKLM = 4; // offset: 40
	IPMLDNLACFO HLBCFJLLKBL = 8; // offset: 16
	uint32 avatar_id = 9; // offset: 32
	uint32 BEMDNEMABCC = 14; // offset: 36
}
message NGHCOJCMJOK {
	repeated EKPBGMKJGDL HAINMHKIOMJ = 8; // offset: 24
	repeated uint32 BNCOJCEGBPG = 9; // offset: 48
	NCFKHDIKCNI OPOIDCHIMEK = 12; // offset: 32
	repeated IPMLDNLACFO FAJLFDNKFGJ = 15; // offset: 16
}
message NDPJHJOAOJE {
	IKMLLJNNKJB HMMBBENHIFE = 6; // offset: 24
	repeated uint32 EPBJNIFHBLE = 10; // offset: 32
}

// Obf: OJFBBKAOHAK
// Type: Rsp
// CmdID: 8233
message PlanetFesDoGachaScRsp {
	uint32 retcode = 1; // offset: 40
	uint32 gacha_id = 3; // offset: 44
	repeated FMKMEFMOJGJ LGPDNIGJEKP = 8; // offset: 16
	oneof BNJPPHJNKHF {
		NGHCOJCMJOK EHLPJELJJOO = 2; // offset: 32
		NDPJHJOAOJE FFBDKNIHNEL = 7; // offset: 32
	}
}

// Obf: MOAHEAJFFGN
// Type: Req
// CmdID: 8206
message PlanetFesAvatarLevelUpCsReq {
	uint32 IGOOJKMPMDC = 1; // offset: 28
	uint32 avatar_id = 9; // offset: 24
}

// Obf: IIPDJGEHIIM
// Type: Rsp
// CmdID: 8202
message PlanetFesAvatarLevelUpScRsp {
	uint32 retcode = 3; // offset: 36
	uint32 IGOOJKMPMDC = 4; // offset: 40
	GNMCIEPEBPK reward = 6; // offset: 24
	uint32 KPGNEABOECG = 9; // offset: 44
	uint32 avatar_id = 13; // offset: 32
}

// Obf: JENABHHEFCD
// Type: Req
// CmdID: 8214
message PlanetFesTakeQuestRewardCsReq {
	uint32 quest_id = 11; // offset: 24
}

// Obf: ECKAIIJPAON
// Type: Rsp
// CmdID: 8235
message PlanetFesTakeQuestRewardScRsp {
	uint32 quest_id = 3; // offset: 32
	IKMLLJNNKJB JMBFMMPAAAO = 7; // offset: 24
	uint32 retcode = 9; // offset: 36
}

// Obf: IEAMIJBBOMA
// Type: Req
// CmdID: 8242
message PlanetFesSkillLevelUpCsReq {
	uint32 IGOOJKMPMDC = 13; // offset: 28
	uint32 skill_id = 15; // offset: 24
}

// Obf: GBPAJNPKPOB
// Type: Rsp
// CmdID: 8222
message PlanetFesSkillLevelUpScRsp {
	FMKMEFMOJGJ item_cost = 2; // offset: 24
	uint32 skill_id = 4; // offset: 40
	uint32 skill_level = 8; // offset: 36
	uint32 retcode = 12; // offset: 32
}
message GNMCIEPEBPK {
	repeated FMKMEFMOJGJ item_list = 2; // offset: 24
	NCFKHDIKCNI item_value = 6; // offset: 40
	map<uint32, uint32> NDMLPIGABGE = 13; // offset: 32
}
message HCGDLIAMDLA {
	uint32 avatar_id = 10; // offset: 24
	uint32 JJGMIGBBEOO = 12; // offset: 32
	uint32 JADCEPFHHDK = 14; // offset: 28
}
message MBMAGILKFGP {
	repeated HCGDLIAMDLA LEBNOGAMCNE = 2; // offset: 16
}
message BCGJJCCJBCG {
	uint32 HHGAHEBNAIL = 1; // offset: 32
	uint32 NJHAPBIALCN = 4; // offset: 36
	map<uint32, uint32> MIKLLOOAJFE = 6; // offset: 16
	uint32 HLLIBEEKFII = 10; // offset: 40
}
message BACHHBGNENA {
	PGPHEKKPBLD CFDIKLBINHK = 4; // offset: 16
	uint32 EDDBMFMEPJK = 9; // offset: 36
	uint32 DLFHABGGHFF = 13; // offset: 32
}
message LDOMEIGDIAK {
	uint32 NFMHIOIFLCB = 8; // offset: 24
}
message NDDHJBFEBHG {
	uint32 CLMMHFFNKEH = 4; // offset: 28
	uint32 NFMHIOIFLCB = 6; // offset: 24
	uint32 OKNPKMABAHE = 9; // offset: 32
}
message KOEIBOFDLCM {
	uint32 NFMHIOIFLCB = 12; // offset: 24
}
message OJHHACMHFKA {
	uint32 BIOFDPICHLC = 2; // offset: 56
	uint32 business_day = 3; // offset: 48
	bool NLKMDIBKCIL = 7; // offset: 32
	bool BMHCDIPKKLE = 9; // offset: 34
	int64 HPNLMPJJHCF = 11; // offset: 40
	uint32 event_type = 14; // offset: 60
	bool HMEIPBNOMIG = 15; // offset: 33
	oneof MMCGBGDJIPN {
		MBMAGILKFGP BPABMONFKNB = 13; // offset: 16
		BCGJJCCJBCG DPNFIKGHFIH = 8; // offset: 16
		BACHHBGNENA NBAMDOAEHPJ = 4; // offset: 16
		LDOMEIGDIAK DIGJDCNCPOM = 1; // offset: 16
		NDDHJBFEBHG MBNBKOMMPFB = 5; // offset: 16
		KOEIBOFDLCM FBGJAACOEEI = 6; // offset: 16
	}
}
message MOFKNBAKKDI {
	repeated OJHHACMHFKA CKACALMICBH = 2; // offset: 16
	NCFKHDIKCNI FDGKBOIEHBD = 3; // offset: 24
	int64 start_time = 4; // offset: 48
	map<uint32, uint32> FLKNHFMNDCE = 5; // offset: 40
	uint32 business_day = 6; // offset: 56
	bool CANDCMOCAFH = 7; // offset: 61
	bool has_passed = 12; // offset: 60
}
message OHABCOEGDEH {
	uint32 business_day = 2; // offset: 52
	repeated GLECNCOBKCJ FIHPPANOOFL = 9; // offset: 24
	NCFKHDIKCNI FDGKBOIEHBD = 10; // offset: 16
	uint32 NMLFCGHPGEL = 11; // offset: 48
	NCFKHDIKCNI EJNBHKGOEKI = 12; // offset: 32
	bool CANDCMOCAFH = 13; // offset: 56
}
message BMGHLHHJEGE {
	uint32 event_type = 7; // offset: 24
	bool is_disappeared_once = 12; // offset: 28
}
message PLPDNKNJBAA {
	repeated OHABCOEGDEH HBGPLDACACI = 5; // offset: 32
	repeated uint32 KCENCAAPMLK = 11; // offset: 48
	uint32 NEDCJCBPEJM = 12; // offset: 60
	repeated BMGHLHHJEGE ENDPGFBABBB = 13; // offset: 16
	MOFKNBAKKDI HOCBDMPEMDH = 14; // offset: 40
	uint32 CINEILEIEJK = 15; // offset: 56
}

// Obf: NBCOEHFDNDL
// Type: Req
// CmdID: 8215
message PlanetFesGetBusinessDayInfoCsReq {
	bool EFILMAOHOBK = 4; // offset: 24
}

// Obf: CNNHNLACLCC
// Type: Rsp
// CmdID: 8213
message PlanetFesGetBusinessDayInfoScRsp {
	PLPDNKNJBAA BOLCNGAKAMG = 10; // offset: 24
	int64 NACEMPJFKAH = 14; // offset: 40
	uint32 retcode = 15; // offset: 32
}
message KCMJJLJCHHP {
	bool has_passed = 3; // offset: 28
	uint32 DDOIGECMKKA = 4; // offset: 24
	bool CANDCMOCAFH = 5; // offset: 29
	uint32 NEDCJCBPEJM = 6; // offset: 32
	uint32 CINEILEIEJK = 8; // offset: 36
	int64 NACEMPJFKAH = 13; // offset: 40
}

// Obf: DFNKGEIEDOA
// Type: Req
// CmdID: 8208
message PlanetFesBusinessDayRefreshEventCsReq {
	bool CEIONHPDNDP = 5; // offset: 28
	uint32 event_type = 9; // offset: 32
	uint32 business_day = 12; // offset: 24
}

// Obf: KFKLIDNFCOP
// Type: Rsp
// CmdID: 8218
message PlanetFesBusinessDayRefreshEventScRsp {
	uint32 retcode = 8; // offset: 32
	OJHHACMHFKA GLOAGDBEKDP = 9; // offset: 16
}

// Obf: EEANOEFPPKN
// Type: Req
// CmdID: 8243
message PlanetFesDeliverPamCargoCsReq {
	uint32 avatar_id = 5; // offset: 24
	uint32 JADCEPFHHDK = 12; // offset: 28
}

// Obf: IOAKMGCGLHP
// Type: Rsp
// CmdID: 8240
message PlanetFesDeliverPamCargoScRsp {
	uint32 avatar_id = 2; // offset: 40
	uint32 retcode = 4; // offset: 44
	GNMCIEPEBPK FFMILOLELNJ = 6; // offset: 24
	OJHHACMHFKA GLOAGDBEKDP = 11; // offset: 16
}

// Obf: MCLIICJBLIP
// Type: Req
// CmdID: 8226
message PlanetFesChooseAvatarEventOptionCsReq {
	uint32 MABNCDEBPDK = 7; // offset: 24
}

// Obf: PPJKEHJCBHH
// Type: Rsp
// CmdID: 8245
message PlanetFesChooseAvatarEventOptionScRsp {
	uint32 IIBJDCKHAKE = 2; // offset: 48
	uint32 HHGAHEBNAIL = 3; // offset: 40
	uint32 retcode = 6; // offset: 44
	OJHHACMHFKA GLOAGDBEKDP = 8; // offset: 32
	GNMCIEPEBPK reward = 10; // offset: 16
	uint32 DNLAFCPNPOE = 12; // offset: 52
}

// Obf: NBIFLFMNLEJ
// Type: Req
// CmdID: 8239
message PlanetFesDealAvatarEventOptionItemCsReq {
	bool MLKBOBIEAPL = 6; // offset: 28
	uint32 HLLIBEEKFII = 13; // offset: 24
}

// Obf: CEEBEKFBONM
// Type: Rsp
// CmdID: 8247
message PlanetFesDealAvatarEventOptionItemScRsp {
	bool MLKBOBIEAPL = 1; // offset: 48
	OJHHACMHFKA GLOAGDBEKDP = 2; // offset: 24
	uint32 IIBJDCKHAKE = 4; // offset: 40
	uint32 DNLAFCPNPOE = 9; // offset: 52
	uint32 retcode = 10; // offset: 44
	GNMCIEPEBPK reward = 14; // offset: 32
}

// Obf: JFKHEIDJDMO
// Type: Req
// CmdID: 8232
message PlanetFesTakeRegionPhaseRewardCsReq {
	uint32 BKPDKFLDLDD = 1; // offset: 24
}

// Obf: MEHDPNELHCD
// Type: Rsp
// CmdID: 8236
message PlanetFesTakeRegionPhaseRewardScRsp {
	uint32 BKPDKFLDLDD = 3; // offset: 32
	uint32 retcode = 8; // offset: 36
	ItemList reward_list = 9; // offset: 24
}
message NMKNOLPFJDN {
	uint32 KOHGFNGKFPE = 2; // offset: 40
	repeated uint32 CKLIEKOIGOG = 9; // offset: 16
	uint32 JCKKPPELFHC = 14; // offset: 44
	repeated uint32 HGDNMKBNMBK = 15; // offset: 24
}
message PGPHEKKPBLD {
	uint32 ratio = 13; // offset: 32
	uint32 DLFHABGGHFF = 15; // offset: 36
	oneof JMPNIHHAMPH {
		NMKNOLPFJDN AGLMEDOBMAL = 6; // offset: 16
	}
}
message PBAPKAGHGFB {
	repeated uint32 GOEJBENHBHE = 15; // offset: 16
}

// Obf: DPDILLMEAKN
// Type: Req
// CmdID: 8230
message PlanetFesStartMiniGameCsReq {
	uint32 DLFHABGGHFF = 6; // offset: 24
	uint32 ratio = 11; // offset: 28
}

// Obf: LBFNAJJGCBH
// Type: Rsp
// CmdID: 8205
message PlanetFesStartMiniGameScRsp {
	uint32 retcode = 3; // offset: 48
	GNMCIEPEBPK reward = 9; // offset: 24
	PGPHEKKPBLD CFDIKLBINHK = 10; // offset: 16
	oneof JIOMPHMGALF {
		PBAPKAGHGFB HMMBBENHIFE = 11; // offset: 32
	}
}

// Obf: BDLBEEMAABE
// Type: Req
// CmdID: 8241
message PlanetFesUseItemCsReq {
	uint32 JMOOBDBKFMD = 3; // offset: 24
	uint32 item_id = 14; // offset: 28
}

// Obf: LEIBJEPHONE
// Type: Rsp
// CmdID: 8212
message PlanetFesUseItemScRsp {
	uint32 retcode = 1; // offset: 32
	GNMCIEPEBPK reward = 4; // offset: 24
}

// Obf: FNAEBIJFOFF
// Type: Req
// CmdID: 8216
message PlanetFesGameBingoFlipCsReq {
	uint32 LKFIGBGPEJB = 11; // offset: 24
}

// Obf: CPLFEKKNLDO
// Type: Rsp
// CmdID: 8201
message PlanetFesGameBingoFlipScRsp {
	GNMCIEPEBPK reward = 3; // offset: 24
	uint32 retcode = 8; // offset: 40
	bool BDEFAFFDBCC = 10; // offset: 36
	uint32 LKFIGBGPEJB = 14; // offset: 32
}

// Obf: GFMNPNJADFN
// Type: Req
// CmdID: 8250
message PlanetFesBonusEventInteractCsReq {
	uint32 JCBNLGDOMMF = 5; // offset: 28
	uint32 event_type = 10; // offset: 24
}

// Obf: BBGADFGONHI
// Type: Rsp
// CmdID: 8204
message PlanetFesBonusEventInteractScRsp {
	uint32 retcode = 8; // offset: 40
	uint32 event_type = 11; // offset: 44
	OJHHACMHFKA GLOAGDBEKDP = 13; // offset: 32
	GNMCIEPEBPK reward = 15; // offset: 24
}
message MAOINJAJOEC {
	uint32 JKAGCGKCHJG = 1; // offset: 32
	NCFKHDIKCNI gold = 3; // offset: 16
	uint32 business_day = 6; // offset: 48
	uint32 LBICJMAMFGN = 7; // offset: 44
	uint32 EMJPFPHBKMG = 9; // offset: 36
	uint32 PPOAGPGEAFH = 10; // offset: 40
	uint32 uid = 13; // offset: 52
}

// Obf: FHCCHMLGAEF
// Type: Req
// CmdID: 8234
message PlanetFesGetFriendRankingInfoListCsReq {
}

// Obf: AIKFHAIJGDH
// Type: Rsp
// CmdID: 8238
message PlanetFesGetFriendRankingInfoListScRsp {
	MAOINJAJOEC PONAOKBNIAM = 6; // offset: 24
	uint32 retcode = 7; // offset: 32
}

// Obf: BGGGJMGLOEI
// Type: Notify
// CmdID: 8227
message PlanetFesFriendRankingInfoChangeScNotify {
	repeated MAOINJAJOEC MLPHLIHFGKG = 5; // offset: 24
}

// Obf: EILODDMBANJ
// Type: Req
// CmdID: 8228
message PlanetFesSetCustomKeyValueCsReq {
	uint32 key = 6; // offset: 24
	uint32 value = 15; // offset: 28
}

// Obf: CMFIANLCNEA
// Type: Rsp
// CmdID: 8211
message PlanetFesSetCustomKeyValueScRsp {
	uint32 retcode = 7; // offset: 28
	uint32 value = 10; // offset: 24
	uint32 key = 15; // offset: 32
}

// Type: Req
// CmdID: 8249
message GHONFFLAMHB {
	uint32 IGOOJKMPMDC = 14; // offset: 24
}

// Type: Rsp
// CmdID: 8246
message BGNAMLHFLDB {
	uint32 retcode = 1; // offset: 24
}

// Obf: BJEDJFIEHPB
// Type: Req
// CmdID: 8231
message PlanetFesGetAvatarStatCsReq {
}

// Obf: CBHMAHKODLB
// Type: Rsp
// CmdID: 8225
message PlanetFesGetAvatarStatScRsp {
	repeated GLECNCOBKCJ FIHPPANOOFL = 2; // offset: 16
	uint32 retcode = 12; // offset: 32
}
message GMODJEECPPJ {
	repeated uint32 OEEGPNOCFLP = 2; // offset: 24
	int64 apply_time = 8; // offset: 40
	uint32 APIFFHBCDKK = 11; // offset: 36
	uint32 BLGLDJHOMNO = 15; // offset: 32
}
message IEDPDDJAAIH {
	bool FOGGEJIIJCM = 4; // offset: 36
	int64 time = 9; // offset: 40
	uint32 HCJCIAGKHHL = 12; // offset: 32
	repeated uint32 OEEGPNOCFLP = 13; // offset: 24
	uint64 CBMBOBNCKMO = 15; // offset: 48
}
message DFEPHMALKDK {
	uint32 APIFFHBCDKK = 2; // offset: 44
	uint32 BLGLDJHOMNO = 4; // offset: 40
	int64 time = 6; // offset: 32
	uint32 source = 13; // offset: 48
	repeated uint32 OEEGPNOCFLP = 15; // offset: 24
}

// Obf: FINKPKBICHJ
enum CmdPlanetFesExtType {
	FINKPKBICHJ_NLCDGIPGFDJ = 0;
	CmdPlanetFesGetOfferedCardPieceScRsp = 8310;
	CmdPlanetFesHandleCardPieceApplyCsReq = 8300;
	CmdPlanetFesGiveCardPieceScRsp = 8319;
	CmdAAHPJECONDN = 8304;
	CmdPlanetFesGetExtraCardPieceInfoScRsp = 8313;
	CmdPlanetFesGetFriendCardPieceCsReq = 8327;
	CmdJJIBNOEGFLK = 8292;
	CmdPlanetFesLargeBonusInteractScRsp = 8296;
	CmdPlanetFesGiveCardPieceCsReq = 8307;
	CmdPlanetFesApplyCardPieceScRsp = 8297;
	CmdPlanetFesApplyCardPieceCsReq = 8293;
	CmdPlanetFesGetOfferedCardPieceCsReq = 8314;
	CmdPlanetFesChangeCardPieceApplyPermissionCsReq = 8309;
	CmdPlanetFesHandleCardPieceApplyScRsp = 8311;
	CmdPlanetFesChangeCardPieceApplyPermissionScRsp = 8338;
	CmdPlanetFesGetFriendCardPieceScRsp = 8334;
	CmdPlanetFesLargeBonusInteractCsReq = 8323;
	CmdPlanetFesGetExtraCardPieceInfoCsReq = 8299;
}

enum NBHFFADKNEI {
	NBHFFADKNEI_DDOGJODJEOH = 0;
	NBHFFADKNEI_KBHEKICIHOL = 1;
	NBHFFADKNEI_ODHPKJJFLKL = 2;
}

// Obf: GEIELBEBJCK
// Type: Req
// CmdID: 8299
message PlanetFesGetExtraCardPieceInfoCsReq {
}
message EPPIBFOLFKN {
	int64 OIKNNPOKKME = 3; // offset: 56
	repeated FMKMEFMOJGJ EOMINOCGLJF = 5; // offset: 16
	uint32 HAAHAGAPDKC = 7; // offset: 64
	repeated DFEPHMALKDK FDHMLGFKDIP = 8; // offset: 32
	uint32 MLGAODMIHJH = 10; // offset: 72
	repeated GMODJEECPPJ GMLEOJCLCFB = 12; // offset: 24
	uint32 uid = 14; // offset: 68
	repeated uint32 MLPNIPENEBG = 15; // offset: 40
}

// Obf: MCIOMLIEACB
// Type: Rsp
// CmdID: 8313
message PlanetFesGetExtraCardPieceInfoScRsp {
	uint32 retcode = 10; // offset: 32
	EPPIBFOLFKN GIPNMPKNIFG = 14; // offset: 16
}

// Obf: HFGLNNFOPON
// Type: Req
// CmdID: 8327
message PlanetFesGetFriendCardPieceCsReq {
}

// Obf: NKJOIFBLLKO
// Type: Rsp
// CmdID: 8334
message PlanetFesGetFriendCardPieceScRsp {
	uint32 retcode = 1; // offset: 32
	repeated EPPIBFOLFKN PEBGJJCNBMM = 13; // offset: 24
}

// Obf: NINEEGGAMBC
// Type: Req
// CmdID: 8309
message PlanetFesChangeCardPieceApplyPermissionCsReq {
	uint32 HAAHAGAPDKC = 9; // offset: 24
}

// Obf: OCPAJELJLGE
// Type: Rsp
// CmdID: 8338
message PlanetFesChangeCardPieceApplyPermissionScRsp {
	uint32 retcode = 9; // offset: 28
	uint32 HAAHAGAPDKC = 15; // offset: 24
}

// Obf: ALNIHNLACOK
// Type: Req
// CmdID: 8293
message PlanetFesApplyCardPieceCsReq {
	uint32 teleport_id = 2; // offset: 32
	repeated uint32 OEEGPNOCFLP = 11; // offset: 24
}

// Obf: ONCGFIALKHI
// Type: Rsp
// CmdID: 8297
message PlanetFesApplyCardPieceScRsp {
	uint32 BLGLDJHOMNO = 4; // offset: 52
	int64 GLDGCHLDMJE = 6; // offset: 32
	uint32 retcode = 7; // offset: 44
	bool GOPCDFEIOEA = 10; // offset: 40
	repeated uint32 OEEGPNOCFLP = 14; // offset: 24
	uint32 teleport_id = 15; // offset: 48
}

// Obf: DGJIEIKGCNF
// Type: Req
// CmdID: 8300
message PlanetFesHandleCardPieceApplyCsReq {
	uint32 BLGLDJHOMNO = 1; // offset: 32
	repeated uint32 JAKKDGHLJPH = 2; // offset: 24
	uint32 APIFFHBCDKK = 4; // offset: 40
	bool IKOBGOCEHFG = 12; // offset: 36
}

// Obf: ELPANOAHJIB
// Type: Rsp
// CmdID: 8311
message PlanetFesHandleCardPieceApplyScRsp {
	bool IKOBGOCEHFG = 1; // offset: 40
	uint32 retcode = 4; // offset: 44
	repeated uint32 JAKKDGHLJPH = 6; // offset: 16
	int64 JEAGHJHMCEN = 11; // offset: 32
	uint32 BLGLDJHOMNO = 12; // offset: 48
}

// Obf: FIMDIBKGMEE
// Type: Req
// CmdID: 8314
message PlanetFesGetOfferedCardPieceCsReq {
	bool FOGGEJIIJCM = 4; // offset: 24
	uint64 CBMBOBNCKMO = 9; // offset: 32
}

// Obf: ALGDCPHADFA
// Type: Rsp
// CmdID: 8310
message PlanetFesGetOfferedCardPieceScRsp {
	int64 MAFLGLLOKBB = 4; // offset: 56
	repeated IEDPDDJAAIH CBPKFDJMGBH = 5; // offset: 32
	bool FOGGEJIIJCM = 6; // offset: 44
	uint64 CBMBOBNCKMO = 11; // offset: 48
	repeated FMKMEFMOJGJ EOMINOCGLJF = 14; // offset: 24
	uint32 retcode = 15; // offset: 40
}

// Obf: DBIFGMGGCMA
// Type: Req
// CmdID: 8307
message PlanetFesGiveCardPieceCsReq {
	uint32 teleport_id = 8; // offset: 32
	repeated uint32 JAKKDGHLJPH = 14; // offset: 16
}

// Obf: IDJNDALFMFL
// Type: Rsp
// CmdID: 8319
message PlanetFesGiveCardPieceScRsp {
	int64 JEAGHJHMCEN = 1; // offset: 32
	uint32 retcode = 8; // offset: 52
	uint32 teleport_id = 9; // offset: 48
	uint64 CBMBOBNCKMO = 10; // offset: 40
	repeated uint32 JAKKDGHLJPH = 11; // offset: 24
}

// Obf: PDMEBJHODBM
// Type: Req
// CmdID: 8323
message PlanetFesLargeBonusInteractCsReq {
	uint32 IABOGPKEAGF = 1; // offset: 24
	uint32 MMKABABENKE = 2; // offset: 32
	uint32 DNBKKDBFFAJ = 4; // offset: 28
}

// Obf: LAPACOEMOCK
// Type: Rsp
// CmdID: 8296
message PlanetFesLargeBonusInteractScRsp {
	uint32 DNBKKDBFFAJ = 3; // offset: 44
	uint32 retcode = 4; // offset: 40
	NCFKHDIKCNI CGKNMGLFKBN = 12; // offset: 24
	OJHHACMHFKA GLOAGDBEKDP = 15; // offset: 32
}

// Type: Req
// CmdID: 8292
message JJIBNOEGFLK {
}

// Type: Rsp
// CmdID: 8304
message AAHPJECONDN {
	uint32 retcode = 9; // offset: 24
}

// Obf: KIDBFKJEJJD
enum CmdPlayerType {
	KIDBFKJEJJD_NLCDGIPGFDJ = 0;
	CmdPlayerHeartBeatScRsp = 98;
	KIDBFKJEJJD_ONNNLNCMMGJ = 58;
	CmdPlayerGetTokenCsReq = 88;
	CmdForceSyncGameStateFinishScRsp = 56;
	CmdUpdateFeatureSwitchScNotify = 52;
	CmdJKJMAKHANPB = 47;
	CmdSetPlayerInfoScRsp = 44;
	CmdGetBasicInfoScRsp = 14;
	CmdSetRedPointStatusScNotify = 95;
	KIDBFKJEJJD_ABAKFMHMHPD = 67;
	CmdSetLanguageScRsp = 5;
	CmdClientDownloadDataScNotify = 53;
	CmdGetLevelRewardScRsp = 72;
	CmdGetLevelRewardCsReq = 42;
	CmdGetLevelRewardTakenListCsReq = 65;
	CmdGGIHCKPGACF = 76;
	CmdGetAuthkeyCsReq = 4;
	CmdGetBasicInfoCsReq = 20;
	CmdQueryProductInfoScRsp = 18;
	CmdPlayerGetTokenScRsp = 81;
	CmdGetSecretKeyInfoScRsp = 74;
	CmdExchangeStaminaCsReq = 38;
	CmdExchangeStaminaScRsp = 39;
	CmdMonthCardRewardNotify = 46;
	CmdReserveStaminaExchangeCsReq = 90;
	CmdPlayerLoginFinishCsReq = 57;
	CmdRegionStopScNotify = 36;
	CmdAntiAddictScNotify = 48;
	CmdPlayerLoginScRsp = 78;
	CmdIDAIHHGGPIJ = 59;
	CmdEnterStageScRsp = 71;
	CmdPlayerLoginCsReq = 25;
	CmdPlayerHeartBeatCsReq = 28;
	CmdSetGenderCsReq = 12;
	CmdPlayerLogoutCsReq = 93;
	CmdMHMFPLEKOIL = 51;
	CmdSetNicknameScRsp = 69;
	CmdPlayerSqueezedScNotify = 26;
	CmdQueryProductInfoCsReq = 15;
	CmdSetGameplayBirthdayCsReq = 82;
	CmdSetLanguageCsReq = 21;
	CmdKEKFNKDLDOM = 91;
	CmdGetVideoVersionKeyCsReq = 23;
	CmdUpdatePlayerSettingScRsp = 3;
	CmdFeatureSwitchClosedScNotify = 66;
	CmdServerAnnounceNotify = 41;
	CmdSetPlayerInfoCsReq = 75;
	CmdGetSecretKeyInfoCsReq = 6;
	CmdGateServerScNotify = 62;
	CmdFLMODPLLMNF = 37;
	CmdClientObjUploadCsReq = 64;
	CmdUpdatePlayerSettingCsReq = 97;
	CmdEnterStageCsReq = 13;
	CmdGetVideoVersionKeyScRsp = 83;
	CmdForceSyncGameStateFinishCSReq = 54;
	CmdGetAuthkeyScRsp = 11;
	CmdReserveStaminaExchangeScRsp = 32;
	CmdStaminaInfoScNotify = 70;
	CmdSetGenderScRsp = 35;
	CmdSetGameplayBirthdayScRsp = 94;
	CmdClientObjUploadScRsp = 68;
	CmdIAOCHINIPGK = 19;
	CmdClientObjDownloadDataScNotify = 1;
	CmdDailyRefreshNotify = 89;
	CmdGetLevelRewardTakenListScRsp = 30;
	CmdPlayerLoginFinishScRsp = 27;
	CmdSetNicknameCsReq = 45;
}

enum CMPNMGFGDLJ {
	CMPNMGFGDLJ_NLCDGIPGFDJ = 0;
	CMPNMGFGDLJ_HGLIFJGHADE = 1;
	CMPNMGFGDLJ_JFNDMBPOKPE = 2;
}

enum GEOOCKILLEF {
	GEOOCKILLEF_DAJIEGLJFAK = 0;
	GEOOCKILLEF_AIANNAINGKK = 1;
	GEOOCKILLEF_BGODPDMEEHD = 2;
	GEOOCKILLEF_CKNBODHNOAK = 3;
	GEOOCKILLEF_DDLJICIALFA = 4;
	GEOOCKILLEF_MKNLIFHBNNH = 5;
	GEOOCKILLEF_FPCCHGCPELO = 6;
	GEOOCKILLEF_FMMGPFPLAJI = 7;
	GEOOCKILLEF_FAGNGHEDEIP = 9;
	GEOOCKILLEF_LAHLPPEDGGO = 10;
}

enum ALGMICKCABI {
	ALGMICKCABI_FLANKPMJBMH = 0;
	ALGMICKCABI_LMHJFBBDLNH = 1;
}

// Obf: LEGAPPMEBBL
// Type: Req
// CmdID: 25
message PlayerLoginCsReq {
	string IHMJHLLCLDE = 1; // offset: 24
	uint64 login_random = 2; // offset: 200
	string GDMJPJCKBBE = 3; // offset: 88
	string JHOKMNLHBMA = 4; // offset: 72
	PlatformType platform = 5; // offset: 172
	string BAOGDOFPPLN = 6; // offset: 16
	uint32 LJKMPIMKOMO = 7; // offset: 176
	string BDGDPMALNIF = 8; // offset: 136
	string LDCIBPHDAKI = 9; // offset: 104
	string NIBMFCFBHEP = 10; // offset: 64
	uint32 JMMHHFLEEPG = 11; // offset: 192
	string LFLCDNGALME = 12; // offset: 56
	string BJCIBNBGBMP = 13; // offset: 120
	LanguageType HOFEMNAIIHB = 14; // offset: 180
	string signature = 15; // offset: 128
	CMCJFJEBBCO EONDGECNAIH = 35; // offset: 144
	string MGNLIGIKKPP = 76; // offset: 48
	uint32 FKFFBEMEIEP = 201; // offset: 168
	string LPBHJODECNE = 212; // offset: 40
	MEPHKJFAJPP HNPMEDIEJFC = 297; // offset: 80
	bool MENBLJOGJMH = 303; // offset: 196
	string IDIFIEPMLKA = 359; // offset: 96
	uint32 KPFGILOFIDI = 527; // offset: 188
	bool ACJKHHBJKHE = 592; // offset: 197
	string DJONELMIFEE = 1435; // offset: 112
	uint32 channel_id = 1629; // offset: 184
	string IJKOMIKFKEK = 1772; // offset: 160
	string JKGAKDALFPE = 2041; // offset: 152
}

// Obf: ADODOFNNPEO
// Type: Rsp
// CmdID: 78
message PlayerLoginScRsp {
	int32 cur_timezone = 1; // offset: 72
	string DKEPKHPOLHC = 3; // offset: 24
	string GIOAPOKHAOF = 4; // offset: 16
	uint32 stamina = 5; // offset: 56
	uint64 server_timestamp_ms = 6; // offset: 48
	PlayerBasicInfo basic_info = 8; // offset: 32
	uint64 login_random = 9; // offset: 64
	uint32 retcode = 11; // offset: 60
	bool KDNPPNHLNOA = 13; // offset: 76
	bool KCDAHNNCKPP = 14; // offset: 77
}

// Type: Req
// CmdID: 93
message PlayerLogoutCsReq {
}

// Obf: MLINFKJIAEL
// Type: Req
// CmdID: 88
message PlayerGetTokenCsReq {
	string account_uid = 2; // offset: 24
	uint32 channel_id = 3; // offset: 64
	uint32 platform = 4; // offset: 60
	uint32 account_ip_port = 5; // offset: 48
	uint32 uid = 9; // offset: 52
	string EKLOGGLELCG = 10; // offset: 40
	uint32 account_ip = 11; // offset: 56
	uint32 sign_type = 12; // offset: 68
	string token = 14; // offset: 16
}

// Obf: KJAFBEGOCHP
// Type: Rsp
// CmdID: 81
message PlayerGetTokenScRsp {
	string stop_desc = 3; // offset: 16
	uint32 retcode = 4; // offset: 60
	uint64 secret_key_seed = 8; // offset: 48
	BlackInfo black_info = 9; // offset: 32
	uint32 uid = 14; // offset: 56
	string authkey = 15; // offset: 40
}

// Type: Notify
// CmdID: 47
message JKJMAKHANPB {
	string stop_desc = 2; // offset: 24
}

// Obf: FJGOPHGFOGD
// Type: Notify
// CmdID: 26
message PlayerSqueezedScNotify {
	enum KickType {
		KICK_SQUEEZED = 0;
		KICK_BLACK = 1;
		KICK_CHANGE_PWD = 2;
		KICK_LOGIN_WHITE_TIMEOUT = 3;
		KICK_ACE_ANTI_CHEATER = 4;
		KICK_BY_GM = 5;
	}
	BlackInfo black_info = 8; // offset: 16
	KickType kick_type = 9; // offset: 32
}

// Type: Req
// CmdID: 13
message EnterStageCsReq {
	string stop_desc = 12; // offset: 24
}

// Type: Rsp
// CmdID: 71
message EnterStageScRsp {
	uint32 retcode = 13; // offset: 32
	string CCPKFOKOLJB = 14; // offset: 16
}

// Obf: DABIFJNADLI
// Type: Req
// CmdID: 20
message GetBasicInfoCsReq {
}
message PNOLLIAKGDB {
	bool BELKCBAGMFC = 2; // offset: 28
	uint32 JHJKCJKDHIB = 4; // offset: 24
	bool MLPGDPGIFCJ = 5; // offset: 29
}
message PlayerSettingInfo {
	bool AACOEHCFNDB = 1; // offset: 50
	PNOLLIAKGDB OJPAODIHAJE = 2; // offset: 16
	bool DCJECFMMIBC = 3; // offset: 48
	bool DGCNHMIHFJB = 4; // offset: 51
	bool PFBHGAHAFMD = 5; // offset: 55
	bool GNFDDPEMMFN = 6; // offset: 52
	bool MAKOLELFLFH = 7; // offset: 54
	bool FDHEPCKLCAM = 8; // offset: 59
	bool IOJEAOCOBBF = 12; // offset: 60
	bool BOMGNMDOGLM = 14; // offset: 53
	bool NJAKOMDMFJD = 15; // offset: 61
	JPGACKPLGCD CMFCOOEEECB = 220; // offset: 40
	repeated KVP OKAHMFOINPM = 491; // offset: 32
	bool HGPFFGKNPFB = 524; // offset: 56
	bool GOKFNGFFMOB = 1458; // offset: 57
	bool BBEEBBIDJHE = 1685; // offset: 58
	bool LNGHIJGFDKP = 1773; // offset: 49
}

// Obf: GetBasicInfoScRsp
// Type: Rsp
// CmdID: 14
message GetBasicInfoScRsp {
	uint32 exchange_times = 1; // offset: 48
	uint32 gameplay_birthday = 2; // offset: 60
	bool is_gender_set = 4; // offset: 36
	uint32 week_cocoon_finished_count = 5; // offset: 56
	uint32 gender = 7; // offset: 32
	int64 last_set_nickname_time = 9; // offset: 40
	uint32 retcode = 10; // offset: 52
	uint32 cur_day = 11; // offset: 72
	PlayerSettingInfo player_setting_info = 12; // offset: 16
	int64 next_recover_time = 13; // offset: 64
}

// Type: Req
// CmdID: 38
message ExchangeStaminaCsReq {
}

// Type: Rsp
// CmdID: 39
message ExchangeStaminaScRsp {
	uint32 exchange_times = 2; // offset: 36
	uint32 retcode = 3; // offset: 40
	int64 last_recover_time = 6; // offset: 48
	uint32 stamina_add = 10; // offset: 32
	repeated ItemCost item_cost_list = 13; // offset: 24
}

// Obf: LNOPIOLJJKC
// Type: Req
// CmdID: 4
message GetAuthkeyCsReq {
	uint32 sign_type = 4; // offset: 32
	string auth_appid = 10; // offset: 24
	uint32 authkey_ver = 15; // offset: 36
}

// Obf: JKPONOOMEGF
// Type: Rsp
// CmdID: 11
message GetAuthkeyScRsp {
	uint32 retcode = 5; // offset: 48
	uint32 authkey_ver = 6; // offset: 40
	uint32 sign_type = 8; // offset: 44
	string auth_appid = 9; // offset: 32
	string authkey = 15; // offset: 24
}

// Type: Notify
// CmdID: 36
message RegionStopScNotify {
	int64 stop_end_time = 1; // offset: 24
	int64 stop_begin_time = 11; // offset: 32
}

// Type: Notify
// CmdID: 48
message AntiAddictScNotify {
	uint32 msg_type = 8; // offset: 40
	string level = 11; // offset: 24
	string msg = 12; // offset: 32
}

// Obf: KIKFIKEAJFP
// Type: Req
// CmdID: 45
message SetNicknameCsReq {
	bool is_modify = 1; // offset: 32
	string nickname = 5; // offset: 16
}

// Obf: KBEFGELEMLB
// Type: Rsp
// CmdID: 69
message SetNicknameScRsp {
	int64 set_time = 1; // offset: 32
	bool is_modify = 8; // offset: 24
	uint32 retcode = 15; // offset: 28
}

// Obf: FMKFINNEDEG
// Type: Req
// CmdID: 65
message GetLevelRewardTakenListCsReq {
}

// Obf: GPONDAHEKJN
// Type: Rsp
// CmdID: 30
message GetLevelRewardTakenListScRsp {
	uint32 retcode = 13; // offset: 32
	repeated uint32 level_reward_taken_list = 14; // offset: 24
}

// Obf: JDAFEAJCJIB
// Type: Req
// CmdID: 42
message GetLevelRewardCsReq {
	uint32 interacted_prop_entity_id = 3; // offset: 28
	uint32 level = 9; // offset: 24
}

// Obf: FBABBOPJMLK
// Type: Rsp
// CmdID: 72
message GetLevelRewardScRsp {
	uint32 level = 2; // offset: 36
	uint32 retcode = 5; // offset: 32
	ItemList reward = 12; // offset: 16
}

// Type: Req
// CmdID: 21
message SetLanguageCsReq {
	LanguageType HOFEMNAIIHB = 6; // offset: 24
}

// Type: Rsp
// CmdID: 5
message SetLanguageScRsp {
	uint32 retcode = 3; // offset: 24
	LanguageType HOFEMNAIIHB = 4; // offset: 28
}

// Obf: AnnounceData
message AnnounceData {
	uint32 config_id = 2; // offset: 48
	int64 begin_time = 3; // offset: 56
	bool has_recommand = 6; // offset: 41
	uint32 banner_frequency = 8; // offset: 44
	int64 end_time = 10; // offset: 64
	bool BBEBEKFGMAD = 11; // offset: 40
	string emergency_text = 12; // offset: 32
	string banner_text = 15; // offset: 16
}

// Obf: BIDBPLDFGNK
// Type: Notify
// CmdID: 41
message ServerAnnounceNotify {
	repeated AnnounceData announce_data_list = 8; // offset: 24
}

// Obf: GateServer
message GateServer {
	string region_name = 1;
	string ip = 2;
	string lua_url = 3;
	string ex_resource_url = 5;
	uint32 port = 6;
	bool unk1 = 7;
	bool unk2 = 11;
	string asset_bundle_url = 15;
	bool unk3 = 48;
	bool unk4 = 726;
	string msg = 790;
	bool unk5 = 903;
	bool unk6 = 1515;
	string asset_bundle_url_android = 1774;
	string ifix_url = 2038;
	string client_secret_key = 2044;
	bool unk7 = 2047;
	string mdk_res_version = 796;
	string ifix_version = 1657;
	uint32 retcode = 14;
}

// Type: Notify
// CmdID: 62
message GateServerScNotify {
	string OKLNPLEDKDE = 5; // offset: 24
}

// Obf: AIOOFPINJMD
// Type: Req
// CmdID: 12
message SetGenderCsReq {
	Gender gender = 5; // offset: 24
}

// Obf: PEDNDGLKGKN
// Type: Rsp
// CmdID: 35
message SetGenderScRsp {
	MultiPathAvatarType cur_avatar_path = 8; // offset: 24
	uint32 retcode = 12; // offset: 28
}

// Obf: HIPEONEPCFF
// Type: Req
// CmdID: 75
message SetPlayerInfoCsReq {
	bool is_modify = 3; // offset: 36
	Gender gender = 8; // offset: 32
	string nickname = 11; // offset: 24
}

// Obf: JNAOCJBLPPC
// Type: Rsp
// CmdID: 44
message SetPlayerInfoScRsp {
	uint32 retcode = 1; // offset: 32
	bool is_modify = 5; // offset: 24
	MultiPathAvatarType cur_avatar_path = 7; // offset: 28
	int64 set_time = 10; // offset: 40
}

// Obf: FAICKIOJMDI
// Type: Req
// CmdID: 15
message QueryProductInfoCsReq {
}
message Product {
	uint32 ENCDABOOIKJ = 1; // offset: 72
	int64 end_time = 2; // offset: 48
	uint32 CLDELMPNAPB = 3; // offset: 44
	string price_tier = 4; // offset: 24
	int64 begin_time = 5; // offset: 56
	string product_id = 7; // offset: 16
	bool double_reward = 8; // offset: 68
	ProductGiftType gift_type = 10; // offset: 64
	uint32 EMIHEDNKBCA = 15; // offset: 40
}

// Obf: GLCGPJLPPPD
// Type: Rsp
// CmdID: 18
message QueryProductInfoScRsp {
	repeated Product product_list = 4; // offset: 24
	uint32 BFFHEKCGLMA = 5; // offset: 36
	uint32 BEBFNDIGKFK = 6; // offset: 40
	uint64 month_card_out_date_time = 7; // offset: 48
	uint32 retcode = 14; // offset: 32
}

// Obf: KLMEKMCOMBA
// Type: Notify
// CmdID: 46
message MonthCardRewardNotify {
	ItemList reward = 1; // offset: 24
}

// Type: Notify
// CmdID: 53
message ClientDownloadDataScNotify {
	ClientDownloadData download_data = 14; // offset: 16
}

// Obf: AGBAOKHOJJP
// Type: Notify
// CmdID: 1
message ClientObjDownloadDataScNotify {
	ClientObjDownloadData data = 11; // offset: 24
}

// Obf: UpdateFeatureSwitchScNotify
// Type: Notify
// CmdID: 52
message UpdateFeatureSwitchScNotify {
	repeated HDOKNMGIDMB switch_info_list = 13; // offset: 16
}

// Obf: KKEFJFJLOMJ
// Type: Notify
// CmdID: 89
message DailyRefreshNotify {
	uint32 MDIIJKBHBBI = 10; // offset: 24
}

// Obf: OGIJHINKOKN
// Type: Req
// CmdID: 82
message SetGameplayBirthdayCsReq {
	uint32 birthday = 11; // offset: 24
}

// Obf: EAAHHGIGLNN
// Type: Rsp
// CmdID: 94
message SetGameplayBirthdayScRsp {
	uint32 retcode = 7; // offset: 24
	uint32 birthday = 12; // offset: 28
}

// Type: Req
// CmdID: 37
message FLMODPLLMNF {
	string GIFOENLDCHO = 8; // offset: 16
	uint32 NMELIDCDKAK = 14; // offset: 32
}

// Type: Rsp
// CmdID: 51
message MHMFPLEKOIL {
	uint32 retcode = 13; // offset: 24
}

// Type: Rsp
// CmdID: 19
message IAOCHINIPGK {
	repeated uint32 FLFBHONGDAD = 1; // offset: 16
	uint32 retcode = 11; // offset: 32
}

// Type: Req
// CmdID: 28
message PlayerHeartBeatCsReq {
	LFKKOMBKJIP sc_data = 1; // offset: 16
	uint64 client_time_ms = 8; // offset: 40
	uint32 EOHFCODKKMD = 15; // offset: 32
}

// Type: Rsp
// CmdID: 98
message PlayerHeartBeatScRsp {
	uint64 client_time_ms = 5; // offset: 40
	ClientDownloadData download_data = 6; // offset: 24
	uint32 retcode = 9; // offset: 32
	uint64 server_time_ms = 13; // offset: 48
}

// Obf: DCJOEGCEEOP
// Type: Notify
// CmdID: 66
message FeatureSwitchClosedScNotify {
	FeatureSwitchType FMGLEBCIBHG = 6; // offset: 24
}
message SecretKeyInfo {
	SecretKeyType type = 3; // offset: 32
	string secret_key = 13; // offset: 24
}

// Obf: JODCPJNHFDL
// Type: Req
// CmdID: 6
message GetSecretKeyInfoCsReq {
	bytes CILHEPFKKNI = 5; // offset: 24
}

// Obf: AHIEHELEMMN
// Type: Rsp
// CmdID: 74
message GetSecretKeyInfoScRsp {
	bytes secret_rsp = 4; // offset: 32
	repeated SecretKeyInfo secret_info = 5; // offset: 24
	uint32 retcode = 14; // offset: 40
}

// Obf: HMFGBKIIHKB
// Type: Req
// CmdID: 57
message PlayerLoginFinishCsReq {
}

// Obf: ELCNIAHOIMG
// Type: Rsp
// CmdID: 27
message PlayerLoginFinishScRsp {
	uint32 retcode = 8; // offset: 24
}

// Type: Req
// CmdID: 54
message ForceSyncGameStateFinishCSReq {
}

// Type: Rsp
// CmdID: 56
message ForceSyncGameStateFinishScRsp {
	uint32 retcode = 3; // offset: 24
}
message VideoKeyInfo {
	uint64 IBDIMHPOPOJ = 1; // offset: 24
	uint32 id = 2; // offset: 40
	uint64 video_key = 11; // offset: 32
}

// Obf: ICJJFFBPOGC
// Type: Req
// CmdID: 23
message GetVideoVersionKeyCsReq {
}

// Obf: KAHKFFDIHNN
// Type: Rsp
// CmdID: 83
message GetVideoVersionKeyScRsp {
	repeated VideoKeyInfo activity_video_key_info_list = 3; // offset: 16
	repeated VideoKeyInfo video_key_info_list = 10; // offset: 24
	uint32 retcode = 14; // offset: 40
}
message LFCHHMGGMPC {
	uint32 BMFJFFBPADD = 5; // offset: 28
	uint32 show_type = 7; // offset: 36
	uint32 EHNJDIDABHD = 8; // offset: 32
	uint32 content_id = 11; // offset: 24
}

// Obf: BPKIBBNHPAA
// Type: Notify
// CmdID: 95
message SetRedPointStatusScNotify {
	uint32 BMFJFFBPADD = 1; // offset: 40
	uint32 content_id = 6; // offset: 36
	uint32 show_type = 7; // offset: 32
	repeated LFCHHMGGMPC BKAKIJOACPO = 9; // offset: 24
	uint32 uid = 15; // offset: 44
}

// Obf: KOMDFDFEGDN
// Type: Req
// CmdID: 90
message ReserveStaminaExchangeCsReq {
	uint32 num = 3; // offset: 24
}

// Obf: OBAMDDOKJIH
// Type: Rsp
// CmdID: 32
message ReserveStaminaExchangeScRsp {
	uint32 retcode = 12; // offset: 24
	uint32 num = 14; // offset: 28
}

// Obf: DDDDKIANBGI
// Type: Notify
// CmdID: 70
message StaminaInfoScNotify {
	uint32 stamina = 4; // offset: 28
	uint32 reserve_stamina = 7; // offset: 24
	int64 next_recover_time = 10; // offset: 40
	int64 EHJCPBJNEOO = 15; // offset: 32
}
message UpdatePlayerSetting {
	oneof BKAGLMFNKKA {
		bool AACOEHCFNDB = 9; // offset: 16
		bool DGCNHMIHFJB = 5; // offset: 16
		bool FDHEPCKLCAM = 7; // offset: 16
		bool DCJECFMMIBC = 12; // offset: 16
		bool IOJEAOCOBBF = 1; // offset: 16
		bool PFBHGAHAFMD = 4; // offset: 16
		bool GNFDDPEMMFN = 8; // offset: 16
		bool MAKOLELFLFH = 6; // offset: 16
		bool NJAKOMDMFJD = 2; // offset: 16
		PNOLLIAKGDB OJPAODIHAJE = 14; // offset: 16
		bool BOMGNMDOGLM = 56; // offset: 16
		bool BBEEBBIDJHE = 1951; // offset: 16
		bool HGPFFGKNPFB = 1477; // offset: 16
		bool LNGHIJGFDKP = 541; // offset: 16
		bool GOKFNGFFMOB = 1238; // offset: 16
		JPGACKPLGCD CMFCOOEEECB = 1738; // offset: 16
		KVP EGLOIFDIDPK = 1456; // offset: 16
	}
}

// Obf: KLDMCHLFPDL
// Type: Req
// CmdID: 97
message UpdatePlayerSettingCsReq {
	UpdatePlayerSetting player_setting = 3; // offset: 24
}

// Obf: OGPOBJMBBLE
// Type: Rsp
// CmdID: 3
message UpdatePlayerSettingScRsp {
	UpdatePlayerSetting player_setting = 6; // offset: 16
	uint32 retcode = 13; // offset: 32
}

// Obf: AMIMPEBJMAP
// Type: Req
// CmdID: 64
message ClientObjUploadCsReq {
	ALGMICKCABI content_type = 1; // offset: 36
	uint32 EOHFCODKKMD = 4; // offset: 32
	bytes sc_data = 14; // offset: 16
}

// Obf: AMHDDDHIGAM
// Type: Rsp
// CmdID: 68
message ClientObjUploadScRsp {
	uint32 retcode = 2; // offset: 32
	ClientObjDownloadData data = 12; // offset: 24
}
message GLNJKGOGKKL {
	repeated string ODAHKGONNHJ = 2; // offset: 24
}
message IBCDDGKNICG {
	GLNJKGOGKKL black_list = 1; // offset: 16
	bool CNMAFMEKADJ = 2; // offset: 32
}
message EAFHBODFEKM {
	oneof GBGKEJPFEIL {
		bool CNMAFMEKADJ = 1829; // offset: 16
		GLNJKGOGKKL BDHBFFEOPFG = 378; // offset: 16
		GLNJKGOGKKL DLDGBIBHDKM = 279; // offset: 16
	}
}

// Type: Req
// CmdID: 91
message KEKFNKDLDOM {
	oneof JNLIJAABGFF {
		IBCDDGKNICG ICKNLCPNHCD = 1425; // offset: 16
		EAFHBODFEKM LOMPGELJCLM = 1509; // offset: 16
	}
}

// Type: Rsp
// CmdID: 59
message IDAIHHGGPIJ {
	uint32 retcode = 15; // offset: 24
}
message EMFKFGCBJBP {
}

// Type: Rsp
// CmdID: 76
message GGIHCKPGACF {
	repeated string PKLFOJBALKK = 4; // offset: 16
	repeated string HBBIHGLHKDM = 6; // offset: 24
	repeated string EHMGEMMNPLA = 8; // offset: 40
	uint32 retcode = 9; // offset: 48
}

// Obf: BBNLGADEMFF
enum CmdPlayerBoardType {
	BBNLGADEMFF_NLCDGIPGFDJ = 0;
	CmdSetSignatureCsReq = 2813;
	CmdSetIsDisplayAvatarInfoCsReq = 2886;
	CmdSetHeadIconCsReq = 2893;
	BBNLGADEMFF_OJKCPGJLCDI = 2826;
	CmdSetPersonalCardCsReq = 2838;
	CmdSetPersonalCardScRsp = 2839;
	CmdSetDisplayAvatarCsReq = 2888;
	CmdSetAssistAvatarScRsp = 2833;
	CmdSetHeadIconScRsp = 2858;
	CmdSetSignatureScRsp = 2871;
	CmdSetDisplayAvatarScRsp = 2881;
	CmdGetPlayerBoardDataCsReq = 2825;
	CmdSetAssistAvatarCsReq = 2840;
	CmdGetPlayerBoardDataScRsp = 2878;
	CmdSetIsDisplayAvatarInfoScRsp = 2847;
}

// Obf: HeadIconData
message HeadIconData {
	uint32 id = 9; // offset: 24
}

// Obf: DisplayAvatarData
message DisplayAvatarData {
	uint32 avatar_id = 1; // offset: 24
	uint32 pos_index = 9; // offset: 28
}
message DisplayAvatarVec {
	bool is_display = 8; // offset: 32
	repeated DisplayAvatarData display_avatar_list = 12; // offset: 24
}

// Obf: CDHHAGAANBG
// Type: Req
// CmdID: 2825
message GetPlayerBoardDataCsReq {
}

// Obf: BHLJGGCMJAB
// Type: Rsp
// CmdID: 2878
message GetPlayerBoardDataScRsp {
	uint32 retcode = 2; // offset: 76
	repeated uint32 assist_avatar_id_list = 3; // offset: 16
	string signature = 5; // offset: 64
	repeated uint32 unlocked_personal_card_list = 6; // offset: 48
	DisplayAvatarVec display_avatar_vec = 8; // offset: 24
	repeated HeadIconData unlocked_head_icon_list = 9; // offset: 40
	uint32 current_head_icon_id = 10; // offset: 72
	HeadFrameInfo head_frame_info = 13; // offset: 32
	uint32 current_personal_card_id = 15; // offset: 80
}

// Obf: PPCIADKDOHF
// Type: Req
// CmdID: 2893
message SetHeadIconCsReq {
	uint32 id = 12; // offset: 24
}

// Obf: LDFOADKBPJI
// Type: Rsp
// CmdID: 2858
message SetHeadIconScRsp {
	uint32 retcode = 1; // offset: 24
	uint32 current_head_icon_id = 13; // offset: 28
}

// Obf: IBAGCHAMPEK
// Type: Req
// CmdID: 2838
message SetPersonalCardCsReq {
	uint32 id = 13; // offset: 24
}

// Obf: KJANDMMOIPP
// Type: Rsp
// CmdID: 2839
message SetPersonalCardScRsp {
	uint32 retcode = 9; // offset: 24
	uint32 current_personal_card_id = 13; // offset: 28
}

// Obf: GIIJKONEENG
// Type: Req
// CmdID: 2888
message SetDisplayAvatarCsReq {
	repeated DisplayAvatarData display_avatar_list = 12; // offset: 24
}

// Obf: KFEPCAOAMML
// Type: Rsp
// CmdID: 2881
message SetDisplayAvatarScRsp {
	repeated DisplayAvatarData display_avatar_list = 7; // offset: 24
	uint32 retcode = 13; // offset: 32
}

// Obf: ALOLLLFPILL
// Type: Req
// CmdID: 2886
message SetIsDisplayAvatarInfoCsReq {
	bool is_display = 9; // offset: 24
}

// Obf: NMCCBANNPKB
// Type: Rsp
// CmdID: 2847
message SetIsDisplayAvatarInfoScRsp {
	bool is_display = 7; // offset: 28
	uint32 retcode = 8; // offset: 24
}

// Obf: MKDOMJOBANO
// Type: Req
// CmdID: 2813
message SetSignatureCsReq {
	string signature = 13; // offset: 24
}

// Obf: FOAAMBMEOPK
// Type: Rsp
// CmdID: 2871
message SetSignatureScRsp {
	string signature = 7; // offset: 16
	uint32 retcode = 10; // offset: 32
}

// Obf: KPJIDIACCKN
// Type: Req
// CmdID: 2840
message SetAssistAvatarCsReq {
	repeated uint32 avatar_id_list = 9; // offset: 16
	uint32 avatar_id = 10; // offset: 32
}

// Obf: KFMDFCHECOM
// Type: Rsp
// CmdID: 2833
message SetAssistAvatarScRsp {
	uint32 avatar_id = 9; // offset: 32
	uint32 retcode = 10; // offset: 36
	repeated uint32 avatar_id_list = 15; // offset: 16
}

// Obf: JGDHIFOCFMM
enum CmdPlayerReturnType {
	JGDHIFOCFMM_NLCDGIPGFDJ = 0;
	CmdPlayerReturnExtraHcoinProgressScNotify = 4569;
	CmdCEINLELLFLF = 4565;
	CmdFEIHGOEPANI = 4525;
	CmdPlayerReturnInfoQueryCsReq = 4526;
	CmdPlayerReturnTakeCustomRelicCsReq = 4539;
	CmdPlayerReturnForceFinishScNotify = 4571;
	CmdPlayerReturnTakeExtraHcoinScNotify = 4538;
	CmdPlayerReturnInfoQueryScRsp = 4513;
	CmdTakeReturnExtraHcoinRewardScRsp = 4545;
	CmdTakeReturnExtraHcoinRewardCsReq = 4548;
	CmdPlayerReturnSignCsReq = 4578;
	CmdKFFEEDHEOOH = 4530;
	CmdPlayerReturnTakePointRewardScRsp = 4581;
	CmdPlayerReturnPointChangeScNotify = 4558;
	CmdPlayerReturnTakeRelicScRsp = 4533;
	CmdPlayerReturnSignScRsp = 4593;
	CmdPlayerReturnTakeRelicCsReq = 4540;
	CmdPlayerReturnTakeCustomRelicScRsp = 4504;
	CmdPlayerReturnTakePointRewardCsReq = 4588;
	CmdPlayerReturnTakeRewardScRsp = 4547;
	CmdPlayerReturnTakeRewardCsReq = 4586;
}

enum PJIMOBKFDNP {
	PJIMOBKFDNP_OPIIMBHECNJ = 0;
	PJIMOBKFDNP_FIKAGKIKFIJ = 1;
	PJIMOBKFDNP_NDBNMMJCAIC = 2;
}

enum MMLAPDEBFJM {
	MMLAPDEBFJM_NLCDGIPGFDJ = 0;
	MMLAPDEBFJM_reward = 1;
	MMLAPDEBFJM_IEIKAPNDPCI = 2;
}

// Type: Notify
// CmdID: 4525
message FEIHGOEPANI {
	uint32 PKOKBHDLFNM = 3; // offset: 24
}
message KEHOGIENDKC {
	uint32 DACCGMCONBP = 10; // offset: 24
	uint32 AIBJEFAPGMN = 12; // offset: 32
	MMLAPDEBFJM authkey_ver = 15; // offset: 28
}

// Obf: LAJDMCJIBOP
// Type: Req
// CmdID: 4578
message PlayerReturnSignCsReq {
	repeated KEHOGIENDKC AALGEFBLHEA = 7; // offset: 16
}

// Obf: INPJIEHGCEG
// Type: Rsp
// CmdID: 4593
message PlayerReturnSignScRsp {
	repeated KEHOGIENDKC AALGEFBLHEA = 1; // offset: 24
	uint32 retcode = 6; // offset: 40
	repeated ItemList GPFMEDKPEAJ = 13; // offset: 32
}

// Obf: FPKPLOPKPBG
// Type: Notify
// CmdID: 4558
message PlayerReturnPointChangeScNotify {
	uint32 MNMJCNOLIII = 8; // offset: 24
}

// Obf: KFBDGDKFPJO
// Type: Req
// CmdID: 4588
message PlayerReturnTakePointRewardCsReq {
	uint32 DACCGMCONBP = 6; // offset: 28
	uint32 GMKKBFHOMCM = 10; // offset: 24
}

// Obf: CEAFINHNEBL
// Type: Rsp
// CmdID: 4581
message PlayerReturnTakePointRewardScRsp {
	ItemList JNJPKNPCMIB = 2; // offset: 16
	uint32 DACCGMCONBP = 4; // offset: 32
	uint32 retcode = 5; // offset: 36
	uint32 GMKKBFHOMCM = 11; // offset: 40
}

// Obf: KIKINEEIMFM
// Type: Req
// CmdID: 4586
message PlayerReturnTakeRewardCsReq {
}

// Obf: MBCOHBBDJAA
// Type: Rsp
// CmdID: 4547
message PlayerReturnTakeRewardScRsp {
	uint32 retcode = 4; // offset: 32
	ItemList GPFMEDKPEAJ = 9; // offset: 16
}

// Obf: PHGMHBGDPFG
// Type: Req
// CmdID: 4526
message PlayerReturnInfoQueryCsReq {
}
message IBKDHOIDKJA {
	uint32 KAMECNCKNAB = 1; // offset: 88
	repeated uint32 ELKOPDBOMAD = 2; // offset: 32
	repeated uint32 KMMNJBAEMAB = 3; // offset: 48
	int64 start_time = 4; // offset: 120
	uint32 MODFNPMCAAN = 5; // offset: 92
	bool HHFIEKHFNFP = 6; // offset: 83
	PJIMOBKFDNP status = 7; // offset: 108
	bool is_taken_reward = 8; // offset: 81
	int64 finish_time = 9; // offset: 72
	uint32 world_level = 10; // offset: 104
	uint32 MNMJCNOLIII = 11; // offset: 112
	repeated PileItem NLMEEHNNOCP = 12; // offset: 56
	repeated uint32 KCHPDJINNLH = 13; // offset: 16
	uint32 PDHOMKKMEME = 15; // offset: 84
	uint32 HBPKGODMJNK = 578; // offset: 68
	bool NFFOAHMFCMD = 622; // offset: 82
	uint32 CLALLJOACNF = 751; // offset: 100
	uint32 ACDPGFLDFHK = 862; // offset: 96
	uint32 CFCNIPLEKON = 1101; // offset: 64
	CEDCMIMKJHK BIHNCKPBBOA = 1617; // offset: 40
	bool OCPLGILCPPN = 1696; // offset: 80
}
message CEDCMIMKJHK {
	uint32 avatar_id = 11; // offset: 28
	bool is_open = 12; // offset: 24
}

// Obf: EBCEGDPGHLE
// Type: Rsp
// CmdID: 4513
message PlayerReturnInfoQueryScRsp {
	IBKDHOIDKJA NAJPHJOFGBB = 2; // offset: 24
	uint32 retcode = 5; // offset: 36
	uint32 HDGPODMDLBL = 15; // offset: 32
}

// Obf: CCKNNFODOMO
// Type: Notify
// CmdID: 4571
message PlayerReturnForceFinishScNotify {
	IBKDHOIDKJA NAJPHJOFGBB = 3; // offset: 16
}

// Obf: OABAALAHIIA
// Type: Req
// CmdID: 4540
message PlayerReturnTakeRelicCsReq {
	uint32 avatar_id = 11; // offset: 24
}

// Obf: FFEKPEKHAPC
// Type: Rsp
// CmdID: 4533
message PlayerReturnTakeRelicScRsp {
	ItemList item_list = 4; // offset: 24
	uint32 retcode = 5; // offset: 36
	uint32 avatar_id = 7; // offset: 32
}

// Obf: GPDJDMFMBCN
// Type: Notify
// CmdID: 4538
message PlayerReturnTakeExtraHcoinScNotify {
	uint32 ONAEMDLNJDA = 3; // offset: 28
	uint32 LHGKNPENJDO = 5; // offset: 32
	bool EAJKAIKEHOL = 8; // offset: 24
}

// Obf: HPKIKIEFALC
// Type: Req
// CmdID: 4539
message PlayerReturnTakeCustomRelicCsReq {
	uint32 avatar_id = 6; // offset: 24
}

// Obf: FODMCAGKAIO
// Type: Rsp
// CmdID: 4504
message PlayerReturnTakeCustomRelicScRsp {
	uint32 retcode = 6; // offset: 32
	repeated Relic relic_list = 9; // offset: 24
	uint32 avatar_id = 14; // offset: 36
}

// Obf: IDFEIJGOFBL
// Type: Req
// CmdID: 4548
message TakeReturnExtraHcoinRewardCsReq {
}

// Obf: FPKDOKMHBKN
// Type: Rsp
// CmdID: 4545
message TakeReturnExtraHcoinRewardScRsp {
	uint32 retcode = 10; // offset: 32
	ItemList reward = 13; // offset: 24
	uint32 CFCNIPLEKON = 15; // offset: 36
}

// Obf: LODKEPFLBKK
// Type: Notify
// CmdID: 4569
message PlayerReturnExtraHcoinProgressScNotify {
	uint32 HBPKGODMJNK = 10; // offset: 24
}

// Type: Req
// CmdID: 4565
message CEINLELLFLF {
	repeated AvatarLineup avatar_list = 8; // offset: 24
	uint32 ACDPGFLDFHK = 12; // offset: 32
}

// Type: Rsp
// CmdID: 4530
message KFFEEDHEOOH {
	uint32 ACDPGFLDFHK = 7; // offset: 28
	uint32 retcode = 14; // offset: 24
}

// Obf: MENMKJOIJBE
enum CmdPlotType {
	MENMKJOIJBE_NLCDGIPGFDJ = 0;
	CmdONNIDPKMOPB = 1178;
	CmdHPOFMGOOHAN = 1125;
}

// Type: Req
// CmdID: 1125
message HPOFMGOOHAN {
	uint32 CAMCBJPOMLC = 15; // offset: 24
}

// Type: Rsp
// CmdID: 1178
message ONNIDPKMOPB {
	uint32 retcode = 3; // offset: 24
	uint32 CAMCBJPOMLC = 12; // offset: 28
}

// Obf: JICHKOBOBNA
enum CmdPunkLordType {
	JICHKOBOBNA_NLCDGIPGFDJ = 0;
	CmdPunkLordMonsterKilledNotify = 3221;
	CmdPunkLordBattleResultScNotify = 3230;
	CmdTakeKilledPunkLordMonsterScoreCsReq = 3205;
	CmdPunkLordDataChangeNotify = 3210;
	CmdStartPunkLordRaidScRsp = 3258;
	CmdSummonPunkLordMonsterScRsp = 3247;
	CmdGetPunkLordMonsterDataScRsp = 3278;
	CmdTakePunkLordPointRewardScRsp = 3238;
	CmdGetKilledPunkLordMonsterDataCsReq = 3242;
	CmdSharePunkLordMonsterCsReq = 3288;
	CmdGetPunkLordBattleRecordScRsp = 3229;
	CmdGetPunkLordMonsterDataCsReq = 3225;
	CmdGetKilledPunkLordMonsterDataScRsp = 3272;
	CmdSharePunkLordMonsterScRsp = 3281;
	CmdGetPunkLordDataScRsp = 3211;
	CmdGetPunkLordBattleRecordCsReq = 3243;
	CmdPunkLordMonsterInfoScNotify = 3239;
	CmdSummonPunkLordMonsterCsReq = 3286;
	CmdStartPunkLordRaidCsReq = 3293;
	CmdTakeKilledPunkLordMonsterScoreScRsp = 3241;
	CmdTakePunkLordPointRewardCsReq = 3233;
	CmdGetPunkLordDataCsReq = 3204;
	CmdPunkLordRaidTimeOutScNotify = 3248;
}

enum OKJKPOEGBCK {
	OKJKPOEGBCK_NLCDGIPGFDJ = 0;
	OKJKPOEGBCK_LJBCDJNNBJH = 1;
	OKJKPOEGBCK_PDBDEFEOAIA = 2;
	OKJKPOEGBCK_OIOODGOPIHK = 3;
	OKJKPOEGBCK_MFKMJIKDHNG = 4;
}
message JEIAEAEGEBJ {
	PunkLordMonsterBasicInfo basic_info = 1; // offset: 32
	GMDHIALLILJ FDJHMFAGEOA = 4; // offset: 16
	uint32 HDHIFJNJOBK = 11; // offset: 44
	PunkLordAttackerStatus HCEENPENFGI = 13; // offset: 40
}

// Obf: PNLGHIIDPGF
// Type: Req
// CmdID: 3225
message GetPunkLordMonsterDataCsReq {
}

// Obf: FDJIMEBNEMD
// Type: Rsp
// CmdID: 3278
message GetPunkLordMonsterDataScRsp {
	uint32 retcode = 9; // offset: 32
	repeated JEIAEAEGEBJ PBLBBDBDLEK = 15; // offset: 24
}

// Obf: GNEBIBDMKHP
// Type: Req
// CmdID: 3293
message StartPunkLordRaidCsReq {
	uint32 uid = 1; // offset: 24
	uint32 monster_id = 4; // offset: 32
	bool IDMPMEOCJIK = 5; // offset: 28
}

// Obf: NEJJPFMAOOB
// Type: Rsp
// CmdID: 3258
message StartPunkLordRaidScRsp {
	int64 PEAMKPJKIEL = 1; // offset: 48
	uint32 retcode = 5; // offset: 60
	JEIAEAEGEBJ ONICJOAOEMA = 6; // offset: 24
	bool IDMPMEOCJIK = 7; // offset: 56
	repeated uint32 FNMGMNABAJG = 11; // offset: 16
	GEGLJDELBHA scene = 13; // offset: 32
}

// Obf: ANJMHNEPNBP
// Type: Req
// CmdID: 3288
message SharePunkLordMonsterCsReq {
	PunkLordShareType share_type = 1; // offset: 28
	uint32 uid = 5; // offset: 32
	uint32 monster_id = 9; // offset: 24
}

// Obf: KKCHHOMOBDG
// Type: Rsp
// CmdID: 3281
message SharePunkLordMonsterScRsp {
	PunkLordShareType share_type = 1; // offset: 36
	uint32 retcode = 6; // offset: 28
	uint32 uid = 7; // offset: 32
	uint32 monster_id = 15; // offset: 24
}

// Obf: EHJHGMHCEAL
// Type: Req
// CmdID: 3286
message SummonPunkLordMonsterCsReq {
}

// Obf: MOLFHANBJOG
// Type: Rsp
// CmdID: 3247
message SummonPunkLordMonsterScRsp {
	JEIAEAEGEBJ ONICJOAOEMA = 1; // offset: 16
	uint32 retcode = 6; // offset: 32
}

// Obf: GHEMEECJJIB
// Type: Req
// CmdID: 3233
message TakePunkLordPointRewardCsReq {
	uint32 level = 4; // offset: 24
	bool LEFJBFMDEGK = 13; // offset: 28
}

// Obf: INBDBFEEBAD
// Type: Rsp
// CmdID: 3238
message TakePunkLordPointRewardScRsp {
	uint32 retcode = 2; // offset: 40
	uint32 level = 13; // offset: 36
	ItemList reward = 14; // offset: 16
	bool LEFJBFMDEGK = 15; // offset: 32
}

// Obf: EBNLFLNLAFK
// Type: Notify
// CmdID: 3239
message PunkLordMonsterInfoScNotify {
	CJDIAHDLCNJ FDJHMFAGEOA = 3; // offset: 16
	PunkLordMonsterBasicInfo basic_info = 7; // offset: 32
	repeated uint32 FNMGMNABAJG = 13; // offset: 24
	PAKHPLAHGBN reason = 15; // offset: 48
}

// Obf: PPONBPACPAE
// Type: Req
// CmdID: 3204
message GetPunkLordDataCsReq {
}

// Obf: GBDFLHHJCGM
// Type: Rsp
// CmdID: 3211
message GetPunkLordDataScRsp {
	repeated uint32 IEPPNGMCKJH = 2; // offset: 24
	int64 NEOGLPEGBHE = 5; // offset: 40
	uint32 retcode = 8; // offset: 48
	uint32 BPCOIOLGEMK = 10; // offset: 32
	uint32 KCBPBMOJOKJ = 11; // offset: 56
	uint32 GIIIFDGFJPG = 12; // offset: 36
	uint32 MGBHJPPJHEA = 14; // offset: 60
	uint32 LCAFKPGBDOL = 15; // offset: 52
}

// Obf: IDOMBJBHFEO
// Type: Notify
// CmdID: 3248
message PunkLordRaidTimeOutScNotify {
	PunkLordMonsterBasicInfo ONICJOAOEMA = 10; // offset: 16
}

// Obf: IKCMNJJGNHK
// Type: Notify
// CmdID: 3230
message PunkLordBattleResultScNotify {
	uint32 assist_score = 1; // offset: 48
	uint32 damage_score = 6; // offset: 40
	PunkLordMonsterBasicInfo ONICJOAOEMA = 10; // offset: 24
	CJDIAHDLCNJ FDJHMFAGEOA = 11; // offset: 16
	uint32 final_hit_score = 13; // offset: 44
}
message FGFGINEFBBK {
	uint32 FJKDAFHKPGC = 1; // offset: 32
	bool APCMAIJPPEH = 3; // offset: 40
	uint32 config_id = 4; // offset: 28
	int64 create_time = 5; // offset: 48
	uint32 world_level = 6; // offset: 24
	uint32 monster_id = 7; // offset: 36
}

// Obf: CDBGGEJBNNM
// Type: Req
// CmdID: 3242
message GetKilledPunkLordMonsterDataCsReq {
}

// Obf: DJALOMIEKNP
// Type: Rsp
// CmdID: 3272
message GetKilledPunkLordMonsterDataScRsp {
	repeated CDCCPHILOCC BLLLCPONFBE = 10; // offset: 32
	repeated FGFGINEFBBK CPPDAIMLDGB = 11; // offset: 24
	uint32 retcode = 15; // offset: 40
}

// Obf: EPHPENFEPAJ
// Type: Notify
// CmdID: 3221
message PunkLordMonsterKilledNotify {
	FGFGINEFBBK PEBMDFAGJAM = 15; // offset: 16
}

// Obf: OMEEPHBFPHM
// Type: Req
// CmdID: 3205
message TakeKilledPunkLordMonsterScoreCsReq {
	CDCCPHILOCC KHOLBEGBFOM = 5; // offset: 16
	bool LOMGNMFAPGE = 12; // offset: 32
}

// Obf: MMIGPCKGBBO
// Type: Rsp
// CmdID: 3241
message TakeKilledPunkLordMonsterScoreScRsp {
	uint32 score_id = 1; // offset: 40
	bool LOMGNMFAPGE = 5; // offset: 32
	uint32 retcode = 13; // offset: 36
	repeated CDCCPHILOCC DFJFJNPCIPA = 15; // offset: 24
}

// Obf: NOAINAEHIJE
// Type: Notify
// CmdID: 3210
message PunkLordDataChangeNotify {
	uint32 MGBHJPPJHEA = 3; // offset: 32
	uint32 BPCOIOLGEMK = 8; // offset: 28
	uint32 GIIIFDGFJPG = 10; // offset: 24
}

// Obf: BIMOGNBKODL
// Type: Req
// CmdID: 3243
message GetPunkLordBattleRecordCsReq {
	CDCCPHILOCC KHOLBEGBFOM = 13; // offset: 24
}

// Obf: MAMCOFJJOHG
// Type: Rsp
// CmdID: 3229
message GetPunkLordBattleRecordScRsp {
	repeated TryDownLoadReplay HLCIMLHMEKI = 1; // offset: 32
	CDCCPHILOCC KHOLBEGBFOM = 7; // offset: 40
	uint32 retcode = 13; // offset: 48
	repeated CJDIAHDLCNJ GAIKBNPIFLM = 15; // offset: 24
}
message BLPHONLBNBO {
	uint32 instance_id = 4; // offset: 24
	uint32 group_id = 12; // offset: 28
}
message AHCLMAGAHPN {
	uint32 entity_id = 3; // offset: 32
	MotionInfo motion = 7; // offset: 24
}
message DGHPIDMDOJM {
	uint32 GABODFDMPMM = 2; // offset: 48
	AHCLMAGAHPN PPJFMBIGIGB = 4; // offset: 16
	BLPHONLBNBO OEIBHLMDJKA = 6; // offset: 32
	string uuid = 7; // offset: 40
}

// Obf: HNJJNHPFBGO
enum CmdQuestType {
	HNJJNHPFBGO_NLCDGIPGFDJ = 0;
	CmdTakeQuestOptionalRewardScRsp = 933;
	CmdTakeQuestRewardScRsp = 958;
	CmdTakeQuestOptionalRewardCsReq = 940;
	CmdGetQuestRecordScRsp = 947;
	CmdFinishQuestCsReq = 913;
	HNJJNHPFBGO_OJKCEKKDLEL = 939;
	CmdBatchGetQuestDataScRsp = 904;
	CmdGetQuestRecordCsReq = 986;
	CmdTakeQuestRewardCsReq = 993;
	CmdGetQuestDataCsReq = 925;
	CmdGetQuestDataScRsp = 978;
	CmdFinishQuestScRsp = 971;
	CmdQuestRecordScNotify = 926;
}

// Obf: AKFLCCJFKNF
enum QuestStatus {
	QUEST_NONE = 0;
	QUEST_DOING = 1;
	QUEST_FINISH = 2;
	QUEST_CLOSE = 3;
	QUEST_DELETE = 4;
}

// Obf: EMKAACCBCCB
// Type: Req
// CmdID: 925
message GetQuestDataCsReq {
}

// Obf: Quest
message Quest {
	uint32 progress = 1; // offset: 32
	int64 finish_time = 2; // offset: 48
	repeated uint32 _records = 3; // offset: 16
	uint32 id = 14; // offset: 40
	QuestStatus status = 15; // offset: 36
}

// Obf: BMENGFFDCNB
// Type: Rsp
// CmdID: 978
message GetQuestDataScRsp {
	uint32 retcode = 3; // offset: 32
	repeated Quest quest_list = 13; // offset: 16
}

// Obf: EMHALMBFHKG
// Type: Req
// CmdID: 993
message TakeQuestRewardCsReq {
	repeated uint32 succ_quest_id_list = 2; // offset: 24
}

// Obf: TakeQuestRewardScRsp
// Type: Rsp
// CmdID: 958
message TakeQuestRewardScRsp {
	repeated uint32 succ_quest_id_list = 5; // offset: 40
	ItemList reward = 9; // offset: 32
	uint32 retcode = 10; // offset: 48
	repeated uint32 quest_id_list = 13; // offset: 24
}

// Obf: JOMMJIBBCCI
// Type: Req
// CmdID: 940
message TakeQuestOptionalRewardCsReq {
	uint32 optional_reward_id = 4; // offset: 24
	uint32 quest_id = 8; // offset: 28
}

// Obf: JGAMLCKCIKB
// Type: Rsp
// CmdID: 933
message TakeQuestOptionalRewardScRsp {
	ItemList reward = 2; // offset: 24
	uint32 quest_id = 6; // offset: 36
	uint32 retcode = 13; // offset: 32
}

// Obf: NKOIPKDPHGF
// Type: Req
// CmdID: 986
message GetQuestRecordCsReq {
}
message ECLGDFGGOFH {
	uint32 MNLAMKJIAOC = 2; // offset: 24
	uint32 progress = 15; // offset: 28
}

// Obf: ABFPFFEJCBP
// Type: Rsp
// CmdID: 947
message GetQuestRecordScRsp {
	repeated ECLGDFGGOFH AOOFGCNFBPL = 6; // offset: 24
	uint32 retcode = 10; // offset: 32
}

// Obf: GILLCJGDGOD
// Type: Notify
// CmdID: 926
message QuestRecordScNotify {
	ECLGDFGGOFH HLMPJLDBPJP = 3; // offset: 24
}

// Type: Req
// CmdID: 913
message FinishQuestCsReq {
	uint32 prop_id = 4; // offset: 28
	uint32 quest_id = 5; // offset: 24
	uint32 group_id = 14; // offset: 32
}

// Type: Rsp
// CmdID: 971
message FinishQuestScRsp {
	uint32 retcode = 2; // offset: 24
}
message BatchGetQuestDataCsReq {
	repeated uint32 quest_list = 2; // offset: 16
}

// Type: Rsp
// CmdID: 904
message BatchGetQuestDataScRsp {
	uint32 retcode = 3; // offset: 32
	repeated Quest quest_list = 10; // offset: 24
}

// Obf: ENMOIIMEDKD
enum CmdRaidType {
	ENMOIIMEDKD_NLCDGIPGFDJ = 0;
	CmdSetClientRaidTargetCountScRsp = 2229;
	CmdGetRaidInfoCsReq = 2224;
	CmdRaidKickByServer = 2215;
	CmdChallengeRaidNotify = 2221;
	CmdGetAllSaveRaidScRsp = 2214;
	CmdRaidInfoNotify = 2219;
	ENMOIIMEDKD_GDJCOFKGJCG = 2248;
	CmdGetRaidInfoScRsp = 2220;
	CmdLeaveRaidScRsp = 2244;
	CmdStartRaidScRsp = 2223;
	CmdGetAllSaveRaidCsReq = 2202;
	CmdStartRaidCsReq = 2209;
	CmdSetClientRaidTargetCountCsReq = 2217;
	CmdTakeChallengeRaidRewardScRsp = 2210;
	CmdDelSaveRaidScNotify = 2235;
	CmdGetSaveRaidScRsp = 2206;
	CmdLeaveRaidCsReq = 2237;
	CmdTakeChallengeRaidRewardCsReq = 2207;
	CmdGetSaveRaidCsReq = 2233;
	CmdPMLIEFOFJHF = 2203;
}

enum RaidStatus {
	RAID_STATUS_NONE = 0;
	RAID_STATUS_DOING = 1;
	RAID_STATUS_FINISH = 2;
	RAID_STATUS_FAILED = 3;
}

enum MJPGDJIGLKO {
	MJPGDJIGLKO_NLCDGIPGFDJ = 0;
	MJPGDJIGLKO_BMOOGBNPEAA = 1;
	MJPGDJIGLKO_CIHFGJDCHIA = 2;
}

enum GMFMPPKAEHE {
	GMFMPPKAEHE_NLCDGIPGFDJ = 0;
	GMFMPPKAEHE_HNADCAHHKIJ = 1;
}
message GEGLJDELBHA {
	uint32 world_level = 6; // offset: 40
	uint32 raid_id = 8; // offset: 44
	SceneInfo MOPHKIGKDIK = 12; // offset: 32
	LineupInfo lineup = 13; // offset: 24
}

// Obf: GDCGMBJAEGN
// Type: Req
// CmdID: 2209
message StartRaidCsReq {
	uint32 is_save = 3; // offset: 44
	uint32 world_level = 4; // offset: 40
	uint32 prop_entity_id = 5; // offset: 52
	uint32 raid_id = 7; // offset: 48
	repeated uint32 avatar_list = 11; // offset: 16
	repeated AvatarLineup NIMDEPFJJNI = 12; // offset: 32
}

// Obf: KPJCDAOHOAA
// Type: Rsp
// CmdID: 2223
message StartRaidScRsp {
	GEGLJDELBHA scene = 7; // offset: 16
	uint32 retcode = 10; // offset: 32
}

// Obf: KIKOJGLGJFE
// Type: Req
// CmdID: 2237
message LeaveRaidCsReq {
	bool is_save = 4; // offset: 28
	uint32 raid_id = 9; // offset: 24
}

// Obf: FPHIKGOGJIP
// Type: Rsp
// CmdID: 2244
message LeaveRaidScRsp {
	uint32 retcode = 3; // offset: 24
	uint32 world_level = 6; // offset: 28
	uint32 raid_id = 8; // offset: 32
}
message RaidTargetInfo {
	uint32 KKCKMCDGCGK = 8; // offset: 28
	MJPGDJIGLKO KCEEHIOCBPC = 10; // offset: 32
	uint32 LCILPGIDEAC = 11; // offset: 24
}

// Obf: GKNMMJHBFEM
// Type: Notify
// CmdID: 2219
message RaidInfoNotify {
	uint64 raid_finish_time = 1; // offset: 48
	uint32 world_level = 7; // offset: 40
	repeated RaidTargetInfo raid_target_info = 8; // offset: 16
	RaidStatus status = 11; // offset: 60
	uint32 raid_id = 13; // offset: 56
	ItemList item_list = 15; // offset: 24
}
message KBONOPFLPDJ {
	uint32 max_score = 9; // offset: 24
	uint32 raid_id = 13; // offset: 28
}
message FinishedRaidInfo {
	repeated uint32 NGKBFPFOOPK = 6; // offset: 24
	uint32 world_level = 13; // offset: 36
	uint32 raid_id = 15; // offset: 32
}

// Obf: CELCIDNLPPO
// Type: Req
// CmdID: 2224
message GetRaidInfoCsReq {
}

// Obf: GetRaidInfoScRsp
// Type: Rsp
// CmdID: 2220
message GetRaidInfoScRsp {
	repeated uint32 challenge_taken_reward_id_list = 4; // offset: 16
	uint32 retcode = 6; // offset: 48
	repeated FinishedRaidInfo finished_raid_info_list = 12; // offset: 40
	repeated KBONOPFLPDJ challenge_raid_list = 13; // offset: 24
}
message OICLHALJIEH {
}

// Type: Rsp
// CmdID: 2203
message PMLIEFOFJHF {
	uint32 retcode = 7; // offset: 40
	repeated KBONOPFLPDJ DBOADIFANMH = 8; // offset: 16
	repeated uint32 ICCCHCCDKND = 14; // offset: 24
}

// Obf: JPCNCABCMGA
// Type: Req
// CmdID: 2207
message TakeChallengeRaidRewardCsReq {
	uint32 HEJANCCDGAP = 15; // offset: 24
}

// Obf: NOKJGNCMOBK
// Type: Rsp
// CmdID: 2210
message TakeChallengeRaidRewardScRsp {
	ItemList reward = 1; // offset: 16
	uint32 HEJANCCDGAP = 5; // offset: 36
	uint32 retcode = 15; // offset: 32
}

// Obf: KJJDLEIGPMJ
// Type: Notify
// CmdID: 2221
message ChallengeRaidNotify {
	KBONOPFLPDJ GCBDMEPBNHN = 12; // offset: 16
}

// Obf: PIKGCABFJAE
// Type: Req
// CmdID: 2217
message SetClientRaidTargetCountCsReq {
	uint32 KJKGHIEKNID = 1; // offset: 24
	uint32 progress = 12; // offset: 28
}

// Obf: GKGJKFHIPKI
// Type: Rsp
// CmdID: 2229
message SetClientRaidTargetCountScRsp {
	uint32 KJKGHIEKNID = 2; // offset: 32
	uint32 retcode = 3; // offset: 24
	uint32 progress = 4; // offset: 28
}

// Obf: NGDCCMAHNDF
// Type: Req
// CmdID: 2233
message GetSaveRaidCsReq {
	uint32 world_level = 9; // offset: 24
	uint32 raid_id = 10; // offset: 28
}

// Obf: MKMPGOFLAPA
// Type: Rsp
// CmdID: 2206
message GetSaveRaidScRsp {
	uint32 raid_id = 1; // offset: 36
	bool is_save = 4; // offset: 40
	repeated RaidTargetInfo raid_target_info = 6; // offset: 24
	uint32 retcode = 10; // offset: 32
	uint32 world_level = 14; // offset: 44
}
message RaidData {
	uint32 world_level = 1; // offset: 32
	repeated RaidTargetInfo raid_target_info = 6; // offset: 24
	uint32 raid_id = 8; // offset: 36
}

// Obf: FHJENMNMMKO
// Type: Req
// CmdID: 2202
message GetAllSaveRaidCsReq {
}

// Obf: PNDCHLMHJCI
// Type: Rsp
// CmdID: 2214
message GetAllSaveRaidScRsp {
	uint32 retcode = 10; // offset: 32
	repeated RaidData raid_data_list = 15; // offset: 16
}

// Obf: GDKFOIFIAFD
// Type: Notify
// CmdID: 2235
message DelSaveRaidScNotify {
	uint32 raid_id = 11; // offset: 28
	uint32 world_level = 14; // offset: 24
}

// Obf: MCJANHINPDO
// Type: Notify
// CmdID: 2215
message RaidKickByServer {
	LineupInfo lineup = 3; // offset: 16
	uint32 world_level = 5; // offset: 40
	uint32 raid_id = 7; // offset: 48
	GMFMPPKAEHE reason = 9; // offset: 44
	SceneInfo scene = 15; // offset: 24
}

// Obf: ONNDCODLMGD
enum CmdRaidCollectionType {
	ONNDCODLMGD_NLCDGIPGFDJ = 0;
	CmdRaidCollectionEnterNextRaidCsReq = 6952;
	CmdRaidCollectionDataCsReq = 6958;
	CmdRaidCollectionDataScRsp = 6948;
	CmdRaidCollectionEnterNextRaidScRsp = 6942;
}
message BOPOBHGDIKN {
	uint32 OBLCIENDLED = 8; // offset: 24
}

// Obf: KNDCKLDMJKB
// Type: Req
// CmdID: 6958
message RaidCollectionDataCsReq {
}

// Obf: APODDGMLMLF
// Type: Rsp
// CmdID: 6948
message RaidCollectionDataScRsp {
	repeated BOPOBHGDIKN challenge_list = 2; // offset: 24
	uint32 retcode = 13; // offset: 32
}

// Obf: JFEMDCIJMFA
// Type: Req
// CmdID: 6952
message RaidCollectionEnterNextRaidCsReq {
	uint32 raid_id = 5; // offset: 32
	uint32 world_level = 7; // offset: 40
	repeated uint32 avatar_list = 10; // offset: 24
	uint32 is_save = 14; // offset: 36
}

// Obf: NJGHHOHJGEO
// Type: Rsp
// CmdID: 6942
message RaidCollectionEnterNextRaidScRsp {
	uint32 retcode = 8; // offset: 32
	GEGLJDELBHA scene = 12; // offset: 24
}

// Obf: OOCIMJEDCHK
enum CmdRechargeGiftType {
	OOCIMJEDCHK_NLCDGIPGFDJ = 0;
	CmdGetRechargeBenefitInfoScRsp = 8377;
	CmdTakeRechargeBenefitRewardCsReq = 8364;
	CmdTakeRechargeGiftRewardCsReq = 8363;
	CmdGetRechargeBenefitInfoCsReq = 8362;
	CmdTakeRechargeGiftRewardScRsp = 8372;
	CmdGetRechargeGiftInfoScRsp = 8368;
	CmdGetRechargeGiftInfoCsReq = 8378;
	CmdTakeRechargeBenefitRewardScRsp = 8371;
	CmdSyncRechargeBenefitInfoScNotify = 8365;
}

// Obf: GFIIJCDEBDH
// Type: Req
// CmdID: 8378
message GetRechargeGiftInfoCsReq {
}
message IJHPILBBHDI {
	message BBIBCFCKPJH {
		enum EGCFNCBLHJC {
			EGCFNCBLHJC_EDHBOMMOKGM = 0;
			EGCFNCBLHJC_ACBHGLIBJBG = 1;
			EGCFNCBLHJC_LJLKNDIACEO = 2;
		}
	}
	BBIBCFCKPJH.EGCFNCBLHJC status = 2; // offset: 28
	uint32 index = 11; // offset: 24
}
message JBNGCJJDLHL {
	uint32 gift_type = 2; // offset: 40
	int64 end_time = 3; // offset: 32
	int64 start_time = 5; // offset: 48
	repeated IJHPILBBHDI status_list = 8; // offset: 24
}

// Obf: JFEKFHLDLPK
// Type: Rsp
// CmdID: 8368
message GetRechargeGiftInfoScRsp {
	repeated JBNGCJJDLHL OFIHOCCHNCN = 2; // offset: 24
	uint32 retcode = 11; // offset: 32
}

// Obf: KCEJICPPKKM
// Type: Req
// CmdID: 8363
message TakeRechargeGiftRewardCsReq {
	uint32 gift_type = 2; // offset: 24
}

// Obf: DCAICJKEIPH
// Type: Rsp
// CmdID: 8372
message TakeRechargeGiftRewardScRsp {
	JBNGCJJDLHL KJBDNIIBGNE = 2; // offset: 24
	ItemList reward = 12; // offset: 32
	uint32 retcode = 15; // offset: 40
}

// Obf: EGNKGGAIGBJ
// Type: Req
// CmdID: 8362
message GetRechargeBenefitInfoCsReq {
}
message BCAJNMLLIED {
	uint32 panel_id = 2; // offset: 36
	repeated uint32 OLHODIFNABL = 3; // offset: 16
	uint32 progress = 7; // offset: 32
	uint32 id = 10; // offset: 40
}

// Obf: JNGJOABNBIM
// Type: Rsp
// CmdID: 8377
message GetRechargeBenefitInfoScRsp {
	repeated BCAJNMLLIED OABBABNPPOO = 6; // offset: 24
	uint32 retcode = 8; // offset: 32
}

// Obf: IMIOIKDAJOK
// Type: Notify
// CmdID: 8365
message SyncRechargeBenefitInfoScNotify {
	BCAJNMLLIED KLCGBJIEMPO = 7; // offset: 24
}

// Obf: CKCPEGPJGLD
// Type: Req
// CmdID: 8364
message TakeRechargeBenefitRewardCsReq {
	uint32 id = 2; // offset: 24
}

// Obf: JINIOBBNJPF
// Type: Rsp
// CmdID: 8371
message TakeRechargeBenefitRewardScRsp {
	BCAJNMLLIED KLCGBJIEMPO = 10; // offset: 16
	uint32 retcode = 11; // offset: 40
	ItemList reward = 12; // offset: 32
}

// Obf: APDINKHBHGC
enum CmdRecommendType {
	APDINKHBHGC_NLCDGIPGFDJ = 0;
	CmdGetBigDataRecommendCsReq = 2403;
	CmdGetBigDataRecommendScRsp = 2407;
	CmdGetBigDataAllRecommendCsReq = 2410;
	CmdGetBigDataAllRecommendScRsp = 2421;
}

// Obf: BigDataRecommendType
enum BigDataRecommendType {
	BIG_DATA_RECOMMEND_TYPE_NONE = 0;
	BIG_DATA_RECOMMEND_TYPE_EQUIPMENT = 1;
	BIG_DATA_RECOMMEND_TYPE_RELIC_SUIT = 2;
	BIG_DATA_RECOMMEND_TYPE_RELIC_AVATAR = 3;
	BIG_DATA_RECOMMEND_TYPE_AVATAR_RELIC = 4;
	BIG_DATA_RECOMMEND_TYPE_LOCAL_LEGEND = 5;
	BIG_DATA_RECOMMEND_TYPE_CHALLENGE_PEAK_MOB = 6;
	BIG_DATA_RECOMMEND_TYPE_CHALLENGE_PEAK_BOSS = 7;
	BIG_DATA_RECOMMEND_TYPE_CHALLENGE = 8;
	BIG_DATA_RECOMMEND_TYPE_HMFFBIANKBF = 9;
	BIG_DATA_RECOMMEND_TYPE_IGDNEOELFKC = 10;
}
message BMMHJIFCGNO {
	uint32 MIPKOFFGPFA = 8; // offset: 28
	uint32 KAJCFPKEGBP = 14; // offset: 24
}
message EquipmentRecommend {
	repeated BMMHJIFCGNO equipment_list = 2; // offset: 24
}
message GHAJJBBEHBE {
	uint32 LMHDFOFNFII = 3; // offset: 24
	uint32 BBGHAFGMMNM = 4; // offset: 32
	uint32 OAOPDHLDFIP = 11; // offset: 28
}
message RelicRecommend {
	repeated GHAJJBBEHBE GMCNPKAJMHC = 9; // offset: 24
}

// Obf: KOAGMGNMMOC
// Type: Req
// CmdID: 2403
message GetBigDataRecommendCsReq {
	BigDataRecommendType big_data_recommend_type = 1; // offset: 28
	uint32 equip_avatar = 2; // offset: 24
}

// Obf: BGGIHLHFPGA
// Type: Rsp
// CmdID: 2407
message GetBigDataRecommendScRsp {
	uint32 equip_avatar = 2; // offset: 32
	bool has_recommand = 6; // offset: 36
	BigDataRecommendType big_data_recommend_type = 12; // offset: 40
	uint32 retcode = 14; // offset: 48
	oneof recommend_type {
		EquipmentRecommend equipment_recommend = 13; // offset: 16
		RelicRecommend relic_recommend = 11; // offset: 16
		GNBBDMBNNDJ KHCMLINMGEN = 4; // offset: 16
	}
}
message RecomendedAvatarInfo {
	uint32 recommend_avatar_id = 9; // offset: 32
	repeated uint32 avatar_id_list = 11; // offset: 24
	uint32 relic_set_id = 12; // offset: 36
}
message BigDataRecommendRelicAvatar {
	repeated RecomendedAvatarInfo recommended_avatar_info_list = 1; // offset: 16
}
message JBGPLPCCDBJ {
	uint32 NMFGIBMHNKI = 1; // offset: 24
	uint32 GBJPBAHGBPO = 4; // offset: 32
	uint32 percent = 8; // offset: 28
}
message BPFDFOJOEMI {
	uint32 percent = 2; // offset: 28
	uint32 LBDLAACOCCN = 6; // offset: 24
}
message BigDataAvatarRelicRecommend {
	repeated BPFDFOJOEMI sphere_main_property_list = 1; // offset: 64
	repeated BPFDFOJOEMI rope_main_property_list = 4; // offset: 32
	repeated BPFDFOJOEMI foot_main_property_list = 5; // offset: 16
	repeated BPFDFOJOEMI body_main_property_list = 6; // offset: 40
	uint32 avatar_id = 7; // offset: 72
	repeated JBGPLPCCDBJ inner_set_list = 10; // offset: 56
	repeated JBGPLPCCDBJ outer_set_list = 12; // offset: 48
}
message BigDataRecommendAvatarRelic {
	repeated BigDataAvatarRelicRecommend recomended_relic_info_list = 5; // offset: 24
}

// Obf: HGKBKMFJJCB
// Type: Req
// CmdID: 2410
message GetBigDataAllRecommendCsReq {
	BigDataRecommendType big_data_recommend_type = 13; // offset: 24
}

// Obf: EJEDKALMMNP
// Type: Rsp
// CmdID: 2421
message GetBigDataAllRecommendScRsp {
	BigDataRecommendType big_data_recommend_type = 5; // offset: 36
	uint32 retcode = 9; // offset: 40
	oneof recommend_type {
		BigDataRecommendRelicAvatar relic_avatar = 1; // offset: 16
		BigDataRecommendAvatarRelic avatar_relic = 8; // offset: 16
		GNBBDMBNNDJ KHCMLINMGEN = 7; // offset: 16
	}
}

// Obf: AAGDLGIHHOE
enum CmdRedDotType {
	AAGDLGIHHOE_NLCDGIPGFDJ = 0;
	AAGDLGIHHOE_KABNELBBNKH = 5937;
	AAGDLGIHHOE_EJDAHCIBGOF = 5919;
	CmdGetAllRedDotDataCsReq = 5909;
	CmdEGELHCKMLNK = 5944;
	CmdLLCOHLNBNGM = 5948;
	CmdGetAllRedDotDataScRsp = 5923;
}

enum KFMHMJLPHOG {
	KFMHMJLPHOG_LFGOKFCPBOG = 0;
	KFMHMJLPHOG_PFNPBLMEOJB = 1;
	KFMHMJLPHOG_CBHMACJNEJG = 2;
}
message FHNAEJBKINH {
	repeated uint32 KCNPFIGHDAL = 12; // offset: 16
}
message GFOAMKNHBFE {
	map<uint32, FHNAEJBKINH> BANBCCBOEBJ = 2; // offset: 16
	uint32 FDEAKDCDGML = 10; // offset: 32
	uint32 panel_id = 14; // offset: 36
}

// Type: Req
// CmdID: 5909
message GetAllRedDotDataCsReq {
}

// Type: Rsp
// CmdID: 5923
message GetAllRedDotDataScRsp {
	repeated GFOAMKNHBFE KGONOBEAGAI = 3; // offset: 24
	uint32 retcode = 5; // offset: 32
}
message NNCEFFFGNEN {
	KFMHMJLPHOG BICLKAPMFGP = 6; // offset: 36
	uint32 group_id = 7; // offset: 44
	uint32 panel_id = 9; // offset: 40
	repeated uint32 switch_list = 10; // offset: 16
	uint32 FDEAKDCDGML = 13; // offset: 32
}

// Type: Rsp
// CmdID: 5944
message EGELHCKMLNK {
	uint32 retcode = 9; // offset: 24
	uint32 FDEAKDCDGML = 10; // offset: 28
	uint32 group_id = 12; // offset: 32
	uint32 panel_id = 14; // offset: 36
}
message ILDOMDOFEPK {
	uint32 group_id = 1; // offset: 24
	uint32 FDEAKDCDGML = 7; // offset: 32
	uint32 panel_id = 12; // offset: 28
}

// Type: Rsp
// CmdID: 5948
message LLCOHLNBNGM {
	uint32 panel_id = 1; // offset: 44
	FHNAEJBKINH BKNKFNHIPAK = 2; // offset: 24
	uint32 group_id = 4; // offset: 36
	uint32 retcode = 8; // offset: 32
	uint32 FDEAKDCDGML = 14; // offset: 40
}

// Obf: MHMAOPPIBCL
enum CmdRelicBoxType {
	MHMAOPPIBCL_NLCDGIPGFDJ = 0;
	CmdSetRelicBoxTargetCsReq = 8952;
	CmdConfirmRelicBoxCsReq = 8951;
	CmdGetRelicBoxDataCsReq = 8968;
	CmdRelicBoxRegularScNotify = 8964;
	CmdGetRelicBoxDataScRsp = 8958;
	CmdOpenRelicBoxScRsp = 8965;
	CmdSetRelicBoxTargetScRsp = 8967;
	CmdSetRelicBoxCustomScRsp = 8962;
	CmdReportRelicBoxActionScRsp = 8957;
	CmdSetRelicBoxCustomCsReq = 8953;
	CmdConfirmRelicBoxScRsp = 8959;
	CmdOpenRelicBoxCsReq = 8961;
	CmdReportRelicBoxActionCsReq = 8960;
}

enum BDFGBPHEPDI {
	BDFGBPHEPDI_PDKLDMNAJBO = 0;
	BDFGBPHEPDI_KCCEHPABIKB = 1;
	BDFGBPHEPDI_IEGNMOODDAK = 2;
}

enum JFIIIHFBLPA {
	JFIIIHFBLPA_NEODNIFGDJC = 0;
	JFIIIHFBLPA_BPKKHFFJGGI = 1;
}
message PNGBDDIBCDD {
	uint32 type = 1; // offset: 36
	repeated RelicAffix sub_affix_list = 2; // offset: 16
	uint32 exp = 4; // offset: 40
	uint32 level = 11; // offset: 48
	uint32 tid = 12; // offset: 44
	uint32 main_affix_id = 15; // offset: 32
}
message JBOAAPIDOIC {
	uint32 IPILHKHCLJH = 11; // offset: 24
	uint32 FLFOCHJFLOE = 13; // offset: 28
}
message HGABLJFOKDG {
	uint32 avatar_id = 6; // offset: 36
	JFIIIHFBLPA HDHKAHJBFKD = 12; // offset: 32
	JBOAAPIDOIC NOAJIGHLIIC = 14; // offset: 16
}
message BEBNHPCBMPF {
	JBOAAPIDOIC NOAJIGHLIIC = 3; // offset: 16
	uint32 avatar_id = 4; // offset: 32
}
message DPJCBHKGFOK {
	repeated Relic relics = 7; // offset: 24
}

// Obf: NGKOLFNOAKC
// Type: Req
// CmdID: 8968
message GetRelicBoxDataCsReq {
}

// Obf: JOONMECDIHJ
// Type: Rsp
// CmdID: 8958
message GetRelicBoxDataScRsp {
	uint32 retcode = 1; // offset: 64
	DPJCBHKGFOK AHNPPGMFOKN = 2; // offset: 40
	BDFGBPHEPDI state = 3; // offset: 72
	PNGBDDIBCDD NJFEFOFPKPF = 7; // offset: 32
	HGABLJFOKDG target = 10; // offset: 16
	repeated uint32 OAJFAFIDKPI = 13; // offset: 48
	repeated BEBNHPCBMPF EBDIOJPDJIH = 14; // offset: 24
	uint32 MFLMHFLMCPO = 15; // offset: 68
}

// Obf: OKCGFDFBPBL
// Type: Req
// CmdID: 8953
message SetRelicBoxCustomCsReq {
	repeated BEBNHPCBMPF JKKFJHKHFPL = 7; // offset: 32
	BEBNHPCBMPF EBDIOJPDJIH = 9; // offset: 16
}

// Obf: ONJHKFHDPGH
// Type: Rsp
// CmdID: 8962
message SetRelicBoxCustomScRsp {
	uint32 retcode = 3; // offset: 24
}

// Obf: ANOEGCFDJKD
// Type: Req
// CmdID: 8952
message SetRelicBoxTargetCsReq {
	HGABLJFOKDG target = 7; // offset: 16
}

// Obf: DGJAPNJCDCM
// Type: Rsp
// CmdID: 8967
message SetRelicBoxTargetScRsp {
	uint32 retcode = 4; // offset: 32
	HGABLJFOKDG target = 9; // offset: 16
}

// Obf: GFOFPDMELCL
// Type: Req
// CmdID: 8961
message OpenRelicBoxCsReq {
	HGABLJFOKDG target = 7; // offset: 24
}

// Obf: PCAFMOHEDGK
// Type: Rsp
// CmdID: 8965
message OpenRelicBoxScRsp {
	PNGBDDIBCDD LCMADDIMION = 4; // offset: 16
	uint32 retcode = 5; // offset: 36
	uint32 GNLAAIDFOJF = 12; // offset: 32
}

// Obf: OJKDPIDOBEO
// Type: Req
// CmdID: 8951
message ConfirmRelicBoxCsReq {
	bool BBNIFADMHHO = 1; // offset: 24
}

// Obf: EENMGNBLPEJ
// Type: Rsp
// CmdID: 8959
message ConfirmRelicBoxScRsp {
	bool BBNIFADMHHO = 1; // offset: 36
	repeated uint32 OAJFAFIDKPI = 4; // offset: 24
	uint32 retcode = 8; // offset: 32
	uint32 HMBNJLNBLIF = 11; // offset: 40
}

// Obf: AGKJMBBJCNC
// Type: Req
// CmdID: 8960
message ReportRelicBoxActionCsReq {
	oneof MKKDALGEAKK {
		uint32 KCGLKFKHPIC = 1; // offset: 24
	}
}

// Obf: OBKJIKBEHHF
// Type: Rsp
// CmdID: 8957
message ReportRelicBoxActionScRsp {
	uint32 retcode = 7; // offset: 28
	BDFGBPHEPDI state = 11; // offset: 24
}

// Obf: BIGELLJGGEP
// Type: Notify
// CmdID: 8964
message RelicBoxRegularScNotify {
	DPJCBHKGFOK AHNPPGMFOKN = 14; // offset: 24
}

// Obf: IHFPHIPHDCE
enum CmdRelicPresetType {
	IHFPHIPHDCE_NLCDGIPGFDJ = 0;
	CmdRelicPresetUpdatePlanCsReq = 9845;
	CmdRelicPresetUpdatePlanScRsp = 9844;
	CmdRelicPresetAddPlanCsReq = 9843;
	CmdRelicPresetGetPlanScRsp = 9848;
	CmdEJILGJGLKIO = 9855;
	CmdRelicPresetAddPlanScRsp = 9852;
	CmdEGGOCLKIAME = 9851;
	CmdRelicPresetGetPlanCsReq = 9858;
	CmdRelicPresetDeletePlanCsReq = 9842;
	CmdRelicPresetDeletePlanScRsp = 9857;
}

enum FDJKLJGDCID {
	FDJKLJGDCID_NLCDGIPGFDJ = 0;
	FDJKLJGDCID_DCGAPNGCCEH = 1;
	FDJKLJGDCID_BMHMMIMOAIJ = 2;
	FDJKLJGDCID_JPDBDLEEHGK = 3;
	FDJKLJGDCID_OGPNODHENKN = 4;
	FDJKLJGDCID_PICLIGEAJFN = 5;
	FDJKLJGDCID_FHCEFAOHJJJ = 6;
}

// Obf: HNBGMOIHOAN
enum RelicPresetPlanSourceType {
	HNBGMOIHOAN_NLCDGIPGFDJ = 0;
	HNBGMOIHOAN_BDNDDMBONNJ = 1;
	HNBGMOIHOAN_DLBLNAKKNKJ = 2;
	HNBGMOIHOAN_ODFAMIBHIGE = 3;
	HNBGMOIHOAN_LIKOPGNHBPP = 4;
	HNBGMOIHOAN_CPHMEHDCFBF = 5;
	HNBGMOIHOAN_platform = 6;
}
message PFCKBFLDHNI {
	uint32 avatar_id = 1; // offset: 40
	repeated uint32 relic_ids = 4; // offset: 32
	string name = 6; // offset: 16
	uint32 unique_id = 10; // offset: 44
	RelicPresetPlanSourceType source_type = 13; // offset: 48
}

// Type: Req
// CmdID: 9858
message RelicPresetGetPlanCsReq {
	uint32 avatar_id = 7; // offset: 24
}

// Type: Rsp
// CmdID: 9848
message RelicPresetGetPlanScRsp {
	uint32 retcode = 1; // offset: 36
	uint32 avatar_id = 5; // offset: 32
	repeated PFCKBFLDHNI relic_plan_list = 8; // offset: 24
}

// Type: Req
// CmdID: 9843
message RelicPresetAddPlanCsReq {
	uint32 avatar_id = 4; // offset: 40
	string name = 5; // offset: 24
	RelicPresetPlanSourceType source_type = 8; // offset: 48
	repeated uint32 relic_ids = 13; // offset: 16
	FDJKLJGDCID LLJJCOOKANH = 14; // offset: 44
}

// Type: Rsp
// CmdID: 9852
message RelicPresetAddPlanScRsp {
	PFCKBFLDHNI relic_plan = 2; // offset: 16
	uint32 retcode = 14; // offset: 32
}

// Type: Req
// CmdID: 9842
message RelicPresetDeletePlanCsReq {
	uint32 unique_id = 9; // offset: 24
}

// Type: Rsp
// CmdID: 9857
message RelicPresetDeletePlanScRsp {
	uint32 retcode = 4; // offset: 28
	uint32 unique_id = 6; // offset: 24
}
message HPPOINFLEPJ {
	FDJKLJGDCID LLJJCOOKANH = 1; // offset: 36
	repeated uint32 relic_ids = 4; // offset: 24
	RelicPresetPlanSourceType source_type = 12; // offset: 32
}

// Type: Req
// CmdID: 9845
message RelicPresetUpdatePlanCsReq {
	uint32 unique_id = 15; // offset: 32
	oneof KKNBOACNCON {
		HPPOINFLEPJ relic_list = 12; // offset: 24
		string name = 13; // offset: 24
	}
}

// Type: Rsp
// CmdID: 9844
message RelicPresetUpdatePlanScRsp {
	uint32 retcode = 3; // offset: 36
	uint32 unique_id = 6; // offset: 40
	oneof KKNBOACNCON {
		HPPOINFLEPJ relic_list = 15; // offset: 16
		string name = 9; // offset: 16
	}
}

// Type: Notify
// CmdID: 9851
message EGGOCLKIAME {
	uint32 unique_id = 14; // offset: 24
}

// Type: Notify
// CmdID: 9855
message EJILGJGLKIO {
	PFCKBFLDHNI relic_plan = 6; // offset: 24
}

// Obf: HLACKPFNIBD
enum CmdRelicSmartWearType {
	HLACKPFNIBD_NLCDGIPGFDJ = 0;
	CmdRelicSmartWearDeletePlanScRsp = 8254;
	CmdRelicSmartWearUpdatePinRelicScRsp = 8256;
	CmdRelicSmartWearGetPlanScRsp = 8258;
	CmdRelicSmartWearGetPlanCsReq = 8268;
	CmdRelicSmartWearDeletePinRelicCsReq = 8269;
	CmdRelicSmartWearGetPinRelicCsReq = 8251;
	CmdRelicSmartWearAddPlanScRsp = 8262;
	CmdRelicSmartWearGetPinRelicScRsp = 8259;
	CmdRelicSmartWearDeletePlanCsReq = 8255;
	CmdRelicSmartWearUpdatePlanCsReq = 8252;
	CmdRelicSmartWearDeletePinRelicScRsp = 8266;
	CmdRelicSmartWearUpdatePinRelicScNotify = 8270;
	CmdRelicSmartWearUpdatePinRelicCsReq = 8264;
	CmdRelicSmartWearUpdatePlanScRsp = 8267;
	CmdRelicSmartWearAddPlanCsReq = 8253;
}

enum KCKJILIMNFF {
	KCKJILIMNFF_NLCDGIPGFDJ = 0;
	KCKJILIMNFF_CFPGFAMANFD = 1;
	KCKJILIMNFF_HEHPPOFHLMI = 2;
	KCKJILIMNFF_EBDIOJPDJIH = 3;
}
message RelicSmartWearPlan {
	uint32 unique_id = 4; // offset: 44
	repeated uint32 outside_relic_list = 5; // offset: 24
	uint32 avatar_id = 6; // offset: 40
	repeated uint32 inside_relic_list = 11; // offset: 32
}

// Obf: PIHNFHMEHCD
// Type: Req
// CmdID: 8268
message RelicSmartWearGetPlanCsReq {
	uint32 avatar_id = 15; // offset: 24
}

// Obf: MBLPEOFOOAF
// Type: Rsp
// CmdID: 8258
message RelicSmartWearGetPlanScRsp {
	repeated RelicSmartWearPlan relic_plan_list = 6; // offset: 24
	uint32 avatar_id = 8; // offset: 32
	uint32 retcode = 12; // offset: 36
}

// Obf: KHPMJDJKEAB
// Type: Req
// CmdID: 8253
message RelicSmartWearAddPlanCsReq {
	RelicSmartWearPlan relic_plan = 9; // offset: 16
}

// Obf: ILCBEINELFA
// Type: Rsp
// CmdID: 8262
message RelicSmartWearAddPlanScRsp {
	uint32 retcode = 12; // offset: 32
	RelicSmartWearPlan relic_plan = 13; // offset: 24
}

// Obf: AHKGHNIDDHI
// Type: Req
// CmdID: 8252
message RelicSmartWearUpdatePlanCsReq {
	RelicSmartWearPlan relic_plan = 3; // offset: 16
}

// Obf: BPHCDBFPIFB
// Type: Rsp
// CmdID: 8267
message RelicSmartWearUpdatePlanScRsp {
	RelicSmartWearPlan relic_plan = 4; // offset: 24
	uint32 retcode = 13; // offset: 32
}

// Obf: IGFDCGKPJBE
// Type: Req
// CmdID: 8255
message RelicSmartWearDeletePlanCsReq {
	uint32 unique_id = 12; // offset: 24
}

// Obf: POPMMDIDDJO
// Type: Rsp
// CmdID: 8254
message RelicSmartWearDeletePlanScRsp {
	uint32 unique_id = 4; // offset: 28
	uint32 retcode = 10; // offset: 24
}
message ONFLANPGHHL {
	repeated uint32 inside_relic_list = 4; // offset: 16
	KCKJILIMNFF ALAEIBDIGHM = 13; // offset: 40
	repeated uint32 outside_relic_list = 15; // offset: 24
}
message CABBOOKAODO {
	ONFLANPGHHL AEONNKANGCE = 3; // offset: 32
	repeated uint32 relic_ids = 10; // offset: 16
	uint32 avatar_id = 13; // offset: 40
}

// Obf: OKLKPLGFPNM
// Type: Req
// CmdID: 8251
message RelicSmartWearGetPinRelicCsReq {
	uint32 avatar_id = 8; // offset: 24
}

// Obf: EMKANKKOICP
// Type: Rsp
// CmdID: 8259
message RelicSmartWearGetPinRelicScRsp {
	repeated CABBOOKAODO OJNCAOKPKIB = 1; // offset: 24
	uint32 retcode = 5; // offset: 36
	uint32 avatar_id = 15; // offset: 32
}

// Obf: JIODIEHBGMI
// Type: Notify
// CmdID: 8270
message RelicSmartWearUpdatePinRelicScNotify {
	repeated CABBOOKAODO ANCHGOGNLFP = 3; // offset: 24
	repeated CABBOOKAODO PLNCNCNIPKN = 4; // offset: 16
	uint32 relic_unique_id = 10; // offset: 40
}

// Obf: PMMIOMPJADM
// Type: Req
// CmdID: 8264
message RelicSmartWearUpdatePinRelicCsReq {
	CABBOOKAODO DNNKBPBFPBK = 14; // offset: 16
}

// Obf: IJMEMLHHMIC
// Type: Rsp
// CmdID: 8256
message RelicSmartWearUpdatePinRelicScRsp {
	uint32 retcode = 13; // offset: 32
	CABBOOKAODO DNNKBPBFPBK = 15; // offset: 24
}

// Obf: FABKOODPCLA
// Type: Req
// CmdID: 8269
message RelicSmartWearDeletePinRelicCsReq {
	bool BEAJGCMPOED = 7; // offset: 32
	repeated ONFLANPGHHL AIFAMIFGMCH = 8; // offset: 24
	uint32 avatar_id = 15; // offset: 36
}

// Obf: KJHJMAEMDMJ
// Type: Rsp
// CmdID: 8266
message RelicSmartWearDeletePinRelicScRsp {
	repeated ONFLANPGHHL AIFAMIFGMCH = 5; // offset: 16
	uint32 avatar_id = 10; // offset: 32
	uint32 retcode = 14; // offset: 36
}

// Obf: GLHDKOHHDDK
enum CmdReplayType {
	GLHDKOHHDDK_NLCDGIPGFDJ = 0;
	CmdGetReplayTokenScRsp = 3578;
	CmdGetReplayTokenCsReq = 3525;
}

// Type: Req
// CmdID: 3525
message GetReplayTokenCsReq {
	uint32 stage_id = 1; // offset: 40
	uint32 KLIFGJOILEE = 3; // offset: 44
	PBIEFHKNAFA replay_type = 7; // offset: 48
	uint32 PBNIENNCNOP = 9; // offset: 52
	string LMFFNNIGMMO = 10; // offset: 32
	string GIMGDNJPPDJ = 12; // offset: 16
}

// Type: Rsp
// CmdID: 3578
message GetReplayTokenScRsp {
	uint32 retcode = 5; // offset: 48
	PBIEFHKNAFA replay_type = 6; // offset: 40
	string token = 9; // offset: 32
	string GIMGDNJPPDJ = 10; // offset: 24
	uint32 stage_id = 14; // offset: 44
}

// Obf: LHHIKPLMLGH
enum CmdRndOptionType {
	LHHIKPLMLGH_NLCDGIPGFDJ = 0;
	CmdGetRndOptionCsReq = 3425;
	CmdDailyFirstMeetPamCsReq = 3493;
	CmdGetRndOptionScRsp = 3478;
	CmdDailyFirstMeetPamScRsp = 3458;
}

// Type: Req
// CmdID: 3425
message GetRndOptionCsReq {
	uint32 id = 6; // offset: 24
}

// Type: Rsp
// CmdID: 3478
message GetRndOptionScRsp {
	repeated uint32 EFLOILNLFIC = 9; // offset: 24
	uint32 retcode = 11; // offset: 32
}

// Type: Req
// CmdID: 3493
message DailyFirstMeetPamCsReq {
}

// Type: Rsp
// CmdID: 3458
message DailyFirstMeetPamScRsp {
	uint32 retcode = 5; // offset: 24
}

// Obf: HHPMDFMOOAK
enum CmdRogueType {
	HHPMDFMOOAK_NLCDGIPGFDJ = 0;
	CmdGetRogueTalentInfoScRsp = 1802;
	CmdOpenRogueChestScRsp = 1819;
	CmdSyncRogueGetItemScNotify = 1817;
	CmdEnterRogueCsReq = 1888;
	CmdEnableRogueTalentScRsp = 1808;
	CmdPDNOJMFCDDG = 1848;
	CmdEKFCDGNOAIN = 1804;
	CmdGetRogueAeonInfoCsReq = 1887;
	CmdEnableRogueTalentCsReq = 1900;
	CmdGetRogueInfoCsReq = 1825;
	CmdGetRogueTalentInfoCsReq = 1831;
	CmdStartRogueCsReq = 1893;
	CmdCDOKCLHEDBO = 1849;
	CmdCGMBIHBHLFK = 1830;
	CmdQuitRogueScRsp = 1829;
	CmdSyncRogueAeonScNotify = 1883;
	CmdEnterRogueMapRoomScRsp = 1875;
	CmdSyncRogueAreaUnlockScNotify = 1895;
	CmdGetRogueAeonInfoScRsp = 1824;
	CmdGetRogueInfoScRsp = 1878;
	CmdAJNDMBCDEOL = 1842;
	CmdExchangeRogueRewardKeyCsReq = 1828;
	CmdOpenRogueChestCsReq = 1846;
	CmdExchangeRogueRewardKeyScRsp = 1898;
	CmdQuitRogueCsReq = 1843;
	CmdSyncRogueStatusScNotify = 1899;
	HHPMDFMOOAK_HPJBLIFMOJB = 1844;
	CmdCINMCBDCBMJ = 1872;
	CmdStartRogueScRsp = 1858;
	CmdFinishAeonDialogueGroupScRsp = 1877;
	CmdEnterRogueScRsp = 1881;
	CmdSyncRogueReviveInfoScNotify = 1810;
	CmdSyncRogueVirtualItemInfoScNotify = 1822;
	CmdLeaveRogueCsReq = 1886;
	CmdEnterRogueMapRoomCsReq = 1835;
	CmdAJAOJOEAGML = 1845;
	CmdSyncRogueMapRoomScNotify = 1815;
	CmdLeaveRogueScRsp = 1847;
	CmdSyncRogueFinishScNotify = 1839;
	CmdFinishAeonDialogueGroupCsReq = 1885;
	CmdKFJFHKLJKAK = 1890;
	CmdSyncRogueSeasonFinishScNotify = 1896;
	CmdNAHANHPHGGF = 1880;
	CmdSyncRogueExploreWinScNotify = 1834;
	CmdHIGAMEJNCJJ = 1860;
	CmdBHLEHMNFHPJ = 1811;
}

// Obf: NOGKOJCAFAE
enum RogueStatus {
	NOGKOJCAFAE_NLCDGIPGFDJ = 0;
	NOGKOJCAFAE_BMOOGBNPEAA = 1;
	NOGKOJCAFAE_IGGJEJAHPIJ = 2;
	NOGKOJCAFAE_CBFHENKAMKO = 3;
	NOGKOJCAFAE_CIHFGJDCHIA = 4;
}

// Obf: KFNIFOJPFCB
enum RogueRoomStatus {
	KFNIFOJPFCB_NLCDGIPGFDJ = 0;
	KFNIFOJPFCB_GAJGBBFELEL = 1;
	KFNIFOJPFCB_BFADFAELKLJ = 2;
	KFNIFOJPFCB_JDAGFHEPMHF = 3;
	KFNIFOJPFCB_CIHFGJDCHIA = 4;
}

// Obf: HNPHKCCICPM
enum RogueAreaStatus {
	HNPHKCCICPM_GAJGBBFELEL = 0;
	HNPHKCCICPM_BFADFAELKLJ = 1;
	HNPHKCCICPM_MKHFMMCKAEI = 2;
	HNPHKCCICPM_PDKLDMNAJBO = 3;
}

enum GBAKLOAFCLP {
	GBAKLOAFCLP_NLCDGIPGFDJ = 0;
	GBAKLOAFCLP_MIDKKNAGOFA = 1;
	GBAKLOAFCLP_FJMCIHHIGIA = 2;
	GBAKLOAFCLP_ANBKDJKHCBI = 3;
	GBAKLOAFCLP_NCLBFAALLFJ = 4;
	GBAKLOAFCLP_EPCDLHFFBLI = 5;
	GBAKLOAFCLP_FMPGGENBHID = 6;
	GBAKLOAFCLP_MOFNIOJHBBL = 7;
	GBAKLOAFCLP_EMALBALANLH = 8;
	GBAKLOAFCLP_CBCNHGNKAPG = 9;
}

enum PDLOAMGLGJB {
	PDLOAMGLGJB_NLCDGIPGFDJ = 0;
	PDLOAMGLGJB_MIDKKNAGOFA = 1;
	PDLOAMGLGJB_NCLBFAALLFJ = 2;
	PDLOAMGLGJB_EPCDLHFFBLI = 3;
	PDLOAMGLGJB_LFODHGBCCHF = 4;
	PDLOAMGLGJB_KHGIKBFDLFB = 5;
	PDLOAMGLGJB_AKJBECPHIJK = 6;
	PDLOAMGLGJB_EJOEHKNHGDM = 7;
	PDLOAMGLGJB_ACMKLFOMPFC = 8;
	PDLOAMGLGJB_MOFNIOJHBBL = 9;
	PDLOAMGLGJB_FMPGGENBHID = 10;
	PDLOAMGLGJB_EMALBALANLH = 11;
	PDLOAMGLGJB_CBCNHGNKAPG = 12;
}

enum PPOCAMCLLEG {
	PPOCAMCLLEG_HMCKMBAGNJA = 0;
	PPOCAMCLLEG_DJBOLOGMBGG = 1;
}
message ABOFJEIMLLJ {
	uint32 buff_id = 12; // offset: 24
	uint32 level = 13; // offset: 28
}
message PAIJCBOKIFO {
	uint32 room_id = 5; // offset: 32
	uint32 MAJKFIMPOOF = 10; // offset: 24
	RogueRoomStatus CAGDNHCOCKM = 13; // offset: 36
	RogueRoomStatus FCHHPCIDNGM = 14; // offset: 28
	uint32 PGACMFLCDID = 15; // offset: 40
}
message DNDMLICBKEF {
	uint32 ANHDBMOPGDC = 7; // offset: 44
	uint32 HPKMGKPPELC = 11; // offset: 32
	repeated PAIJCBOKIFO LLNICHDDIAN = 12; // offset: 24
	uint32 area_id = 13; // offset: 40
	uint32 map_id = 15; // offset: 36
}
message CAJEBOPPMCJ {
	RogueStatus NHDLEFAAPOB = 1; // offset: 40
	uint32 KNDHMNBIIDF = 3; // offset: 44
	bool ALAJJMKOMML = 8; // offset: 28
	uint32 area_id = 12; // offset: 24
	uint32 map_id = 13; // offset: 32
	RogueAreaStatus area_status = 14; // offset: 36
}
message AEFFOCFJNBF {
	ItemCostData cost_data = 2; // offset: 16
	uint32 buff_id = 11; // offset: 32
}
message HFGBCEKGFHK {
	repeated AEFFOCFJNBF EMAGFIBLNCJ = 15; // offset: 24
}
message EFDAIBDBFEA {
	uint32 DGGCFDKJDPO = 2; // offset: 28
	uint32 LJCEOGPOGBE = 4; // offset: 36
	uint32 NPHAJEKCBKF = 10; // offset: 32
	uint32 total_count = 11; // offset: 24
}
message OEDNNHAOHAB {
	repeated EFDAIBDBFEA MAJGMMCOCIG = 5; // offset: 16
}
message KCMFAIBMOHB {
	ItemCostData LNIEFKBMIPD = 14; // offset: 24
}
message GAOBHBLFPEC {
	uint32 OFHBBKOKANF = 5; // offset: 24
	uint32 GBIEAMKLONK = 6; // offset: 28
	uint32 DBHOIDLKMAB = 8; // offset: 32
	uint32 LKHAIEIDAJL = 10; // offset: 36
}
message AGEHGBKOBEF {
	HNKAOFDGLIE CFDIKLBINHK = 448; // offset: 24
	EDOIEMCFFCA LFLCDNGALME = 960; // offset: 32
}
message EDOIEMCFFCA {
	MBCBDJNKFEB NIKDPODBIEF = 5; // offset: 48
	CGNNMPIKBBB HHFAAFOBKME = 6; // offset: 16
	GOIEJOCFKEE ACLKMFCDMED = 8; // offset: 40
	GFGHGCIMKGA AEFMMOHKCHJ = 14; // offset: 24
}
message HNKAOFDGLIE {
	DNDMLICBKEF COOOMDKGODF = 2; // offset: 24
	CDDIJCBEAHJ IELPCHGLFCA = 3; // offset: 56
	AGEOGDOGDMM DHEKLJDBNNP = 4; // offset: 48
	RogueStatus status = 5; // offset: 88
	HIKOBOMBMPB DNPCCFFFBHN = 6; // offset: 32
	INHBMHCJJCN FMIGOKIDKJL = 7; // offset: 72
	ENOBKLGCHOD EIOHFJMFOKF = 9; // offset: 64
	CIFCAIEDOLK AEFMMOHKCHJ = 12; // offset: 80
	CFMHEMGEANC HABJHGPFGEB = 13; // offset: 40
	bool ILOFGCAFHAH = 15; // offset: 92
}
message CGNNMPIKBBB {
	uint32 LJNGPCKPJLF = 6; // offset: 24
	int64 begin_time = 8; // offset: 40
	int64 end_time = 11; // offset: 32
}
message GOIEJOCFKEE {
	repeated CAJEBOPPMCJ OJGOAOPLMLB = 13; // offset: 24
}
message GFGHGCIMKGA {
	repeated uint32 OPAEGCBNACJ = 10; // offset: 24
	uint32 unlock_aeon_enhance_num = 13; // offset: 32
}
message MBCBDJNKFEB {
	uint32 GEBGGMAGDJB = 1; // offset: 32
	uint32 PDGBEJHNHHE = 10; // offset: 28
	uint32 CICAENDEDFE = 12; // offset: 24
}
message CFMHEMGEANC {
	repeated ABOFJEIMLLJ CHCMEKAFKAF = 15; // offset: 16
}
message HIKOBOMBMPB {
	OEDNNHAOHAB DNPCCFFFBHN = 12; // offset: 16
}
message ENOBKLGCHOD {
	repeated uint32 NOEPBNMJFGL = 5; // offset: 16
	repeated uint32 unfinished_story_line_id_list = 8; // offset: 24
	KCMFAIBMOHB MFEODNJNGDP = 9; // offset: 40
}
message CIFCAIEDOLK {
	uint32 unlock_aeon_enhance_num = 2; // offset: 28
	uint32 JPPAGGPJOMO = 6; // offset: 24
}
message CDDIJCBEAHJ {
	repeated uint32 CEMOJMBHLDD = 3; // offset: 16
}
message JIBBEEAIDIC {
	repeated uint32 OPAEGCBNACJ = 1; // offset: 16
	uint32 JPPAGGPJOMO = 5; // offset: 32
	uint32 unlock_aeon_enhance_num = 9; // offset: 36
}
message ALBLEFHHJIC {
	AvatarType avatar_type = 1; // offset: 24
	uint32 slot = 2; // offset: 28
	uint32 level = 6; // offset: 36
	uint32 id = 9; // offset: 32
}
message KCOEJJKGNIG {
	repeated uint32 MAJGMMCOCIG = 1; // offset: 32
	repeated ALBLEFHHJIC avatar_list = 13; // offset: 16
	repeated ABOFJEIMLLJ buff_list = 14; // offset: 40
}
message GKHGFCBMLBL {
	ItemList LHPNJLBPACA = 7; // offset: 16
	uint32 GEBGGMAGDJB = 9; // offset: 60
	bool is_win = 10; // offset: 48
	uint32 GHCBFCIGIBF = 11; // offset: 44
	uint32 score_id = 12; // offset: 40
	uint32 MHPHDCFKMLF = 13; // offset: 64
	uint32 GMIIMAHLIJF = 14; // offset: 52
	KCOEJJKGNIG record_info = 15; // offset: 24
	uint32 area_id = 29; // offset: 56
	uint32 HEOMALBNJLL = 1073; // offset: 68
}
message PHINPOJOJGD {
	uint32 MHCHFDFMNFP = 3; // offset: 56
	int64 CDGMPCFGKMD = 4; // offset: 48
	bool PKPNMOOICGP = 6; // offset: 37
	repeated uint32 FHHKOHKBNOP = 7; // offset: 16
	int64 MJKPNOMCHID = 9; // offset: 40
	bool KMNPJKCMIEN = 12; // offset: 36
	uint32 pool_id = 15; // offset: 32
}
message FLCPJJMHAGO {
	uint32 max_level = 2; // offset: 36
	uint32 AFEMBLFCCCH = 4; // offset: 24
	uint32 level = 8; // offset: 32
	uint32 exp = 9; // offset: 28
}
message LOHLENBEIEB {
	int32 MNLINFEODPJ = 1; // offset: 28
	float ratio = 7; // offset: 32
	bool is_valid = 14; // offset: 24
}
message MOLCKKMNHAE {
	uint32 game_mode_type = 1; // offset: 24
}

// Obf: GMFGIAEEAFC
// Type: Req
// CmdID: 1825
message GetRogueInfoCsReq {
}

// Obf: DDOOMBLAOHN
// Type: Rsp
// CmdID: 1878
message GetRogueInfoScRsp {
	uint32 retcode = 2; // offset: 32
	AGEHGBKOBEF rogue_game_info = 6; // offset: 24
}

// Obf: LJINAKCNBCB
// Type: Req
// CmdID: 1893
message StartRogueCsReq {
	repeated uint32 unfinished_story_line_id_list = 1; // offset: 32
	repeated uint32 NOEPBNMJFGL = 2; // offset: 40
	uint32 AFEMBLFCCCH = 4; // offset: 52
	uint32 area_id = 13; // offset: 48
	repeated uint32 JKPIPNMGGOA = 14; // offset: 24
}

// Obf: HHNAMDCALND
// Type: Rsp
// CmdID: 1858
message StartRogueScRsp {
	AGEHGBKOBEF rogue_game_info = 3; // offset: 16
	LineupInfo lineup = 7; // offset: 40
	FHEGNOPNICH JNKLNLKHGBB = 8; // offset: 32
	uint32 retcode = 9; // offset: 56
	SceneInfo scene = 12; // offset: 24
}

// Obf: MGBFNLJFCAA
// Type: Req
// CmdID: 1888
message EnterRogueCsReq {
	uint32 area_id = 5; // offset: 24
}

// Obf: KNBOCPOOAEM
// Type: Rsp
// CmdID: 1881
message EnterRogueScRsp {
	LineupInfo lineup = 2; // offset: 24
	SceneInfo scene = 3; // offset: 40
	FHEGNOPNICH JNKLNLKHGBB = 7; // offset: 32
	uint32 retcode = 8; // offset: 56
	AGEHGBKOBEF rogue_game_info = 12; // offset: 48
}

// Obf: CAGNJEEKBNN
// Type: Req
// CmdID: 1886
message LeaveRogueCsReq {
}

// Obf: DAEOAHLMACG
// Type: Rsp
// CmdID: 1847
message LeaveRogueScRsp {
	SceneInfo scene = 1; // offset: 24
	LineupInfo lineup = 7; // offset: 40
	FHEGNOPNICH JNKLNLKHGBB = 10; // offset: 16
	uint32 retcode = 11; // offset: 48
}

// Obf: FKBINHGJLGL
// Type: Notify
// CmdID: 1839
message SyncRogueFinishScNotify {
	GKHGFCBMLBL NLEOMLNOKCC = 5; // offset: 16
}

// Obf: EKFCDGNOAIN
// Type: Req
// CmdID: 1804
message EKFCDGNOAIN {
	repeated uint32 NOEPBNMJFGL = 4; // offset: 24
	repeated uint32 unfinished_story_line_id_list = 6; // offset: 32
	uint32 prop_entity_id = 7; // offset: 40
}

// Obf: BHLEHMNFHPJ
// Type: Rsp
// CmdID: 1811
message BHLEHMNFHPJ {
	repeated uint32 NOEPBNMJFGL = 7; // offset: 16
	uint32 retcode = 10; // offset: 40
	repeated uint32 unfinished_story_line_id_list = 15; // offset: 32
}

// Obf: PDNOJMFCDDG
// Type: Req
// CmdID: 1848
message PDNOJMFCDDG {
	uint32 interacted_prop_entity_id = 1; // offset: 32
	repeated uint32 NOEPBNMJFGL = 15; // offset: 24
}

// Obf: AJAOJOEAGML
// Type: Rsp
// CmdID: 1845
message AJAOJOEAGML {
	KCMFAIBMOHB MFEODNJNGDP = 10; // offset: 24
	uint32 retcode = 12; // offset: 32
}

// Obf: KHCBONJOLDP
// Type: Notify
// CmdID: 1810
message SyncRogueReviveInfoScNotify {
	KCMFAIBMOHB MFEODNJNGDP = 11; // offset: 16
}

// Obf: CGMBIHBHLFK
// Type: Req
// CmdID: 1830
message CGMBIHBHLFK {
}

// Obf: AJNDMBCDEOL
// Type: Rsp
// CmdID: 1842
message AJNDMBCDEOL {
	HFGBCEKGFHK ILMAMLBLIDL = 1; // offset: 16
	uint32 retcode = 3; // offset: 32
}

// Obf: CINMCBDCBMJ
// Type: Req
// CmdID: 1872
message CINMCBDCBMJ {
	uint32 maze_buff_id = 14; // offset: 24
}

// Obf: NAHANHPHGGF
// Type: Rsp
// CmdID: 1880
message NAHANHPHGGF {
	ABOFJEIMLLJ CNEFDJCKAPL = 3; // offset: 24
	bool KGKEJAKKLDP = 5; // offset: 32
	uint32 retcode = 13; // offset: 36
}

// Obf: MDFEOFGBJBI
// Type: Req
// CmdID: 1843
message QuitRogueCsReq {
	uint32 area_id = 2; // offset: 24
}

// Obf: PLIDMPJNFEA
// Type: Rsp
// CmdID: 1829
message QuitRogueScRsp {
	AGEHGBKOBEF rogue_game_info = 8; // offset: 24
	uint32 retcode = 11; // offset: 32
}

// Obf: DDIHBNNOKJN
// Type: Notify
// CmdID: 1834
message SyncRogueExploreWinScNotify {
	bool ILOFGCAFHAH = 8; // offset: 24
}

// Obf: IMOIBEFBKCL
// Type: Notify
// CmdID: 1896
message SyncRogueSeasonFinishScNotify {
	bool FALJMPELHIO = 2; // offset: 48
	GKHGFCBMLBL NLEOMLNOKCC = 3; // offset: 40
	LineupInfo lineup = 14; // offset: 16
	SceneInfo scene = 15; // offset: 24
}

// Obf: GFMDKGLKCOF
// Type: Req
// CmdID: 1835
message EnterRogueMapRoomCsReq {
	uint32 room_id = 2; // offset: 28
	uint32 MAJKFIMPOOF = 3; // offset: 24
}

// Obf: NNAMFPHNGBF
// Type: Rsp
// CmdID: 1875
message EnterRogueMapRoomScRsp {
	FHEGNOPNICH JNKLNLKHGBB = 9; // offset: 16
	LineupInfo lineup = 10; // offset: 40
	uint32 retcode = 11; // offset: 52
	SceneInfo scene = 12; // offset: 24
	uint32 ANHDBMOPGDC = 15; // offset: 48
}

// Obf: CLPJHIIDAGN
// Type: Notify
// CmdID: 1815
message SyncRogueMapRoomScNotify {
	uint32 map_id = 6; // offset: 32
	PAIJCBOKIFO HNEANMNJHDB = 11; // offset: 16
}

// Obf: KHKGDGBHHPK
// Type: Req
// CmdID: 1846
message OpenRogueChestCsReq {
	bool FDEKKOKBDIC = 1; // offset: 24
	uint32 interacted_prop_entity_id = 13; // offset: 28
}

// Obf: CBOLGFEIIOA
// Type: Rsp
// CmdID: 1819
message OpenRogueChestScRsp {
	ItemList drop_data = 2; // offset: 24
	uint32 retcode = 5; // offset: 48
	LMDPKOELKFL ABEMLCJBIEF = 11; // offset: 32
	ItemList reward = 13; // offset: 40
}

// Obf: JCFJFAFJACN
// Type: Req
// CmdID: 1828
message ExchangeRogueRewardKeyCsReq {
	uint32 count = 2; // offset: 24
}

// Obf: LEKLEHPFHMA
// Type: Rsp
// CmdID: 1898
message ExchangeRogueRewardKeyScRsp {
	uint32 count = 3; // offset: 28
	uint32 retcode = 8; // offset: 24
}

// Obf: KPDDKCNHJAB
// Type: Notify
// CmdID: 1895
message SyncRogueAreaUnlockScNotify {
	uint32 area_id = 4; // offset: 24
}

// Obf: FGOPLKFEJAP
// Type: Notify
// CmdID: 1817
message SyncRogueGetItemScNotify {
	ItemList get_item_list = 1; // offset: 32
	ItemList IIDEAGLAMCC = 8; // offset: 16
}

// Type: Req
// CmdID: 1860
message HIGAMEJNCJJ {
	uint32 AFEMBLFCCCH = 6; // offset: 24
	uint32 level = 12; // offset: 28
}

// Type: Rsp
// CmdID: 1890
message KFJFHKLJKAK {
	uint32 retcode = 6; // offset: 32
	ItemList reward = 11; // offset: 16
	uint32 AFEMBLFCCCH = 12; // offset: 40
	uint32 level = 14; // offset: 36
}
message KLFPHOOPELB {
}

// Type: Rsp
// CmdID: 1849
message CDOKCLHEDBO {
	uint32 retcode = 15; // offset: 24
}

// Obf: FLGHJEANCAC
// Type: Req
// CmdID: 1887
message GetRogueAeonInfoCsReq {
}

// Obf: MMOAIOJAMPA
// Type: Rsp
// CmdID: 1824
message GetRogueAeonInfoScRsp {
	uint32 retcode = 10; // offset: 32
	repeated FLCPJJMHAGO JHEHAIBMNNF = 13; // offset: 16
}

// Obf: FKEFNGCFJKN
// Type: Req
// CmdID: 1885
message FinishAeonDialogueGroupCsReq {
	uint32 AFEMBLFCCCH = 5; // offset: 24
}

// Obf: FAOLLLOFMKB
// Type: Rsp
// CmdID: 1877
message FinishAeonDialogueGroupScRsp {
	uint32 retcode = 1; // offset: 40
	ItemList reward = 3; // offset: 24
	FLCPJJMHAGO AEFMMOHKCHJ = 15; // offset: 16
}

// Obf: MKBJONMNLCH
// Type: Req
// CmdID: 1831
message GetRogueTalentInfoCsReq {
}

// Obf: JOCBDCIBNMG
// Type: Rsp
// CmdID: 1802
message GetRogueTalentInfoScRsp {
	uint32 retcode = 12; // offset: 32
	FDBDLBAPDBE JCOBJAMPOAL = 15; // offset: 24
}

// Obf: GFMEMPALPAM
// Type: Req
// CmdID: 1900
message EnableRogueTalentCsReq {
	uint32 CKHCLKOALKE = 6; // offset: 24
}

// Obf: KLAEMDDHPNB
// Type: Rsp
// CmdID: 1808
message EnableRogueTalentScRsp {
	uint32 retcode = 4; // offset: 32
	FDBDLBAPDBE JCOBJAMPOAL = 12; // offset: 16
}

// Obf: JNDNJFPANEB
// Type: Notify
// CmdID: 1822
message SyncRogueVirtualItemInfoScNotify {
	GAOBHBLFPEC NIKDPODBIEF = 11; // offset: 16
}

// Obf: NIFJKCEJFIP
// Type: Notify
// CmdID: 1899
message SyncRogueStatusScNotify {
	bool AOBCKABCHGO = 7; // offset: 24
	RogueStatus status = 11; // offset: 28
}

// Obf: IEFFGOMNLNA
// Type: Notify
// CmdID: 1883
message SyncRogueAeonScNotify {
	JIBBEEAIDIC BGDGIIOKHGF = 4; // offset: 16
}

// Obf: NNHBAOKEBJI
enum CmdRogueArcadeType {
	NNHBAOKEBJI_NLCDGIPGFDJ = 0;
	CmdRogueArcadeLeaveScRsp = 7659;
	CmdRogueArcadeRestartScRsp = 7664;
	CmdRogueArcadeGetInfoCsReq = 7669;
	CmdRogueArcadeGetInfoScRsp = 7690;
	CmdRogueArcadeRestartCsReq = 7679;
	CmdRogueArcadeLeaveCsReq = 7656;
	CmdRogueArcadeStartCsReq = 7683;
	CmdRogueArcadeStartScRsp = 7685;
}
message GCPGBPNGOFF {
	FHEGNOPNICH JNKLNLKHGBB = 8; // offset: 24
	LineupInfo lineup = 11; // offset: 32
	SceneInfo scene = 13; // offset: 16
}

// Obf: OIGKGOMIOFF
// Type: Req
// CmdID: 7683
message RogueArcadeStartCsReq {
	repeated uint32 NOEPBNMJFGL = 11; // offset: 16
	uint32 room_id = 14; // offset: 32
}

// Obf: EEKPMCEONGD
// Type: Rsp
// CmdID: 7685
message RogueArcadeStartScRsp {
	GCPGBPNGOFF IDCMACCPCBH = 4; // offset: 16
	uint32 room_id = 5; // offset: 32
	uint32 retcode = 7; // offset: 36
}

// Obf: AGGEHIICBBD
// Type: Req
// CmdID: 7656
message RogueArcadeLeaveCsReq {
}

// Obf: NLAGBKIIIJK
// Type: Rsp
// CmdID: 7659
message RogueArcadeLeaveScRsp {
	GCPGBPNGOFF IDCMACCPCBH = 11; // offset: 24
	uint32 retcode = 15; // offset: 32
}

// Obf: NILHOOGLKAP
// Type: Req
// CmdID: 7679
message RogueArcadeRestartCsReq {
}

// Obf: LNKHNPOEJJE
// Type: Rsp
// CmdID: 7664
message RogueArcadeRestartScRsp {
	uint32 retcode = 8; // offset: 32
	GCPGBPNGOFF IDCMACCPCBH = 13; // offset: 16
}

// Obf: EBPAKHMFKML
// Type: Req
// CmdID: 7669
message RogueArcadeGetInfoCsReq {
}

// Obf: POHFDLFAHKG
// Type: Rsp
// CmdID: 7690
message RogueArcadeGetInfoScRsp {
	uint32 retcode = 3; // offset: 28
	uint32 room_id = 15; // offset: 24
}

// Obf: EGANMDEFFGM
enum CmdRogueCommonType {
	EGANMDEFFGM_NLCDGIPGFDJ = 0;
	CmdLNKEEAKFEHM = 5678;
	CmdSetRogueCollectionCsReq = 5660;
	CmdBuyRogueShopMiracleScRsp = 5626;
	CmdGetRogueShopMiracleInfoCsReq = 5658;
	CmdBuyRogueShopMiracleCsReq = 5667;
	CmdGetRogueShopMiracleInfoScRsp = 5688;
	CmdSyncRogueCommonDialogueOptionFinishScNotify = 5657;
	CmdFLCPMJGCHID = 5620;
	CmdRogueWorkbenchHandleFuncScRsp = 5617;
	CmdCommonRogueVirtualItemInfoScNotify = 5614;
	CmdRogueWorkbenchGetInfoCsReq = 5623;
	CmdTakeEventHandbookRewardCsReq = 5649;
	CmdSetRogueExhibitionScRsp = 5670;
	CmdGetRogueShopBuffInfoCsReq = 5681;
	CmdRogueDoGambleScRsp = 5624;
	CmdRogueGetGambleInfoScRsp = 5607;
	CmdHandleRogueCommonPendingActionScRsp = 5651;
	CmdGetRogueShopBuffInfoScRsp = 5686;
	EGANMDEFFGM_CDCNMGIJEHJ = 5642;
	CmdBIHACLHMAKO = 5616;
	CmdRogueDoGambleCsReq = 5687;
	CmdCommonRogueQueryScRsp = 5619;
	CmdSelectRogueCommonDialogueOptionCsReq = 5666;
	CmdGetRogueShopFormulaInfoScRsp = 5608;
	CmdRogueWorkbenchHandleFuncCsReq = 5695;
	CmdPJFPIPIPOJN = 5625;
	CmdJLJNNPIAKGH = 5652;
	CmdSyncRogueCommonPendingActionScNotify = 5653;
	CmdEDBOGEKADGP = 5672;
	CmdSetRogueCollectionScRsp = 5690;
	CmdGetRogueHandbookDataScRsp = 5612;
	CmdRogueWorkbenchGetInfoScRsp = 5683;
	CmdHandleRogueCommonPendingActionCsReq = 5637;
	CmdSyncRogueHandbookDataUpdateScNotify = 5635;
	CmdTakeEventHandbookRewardScRsp = 5615;
	CmdBuyRogueShopBuffScRsp = 5671;
	CmdCKPKIINILKA = 5639;
	CmdCommonRogueUpdateScNotify = 5628;
	CmdSyncRogueCommonDialogueDataScNotify = 5674;
	CmdGetRogueCommonDialogueDataCsReq = 5698;
	CmdRogueShopBeginBattleCsReq = 5654;
	CmdRogueShopBeginBattleScRsp = 5656;
	CmdMCHIJNKKOAM = 5680;
	CmdRogueGetGambleInfoCsReq = 5679;
	CmdLECIGPPCMAB = 5613;
	CmdCEDCDDPHBOG = 5638;
	CmdGetRogueHandbookDataCsReq = 5673;
	CmdGetRogueShopFormulaInfoCsReq = 5700;
	CmdSetRogueExhibitionCsReq = 5632;
	EGANMDEFFGM_ECGCIPCGADI = 5669;
	CmdTakeRogueMiracleHandbookRewardScRsp = 5644;
	CmdDCADHJHJMMD = 5693;
	EGANMDEFFGM_FPPOLDDIGFF = 5630;
	CmdCommonRogueQueryCsReq = 5646;
	CmdTakeRogueMiracleHandbookRewardCsReq = 5675;
	CmdSelectRogueCommonDialogueOptionScRsp = 5655;
	CmdSyncRogueCommonActionResultScNotify = 5618;
	CmdGKNPEGHPCMH = 5633;
	CmdMJEPCLPMKKI = 5640;
	CmdBuyRogueShopFormulaScRsp = 5676;
	CmdGetRogueCommonDialogueDataScRsp = 5662;
	EGANMDEFFGM_DNNECBLLKBO = 5665;
	CmdMKNBFMJGKBM = 5647;
	CmdLPDPAJGFBMM = 5606;
}

enum LBGGAGLBCPC {
	LBGGAGLBCPC_NLCDGIPGFDJ = 0;
	LBGGAGLBCPC_JIGJDOFEJMI = 1;
	LBGGAGLBCPC_BBNEHDGPGGH = 2;
	LBGGAGLBCPC_BHIMJOHLHHK = 3;
}

// Obf: CLNECBOMHMN
enum RogueCommonBuffSelectSourceType {
	CLNECBOMHMN_NLCDGIPGFDJ = 0;
	CLNECBOMHMN_OHFGCMENFDH = 1;
	CLNECBOMHMN_BGDGIIOKHGF = 2;
	CLNECBOMHMN_MCGGEAAHBPD = 3;
	CLNECBOMHMN_EMALBALANLH = 4;
}

enum MGJDNGHDIKG {
	MGJDNGHDIKG_ANBKDJKHCBI = 0;
	MGJDNGHDIKG_DDJLLLNADIL = 1;
	MGJDNGHDIKG_NLCLCPPDLGM = 2;
	MGJDNGHDIKG_FDACPOINIEO = 3;
	MGJDNGHDIKG_BJDFGOACHGF = 4;
	MGJDNGHDIKG_ECLBIMKAKJC = 5;
}

enum JNMNJKCKJLA {
	JNMNJKCKJLA_NLCDGIPGFDJ = 0;
	JNMNJKCKJLA_OHFGCMENFDH = 1;
	JNMNJKCKJLA_BGDGIIOKHGF = 2;
	JNMNJKCKJLA_MCGGEAAHBPD = 3;
	JNMNJKCKJLA_EMALBALANLH = 4;
}

enum PAICEHDHLEJ {
	PAICEHDHLEJ_NLCDGIPGFDJ = 0;
	PAICEHDHLEJ_EGFCFCBHJJP = 1;
	PAICEHDHLEJ_AALCFBOGFKP = 2;
}

enum ENELBGHANGF {
	ENELBGHANGF_NLCDGIPGFDJ = 0;
	ENELBGHANGF_EGFCFCBHJJP = 1;
	ENELBGHANGF_AALCFBOGFKP = 2;
	ENELBGHANGF_BFMANEGOHHE = 3;
}

enum ALFKIMGCLPM {
	ALFKIMGCLPM_NLCDGIPGFDJ = 0;
	ALFKIMGCLPM_EGFCFCBHJJP = 1;
	ALFKIMGCLPM_AALCFBOGFKP = 2;
}

enum DICEONDKEFF {
	DICEONDKEFF_NLCDGIPGFDJ = 0;
	DICEONDKEFF_ICFONCMFNLG = 1;
	DICEONDKEFF_KDDIPFACJAJ = 2;
}

enum NHHMEPILLHL {
	NHHMEPILLHL_NLCDGIPGFDJ = 0;
	NHHMEPILLHL_MIDKKNAGOFA = 1;
	NHHMEPILLHL_FJMCIHHIGIA = 2;
	NHHMEPILLHL_ANBKDJKHCBI = 3;
	NHHMEPILLHL_NCLBFAALLFJ = 4;
	NHHMEPILLHL_EPCDLHFFBLI = 5;
	NHHMEPILLHL_MOFNIOJHBBL = 6;
	NHHMEPILLHL_CLNGFDPINDB = 7;
	NHHMEPILLHL_BGDGIIOKHGF = 8;
	NHHMEPILLHL_MCGGEAAHBPD = 9;
	NHHMEPILLHL_FMPGGENBHID = 10;
	NHHMEPILLHL_EMALBALANLH = 11;
	NHHMEPILLHL_LFCDGLIEHAI = 12;
	NHHMEPILLHL_DOFDGKKLJDD = 13;
	NHHMEPILLHL_JOLNBCHMDNN = 14;
	NHHMEPILLHL_BGPLPIPENJN = 15;
	NHHMEPILLHL_NPAFMEBNFOB = 16;
	NHHMEPILLHL_IKCHCHPGFFJ = 17;
}

enum AJCBEOILGLF {
	AJCBEOILGLF_NMNCOCCJEGM = 0;
	AJCBEOILGLF_DLEDGLGPBCI = 1;
	AJCBEOILGLF_OGJDIADDAAA = 2;
}

// Obf: PONHNPLLKAB
enum RogueTalentStatus {
	PONHNPLLKAB_GAJGBBFELEL = 0;
	PONHNPLLKAB_BFADFAELKLJ = 1;
	PONHNPLLKAB_has_recommand = 2;
}

enum MIGPNAOGHEP {
	MIGPNAOGHEP_DOOODKBGFCO = 0;
	MIGPNAOGHEP_COJLMFJMDKD = 1;
	MIGPNAOGHEP_AOKLIPHLBNN = 2;
}

enum LBPLJCHEJOK {
	LBPLJCHEJOK_NDDPEJHPLHG = 0;
	LBPLJCHEJOK_BMBGOIDDIJD = 1;
	LBPLJCHEJOK_KJDPEEAPJOO = 2;
}

enum LPCEBDCJBOI {
	LPCEBDCJBOI_IHENGPDPCHA = 0;
	LPCEBDCJBOI_HMKEPGCEMON = 1;
	LPCEBDCJBOI_GCMFFANJMHF = 2;
}

enum NKLAEHJPIMN {
	NKLAEHJPIMN_FGOFDMDBMAL = 0;
	NKLAEHJPIMN_GNGGGHLBNEH = 1;
	NKLAEHJPIMN_GIHACHNKFIE = 2;
}

enum MMFOGJPOHGJ {
	MMFOGJPOHGJ_NLCDGIPGFDJ = 0;
	MMFOGJPOHGJ_ANBKDJKHCBI = 1;
	MMFOGJPOHGJ_CFLNLFPNKPF = 2;
	MMFOGJPOHGJ_HHGAHPNPCJN = 3;
	MMFOGJPOHGJ_EELBIOJDKOH = 4;
	MMFOGJPOHGJ_CGBEHICONCC = 5;
}

enum BEAIKEEANDP {
	BEAIKEEANDP_NLCDGIPGFDJ = 0;
	BEAIKEEANDP_NKDECDGECFL = 1;
	BEAIKEEANDP_LONKNKFDPII = 2;
}

enum JPOIOHPJIHJ {
	JPOIOHPJIHJ_NLCDGIPGFDJ = 0;
	JPOIOHPJIHJ_KLNBEHCHGIG = 1;
	JPOIOHPJIHJ_POEHMGLLINH = 2;
	JPOIOHPJIHJ_PPOEBJKNLCB = 3;
	JPOIOHPJIHJ_ICBHBILDAAF = 4;
}
message KJAMNOGFAMJ {
	uint32 buff_id = 4; // offset: 28
	uint32 HAGDKKBAAKK = 12; // offset: 24
}
message APNCCNFJBKO {
	repeated KJAMNOGFAMJ buff_list = 12; // offset: 16
}
message GGGBAIAPDLO {
	repeated uint32 EBMEEKJGPPM = 2; // offset: 24
	uint32 NOAMCDNNHMD = 3; // offset: 64
	bool can_roll = 4; // offset: 68
	repeated KJAMNOGFAMJ LEOFNINDJDB = 6; // offset: 32
	RogueCommonBuffSelectSourceType source_type = 7; // offset: 52
	uint32 FIMMFJCKCNK = 8; // offset: 56
	uint32 NKGGAOJLCMD = 9; // offset: 76
	uint32 EGFOLKEPNCI = 10; // offset: 72
	uint32 EIALMEADLGF = 11; // offset: 48
	uint32 PCGFIOKLIBE = 14; // offset: 60
	ItemCostData DEHJDNIEKHB = 15; // offset: 40
}
message BPLNKHGAILK {
	uint32 BAOFIGFFMLN = 12; // offset: 24
}
message DEMENEAAGAA {
}
message FKOGDINOBDF {
	GGGBAIAPDLO PCHGEGFBKLF = 1; // offset: 24
}
message BPONKBLGNNL {
	ItemCostData cost_data = 2; // offset: 16
	uint32 buff_id = 3; // offset: 32
}
message AACJBNFGABA {
	repeated BPONKBLGNNL EMAGFIBLNCJ = 6; // offset: 24
}
message GCCIOBKOFJN {
	uint32 LGIPILAKIKB = 4; // offset: 32
	repeated KJAMNOGFAMJ JJDILEHLHDH = 10; // offset: 24
}
message NMMLEBEEJLB {
	uint32 NNNJECNENGA = 10; // offset: 24
}
message IEJIOGIGFAI {
	uint32 LGIPILAKIKB = 6; // offset: 32
	repeated KJAMNOGFAMJ CGAEPNOCDIG = 15; // offset: 16
}
message AEJLPCAIODP {
	uint32 BAOFIGFFMLN = 7; // offset: 24
}
message PKFNILLONDF {
	uint32 LGIPILAKIKB = 3; // offset: 32
	repeated KJAMNOGFAMJ LEOFNINDJDB = 6; // offset: 24
}
message PJMEDBOACGL {
	uint32 BAOFIGFFMLN = 6; // offset: 24
}
message EGLAPJGFKPN {
	APNCCNFJBKO JPKACKNNHCA = 1; // offset: 24
}
message KOFMGCNIMIN {
	uint32 DGGCFDKJDPO = 4; // offset: 28
	uint32 total_count = 10; // offset: 24
	uint32 LJCEOGPOGBE = 12; // offset: 32
}
message ONKHCFLOELJ {
	bool BKCNAAMGHKJ = 14; // offset: 24
}
message IOMEMIEAPJO {
	KOFMGCNIMIN miracle = 3; // offset: 16
}
message IKHMHNOIGAB {
	uint32 LJCEOGPOGBE = 11; // offset: 24
}
message LHKNCMFEPFK {
	KOFMGCNIMIN miracle = 4; // offset: 24
	uint32 FDEECOEDJEB = 8; // offset: 32
	uint32 EGJIEAAEEBD = 9; // offset: 36
}
message OKBLBLPOENO {
	KOFMGCNIMIN miracle = 7; // offset: 16
}
message JLHJICBCHMO {
	KOFMGCNIMIN HLCPFLOPGBM = 2; // offset: 16
	uint32 BJIBCOHEGIJ = 15; // offset: 32
}
message CKEOMFNPKPO {
	KOFMGCNIMIN miracle = 15; // offset: 16
}
message GMIJHCONFIH {
	repeated KOFMGCNIMIN MAJGMMCOCIG = 3; // offset: 16
}
message AMKALFJHFJP {
	uint32 LIFJCJKNKNJ = 1; // offset: 40
	repeated uint32 BPDDBKGDMDD = 3; // offset: 16
	uint32 FAHAMJFPMMI = 6; // offset: 36
	uint32 LGIPILAKIKB = 8; // offset: 32
}
message JINFLJMPPHN {
	uint32 OJPGDDFJCHB = 3; // offset: 24
}
message LDFJBLDICPJ {
}
message HPIPKICGABB {
	AMKALFJHFJP AMIBPAGBMFP = 11; // offset: 16
}
message LFKOLKFKOAP {
	repeated uint32 CLEJHGMAFOD = 2; // offset: 16
	uint32 LGIPILAKIKB = 6; // offset: 32
}
message BFAMBJHPNGE {
	uint32 GEGJGJKMELD = 1; // offset: 24
}
message LBKIKIGLIMJ {
	uint32 LGIPILAKIKB = 11; // offset: 32
	repeated uint32 MJGBLEBKMDH = 12; // offset: 16
}
message KPDALNGIDAG {
	uint32 PBGBMGIIHHA = 4; // offset: 24
}
message MBPJGCJEGJB {
	uint32 LGIPILAKIKB = 2; // offset: 32
	repeated uint32 LHMIIFKPPAG = 8; // offset: 16
}
message JEKGAINCPNH {
	uint32 AHPLANFABJH = 4; // offset: 24
}
message JJPDJPINDOA {
	uint32 LGIPILAKIKB = 7; // offset: 32
	repeated uint32 ANINMMMGLLL = 13; // offset: 16
}
message KIHMNMMJIDL {
	uint32 LJGNHKCBAIO = 6; // offset: 24
}
message DNGEEKCHHED {
	repeated uint32 BGAFHIOEHFH = 7; // offset: 24
	uint32 LGIPILAKIKB = 15; // offset: 32
}
message CHEPPLBNOFF {
	uint32 OJPGDDFJCHB = 12; // offset: 24
}
message NGEBIKIHIDD {
	repeated uint32 BGAFHIOEHFH = 1; // offset: 24
	uint32 LGIPILAKIKB = 14; // offset: 32
}
message AOMOENMNCNB {
	uint32 OJPGDDFJCHB = 14; // offset: 24
}
message CIBMBDDOGBH {
	uint32 OOMKNHFIGAF = 11; // offset: 24
}
message NHLBNBBDHMI {
	GMIJHCONFIH HAJJBOFCFOO = 14; // offset: 16
}
message INKPGECIDNE {
	repeated uint32 KPJPABDIOJB = 6; // offset: 16
}
message AGEOGDOGDMM {
	uint32 rogue_money = 13; // offset: 24
}
message NPCIGEBNOFG {
	uint32 num = 8; // offset: 28
	uint32 display_type = 10; // offset: 24
}
message KNEJEHOOFGI {
	AvatarType avatar_type = 1; // offset: 24
	uint32 avatar_id = 12; // offset: 28
}
message EHKDAJFLIEI {
	uint32 JAAIADKFPCL = 11; // offset: 24
	uint32 HHFKOOJBOBF = 13; // offset: 28
}
message IOHKFHBGICD {
	ItemList item_list = 6; // offset: 24
}
message NAPFNBJDIOO {
	EHKDAJFLIEI MCGGEAAHBPD = 9; // offset: 32
	IOHKFHBGICD reward_item = 12; // offset: 24
}
message MNGNLOCLNOF {
}
message FEIJPEJBDDH {
	int32 count = 9; // offset: 24
}
message JMPNGBAILBG {
	uint32 LJCEOGPOGBE = 11; // offset: 24
}
message FENFEHCCOCA {
}
message RogueAdventureRoomGameplayWolfGunTarget {
	oneof target_impl {
		MNGNLOCLNOF target_none = 15; // offset: 24
		FEIJPEJBDDH target_coin = 12; // offset: 24
		JMPNGBAILBG target_miracle = 6; // offset: 24
		FENFEHCCOCA target_ruanmei = 5; // offset: 24
	}
}
message BDPHJAEBKAD {
	repeated RogueAdventureRoomGameplayWolfGunTarget battle_target_list = 5; // offset: 24
	uint32 NFGNOCBCKID = 15; // offset: 32
}
message ANMDOACPHMN {
	oneof KKNBOACNCON {
		BDPHJAEBKAD POOGLPNNDAB = 1; // offset: 24
	}
}
message HHAGOFKBFAP {
	uint32 IIMOONEHGLO = 2; // offset: 32
	uint32 score_id = 4; // offset: 36
	double NDLJIJINOBB = 7; // offset: 40
	ANMDOACPHMN IHNENEGKEPO = 8; // offset: 24
	uint32 MEFKKHAJACJ = 12; // offset: 48
	uint32 status = 13; // offset: 52
}

// Type: Notify
// CmdID: 5625
message PJFPIPIPOJN {
	HHAGOFKBFAP DJMHHMMABJL = 4; // offset: 24
}

// Type: Req
// CmdID: 5678
message LNKEEAKFEHM {
}

// Type: Rsp
// CmdID: 5693
message DCADHJHJMMD {
	HHAGOFKBFAP DJMHHMMABJL = 7; // offset: 16
	uint32 retcode = 11; // offset: 32
}

// Type: Req
// CmdID: 5672
message EDBOGEKADGP {
	uint32 KGEBFIOJFLC = 2; // offset: 32
	repeated uint32 EEDPLDBFMMM = 11; // offset: 24
}

// Type: Rsp
// CmdID: 5680
message MCHIJNKKOAM {
	HHAGOFKBFAP DJMHHMMABJL = 7; // offset: 16
	uint32 retcode = 15; // offset: 32
}

// Type: Req
// CmdID: 5638
message CEDCDDPHBOG {
}

// Type: Rsp
// CmdID: 5639
message CKPKIINILKA {
	uint32 retcode = 2; // offset: 32
	HHAGOFKBFAP DJMHHMMABJL = 12; // offset: 24
}

// Type: Req
// CmdID: 5652
message JLJNNPIAKGH {
	uint32 score_id = 13; // offset: 24
	uint32 round = 15; // offset: 28
}

// Type: Rsp
// CmdID: 5620
message FLCPMJGCHID {
	uint32 retcode = 8; // offset: 32
	HHAGOFKBFAP DJMHHMMABJL = 9; // offset: 16
}
message ELGOBKCNOHH {
	ItemCostData cost_data = 3; // offset: 32
	uint32 LJCEOGPOGBE = 5; // offset: 44
	bool BELPGDAGFIH = 8; // offset: 40
	ItemCostData KINNMAGDDJJ = 9; // offset: 24
	bool GCIHGKCJOGB = 15; // offset: 41
}
message KJEOBMBMNIN {
	bool BELPGDAGFIH = 2; // offset: 49
	ItemCostData KINNMAGDDJJ = 3; // offset: 16
	ItemCostData cost_data = 5; // offset: 24
	uint32 buff_id = 6; // offset: 44
	uint32 JBGENFIKGGF = 7; // offset: 40
	bool GCIHGKCJOGB = 8; // offset: 48
}
message OMLMOJIGLEE {
	ItemCostData cost_data = 1; // offset: 16
	uint32 KAHMGPGPOII = 4; // offset: 40
	bool BELPGDAGFIH = 5; // offset: 44
	bool GCIHGKCJOGB = 11; // offset: 45
	ItemCostData KINNMAGDDJJ = 15; // offset: 32
}
message AGKONMPOJKP {
	repeated ELGOBKCNOHH MAJGMMCOCIG = 15; // offset: 24
}
message DAENHKENJHK {
	repeated KJEOBMBMNIN buff_list = 2; // offset: 24
}
message GBHAHDBDOIE {
	repeated OMLMOJIGLEE KJFEFFGPNFF = 15; // offset: 16
}

// Obf: MJCPFFDLGGC
// Type: Req
// CmdID: 5681
message GetRogueShopBuffInfoCsReq {
	bool LJBCDJNNBJH = 1; // offset: 24
	uint32 interacted_prop_entity_id = 15; // offset: 28
}

// Obf: APCHMPGJGGC
// Type: Rsp
// CmdID: 5686
message GetRogueShopBuffInfoScRsp {
	DAENHKENJHK HABJHGPFGEB = 3; // offset: 16
	int32 KCBOHFNFJEA = 10; // offset: 40
	int32 APMGPHFHENP = 11; // offset: 44
	uint32 retcode = 12; // offset: 48
	ItemCostData JOMDKGINNEK = 15; // offset: 32
}

// Obf: CICKIFGMKPF
// Type: Req
// CmdID: 5658
message GetRogueShopMiracleInfoCsReq {
	bool LJBCDJNNBJH = 2; // offset: 28
	uint32 interacted_prop_entity_id = 13; // offset: 24
}

// Obf: DDHJFDPBPAA
// Type: Rsp
// CmdID: 5688
message GetRogueShopMiracleInfoScRsp {
	ItemCostData JOMDKGINNEK = 2; // offset: 16
	uint32 retcode = 4; // offset: 40
	AGKONMPOJKP DNPCCFFFBHN = 5; // offset: 24
}

// Obf: JIKKKPKEFMH
// Type: Req
// CmdID: 5700
message GetRogueShopFormulaInfoCsReq {
	bool LJBCDJNNBJH = 3; // offset: 28
	uint32 interacted_prop_entity_id = 15; // offset: 24
}

// Obf: GFGLECFFFLG
// Type: Rsp
// CmdID: 5608
message GetRogueShopFormulaInfoScRsp {
	int32 APMGPHFHENP = 4; // offset: 40
	int32 KCBOHFNFJEA = 9; // offset: 44
	ItemCostData JOMDKGINNEK = 11; // offset: 24
	GBHAHDBDOIE EAPCJKNGGCA = 12; // offset: 16
	uint32 retcode = 14; // offset: 48
}

// Type: Req
// CmdID: 5647
message MKNBFMJGKBM {
	uint32 LJCEOGPOGBE = 2; // offset: 28
	uint32 interacted_prop_entity_id = 14; // offset: 24
}

// Type: Req
// CmdID: 5613
message LECIGPPCMAB {
	uint32 interacted_prop_entity_id = 7; // offset: 32
	repeated uint32 AOLIEDBCNBN = 13; // offset: 16
}

// Obf: OMAOGCPKDNB
// Type: Req
// CmdID: 5667
message BuyRogueShopMiracleCsReq {
	repeated uint32 KOFNOJCMEFA = 7; // offset: 24
	uint32 interacted_prop_entity_id = 14; // offset: 32
}

// Obf: DLJLBCGBOCB
// Type: Rsp
// CmdID: 5626
message BuyRogueShopMiracleScRsp {
	uint32 retcode = 1; // offset: 32
	AGKONMPOJKP DNPCCFFFBHN = 12; // offset: 16
}

// Obf: DCAEIHGJFDE
// Type: Rsp
// CmdID: 5671
message BuyRogueShopBuffScRsp {
	uint32 retcode = 1; // offset: 32
	DAENHKENJHK HABJHGPFGEB = 12; // offset: 16
}

// Obf: PFJKHHMEOGH
// Type: Rsp
// CmdID: 5676
message BuyRogueShopFormulaScRsp {
	GBHAHDBDOIE EAPCJKNGGCA = 6; // offset: 16
	uint32 retcode = 13; // offset: 32
}

// Type: Req
// CmdID: 5640
message MJEPCLPMKKI {
	uint32 HDHNKFPMPAO = 12; // offset: 24
}

// Type: Rsp
// CmdID: 5633
message GKNPEGHPCMH {
	uint32 retcode = 15; // offset: 24
}

// Obf: MPDDBHDFJKH
// Type: Req
// CmdID: 5654
message RogueShopBeginBattleCsReq {
	uint32 interacted_prop_entity_id = 12; // offset: 24
}

// Obf: PBFEGMDAIDN
// Type: Rsp
// CmdID: 5656
message RogueShopBeginBattleScRsp {
	SceneBattleInfo AEPNEDJPAGK = 2; // offset: 16
	uint32 retcode = 13; // offset: 32
}

// Obf: FACMJBCOHBP
// Type: Notify
// CmdID: 5618
message SyncRogueCommonActionResultScNotify {
	repeated MAOKMPOELCO CLGGKLNPLCK = 4; // offset: 32
	DICEONDKEFF display_type = 9; // offset: 44
	uint32 DLOJFEEHLIJ = 11; // offset: 40
	repeated ACMKPNMKOKH KCLBFINDGNA = 13; // offset: 16
}
message MAOKMPOELCO {
	NHHMEPILLHL source = 9; // offset: 36
	uint32 queue_position = 10; // offset: 32
	PKHKEEKIODC detail = 11; // offset: 16
}
message CBDMGEGELFM {
	uint32 key = 2; // offset: 28
	int32 DPICNGBHFAC = 12; // offset: 24
}
message OMJGKNJKHCH {
	int32 NGIBKCODMAL = 2; // offset: 24
	int32 JOCCAPDMHGB = 9; // offset: 32
	uint32 IGNACLJKFGO = 10; // offset: 28
}
message LEJFIEPMMGG {
	repeated CBDMGEGELFM IFJIHNBDNGN = 4; // offset: 16
	uint32 KAHMGPGPOII = 11; // offset: 36
	bool is_activated = 12; // offset: 32
}
message HMAAICNBKCI {
	map<uint32, int32> DCLBHOHPGMB = 12; // offset: 16
}
message JJEMDNEIMOJ {
	LEJFIEPMMGG DKEENIMPLKD = 14; // offset: 16
}
message MKNALGLEBNA {
	LEJFIEPMMGG DKEENIMPLKD = 15; // offset: 16
}
message PKOHBLEGMAO {
	LEJFIEPMMGG DKEENIMPLKD = 8; // offset: 16
}
message FBGIINJFCCD {
	LEJFIEPMMGG DKEENIMPLKD = 8; // offset: 24
}
message CFJNAPDIMKM {
	repeated OMJGKNJKHCH EMLLEPOADED = 6; // offset: 24
}
message CJAFLDKHDAF {
	HMAAICNBKCI value = 13; // offset: 16
}
message DJODDECFHMC {
	HMAAICNBKCI ENFIKCCMHAI = 5; // offset: 24
	repeated LEJFIEPMMGG KJFEFFGPNFF = 8; // offset: 40
	repeated OMJGKNJKHCH EMLLEPOADED = 10; // offset: 16
}
message HCNEFGJCCMB {
	uint32 PEKGIDFPBNJ = 6; // offset: 24
}
message LFLMJKLKBIL {
	uint32 PEKGIDFPBNJ = 6; // offset: 24
}
message OHHKEOGOMCA {
	map<uint32, bool> PACLGPIDJGL = 3; // offset: 16
}
message BDJLHJDPEEK {
	uint32 level = 2; // offset: 40
	uint32 composition_type = 5; // offset: 36
	repeated uint32 attribute_list = 11; // offset: 24
	uint32 unique_id = 14; // offset: 32
}
message NKOBPBBONDJ {
	bool BJDEBHMKJBC = 2; // offset: 32
	BDJLHJDPEEK KDFKDNLNDHN = 11; // offset: 24
}
message IPKOBBJPKML {
	uint32 unique_id = 15; // offset: 24
}
message GNLBCCHFILK {
	bool BJDEBHMKJBC = 7; // offset: 32
	BDJLHJDPEEK KDFKDNLNDHN = 13; // offset: 24
}
message EDDEOKAIJAB {
	uint32 AMOABLICEDP = 2; // offset: 24
}
message PKOOFPOCNKB {
	uint32 IFDIHFKKCLE = 4; // offset: 28
	uint32 DBPAHBJPFLJ = 14; // offset: 24
}
message PKHKEEKIODC {
	oneof KKNBOACNCON {
		NPCIGEBNOFG DDCLCNPONOH = 5; // offset: 16
		NPCIGEBNOFG CONDGFPOFKD = 14; // offset: 16
		KJAMNOGFAMJ IFOOEPKGGAG = 1986; // offset: 16
		KJAMNOGFAMJ CMPNCFCJCNE = 703; // offset: 16
		IOMEMIEAPJO GPJJMPCMAAA = 250; // offset: 16
		IKHMHNOIGAB LAEFENCCBBC = 1047; // offset: 16
		LHKNCMFEPFK KDJBDMLDMHG = 198; // offset: 16
		OKBLBLPOENO CBPINAOHEBD = 329; // offset: 16
		JLHJICBCHMO OMFLCEBLLMI = 1684; // offset: 16
		CKEOMFNPKPO FLGGFGCIGNJ = 1145; // offset: 16
		KNEJEHOOFGI ACIFEIPPILA = 1974; // offset: 16
		JJEMDNEIMOJ MDGNDLLEFJE = 986; // offset: 16
		MKNALGLEBNA JOCLINGHBHE = 1496; // offset: 16
		PKOHBLEGMAO HPMJHOGCLGG = 101; // offset: 16
		FBGIINJFCCD KMAMKBKNCPM = 1592; // offset: 16
		CFJNAPDIMKM JEJCFJEDOLA = 1007; // offset: 16
		CJAFLDKHDAF JEBLGELGBHM = 99; // offset: 16
		HCNEFGJCCMB GHMKDCKJILO = 137; // offset: 16
		LFLMJKLKBIL CEICJPEMGHD = 221; // offset: 16
		GNGIHJIJGMD EBFCOMCMGLC = 1284; // offset: 16
		LBBCNOOOCNE JDCMEPIOMPN = 663; // offset: 16
		AOFKCKOIFCM KCGHLOHDMBM = 1991; // offset: 16
		MMBBHFNJILI JMJPONNLJEJ = 449; // offset: 16
		MMBBHFNJILI MCPKPJHBEAK = 895; // offset: 16
		MMBBHFNJILI GDABGNBKFPA = 2015; // offset: 16
		DNLKMHLAPHC APGPOGAKPAC = 486; // offset: 16
		NEMJDLLBBGN JOLNBCHMDNN = 685; // offset: 16
		NBFAGOOJIOB KOHOCJAMJAN = 1026; // offset: 16
		NBFAGOOJIOB AEGMECDFNBE = 897; // offset: 16
		NKOBPBBONDJ CIOLGFNLEBB = 1082; // offset: 16
		IPKOBBJPKML BIJODAGIKNF = 246; // offset: 16
		GNLBCCHFILK MELCFMHKECA = 518; // offset: 16
		EDDEOKAIJAB EMKIGHCFKCN = 141; // offset: 16
		PKOOFPOCNKB KAHKMDHFLOH = 950; // offset: 16
		HIMJNABCJMM ALNEINEOJOJ = 903; // offset: 16
		PPHLEBFJIGM EGPLOEAAFGL = 1429; // offset: 16
		JGCMGAMHDHM JKLJBCBFNPL = 985; // offset: 16
		OECNJOAPCKO MIDFLEHKPBF = 945; // offset: 16
		OMACAKFNAOA NBEKLDCBJCH = 2011; // offset: 16
		GBKILNHHGLB DFJCKBLAOBN = 1617; // offset: 16
		OEPIHJOHLKM FLPDILMMCFK = 364; // offset: 16
	}
}
message OFMCKLEMOMP {
	uint32 LGIPILAKIKB = 1; // offset: 52
	repeated uint32 ONECEAIJLAM = 3; // offset: 24
	uint32 OJCEEICJBGI = 5; // offset: 40
	uint32 DENIIHGKNFM = 8; // offset: 44
	ItemCostData GOOMJPLEIKL = 9; // offset: 32
	bool can_roll = 15; // offset: 48
}
message PIJDFMAJMFD {
	uint32 JMNMFMHPCKD = 1; // offset: 24
}
message JIGLEHNAKNJ {
	uint32 LGIPILAKIKB = 2; // offset: 32
	repeated uint32 KLLIJGIHFAP = 8; // offset: 24
}
message IGODPKFLDNE {
	uint32 JMNMFMHPCKD = 7; // offset: 24
}
message CHDPILMCJNP {
}
message OKFPPPBNJNH {
	OFMCKLEMOMP FNEOOMHHGGB = 8; // offset: 24
}
message PAGJKBPPOKL {
	OFMCKLEMOMP FNEOOMHHGGB = 4; // offset: 16
}
message HELGMBBOGMJ {
	uint32 JMNMFMHPCKD = 13; // offset: 24
}
message PIBOMOCKACA {
	uint32 KDIDDHIDNCG = 4; // offset: 24
}
message LDKMOFFMGEL {
	uint32 type = 4; // offset: 24
	uint32 LPOLPDBELON = 10; // offset: 28
	uint32 slot = 11; // offset: 32
}
message OCBPJLLLJGO {
	uint32 GCAHKLNGFCK = 3; // offset: 28
	uint32 level = 5; // offset: 24
}
message DNLKMHLAPHC {
	OCBPJLLLJGO OOPCPMANCBO = 6; // offset: 48
	map<uint32, uint32> HCPNPDLJKGF = 9; // offset: 24
	repeated LDKMOFFMGEL LEDNAHCKMHK = 13; // offset: 40
	repeated OKCCLEEPELM AJFLAHGJELP = 14; // offset: 32
}
message OKCCLEEPELM {
	uint32 level = 3; // offset: 28
	uint32 CFKKKPNKHEL = 9; // offset: 24
}
message MMBBHFNJILI {
	uint32 unique_id = 6; // offset: 32
	OKCCLEEPELM OJEANDPABHC = 13; // offset: 16
}
message GNGIHJIJGMD {
	DNLKMHLAPHC LANFFLCLGAH = 12; // offset: 16
}
message LBBCNOOOCNE {
	DNLKMHLAPHC LANFFLCLGAH = 6; // offset: 16
}
message AOFKCKOIFCM {
	DNLKMHLAPHC LANFFLCLGAH = 11; // offset: 24
}
message KBKLNECKDEN {
	uint32 NKGGAOJLCMD = 1; // offset: 40
	repeated OKCCLEEPELM AGKFAODICEA = 4; // offset: 16
	OKCCLEEPELM EPOCLANFIAC = 5; // offset: 24
	uint32 EIALMEADLGF = 10; // offset: 48
	uint32 LGIPILAKIKB = 15; // offset: 44
}
message OFGGMBHCKPJ {
	uint32 LGIPILAKIKB = 8; // offset: 32
	repeated MMBBHFNJILI AGKFAODICEA = 9; // offset: 24
}
message GDIKLACNOEJ {
	OKCCLEEPELM ACCCINPPINC = 4; // offset: 16
}
message AHNLMMFHOME {
	MMBBHFNJILI ACCCINPPINC = 10; // offset: 24
}
message NEMJDLLBBGN {
	MMBBHFNJILI BLEBJLDOLII = 8; // offset: 24
	repeated uint32 LIIJNIKIGJD = 14; // offset: 16
}
message NFNMMFBJBLC {
	repeated OCBPJLLLJGO INLDHMAIPMH = 7; // offset: 24
	uint32 LGIPILAKIKB = 15; // offset: 32
}
message JHBEOHDMHDA {
	OCBPJLLLJGO PJJNMNJMKBG = 1; // offset: 16
	bool OKJJOMMGIGD = 14; // offset: 32
}
message KPJBDOPFPDL {
	OCBPJLLLJGO MAAGBKHLECB = 11; // offset: 24
}
message IHOFKNBNNLB {
	OCBPJLLLJGO NBKMDMGMOGK = 4; // offset: 16
	bool AJPLPEFCNAM = 5; // offset: 32
}
message NBFAGOOJIOB {
	uint32 OMHHOADFMLI = 1; // offset: 24
}
message FGGJCLDLMMI {
	uint32 PLJPIPDFAHA = 7; // offset: 32
	repeated uint32 OHKHMDEOCLA = 13; // offset: 16
}
message KPOFAPDKBJA {
	uint32 LGIPILAKIKB = 6; // offset: 40
	uint32 FBJLLMGOPHO = 9; // offset: 32
	uint32 PNNCEGEMAPP = 11; // offset: 36
	repeated uint32 PGACPPNAFFF = 13; // offset: 24
	uint32 DAEMEBCKHIK = 15; // offset: 44
}
message GJIHIMKICLG {
	uint32 MEOHDNHGPMF = 4; // offset: 24
}
message MCFEKKMFEHA {
}
message ELJDPDFMLPM {
	KPOFAPDKBJA ICKMKPJACAB = 4; // offset: 24
}
message FDICOMLMBME {
	uint32 AIAFEKGBFIF = 11; // offset: 24
}
message EBOLNPIMDAL {
	uint32 battle_event_id = 5; // offset: 32
	bool is_win = 10; // offset: 36
	map<uint32, uint32> NGJJMOIAJKO = 14; // offset: 16
}
message MHLLNFJHMEK {
	uint32 AIAFEKGBFIF = 9; // offset: 24
}
message ODHJEDHKHOD {
	repeated uint32 NMMCOBBKKHA = 3; // offset: 16
	repeated uint32 BIMFEAHDMIK = 14; // offset: 24
}
message JDFNPICGCGI {
	map<uint32, uint32> KEGHPOHGPFF = 1; // offset: 56
	repeated uint32 MLIDKPGKCIL = 2; // offset: 48
	repeated uint32 GJFPEFCOBFJ = 3; // offset: 16
	uint32 LIFJCJKNKNJ = 5; // offset: 76
	ODHJEDHKHOD JBEBEKECKJN = 8; // offset: 40
	bool PLJNPPKFFCO = 11; // offset: 81
	repeated uint32 OIMCPHNONPF = 12; // offset: 24
	repeated uint32 FNIPHPIEBNB = 13; // offset: 64
	uint32 FAHAMJFPMMI = 14; // offset: 72
	bool KLGGHNILHIC = 15; // offset: 80
}
message EKIFAOJKOCL {
	oneof GBFHOGKMMEA {
		uint32 unique_id = 14; // offset: 16
		uint32 JAMNNBEPPKE = 13; // offset: 16
	}
}
message APOKGADPHDC {
}
message OBNEOHHDAIP {
	JDFNPICGCGI IFPBFMOAJOP = 12; // offset: 16
}
message NIHKHKONHPN {
	FHBDPOJEEMJ CPOHGLHEOLG = 10; // offset: 16
	uint32 LGIPILAKIKB = 11; // offset: 48
	repeated uint32 FNCIOCCACMD = 13; // offset: 40
	repeated uint32 LEOPMIGFDLK = 15; // offset: 24
}
message ALMGFDOPLGA {
	uint32 FGIHKKKOGJD = 7; // offset: 24
}
message EGMPACONNFP {
	uint32 NPBLEKPLPFA = 10; // offset: 28
	uint32 GNCFHIKODKE = 12; // offset: 24
	uint32 unique_id = 13; // offset: 32
}
message HIMJNABCJMM {
	repeated EGMPACONNFP JKFNAKBGIBF = 8; // offset: 24
}
message PPHLEBFJIGM {
	uint32 OIIJCLJHPPE = 2; // offset: 28
	uint32 AIIFGDGONIF = 3; // offset: 36
	uint32 style_level = 4; // offset: 24
	uint32 style_exp = 10; // offset: 32
}
message OMACAKFNAOA {
	repeated KVP IHFEBNBHDFM = 3; // offset: 24
}
message OECNJOAPCKO {
	uint32 FAGJACOFHGF = 11; // offset: 24
	uint32 KMIKBANMAFK = 12; // offset: 28
}
message JGCMGAMHDHM {
	uint32 PGGDEHKKINP = 5; // offset: 24
}
message PGMIABHEJNB {
	repeated uint32 ICCMIEHKDAO = 9; // offset: 16
}
message CLMPCCGCADK {
	uint32 EOOLCIACHFJ = 15; // offset: 24
}
message OHJJMCMJEHL {
	repeated uint32 BLAHNLDHINC = 5; // offset: 16
	uint32 DAEMEBCKHIK = 6; // offset: 44
	uint32 NAENAEGAEAF = 9; // offset: 36
	bool ODBKCIBGLLP = 10; // offset: 40
	uint32 MLJHCOGNJEL = 14; // offset: 32
}
message JKLLLNDHJHI {
	uint32 PGDEHMAGGLF = 2; // offset: 24
}
message BOHAJCPBBJI {
}
message KLEHEHAMKLC {
	OHJJMCMJEHL KBEBGLAAEGM = 9; // offset: 16
}
message KGLIOOODBPN {
	uint32 level = 2; // offset: 32
	uint32 composition_type = 5; // offset: 36
	repeated uint32 OEOMILPAFGI = 13; // offset: 24
}
message PBMGACMAMBE {
	uint32 IOJPOKCDFHM = 7; // offset: 32
	repeated KGLIOOODBPN JKFNAKBGIBF = 13; // offset: 24
}
message OGPOHFPHEOB {
	uint32 PMILABMFMMM = 9; // offset: 24
}
message GBKILNHHGLB {
	repeated uint32 GMMAFIONFNF = 13; // offset: 16
}
message LHKAOPAPJEK {
	FHEGNOPNICH JNKLNLKHGBB = 2; // offset: 16
	LineupInfo lineup = 7; // offset: 32
	SceneInfo scene = 14; // offset: 40
}
message OEPIHJOHLKM {
	LHKAOPAPJEK IDCMACCPCBH = 6; // offset: 24
}

// Obf: DLNANAEDDEE
// Type: Notify
// CmdID: 5653
message SyncRogueCommonPendingActionScNotify {
	uint32 DLOJFEEHLIJ = 10; // offset: 32
	INHBMHCJJCN action = 15; // offset: 16
}
message INHBMHCJJCN {
	uint32 queue_position = 2; // offset: 32
	DCFPEIMAMCN detail = 5; // offset: 16
}
message DCFPEIMAMCN {
	oneof KKNBOACNCON {
		GGGBAIAPDLO PCHGEGFBKLF = 724; // offset: 16
		GCCIOBKOFJN JFNHDJIDJDA = 1500; // offset: 16
		IEJIOGIGFAI FEMFJIDBEAB = 2020; // offset: 16
		PKFNILLONDF GHBBKKABKBN = 1112; // offset: 16
		AMKALFJHFJP AMIBPAGBMFP = 491; // offset: 16
		LFKOLKFKOAP PAKPHFJOBAF = 1660; // offset: 16
		LBKIKIGLIMJ BJKEDGMKOLM = 1193; // offset: 16
		MBPJGCJEGJB NGCJBBCOOCF = 462; // offset: 16
		JJPDJPINDOA CNANEDFPNKJ = 756; // offset: 16
		DNGEEKCHHED CDFPGKGILAJ = 278; // offset: 16
		NGEBIKIHIDD PMKJIMIIOGM = 1576; // offset: 16
		INKPGECIDNE JIPEPMDMCMB = 578; // offset: 16
		OFMCKLEMOMP FNEOOMHHGGB = 633; // offset: 16
		JIGLEHNAKNJ EMOJGAFOCML = 1077; // offset: 16
		PAGJKBPPOKL BMEMABNEFKK = 1569; // offset: 16
		KBKLNECKDEN GOIFJFKIFFF = 576; // offset: 16
		NFNMMFBJBLC FJCHODNDIKA = 1927; // offset: 16
		KPJBDOPFPDL FAENLPCFFEB = 499; // offset: 16
		OFGGMBHCKPJ NLAMHGACGIO = 1290; // offset: 16
		OFGGMBHCKPJ JCBNIADPOGN = 1880; // offset: 16
		OFGGMBHCKPJ IJMIEMKJCHM = 471; // offset: 16
		FDICOMLMBME PHGLAEOGJKM = 2028; // offset: 16
		KPOFAPDKBJA MMHGAEBEIHD = 1107; // offset: 16
		JDFNPICGCGI IFPBFMOAJOP = 171; // offset: 16
		NIHKHKONHPN KNKAPJOCNGM = 566; // offset: 16
		PGMIABHEJNB HDAHOBBJDIF = 1003; // offset: 16
		OHJJMCMJEHL KBEBGLAAEGM = 167; // offset: 16
		PBMGACMAMBE HBLHLFDHIGP = 290; // offset: 16
	}
}

// Obf: OFEDNNJIJFL
// Type: Req
// CmdID: 5637
message HandleRogueCommonPendingActionCsReq {
	uint32 BFNEPPCNOOI = 8; // offset: 32
	oneof KKNBOACNCON {
		BPLNKHGAILK OPDCGJEKEKP = 137; // offset: 24
		NMMLEBEEJLB HKNPLHMLINB = 239; // offset: 24
		AEJLPCAIODP ILLBNBMCMPF = 280; // offset: 24
		DEMENEAAGAA DFKJOGGFDHD = 1141; // offset: 24
		PJMEDBOACGL HDNGLMGCHEK = 1212; // offset: 24
		JINFLJMPPHN JOGGLMMCMFH = 1883; // offset: 24
		LDFJBLDICPJ OMAKKKMNCJH = 1597; // offset: 24
		BFAMBJHPNGE CAELBFPKNDN = 1599; // offset: 24
		KPDALNGIDAG EGOFFKFONDP = 1768; // offset: 24
		JEKGAINCPNH HFMOJHNMNJN = 1186; // offset: 24
		KIHMNMMJIDL GANJIGMPDNL = 1191; // offset: 24
		CHEPPLBNOFF BAALMNPNGLO = 1744; // offset: 24
		AOMOENMNCNB EBLALPNFHFM = 734; // offset: 24
		CIBMBDDOGBH GFILIMKPCDM = 1694; // offset: 24
		PIJDFMAJMFD MLBEKIDDGOD = 399; // offset: 24
		CHDPILMCJNP HPBIAGDDEHN = 731; // offset: 24
		IGODPKFLDNE NBCHIIFMCNC = 251; // offset: 24
		HELGMBBOGMJ EMEFJODMAOI = 1533; // offset: 24
		GDIKLACNOEJ CFCBJDKKCMB = 1148; // offset: 24
		JHBEOHDMHDA CAPLDJMOIPB = 221; // offset: 24
		IHOFKNBNNLB MNLHCHKLEOG = 668; // offset: 24
		AHNLMMFHOME EGIIEHODAEJ = 1545; // offset: 24
		AHNLMMFHOME NNPLAAIBOGB = 1397; // offset: 24
		AHNLMMFHOME AHKBAEIMCNM = 1949; // offset: 24
		GJIHIMKICLG LJJNMMGJGNA = 1946; // offset: 24
		MCFEKKMFEHA LEGOBNMKHCO = 1679; // offset: 24
		EKIFAOJKOCL LOGMGHBMHPE = 1757; // offset: 24
		APOKGADPHDC CGEHCAIKAPJ = 860; // offset: 24
		ALMGFDOPLGA OPJONHEBIBG = 278; // offset: 24
		CLMPCCGCADK AIJHFPCFPDM = 1375; // offset: 24
		JKLLLNDHJHI GCBFCJIHNFC = 878; // offset: 24
		BOHAJCPBBJI NFMAAGNLALA = 879; // offset: 24
		OGPOHFPHEOB IACMGHACKDA = 1358; // offset: 24
		PIBOMOCKACA CNGCLILLDJG = 641; // offset: 24
		EBOLNPIMDAL FNGLOCNBCOJ = 244760; // offset: 24
		MHLLNFJHMEK PDAEHMFKEOF = 257315; // offset: 24
	}
}

// Obf: LEFAKCMDGNB
// Type: Rsp
// CmdID: 5651
message HandleRogueCommonPendingActionScRsp {
	uint32 queue_position = 2; // offset: 36
	uint32 BFNEPPCNOOI = 8; // offset: 40
	uint32 retcode = 13; // offset: 44
	oneof KKNBOACNCON {
		FKOGDINOBDF JFHKDEIDMOG = 7; // offset: 16
		HPIPKICGABB COBNPFDHMEA = 14; // offset: 16
		OKFPPPBNJNH LDOFNPGNJJC = 4; // offset: 16
		ELJDPDFMLPM PKBOEKFFMKM = 12; // offset: 16
		OBNEOHHDAIP FPJABECNFNA = 11; // offset: 16
		KLEHEHAMKLC HGBKMEHOMHA = 627; // offset: 16
	}
}
message BPHIKPCNBHM {
	uint32 maze_buff_id = 9; // offset: 24
}
message CIGDBCKOFBN {
	uint32 NPNMLPNBHDP = 2; // offset: 24
	bool ALAJJMKOMML = 10; // offset: 28
}
message NMHMGHEHHCM {
	uint32 PNHGLNPDFEA = 3; // offset: 28
	bool ALAJJMKOMML = 10; // offset: 24
}
message NMDKHGGGMBC {
	repeated uint32 HMIOHPIMLCE = 6; // offset: 16
	uint32 exp = 9; // offset: 32
	uint32 level = 11; // offset: 36
	uint32 max_level = 12; // offset: 40
	uint32 AFEMBLFCCCH = 13; // offset: 44
}
message ONMFMINNBEB {
	OCBPJLLLJGO DDLADFJMEEC = 10; // offset: 16
}
message LGFOKKPICEH {
	uint32 KGOPHALLLLI = 7; // offset: 24
	uint32 CFKKKPNKHEL = 9; // offset: 28
}
message NHGJEIHKKHB {
	repeated BPHIKPCNBHM buff_list = 9; // offset: 16
	repeated NMDKHGGGMBC JHEHAIBMNNF = 10; // offset: 24
	repeated CIGDBCKOFBN MAJGMMCOCIG = 14; // offset: 40
	repeated NMHMGHEHHCM PMIFFBHOOOO = 15; // offset: 32
}

// Obf: MJNKKPCCBMP
// Type: Req
// CmdID: 5673
message GetRogueHandbookDataCsReq {
}

// Obf: CNOFLEBNGAC
// Type: Rsp
// CmdID: 5612
message GetRogueHandbookDataScRsp {
	uint32 retcode = 9; // offset: 32
	NHGJEIHKKHB HAMKPLCBEBG = 12; // offset: 24
}

// Obf: FFFCJNFIDLO
// Type: Notify
// CmdID: 5635
message SyncRogueHandbookDataUpdateScNotify {
	repeated BPHIKPCNBHM IPNAAGCMNLB = 7; // offset: 48
	repeated NMHMGHEHHCM BOJGAEJNCFP = 9; // offset: 24
	repeated LGFOKKPICEH JEAGPFDBJDH = 10; // offset: 16
	repeated CIGDBCKOFBN BFDFABHMCNE = 11; // offset: 40
	repeated ONMFMINNBEB LMDKIJFDLEO = 14; // offset: 32
}

// Obf: MBNKNCDIJLD
// Type: Req
// CmdID: 5675
message TakeRogueMiracleHandbookRewardCsReq {
	repeated uint32 PHINEMJKBJK = 14; // offset: 16
}

// Obf: ABAJJKIIFBG
// Type: Rsp
// CmdID: 5644
message TakeRogueMiracleHandbookRewardScRsp {
	repeated uint32 CNDLCGEFLCJ = 7; // offset: 32
	ItemList reward = 9; // offset: 16
	uint32 retcode = 12; // offset: 40
}

// Obf: OJGOBCCMHOH
// Type: Req
// CmdID: 5649
message TakeEventHandbookRewardCsReq {
	repeated uint32 PINNDKIJHFG = 6; // offset: 24
}

// Obf: LMCDLJJFGKE
// Type: Rsp
// CmdID: 5615
message TakeEventHandbookRewardScRsp {
	ItemList reward = 6; // offset: 24
	uint32 retcode = 12; // offset: 40
	repeated uint32 DBGOOKPHLFD = 15; // offset: 32
}
message FKEDPCMLIFE {
	map<uint32, uint32> HJANIOKJALB = 2; // offset: 24
}
message CACKKIOEOEF {
	uint32 JPPAGGPJOMO = 8; // offset: 32
	LMNCBIDKHLF OLJCAJMFJPO = 10; // offset: 16
	int32 FJCIKNAKJOG = 13; // offset: 36
}
message CBANJNLBDBB {
	repeated uint32 KEHKLHMEABI = 15; // offset: 16
}
message JEIKFFFGONB {
	ItemCostData LNIEFKBMIPD = 13; // offset: 32
	repeated DINGDGLKHIP BHBPKKKNABO = 15; // offset: 16
}
message ECJAMIHNOFL {
	oneof LEOIAOFBBFA {
		EGLAPJGFKPN HABJHGPFGEB = 10; // offset: 16
		NHLBNBBDHMI DNPCCFFFBHN = 15; // offset: 16
		FKEDPCMLIFE HFEPBJHJPAF = 3; // offset: 16
		CACKKIOEOEF AEFMMOHKCHJ = 11; // offset: 16
		CBANJNLBDBB EIIHJJEBKOE = 13; // offset: 16
		DJODDECFHMC EAPCJKNGGCA = 1; // offset: 16
		OHHKEOGOMCA KLNBJHPDMFI = 6; // offset: 16
		JEIKFFFGONB EIOHFJMFOKF = 4; // offset: 16
	}
}
message GKFGIMIBBHF {
	uint32 progress = 2; // offset: 24
	uint32 MMFGAJNCAOA = 7; // offset: 32
	bool finish = 8; // offset: 28
}
message OKPIPFKONMG {
	uint32 CKHCLKOALKE = 2; // offset: 36
	RogueTalentStatus status = 8; // offset: 32
	repeated GKFGIMIBBHF LDHIJAHNEGK = 10; // offset: 16
}
message FDBDLBAPDBE {
	repeated OKPIPFKONMG BLHJIPBHHFO = 2; // offset: 16
}
message LKCDLJCKCJI {
	uint32 KMNILIKJFHD = 9; // offset: 28
	uint32 item_type = 12; // offset: 24
}

// Obf: FDFGDPBEKCJ
// Type: Notify
// CmdID: 5614
message CommonRogueVirtualItemInfoScNotify {
	repeated LKCDLJCKCJI DMCINCJLMND = 15; // offset: 16
}
message KPIHDPGDMKB {
	uint32 OCAGIAKNGPG = 3; // offset: 28
	uint32 NBBABABPEBE = 4; // offset: 32
	uint32 DGJPGMGPCCE = 8; // offset: 24
}
message AHLALEEJOEG {
	repeated MGJDNGHDIKG LFCGPOKMJLC = 10; // offset: 24
}
message CDDEIPOBBCN {
	repeated uint32 BHAGLNBNGBP = 6; // offset: 16
}
message GANFMBPEJPF {
	repeated DIKBPKAKENO JFHKJOGEOND = 1; // offset: 24
	repeated JMJEIBGACMD CEPDOBEIEFG = 6; // offset: 32
	repeated DGKLPPLJBNB PAKECMNPEJJ = 9; // offset: 40
	repeated NPAJHGDEIDJ DPIKOCFILGP = 15; // offset: 48
}
message CCKJAEDDDCL {
	oneof KKNBOACNCON {
		KPIHDPGDMKB BMGOLFNGHGH = 6; // offset: 24
		AHLALEEJOEG BBEKBJPHEJK = 14; // offset: 24
		CDDEIPOBBCN MECOEFEJANE = 5; // offset: 24
		GANFMBPEJPF ABPOOCOOKCF = 15; // offset: 24
	}
}

// Obf: BGDHGALEOIK
// Type: Req
// CmdID: 5646
message CommonRogueQueryCsReq {
	repeated uint32 query_list = 6; // offset: 16
}

// Obf: NHLDNOOFHCI
// Type: Rsp
// CmdID: 5619
message CommonRogueQueryScRsp {
	uint32 GLGHEOPPCMH = 2; // offset: 36
	uint32 retcode = 10; // offset: 32
	repeated CCKJAEDDDCL LFLCDNGALME = 15; // offset: 16
}

// Obf: OKPPACPGJIO
// Type: Notify
// CmdID: 5628
message CommonRogueUpdateScNotify {
	oneof NOKMOIHLGBN {
		KPIHDPGDMKB BMGOLFNGHGH = 6; // offset: 24
		AHLALEEJOEG BBEKBJPHEJK = 14; // offset: 24
		CDDEIPOBBCN MECOEFEJANE = 3; // offset: 24
	}
}
message HEOBLDJAOPE {
	uint32 MJBKNMJHOGP = 1; // offset: 24
	uint32 OEANPIHCHHF = 14; // offset: 28
}
message FOINGKNPBLJ {
	uint32 KAHMGPGPOII = 2; // offset: 24
}
message KNPMLBOBKPI {
	uint32 LNAHJENGELA = 3; // offset: 24
}
message OEPAMDEPFLJ {
	uint32 dialogue_id = 12; // offset: 24
}
message LEHBIBDGEHG {
	oneof JGOLOIOMGFO {
		HEOBLDJAOPE MFAEGBJBJBE = 12; // offset: 24
		FOINGKNPBLJ MNKGPHFJDFM = 13; // offset: 24
		KNPMLBOBKPI DCFILENMPCC = 4; // offset: 24
		OEPAMDEPFLJ BDFKGFLFCFO = 1; // offset: 24
	}
}
message KNMNEJCMHGE {
	float GMPKBKLGDMA = 12; // offset: 24
	int32 MNLINFEODPJ = 14; // offset: 28
}
message PIACCCGNOOF {
	uint32 battle_event_id = 1; // offset: 24
}
message BPOKOPCGMAJ {
	int32 change_value = 4; // offset: 24
}
message MAEEIBPEOFN {
	oneof PGNIENCDODA {
		PIACCCGNOOF BACBKGJJOGA = 2; // offset: 24
		BPOKOPCGMAJ CNKCDGOJGJH = 14; // offset: 24
	}
}
message KDODFHMDAJI {
	uint32 HAFOKMHCGFM = 3; // offset: 40
	bool is_selected = 6; // offset: 48
	KNMNEJCMHGE param = 7; // offset: 16
	uint32 arg_id = 10; // offset: 44
	repeated MAEEIBPEOFN LDCJONHGDAN = 13; // offset: 24
	bool is_valid = 14; // offset: 49
}
message HFEOGNAMHCG {
	uint32 AIAFEKGBFIF = 4; // offset: 40
	LEHBIBDGEHG owner = 10; // offset: 24
	repeated KDODFHMDAJI KFNMIEMBJGD = 12; // offset: 32
}

// Obf: BBILDBEOKIK
// Type: Req
// CmdID: 5698
message GetRogueCommonDialogueDataCsReq {
}

// Obf: KIFHJJILCHH
// Type: Rsp
// CmdID: 5662
message GetRogueCommonDialogueDataScRsp {
	repeated HFEOGNAMHCG dialogue_list = 11; // offset: 16
	uint32 retcode = 14; // offset: 32
}

// Obf: KPDMLEELICE
// Type: Req
// CmdID: 5666
message SelectRogueCommonDialogueOptionCsReq {
	uint32 AIAFEKGBFIF = 8; // offset: 24
	uint32 HAFOKMHCGFM = 13; // offset: 28
}

// Obf: HDDJBPIOCMC
// Type: Rsp
// CmdID: 5655
message SelectRogueCommonDialogueOptionScRsp {
	uint32 AIAFEKGBFIF = 5; // offset: 44
	uint32 retcode = 10; // offset: 40
	uint32 HAFOKMHCGFM = 12; // offset: 48
	repeated uint32 CGINGCNCPCO = 14; // offset: 24
	HFEOGNAMHCG ONOLNGOHEMF = 15; // offset: 16
}

// Type: Req
// CmdID: 5616
message BIHACLHMAKO {
	uint32 AIAFEKGBFIF = 9; // offset: 24
}

// Type: Rsp
// CmdID: 5606
message LPDPAJGFBMM {
	uint32 retcode = 14; // offset: 24
}

// Obf: NJPGOAAALGJ
// Type: Notify
// CmdID: 5674
message SyncRogueCommonDialogueDataScNotify {
	repeated HFEOGNAMHCG dialogue_list = 12; // offset: 24
}

// Obf: HDIICGMJNBO
// Type: Notify
// CmdID: 5657
message SyncRogueCommonDialogueOptionFinishScNotify {
	uint32 HAFOKMHCGFM = 2; // offset: 36
	KDODFHMDAJI FJPGAOHGEBH = 9; // offset: 16
	uint32 AIAFEKGBFIF = 14; // offset: 32
}
message CBOLONJDHHL {
	uint32 ICGCMEIBJLC = 1; // offset: 56
	uint32 LJOBBEFACPG = 4; // offset: 60
	NCHGLFJCGIJ modifier = 7; // offset: 16
	GMIMDEJMFCO blackboard = 8; // offset: 24
	INHBMHCJJCN FMIGOKIDKJL = 10; // offset: 32
	uint32 DLOJFEEHLIJ = 12; // offset: 64
	string trans_no = 14; // offset: 48
}

// Obf: KIFALDPCHGB
// Type: Req
// CmdID: 5623
message RogueWorkbenchGetInfoCsReq {
	uint32 prop_entity_id = 5; // offset: 24
}

// Obf: EOKICOIMEPH
// Type: Rsp
// CmdID: 5683
message RogueWorkbenchGetInfoScRsp {
	uint32 retcode = 7; // offset: 32
	map<uint32, BCOEGNBGJFC> NJAPFMHHPPA = 9; // offset: 24
}
message BCOEGNBGJFC {
	oneof PKMEJECPMCH {
		BAJDLLEFGHB NLJPONKBMFI = 14; // offset: 24
		BJBIFIMJDOL BBNEGKCNMBA = 3; // offset: 24
		BLICCEHIOLH PKPIEFOBHKH = 9; // offset: 24
		OMNMBANDCBA FKMADCAFJMC = 11; // offset: 24
		DCEPBLJKNNE PHLEDABHDML = 1; // offset: 24
		FBOFEOCHDMN DDLADFJMEEC = 2; // offset: 24
		BAHBCFDAIKG OJEANDPABHC = 13; // offset: 24
		GNFDPONFLJD CLLEJEPNBDH = 7; // offset: 24
		OJPMMKIJIFH DNHKNALBAMG = 5; // offset: 24
		EHELNMGMENO LBBCJHOPEPH = 4; // offset: 24
		LPODFEEGDOB KDFGAKDCMIK = 12; // offset: 24
	}
}
message BAJDLLEFGHB {
	ItemCostData cost_data = 2; // offset: 24
	uint32 JFIGNBBLCIM = 3; // offset: 32
	int32 LIAGGDDILGO = 14; // offset: 36
}
message BJBIFIMJDOL {
	ItemCostData cost_data = 8; // offset: 16
	int32 LIAGGDDILGO = 12; // offset: 36
	uint32 JFIGNBBLCIM = 15; // offset: 32
}
message BLICCEHIOLH {
	uint32 cur_num = 3; // offset: 36
	uint32 max_num = 4; // offset: 32
	map<uint32, uint32> LBEIHAOKHAD = 11; // offset: 16
}
message OMNMBANDCBA {
	int32 LIAGGDDILGO = 2; // offset: 40
	map<uint32, bool> PILABDDEKII = 3; // offset: 16
	ItemCostData cost_data = 10; // offset: 32
	uint32 JFIGNBBLCIM = 15; // offset: 44
}
message DCEPBLJKNNE {
	int32 LIAGGDDILGO = 2; // offset: 32
	ItemCostData cost_data = 4; // offset: 16
	uint32 JFIGNBBLCIM = 15; // offset: 36
}
message LNPGBGDPIIK {
	ItemCostData cost_data = 1; // offset: 24
	ItemCostData IOJFGBDPPHI = 2; // offset: 32
	bool IFIGFODOPBB = 12; // offset: 48
	OCBPJLLLJGO DDLADFJMEEC = 13; // offset: 40
}
message FBOFEOCHDMN {
	repeated LNPGBGDPIIK GJGFCCKEMFD = 8; // offset: 16
}
message BBHHENEONHO {
	uint32 KGOPHALLLLI = 2; // offset: 40
	bool IFIGFODOPBB = 3; // offset: 48
	uint32 CFKKKPNKHEL = 9; // offset: 44
	ItemCostData cost_data = 10; // offset: 24
	ItemCostData IOJFGBDPPHI = 12; // offset: 32
}
message BAHBCFDAIKG {
	repeated BBHHENEONHO HIILDALHIMD = 11; // offset: 24
}
message GNFDPONFLJD {
	ItemCostData cost_data = 4; // offset: 16
	uint32 JFIGNBBLCIM = 9; // offset: 32
	int32 LIAGGDDILGO = 11; // offset: 36
}
message OJPMMKIJIFH {
	map<uint32, ItemCostData> BHPELIMODBC = 4; // offset: 24
	ItemCostData PKAMBCBEKME = 6; // offset: 32
	int32 LIAGGDDILGO = 9; // offset: 44
	uint32 JFIGNBBLCIM = 14; // offset: 40
}
message NEFBECKCJIH {
	uint32 GCAHKLNGFCK = 2; // offset: 32
	ItemCostData cost_data = 12; // offset: 24
}
message EHELNMGMENO {
	repeated NEFBECKCJIH MALDOMHPILM = 15; // offset: 16
}
message LPODFEEGDOB {
	uint32 DMGJDGJMCJL = 5; // offset: 24
	uint32 CLNDMEODHJE = 15; // offset: 28
}

// Obf: FPNMBONIFEB
// Type: Req
// CmdID: 5695
message RogueWorkbenchHandleFuncCsReq {
	MIPGDFDCKLE PELKPPHLMHE = 4; // offset: 16
	uint32 prop_entity_id = 8; // offset: 36
	uint32 func_id = 9; // offset: 32
}

// Obf: DPGLHPGGPHM
// Type: Rsp
// CmdID: 5617
message RogueWorkbenchHandleFuncScRsp {
	BCOEGNBGJFC JNPALDKNHKM = 8; // offset: 16
	uint32 func_id = 10; // offset: 32
	uint32 retcode = 15; // offset: 36
}
message MIPGDFDCKLE {
	oneof MMCGBGDJIPN {
		JFGGDMPDKNH NLJPONKBMFI = 9; // offset: 16
		COKKOEBBEGM BBNEGKCNMBA = 5; // offset: 16
		FHAAGBGAHLO PKPIEFOBHKH = 4; // offset: 16
		LNOPJJFKMDL FKMADCAFJMC = 7; // offset: 16
		MKFCLDMEMGN PHLEDABHDML = 1; // offset: 16
		DOEJLDNIDED DDLADFJMEEC = 3; // offset: 16
		ALJJNBKGEOC OJEANDPABHC = 13; // offset: 16
		LFBPMGGFCEO CLLEJEPNBDH = 8; // offset: 16
		EJBEEKFJAHM DNHKNALBAMG = 10; // offset: 16
		LLBKNIJDALM LBBCJHOPEPH = 2; // offset: 16
		NGOKMAABDJJ KDFGAKDCMIK = 6; // offset: 16
	}
}
message JFGGDMPDKNH {
	uint32 FGKPOBCOCKM = 11; // offset: 24
}
message COKKOEBBEGM {
	uint32 HDGPBCJPNBE = 5; // offset: 24
}
message FHAAGBGAHLO {
	uint32 CJGIOODIADG = 5; // offset: 24
}
message LNOPJJFKMDL {
	repeated uint32 PDAMBONNOND = 3; // offset: 24
}
message MKFCLDMEMGN {
	uint32 FALFBMDDFPA = 8; // offset: 24
}
message DOEJLDNIDED {
	uint32 DPGKMIIBPDB = 9; // offset: 24
}
message ALJJNBKGEOC {
	repeated uint32 EHKPMGBCPCG = 9; // offset: 24
}
message LFBPMGGFCEO {
	repeated uint32 IPACFECEBFF = 9; // offset: 16
}
message EJBEEKFJAHM {
	uint32 CFKKKPNKHEL = 2; // offset: 24
}
message LLBKNIJDALM {
	uint32 GCAHKLNGFCK = 6; // offset: 24
}
message NGOKMAABDJJ {
	repeated uint32 GMMAFIONFNF = 14; // offset: 16
}
message NPAJHGDEIDJ {
	uint32 ECPDJMMOGCI = 12; // offset: 24
	LPCEBDCJBOI status = 13; // offset: 28
}
message JMJEIBGACMD {
	uint32 CNFGOHFPLGO = 3; // offset: 24
	uint32 ECPDJMMOGCI = 4; // offset: 28
	LBPLJCHEJOK status = 13; // offset: 32
}

// Obf: COFMBMIJHNB
// Type: Req
// CmdID: 5660
message SetRogueCollectionCsReq {
	repeated uint32 NPICFPDAPAF = 1; // offset: 32
	repeated uint32 MFMPDDCGGMN = 4; // offset: 16
	repeated MIGPNAOGHEP NEKJDKDAMKF = 8; // offset: 40
}

// Obf: GDLCKAFPJCI
// Type: Rsp
// CmdID: 5690
message SetRogueCollectionScRsp {
	uint32 retcode = 2; // offset: 40
	repeated JMJEIBGACMD CEPDOBEIEFG = 6; // offset: 24
	repeated NPAJHGDEIDJ DPIKOCFILGP = 7; // offset: 16
}
message DIKBPKAKENO {
	uint32 EFCAJENMLKA = 1; // offset: 28
	NKLAEHJPIMN status = 3; // offset: 24
}
message DGKLPPLJBNB {
	uint32 CNFGOHFPLGO = 1; // offset: 24
	uint32 EFCAJENMLKA = 10; // offset: 32
	LBPLJCHEJOK status = 11; // offset: 28
}

// Obf: ILCJAJBPOMO
// Type: Req
// CmdID: 5632
message SetRogueExhibitionCsReq {
	repeated MIGPNAOGHEP ADGNFDJDCLG = 3; // offset: 40
	repeated uint32 HNCFLOKLJLA = 9; // offset: 16
	repeated uint32 DMIIBKINPNL = 15; // offset: 32
}

// Obf: IDCEKOBEEFI
// Type: Rsp
// CmdID: 5670
message SetRogueExhibitionScRsp {
	uint32 retcode = 7; // offset: 40
	repeated DGKLPPLJBNB PAKECMNPEJJ = 9; // offset: 32
	repeated DIKBPKAKENO JFHKJOGEOND = 13; // offset: 24
}

// Obf: KEMPKDDHEFN
// Type: Req
// CmdID: 5679
message RogueGetGambleInfoCsReq {
	uint32 prop_entity_id = 15; // offset: 24
}

// Obf: LIOHNCDIAPM
// Type: Rsp
// CmdID: 5607
message RogueGetGambleInfoScRsp {
	HKOEAOPNEAC KOBBMDFPNKA = 2; // offset: 24
	uint32 retcode = 6; // offset: 32
}

// Obf: JGHALBFPDLO
// Type: Req
// CmdID: 5687
message RogueDoGambleCsReq {
	uint32 prop_entity_id = 3; // offset: 24
}

// Obf: NOCJKPILNMP
// Type: Rsp
// CmdID: 5624
message RogueDoGambleScRsp {
	uint32 retcode = 6; // offset: 32
	uint32 HNCCDEPDNEG = 10; // offset: 36
	uint32 DOOECGPIMBD = 12; // offset: 40
	HKOEAOPNEAC KOBBMDFPNKA = 14; // offset: 24
}
message AKMCODLAEKI {
	double value = 2; // offset: 32
	string key = 3; // offset: 16
}
message LGEFLGJIGIJ {
	uint64 GAHFPGCPAJA = 2; // offset: 32
	repeated AKMCODLAEKI GFKAFIFMHNF = 7; // offset: 24
	MMFOGJPOHGJ owner_type = 14; // offset: 40
}
message MGGBPKANFOA {
	repeated AKMCODLAEKI GFKAFIFMHNF = 7; // offset: 16
}
message GMIMDEJMFCO {
	MGGBPKANFOA global_blackboard = 7; // offset: 16
	repeated LGEFLGJIGIJ GMALFEABLNG = 11; // offset: 24
}
message NCHGLFJCGIJ {
	repeated BMCNDLNONMO HDLGLFGKONC = 6; // offset: 16
}
message ACMKPNMKOKH {
	uint32 queue_position = 1; // offset: 32
	FKBOOENADFM detail = 4; // offset: 16
}
message FKBOOENADFM {
	oneof MMCGBGDJIPN {
		LPLHNOPDKHI PDFDENDALFD = 12; // offset: 24
		IDMHNMOLHKN HIMDHCBOFEH = 3; // offset: 24
		EOIFLHMPBIF NGEFAPOENBD = 6; // offset: 24
		GGCFMPIBGHA KBAMEDDAIIN = 15; // offset: 24
		KNOLJDOPBDG LIAODKPFBHA = 8; // offset: 24
	}
}
message LPLHNOPDKHI {
	uint64 GAHFPGCPAJA = 6; // offset: 40
	repeated AKMCODLAEKI GFKAFIFMHNF = 12; // offset: 16
	MMFOGJPOHGJ owner_type = 13; // offset: 32
}
message IDMHNMOLHKN {
	repeated AKMCODLAEKI GFKAFIFMHNF = 4; // offset: 24
	uint64 GAHFPGCPAJA = 7; // offset: 40
	MMFOGJPOHGJ owner_type = 8; // offset: 32
}
message EOIFLHMPBIF {
	MMFOGJPOHGJ owner_type = 3; // offset: 24
	uint64 GAHFPGCPAJA = 11; // offset: 32
}
message GGCFMPIBGHA {
	repeated AKMCODLAEKI GFKAFIFMHNF = 2; // offset: 16
}
message KNOLJDOPBDG {
	uint64 GAHFPGCPAJA = 2; // offset: 32
	repeated AKMCODLAEKI GFKAFIFMHNF = 9; // offset: 16
	MMFOGJPOHGJ owner_type = 15; // offset: 40
}
message JGAMMPGMCNI {
	SceneInfo scene = 3; // offset: 40
	LineupInfo lineup = 13; // offset: 32
	FHEGNOPNICH JNKLNLKHGBB = 15; // offset: 16
}
message DKFJLHHDFKO {
	uint32 id = 9; // offset: 24
	AvatarType avatar_type = 14; // offset: 28
}
message DINGDGLKHIP {
	BEAIKEEANDP HOKEFMONOPG = 3; // offset: 24
	uint32 avatar_id = 9; // offset: 28
}
message AHLGKKEIIEC {
	uint32 DJCOLFLFIGK = 5; // offset: 28
	uint32 AOJKKGKCEOE = 13; // offset: 24
}
message DJEECBNBGMN {
	uint32 HAFOKMHCGFM = 1; // offset: 24
}
message EGAILAEBLIG {
	uint32 LJCEOGPOGBE = 12; // offset: 24
}
message EBIDBCOBLNM {
	uint32 BNLNGGCHFNF = 2; // offset: 28
	uint32 IHDPGGCJIAK = 6; // offset: 24
	uint32 FOPMPMPNCOA = 15; // offset: 32
}
message HLEBBGFAKAK {
	uint32 GNCFHIKODKE = 2; // offset: 24
}
message COKFMMNDCHN {
	uint32 CKHCLKOALKE = 15; // offset: 24
}
message FHBDPOJEEMJ {
	oneof KOEFMOAPDGI {
		DJEECBNBGMN HHBPBGMNGPN = 13; // offset: 16
		EGAILAEBLIG ECCLOKPNFHP = 1; // offset: 16
		HLEBBGFAKAK HDFLCOIDCPE = 6; // offset: 16
	}
}
message HJDCJNOFBHH {
	uint32 LJCEOGPOGBE = 10; // offset: 24
}
message FEGKCMBHHJP {
	uint32 level = 2; // offset: 24
	uint32 FGFFLBHLKDF = 7; // offset: 28
}
message NEJPAGJBMDA {
	uint32 FGFFLBHLKDF = 6; // offset: 32
	bool OGNBANANFCC = 15; // offset: 36
	oneof MOKOADHEBBA {
		HJDCJNOFBHH AOLFPJFJPEO = 12; // offset: 16
		FEGKCMBHHJP NGALCDKBGBK = 9; // offset: 16
	}
}
message BHPBJOMBCAD {
	repeated NEJPAGJBMDA IJKIBLJEGGE = 2; // offset: 16
	uint32 group_id = 4; // offset: 32
	bool NOALGKCLDHF = 13; // offset: 36
}
message HKOEAOPNEAC {
	uint32 DGGCFDKJDPO = 2; // offset: 52
	uint32 GPNJGMEPMMD = 3; // offset: 40
	uint32 JAEDKHMMPIH = 10; // offset: 48
	repeated BHPBJOMBCAD AJKOKAJABFG = 12; // offset: 24
	ItemCostData CANJGJIDKHK = 13; // offset: 32
	bool CEIIGJEOIAD = 14; // offset: 56
	uint32 KMNDBEPFMGN = 15; // offset: 44
}

// Obf: LBADGLCGAOG
enum CmdRogueEndlessType {
	LBADGLCGAOG_MOLJCEFGPLL = 0;
	CmdTakeRogueEndlessActivityPointRewardScRsp = 6002;
	CmdTakeRogueEndlessActivityPointRewardCsReq = 6006;
	CmdEnterRogueEndlessActivityStageScRsp = 6005;
	CmdEnterRogueEndlessActivityStageCsReq = 6003;
	CmdRogueEndlessActivityBattleEndScNotify = 6004;
	CmdGetRogueEndlessActivityDataCsReq = 6010;
	CmdTakeRogueEndlessActivityAllBonusRewardCsReq = 6009;
	CmdGetRogueEndlessActivityDataScRsp = 6001;
	CmdTakeRogueEndlessActivityAllBonusRewardScRsp = 6008;
}
message BBCOLCHCEFP {
	GMIJHCONFIH HAJJBOFCFOO = 2; // offset: 32
	repeated uint32 unfinished_story_line_id_list = 3; // offset: 24
	uint32 map_id = 6; // offset: 64
	RogueStatus status = 8; // offset: 68
	APNCCNFJBKO JPKACKNNHCA = 9; // offset: 16
	uint32 KNDHMNBIIDF = 11; // offset: 56
	uint32 PJKMDLCCHHD = 12; // offset: 60
	repeated uint32 NOEPBNMJFGL = 14; // offset: 40
}
message AJNOEKPLPCL {
	uint32 DNAPFBANFHJ = 3; // offset: 36
	uint32 ICKJKIENKFI = 4; // offset: 32
	bool MJIPOJPBKNB = 6; // offset: 44
	uint32 cur_layer = 7; // offset: 40
	uint32 FMCPHDJEIDC = 8; // offset: 24
	uint32 PKKDALHLCLA = 14; // offset: 28
	uint32 IEOGEFBLNEL = 15; // offset: 48
}
message HGFJAHILCAA {
	BBCOLCHCEFP BHHHNHMMDMH = 8; // offset: 24
	uint32 area_id = 9; // offset: 40
	AJNOEKPLPCL PMKGMLELPPI = 13; // offset: 32
}

// Obf: KCEFGNINEBG
// Type: Req
// CmdID: 6010
message GetRogueEndlessActivityDataCsReq {
}

// Obf: NKNPAOHOGHI
// Type: Rsp
// CmdID: 6001
message GetRogueEndlessActivityDataScRsp {
	repeated uint32 IEPPNGMCKJH = 1; // offset: 32
	repeated HGFJAHILCAA data = 3; // offset: 16
	uint32 IAHEDAAPNEO = 5; // offset: 44
	uint32 CHIAFOOAIBK = 7; // offset: 48
	uint32 retcode = 14; // offset: 40
}
message CAEFBGAFKHD {
	uint32 avatar_id = 3; // offset: 24
	AvatarType avatar_type = 15; // offset: 28
}

// Obf: FFDJLHCAKAP
// Type: Req
// CmdID: 6003
message EnterRogueEndlessActivityStageCsReq {
	repeated CAEFBGAFKHD avatar_list = 11; // offset: 16
	uint32 MPMMCPMNLID = 15; // offset: 32
}

// Obf: AKINJCDPGIF
// Type: Rsp
// CmdID: 6005
message EnterRogueEndlessActivityStageScRsp {
	SceneBattleInfo battle_info = 1; // offset: 24
	uint32 retcode = 2; // offset: 32
}

// Obf: IGOFLPJHHAO
// Type: Notify
// CmdID: 6004
message RogueEndlessActivityBattleEndScNotify {
	AJNOEKPLPCL PMKGMLELPPI = 12; // offset: 24
}

// Obf: ALBOKFLDIIH
// Type: Req
// CmdID: 6006
message TakeRogueEndlessActivityPointRewardCsReq {
	bool LEFJBFMDEGK = 2; // offset: 28
	uint32 level = 4; // offset: 24
}

// Obf: OGDDOAIIMPG
// Type: Rsp
// CmdID: 6002
message TakeRogueEndlessActivityPointRewardScRsp {
	repeated uint32 IEPPNGMCKJH = 2; // offset: 32
	uint32 level = 6; // offset: 40
	uint32 CHIAFOOAIBK = 7; // offset: 44
	ItemList reward = 8; // offset: 16
	uint32 retcode = 11; // offset: 48
}

// Obf: GHDBOHHNOME
// Type: Req
// CmdID: 6009
message TakeRogueEndlessActivityAllBonusRewardCsReq {
}

// Obf: DIGOHHNDDCA
// Type: Rsp
// CmdID: 6008
message TakeRogueEndlessActivityAllBonusRewardScRsp {
	uint32 CHIAFOOAIBK = 7; // offset: 40
	uint32 retcode = 8; // offset: 44
	ItemList reward = 10; // offset: 16
	repeated uint32 IEPPNGMCKJH = 12; // offset: 24
}

// Obf: GCKCLGJIKFC
enum CmdRogueMagicType {
	GCKCLGJIKFC_ELGPACEMCGP = 0;
	CmdRogueMagicEnterScRsp = 7758;
	CmdGKMOAKPLBHO = 7772;
	CmdRogueMagicEnterRoomCsReq = 7726;
	CmdRogueMagicReviveAvatarCsReq = 7745;
	CmdNADKCPCFIPM = 7749;
	CmdRogueMagicSetAutoDressInMagicUnitScRsp = 7712;
	CmdRogueMagicStoryInfoUpdateScNotify = 7715;
	CmdRogueMagicSettleCsReq = 7786;
	CmdRogueMagicSettleScRsp = 7747;
	CmdRogueMagicGetMiscRealTimeDataCsReq = 7735;
	CmdHBCOFDDCGOL = 7784;
	CmdRogueMagicUnitComposeCsReq = 7705;
	CmdRogueMagicUnitComposeScRsp = 7741;
	CmdRogueMagicStartScRsp = 7778;
	CmdRogueMagicReviveAvatarScRsp = 7769;
	CmdRogueMagicAutoDressInMagicUnitChangeScNotify = 7718;
	CmdRogueMagicAreaUpdateScNotify = 7738;
	CmdRogueMagicBattleFailSettleInfoScNotify = 7736;
	CmdRogueMagicEnterRoomScRsp = 7713;
	CmdRogueMagicLeaveScRsp = 7781;
	CmdNICAJBEJAHC = 7744;
	CmdRogueMagicLevelInfoUpdateScNotify = 7733;
	CmdRogueMagicGetMiscRealTimeDataScRsp = 7775;
	CmdOHONLLCHIFJ = 7721;
	CmdRogueMagicEnterLayerCsReq = 7771;
	CmdRogueMagicQueryScRsp = 7730;
	CmdRogueMagicEnterLayerScRsp = 7740;
	CmdDBOMCCEIFJO = 7780;
	CmdRogueMagicQueryCsReq = 7765;
	CmdRogueMagicLeaveCsReq = 7788;
	CmdRogueMagicStartCsReq = 7725;
	CmdRogueMagicReviveCostUpdateScNotify = 7748;
	CmdRogueMagicEnableTalentScRsp = 7796;
	CmdRogueMagicEnableTalentCsReq = 7734;
	CmdRogueMagicEnterCsReq = 7793;
	CmdRogueMagicSetAutoDressInMagicUnitCsReq = 7773;
}

enum PFKHKAMBHBN {
	PFKHKAMBHBN_NLCDGIPGFDJ = 0;
	PFKHKAMBHBN_LOOAKNHDBLL = 1;
	PFKHKAMBHBN_CCKPNCIBDGP = 2;
	PFKHKAMBHBN_JKNPMIMBGML = 3;
}

enum JGNAEPIJDNC {
	JGNAEPIJDNC_NLCDGIPGFDJ = 0;
	JGNAEPIJDNC_LOOAKNHDBLL = 1;
	JGNAEPIJDNC_CIHFGJDCHIA = 2;
}

enum HOIFDJPBGLB {
	HOIFDJPBGLB_NLCDGIPGFDJ = 0;
	HOIFDJPBGLB_JHHAJDKPLJH = 1;
	HOIFDJPBGLB_LOOAKNHDBLL = 2;
	HOIFDJPBGLB_CIHFGJDCHIA = 3;
}

enum JAMINGBJHBK {
	JAMINGBJHBK_NLCDGIPGFDJ = 0;
	JAMINGBJHBK_EHNIPLNEEDI = 1;
	JAMINGBJHBK_PMKMEAAGKAP = 2;
	JAMINGBJHBK_MNBAGHPEFBC = 3;
}
message EEILAINOLPO {
	SceneInfo scene = 5; // offset: 32
	LineupInfo lineup = 9; // offset: 16
	FHEGNOPNICH JNKLNLKHGBB = 13; // offset: 40
}
message GPEPGKCPBPB {
	repeated FODHGNLPBKH JEHEILKKDEF = 1; // offset: 16
	uint32 JOJCPKNIJOH = 5; // offset: 36
	uint32 MDAIAMFJNHM = 9; // offset: 32
	uint32 layer_index = 14; // offset: 44
	JGNAEPIJDNC status = 15; // offset: 40
}
message FODHGNLPBKH {
	uint32 EEPIDJJJMAH = 1; // offset: 36
	uint32 GHEHGIOAGDG = 7; // offset: 28
	uint32 room_id = 11; // offset: 32
	HOIFDJPBGLB status = 13; // offset: 24
}
message KDHAIFIOKDN {
	uint32 JDPHADIIAPE = 2; // offset: 32
	uint32 JJLEDNENPJK = 3; // offset: 40
	PFKHKAMBHBN status = 6; // offset: 44
	JAMINGBJHBK reason = 9; // offset: 36
	repeated GPEPGKCPBPB NNFFPJOLDHK = 13; // offset: 24
	uint32 BJHMFOAGMBF = 15; // offset: 48
}
message PLBAMNCLBHB {
	uint32 NBMNPGKEIIH = 2; // offset: 40
	bool HIKMFMJCNKP = 3; // offset: 44
	repeated MMBBHFNJILI HIILDALHIMD = 8; // offset: 24
	repeated DNLKMHLAPHC MALDOMHPILM = 9; // offset: 32
}
message FPNDOBPMNED {
	repeated uint32 KEHKLHMEABI = 6; // offset: 24
}
message CPPENGOOHGN {
	uint32 DDGDPDIPJPP = 13; // offset: 24
}

// Obf: LPMJNCECOFE
// Type: Req
// CmdID: 7725
message RogueMagicStartCsReq {
	repeated uint32 OCEGEKKFLAL = 5; // offset: 16
	repeated uint32 NOEPBNMJFGL = 12; // offset: 24
	uint32 area_id = 13; // offset: 44
	uint32 IEOFONJHFDJ = 14; // offset: 40
}
message GCBCKOKEAJH {
	CBOLONJDHHL basic_info = 1; // offset: 56
	KDHAIFIOKDN level = 2; // offset: 32
	PLBAMNCLBHB DDLADFJMEEC = 5; // offset: 72
	NHLBNBBDHMI miracle = 7; // offset: 64
	JEIKFFFGONB lineup = 8; // offset: 16
	FKEDPCMLIFE item_value = 10; // offset: 24
	FPNDOBPMNED MEEJDFNHBDI = 11; // offset: 40
}

// Obf: EHFDAIAINCI
// Type: Rsp
// CmdID: 7778
message RogueMagicStartScRsp {
	uint32 retcode = 1; // offset: 40
	GCBCKOKEAJH PHGJIJELKDB = 5; // offset: 24
	EEILAINOLPO IDCMACCPCBH = 14; // offset: 16
}

// Obf: ALAAINODLIJ
// Type: Req
// CmdID: 7793
message RogueMagicEnterCsReq {
}

// Obf: MGIHGHJMFAE
// Type: Rsp
// CmdID: 7758
message RogueMagicEnterScRsp {
	EEILAINOLPO IDCMACCPCBH = 3; // offset: 16
	GCBCKOKEAJH PHGJIJELKDB = 6; // offset: 32
	uint32 retcode = 11; // offset: 40
}

// Obf: IEJLKCJOAEM
// Type: Req
// CmdID: 7788
message RogueMagicLeaveCsReq {
}

// Obf: FAKIIFNHANG
// Type: Rsp
// CmdID: 7781
message RogueMagicLeaveScRsp {
	uint32 retcode = 2; // offset: 32
	EEILAINOLPO IDCMACCPCBH = 9; // offset: 24
}

// Obf: KIDHIFECNAH
// Type: Req
// CmdID: 7726
message RogueMagicEnterRoomCsReq {
	uint32 JOJCPKNIJOH = 6; // offset: 24
	uint32 KHBLMAOPLLN = 9; // offset: 28
}

// Obf: IGJJHHFJBDJ
// Type: Rsp
// CmdID: 7713
message RogueMagicEnterRoomScRsp {
	uint32 retcode = 4; // offset: 32
	EEILAINOLPO IDCMACCPCBH = 11; // offset: 16
}

// Obf: ICNPODONHGN
// Type: Req
// CmdID: 7771
message RogueMagicEnterLayerCsReq {
	uint32 BJHMFOAGMBF = 10; // offset: 24
	uint32 KHBLMAOPLLN = 12; // offset: 28
}

// Obf: NEDEIDNOLIM
// Type: Rsp
// CmdID: 7740
message RogueMagicEnterLayerScRsp {
	uint32 retcode = 6; // offset: 32
	EEILAINOLPO IDCMACCPCBH = 12; // offset: 16
}

// Obf: MAHGFIIOPHL
// Type: Notify
// CmdID: 7733
message RogueMagicLevelInfoUpdateScNotify {
	PFKHKAMBHBN status = 1; // offset: 36
	uint32 JJLEDNENPJK = 3; // offset: 44
	uint32 BJHMFOAGMBF = 5; // offset: 32
	uint32 JDPHADIIAPE = 9; // offset: 48
	repeated GPEPGKCPBPB NNFFPJOLDHK = 11; // offset: 24
	JAMINGBJHBK reason = 15; // offset: 40
}

// Obf: ALDJDOPBDHP
// Type: Notify
// CmdID: 7738
message RogueMagicAreaUpdateScNotify {
	repeated IFCNLKPPPHK DANNIDIPFAL = 4; // offset: 16
}
message NOAKCDKAAFB {
	bool DOFNEAPHMKH = 10; // offset: 24
	uint32 ADMJAHDJDDJ = 12; // offset: 28
}
message EJHDAJAGFIJ {
	bool DOFNEAPHMKH = 5; // offset: 28
	uint32 AEAHOGPJKEF = 12; // offset: 24
}
message FKFOIDMNDFG {
	NOAKCDKAAFB BNLLEJPCIGD = 2; // offset: 40
	EJHDAJAGFIJ KDDGKLNGNEA = 6; // offset: 32
	GCBCKOKEAJH PHGJIJELKDB = 9; // offset: 16
}
message GPHMAJPGGEK {
	repeated OKCCLEEPELM IHKCHDJEJGJ = 2; // offset: 32
	repeated OCBPJLLLJGO EBFHIDKDJOB = 14; // offset: 24
}

// Obf: HFPCLMDMEME
// Type: Notify
// CmdID: 7736
message RogueMagicBattleFailSettleInfoScNotify {
	EEILAINOLPO IDCMACCPCBH = 13; // offset: 24
	FKFOIDMNDFG BFLLJJBHLDF = 15; // offset: 32
}

// Obf: CJACBFMGOLK
// Type: Req
// CmdID: 7786
message RogueMagicSettleCsReq {
}

// Obf: CHFAMIIIKAH
// Type: Rsp
// CmdID: 7747
message RogueMagicSettleScRsp {
	FKFOIDMNDFG BFLLJJBHLDF = 2; // offset: 48
	uint32 retcode = 7; // offset: 56
	ItemList IIOMCJPCFML = 10; // offset: 32
	GPHMAJPGGEK IEHPMHOFBNJ = 11; // offset: 24
	EEILAINOLPO IDCMACCPCBH = 12; // offset: 40
}

// Obf: ALBMDPOIIDL
// Type: Notify
// CmdID: 7748
message RogueMagicReviveCostUpdateScNotify {
	ItemCostData LNIEFKBMIPD = 1; // offset: 24
}

// Obf: FDHHFKCPCIF
// Type: Req
// CmdID: 7745
message RogueMagicReviveAvatarCsReq {
	uint32 interacted_prop_entity_id = 4; // offset: 32
	repeated uint32 NOEPBNMJFGL = 12; // offset: 16
}

// Obf: ENIMHEHPGMI
// Type: Rsp
// CmdID: 7769
message RogueMagicReviveAvatarScRsp {
	ItemCostData LNIEFKBMIPD = 12; // offset: 16
	uint32 retcode = 14; // offset: 32
}

// Obf: IPIFCANPPEO
// Type: Req
// CmdID: 7765
message RogueMagicQueryCsReq {
}
message NJMOAGDJKFH {
	uint32 MHPCIABALPI = 3; // offset: 88
	uint32 JJLEDNENPJK = 5; // offset: 68
	uint32 ADIFLCNAABJ = 6; // offset: 80
	uint32 GEJEANJFCMI = 7; // offset: 64
	uint32 MEDAAELFEMN = 8; // offset: 84
	uint32 EJJGHJMCFPH = 11; // offset: 56
	uint32 NNNCEIGNIIA = 13; // offset: 72
	uint32 LKHAIEIDAJL = 14; // offset: 60
	uint32 NBMNPGKEIIH = 15; // offset: 76
	repeated uint32 avatar_id_list = 499; // offset: 32
	repeated MMBBHFNJILI HIILDALHIMD = 1214; // offset: 24
	repeated uint32 BGAFHIOEHFH = 1581; // offset: 40
	repeated DNLKMHLAPHC MALDOMHPILM = 1842; // offset: 48
}
message PGGMPDIMLAE {
	repeated uint32 ILNFEABHHCH = 354; // offset: 16
}
message IFCNLKPPPHK {
	repeated uint32 PBJLMCGIBND = 6; // offset: 16
	PGGMPDIMLAE COEBCNGCNOO = 7; // offset: 24
	NJMOAGDJKFH record_info = 8; // offset: 40
	uint32 area_id = 9; // offset: 52
	bool is_unlock = 10; // offset: 50
	bool is_taken_reward = 14; // offset: 49
	bool FJKHIFDJMDB = 15; // offset: 48
}
message NMOMMMGHMOA {
	bool is_unlock = 4; // offset: 24
	uint32 DFBDPEHAAMG = 6; // offset: 28
}
message GNPFDBACMIH {
	repeated uint32 NOMDDGGIIBF = 15; // offset: 16
}
message CILKBJMGNGL {
	repeated ONMFMINNBEB GJGFCCKEMFD = 1; // offset: 32
	DFGAIOOGPPA IHJKLHGMKBI = 4; // offset: 56
	repeated uint32 OBBKBNDGOAI = 8; // offset: 40
	GNPFDBACMIH story_info = 9; // offset: 48
	repeated LGFOKKPICEH HIILDALHIMD = 11; // offset: 72
	repeated NMOMMMGHMOA JJIEDDMALPE = 14; // offset: 24
	repeated IFCNLKPPPHK DANNIDIPFAL = 15; // offset: 64
}

// Obf: CDDMMHNKKPA
// Type: Rsp
// CmdID: 7730
message RogueMagicQueryScRsp {
	uint32 retcode = 3; // offset: 40
	GCBCKOKEAJH PHGJIJELKDB = 6; // offset: 24
	CILKBJMGNGL LFLCDNGALME = 15; // offset: 16
}

// Type: Req
// CmdID: 7772
message GKMOAKPLBHO {
	uint32 LPOLPDBELON = 3; // offset: 32
	uint32 GCAHKLNGFCK = 5; // offset: 28
	uint32 dice_slot_id = 10; // offset: 24
}

// Type: Rsp
// CmdID: 7780
message DBOMCCEIFJO {
	uint32 retcode = 6; // offset: 24
}

// Type: Req
// CmdID: 7744
message NICAJBEJAHC {
	repeated uint32 JDJFHIMPIPK = 4; // offset: 16
}

// Type: Rsp
// CmdID: 7749
message NADKCPCFIPM {
	uint32 retcode = 11; // offset: 24
}

// Obf: OLCIGFGFELG
// Type: Req
// CmdID: 7773
message RogueMagicSetAutoDressInMagicUnitCsReq {
	bool GBEMCAHPBKP = 7; // offset: 24
}

// Obf: FIMGINEKACP
// Type: Rsp
// CmdID: 7712
message RogueMagicSetAutoDressInMagicUnitScRsp {
	uint32 retcode = 4; // offset: 28
	bool GBEMCAHPBKP = 13; // offset: 24
}

// Obf: DDLEEJAAMGH
// Type: Notify
// CmdID: 7718
message RogueMagicAutoDressInMagicUnitChangeScNotify {
	bool GBEMCAHPBKP = 12; // offset: 24
}

// Type: Req
// CmdID: 7784
message HBCOFDDCGOL {
	repeated uint32 JDJFHIMPIPK = 1; // offset: 24
	uint32 GCAHKLNGFCK = 6; // offset: 32
}

// Type: Rsp
// CmdID: 7721
message OHONLLCHIFJ {
	uint32 retcode = 1; // offset: 24
}

// Obf: KLBGMAEDODL
// Type: Req
// CmdID: 7705
message RogueMagicUnitComposeCsReq {
	repeated uint32 JDJFHIMPIPK = 1; // offset: 24
}

// Obf: FABNMKAOFMJ
// Type: Rsp
// CmdID: 7741
message RogueMagicUnitComposeScRsp {
	uint32 retcode = 8; // offset: 24
}
message DFGAIOOGPPA {
	uint32 IMLHHAKIKCD = 2; // offset: 32
	FDBDLBAPDBE JCOBJAMPOAL = 13; // offset: 24
}

// Obf: NBKAAJAHAJH
// Type: Req
// CmdID: 7734
message RogueMagicEnableTalentCsReq {
	uint32 CKHCLKOALKE = 10; // offset: 24
}

// Obf: KFMAONOMPLM
// Type: Rsp
// CmdID: 7796
message RogueMagicEnableTalentScRsp {
	DFGAIOOGPPA IHJKLHGMKBI = 2; // offset: 16
	uint32 retcode = 8; // offset: 32
}

// Obf: NCLFFAFGEFA
// Type: Req
// CmdID: 7735
message RogueMagicGetMiscRealTimeDataCsReq {
}

// Obf: LFMDOOIGGHK
// Type: Rsp
// CmdID: 7775
message RogueMagicGetMiscRealTimeDataScRsp {
	uint32 retcode = 2; // offset: 40
	EJHDAJAGFIJ KDDGKLNGNEA = 3; // offset: 16
	NOAKCDKAAFB BNLLEJPCIGD = 8; // offset: 32
}

// Obf: AGDCHGINKCA
// Type: Notify
// CmdID: 7715
message RogueMagicStoryInfoUpdateScNotify {
	uint32 BNHAIKILAJK = 11; // offset: 24
}

// Obf: JKJGPOOLLKF
enum CmdRogueModifierType {
	JKJGPOOLLKF_NLCDGIPGFDJ = 0;
	CmdRogueModifierSelectCellScRsp = 5388;
	CmdRogueModifierSelectCellCsReq = 5358;
	CmdRogueModifierStageStartNotify = 5313;
	CmdRogueModifierAddNotify = 5393;
	CmdRogueModifierDelNotify = 5326;
	CmdRogueModifierUpdateNotify = 5347;
}

// Obf: AMEIKAGDIFC
enum RogueModifierSourceType {
	AMEIKAGDIFC_PBGOAOGCPLA = 0;
	AMEIKAGDIFC_OLKBMGLCENL = 1;
	AMEIKAGDIFC_ALPFGINEKIL = 2;
	AMEIKAGDIFC_NNDCINJLBPI = 3;
	AMEIKAGDIFC_MAPKBMAHBKE = 4;
	AMEIKAGDIFC_DMGFEOBEAFD = 5;
	AMEIKAGDIFC_BCPOMCGMFFK = 6;
	AMEIKAGDIFC_LFAHFLJMFNK = 7;
	AMEIKAGDIFC_NOAMEMMFGKP = 8;
	AMEIKAGDIFC_HKOAHEKCJAE = 9;
	AMEIKAGDIFC_IHGDLAJAJMA = 10;
}

enum PHAOIGLGBMG {
	PHAOIGLGBMG_OLJCMIBGNGL = 0;
	PHAOIGLGBMG_DLPKBBHKFBL = 1;
}
message KIJEFIIBBGG {
	uint32 JAAIADKFPCL = 3; // offset: 28
	PHAOIGLGBMG content_type = 9; // offset: 24
	uint32 IKDHAMLPNPJ = 11; // offset: 32
}
message FGHIMGPGBNF {
	uint32 FOHIFIMHENN = 4; // offset: 36
	bool is_selected = 7; // offset: 32
	repeated uint32 OGOILMLPDEO = 11; // offset: 24
}
message AIBNHPAGDOL {
	bool GKEPPNOLNHF = 4; // offset: 28
	uint32 forbid_reason = 5; // offset: 24
}
message HFJKOCDOAEH {
	uint32 EKNHHGMJCPM = 4; // offset: 28
	uint32 OLPPACCCNGD = 8; // offset: 24
}
message BMCNDLNONMO {
	uint64 FCHLCANJIGL = 8; // offset: 40
	KIJEFIIBBGG OOPCPMANCBO = 12; // offset: 16
	RogueModifierSourceType source_type = 14; // offset: 52
	oneof KKNBOACNCON {
		FGHIMGPGBNF NLGJFIGPENF = 11; // offset: 24
		AIBNHPAGDOL LEJPOHHGBMB = 15; // offset: 24
		HFJKOCDOAEH GGJOKFEOEBK = 1; // offset: 24
	}
}
message LMNCBIDKHLF {
	repeated BMCNDLNONMO HDLGLFGKONC = 8; // offset: 16
}

// Obf: PEPPCBMPOJD
// Type: Notify
// CmdID: 5393
message RogueModifierAddNotify {
	BMCNDLNONMO modifier = 14; // offset: 16
}

// Obf: FBEHJJBBLPL
// Type: Req
// CmdID: 5358
message RogueModifierSelectCellCsReq {
	uint32 IHAOMLEPHOM = 6; // offset: 24
}

// Obf: GIMJFGIPDKI
// Type: Rsp
// CmdID: 5388
message RogueModifierSelectCellScRsp {
	ItemList NMJGHEACCMC = 2; // offset: 24
	uint32 retcode = 10; // offset: 32
}

// Obf: DMHDLBHJKOG
// Type: Notify
// CmdID: 5347
message RogueModifierUpdateNotify {
	BMCNDLNONMO modifier = 6; // offset: 16
}

// Obf: OCJPKEMHEFF
// Type: Notify
// CmdID: 5326
message RogueModifierDelNotify {
	uint64 FCHLCANJIGL = 10; // offset: 24
}

// Obf: KGNPGIKFOMJ
// Type: Notify
// CmdID: 5313
message RogueModifierStageStartNotify {
	RogueModifierSourceType source_type = 13; // offset: 24
}

// Obf: DIDFAHMPGBH
enum CmdRogueTournType {
	DIDFAHMPGBH_NLCDGIPGFDJ = 0;
	CmdRogueTournEnableSeasonTalentCsReq = 6014;
	CmdRogueTournWeekChallengeUpdateScNotify = 6084;
	CmdRogueTournGetPermanentTalentInfoCsReq = 6097;
	CmdRogueTournEnterLayerCsReq = 6061;
	CmdRogueTournEnterRogueCocoonSceneCsReq = 6072;
	CmdRogueTournGetCurRogueCocoonInfoScRsp = 6090;
	CmdRogueTournRenameArchiveScRsp = 6057;
	CmdRogueTournSettleCsReq = 6085;
	CmdRogueTournConfirmSettleCsReq = 6056;
	CmdRogueTournEnterCsReq = 6080;
	CmdRogueTournReviveCostUpdateScNotify = 6039;
	CmdRogueTournReEnterRogueCocoonStageScRsp = 6028;
	CmdRogueTournSaveBuildRefCsReq = 6059;
	CmdRogueTournGetSeasonTalentInfoScRsp = 6049;
	CmdRogueTournAreaUpdateScNotify = 6040;
	CmdRogueTournResetPermanentTalentScRsp = 6031;
	CmdRogueTournLeaveScRsp = 6062;
	CmdRogueTournLeaveCsReq = 6089;
	CmdRogueTournDeleteBuildRefScRsp = 6091;
	CmdRogueTournResetPermanentTalentCsReq = 6073;
	CmdRogueTournEnablePermanentTalentScRsp = 6058;
	CmdMNILJCPCOFG = 6078;
	CmdRogueTournGetAllArchiveCsReq = 6015;
	CmdRogueTournSettleScRsp = 6037;
	CmdRogueTournGetSeasonTalentInfoCsReq = 6022;
	CmdRogueTournStartScRsp = 6093;
	CmdRogueTournGetAllBuildRefScRsp = 6096;
	CmdRogueTournEnableSeasonTalentScRsp = 6038;
	CmdRogueTournBattleFailSettleInfoScNotify = 6024;
	CmdRogueTournGetArchiveRepositoryScRsp = 6026;
	CmdRogueTournDeleteArchiveCsReq = 6054;
	CmdRogueTournDeleteArchiveScRsp = 6081;
	CmdRogueTournEnablePermanentTalentCsReq = 6046;
	CmdRogueTournStartCsReq = 6023;
	CmdRogueTournGetSettleInfoScRsp = 6047;
	CmdRogueTournTakeExpRewardCsReq = 6036;
	CmdRogueTournDeleteBuildRefCsReq = 6070;
	CmdRogueTournEnterScRsp = 6043;
	CmdPALAOPCBAPC = 6069;
	CmdRogueTournReEnterRogueCocoonStageCsReq = 6025;
	CmdRogueTournQueryScRsp = 6052;
	CmdRogueTournRenameBuildRefCsReq = 6042;
	CmdRogueTournGetMiscRealTimeDataScRsp = 6063;
	CmdRogueTournEnterLayerScRsp = 6082;
	CmdJGFPIJKOFCC = 6092;
	CmdRogueTournGetArchiveRepositoryCsReq = 6033;
	CmdNPOJNHKPKMN = 6074;
	CmdRogueTournTitanUpdateTitanBlessProgressScNotify = 6076;
	CmdRogueTournLeaveRogueCocoonSceneScRsp = 6053;
	CmdRogueTournSaveBuildRefScRsp = 6027;
	CmdRogueTournEnterRogueCocoonSceneScRsp = 6079;
	CmdRogueTournGetCurRogueCocoonInfoCsReq = 6065;
	CmdRogueTournLeaveRogueCocoonSceneCsReq = 6048;
	CmdRogueTournHandBookNotify = 6055;
	CmdRogueTournRenameBuildRefScRsp = 6098;
	CmdRogueTournTakeExpRewardScRsp = 6075;
	CmdRogueTournExpNotify = 6030;
	CmdRogueTournReviveAvatarScRsp = 6095;
	CmdRogueTournClearArchiveNameScNotify = 6016;
	CmdRogueTournQueryCsReq = 6068;
	CmdRogueTournRenameArchiveCsReq = 6021;
	CmdRogueTournConfirmSettleScRsp = 6029;
	CmdRogueTournUseSuperRewardKeyCsReq = 6013;
	CmdRogueTournGetAllArchiveScRsp = 6045;
	CmdRogueTournGetMiscRealTimeDataCsReq = 6094;
	CmdRogueTournGetAllBuildRefCsReq = 6051;
	CmdRogueTournUseSuperRewardKeyScRsp = 6011;
	CmdRogueTournEnterRoomScRsp = 6088;
	CmdRogueTournEnterRoomCsReq = 6044;
	CmdRogueTournGetPermanentTalentInfoScRsp = 6035;
	CmdRogueTournReviveAvatarCsReq = 6020;
	CmdRogueTournPersonaRoomCardZoneUpdateScNotify = 6019;
	CmdRogueTournLevelInfoUpdateScNotify = 6067;
	CmdRogueTournGetSettleInfoCsReq = 6083;
}

// Obf: NHMPGNHBBLC
enum RogueTournLevelStatus {
	NHMPGNHBBLC_NLCDGIPGFDJ = 0;
	NHMPGNHBBLC_LOOAKNHDBLL = 1;
	NHMPGNHBBLC_CCKPNCIBDGP = 2;
	NHMPGNHBBLC_JKNPMIMBGML = 3;
}

enum IDCBNMFDICO {
	IDCBNMFDICO_NLCDGIPGFDJ = 0;
	IDCBNMFDICO_LOOAKNHDBLL = 1;
	IDCBNMFDICO_CIHFGJDCHIA = 2;
}

enum IIAOGEIADGA {
	IIAOGEIADGA_NLCDGIPGFDJ = 0;
	IIAOGEIADGA_JHHAJDKPLJH = 1;
	IIAOGEIADGA_LOOAKNHDBLL = 2;
	IIAOGEIADGA_CIHFGJDCHIA = 3;
}

enum FKNGOGLNKIG {
	FKNGOGLNKIG_NLCDGIPGFDJ = 0;
	FKNGOGLNKIG_EHNIPLNEEDI = 1;
	FKNGOGLNKIG_PMKMEAAGKAP = 2;
	FKNGOGLNKIG_MNBAGHPEFBC = 3;
}

enum JGJLEKLGPIL {
	JGJLEKLGPIL_DDCDLGBIILL = 0;
	JGJLEKLGPIL_BNDAAEPCPJA = 1;
	JGJLEKLGPIL_CHBMDCKJOFK = 2;
	JGJLEKLGPIL_ACLFIMIBOKK = 3;
	JGJLEKLGPIL_MLPMLKNIKAC = 4;
	JGJLEKLGPIL_DEOICKDDFCO = 5;
	JGJLEKLGPIL_OKBNJOPCCJM = 6;
	JGJLEKLGPIL_CKJFOICLFBB = 7;
	JGJLEKLGPIL_MAHMLJLLJLO = 8;
}
message PFLOIHLLMEE {
	CBOLONJDHHL basic = 3; // offset: 32
	CGNGOLJKBMP AMEABNLMMGB = 12; // offset: 40
	oneof KKNBOACNCON {
		NAMCKJLAFCN FBHCKMGOCJJ = 349; // offset: 24
		AMOHFCEEBNK HAJEGKBFFAF = 1144; // offset: 24
		CABKLLAKHKO OPDEIFOCJEF = 244; // offset: 24
	}
}
message DCDMPLJNBJC {
	uint32 NDGKLBDHJKB = 3; // offset: 28
	bool DOFNEAPHMKH = 4; // offset: 36
	uint32 KABCGHCPEBG = 5; // offset: 32
	uint32 GEPHKCPLAJF = 10; // offset: 24
}
message FBBOKKLGKGL {
	uint32 LFCDPDDGFCB = 1; // offset: 32
	bool DOFNEAPHMKH = 2; // offset: 24
	uint32 DIFIEHPCDGO = 9; // offset: 28
}
message BJLNEBBMMOE {
	uint32 NIOFIOOGKLD = 3; // offset: 32
	bool DOFNEAPHMKH = 7; // offset: 24
	uint32 PDFJMFBHPFC = 14; // offset: 28
}
message GKHFFKMFMEN {
	bool DOFNEAPHMKH = 10; // offset: 24
	uint32 NIOFIOOGKLD = 12; // offset: 28
}
message HIAHPMEAGFC {
	bool JOOJIJFCHMK = 7; // offset: 24
}
message CGNGOLJKBMP {
	HGGPKPPBGFP HHMLHKLKNDH = 1; // offset: 96
	PHHLBGLNBHE MEEJDFNHBDI = 3; // offset: 80
	FKEDPCMLIFE item_value = 4; // offset: 40
	DJODDECFHMC formula = 5; // offset: 64
	OHHKEOGOMCA LNCOKKIPAEP = 6; // offset: 16
	EGLAPJGFKPN buff = 8; // offset: 72
	HIAHPMEAGFC BCNMBONFKPK = 9; // offset: 56
	ONPOFJPEBMJ level = 11; // offset: 104
	NHLBNBBDHMI miracle = 12; // offset: 48
	JEIKFFFGONB lineup = 13; // offset: 88
	CGBKKJENEOF BKIPDOFONLD = 15; // offset: 24
}
message ONPOFJPEBMJ {
	RogueTournLevelStatus status = 6; // offset: 44
	repeated IJNFOHJGPBC NNFFPJOLDHK = 7; // offset: 16
	uint32 BJHMFOAGMBF = 10; // offset: 40
	bool EJDMOENBHDP = 12; // offset: 48
	bool KENPENNAGLG = 13; // offset: 49
	FKNGOGLNKIG reason = 14; // offset: 56
	oneof BHGKHELCPGO {
		CFOIFHEBCJC FIADMEPDAOG = 8; // offset: 24
	}
}
message LPADDGPLIKK {
	repeated uint32 NMMCOBBKKHA = 1; // offset: 16
	uint32 AMOABLICEDP = 4; // offset: 56
	uint32 MKJDMNAEAED = 5; // offset: 48
	uint32 PJOAKLHHCNI = 8; // offset: 52
	repeated uint32 BIMFEAHDMIK = 9; // offset: 40
	repeated BDJLHJDPEEK LONFKFCFDND = 14; // offset: 32
}
message CFOIFHEBCJC {
	LPADDGPLIKK CCFGCCMEFCI = 7; // offset: 24
}
message HGGPKPPBGFP {
	uint32 OHPELHFNGCI = 1; // offset: 24
}
message PHHLBGLNBHE {
	repeated uint32 KEHKLHMEABI = 12; // offset: 16
}
message IJNFOHJGPBC {
	uint32 JOJCPKNIJOH = 3; // offset: 40
	repeated ODNBCBEINNC JEHEILKKDEF = 6; // offset: 24
	uint32 layer_index = 10; // offset: 44
	uint32 MDAIAMFJNHM = 11; // offset: 32
	IDCBNMFDICO status = 12; // offset: 36
}
message ODNBCBEINNC {
	uint32 GHEHGIOAGDG = 2; // offset: 44
	uint32 LHLKJIDFLIN = 3; // offset: 40
	uint32 room_id = 7; // offset: 36
	IIAOGEIADGA status = 10; // offset: 32
	uint32 EEPIDJJJMAH = 12; // offset: 52
	oneof BHGKHELCPGO {
		ELHLCFBPAMO FIADMEPDAOG = 1; // offset: 16
	}
}
message CGBKKJENEOF {
	repeated uint32 BDBFENOAKOD = 11; // offset: 24
}
message NAMCKJLAFCN {
}
message AMOHFCEEBNK {
	FGGJCLDLMMI FCMGNLIODGI = 12; // offset: 24
}
message ELHLCFBPAMO {
	repeated uint32 attribute_list = 2; // offset: 16
	uint32 composition_type = 9; // offset: 32
	uint32 level = 14; // offset: 36
}
message JHECCCANFGP {
	uint32 total_count = 2; // offset: 24
	uint32 unique_id = 6; // offset: 28
	uint32 GNCFHIKODKE = 13; // offset: 32
}
message AJCFOLGANFC {
	uint32 DEDCHHNCHFM = 1; // offset: 44
	uint32 style_level = 3; // offset: 52
	repeated KVP IHFEBNBHDFM = 5; // offset: 24
	uint32 PGGDEHKKINP = 9; // offset: 48
	repeated JHECCCANFGP GJBOLJEJIEE = 12; // offset: 32
	uint32 style_exp = 13; // offset: 40
}
message CABKLLAKHKO {
	AJCFOLGANFC GMEPGCODKKE = 7; // offset: 24
}

// Obf: DFNGEOHAHGM
// Type: Req
// CmdID: 6023
message RogueTournStartCsReq {
	uint32 area_id = 1; // offset: 32
	bool EJDMOENBHDP = 5; // offset: 36
	bool KENPENNAGLG = 11; // offset: 37
	repeated DKFJLHHDFKO avatar_list = 13; // offset: 16
}

// Obf: JMAHJPIJEND
// Type: Rsp
// CmdID: 6093
message RogueTournStartScRsp {
	JGAMMPGMCNI IDCMACCPCBH = 5; // offset: 16
	PFLOIHLLMEE PHGJIJELKDB = 10; // offset: 24
	uint32 retcode = 13; // offset: 40
}

// Obf: FHJINHEABAC
// Type: Req
// CmdID: 6080
message RogueTournEnterCsReq {
}

// Obf: NAGABJLKFON
// Type: Rsp
// CmdID: 6043
message RogueTournEnterScRsp {
	uint32 retcode = 6; // offset: 40
	PFLOIHLLMEE PHGJIJELKDB = 10; // offset: 16
	JGAMMPGMCNI IDCMACCPCBH = 13; // offset: 32
}

// Obf: OAEMCMCGPID
// Type: Req
// CmdID: 6089
message RogueTournLeaveCsReq {
}

// Obf: HMGGLHFHGLM
// Type: Rsp
// CmdID: 6062
message RogueTournLeaveScRsp {
	JGAMMPGMCNI IDCMACCPCBH = 1; // offset: 24
	uint32 retcode = 8; // offset: 32
}

// Obf: IDCDOCPNPMD
// Type: Req
// CmdID: 6085
message RogueTournSettleCsReq {
}
message FAICNBKIELL {
	FBBOKKLGKGL BNLLEJPCIGD = 3; // offset: 32
	JGMDJIENFFH CPOLAHJPGFE = 7; // offset: 64
	GKHFFKMFMEN JJLFKNPEPFP = 9; // offset: 40
	DCDMPLJNBJC AOGOHOCFFNE = 12; // offset: 16
	PFLOIHLLMEE PHGJIJELKDB = 13; // offset: 48
	BJLNEBBMMOE AOMHPLHONJA = 15; // offset: 56
}

// Obf: HCMFPHICBOI
// Type: Rsp
// CmdID: 6037
message RogueTournSettleScRsp {
	JGAMMPGMCNI IDCMACCPCBH = 2; // offset: 24
	uint32 retcode = 4; // offset: 40
	FAICNBKIELL BFLLJJBHLDF = 5; // offset: 16
}

// Obf: EILCNCFMDLP
// Type: Req
// CmdID: 6044
message RogueTournEnterRoomCsReq {
	uint32 KHBLMAOPLLN = 10; // offset: 24
	uint32 JOJCPKNIJOH = 14; // offset: 28
}

// Obf: DOEONJEAGPA
// Type: Rsp
// CmdID: 6088
message RogueTournEnterRoomScRsp {
	JGAMMPGMCNI IDCMACCPCBH = 7; // offset: 16
	uint32 retcode = 11; // offset: 32
}

// Obf: LHPEMLMHIHE
// Type: Req
// CmdID: 6061
message RogueTournEnterLayerCsReq {
	uint32 BJHMFOAGMBF = 5; // offset: 24
	uint32 KHBLMAOPLLN = 10; // offset: 28
}

// Obf: EOMHILBJNDK
// Type: Rsp
// CmdID: 6082
message RogueTournEnterLayerScRsp {
	JGAMMPGMCNI IDCMACCPCBH = 2; // offset: 24
	uint32 retcode = 10; // offset: 32
}

// Obf: NLIOPBPOBHB
// Type: Notify
// CmdID: 6067
message RogueTournLevelInfoUpdateScNotify {
	FKNGOGLNKIG reason = 2; // offset: 40
	repeated IJNFOHJGPBC NNFFPJOLDHK = 4; // offset: 16
	RogueTournLevelStatus status = 5; // offset: 32
	uint32 BJHMFOAGMBF = 10; // offset: 36
}

// Obf: HNMANMBPEOG
// Type: Req
// CmdID: 6036
message RogueTournTakeExpRewardCsReq {
	uint32 FABMHMFNMDB = 11; // offset: 32
	repeated uint32 HBGAFAFFFAO = 14; // offset: 16
}

// Obf: FHNIFCJJKEO
// Type: Rsp
// CmdID: 6075
message RogueTournTakeExpRewardScRsp {
	uint32 retcode = 3; // offset: 40
	repeated uint32 FKDNANDJLGK = 5; // offset: 24
	uint32 exp = 6; // offset: 44
	ItemList reward = 15; // offset: 16
}

// Obf: IGDHPBBNEIC
// Type: Notify
// CmdID: 6030
message RogueTournExpNotify {
	uint32 exp = 6; // offset: 24
}

// Obf: KGGIFOABIDF
// Type: Req
// CmdID: 6068
message RogueTournQueryCsReq {
}
message DLEKOLHCNIE {
	bool FJKHIFDJMDB = 9; // offset: 26
	bool is_taken_reward = 10; // offset: 25
	bool is_unlock = 11; // offset: 24
	uint32 area_id = 15; // offset: 28
}
message CJOCDGGCPCN {
	int64 end_time = 6; // offset: 32
	bool KBNNOPHGGIN = 7; // offset: 40
	uint32 JNBIIJCAKKB = 9; // offset: 24
	uint32 JDPFPDECPEH = 13; // offset: 44
}
message JGJEICAELEB {
	repeated uint32 FKDNANDJLGK = 6; // offset: 24
	uint32 exp = 7; // offset: 32
}
message MDLPIFCHFPJ {
	FDBDLBAPDBE JCOBJAMPOAL = 4; // offset: 24
	uint32 INJEKPLHPIF = 8; // offset: 32
}
message FJFBLHNFMOM {
	uint32 DFBDPEHAAMG = 8; // offset: 24
	bool is_unlock = 15; // offset: 28
}
message HMGGOEHMIJO {
	uint32 FABMHMFNMDB = 4; // offset: 28
	uint32 HHAEEEOADOJ = 9; // offset: 24
}
message HMOECPBNAOK {
	repeated uint32 MMPPHJOONMI = 1; // offset: 48
	repeated uint32 IFFMIDABNEE = 6; // offset: 56
	uint32 JKKIABLFCPE = 7; // offset: 72
	repeated uint32 PINNDKIJHFG = 9; // offset: 32
	repeated uint32 JOAAOEDAPPJ = 11; // offset: 64
	repeated uint32 DPEBCGBEJIG = 14; // offset: 16
	repeated uint32 DMFAGJOOGJM = 15; // offset: 40
}
message JGMDJIENFFH {
	uint32 GNIFODGCPAA = 7; // offset: 24
	uint32 JBKHIFHPGHM = 8; // offset: 28
}
message KIKEAJJLAMH {
	KGPIEEKIEME HANICMMHJGI = 1; // offset: 80
	repeated MJMGOBMOPDL HLJOMIMOANL = 2; // offset: 88
	JGMDJIENFFH DLDCFHHFMID = 3; // offset: 56
	CJOCDGGCPCN BFNHJIBDMOA = 5; // offset: 72
	HMGGOEHMIJO HHFAAFOBKME = 9; // offset: 48
	repeated DLEKOLHCNIE DANNIDIPFAL = 10; // offset: 64
	JGJEICAELEB DMFPCFCHHKE = 12; // offset: 32
	HMOECPBNAOK HAMKPLCBEBG = 13; // offset: 24
	MDLPIFCHFPJ DPABCOHLPLH = 14; // offset: 40
}

// Obf: JNAKFEHIMFM
// Type: Rsp
// CmdID: 6052
message RogueTournQueryScRsp {
	uint32 retcode = 7; // offset: 40
	PFLOIHLLMEE PHGJIJELKDB = 11; // offset: 32
	KIKEAJJLAMH LFLCDNGALME = 12; // offset: 24
}

// Obf: IANKKDKAHPD
// Type: Notify
// CmdID: 6040
message RogueTournAreaUpdateScNotify {
	repeated DLEKOLHCNIE DANNIDIPFAL = 7; // offset: 24
}
message MJMGOBMOPDL {
	repeated DKFJLHHDFKO avatar_list = 3; // offset: 56
	string name = 5; // offset: 32
	int64 time = 6; // offset: 64
	int64 end_time = 9; // offset: 80
	uint32 NPHAJEKCBKF = 11; // offset: 72
	LGCPLLJLHFF data = 12; // offset: 40
	PFLOIHLLMEE PHGJIJELKDB = 13; // offset: 16
	HMGGOEHMIJO HHFAAFOBKME = 14; // offset: 24
}
message LGCPLLJLHFF {
	uint32 item_value = 6; // offset: 32
	repeated KJAMNOGFAMJ buff_list = 8; // offset: 24
}

// Obf: JLICJLBDLDD
// Type: Req
// CmdID: 6015
message RogueTournGetAllArchiveCsReq {
}

// Obf: CANHNOJACGI
// Type: Rsp
// CmdID: 6045
message RogueTournGetAllArchiveScRsp {
	uint32 retcode = 3; // offset: 32
	repeated MJMGOBMOPDL MCGGPONOCKC = 5; // offset: 16
}

// Obf: GOOILNEKEMG
// Type: Req
// CmdID: 6054
message RogueTournDeleteArchiveCsReq {
	uint32 NPHAJEKCBKF = 13; // offset: 24
}

// Obf: OKGDAFCIBFB
// Type: Rsp
// CmdID: 6081
message RogueTournDeleteArchiveScRsp {
	uint32 NPHAJEKCBKF = 5; // offset: 24
	uint32 retcode = 7; // offset: 28
}

// Obf: MMKDJEFGBNC
// Type: Req
// CmdID: 6021
message RogueTournRenameArchiveCsReq {
	string name = 3; // offset: 24
	uint32 NPHAJEKCBKF = 8; // offset: 32
}

// Obf: FCHCIKGBLGC
// Type: Rsp
// CmdID: 6057
message RogueTournRenameArchiveScRsp {
	string name = 11; // offset: 24
	uint32 NPHAJEKCBKF = 14; // offset: 32
	uint32 retcode = 15; // offset: 36
}

// Obf: EHLPFGCOJBN
// Type: Notify
// CmdID: 6016
message RogueTournClearArchiveNameScNotify {
	uint32 NPHAJEKCBKF = 1; // offset: 24
}
message OOLJJHMLHBH {
	repeated uint32 JHBEJKBCHEN = 1; // offset: 32
	repeated uint32 AKEMNAMGDOD = 4; // offset: 56
	repeated uint32 LBKFGKGNCCH = 7; // offset: 40
	uint32 HHAEEEOADOJ = 8; // offset: 64
	repeated AAFBNNALHDK KOJMGCBLKKA = 9; // offset: 24
	uint32 FABMHMFNMDB = 11; // offset: 68
	repeated uint32 MDHGBNCJNGB = 15; // offset: 16
}
message AAFBNNALHDK {
	uint32 NPHAJEKCBKF = 1; // offset: 36
	uint32 avatar_id = 2; // offset: 32
	repeated uint32 HHFPJHMEIJK = 4; // offset: 24
	uint32 BDJDAOGDBDD = 10; // offset: 44
	uint32 ALOPEGJPAKK = 12; // offset: 40
}
message DIFGGDIHDEG {
	OOLJJHMLHBH MPOEFPFPEND = 6; // offset: 32
	int64 BHNFGJOLLLB = 7; // offset: 56
	int64 time = 11; // offset: 40
	string name = 13; // offset: 16
	uint32 NPHAJEKCBKF = 15; // offset: 48
}

// Obf: ELDONCLGHPO
// Type: Req
// CmdID: 6051
message RogueTournGetAllBuildRefCsReq {
}

// Obf: KDNMOFGMMNP
// Type: Rsp
// CmdID: 6096
message RogueTournGetAllBuildRefScRsp {
	repeated DIFGGDIHDEG GIOEPGJGMPD = 2; // offset: 16
	uint32 retcode = 15; // offset: 32
}

// Obf: OGKOAHJCBAF
// Type: Req
// CmdID: 6070
message RogueTournDeleteBuildRefCsReq {
	repeated uint32 GGIGDJPFBBP = 1; // offset: 24
}

// Obf: KIIOBCNAPLC
// Type: Rsp
// CmdID: 6091
message RogueTournDeleteBuildRefScRsp {
	repeated uint32 GGIGDJPFBBP = 3; // offset: 16
	uint32 retcode = 7; // offset: 32
}

// Obf: FOJJLDAKMFL
// Type: Req
// CmdID: 6059
message RogueTournSaveBuildRefCsReq {
	OOLJJHMLHBH MPOEFPFPEND = 3; // offset: 16
	string name = 6; // offset: 32
	uint32 NPHAJEKCBKF = 15; // offset: 40
}

// Obf: CFGGFPAIEFK
// Type: Rsp
// CmdID: 6027
message RogueTournSaveBuildRefScRsp {
	uint32 retcode = 2; // offset: 32
	uint32 NPHAJEKCBKF = 12; // offset: 36
	string name = 13; // offset: 16
}

// Obf: BJNLMGBAFFO
// Type: Req
// CmdID: 6042
message RogueTournRenameBuildRefCsReq {
	uint32 NPHAJEKCBKF = 1; // offset: 32
	string name = 7; // offset: 16
}

// Obf: GFAMMPEELKD
// Type: Rsp
// CmdID: 6098
message RogueTournRenameBuildRefScRsp {
	uint32 retcode = 4; // offset: 32
	uint32 NPHAJEKCBKF = 9; // offset: 36
	string name = 15; // offset: 24
}

// Type: Req
// CmdID: 6092
message JGFPIJKOFCC {
	uint32 NPHAJEKCBKF = 15; // offset: 24
}

// Type: Rsp
// CmdID: 6069
message PALAOPCBAPC {
	uint32 NPHAJEKCBKF = 10; // offset: 24
	uint32 retcode = 13; // offset: 28
}

// Obf: NHPGACAHCFP
// Type: Req
// CmdID: 6097
message RogueTournGetPermanentTalentInfoCsReq {
}

// Obf: CCMNLLNLLOJ
// Type: Rsp
// CmdID: 6035
message RogueTournGetPermanentTalentInfoScRsp {
	uint32 retcode = 3; // offset: 32
	MDLPIFCHFPJ DPABCOHLPLH = 9; // offset: 24
}

// Obf: HPGLOBODDMA
// Type: Req
// CmdID: 6046
message RogueTournEnablePermanentTalentCsReq {
	uint32 CKHCLKOALKE = 6; // offset: 24
}

// Obf: CJBNDIGHHDI
// Type: Rsp
// CmdID: 6058
message RogueTournEnablePermanentTalentScRsp {
	uint32 retcode = 1; // offset: 32
	MDLPIFCHFPJ DPABCOHLPLH = 11; // offset: 24
}

// Obf: DEBMBMMMCGG
// Type: Req
// CmdID: 6073
message RogueTournResetPermanentTalentCsReq {
}

// Obf: CCLKCHGMNAA
// Type: Rsp
// CmdID: 6031
message RogueTournResetPermanentTalentScRsp {
	MDLPIFCHFPJ DPABCOHLPLH = 2; // offset: 16
	uint32 retcode = 5; // offset: 32
}

// Obf: CBILHHEENJG
// Type: Req
// CmdID: 6072
message RogueTournEnterRogueCocoonSceneCsReq {
	uint32 DCNNFJLABPL = 2; // offset: 44
	uint32 NBLMAGLGCGN = 6; // offset: 32
	uint32 difficulty = 8; // offset: 36
	repeated AvatarLineup avatar_list = 10; // offset: 24
	uint32 HECCOBFBJFI = 12; // offset: 40
}

// Obf: IOJFJPFJINM
// Type: Rsp
// CmdID: 6079
message RogueTournEnterRogueCocoonSceneScRsp {
	JGAMMPGMCNI IDCMACCPCBH = 3; // offset: 16
	uint32 retcode = 6; // offset: 32
}

// Obf: GDGKPCGNDIB
// Type: Req
// CmdID: 6048
message RogueTournLeaveRogueCocoonSceneCsReq {
}

// Obf: JLPLFCOHHFE
// Type: Rsp
// CmdID: 6053
message RogueTournLeaveRogueCocoonSceneScRsp {
	JGAMMPGMCNI IDCMACCPCBH = 4; // offset: 16
	uint32 retcode = 9; // offset: 32
}

// Obf: ELJIHLDPDDF
// Type: Req
// CmdID: 6025
message RogueTournReEnterRogueCocoonStageCsReq {
}

// Obf: KGHGKLIAKLL
// Type: Rsp
// CmdID: 6028
message RogueTournReEnterRogueCocoonStageScRsp {
	SceneBattleInfo battle_info = 2; // offset: 24
	uint32 retcode = 5; // offset: 32
}

// Obf: HHKCBNKJELL
// Type: Req
// CmdID: 6065
message RogueTournGetCurRogueCocoonInfoCsReq {
}

// Obf: FNBJGDHOIBP
// Type: Rsp
// CmdID: 6090
message RogueTournGetCurRogueCocoonInfoScRsp {
	uint32 DCNNFJLABPL = 3; // offset: 40
	uint32 NBLMAGLGCGN = 4; // offset: 24
	uint32 retcode = 5; // offset: 32
	uint32 difficulty = 7; // offset: 36
	uint32 HECCOBFBJFI = 15; // offset: 28
}
message ECMNFOEDOJC {
	uint32 LJCEOGPOGBE = 4; // offset: 24
}
message DNCEOOPHIOK {
	uint32 LJCEOGPOGBE = 8; // offset: 24
}
message KCDBGKJANIH {
	uint32 buff_id = 4; // offset: 24
}
message KILGONODPIC {
	uint32 event_id = 9; // offset: 24
}
message MJBODJKDPPD {
	uint32 KAHMGPGPOII = 6; // offset: 24
}
message KPPBBOJOMDB {
	uint32 PHPNBFLILFL = 2; // offset: 32
	uint32 category = 9; // offset: 24
	uint32 OMHHOADFMLI = 11; // offset: 28
	uint32 level = 14; // offset: 36
}
message COOIDLLFFIJ {
	oneof AJOABBCKHCK {
		uint32 KNILAKJMEEP = 13; // offset: 16
		uint32 PGGDEHKKINP = 2; // offset: 16
	}
}

// Obf: ICIJOIFOIIG
// Type: Notify
// CmdID: 6055
message RogueTournHandBookNotify {
	oneof KKNBOACNCON {
		ECMNFOEDOJC ODHGPLKCBBG = 6; // offset: 24
		DNCEOOPHIOK IOOACHNEHAH = 14; // offset: 24
		KCDBGKJANIH LFCDGLIEHAI = 11; // offset: 24
		KILGONODPIC OOOACLEFDGM = 12; // offset: 24
		MJBODJKDPPD ICNOEGEEPOF = 5; // offset: 24
		COOIDLLFFIJ CFNAKPADAEB = 3; // offset: 24
	}
}

// Obf: BHELJEPEIHM
// Type: Req
// CmdID: 6083
message RogueTournGetSettleInfoCsReq {
	uint32 area_id = 2; // offset: 24
}

// Obf: KFOJKMHIACH
// Type: Rsp
// CmdID: 6047
message RogueTournGetSettleInfoScRsp {
	uint32 retcode = 5; // offset: 32
	FAICNBKIELL BFLLJJBHLDF = 9; // offset: 24
}

// Obf: LPFHAKOGFHH
// Type: Req
// CmdID: 6056
message RogueTournConfirmSettleCsReq {
	string name = 6; // offset: 24
	uint32 NPHAJEKCBKF = 9; // offset: 36
	uint32 area_id = 11; // offset: 32
}

// Obf: KJOIFCADNGL
// Type: Rsp
// CmdID: 6029
message RogueTournConfirmSettleScRsp {
	ItemList IIOMCJPCFML = 1; // offset: 24
	JGAMMPGMCNI IDCMACCPCBH = 4; // offset: 16
	MJMGOBMOPDL BLPDBPHMCGA = 8; // offset: 32
	ItemList AELJFOPMDJG = 10; // offset: 48
	uint32 retcode = 15; // offset: 56
}

// Obf: MKCDLMPCJJJ
// Type: Notify
// CmdID: 6084
message RogueTournWeekChallengeUpdateScNotify {
	CJOCDGGCPCN BFNHJIBDMOA = 8; // offset: 16
}

// Obf: MBOGFJLPLPG
// Type: Req
// CmdID: 6094
message RogueTournGetMiscRealTimeDataCsReq {
}

// Obf: LCOKLOGEKEL
// Type: Rsp
// CmdID: 6063
message RogueTournGetMiscRealTimeDataScRsp {
	BJLNEBBMMOE AOMHPLHONJA = 3; // offset: 24
	JGMDJIENFFH CPOLAHJPGFE = 4; // offset: 16
	GKHFFKMFMEN JJLFKNPEPFP = 9; // offset: 48
	uint32 retcode = 11; // offset: 64
	FBBOKKLGKGL BNLLEJPCIGD = 13; // offset: 56
	DCDMPLJNBJC AOGOHOCFFNE = 14; // offset: 32
}

// Obf: JDMILAADNLN
// Type: Req
// CmdID: 6033
message RogueTournGetArchiveRepositoryCsReq {
}

// Obf: GINKCKNPFDA
// Type: Rsp
// CmdID: 6026
message RogueTournGetArchiveRepositoryScRsp {
	repeated uint32 BDNFDHJBAME = 3; // offset: 32
	repeated uint32 PBPIOEKJJPF = 9; // offset: 24
	uint32 retcode = 12; // offset: 40
}

// Obf: NMCIFMBGOLP
// Type: Notify
// CmdID: 6039
message RogueTournReviveCostUpdateScNotify {
	ItemCostData LNIEFKBMIPD = 9; // offset: 16
}

// Obf: JHDKGCPHDNC
// Type: Req
// CmdID: 6020
message RogueTournReviveAvatarCsReq {
	uint32 interacted_prop_entity_id = 7; // offset: 32
	repeated DKFJLHHDFKO avatar_list = 10; // offset: 24
}

// Obf: HECNEEFNGFH
// Type: Rsp
// CmdID: 6095
message RogueTournReviveAvatarScRsp {
	uint32 retcode = 5; // offset: 32
	ItemCostData LNIEFKBMIPD = 6; // offset: 24
}

// Obf: JFDAMIHLMLF
// Type: Notify
// CmdID: 6024
message RogueTournBattleFailSettleInfoScNotify {
	JGAMMPGMCNI IDCMACCPCBH = 8; // offset: 32
	FAICNBKIELL BFLLJJBHLDF = 13; // offset: 16
}
message KGPIEEKIEME {
	FDBDLBAPDBE JCOBJAMPOAL = 6; // offset: 24
	uint32 OFNIDAECPCJ = 10; // offset: 32
}

// Obf: KHJMLKBLAMP
// Type: Req
// CmdID: 6022
message RogueTournGetSeasonTalentInfoCsReq {
}

// Obf: MNLLJNFBGNF
// Type: Rsp
// CmdID: 6049
message RogueTournGetSeasonTalentInfoScRsp {
	uint32 retcode = 13; // offset: 32
	KGPIEEKIEME HANICMMHJGI = 14; // offset: 24
}

// Obf: AKDPHHMJFOK
// Type: Req
// CmdID: 6014
message RogueTournEnableSeasonTalentCsReq {
	uint32 CKHCLKOALKE = 6; // offset: 24
}

// Obf: LCEDCPLAPJJ
// Type: Rsp
// CmdID: 6038
message RogueTournEnableSeasonTalentScRsp {
	KGPIEEKIEME HANICMMHJGI = 4; // offset: 24
	uint32 retcode = 7; // offset: 32
}

// Obf: LCEICICOGLN
// Type: Notify
// CmdID: 6076
message RogueTournTitanUpdateTitanBlessProgressScNotify {
	uint32 PLJPIPDFAHA = 11; // offset: 24
}

// Obf: ACFNGBKOIDN
// Type: Req
// CmdID: 6013
message RogueTournUseSuperRewardKeyCsReq {
	uint32 count = 3; // offset: 32
	uint32 difficulty = 5; // offset: 28
	uint32 cocoon_id = 13; // offset: 24
}

// Obf: GKJOFCJCKMN
// Type: Rsp
// CmdID: 6011
message RogueTournUseSuperRewardKeyScRsp {
	uint32 retcode = 4; // offset: 48
	ItemList reward = 6; // offset: 32
	ItemList drop_data = 8; // offset: 24
	LMDPKOELKFL ABEMLCJBIEF = 9; // offset: 40
}

// Type: Req
// CmdID: 6074
message NPOJNHKPKMN {
}

// Type: Rsp
// CmdID: 6078
message MNILJCPCOFG {
	uint32 retcode = 2; // offset: 24
}

// Obf: LENPMJECBLF
// Type: Notify
// CmdID: 6019
message RogueTournPersonaRoomCardZoneUpdateScNotify {
	ODHJEDHKHOD NHNBJLLDOHO = 11; // offset: 16
}

// Obf: OHCMLBPONOB
enum CmdRollShopType {
	OHCMLBPONOB_NLCDGIPGFDJ = 0;
	CmdDoGachaInRollShopScRsp = 6912;
	CmdDoGachaInRollShopCsReq = 6903;
	CmdTakeRollShopRewardCsReq = 6902;
	CmdGetRollShopInfoScRsp = 6908;
	CmdTakeRollShopRewardScRsp = 6917;
	CmdGetRollShopInfoCsReq = 6918;
}

// Obf: AHHIKOKAPFG
// Type: Req
// CmdID: 6918
message GetRollShopInfoCsReq {
	uint32 roll_shop_id = 6; // offset: 24
}

// Obf: FHABPBGINDK
// Type: Rsp
// CmdID: 6908
message GetRollShopInfoScRsp {
	uint32 gacha_random = 2; // offset: 32
	uint32 retcode = 5; // offset: 40
	repeated uint32 shop_group_id_list = 9; // offset: 16
	uint32 roll_shop_id = 10; // offset: 36
}

// Obf: OKECFAAPLIN
// Type: Req
// CmdID: 6903
message DoGachaInRollShopCsReq {
	uint32 gacha_count = 6; // offset: 28
	uint32 gacha_random = 7; // offset: 24
	uint32 roll_shop_id = 12; // offset: 32
}

// Obf: ACCPCPCKOEB
// Type: Rsp
// CmdID: 6912
message DoGachaInRollShopScRsp {
	uint32 reward_display_type = 4; // offset: 36
	uint32 roll_shop_id = 5; // offset: 44
	ItemList reward = 6; // offset: 24
	uint32 LDBCKJIPDHF = 13; // offset: 32
	uint32 retcode = 14; // offset: 40
}

// Obf: BLEEIKBLHIK
// Type: Req
// CmdID: 6902
message TakeRollShopRewardCsReq {
	uint32 roll_shop_id = 13; // offset: 24
}

// Obf: TakeRollShopRewardScRsp
// Type: Rsp
// CmdID: 6917
message TakeRollShopRewardScRsp {
	ItemList reward = 1; // offset: 16
	uint32 group_type = 3; // offset: 40
	uint32 roll_shop_id = 5; // offset: 32
	uint32 retcode = 9; // offset: 36
}

// Obf: JHDCKJGDKBE
enum CmdSceneType {
	JHDCKJGDKBE_NLCDGIPGFDJ = 0;
	CmdGetCurSceneInfoScRsp = 1447;
	CmdSceneCastSkillScRsp = 1481;
	CmdGetSceneMapInfoScRsp = 1460;
	CmdSetClientPausedScRsp = 1444;
	CmdHNGLCIGBNGB = 1445;
	CmdEnterSceneCsReq = 1427;
	CmdInteractPropScRsp = 1458;
	CmdGetEnteredSceneCsReq = 1424;
	CmdKCFMJCBJGMN = 1463;
	CmdILCCPICILFF = 1468;
	CmdSceneEntityTeleportCsReq = 1474;
	CmdGetUnlockTeleportScRsp = 1470;
	CmdEnterSceneScRsp = 1423;
	CmdMNEPAIGBPGM = 1465;
	CmdDeleteSummonUnitCsReq = 1408;
	CmdGetUnlockTeleportCsReq = 1432;
	CmdEnteredSceneChangeScNotify = 1477;
	CmdSceneEnterStageScRsp = 1442;
	CmdSceneCastSkillCostMpScRsp = 1439;
	CmdSceneGroupRefreshScNotify = 1491;
	CmdTrainWorldIdChangeScNotify = 1454;
	CmdGroupStateChangeCsReq = 1479;
	CmdOpenChestScNotify = 1497;
	CmdRefreshTriggerByClientScNotify = 1500;
	CmdSetGroupCustomSaveDataScRsp = 1462;
	CmdSetTrainWorldIdCsReq = 1456;
	CmdSceneCheckpoingRefreshScRsp = 1448;
	CmdGMABBKEMPNP = 1409;
	CmdRefreshTriggerByClientCsReq = 1431;
	CmdGroupStateChangeScRsp = 1407;
	CmdSceneReviveAfterRebattleCsReq = 1472;
	CmdStartCocoonStageCsReq = 1496;
	CmdEnterSectionCsReq = 1484;
	CmdSceneEntityMoveScNotify = 1471;
	CmdCounterDownCsReq = 1401;
	CmdSetGroupCustomSaveDataCsReq = 1498;
	CmdGetSceneMapInfoCsReq = 1417;
	JHDCKJGDKBE_JIAEHCICDLJ = 1469;
	CmdUpdateGroupPropertyScRsp = 1450;
	CmdDeactivateFarmElementScRsp = 1418;
	CmdDeactivateFarmElementCsReq = 1415;
	CmdEBADAHNBIIH = 1459;
	CmdStartCocoonStageScRsp = 1473;
	CmdSceneReviveAfterRebattleScRsp = 1480;
	CmdCounterDownScRsp = 1464;
	CmdSyncServerSceneChangeNotify = 1490;
	CmdSetClientPausedCsReq = 1475;
	CmdSceneEntityMoveCsReq = 1425;
	CmdSavePointsInfoNotify = 1434;
	CmdUpdateGroupPropertyCsReq = 1461;
	CmdSceneCastSkillCostMpCsReq = 1438;
	CmdChangePropTimelineInfoScRsp = 1413;
	CmdSceneEntityMoveScRsp = 1478;
	CmdReEnterLastElementStageCsReq = 1416;
	CmdChangePropTimelineInfoCsReq = 1426;
	CmdSceneEnterStageCsReq = 1430;
	CmdDeleteSummonUnitScRsp = 1467;
	CmdUpdateFloorSavedValueNotify = 1403;
	CmdActiveFarmElementCsReq = 1453;
	CmdEnterSceneByServerScNotify = 1483;
	CmdSyncEntityBuffChangeListScNotify = 1433;
	CmdPDHBDPNPMPI = 1429;
	CmdRefreshTriggerByClientScRsp = 1402;
	CmdOCHPFJEKNGM = 1405;
	CmdEnterSectionScRsp = 1421;
	CmdSceneCheckpoingRefreshCsReq = 1436;
	CmdReEnterLastElementStageScRsp = 1406;
	CmdSceneCastSkillMpUpdateScNotify = 1404;
	CmdGetCurSceneInfoCsReq = 1486;
	CmdScenePlaneEventScNotify = 1495;
	CmdInteractPropCsReq = 1493;
	CmdSceneEntityTeleportScRsp = 1457;
	CmdGetEnteredSceneScRsp = 1485;
	CmdActiveFarmElementScRsp = 1452;
	CmdSceneCastSkillCsReq = 1488;
	CmdSetTrainWorldIdScRsp = 1422;
	CmdFDGOBNJPKJG = 1440;
	CmdUnlockTeleportNotify = 1492;
}

enum JNBOIFCNBCH {
	JNBOIFCNBCH_HGLIFJGHADE = 0;
	JNBOIFCNBCH_LCFJOOIAEHD = 1;
}

enum SkillExtraTag {
	SCENE_CAST_SKILL_NONE = 0;
	SCENE_CAST_SKILL_PROJECTILE_HIT = 1;
	SCENE_CAST_SKILL_PROJECTILE_LIFETIME_FINISH = 2;
}

enum MonsterBattleType {
	MONSTER_BATTLE_TYPE_NONE = 0;
	MONSTER_BATTLE_TYPE_TRIGGER_BATTLE = 1;
	MONSTER_BATTLE_TYPE_DIRECT_DIE_SIMULATE_BATTLE = 2;
	MONSTER_BATTLE_TYPE_DIRECT_DIE_SKIP_BATTLE = 3;
	MONSTER_BATTLE_TYPE_NO_BATTLE = 4;
}

enum SceneEntityBuffChangeType {
	SCENE_ENTITY_BUFF_CHANGE_TYPE_DEFAULT = 0;
	SCENE_ENTITY_BUFF_CHANGE_TYPE_ADD_MAZEBUFF = 1;
	SCENE_ENTITY_BUFF_CHANGE_TYPE_ADD_ADV_MODIFIER = 2;
}

enum EnterSceneReason {
	ENTER_SCENE_REASON_NONE = 0;
	ENTER_SCENE_REASON_CHALLENGE_TIMEOUT = 1;
	ENTER_SCENE_REASON_ROGUE_TIMEOUT = 2;
	ENTER_SCENE_REASON_CHANGE_STORYLINE = 3;
	ENTER_SCENE_REASON_DIMENSION_MERGE = 4;
}

enum ChestType {
	MAP_INFO_CHEST_TYPE_NONE = 0;
	MAP_INFO_CHEST_TYPE_NORMAL = 101;
	MAP_INFO_CHEST_TYPE_CHALLENGE = 102;
	MAP_INFO_CHEST_TYPE_PUZZLE = 104;
}

enum GameplayCounterUpdateReason {
	GAMEPLAY_COUNTER_UPDATE_REASON_NONE = 0;
	GAMEPLAY_COUNTER_UPDATE_REASON_ACTIVATE = 1;
	GAMEPLAY_COUNTER_UPDATE_REASON_DEACTIVATE = 2;
	GAMEPLAY_COUNTER_UPDATE_REASON_CHANGE = 3;
}

enum SceneGroupRefreshType {
	SCENE_GROUP_REFRESH_TYPE_NONE = 0;
	SCENE_GROUP_REFRESH_TYPE_LOADED = 1;
	SCENE_GROUP_REFRESH_TYPE_UNLOAD = 2;
	SCENE_GROUP_REFRESH_TYPE_AFIBFMAFNCC = 3;
}
message SceneActorInfo {
	uint32 map_layer = 3; // offset: 36
	AvatarType avatar_type = 9; // offset: 28
	uint32 uid = 10; // offset: 32
	uint32 base_avatar_id = 12; // offset: 24
}
message NpcMonsterRogueInfo {
	uint32 rogue_monster_id = 2; // offset: 36
	uint32 elite_group = 3; // offset: 24
	uint32 IEDEBFCCKNL = 4; // offset: 32
	uint32 hard_level_group = 8; // offset: 44
	JNBOIFCNBCH DPCNDADDCAJ = 11; // offset: 28
	uint32 level = 14; // offset: 40
}
message NpcMonsterExtraInfo {
	oneof KKNBOACNCON {
		NpcMonsterRogueInfo rogue_game_info = 1; // offset: 24
	}
}
message GILBMELHGCB {
	uint32 stage_id = 14; // offset: 32
	repeated uint32 JMMBAALIOJL = 15; // offset: 16
}
message SceneNpcMonsterInfo {
	NpcMonsterExtraInfo extra_info = 2; // offset: 24
	uint32 monster_id = 4; // offset: 40
	bool NHKJKNJAGMF = 6; // offset: 48
	uint32 world_level = 7; // offset: 52
	GILBMELHGCB BMIJGBFJMCF = 11; // offset: 16
	bool NMPEOMMHMPP = 12; // offset: 49
	uint32 event_id = 15; // offset: 44
}
message NpcRogueGameInfo {
	map<uint32, uint32> LDPAJKIEPIP = 1; // offset: 24
	bool DJEPGKBMICM = 2; // offset: 41
	uint32 AIAFEKGBFIF = 4; // offset: 32
	uint32 MJBKNMJHOGP = 7; // offset: 44
	uint32 OEANPIHCHHF = 11; // offset: 36
	bool FKKMLJNKHDH = 12; // offset: 40
	bool NLAFLKPLPFE = 14; // offset: 42
}
message PAGOHCJGOLC {
	uint32 PPFJGJNCOKI = 7; // offset: 32
	uint32 DOOACEHOPEE = 10; // offset: 24
	bool is_meet = 12; // offset: 28
}
message MHGAOLCDONK {
	uint32 NLMMKAEJEKH = 2; // offset: 24
	uint32 OPEEIFGGMIA = 14; // offset: 28
}
message NpcExtraInfo {
	oneof KKNBOACNCON {
		NpcRogueGameInfo rogue_game_info = 15; // offset: 16
		PAGOHCJGOLC MBLFFIKGMOP = 10; // offset: 16
		MHGAOLCDONK DKPFHLBFFHI = 8; // offset: 16
	}
}
message SceneNpcInfo {
	NpcExtraInfo extra_info = 6; // offset: 16
	uint32 npc_id = 8; // offset: 32
}
message PropRogueInfo {
	uint32 room_id = 5; // offset: 24
	uint32 GECOCMLBBPE = 6; // offset: 28
	uint32 MAJKFIMPOOF = 8; // offset: 36
	uint32 KKMEFDEFLBI = 13; // offset: 32
}
message HLFAKEOBFAB {
	uint32 AFEMBLFCCCH = 3; // offset: 28
	uint32 HJMACPMOINC = 6; // offset: 32
	uint32 PBMAHOJBAGG = 9; // offset: 24
}
message BGFLAKMOIGC {
	bool AMICPGOIHLL = 9; // offset: 25
	bool JJMKAHIBDBH = 14; // offset: 24
}
message EBBOJACNHEC {
	bool OEEDPJHLPHL = 6; // offset: 32
	uint32 GHEHGIOAGDG = 9; // offset: 24
	uint32 LHLKJIDFLIN = 15; // offset: 28
}
message PGLLFCMEFKG {
	uint32 GHEHGIOAGDG = 3; // offset: 28
	bool OEEDPJHLPHL = 5; // offset: 32
	uint32 LHLKJIDFLIN = 10; // offset: 24
}
message DAAKGEDPPJJ {
	bool is_valid = 1; // offset: 28
	uint32 func_id = 14; // offset: 24
}
message APKENKIDMGC {
	uint32 PBJPEOEDEDF = 1; // offset: 32
	repeated DAAKGEDPPJJ GMGPFAIONNG = 14; // offset: 16
}
message NBDKNCJGOMN {
	HKOEAOPNEAC KOBBMDFPNKA = 4; // offset: 24
	uint32 FOKPPMBIDID = 14; // offset: 32
}
message ONNEJIPGHCK {
	uint32 chest_id = 9; // offset: 24
}
message PropTimelineInfo {
	bytes timeline_byte_value = 8; // offset: 24
	bool timeline_bool_value = 12; // offset: 32
}
message PropExtraInfo {
	PropTimelineInfo timeline_info = 11; // offset: 32
	oneof KKNBOACNCON {
		PropRogueInfo rogue_game_info = 14; // offset: 24
		HLFAKEOBFAB AEFMMOHKCHJ = 12; // offset: 24
		BGFLAKMOIGC OGLJIOJBIEN = 1; // offset: 24
		EBBOJACNHEC ADNHHAELLNC = 13; // offset: 24
		APKENKIDMGC ACJPMKHJLDB = 15; // offset: 24
		NBDKNCJGOMN OEMHOKEMBKM = 4; // offset: 24
		ONNEJIPGHCK MFCPLGHHPNP = 2; // offset: 24
		PGLLFCMEFKG IDMAELPELLA = 9; // offset: 24
	}
}

// Obf: ScenePropInfo
message ScenePropInfo {
	uint32 prop_state = 1; // offset: 56
	repeated string trigger_name_list = 3; // offset: 24
	PropExtraInfo extra_info = 8; // offset: 16
	uint64 create_time_ms = 10; // offset: 48
	uint32 life_time_ms = 12; // offset: 44
	uint32 prop_id = 13; // offset: 40
}

// Obf: SceneSummonUnitInfo
message SceneSummonUnitInfo {
	uint32 caster_entity_id = 1; // offset: 52
	repeated string trigger_name_list = 4; // offset: 16
	uint32 attach_entity_id = 6; // offset: 48
	int32 life_time_ms = 7; // offset: 32
	uint64 create_time_ms = 11; // offset: 40
	uint32 summon_unit_id = 13; // offset: 36
}
message SceneEntityInfo {
	uint32 entity_id = 8; // offset: 44
	uint32 inst_id = 10; // offset: 52
	MotionInfo motion = 12; // offset: 24
	uint32 group_id = 15; // offset: 48
	oneof entity {
		SceneActorInfo actor = 13; // offset: 16
		SceneNpcMonsterInfo npc_monster = 14; // offset: 16
		SceneNpcInfo npc = 6; // offset: 16
		ScenePropInfo prop = 7; // offset: 16
		SceneSummonUnitInfo summon_unit = 1; // offset: 16
	}
}

// Obf: BuffInfo
message BuffInfo {
	uint32 buff_id = 1; // offset: 40
	uint32 level = 4; // offset: 44
	uint32 base_avatar_id = 5; // offset: 56
	uint32 count = 6; // offset: 32
	uint32 buff_summon_entity_id = 8; // offset: 36
	map<string, float> dynamic_values = 10; // offset: 16
	uint64 add_time_ms = 12; // offset: 48
	float life_time = 13; // offset: 60
}
message HGNBPANECAL {
	repeated BuffInfo buff_list = 4; // offset: 24
	uint32 entity_id = 5; // offset: 32
}
message CustomSaveData {
	uint32 group_id = 2; // offset: 32
	string save_data = 5; // offset: 16
}
message HIEKLHPINHL {
	uint32 max_count = 13; // offset: 24
	uint32 OFBPKCNCGFG = 15; // offset: 28
}

// Obf: SceneEntityGroupInfo
message SceneEntityGroupInfo {
	repeated SceneEntityInfo entity_list = 2; // offset: 16
	uint32 group_id = 9; // offset: 40
	map<string, int32> BANBECDCDHG = 12; // offset: 32
	uint32 state = 13; // offset: 44
}

// Obf: MissionStatusBySceneInfo
message MissionStatusBySceneInfo {
	repeated Mission sub_mission_status_list = 1; // offset: 48
	repeated uint32 disabled_main_mission_id_list = 2; // offset: 56
	repeated uint32 unfinished_main_mission_id_list = 4; // offset: 40
	repeated MainMissionCustomValue JLMGBADJBKN = 5; // offset: 24
	repeated uint32 finished_main_mission_id_list = 14; // offset: 16
}
message BELNLOJAFCM {
	repeated uint32 HLLLIKPGOFG = 4; // offset: 32
	DGHPIDMDOJM JHBAAHGLFCB = 7; // offset: 16
}

// Obf: SceneInfo
message SceneInfo {
	uint32 plane_id = 1; // offset: 156
	uint32 floor_id = 2; // offset: 120
	uint32 world_id = 3; // offset: 144
	repeated uint32 opened_chests_list = 4; // offset: 96
	uint32 entry_id = 5; // offset: 152
	map<uint32, HIEKLHPINHL> BIKBFGPFAAC = 7; // offset: 80
	uint32 leader_entity_id = 8; // offset: 124
	repeated SceneEntityInfo entity_list = 9; // offset: 40
	uint32 client_pos_version = 10; // offset: 160
	repeated CustomSaveData custom_data_list = 11; // offset: 72
	repeated HGNBPANECAL CPIKFGPCOCE = 12; // offset: 32
	uint32 game_mode_type = 13; // offset: 148
	repeated BuffInfo scene_buff_info_list = 15; // offset: 16
	map<string, int32> floor_saved_data = 880; // offset: 56
	uint32 content_id = 966; // offset: 136
	repeated SceneEntityGroupInfo entity_group_list = 989; // offset: 104
	SceneIdentifier scene_identifier = 1107; // offset: 24
	uint32 dimension_id = 1243; // offset: 140
	uint32 game_story_line_id = 1396; // offset: 164
	uint64 interact_id = 1496; // offset: 128
	repeated uint32 lighten_section_list = 1604; // offset: 48
	MissionStatusBySceneInfo scene_mission_info = 1660; // offset: 112
	BELNLOJAFCM FOJJGJPIMBL = 1938; // offset: 64
}

// Obf: EntityMotion
message EntityMotion {
	bool FJOEOEDLNED = 4; // offset: 36
	MotionInfo motion = 7; // offset: 24
	uint32 map_layer = 8; // offset: 32
	uint32 entity_id = 9; // offset: 40
}

// Obf: SceneEntityMoveCsReq
// Type: Req
// CmdID: 1425
message SceneEntityMoveCsReq {
	uint64 interact_id = 1; // offset: 32
	uint32 entry_id = 7; // offset: 40
	repeated EntityMotion entity_motion_list = 11; // offset: 16
}

// Obf: DDNFEPNJEHM
// Type: Rsp
// CmdID: 1478
message SceneEntityMoveScRsp {
	uint32 retcode = 6; // offset: 32
	repeated EntityMotion entity_motion_list = 12; // offset: 16
}

// Obf: DHOCHEGBMFG
// Type: Notify
// CmdID: 1471
message SceneEntityMoveScNotify {
	uint32 entity_id = 4; // offset: 36
	MotionInfo motion = 8; // offset: 24
	uint32 entry_id = 11; // offset: 32
	uint32 client_pos_version = 14; // offset: 40
}

// Type: Notify
// CmdID: 1440
message FDGOBNJPKJG {
	uint32 PLNEOOCPFNI = 13; // offset: 24
}

// Obf: OBOAHKMABIJ
// Type: Req
// CmdID: 1493
message InteractPropCsReq {
	uint32 prop_entity_id = 2; // offset: 24
	uint32 interact_id2 = 8; // offset: 28
	uint64 interact_id = 12; // offset: 32
}

// Obf: LBGHIJGFAFD
// Type: Rsp
// CmdID: 1458
message InteractPropScRsp {
	uint32 retcode = 3; // offset: 28
	uint32 prop_entity_id = 5; // offset: 24
	uint32 prop_state = 10; // offset: 32
}

// Type: Req
// CmdID: 1426
message ChangePropTimelineInfoCsReq {
	uint64 uuid = 1; // offset: 32
	bool is_close_map = 6; // offset: 40
	uint32 prop_entity_id = 7; // offset: 44
	uint64 interact_id = 11; // offset: 48
	PropTimelineInfo timeline_info = 15; // offset: 16
}

// Type: Rsp
// CmdID: 1413
message ChangePropTimelineInfoScRsp {
	uint32 prop_entity_id = 6; // offset: 28
	uint32 retcode = 15; // offset: 24
}
message HitMonsterBattleInfo {
	uint32 target_monster_entity_id = 1; // offset: 28
	MonsterBattleType monster_battle_type = 14; // offset: 24
}
message DynamicValues {
	string key = 2; // offset: 24
	float value = 9; // offset: 32
}
message AssistMonsterEntityInfo {
	repeated uint32 entity_id_list = 11; // offset: 16
}

// Obf: INBDPGBJIFA
// Type: Req
// CmdID: 1488
message SceneCastSkillCsReq {
	repeated SkillExtraTag skill_extra_tags = 1; // offset: 56
	uint32 cast_entity_id = 3; // offset: 92
	repeated DynamicValues dynamic_values = 4; // offset: 48
	repeated AssistMonsterEntityInfo assist_monster_entity_info = 5; // offset: 24
	repeated uint32 assist_monster_entity_id_list = 6; // offset: 40
	uint32 KCFABNFPOPN = 7; // offset: 88
	uint32 attacked_by_entity_id = 8; // offset: 84
	MotionInfo target_motion = 9; // offset: 72
	string maze_ability_str = 10; // offset: 16
	uint32 skill_index = 13; // offset: 80
	repeated uint32 hit_target_entity_id_list = 15; // offset: 32
}

// Obf: MAPFMHHMKIM
// Type: Rsp
// CmdID: 1481
message SceneCastSkillScRsp {
	uint32 retcode = 1; // offset: 44
	repeated HitMonsterBattleInfo monster_battle_info = 6; // offset: 16
	SceneBattleInfo battle_info = 11; // offset: 32
	uint32 cast_entity_id = 14; // offset: 40
}

// Obf: GDGMINPNACD
// Type: Req
// CmdID: 1438
message SceneCastSkillCostMpCsReq {
	uint32 skill_index = 3; // offset: 28
	uint32 cast_entity_id = 9; // offset: 24
	uint32 attacked_by_entity_id = 15; // offset: 32
}

// Obf: LEJMFOOIHFN
// Type: Rsp
// CmdID: 1439
message SceneCastSkillCostMpScRsp {
	uint32 retcode = 5; // offset: 28
	uint32 cast_entity_id = 15; // offset: 24
}

// Obf: BFGACKAFICK
// Type: Notify
// CmdID: 1404
message SceneCastSkillMpUpdateScNotify {
	uint32 cast_entity_id = 10; // offset: 24
	uint32 mp = 11; // offset: 28
}

// Obf: MMNONCLEIIH
// Type: Req
// CmdID: 1430
message SceneEnterStageCsReq {
	uint32 event_id = 7; // offset: 28
	RebattleType NKDAAAGPCDB = 12; // offset: 24
}

// Obf: CCOCKCOOOKO
// Type: Rsp
// CmdID: 1442
message SceneEnterStageScRsp {
	uint32 retcode = 7; // offset: 32
	SceneBattleInfo battle_info = 14; // offset: 16
}

// Type: Req
// CmdID: 1472
message SceneReviveAfterRebattleCsReq {
	RebattleType NKDAAAGPCDB = 10; // offset: 24
}

// Type: Rsp
// CmdID: 1480
message SceneReviveAfterRebattleScRsp {
	uint32 retcode = 11; // offset: 24
}

// Obf: GJEONNOCMPH
// Type: Req
// CmdID: 1486
message GetCurSceneInfoCsReq {
}

// Obf: AGAAHIBNOBP
// Type: Rsp
// CmdID: 1447
message GetCurSceneInfoScRsp {
	SceneInfo scene = 2; // offset: 24
	uint32 retcode = 12; // offset: 32
}
message EntityBuffChangeInfo {
	SceneEntityBuffChangeType reason = 1; // offset: 44
	uint32 cast_entity_id = 8; // offset: 36
	uint32 entity_id = 12; // offset: 32
	oneof KKNBOACNCON {
		BuffInfo buff_change_info = 3; // offset: 24
		uint32 remove_buff_id = 9; // offset: 24
	}
}

// Obf: GBMFAHMBLAA
// Type: Notify
// CmdID: 1433
message SyncEntityBuffChangeListScNotify {
	repeated EntityBuffChangeInfo entity_buff_change_list = 4; // offset: 24
}

// Obf: FIAHFIBLDLP
// Type: Req
// CmdID: 1436
message SceneCheckpoingRefreshCsReq {
	uint32 prop_entity_id = 2; // offset: 28
	uint32 floor_id = 10; // offset: 32
	uint32 plane_id = 12; // offset: 24
}

// Obf: JLKIEGEFFHI
// Type: Rsp
// CmdID: 1448
message SceneCheckpoingRefreshScRsp {
	uint32 retcode = 11; // offset: 24
}

// Type: Notify
// CmdID: 1445
message HNGLCIGBNGB {
	int64 HHLNOEILPOJ = 14; // offset: 24
}
message OOFDADLENDH {
}

// Type: Rsp
// CmdID: 1465
message MNEPAIGBPGM {
	SceneInfo scene = 11; // offset: 24
	uint32 retcode = 12; // offset: 32
}

// Type: Req
// CmdID: 1484
message EnterSectionCsReq {
	uint32 section_id = 4; // offset: 32
	uint64 interact_id = 10; // offset: 24
}

// Type: Rsp
// CmdID: 1421
message EnterSectionScRsp {
	uint32 retcode = 1; // offset: 24
}

// Type: Notify
// CmdID: 1405
message OCHPFJEKNGM {
	uint32 chest_id = 2; // offset: 32
	ItemList reward = 6; // offset: 24
}

// Type: Req
// CmdID: 1429
message PDHBDPNPMPI {
}

// Type: Rsp
// CmdID: 1463
message KCFMJCBJGMN {
	uint32 retcode = 10; // offset: 24
}

// Type: Notify
// CmdID: 1434
message SavePointsInfoNotify {
	uint32 valid_times = 10; // offset: 32
	int64 refresh_time = 13; // offset: 24
}
message NAJKNJLJPEP {
	uint32 LDPBPHBBFGF = 4; // offset: 28
	uint32 HFPLJFBOPEH = 5; // offset: 24
}

// Obf: ANHIGPKMCNG
// Type: Req
// CmdID: 1496
message StartCocoonStageCsReq {
	uint32 prop_entity_id = 3; // offset: 36
	uint32 HECCOBFBJFI = 4; // offset: 48
	NAJKNJLJPEP CBJCKEIGGNL = 11; // offset: 16
	uint32 wave = 12; // offset: 32
	uint32 world_level = 14; // offset: 40
	uint32 cocoon_id = 15; // offset: 44
}

// Obf: StartCocoonStageScRsp
// Type: Rsp
// CmdID: 1473
message StartCocoonStageScRsp {
	uint32 retcode = 3; // offset: 44
	uint32 prop_entity_id = 4; // offset: 40
	uint32 cocoon_id = 5; // offset: 48
	uint32 wave = 6; // offset: 32
	SceneBattleInfo battle_info = 9; // offset: 16
	uint32 challenge_cnt = 10; // offset: 36
}

// Type: Req
// CmdID: 1475
message SetClientPausedCsReq {
	bool paused = 9; // offset: 24
}

// Type: Rsp
// CmdID: 1444
message SetClientPausedScRsp {
	bool paused = 3; // offset: 28
	uint32 retcode = 7; // offset: 24
}

// Type: Req
// CmdID: 1415
message DeactivateFarmElementCsReq {
	uint32 entity_id = 11; // offset: 24
}

// Type: Rsp
// CmdID: 1418
message DeactivateFarmElementScRsp {
	uint32 entity_id = 2; // offset: 28
	uint32 retcode = 3; // offset: 24
}

// Obf: AJAPKAEAIJM
// Type: Req
// CmdID: 1453
message ActiveFarmElementCsReq {
	uint32 world_level = 1; // offset: 24
	uint32 entity_id = 2; // offset: 28
	uint32 HECCOBFBJFI = 6; // offset: 32
}

// Obf: DPNJPMJEHBH
// Type: Rsp
// CmdID: 1452
message ActiveFarmElementScRsp {
	uint32 entity_id = 1; // offset: 28
	uint32 world_level = 2; // offset: 32
	uint32 retcode = 5; // offset: 24
}

// Obf: SetGroupCustomSaveDataCsReq
// Type: Req
// CmdID: 1498
message SetGroupCustomSaveDataCsReq {
	uint32 group_id = 1; // offset: 36
	uint32 entry_id = 5; // offset: 32
	uint64 interact_id = 11; // offset: 40
	string save_data = 14; // offset: 16
}

// Obf: BBMICCAEHFE
// Type: Rsp
// CmdID: 1462
message SetGroupCustomSaveDataScRsp {
	uint32 group_id = 5; // offset: 28
	uint32 retcode = 13; // offset: 24
	uint32 entry_id = 15; // offset: 32
}

// Obf: DBMMBDOINNC
// Type: Req
// CmdID: 1416
message ReEnterLastElementStageCsReq {
	uint32 stage_id = 4; // offset: 24
}

// Obf: MOOKEPFNLPM
// Type: Rsp
// CmdID: 1406
message ReEnterLastElementStageScRsp {
	SceneBattleInfo battle_info = 2; // offset: 16
	uint32 retcode = 3; // offset: 32
	uint32 stage_id = 5; // offset: 36
}

// Obf: MKOADBDNMGE
// Type: Req
// CmdID: 1474
message SceneEntityTeleportCsReq {
	uint32 entry_id = 3; // offset: 40
	uint64 interact_id = 4; // offset: 32
	EntityMotion entity_motion = 12; // offset: 24
}

// Obf: DDNPAHEDFAE
// Type: Rsp
// CmdID: 1457
message SceneEntityTeleportScRsp {
	EntityMotion entity_motion = 6; // offset: 16
	uint32 client_pos_version = 7; // offset: 36
	uint32 retcode = 15; // offset: 32
}
message TeleportInfo {
	uint32 teleport_id = 3; // offset: 28
	uint32 reason = 4; // offset: 24
}

// Obf: SceneIdentifier
message SceneIdentifier {
	uint32 floor_id = 1; // offset: 44
	uint32 content_id = 2; // offset: 36
	uint32 game_story_line_id = 11; // offset: 32
	oneof teleport_nigger {
		TeleportInfo teleport_info = 1035; // offset: 24
	}
}

// Obf: MEKDHGNOEIJ
// Type: Req
// CmdID: 1427
message EnterSceneCsReq {
	uint64 interact_id = 1; // offset: 56
	bool is_close_map = 2; // offset: 41
	uint32 entry_id2 = 6; // offset: 48
	SceneIdentifier scene_identifier = 9; // offset: 24
	bool FBPKOFOIOLC = 10; // offset: 40
	Vector IDABOKLJOLG = 11; // offset: 16
	uint32 entry_id = 13; // offset: 44
}

// Obf: JNKOPDPGDFF
// Type: Rsp
// CmdID: 1423
message EnterSceneScRsp {
	bool is_over_map = 1; // offset: 37
	bool is_close_map = 8; // offset: 36
	SceneIdentifier scene_identifier = 9; // offset: 24
	uint32 retcode = 13; // offset: 32
}

// Obf: FBJMJBLCGNI
// Type: Notify
// CmdID: 1483
message EnterSceneByServerScNotify {
	EnterSceneReason reason = 2; // offset: 40
	LineupInfo lineup = 10; // offset: 24
	SceneInfo scene = 11; // offset: 16
}

// Obf: BEFBCIOPNOA
// Type: Notify
// CmdID: 1495
message ScenePlaneEventScNotify {
	ItemList JENLPPHNECF = 3; // offset: 40
	ItemList DMNKFILNCGB = 4; // offset: 48
	ItemList get_item_list = 5; // offset: 24
	ItemList ECCIHPNDEHM = 10; // offset: 16
}

// Obf: EJFJACCGDGA
// Type: Req
// CmdID: 1417
message GetSceneMapInfoCsReq {
	repeated SceneIdentifier scene_identifiers = 12; // offset: 16
}

// Obf: MazePropState
message MazePropState {
	PropExtraInfo extra_info = 1; // offset: 24
	uint32 config_id = 5; // offset: 40
	uint32 state = 7; // offset: 32
	uint32 group_id = 13; // offset: 36
}
message MazeGroup {
	int64 modify_time = 7; // offset: 48
	bool is_need_refresh = 8; // offset: 44
	map<string, int32> property_map = 11; // offset: 32
	repeated uint32 destory_monster_config_id_list = 13; // offset: 16
	uint32 group_id = 15; // offset: 40
}

// Obf: ChestInfo
message ChestInfo {
	ChestType chest_type = 9; // offset: 28
	uint32 opened_num = 10; // offset: 32
	uint32 exist_num = 13; // offset: 24
}

// Obf: FAHFBEJCKLF
message ChestMonsterStat {
	uint32 type = 1; // offset: 24
	uint32 PIJBPDPEODG = 10; // offset: 28
	uint32 JBGIFBGMLMF = 12; // offset: 32
}
message SceneMapInfo {
	repeated MazeGroup maze_group_list = 1; // offset: 40
	uint32 dimension_id = 3; // offset: 112
	repeated MazePropState maze_prop_list = 4; // offset: 64
	uint32 floor_id = 5; // offset: 128
	repeated uint32 unlock_teleport_list = 6; // offset: 80
	repeated uint32 lighten_section_list = 7; // offset: 104
	repeated ChestMonsterStat chest_monster_list = 8; // offset: 56
	uint32 retcode = 9; // offset: 116
	uint32 chest_monster_num = 12; // offset: 120
	uint32 entry_id = 13; // offset: 124
	repeated ChestInfo chest_list = 14; // offset: 48
	map<string, int32> floor_saved_data = 15; // offset: 96
	MissionStatusBySceneInfo client_group_mission_info = 123; // offset: 88
	repeated uint32 opened_chest_id_list = 561; // offset: 24
	SceneIdentifier scene_identifier = 954; // offset: 32
	repeated uint32 finished_chest_monster_id_list = 1700; // offset: 72
}

// Obf: GetSceneMapInfoScRsp
// Type: Rsp
// CmdID: 1460
message GetSceneMapInfoScRsp {
	uint32 retcode = 1; // offset: 32
	repeated SceneMapInfo scene_map_info = 12; // offset: 24
}

// Type: Notify
// CmdID: 1490
message SyncServerSceneChangeNotify {
}

// Type: Req
// CmdID: 1401
message CounterDownCsReq {
	uint32 DGGCFDKJDPO = 12; // offset: 24
	uint32 BIKALOGMMDA = 14; // offset: 28
}

// Type: Rsp
// CmdID: 1464
message CounterDownScRsp {
	uint32 retcode = 14; // offset: 24
}

// Type: Notify
// CmdID: 1468
message ILCCPICILFF {
	uint32 OFBPKCNCGFG = 1; // offset: 32
	GameplayCounterUpdateReason reason = 7; // offset: 28
	uint32 BIKALOGMMDA = 10; // offset: 24
}

// Type: Req
// CmdID: 1459
message EBADAHNBIIH {
	uint32 GPJBPKILOBM = 6; // offset: 24
	uint32 BIKALOGMMDA = 11; // offset: 28
}

// Type: Rsp
// CmdID: 1409
message GMABBKEMPNP {
	uint32 retcode = 9; // offset: 24
}

// Obf: EDDIFENDEFG
// Type: Notify
// CmdID: 1403
message UpdateFloorSavedValueNotify {
	map<string, int32> saved_value = 3; // offset: 24
	uint32 dimension_id = 5; // offset: 32
	uint32 floor_id = 10; // offset: 40
	uint32 plane_id = 14; // offset: 36
}

// Obf: CDIEIOFFMKM
// Type: Req
// CmdID: 1432
message GetUnlockTeleportCsReq {
	repeated uint32 entry_id_list = 10; // offset: 24
}

// Obf: FFKMNLDNIAA
// Type: Rsp
// CmdID: 1470
message GetUnlockTeleportScRsp {
	repeated uint32 unlocked_teleport_list = 1; // offset: 24
	uint32 retcode = 11; // offset: 32
}

// Obf: DJPNDFFGJHO
// Type: Notify
// CmdID: 1497
message OpenChestScNotify {
	uint32 chest_id = 2; // offset: 24
}
message SceneEntityRefreshInfo {
	oneof refresh_type {
		SceneEntityInfo add_entity = 6; // offset: 24
		uint32 delete_entity = 5; // offset: 24
		uint32 BEEANADAHPL = 14; // offset: 24
	}
}
message AKEKCKDIHLA {
	int32 new_value = 1; // offset: 32
	string property_name = 7; // offset: 24
	int32 old_value = 9; // offset: 36
}

// Obf: GroupRefreshInfo
message GroupRefreshInfo {
	uint32 group_id = 8; // offset: 56
	SceneGroupRefreshType refresh_type = 10; // offset: 52
	SceneEntityGroupInfo group_info = 11; // offset: 40
	repeated SceneEntityRefreshInfo refresh_entity = 12; // offset: 32
	repeated AKEKCKDIHLA CDMKBCHLPAB = 13; // offset: 24
	uint32 state = 14; // offset: 48
}

// Obf: EJJNPDFPIAP
// Type: Notify
// CmdID: 1491
message SceneGroupRefreshScNotify {
	uint32 floor_id = 11; // offset: 32
	uint32 dimension_id = 12; // offset: 36
	repeated GroupRefreshInfo group_refresh_list = 15; // offset: 24
}
message GroupStateInfo {
	uint32 group_id = 2; // offset: 32
	uint32 GMEHAMCHJBK = 6; // offset: 28
	uint32 group_state = 11; // offset: 36
	uint32 entry_id = 13; // offset: 24
}

// Type: Req
// CmdID: 1479
message GroupStateChangeCsReq {
	uint64 interact_id = 11; // offset: 32
	GroupStateInfo group_state_info = 13; // offset: 16
}

// Type: Rsp
// CmdID: 1407
message GroupStateChangeScRsp {
	uint32 retcode = 13; // offset: 32
	GroupStateInfo group_state_info = 15; // offset: 24
}
message EnteredSceneInfo {
	uint32 floor_id = 1; // offset: 24
	uint32 plane_id = 7; // offset: 28
}

// Obf: FHLGAPIIKCA
// Type: Req
// CmdID: 1424
message GetEnteredSceneCsReq {
}

// Obf: CGKHKICJKIA
// Type: Rsp
// CmdID: 1485
message GetEnteredSceneScRsp {
	repeated EnteredSceneInfo entered_scene_info_list = 4; // offset: 24
	uint32 retcode = 5; // offset: 32
}

// Obf: AFCKCGAINAM
// Type: Notify
// CmdID: 1477
message EnteredSceneChangeScNotify {
	repeated EnteredSceneInfo entered_scene_info_list = 10; // offset: 16
}

// Obf: IJEEIJDKBDP
// Type: Req
// CmdID: 1431
message RefreshTriggerByClientCsReq {
	string trigger_name = 2; // offset: 24
	repeated uint32 trigger_target_id_list = 3; // offset: 16
	uint32 trigger_entity_id = 4; // offset: 56
	MotionInfo trigger_motion = 6; // offset: 32
	uint64 interact_id = 15; // offset: 48
}

// Obf: LKBJBOOHAKB
// Type: Rsp
// CmdID: 1402
message RefreshTriggerByClientScRsp {
	string trigger_name = 1; // offset: 24
	uint32 trigger_entity_id = 10; // offset: 36
	uint32 retcode = 14; // offset: 32
	bool refresh_trigger = 15; // offset: 40
}

// Obf: EOALLAPKMFA
// Type: Notify
// CmdID: 1500
message RefreshTriggerByClientScNotify {
	string trigger_name = 2; // offset: 32
	uint32 trigger_entity_id = 9; // offset: 40
	repeated uint32 trigger_target_id_list = 15; // offset: 24
}

// Type: Req
// CmdID: 1408
message DeleteSummonUnitCsReq {
	repeated uint32 entity_id_list = 2; // offset: 16
	uint64 interact_id = 13; // offset: 32
}

// Type: Rsp
// CmdID: 1467
message DeleteSummonUnitScRsp {
	uint32 retcode = 1; // offset: 32
	repeated uint32 entity_id_list = 9; // offset: 16
}

// Obf: HMBCOANODNA
// Type: Notify
// CmdID: 1492
message UnlockTeleportNotify {
	uint32 entry_id2 = 1; // offset: 24
	uint32 entry_id = 13; // offset: 28
}

// Type: Req
// CmdID: 1461
message UpdateGroupPropertyCsReq {
	uint32 floor_id = 1; // offset: 36
	string property_name = 2; // offset: 24
	uint32 dimension_id = 3; // offset: 32
	uint32 group_id = 10; // offset: 52
	int32 OLBEPIBLDBD = 11; // offset: 48
	uint64 interact_id = 13; // offset: 40
}

// Type: Rsp
// CmdID: 1450
message UpdateGroupPropertyScRsp {
	int32 new_value = 1; // offset: 36
	uint32 dimension_id = 4; // offset: 44
	uint32 group_id = 8; // offset: 40
	int32 old_value = 9; // offset: 32
	string property_name = 13; // offset: 16
	uint32 floor_id = 14; // offset: 52
	uint32 retcode = 15; // offset: 48
}

// Obf: KEJANPDMOIL
// Type: Notify
// CmdID: 1454
message TrainWorldIdChangeScNotify {
	uint32 CFDCEEMIOCO = 14; // offset: 24
}

// Obf: AEBLDMIMFIA
// Type: Req
// CmdID: 1456
message SetTrainWorldIdCsReq {
	uint32 CFDCEEMIOCO = 7; // offset: 24
	uint64 interact_id = 15; // offset: 32
}

// Obf: GFCAHBOAJIB
// Type: Rsp
// CmdID: 1422
message SetTrainWorldIdScRsp {
	uint32 CFDCEEMIOCO = 5; // offset: 28
	uint32 retcode = 10; // offset: 24
}

// Obf: EHBMIAIMLDM
enum CmdServerPrefsType {
	EHBMIAIMLDM_NLCDGIPGFDJ = 0;
	CmdUpdateServerPrefsDataScRsp = 6181;
	CmdGetServerPrefsDataScRsp = 6158;
	CmdGetAllServerPrefsDataCsReq = 6125;
	EHBMIAIMLDM_BIOLLCIKFFD = 6193;
	CmdUpdateServerPrefsCsReq = 6188;
	CmdGetAllServerPrefsDataScRsp = 6178;
}
message ServerPrefs {
	uint32 server_prefs_id = 10; // offset: 32
	bytes data = 14; // offset: 24
}

// Type: Req
// CmdID: 6125
message GetAllServerPrefsDataCsReq {
}

// Type: Rsp
// CmdID: 6178
message GetAllServerPrefsDataScRsp {
	uint32 retcode = 13; // offset: 32
	repeated ServerPrefs server_prefs_list = 14; // offset: 16
}
message GetServerPrefsDataCsReq {
	uint32 server_prefs_id = 10; // offset: 24
}

// Type: Rsp
// CmdID: 6158
message GetServerPrefsDataScRsp {
	ServerPrefs server_prefs = 13; // offset: 24
	uint32 retcode = 14; // offset: 32
}

// Type: Req
// CmdID: 6188
message UpdateServerPrefsCsReq {
	ServerPrefs server_prefs = 4; // offset: 24
}

// Type: Rsp
// CmdID: 6181
message UpdateServerPrefsDataScRsp {
	uint32 server_prefs_id = 11; // offset: 28
	uint32 retcode = 15; // offset: 24
}

// Obf: LHKCEAHDMDF
enum CmdShopType {
	LHKCEAHDMDF_NLCDGIPGFDJ = 0;
	CmdGetShopListScRsp = 1578;
	CmdCityShopInfoScNotify = 1586;
	CmdBuyGoodsCsReq = 1593;
	CmdTakeCityShopRewardScRsp = 1581;
	CmdGetShopListCsReq = 1525;
	CmdBuyGoodsScRsp = 1558;
	CmdTakeCityShopRewardCsReq = 1588;
}
message Shop {
	uint32 city_level = 1; // offset: 56
	uint32 shop_id = 5; // offset: 32
	int64 end_time = 7; // offset: 48
	repeated Goods goods_list = 10; // offset: 24
	int64 begin_time = 13; // offset: 40
	uint32 city_exp = 14; // offset: 60
	uint64 city_taken_level_reward = 15; // offset: 64
}
message Goods {
	int64 end_time = 1; // offset: 40
	uint32 goods_id = 6; // offset: 36
	uint32 buy_times = 7; // offset: 48
	uint32 item_id = 10; // offset: 32
	int64 begin_time = 15; // offset: 24
}

// Type: Req
// CmdID: 1525
message GetShopListCsReq {
	uint32 shop_type = 11; // offset: 24
}

// Type: Rsp
// CmdID: 1578
message GetShopListScRsp {
	uint32 retcode = 4; // offset: 36
	repeated Shop shop_list = 5; // offset: 16
	uint32 shop_type = 6; // offset: 32
}

// Type: Req
// CmdID: 1593
message BuyGoodsCsReq {
	uint32 goods_id = 1; // offset: 32
	uint32 goods_num = 4; // offset: 40
	repeated uint32 ALHBEKKLJKK = 6; // offset: 16
	uint32 shop_id = 8; // offset: 44
	uint32 interacted_prop_entity_id = 12; // offset: 36
	uint32 item_id = 14; // offset: 48
}

// Type: Rsp
// CmdID: 1558
message BuyGoodsScRsp {
	uint32 goods_id = 2; // offset: 44
	ItemList return_item_list = 5; // offset: 24
	uint32 shop_id = 8; // offset: 32
	uint32 goods_buy_times = 10; // offset: 36
	uint32 retcode = 15; // offset: 40
}

// Type: Req
// CmdID: 1588
message TakeCityShopRewardCsReq {
	uint32 level = 1; // offset: 24
	uint32 shop_id = 2; // offset: 28
}

// Type: Rsp
// CmdID: 1581
message TakeCityShopRewardScRsp {
	uint32 shop_id = 1; // offset: 40
	ItemList reward = 2; // offset: 24
	uint32 retcode = 7; // offset: 32
	uint32 level = 13; // offset: 36
}

// Type: Notify
// CmdID: 1586
message CityShopInfoScNotify {
	uint32 level = 1; // offset: 24
	uint32 shop_id = 2; // offset: 28
	uint64 taken_level_reward = 4; // offset: 40
	uint32 exp = 10; // offset: 32
}

// Obf: LPMAENKEEHO
enum CmdSpaceZooType {
	LPMAENKEEHO_NLCDGIPGFDJ = 0;
	CmdSpaceZooBornCsReq = 6793;
	CmdSpaceZooDeleteCatScRsp = 6713;
	CmdCGFMDMPCKDN = 6740;
	CmdBAEKEIDLDCI = 6733;
	CmdSpaceZooBornScRsp = 6758;
	CmdSpaceZooDataScRsp = 6778;
	CmdSpaceZooOpCatteryScRsp = 6747;
	CmdSpaceZooDataCsReq = 6725;
	CmdSpaceZooMutateScRsp = 6781;
	CmdSpaceZooCatUpdateNotify = 6771;
	CmdSpaceZooTakeCsReq = 6738;
	CmdSpaceZooMutateCsReq = 6788;
	CmdSpaceZooOpCatteryCsReq = 6786;
	CmdSpaceZooDeleteCatCsReq = 6726;
	CmdSpaceZooTakeScRsp = 6739;
}
message DBLILHCLPPL {
	repeated uint32 item_list = 3; // offset: 16
	uint32 unique_id = 6; // offset: 52
	uint32 DNNCAGJIOAP = 7; // offset: 48
	bool PKKAJKHKBMN = 10; // offset: 44
	repeated uint32 DLPCPDGEADG = 11; // offset: 32
	uint32 BBMELNJBGAL = 12; // offset: 40
}
message GFFFJCEHBEB {
	uint32 BBMELNJBGAL = 7; // offset: 24
	uint32 HFLPDCJDIAC = 13; // offset: 28
}

// Obf: JGBGMGIBDHM
// Type: Req
// CmdID: 6725
message SpaceZooDataCsReq {
}

// Obf: JAAPNEALKJE
// Type: Rsp
// CmdID: 6778
message SpaceZooDataScRsp {
	repeated uint32 JGCNAGNOFBP = 1; // offset: 40
	repeated DBLILHCLPPL NFIGGHNNJAP = 2; // offset: 64
	repeated GFFFJCEHBEB JAPFGEAIACA = 3; // offset: 16
	uint32 retcode = 4; // offset: 84
	repeated uint32 GLMMHALPEAG = 5; // offset: 32
	repeated uint32 MDFEBNNOKLG = 8; // offset: 24
	repeated uint32 FIBMJBJMCKK = 10; // offset: 48
	uint32 OAIMAFOHLHC = 14; // offset: 80
	repeated uint32 ENGEBGICPPB = 15; // offset: 72
}

// Obf: JJMJCLMPCMF
// Type: Req
// CmdID: 6793
message SpaceZooBornCsReq {
	repeated uint32 MOAOBPPHLDC = 1; // offset: 16
	uint32 OPMPEGKMBPC = 6; // offset: 32
}

// Obf: OHICCFONLEC
// Type: Rsp
// CmdID: 6758
message SpaceZooBornScRsp {
	bool HCGHLFAKIKI = 4; // offset: 44
	DBLILHCLPPL DLMJNMIPDCO = 6; // offset: 32
	uint32 retcode = 7; // offset: 40
	repeated GFFFJCEHBEB JKMIFNJEBJO = 12; // offset: 24
}

// Obf: CHEKMBNIGBP
// Type: Req
// CmdID: 6788
message SpaceZooMutateCsReq {
	uint32 unique_id = 1; // offset: 24
	uint32 item_id = 3; // offset: 28
}

// Obf: JOFMCEMLDEA
// Type: Rsp
// CmdID: 6781
message SpaceZooMutateScRsp {
	DBLILHCLPPL KIIPGCDJPBO = 9; // offset: 32
	repeated GFFFJCEHBEB JKMIFNJEBJO = 10; // offset: 16
	bool HCGHLFAKIKI = 13; // offset: 44
	uint32 retcode = 15; // offset: 40
}

// Obf: NGFMHDPLLEC
// Type: Req
// CmdID: 6786
message SpaceZooOpCatteryCsReq {
	uint32 FEPDLPHPHGI = 11; // offset: 32
	uint32 op_type = 12; // offset: 28
	uint32 OCKGDJCGKLH = 15; // offset: 24
}

// Obf: BLHHJGDEMJH
// Type: Rsp
// CmdID: 6747
message SpaceZooOpCatteryScRsp {
	repeated uint32 MDFEBNNOKLG = 5; // offset: 24
	uint32 retcode = 14; // offset: 32
}

// Obf: MHIBHCOLBNB
// Type: Req
// CmdID: 6726
message SpaceZooDeleteCatCsReq {
	repeated uint32 GBIEAFKKAPI = 2; // offset: 24
}

// Obf: AALIMFELNHE
// Type: Rsp
// CmdID: 6713
message SpaceZooDeleteCatScRsp {
	uint32 retcode = 9; // offset: 32
	repeated uint32 ANHNMANNAEP = 11; // offset: 16
}

// Obf: KHCMPDLLMGP
// Type: Notify
// CmdID: 6771
message SpaceZooCatUpdateNotify {
	bool HCGHLFAKIKI = 9; // offset: 32
	repeated DBLILHCLPPL HMAIHHCBFKP = 10; // offset: 16
	bool FHHCNGAGFCJ = 11; // offset: 33
}

// Type: Req
// CmdID: 6740
message CGFMDMPCKDN {
	uint32 item_id = 6; // offset: 24
}

// Type: Rsp
// CmdID: 6733
message BAEKEIDLDCI {
	uint32 retcode = 8; // offset: 24
	uint32 item_id = 11; // offset: 28
}

// Obf: COGNONDGJDA
// Type: Req
// CmdID: 6738
message SpaceZooTakeCsReq {
	uint32 KIFKGLGCLEJ = 6; // offset: 24
}

// Obf: HPKFAABFCPN
// Type: Rsp
// CmdID: 6739
message SpaceZooTakeScRsp {
	ItemList reward = 3; // offset: 16
	uint32 retcode = 12; // offset: 32
	uint32 KIFKGLGCLEJ = 15; // offset: 36
}

// Obf: KLOMGBFFJII
enum CmdStarFightType {
	KLOMGBFFJII_NLCDGIPGFDJ = 0;
	CmdGetStarFightDataScRsp = 7161;
	CmdStartStarFightLevelScRsp = 7165;
	CmdGetStarFightDataCsReq = 7170;
	CmdStarFightDataChangeNotify = 7164;
	CmdStartStarFightLevelCsReq = 7163;
}
message JFGCABMMKAB {
	uint32 group_id = 1; // offset: 24
	bool NDBGPGODBPH = 4; // offset: 28
	uint32 EBDDDCBKPAC = 5; // offset: 40
	uint32 KDNBADEGDNK = 9; // offset: 36
	uint32 CEOEOEBOLNN = 15; // offset: 32
}

// Obf: DHMAENLPNCF
// Type: Req
// CmdID: 7170
message GetStarFightDataCsReq {
}

// Obf: GFIAOCOLLCD
// Type: Rsp
// CmdID: 7161
message GetStarFightDataScRsp {
	uint32 retcode = 7; // offset: 32
	repeated JFGCABMMKAB JJIDNKDKMLE = 8; // offset: 24
}
message EBGJAKBKPAN {
	AvatarType avatar_type = 1; // offset: 24
	uint32 avatar_id = 14; // offset: 28
}

// Obf: HLPCKFCKFFJ
// Type: Req
// CmdID: 7163
message StartStarFightLevelCsReq {
	uint32 DBKHHCGGKNN = 2; // offset: 32
	uint32 group_id = 9; // offset: 36
	repeated EBGJAKBKPAN avatar_list = 10; // offset: 16
}

// Obf: IOIJDHEMDLK
// Type: Rsp
// CmdID: 7165
message StartStarFightLevelScRsp {
	SceneBattleInfo battle_info = 3; // offset: 16
	uint32 retcode = 7; // offset: 40
	uint32 group_id = 13; // offset: 36
	uint32 DBKHHCGGKNN = 14; // offset: 32
}

// Obf: FEEOGJHLALP
// Type: Notify
// CmdID: 7164
message StarFightDataChangeNotify {
	uint32 group_id = 11; // offset: 32
	JFGCABMMKAB KDKKNFGPNAB = 15; // offset: 24
}

// Obf: ALMBGGJDJBJ
enum CmdStoryLineType {
	ALMBGGJDJBJ_NLCDGIPGFDJ = 0;
	CmdChangeStoryLineFinishScNotify = 6281;
	CmdStoryLineInfoScNotify = 6293;
	CmdGetStoryLineInfoCsReq = 6225;
	CmdStoryLineTrialAvatarChangeScNotify = 6286;
	CmdGetStoryLineInfoScRsp = 6278;
}

enum ChangeStoryLineAction {
	ChangeStoryLineAction_None = 0;
	ChangeStoryLineAction_FinishAction = 1;
	ChangeStoryLineAction_Client = 2;
	ChangeStoryLineAction_CustomOP = 3;
	ChangeStoryLineAction_Raid = 4;
	ChangeStoryLineAction_HKFKAFPAJCO = 5;
}

// Type: Req
// CmdID: 6225
message GetStoryLineInfoCsReq {
}

// Type: Rsp
// CmdID: 6278
message GetStoryLineInfoScRsp {
	uint32 cur_story_line_id = 4; // offset: 44
	uint32 retcode = 6; // offset: 40
	repeated uint32 unfinished_story_line_id_list = 14; // offset: 32
	repeated uint32 trial_avatar_id_list = 15; // offset: 24
}

// Obf: JEEOPLLKEEH
// Type: Notify
// CmdID: 6293
message StoryLineInfoScNotify {
	repeated uint32 trial_avatar_id_list = 3; // offset: 24
	uint32 FDFLHKEDPGC = 4; // offset: 40
	repeated uint32 unfinished_story_line_id_list = 8; // offset: 32
	uint32 cur_story_line_id = 11; // offset: 44
}

// Obf: ELGBFAEBOCN
// Type: Notify
// CmdID: 6281
message ChangeStoryLineFinishScNotify {
	uint32 ONBMNAMBIGE = 4; // offset: 32
	bool HBFDGEPBLNP = 6; // offset: 36
	ChangeStoryLineAction action = 10; // offset: 24
	uint32 cur_story_line_id = 12; // offset: 28
}

// Obf: NGBNCHOLHFE
// Type: Notify
// CmdID: 6286
message StoryLineTrialAvatarChangeScNotify {
	repeated uint32 EDBMIFNEHHH = 1; // offset: 24
	repeated uint32 ILIDIIGALKD = 2; // offset: 16
	bool OLPNMKAPDLP = 6; // offset: 40
}

// Obf: GDBHLMFLJMH
enum CmdStrongChallengeActivityType {
	GDBHLMFLJMH_NLCDGIPGFDJ = 0;
	CmdCBFOJHEPNHE = 6688;
	CmdEnterStrongChallengeActivityStageScRsp = 6658;
	CmdCEJMCEEBCOG = 6678;
	CmdEnterStrongChallengeActivityStageCsReq = 6693;
	CmdFPMFICMFNGJ = 6625;
}
message StrongChallengeAvatar {
	uint32 avatar_id = 3; // offset: 28
	AvatarType avatar_type = 7; // offset: 24
}
message NAFMBLMMAAG {
	repeated StrongChallengeAvatar avatar_list = 3; // offset: 16
	repeated uint32 buff_list = 9; // offset: 24
}
message MKGHJJCPBLP {
	uint32 panel_id = 2; // offset: 32
	uint32 CNBCDMMBCKI = 4; // offset: 44
	uint32 max_score = 5; // offset: 36
	uint32 stage_id = 6; // offset: 40
	NAFMBLMMAAG LMDGHCEHJCG = 13; // offset: 16
}
message DKOPOIIBDGJ {
	map<uint32, MKGHJJCPBLP> MBDBADFENPL = 15; // offset: 24
}

// Type: Req
// CmdID: 6625
message FPMFICMFNGJ {
}

// Type: Rsp
// CmdID: 6678
message CEJMCEEBCOG {
	DKOPOIIBDGJ OCLJEAKLFBH = 4; // offset: 24
	uint32 retcode = 14; // offset: 32
}

// Obf: GFJLCKGPGGN
// Type: Req
// CmdID: 6693
message EnterStrongChallengeActivityStageCsReq {
	uint32 stage_id = 3; // offset: 40
	repeated uint32 buff_list = 5; // offset: 24
	repeated StrongChallengeAvatar avatar_list = 13; // offset: 32
}

// Obf: JKIFFNPPLLD
// Type: Rsp
// CmdID: 6658
message EnterStrongChallengeActivityStageScRsp {
	uint32 retcode = 1; // offset: 36
	uint32 stage_id = 5; // offset: 32
	SceneBattleInfo battle_info = 12; // offset: 24
}

// Type: Notify
// CmdID: 6688
message CBFOJHEPNHE {
	BattleEndStatus end_status = 3; // offset: 36
	uint32 damage_score = 4; // offset: 28
	uint32 stage_id = 5; // offset: 32
	uint32 score_id = 6; // offset: 44
	uint32 IMCJFGIPIFI = 7; // offset: 40
	uint32 BMAHOGKMPDJ = 9; // offset: 24
	uint32 max_score = 13; // offset: 48
	uint32 total_damage = 15; // offset: 52
}

// Obf: FEGMMLEBKMA
enum CmdSummonActivityType {
	FEGMMLEBKMA_NLCDGIPGFDJ = 0;
	CmdGetSummonActivityDataCsReq = 7570;
	CmdGetSummonActivityDataScRsp = 7561;
	CmdEnterSummonActivityStageCsReq = 7563;
	CmdEnterSummonActivityStageScRsp = 7565;
	CmdSummonActivityBattleEndScNotify = 7564;
}
message ILHFAFGOJAC {
	uint32 star = 2; // offset: 24
	uint32 DBKHHCGGKNN = 11; // offset: 28
	uint32 group_id = 15; // offset: 32
}

// Obf: CAFBLIGHAMO
// Type: Req
// CmdID: 7570
message GetSummonActivityDataCsReq {
}

// Obf: EADGNHBCEPG
// Type: Rsp
// CmdID: 7561
message GetSummonActivityDataScRsp {
	repeated ILHFAFGOJAC IDLCLMMAIHP = 11; // offset: 16
	uint32 retcode = 14; // offset: 32
}
message OOAJJMEGIFO {
	uint32 avatar_id = 5; // offset: 28
	AvatarType avatar_type = 9; // offset: 24
}

// Obf: IHAKJMKLJFC
// Type: Req
// CmdID: 7563
message EnterSummonActivityStageCsReq {
	uint32 group_id = 7; // offset: 44
	uint32 DBKHHCGGKNN = 8; // offset: 40
	OOAJJMEGIFO NLJCJIGLGHE = 11; // offset: 32
	repeated OOAJJMEGIFO avatar_list = 14; // offset: 16
}

// Obf: BDABINKIAGM
// Type: Rsp
// CmdID: 7565
message EnterSummonActivityStageScRsp {
	SceneBattleInfo battle_info = 2; // offset: 16
	uint32 retcode = 12; // offset: 36
	uint32 DBKHHCGGKNN = 13; // offset: 32
	uint32 group_id = 15; // offset: 40
}

// Obf: NAHLFIBEBHJ
// Type: Notify
// CmdID: 7564
message SummonActivityBattleEndScNotify {
	uint32 group_id = 1; // offset: 32
	uint32 round = 2; // offset: 36
	uint32 star = 5; // offset: 28
	uint32 DBKHHCGGKNN = 12; // offset: 24
}

// Obf: BKCCNEKJADF
enum CmdSwitchHandType {
	BKCCNEKJADF_NLCDGIPGFDJ = 0;
	CmdGetSwitchHandResetGameScRsp = 8110;
	CmdGetSwitchHandResetGameCsReq = 8120;
	CmdGetSwitchHandDataScRsp = 8108;
	CmdSwitchHandFinishScRsp = 8117;
	CmdSwitchHandStartCsReq = 8103;
	CmdGetSwitchHandDataCsReq = 8118;
	CmdGetSwitchHandUpdateScRsp = 8104;
	CmdGetSwitchHandResetHandPosScRsp = 8109;
	CmdONPMJJOCBMM = 8115;
	CmdSwitchHandStartScRsp = 8112;
	CmdGetSwitchHandUpdateCsReq = 8105;
	CmdSwitchHandFinishCsReq = 8102;
	CmdGetSwitchHandResetHandPosCsReq = 8101;
	CmdJAIOIENPGOD = 8111;
}

enum DDNJKAMIHHI {
	DDNJKAMIHHI_NLCDGIPGFDJ = 0;
	DDNJKAMIHHI_LJHJNDHCHJF = 1;
	DDNJKAMIHHI_HOKACNFCJAI = 2;
}
message ENHOPAHGCMA {
	uint32 config_id = 2; // offset: 48
	bytes DNOBAJNIGAC = 5; // offset: 24
	uint32 EKHEAFBKDFP = 6; // offset: 40
	uint32 LNGJODEPCDN = 11; // offset: 44
	MotionInfo IFPFJIIFALA = 12; // offset: 32
}

// Obf: BGKDADFBMPL
// Type: Req
// CmdID: 8118
message GetSwitchHandDataCsReq {
	uint32 config_id = 2; // offset: 24
}

// Obf: AFLNPEOHLHO
// Type: Rsp
// CmdID: 8108
message GetSwitchHandDataScRsp {
	uint32 EBNGHIMCAPK = 1; // offset: 40
	repeated ENHOPAHGCMA BEADAHPGGAF = 9; // offset: 24
	uint32 MHKAPGBGFNO = 12; // offset: 36
	uint32 retcode = 15; // offset: 32
}

// Obf: JMPLJGMDKCE
// Type: Req
// CmdID: 8103
message SwitchHandStartCsReq {
	uint32 config_id = 14; // offset: 24
}

// Obf: LFJGLEHGGGI
// Type: Rsp
// CmdID: 8112
message SwitchHandStartScRsp {
	uint32 retcode = 12; // offset: 24
	uint32 config_id = 14; // offset: 28
}

// Obf: LJDIGIPHNGM
// Type: Req
// CmdID: 8102
message SwitchHandFinishCsReq {
}

// Obf: PONEDAONOJI
// Type: Rsp
// CmdID: 8117
message SwitchHandFinishScRsp {
	ENHOPAHGCMA BDEDDAHODII = 11; // offset: 24
	uint32 retcode = 12; // offset: 32
}
message OENDLKLJHPF {
	uint32 LKJHCMMPBDL = 1; // offset: 36
	uint32 IIIMCOINAOG = 4; // offset: 24
	DDNJKAMIHHI op_type = 6; // offset: 28
	uint32 group_id = 7; // offset: 32
}

// Obf: LGKMBABPKPJ
// Type: Req
// CmdID: 8105
message GetSwitchHandUpdateCsReq {
	OENDLKLJHPF NCADGIPIALO = 5; // offset: 16
	ENHOPAHGCMA IINKHPOJOGP = 10; // offset: 24
}

// Obf: HALOOCJJCGF
// Type: Rsp
// CmdID: 8104
message GetSwitchHandUpdateScRsp {
	ENHOPAHGCMA BDEDDAHODII = 4; // offset: 24
	OENDLKLJHPF NCADGIPIALO = 11; // offset: 16
	uint32 retcode = 13; // offset: 40
}

// Type: Req
// CmdID: 8111
message JAIOIENPGOD {
	uint32 LNGJODEPCDN = 7; // offset: 24
}

// Type: Rsp
// CmdID: 8115
message ONPMJJOCBMM {
	uint32 retcode = 10; // offset: 24
	uint32 LNGJODEPCDN = 11; // offset: 28
}

// Obf: MELHONKGEIM
// Type: Req
// CmdID: 8101
message GetSwitchHandResetHandPosCsReq {
	uint32 config_id = 3; // offset: 32
	MotionInfo IFPFJIIFALA = 6; // offset: 24
}

// Obf: GHJCCAOCINH
// Type: Rsp
// CmdID: 8109
message GetSwitchHandResetHandPosScRsp {
	uint32 retcode = 4; // offset: 32
	ENHOPAHGCMA BEADAHPGGAF = 10; // offset: 16
}

// Obf: PNPLNLCKAMJ
// Type: Req
// CmdID: 8120
message GetSwitchHandResetGameCsReq {
	ENHOPAHGCMA JCELIFCHCEF = 8; // offset: 24
}

// Obf: NKLLJAMLBCB
// Type: Rsp
// CmdID: 8110
message GetSwitchHandResetGameScRsp {
	uint32 retcode = 9; // offset: 32
	ENHOPAHGCMA BEADAHPGGAF = 15; // offset: 16
}

// Obf: BKIBAJOHBHN
enum CmdSwordTrainingType {
	BKIBAJOHBHN_NLCDGIPGFDJ = 0;
	CmdSwordTrainingActionTurnSettleScNotify = 7455;
	CmdSwordTrainingLearnSkillCsReq = 7456;
	CmdSwordTrainingResumeGameScRsp = 7488;
	CmdSwordTrainingRestoreGameCsReq = 7486;
	CmdSwordTrainingGiveUpGameCsReq = 7458;
	CmdSwordTrainingRestoreGameScRsp = 7480;
	CmdSwordTrainingTurnActionCsReq = 7494;
	CmdSwordTrainingTurnActionScRsp = 7469;
	CmdSwordTrainingResumeGameCsReq = 7484;
	CmdSwordTrainingSelectEndingCsReq = 7497;
	CmdSwordTrainingSelectEndingScRsp = 7492;
	CmdSwordTrainingGameSettleScNotify = 7490;
	CmdSwordTrainingDailyPhaseConfirmScRsp = 7453;
	CmdSwordTrainingGiveUpGameScRsp = 7468;
	CmdSwordTrainingStoryConfirmScRsp = 7463;
	CmdSwordTrainingStoryBattleScRsp = 7454;
	CmdSwordTrainingMarkEndingViewedScRsp = 7481;
	CmdSwordTrainingStoryBattleCsReq = 7500;
	CmdSwordTrainingSetSkillTraceScRsp = 7499;
	CmdSwordTrainingStartGameScRsp = 7485;
	CmdSwordTrainingExamResultConfirmScRsp = 7462;
	CmdSwordTrainingUnlockSyncScNotify = 7476;
	CmdEnterSwordTrainingExamCsReq = 7479;
	CmdSwordTrainingDialogueSelectOptionCsReq = 7457;
	CmdSwordTrainingStoryConfirmCsReq = 7465;
	CmdEnterSwordTrainingExamScRsp = 7483;
	CmdGetSwordTrainingDataCsReq = 7473;
	CmdSwordTrainingMarkEndingViewedCsReq = 7496;
	CmdSwordTrainingDialogueSelectOptionScRsp = 7460;
	CmdSwordTrainingLearnSkillScRsp = 7452;
	CmdSwordTrainingDailyPhaseConfirmCsReq = 7498;
	CmdSwordTrainingExamResultConfirmCsReq = 7491;
	CmdSwordTrainingSetSkillTraceCsReq = 7461;
	CmdGetSwordTrainingDataScRsp = 7487;
	CmdSwordTrainingGameSyncChangeScNotify = 7459;
	CmdSwordTrainingStartGameCsReq = 7464;
}

enum BHJOFLJGNKN {
	BHJOFLJGNKN_NLCDGIPGFDJ = 0;
	BHJOFLJGNKN_LENEGHPPELE = 1;
	BHJOFLJGNKN_LIDKLOCCDGI = 2;
	BHJOFLJGNKN_action = 3;
	BHJOFLJGNKN_OFPLODJBGMG = 4;
	BHJOFLJGNKN_DDGDJCKKHPH = 5;
	BHJOFLJGNKN_DDBIJDILDJL = 6;
	BHJOFLJGNKN_NCLBFAALLFJ = 7;
}

// Obf: GFEKOONGJBL
enum SwordTrainingDailyPhaseType {
	GFEKOONGJBL_NLCDGIPGFDJ = 0;
	GFEKOONGJBL_JIMMOJHFOKE = 1;
	GFEKOONGJBL_JMCHLJLGPPD = 2;
	GFEKOONGJBL_OHDHBFKJIKL = 3;
	GFEKOONGJBL_NPJHPLIALIN = 4;
}

enum EJCBOKGJFHE {
	EJCBOKGJFHE_NLCDGIPGFDJ = 0;
	EJCBOKGJFHE_GLANPLEGMPG = 1;
	EJCBOKGJFHE_CIGHHAKHHMN = 2;
	EJCBOKGJFHE_GAMNPOMOAIG = 3;
	EJCBOKGJFHE_KIKADFCIPJO = 4;
	EJCBOKGJFHE_NKAACMGNNPK = 5;
}

enum IPPKHOFKMHM {
	IPPKHOFKMHM_KLHMFENBDID = 0;
	IPPKHOFKMHM_JKGEFNAIMFK = 1;
	IPPKHOFKMHM_CJOADAMKIFC = 2;
	IPPKHOFKMHM_FBHDMJMLBIC = 3;
	IPPKHOFKMHM_OKCNPPPLAHM = 4;
	IPPKHOFKMHM_KPOMIPJOKND = 5;
}
message EINKHFKDCCD {
	BCPMPHNADMN skill_info = 1; // offset: 64
	LBBNBAEKGCJ GFAANLGDEOB = 4; // offset: 48
	HFMLKIIOGBP CLKDEHDODBB = 5; // offset: 16
	repeated uint32 MDBAEBENFBA = 6; // offset: 40
	NPGJDCIBFDD FMIGOKIDKJL = 7; // offset: 32
	uint32 IMGDMDDKHDL = 10; // offset: 80
	HCHNKKNDJCN HCEAHMKBFFK = 12; // offset: 72
	HFKKEDPMKKF DOBHAEAGEDG = 13; // offset: 24
}
message BCPMPHNADMN {
	uint32 LMEDKDNNNKL = 1; // offset: 32
	repeated uint32 PGBJIJPACCE = 3; // offset: 24
	uint32 GMANNHPPFPK = 15; // offset: 36
}
message HFKKEDPMKKF {
	uint32 game_story_line_id = 13; // offset: 32
	repeated uint32 JBJNHJNMPAP = 14; // offset: 16
}
message LBBGLAHFJKN {
	EJCBOKGJFHE EGBFNFCEPHD = 3; // offset: 24
	uint32 value = 15; // offset: 28
}
message HCHNKKNDJCN {
	uint32 KPJHKDOMEMJ = 8; // offset: 32
	repeated LBBGLAHFJKN status_list = 12; // offset: 16
	uint32 mood = 15; // offset: 36
}
message GFFDDJHNJPN {
	uint32 level = 1; // offset: 24
	uint32 queue_position = 5; // offset: 28
}
message HFMLKIIOGBP {
	repeated GFFDDJHNJPN BELEDENKGGI = 9; // offset: 16
}
message LBBNBAEKGCJ {
	uint32 AFPHLNMGPHK = 686; // offset: 32
	oneof KKNBOACNCON {
		IEALCLFLDMP NMIJKPKNPLE = 5; // offset: 24
		KLNGFBHIADA FKPDOHGKJJK = 8; // offset: 24
	}
}
message GOCNLGIDBLM {
	uint32 AMNDNDNPLCA = 5; // offset: 28
	uint32 JALHKMEOOPN = 8; // offset: 24
}
message IEALCLFLDMP {
	repeated GOCNLGIDBLM COOMKNFDNLH = 4; // offset: 32
	repeated uint32 JAJNHOKCAHH = 6; // offset: 24
	SwordTrainingDailyPhaseType cur_phase = 12; // offset: 40
}
message KLNGFBHIADA {
	uint32 DGONPFLCOMO = 11; // offset: 24
}
message NPGJDCIBFDD {
	oneof KKNBOACNCON {
		BLJHLKBNGEC NGOCELLBHCF = 13; // offset: 16
		PJKNNJGEEBJ KNDKCOGGEKL = 1; // offset: 16
		GELEHDAJMED NCLBFAALLFJ = 4; // offset: 16
		AKFBNFPFKJJ DOCGLPKMHDM = 12; // offset: 16
		JADFEJKNOCO KGPMPPHJHLD = 6; // offset: 16
		OKOJCBKENEJ OLHMHOOMGCK = 7; // offset: 16
		IKGLCLFLAKO MHLPJEDILFJ = 11; // offset: 16
		ECPHOKOPKBP GJNINFABDBN = 8; // offset: 16
	}
}
message BLJHLKBNGEC {
}
message PJKNNJGEEBJ {
}
message GELEHDAJMED {
	uint32 dialogue_id = 12; // offset: 24
}
message AKFBNFPFKJJ {
}
message JADFEJKNOCO {
	bool JBJIKKOCNLP = 5; // offset: 28
	uint32 LNAHJENGELA = 14; // offset: 24
}
message OKOJCBKENEJ {
}
message IKGLCLFLAKO {
}
message ECPHOKOPKBP {
	bool IJJEGKDGKCJ = 7; // offset: 24
	uint32 LNAHJENGELA = 14; // offset: 28
}
message GIJKCHKMPJG {
	BHJOFLJGNKN source = 3; // offset: 32
	LJGKNFCFLLB detail = 12; // offset: 16
}
message LJGKNFCFLLB {
	oneof KKNBOACNCON {
		BJKPJIBNPHC DEIMCENJPKP = 6; // offset: 16
		FBKIJNOFIAH FNONLFCKDIL = 7; // offset: 16
		FBKIJNOFIAH CIDOEGFPHEN = 8; // offset: 16
		GIJLACBOPEE HANCFMMMFNF = 12; // offset: 16
		MCECLBDBENF LMAGJOOLKII = 10; // offset: 16
		JADFEJKNOCO GOLOGIHJOPF = 1; // offset: 16
		DAEDLFEEGIB FOGBMALOAOK = 15; // offset: 16
		uint32 MIFOJPGIFDD = 5; // offset: 16
		uint32 KPJHKDOMEMJ = 839; // offset: 16
		ECPHOKOPKBP KJOAIOHFFMK = 433; // offset: 16
		OKOJCBKENEJ GBNOIFNDPJB = 896; // offset: 16
		uint32 KGKJHCBMEFI = 1707; // offset: 16
	}
}
message DAEDLFEEGIB {
	uint32 dialogue_id = 12; // offset: 24
}
message BJKPJIBNPHC {
	EJCBOKGJFHE EGBFNFCEPHD = 9; // offset: 32
	uint32 HFNNNGHBHGG = 11; // offset: 28
	uint32 DCPDNBALDOA = 15; // offset: 24
}
message FBKIJNOFIAH {
	uint32 HFNNNGHBHGG = 1; // offset: 28
	uint32 DCPDNBALDOA = 15; // offset: 24
}
message GIJLACBOPEE {
	uint32 HJMEJNMAILK = 5; // offset: 32
	uint32 queue_position = 9; // offset: 24
	uint32 level = 12; // offset: 28
}
message MCECLBDBENF {
	LBBNBAEKGCJ turn = 4; // offset: 16
	uint32 IMGDMDDKHDL = 11; // offset: 32
}

// Obf: LAKBGIFBOFA
// Type: Notify
// CmdID: 7459
message SwordTrainingGameSyncChangeScNotify {
	repeated GIJKCHKMPJG DGNGMJMPFGK = 11; // offset: 24
}
message FDANEJNFABF {
	uint32 progress = 12; // offset: 28
	uint32 id = 15; // offset: 24
}
message GIHLNOIACIH {
	repeated FDANEJNFABF KFOFAKDPGJC = 5; // offset: 32
	repeated uint32 MNIIFCOOOML = 14; // offset: 24
}

// Obf: CEPKLKNFLON
// Type: Req
// CmdID: 7473
message GetSwordTrainingDataCsReq {
}

// Obf: AKLEOKANBFE
// Type: Rsp
// CmdID: 7487
message GetSwordTrainingDataScRsp {
	GIHLNOIACIH BBEKBJPHEJK = 1; // offset: 32
	repeated uint32 CICCAIENFGA = 2; // offset: 56
	EINKHFKDCCD AJGOEJHKOKE = 4; // offset: 40
	uint32 PABJCCKBGEB = 7; // offset: 68
	repeated uint32 JBJNHJNMPAP = 8; // offset: 24
	repeated uint32 IEPANMCFKJL = 10; // offset: 48
	uint32 retcode = 13; // offset: 72
	bool GPGIMFMGGKG = 15; // offset: 64
}

// Obf: CBBJNPGLLHM
// Type: Req
// CmdID: 7494
message SwordTrainingTurnActionCsReq {
	repeated uint32 GJEPAKHPFCG = 13; // offset: 24
	repeated uint32 CCPADEMEHBA = 14; // offset: 32
}

// Obf: CEJHJJNCHCJ
// Type: Rsp
// CmdID: 7469
message SwordTrainingTurnActionScRsp {
	uint32 retcode = 4; // offset: 32
	repeated uint32 CCPADEMEHBA = 10; // offset: 24
}

// Obf: CBONHEMLCJG
// Type: Req
// CmdID: 7498
message SwordTrainingDailyPhaseConfirmCsReq {
	SwordTrainingDailyPhaseType GCBHFKKGPHC = 1; // offset: 24
}

// Obf: IOCHJOIIJAC
// Type: Rsp
// CmdID: 7453
message SwordTrainingDailyPhaseConfirmScRsp {
	uint32 retcode = 10; // offset: 28
	bool KPMJOKEFLJO = 13; // offset: 24
}

// Obf: MLHMOBMFJDF
// Type: Req
// CmdID: 7457
message SwordTrainingDialogueSelectOptionCsReq {
	uint32 HAFOKMHCGFM = 12; // offset: 24
}

// Obf: JKKCLMHGJNN
// Type: Rsp
// CmdID: 7460
message SwordTrainingDialogueSelectOptionScRsp {
	uint32 retcode = 3; // offset: 24
}

// Obf: HNANALOFHKL
// Type: Req
// CmdID: 7491
message SwordTrainingExamResultConfirmCsReq {
}

// Obf: GOBDDIKGMJB
// Type: Rsp
// CmdID: 7462
message SwordTrainingExamResultConfirmScRsp {
	uint32 retcode = 2; // offset: 24
}

// Obf: NJFMGIPINNK
// Type: Req
// CmdID: 7479
message EnterSwordTrainingExamCsReq {
}

// Obf: IGKNBCIOBJJ
// Type: Rsp
// CmdID: 7483
message EnterSwordTrainingExamScRsp {
	SceneBattleInfo battle_info = 5; // offset: 16
	uint32 retcode = 11; // offset: 32
}

// Obf: NPEPGBMPCEK
// Type: Req
// CmdID: 7456
message SwordTrainingLearnSkillCsReq {
	uint32 skill_id = 11; // offset: 24
}

// Obf: MBPCKIKJKOF
// Type: Rsp
// CmdID: 7452
message SwordTrainingLearnSkillScRsp {
	uint32 skill_id = 7; // offset: 24
	uint32 retcode = 13; // offset: 28
}

// Obf: LLCLGDKFKPJ
// Type: Req
// CmdID: 7464
message SwordTrainingStartGameCsReq {
	uint32 game_story_line_id = 1; // offset: 24
}

// Obf: LLONJLACLDH
// Type: Rsp
// CmdID: 7485
message SwordTrainingStartGameScRsp {
	EINKHFKDCCD AJGOEJHKOKE = 4; // offset: 16
	uint32 retcode = 15; // offset: 32
}

// Obf: KPPPMHDPFML
// Type: Req
// CmdID: 7465
message SwordTrainingStoryConfirmCsReq {
	uint32 LNAHJENGELA = 6; // offset: 24
}

// Obf: DIAGLMMBKIP
// Type: Rsp
// CmdID: 7463
message SwordTrainingStoryConfirmScRsp {
	uint32 LNAHJENGELA = 5; // offset: 24
	uint32 retcode = 6; // offset: 28
}

// Obf: HINGFMLCGKA
// Type: Req
// CmdID: 7458
message SwordTrainingGiveUpGameCsReq {
}

// Obf: CGAACLIDCBP
// Type: Rsp
// CmdID: 7468
message SwordTrainingGiveUpGameScRsp {
	uint32 retcode = 7; // offset: 24
}

// Obf: CHOPOIIJCPD
// Type: Notify
// CmdID: 7490
message SwordTrainingGameSettleScNotify {
	IPPKHOFKMHM reason = 3; // offset: 64
	ItemList reward = 5; // offset: 40
	uint32 game_story_line_id = 6; // offset: 52
	uint32 turn = 7; // offset: 60
	uint32 LBNLIJBPKHI = 8; // offset: 48
	repeated uint32 KACAMGJNOOB = 10; // offset: 32
	uint32 CDBGPMABMGM = 11; // offset: 56
	repeated uint32 BHFHFONGHML = 14; // offset: 24
}

// Obf: DNJMMFCCGFN
// Type: Notify
// CmdID: 7476
message SwordTrainingUnlockSyncScNotify {
	repeated uint32 MNIIFCOOOML = 13; // offset: 24
	repeated FDANEJNFABF KFOFAKDPGJC = 15; // offset: 16
}

// Obf: HIOFMDBFHAG
// Type: Req
// CmdID: 7497
message SwordTrainingSelectEndingCsReq {
	uint32 PFOLEGLCLFE = 1; // offset: 24
}

// Obf: IKDGBHLLMBB
// Type: Rsp
// CmdID: 7492
message SwordTrainingSelectEndingScRsp {
	uint32 PFOLEGLCLFE = 8; // offset: 28
	uint32 retcode = 13; // offset: 24
}

// Obf: HCIOANIMHPE
// Type: Req
// CmdID: 7486
message SwordTrainingRestoreGameCsReq {
}

// Obf: LELIJDKDOOC
// Type: Rsp
// CmdID: 7480
message SwordTrainingRestoreGameScRsp {
	EINKHFKDCCD AJGOEJHKOKE = 7; // offset: 16
	uint32 retcode = 11; // offset: 32
}

// Obf: AKDCJGCEHKB
// Type: Req
// CmdID: 7500
message SwordTrainingStoryBattleCsReq {
}

// Obf: DIIPGEODELO
// Type: Rsp
// CmdID: 7454
message SwordTrainingStoryBattleScRsp {
	SceneBattleInfo battle_info = 3; // offset: 16
	uint32 retcode = 5; // offset: 32
}

// Obf: KHKMBEMDJNN
// Type: Notify
// CmdID: 7455
message SwordTrainingActionTurnSettleScNotify {
	repeated LBBGLAHFJKN BINKDPMJLFG = 2; // offset: 16
	uint32 GEAJILJKBIK = 12; // offset: 32
}

// Obf: IAMLGPGAFAC
// Type: Req
// CmdID: 7484
message SwordTrainingResumeGameCsReq {
	uint32 game_story_line_id = 5; // offset: 24
}

// Obf: BBFDEKAAIFO
// Type: Rsp
// CmdID: 7488
message SwordTrainingResumeGameScRsp {
	EINKHFKDCCD AJGOEJHKOKE = 4; // offset: 24
	uint32 retcode = 9; // offset: 32
}

// Obf: LNBDOMKFAGG
// Type: Req
// CmdID: 7461
message SwordTrainingSetSkillTraceCsReq {
	uint32 skill_id = 10; // offset: 24
}

// Obf: FCHBGJDOBIE
// Type: Rsp
// CmdID: 7499
message SwordTrainingSetSkillTraceScRsp {
	uint32 skill_id = 6; // offset: 24
	uint32 retcode = 10; // offset: 28
}

// Obf: BDACGGBMIJE
// Type: Req
// CmdID: 7496
message SwordTrainingMarkEndingViewedCsReq {
}

// Obf: CPKPGMKDKMG
// Type: Rsp
// CmdID: 7481
message SwordTrainingMarkEndingViewedScRsp {
	uint32 retcode = 9; // offset: 24
}

// Obf: OFHDDJMLOGG
enum CmdPlayerSyncType {
	OFHDDJMLOGG_LIDGOKIFPOJ = 0;
	CmdPlayerSyncScNotify = 625;
}

// Obf: IAIDGGGMBPJ
message BasicModuleSync {
	uint32 stamina = 4; // offset: 24
	uint32 DLODAKOHFOP = 6; // offset: 28
}

// Obf: NHGJGMAEBCI
message PlayerBoardModuleSync {
	repeated HeadIconData unlocked_head_icon_list = 5; // offset: 40
	bool MFFGEMKLNBF = 6; // offset: 56
	string signature = 7; // offset: 24
	HeadFrameInfo head_frame_info = 10; // offset: 48
	repeated uint32 GHNJNFKJEDC = 13; // offset: 16
}
message AvatarSync {
	repeated Avatar avatar_list = 6; // offset: 32
	repeated AvatarPathData avatar_path_data_info_list = 14; // offset: 24
}

// Obf: EOJCKAGKGBM
message MissionSync {
	repeated uint32 finished_main_mission_id_list = 1; // offset: 16
	repeated Mission mission_list = 4; // offset: 56
	repeated uint32 OBCBLABECEA = 7; // offset: 48
	repeated uint32 LEBFLAKCJCM = 10; // offset: 40
	repeated uint32 DEPBONHELFD = 11; // offset: 64
	repeated MJBANFPPEFH NLPKLNDCMOC = 14; // offset: 32
}
message PFNHCOJOBKH {
	repeated uint32 ABMLLCOKOLN = 4; // offset: 16
	repeated uint32 LKAKMGKENOI = 11; // offset: 32
}
message SyncStatus {
	repeated SectionStatus section_status = 5; // offset: 48
	repeated GroupStatus message_group_status = 10; // offset: 32
	repeated uint32 MDANGIEIMIF = 13; // offset: 40
	repeated uint32 BGPACBIJDCH = 14; // offset: 24
}

// Obf: NIEBAAFIPDA
// Type: Notify
// CmdID: 625
message PlayerSyncScNotify {
	BasicModuleSync JHJNMOFMPMO = 2; // offset: 144
	repeated uint32 del_relic_list = 5; // offset: 136
	MissionSync mission_sync = 6; // offset: 56
	repeated WaitDelResource wait_del_resource_list = 7; // offset: 88
	repeated Relic relic_list = 8; // offset: 152
	AvatarSync avatar_sync = 9; // offset: 40
	repeated Quest quest_list = 10; // offset: 72
	PlayerBasicInfo basic_info = 11; // offset: 24
	repeated Equipment equipment_list = 12; // offset: 168
	repeated Material material_list = 14; // offset: 80
	repeated uint32 del_equipment_list = 15; // offset: 128
	repeated NKDNFDCFNCP NMBAFJGFOIH = 240; // offset: 16
	PlayerBoardModuleSync update_player_board_module_list = 325; // offset: 48
	repeated Material NAJFMIIFIEC = 525; // offset: 160
	repeated CCHMHOONEGG JIEOHBBDJDA = 608; // offset: 176
	repeated NLLLAAEJOBP update_platform_bound_gifts_list = 1086; // offset: 96
	ItemList FHHGDACMJED = 1130; // offset: 104
	SyncStatus sync_status = 1405; // offset: 112
	PFNHCOJOBKH update_pet_summon_items_list = 1452; // offset: 120
	CJLCPMDGIBO DHKFCDAGHDM = 1962; // offset: 32
}

// Obf: LAGOBKECEDB
enum CmdTalkEventType {
	LAGOBKECEDB_MNPGFLPBDLK = 0;
	CmdFinishFirstTalkNpcCsReq = 2186;
	CmdGetNpcTakenRewardCsReq = 2125;
	CmdFinishFirstTalkByPerformanceNpcScRsp = 2138;
	CmdGetFirstTalkByPerformanceNpcScRsp = 2140;
	CmdGetNpcTakenRewardScRsp = 2178;
	CmdTakeTalkRewardCsReq = 2193;
	CmdGetFirstTalkNpcCsReq = 2188;
	CmdFinishFirstTalkByPerformanceNpcCsReq = 2133;
	CmdGetFirstTalkByPerformanceNpcCsReq = 2171;
	CmdTakeTalkRewardScRsp = 2158;
	CmdGetFirstTalkNpcScRsp = 2181;
	CmdFinishFirstTalkNpcScRsp = 2147;
	CmdSelectInclinationTextScRsp = 2113;
	CmdSelectInclinationTextCsReq = 2126;
}

// Obf: AFAEAGLMJEL
// Type: Req
// CmdID: 2125
message GetNpcTakenRewardCsReq {
	uint32 npc_id = 13; // offset: 24
}

// Obf: NICENHFMLNE
// Type: Rsp
// CmdID: 2178
message GetNpcTakenRewardScRsp {
	uint32 retcode = 6; // offset: 32
	repeated uint32 NLMBBAMMCCM = 13; // offset: 16
	uint32 npc_id = 14; // offset: 36
}

// Obf: ONGCMCCAPOA
// Type: Req
// CmdID: 2193
message TakeTalkRewardCsReq {
	Vector JAKEBEGAJNA = 1; // offset: 16
	uint32 MJALBOEAKME = 7; // offset: 32
}

// Obf: DIOPCDKIEKN
// Type: Rsp
// CmdID: 2158
message TakeTalkRewardScRsp {
	uint32 MJALBOEAKME = 1; // offset: 32
	uint32 retcode = 11; // offset: 36
	ItemList reward = 15; // offset: 24
}

// Obf: GNLACIGLJJN
// Type: Req
// CmdID: 2188
message GetFirstTalkNpcCsReq {
	repeated uint32 FLJBOHAFLOK = 8; // offset: 24
}
message ILKADBIDKAA {
	bool is_meet = 3; // offset: 28
	uint32 GCBDPAFMKAN = 13; // offset: 24
}

// Obf: KGAPKGHAKHF
// Type: Rsp
// CmdID: 2181
message GetFirstTalkNpcScRsp {
	repeated ILKADBIDKAA npc_meet_status_list = 1; // offset: 16
	uint32 retcode = 9; // offset: 32
}

// Obf: ODIKKIMIMHO
// Type: Req
// CmdID: 2186
message FinishFirstTalkNpcCsReq {
	uint32 GCBDPAFMKAN = 5; // offset: 24
}

// Obf: DDLGGGGKPHD
// Type: Rsp
// CmdID: 2147
message FinishFirstTalkNpcScRsp {
	uint32 retcode = 2; // offset: 28
	uint32 GCBDPAFMKAN = 11; // offset: 24
}

// Type: Req
// CmdID: 2126
message SelectInclinationTextCsReq {
	uint32 talk_sentence_id = 1; // offset: 24
}

// Type: Rsp
// CmdID: 2113
message SelectInclinationTextScRsp {
	uint32 retcode = 5; // offset: 28
	uint32 talk_sentence_id = 10; // offset: 24
}
message NpcMeetByPerformanceStatus {
	bool is_meet = 2; // offset: 24
	uint32 performance_id = 15; // offset: 28
}

// Obf: MEJFIDEOLBN
// Type: Req
// CmdID: 2171
message GetFirstTalkByPerformanceNpcCsReq {
	repeated uint32 performance_id_list = 14; // offset: 16
}

// Obf: BDMBCADIHLN
// Type: Rsp
// CmdID: 2140
message GetFirstTalkByPerformanceNpcScRsp {
	repeated NpcMeetByPerformanceStatus npc_meet_status_list = 3; // offset: 24
	uint32 retcode = 15; // offset: 32
}

// Obf: CFLOLHMFICG
// Type: Req
// CmdID: 2133
message FinishFirstTalkByPerformanceNpcCsReq {
	uint32 performance_id = 1; // offset: 24
}

// Obf: LADNPPKPJGM
// Type: Rsp
// CmdID: 2138
message FinishFirstTalkByPerformanceNpcScRsp {
	uint32 performance_id = 1; // offset: 36
	ItemList reward = 5; // offset: 16
	uint32 retcode = 9; // offset: 32
}

// Obf: ACPLKAJAAIL
enum CmdTarotBookType {
	ACPLKAJAAIL_NLCDGIPGFDJ = 0;
	CmdTarotBookUnlockInteractionScRsp = 8160;
	CmdTarotBookMultiOpenPackAndUnlockStoryScRsp = 8154;
	CmdTarotBookFinishStoryCsReq = 8145;
	CmdTarotBookGetDataCsReq = 8158;
	CmdTarotBookUnlockInteractionCsReq = 8149;
	CmdTarotBookOpenPackCsReq = 8143;
	CmdTarotBookUnlockStoryScRsp = 8157;
	CmdTarotBookOpenPackScRsp = 8152;
	CmdTarotBookMultiOpenPackAndUnlockStoryCsReq = 8147;
	CmdTarotBookFinishInteractionCsReq = 8155;
	CmdTarotBookSyncDataScNotify = 8150;
	CmdTarotBookModifyEnergyScNotify = 8151;
	CmdTarotBookGetDataScRsp = 8148;
	CmdTarotBookUnlockStoryCsReq = 8142;
	CmdTarotBookFinishStoryScRsp = 8144;
	CmdTarotBookFinishInteractionScRsp = 8141;
}
message LIONJNJEBBF {
	uint32 id = 8; // offset: 24
	uint32 level = 13; // offset: 28
}
message AOMMAFEOBOA {
	uint32 id = 12; // offset: 24
	bool has_passed = 15; // offset: 28
}
message OHCFIOOIKND {
	repeated AOMMAFEOBOA ILKLAJBGKKI = 4; // offset: 32
	repeated LIONJNJEBBF LNFCBCDNFDL = 9; // offset: 24
}
message GMBGLBHEFDI {
	repeated uint32 HKFDNIFACFH = 1; // offset: 24
	repeated uint32 FPPJGGJCJIH = 8; // offset: 16
}

// Obf: ODKKAPPADGE
// Type: Req
// CmdID: 8158
message TarotBookGetDataCsReq {
}

// Obf: OGNGCOFKPPG
// Type: Rsp
// CmdID: 8148
message TarotBookGetDataScRsp {
	uint32 energy_info = 1; // offset: 64
	OHCFIOOIKND BBEMIGELGJC = 4; // offset: 32
	GMBGLBHEFDI interaction = 5; // offset: 48
	map<uint32, uint32> IMNNLHCAKML = 6; // offset: 16
	map<uint32, uint32> IJOJMJOMELA = 8; // offset: 24
	uint32 LOCEBOCJGEC = 9; // offset: 68
	uint32 HBLKMBHGLNO = 10; // offset: 60
	uint32 retcode = 14; // offset: 56
}

// Obf: GBHLCODNKHL
// Type: Req
// CmdID: 8143
message TarotBookOpenPackCsReq {
}

// Obf: JPJENKLDDOH
// Type: Rsp
// CmdID: 8152
message TarotBookOpenPackScRsp {
	uint32 energy_info = 2; // offset: 48
	map<uint32, uint32> NLAANGNGAIA = 3; // offset: 32
	uint32 HBLKMBHGLNO = 6; // offset: 40
	uint32 retcode = 11; // offset: 52
	map<uint32, uint32> KMNLFHLINFB = 12; // offset: 16
	uint32 LOCEBOCJGEC = 15; // offset: 44
}

// Obf: JJOKPIPHCAK
// Type: Req
// CmdID: 8142
message TarotBookUnlockStoryCsReq {
	repeated uint32 BHFHFONGHML = 13; // offset: 16
}

// Obf: NDIGHHGLNED
// Type: Rsp
// CmdID: 8157
message TarotBookUnlockStoryScRsp {
	LIONJNJEBBF CLLIKPONHOC = 1; // offset: 40
	map<uint32, uint32> IJOJMJOMELA = 3; // offset: 24
	repeated uint32 BHFHFONGHML = 6; // offset: 32
	uint32 retcode = 9; // offset: 56
	map<uint32, uint32> IMNNLHCAKML = 12; // offset: 48
}

// Obf: LAHKEHALABO
// Type: Req
// CmdID: 8145
message TarotBookFinishStoryCsReq {
	uint32 LNAHJENGELA = 3; // offset: 24
}

// Obf: KJIGKPHPELI
// Type: Rsp
// CmdID: 8144
message TarotBookFinishStoryScRsp {
	uint32 retcode = 2; // offset: 36
	OHCFIOOIKND BBEMIGELGJC = 4; // offset: 24
	uint32 LNAHJENGELA = 9; // offset: 32
}

// Obf: GPJONCPIEEI
// Type: Notify
// CmdID: 8151
message TarotBookModifyEnergyScNotify {
	uint32 energy_info = 3; // offset: 28
	uint32 sub_mission_id = 8; // offset: 24
}

// Obf: CHGCCAGBEKF
// Type: Req
// CmdID: 8155
message TarotBookFinishInteractionCsReq {
	uint32 INJAGFDOFEJ = 8; // offset: 24
}

// Obf: NEJLCIDPCEE
// Type: Rsp
// CmdID: 8141
message TarotBookFinishInteractionScRsp {
	uint32 retcode = 4; // offset: 24
	uint32 INJAGFDOFEJ = 15; // offset: 28
}

// Obf: CFKKKGCBANF
// Type: Req
// CmdID: 8149
message TarotBookUnlockInteractionCsReq {
	repeated uint32 CLNOMEFFHKG = 11; // offset: 16
}

// Obf: KFJJJNGBMMK
// Type: Rsp
// CmdID: 8160
message TarotBookUnlockInteractionScRsp {
	uint32 retcode = 8; // offset: 32
	repeated uint32 CLNOMEFFHKG = 15; // offset: 16
}

// Obf: OBGJCNJEIFC
// Type: Notify
// CmdID: 8150
message TarotBookSyncDataScNotify {
	uint32 energy_info = 4; // offset: 48
	OHCFIOOIKND BBEMIGELGJC = 5; // offset: 32
	uint32 HBLKMBHGLNO = 8; // offset: 56
	uint32 LOCEBOCJGEC = 9; // offset: 52
	map<uint32, uint32> IMNNLHCAKML = 11; // offset: 40
	map<uint32, uint32> IJOJMJOMELA = 13; // offset: 24
}

// Obf: HKMMEADEBKI
// Type: Req
// CmdID: 8147
message TarotBookMultiOpenPackAndUnlockStoryCsReq {
}

// Obf: HLNNMCHNGCN
// Type: Rsp
// CmdID: 8154
message TarotBookMultiOpenPackAndUnlockStoryScRsp {
	uint32 retcode = 1; // offset: 60
	uint32 HBLKMBHGLNO = 5; // offset: 64
	uint32 LOCEBOCJGEC = 6; // offset: 68
	uint32 energy_info = 10; // offset: 56
	OHCFIOOIKND BBEMIGELGJC = 11; // offset: 40
	map<uint32, uint32> IJOJMJOMELA = 12; // offset: 48
	repeated uint32 LNOAAOAFJJE = 13; // offset: 16
	map<uint32, uint32> IMNNLHCAKML = 15; // offset: 32
}

// Obf: BJCICKIHPPK
enum CmdTeamTowersType {
	BJCICKIHPPK_NLCDGIPGFDJ = 0;
	CmdGNNAEMBFINJ = 9975;
	CmdICLFACJDJHB = 9957;
	CmdCLCOAJDPMJN = 9954;
	CmdPIOKKOMDAEI = 9959;
	CmdKKPHDBMNNHB = 9968;
}

enum GJCOFAFLAEI {
	GJCOFAFLAEI_NLCDGIPGFDJ = 0;
	GJCOFAFLAEI_NCMIMMDPHFM = 1;
	GJCOFAFLAEI_role_star = 2;
	GJCOFAFLAEI_MCMDKGEANNA = 3;
	GJCOFAFLAEI_LBGJHODBAEA = 4;
}
message AJGLEIOGOID {
	repeated uint32 IKOKEPJGHAF = 3; // offset: 24
	uint32 stage_id = 7; // offset: 40
	uint32 IDIPBEPCIFG = 11; // offset: 32
	uint32 finish_time = 14; // offset: 36
}
message KMAOBFIIMKF {
	repeated uint32 PICLHLCBIMP = 4; // offset: 16
	uint32 GEPHKCPLAJF = 11; // offset: 32
}
message EABDMCJDJFA {
	uint32 level = 9; // offset: 28
	uint32 skill_id = 15; // offset: 24
}

// Type: Req
// CmdID: 9959
message PIOKKOMDAEI {
}

// Type: Rsp
// CmdID: 9975
message GNNAEMBFINJ {
	KMAOBFIIMKF JCOBJAMPOAL = 6; // offset: 32
	repeated AJGLEIOGOID OHFIIBEIPJE = 7; // offset: 40
	uint32 retcode = 10; // offset: 48
	repeated EABDMCJDJFA LCOCDLIECKJ = 11; // offset: 24
	uint32 GEPHKCPLAJF = 13; // offset: 52
}

// Type: Req
// CmdID: 9968
message KKPHDBMNNHB {
	uint32 stage_id = 4; // offset: 60
	repeated HDLCAPDIKJI cast_skill_info_list = 6; // offset: 40
	uint32 MNHPDBEDJLB = 8; // offset: 56
	repeated uint32 PBNNCINCGGC = 9; // offset: 32
	uint32 finish_time = 10; // offset: 76
	bool is_win = 11; // offset: 72
	uint64 CEDKBKPCCDJ = 12; // offset: 48
	uint32 room_id = 13; // offset: 64
	repeated uint32 IKOKEPJGHAF = 14; // offset: 16
	uint32 IDIPBEPCIFG = 15; // offset: 68
}
message MBLAIDFENOE {
	uint32 NCHBLJHJNID = 7; // offset: 28
	GJCOFAFLAEI source_type = 10; // offset: 32
	uint32 exp = 15; // offset: 24
}

// Type: Rsp
// CmdID: 9954
message CLCOAJDPMJN {
	uint32 IDIPBEPCIFG = 1; // offset: 48
	repeated MBLAIDFENOE GEPKDDNJING = 2; // offset: 16
	uint32 finish_time = 5; // offset: 60
	repeated uint32 IKOKEPJGHAF = 7; // offset: 32
	uint32 stage_id = 8; // offset: 40
	bool is_win = 9; // offset: 52
	uint32 GEPHKCPLAJF = 10; // offset: 56
	uint32 retcode = 14; // offset: 44
}

// Type: Notify
// CmdID: 9957
message ICLFACJDJHB {
	uint32 level = 1; // offset: 24
	uint32 skill_id = 8; // offset: 28
}

// Obf: EDAAOKDAEIF
enum CmdTelevisionActivityType {
	EDAAOKDAEIF_NLCDGIPGFDJ = 0;
	CmdGetTelevisionActivityDataCsReq = 6978;
	CmdEnterTelevisionActivityStageCsReq = 6972;
	CmdEnterTelevisionActivityStageScRsp = 6962;
	CmdGetTelevisionActivityDataScRsp = 6968;
	CmdTelevisionActivityBattleEndScNotify = 6977;
}
message PAAIMLDHJCI {
	uint32 NELOAKJAABI = 4; // offset: 32
	uint32 max_score = 5; // offset: 24
	uint32 KKNGIFOJLGJ = 12; // offset: 28
}

// Obf: HAOAFJLCIMO
// Type: Req
// CmdID: 6978
message GetTelevisionActivityDataCsReq {
}

// Obf: PNMLKLLEEFE
// Type: Rsp
// CmdID: 6968
message GetTelevisionActivityDataScRsp {
	repeated PAAIMLDHJCI AKDFABDHHIO = 6; // offset: 16
	uint32 retcode = 15; // offset: 32
}

// Obf: GHFHMCLBJKI
// Type: Notify
// CmdID: 6977
message TelevisionActivityBattleEndScNotify {
	uint32 turn_left = 1; // offset: 40
	uint32 round_score = 3; // offset: 32
	uint32 AAJFIPMBMHC = 6; // offset: 44
	PAAIMLDHJCI GBHAIBBFPHJ = 8; // offset: 16
	uint32 total_score = 12; // offset: 36
}
message CBIKIIMGKHH {
	uint32 avatar_id = 12; // offset: 28
	AvatarType avatar_type = 13; // offset: 24
}

// Obf: IKECLANKKII
// Type: Req
// CmdID: 6972
message EnterTelevisionActivityStageCsReq {
	uint32 KKNGIFOJLGJ = 7; // offset: 40
	repeated uint32 buff_list = 10; // offset: 32
	repeated CBIKIIMGKHH avatar_list = 14; // offset: 16
}

// Obf: DCMOMHFNFAH
// Type: Rsp
// CmdID: 6962
message EnterTelevisionActivityStageScRsp {
	uint32 retcode = 3; // offset: 32
	uint32 KKNGIFOJLGJ = 7; // offset: 36
	SceneBattleInfo battle_info = 11; // offset: 24
}

// Obf: MLHMKFMJKHD
enum CmdTextJoinType {
	MLHMKFMJKHD_NLCDGIPGFDJ = 0;
	CmdTextJoinBatchSaveCsReq = 3888;
	CmdTextJoinQueryCsReq = 3893;
	CmdOGFBEAPMGJM = 3878;
	MLHMKFMJKHD_IPONEPLMCBI = 3825;
	CmdTextJoinQueryScRsp = 3858;
	CmdTextJoinBatchSaveScRsp = 3881;
}
message JCDNAGMDELF {
	uint32 PAIPJMKCCEH = 1; // offset: 32
	uint32 HPCIKHIBFHD = 7; // offset: 36
	string ANEGIMPIEHL = 9; // offset: 16
}
message KIJJCOBOJFM {
	uint32 text_join_item_id = 15; // offset: 24
}

// Type: Rsp
// CmdID: 3878
message OGFBEAPMGJM {
	uint32 retcode = 3; // offset: 24
}

// Obf: AKBOBPLCNFN
// Type: Req
// CmdID: 3893
message TextJoinQueryCsReq {
	repeated uint32 OBAOJAOAPBC = 12; // offset: 16
}

// Obf: JIGMJHLOHKG
// Type: Rsp
// CmdID: 3858
message TextJoinQueryScRsp {
	repeated JCDNAGMDELF HPEDOFFJKKP = 2; // offset: 24
	uint32 retcode = 13; // offset: 32
}

// Obf: MPDCAFLJDEB
// Type: Req
// CmdID: 3888
message TextJoinBatchSaveCsReq {
	repeated JCDNAGMDELF HPEDOFFJKKP = 13; // offset: 24
}

// Obf: ANIFBDMGAIC
// Type: Rsp
// CmdID: 3881
message TextJoinBatchSaveScRsp {
	repeated JCDNAGMDELF HPEDOFFJKKP = 2; // offset: 16
	uint32 retcode = 15; // offset: 32
}

// Obf: FNMAMNLNKKJ
enum CmdTrackPhotoActivityType {
	FNMAMNLNKKJ_NLCDGIPGFDJ = 0;
	CmdStartTrackPhotoStageScRsp = 7556;
	CmdGetTrackPhotoActivityDataCsReq = 7560;
	CmdSettleTrackPhotoStageScRsp = 7555;
	CmdGetTrackPhotoActivityDataScRsp = 7551;
	CmdIGKBMLELJDH = 7559;
	CmdStartTrackPhotoStageCsReq = 7554;
	CmdSettleTrackPhotoStageCsReq = 7553;
	CmdEGIJMPCIJOG = 7552;
}
message IFBJJJOBGHB {
	uint32 stage_id = 3; // offset: 28
	uint32 max_score = 14; // offset: 24
}

// Obf: ODNFOAKHMKM
// Type: Req
// CmdID: 7560
message GetTrackPhotoActivityDataCsReq {
}

// Obf: BBKDJPONHPL
// Type: Rsp
// CmdID: 7551
message GetTrackPhotoActivityDataScRsp {
	repeated IFBJJJOBGHB PEDCKGNNPAJ = 6; // offset: 16
	uint32 retcode = 12; // offset: 32
}
message PNICDFFMDDB {
	bool ADGCOJLMGAH = 8; // offset: 24
	uint32 entity_id = 12; // offset: 28
}

// Obf: GNKPJLJDHCO
// Type: Req
// CmdID: 7553
message SettleTrackPhotoStageCsReq {
	uint32 stage_id = 10; // offset: 32
	repeated PNICDFFMDDB PIGLHELGMIJ = 12; // offset: 24
	uint32 cost_time = 13; // offset: 36
}

// Obf: AGPEHMLFJBN
// Type: Rsp
// CmdID: 7555
message SettleTrackPhotoStageScRsp {
	uint32 stage_id = 1; // offset: 36
	uint32 retcode = 6; // offset: 32
	uint32 score_id = 9; // offset: 40
	repeated PNICDFFMDDB PIGLHELGMIJ = 15; // offset: 24
}

// Obf: MFDDPJOEDCF
// Type: Req
// CmdID: 7554
message StartTrackPhotoStageCsReq {
	bool LCPPNDPKHPH = 10; // offset: 28
	uint32 stage_id = 15; // offset: 24
}

// Obf: OBADCOMDOON
// Type: Rsp
// CmdID: 7556
message StartTrackPhotoStageScRsp {
	uint32 trans_no = 3; // offset: 24
	uint32 retcode = 10; // offset: 28
}

// Type: Req
// CmdID: 7552
message EGIJMPCIJOG {
	uint32 stage_id = 9; // offset: 24
}

// Type: Rsp
// CmdID: 7559
message IGKBMLELJDH {
	uint32 retcode = 5; // offset: 24
}

// Obf: NMGINGMHJDA
enum CmdTrainCakeCatchType {
	NMGINGMHJDA_NLCDGIPGFDJ = 0;
	CmdTrainCakeCatchGetDataCsReq = 9715;
	CmdSocialPlayPreCheckEnterRoomCsReq = 9740;
	CmdTrainCakeCatchSearchCsReq = 9668;
	CmdDJIHNCHDFED = 9683;
	CmdTrainCakeCatchOpenBoxScRsp = 9718;
	CmdTrainCakeCatchDiyLikeCsReq = 9767;
	CmdTrainCakeCatchOpenBoxCsReq = 9642;
	CmdTrainCakeCatchDiyScRsp = 9658;
	CmdSocialPlayTalkCsReq = 9753;
	CmdCIEAALPHGFM = 9713;
	CmdSocialPlayTalkScRsp = 9628;
	CmdBODEMOLDHAA = 9747;
	CmdJGAMELLGLGE = 9653;
	CmdSocialPlayQueryRecentVisitorsScRsp = 9725;
	CmdTrainCakeCatchGetDataScRsp = 9686;
	CmdTrainCakeCatchDiyLikeScRsp = 9659;
	CmdSocialPlayQueryRecentVisitorsCsReq = 9666;
	CmdBPJMEGHIEIN = 9661;
	CmdSocialPlaySettingInfoScNotify = 9639;
	CmdTrainCakeCatchDiyCsReq = 9662;
	CmdTrainCakeCatchDataScNotify = 9695;
	CmdJKILAALMFIB = 9671;
	CmdSocialPlayRoomPlayerMoveScNotify = 9644;
	CmdSocialPlayPreCheckEnterRoomScRsp = 9699;
	CmdTrainCakeCatchSearchScRsp = 9672;
	CmdSocialPlayGameplayOperationScNotify = 9765;
}
message JBJNJPAOCDA {
	uint32 summoned_pet_id = 1; // offset: 56
	JOLAHHGIFHA NJDCPMENIFG = 3; // offset: 16
	uint32 uid = 6; // offset: 52
	int64 AIMNJIMDIKM = 7; // offset: 40
	bool OJPDDAOJJKC = 8; // offset: 48
	PlayerSimpleInfo AJIPBLCIONL = 12; // offset: 32
}
message POBLGKIGINE {
	uint32 room_owner_uid = 4; // offset: 40
	repeated JBJNJPAOCDA player_info = 9; // offset: 32
	oneof CBCJBNGJPDJ {
		PBMDEBCGNMD LNMGOFCOMED = 39; // offset: 24
	}
}

// Type: Req
// CmdID: 9653
message JGAMELLGLGE {
	JOLAHHGIFHA NJDCPMENIFG = 7; // offset: 16
}

// Type: Rsp
// CmdID: 9671
message JKILAALMFIB {
	uint32 retcode = 3; // offset: 24
}

// Obf: NCPEJLBJCLO
// Type: Notify
// CmdID: 9644
message SocialPlayRoomPlayerMoveScNotify {
	MHNNEFBOPIE JENKGODEIOM = 5; // offset: 16
	uint32 op_uid = 8; // offset: 32
	uint32 room_owner_uid = 14; // offset: 36
}

// Type: Req
// CmdID: 9747
message BODEMOLDHAA {
	uint32 teleport_id = 11; // offset: 24
}

// Type: Rsp
// CmdID: 9683
message DJIHNCHDFED {
	uint32 retcode = 15; // offset: 24
}

// Obf: MLNOEMIDHME
// Type: Notify
// CmdID: 9765
message SocialPlayGameplayOperationScNotify {
	uint32 room_owner_uid = 7; // offset: 40
	uint32 op_uid = 15; // offset: 32
	oneof NBGBONGLJHM {
		uint32 LMGGGLECNEA = 914; // offset: 24
		JBJNJPAOCDA GNLAECODENP = 1883; // offset: 24
		POBLGKIGINE LMFMBJCNALJ = 1621; // offset: 24
		uint32 HJHPHDACEHE = 849; // offset: 24
		BFAKMCIJFCB OEMEKBOGNJH = 832; // offset: 24
		HMACEHDGGHB ONMNMLBANHK = 1786; // offset: 24
		MIKGMGBHLEN PHKCDLPHMPA = 1794; // offset: 24
		POBLGKIGINE LABNNEGJNHO = 1625; // offset: 24
		int64 DBIKJPDBMOE = 557; // offset: 24
		IKBDJLNEPBH IMPBCBPIFAG = 799; // offset: 24
		uint32 BJLCBAAKPDI = 1359; // offset: 24
		uint32 DLKOEIANIMK = 1834; // offset: 24
	}
}

// Obf: NMGHOJBDFJJ
// Type: Req
// CmdID: 9715
message TrainCakeCatchGetDataCsReq {
}
message JOFHMCJPBCE {
	uint32 count = 4; // offset: 28
	uint32 PCPDHEIEJFO = 12; // offset: 24
}
message PJFIMFJPMCN {
	repeated uint32 LPDFMJPFGJH = 2; // offset: 16
	uint32 PCPDHEIEJFO = 7; // offset: 32
}
message KKACLNNMMAM {
	bool JMAODNEONPF = 3; // offset: 32
	repeated uint32 BPAOGJPLENJ = 14; // offset: 16
}
message ONAADAJBLEB {
	int64 DBIKJPDBMOE = 7; // offset: 24
	uint32 ONOHPMDGNNH = 10; // offset: 32
}

// Obf: HFALMNELEKP
// Type: Rsp
// CmdID: 9686
message TrainCakeCatchGetDataScRsp {
	uint32 retcode = 1; // offset: 100
	bool OJPDDAOJJKC = 2; // offset: 96
	repeated uint32 performance_id_list = 3; // offset: 56
	BFAKMCIJFCB NLJBJMDPBGN = 7; // offset: 16
	KKACLNNMMAM JIELLGELABA = 8; // offset: 48
	ONAADAJBLEB NAIFOMCLGLN = 9; // offset: 32
	repeated IKAHKMNCFDN BJPHDKEBOBK = 10; // offset: 40
	POBLGKIGINE DJMHHMMABJL = 11; // offset: 72
	repeated PJFIMFJPMCN CEMFBJPOLNP = 13; // offset: 24
	int64 CMHKFNFKGOI = 14; // offset: 88
	repeated JOFHMCJPBCE NIELDCLPOLA = 15; // offset: 80
}

// Obf: MODIAGGMAMG
// Type: Req
// CmdID: 9642
message TrainCakeCatchOpenBoxCsReq {
}

// Obf: MHGGOEJBLCP
// Type: Rsp
// CmdID: 9718
message TrainCakeCatchOpenBoxScRsp {
	uint32 retcode = 3; // offset: 32
	int64 CMHKFNFKGOI = 4; // offset: 40
	repeated IKAHKMNCFDN BJPHDKEBOBK = 14; // offset: 24
}

// Obf: JLPJAFHHGDM
// Type: Req
// CmdID: 9668
message TrainCakeCatchSearchCsReq {
	uint32 PCPDHEIEJFO = 2; // offset: 24
}

// Obf: GFCJIPKABEF
// Type: Rsp
// CmdID: 9672
message TrainCakeCatchSearchScRsp {
	repeated uint32 GINENNKGDMG = 3; // offset: 16
	uint32 PCPDHEIEJFO = 6; // offset: 52
	JOFHMCJPBCE NIELDCLPOLA = 7; // offset: 24
	uint32 retcode = 8; // offset: 48
	repeated PJFIMFJPMCN CEMFBJPOLNP = 10; // offset: 32
}

// Obf: LGBFHCLGNCC
// Type: Req
// CmdID: 9662
message TrainCakeCatchDiyCsReq {
	BFAKMCIJFCB NLJBJMDPBGN = 7; // offset: 16
}

// Obf: NFGMCNFHHBE
// Type: Rsp
// CmdID: 9658
message TrainCakeCatchDiyScRsp {
	BFAKMCIJFCB NLJBJMDPBGN = 2; // offset: 24
	uint32 retcode = 14; // offset: 32
}

// Obf: LPBPHOIIJNO
// Type: Req
// CmdID: 9753
message SocialPlayTalkCsReq {
	MIKGMGBHLEN PHKCDLPHMPA = 13; // offset: 24
}

// Obf: PGGEHFHFACC
// Type: Rsp
// CmdID: 9628
message SocialPlayTalkScRsp {
	int64 end_time = 11; // offset: 32
	uint32 retcode = 13; // offset: 40
	MIKGMGBHLEN PHKCDLPHMPA = 15; // offset: 16
}

// Obf: NNFOMOBLFAC
// Type: Req
// CmdID: 9740
message SocialPlayPreCheckEnterRoomCsReq {
	uint32 entry_id = 1; // offset: 24
	MFPDAKOIOED GJNMHILINHC = 3; // offset: 28
	uint32 teleport_id = 5; // offset: 32
}

// Obf: AABPMMILMLE
// Type: Rsp
// CmdID: 9699
message SocialPlayPreCheckEnterRoomScRsp {
	uint32 retcode = 8; // offset: 24
	int64 CMHKFNFKGOI = 15; // offset: 32
}

// Obf: KNHLAKBNPCB
// Type: Req
// CmdID: 9767
message TrainCakeCatchDiyLikeCsReq {
}

// Obf: DLAJEPIPOMO
// Type: Rsp
// CmdID: 9659
message TrainCakeCatchDiyLikeScRsp {
	uint32 retcode = 4; // offset: 32
	repeated uint32 BPAOGJPLENJ = 8; // offset: 24
}

// Type: Req
// CmdID: 9713
message CIEAALPHGFM {
}

// Type: Rsp
// CmdID: 9661
message BPJMEGHIEIN {
	ItemList reward = 5; // offset: 24
	uint32 ONOHPMDGNNH = 9; // offset: 36
	uint32 retcode = 12; // offset: 32
	bool JMAODNEONPF = 15; // offset: 40
}

// Obf: OEHMGHHBKBJ
// Type: Notify
// CmdID: 9639
message SocialPlaySettingInfoScNotify {
	JPGACKPLGCD BOHGFDFBLEN = 13; // offset: 16
}

// Obf: NDCCLPKPEKJ
// Type: Req
// CmdID: 9666
message SocialPlayQueryRecentVisitorsCsReq {
}
message HHJLCGGEHPB {
	PlayerSimpleInfo CILGIDDHODG = 1; // offset: 16
	uint32 PLPPPCEPBDO = 4; // offset: 40
	int64 KFACPOBAAGM = 13; // offset: 32
}

// Obf: JIDMMPAOELM
// Type: Rsp
// CmdID: 9725
message SocialPlayQueryRecentVisitorsScRsp {
	repeated HHJLCGGEHPB recent_visitor_list = 4; // offset: 16
	uint32 retcode = 8; // offset: 32
}

// Obf: DMKIHKJAMPJ
// Type: Notify
// CmdID: 9695
message TrainCakeCatchDataScNotify {
	repeated uint32 performance_id_list = 10; // offset: 24
	repeated JOFHMCJPBCE NIELDCLPOLA = 14; // offset: 32
}

// Obf: NHGAOAKEMDK
enum CmdTrainPartyType {
	NHGAOAKEMDK_NLCDGIPGFDJ = 0;
	CmdTrainPartySyncUpdateScNotify = 8026;
	CmdTrainPartyHandlePendingActionCsReq = 8071;
	CmdTrainPartyBuildingUpdateNotify = 8011;
	CmdFDDJJCFNFOJ = 8045;
	CmdTrainPartySetBadgeAutoFillCsReq = 8052;
	CmdAMDOMPIGBPG = 8069;
	CmdTrainPartySetBadgeAutoFillScRsp = 8020;
	CmdTrainPartyGamePlayStartScRsp = 8021;
	CmdIBNCBEPCAPF = 8034;
	CmdTrainPartyGetDataCsReq = 8025;
	CmdTrainPartySettleNotify = 8086;
	CmdDNIAFCGKEOP = 8096;
	CmdTrainPartyHandlePendingActionScRsp = 8040;
	CmdTrainPartyTakeBuildLevelAwardScRsp = 8063;
	CmdTrainPartyGamePlaySettleNotify = 8005;
	CmdFHLHOEPCKAG = 8048;
	CmdTrainPartyBuildSelfDisplayAreaDiyCsReq = 8015;
	CmdTrainPartyTakeBuildLevelAwardCsReq = 8029;
	CmdTrainPartyUseCardCsReq = 8093;
	CmdTrainPartyBuildDiyScRsp = 8004;
	CmdTrainPartyBuildSelfDisplayAreaDiyScRsp = 8018;
	NHGAOAKEMDK_OBHINPCABDB = 8043;
	CmdTrainPartyGamePlayStartCsReq = 8084;
	NHGAOAKEMDK_CDDGCNFBFMI = 8010;
	CmdTrainPartyBuildSelfDisplayAreaDiyScNotify = 8053;
	CmdTrainPartyGetDataScRsp = 8078;
	CmdTrainPartyBuildStartStepScRsp = 8038;
	CmdTrainPartyUseCardScRsp = 8058;
	CmdDBGHCHPONOH = 8065;
	CmdTrainPartyBuildRoomScNotify = 8073;
	CmdTrainPartyBuildDiyCsReq = 8039;
	CmdTrainPartyMoveScNotify = 8088;
	CmdTrainPartyBuildStartStepCsReq = 8033;
}

enum JIIEHEBIBMO {
	JIIEHEBIBMO_CIJCGPBOFJP = 0;
	JIIEHEBIBMO_BHPKNHCHOJF = 1;
	JIIEHEBIBMO_HEIMDAGNDLO = 2;
	JIIEHEBIBMO_MJHBDAKIJDP = 3;
}

enum MKIIBIMNIGK {
	MKIIBIMNIGK_EFBKDLIJKAG = 0;
	MKIIBIMNIGK_MGFHDNJAKKM = 1;
	MKIIBIMNIGK_NGAAHFBKMFM = 2;
	MKIIBIMNIGK_EBJCJAJDINC = 3;
	MKIIBIMNIGK_IDMGAGLJMLK = 4;
	MKIIBIMNIGK_IPFPPCLNIHO = 5;
}

enum LHLBGJLFFKK {
	LHLBGJLFFKK_KGHKHLKDEBK = 0;
	LHLBGJLFFKK_AKGDAFFKANP = 1;
	LHLBGJLFFKK_KNJDGIMKJME = 2;
	LHLBGJLFFKK_DODHMJBMHAF = 3;
}

// Obf: ANMELOCBHGK
enum TrainPartyMtSkillBriefType {
	ANMELOCBHGK_ODCHAJHNFDF = 0;
	ANMELOCBHGK_ENDBHCELNKL = 1;
	ANMELOCBHGK_AMFLHLKGLFL = 2;
	ANMELOCBHGK_ECPMEDNEOGE = 3;
	ANMELOCBHGK_NHLNOHDCPHH = 4;
}

enum BGPPDMIPDDH {
	BGPPDMIPDDH_IIHEIDCFALE = 0;
	BGPPDMIPDDH_ODFNPPACBCI = 1;
	BGPPDMIPDDH_ABNPBGJGAHD = 2;
	BGPPDMIPDDH_HCFKOJHOLIK = 3;
	BGPPDMIPDDH_BCDLKDKDAFH = 4;
	BGPPDMIPDDH_GIOFBNENIJM = 5;
	BGPPDMIPDDH_MKMJJPHDOBH = 6;
	BGPPDMIPDDH_KOGGGJLBHEN = 7;
	BGPPDMIPDDH_NNPJFBFILEL = 8;
}
message IAKFBFJCHFB {
	uint32 EAFFACCBAAA = 8; // offset: 28
	uint32 unique_id = 11; // offset: 24
	uint32 card_id = 12; // offset: 32
}
message IEDLKIGJLEM {
	repeated IAKFBFJCHFB LONFKFCFDND = 2; // offset: 16
}
message PNLLCBKLBLE {
	IEDLKIGJLEM LONFKFCFDND = 4; // offset: 16
	uint32 LNLOHDJIFPK = 8; // offset: 32
	bool DOFBGHGHDJA = 14; // offset: 36
}
message CNLAOMCKFKD {
	uint32 GDNEHLEOMOM = 2; // offset: 36
	uint32 param = 3; // offset: 28
	uint32 unique_id = 6; // offset: 32
	uint32 NDEBMEGNCKN = 9; // offset: 24
}
message ECDINHEHKOJ {
	uint32 GMBDHLCGOBI = 1; // offset: 48
	uint32 GAIEFCFBNPA = 7; // offset: 40
	uint32 EBENOMJDOOF = 8; // offset: 44
	repeated uint32 BHKJIFAFHFN = 9; // offset: 24
	uint32 FJONJANIOIK = 10; // offset: 36
	uint32 CGIGAAKLCKM = 11; // offset: 32
}
message HOKCDEEABII {
	ECDINHEHKOJ KNMADMBFEDB = 1; // offset: 16
	uint32 FJPEIFMFPAN = 4; // offset: 44
	uint32 IDCJPIJHNCL = 11; // offset: 40
	repeated CNLAOMCKFKD IEDKELDFHLP = 13; // offset: 24
}
message JCPMKHCPCPN {
	uint32 DMJGCIIBPJK = 5; // offset: 24
	uint32 GPIGNHPKFFB = 13; // offset: 28
}
message LMKECAPDMAC {
	uint32 max_level = 6; // offset: 24
	uint32 skill_id = 9; // offset: 28
	uint32 skill_level = 13; // offset: 32
}
message KICEGHDKACP {
	uint32 FPKJONKIFLI = 7; // offset: 32
	JCPMKHCPCPN GNBKDCHLDGL = 12; // offset: 24
	uint32 passenger_id = 15; // offset: 36
}
message TrainPartyPassenger {
	uint32 record_id = 1; // offset: 36
	bool JGDNJOFHCNC = 2; // offset: 32
	uint32 passenger_id = 8; // offset: 40
	repeated uint32 GHPFANGEMAN = 12; // offset: 24
}
message AAAKPGJDCFJ {
	repeated KICEGHDKACP CFHOJCBDFPE = 6; // offset: 24
	uint32 OOCOFCBJOJD = 7; // offset: 56
	uint32 DMAAMCIPPAM = 8; // offset: 52
	uint32 EAFFACCBAAA = 10; // offset: 48
	repeated uint32 HFJBMJHAHPE = 12; // offset: 16
	repeated LMKECAPDMAC skill_list = 15; // offset: 40
}
message TrainPartyPassengerInfo {
	repeated TrainPartyPassenger passenger_info_list = 12; // offset: 24
	repeated uint32 GHPFANGEMAN = 14; // offset: 16
}
message TrainPartyArea {
	repeated AreaDynamicInfo dynamic_info = 1; // offset: 32
	AreaStepInfo area_step_info = 3; // offset: 16
	repeated uint32 verify_step_id_list = 8; // offset: 56
	uint32 progress = 11; // offset: 64
	uint32 area_id = 13; // offset: 68
	repeated uint32 step_id_list = 14; // offset: 40
	repeated uint32 static_prop_id_list = 15; // offset: 48
}
message IDBCDHIOKEG {
	JIIEHEBIBMO status = 9; // offset: 28
	uint32 DNLIGEOFPEL = 11; // offset: 24
}
message AreaStepInfo {
	repeated IDBCDHIOKEG BKKLGCLOBCD = 8; // offset: 24
	uint32 GKENFCLLLJC = 9; // offset: 32
}

// Obf: MCHADDCNKPC
// Type: Notify
// CmdID: 8073
message TrainPartyBuildRoomScNotify {
	TrainPartyInfo CPMHKECPBOJ = 9; // offset: 24
}
message GAGGCODGDLB {
	uint32 prop_id = 3; // offset: 24
	int64 time = 13; // offset: 32
}
message TrainPartyInfo {
	uint32 star_num = 1; // offset: 64
	repeated GAGGCODGDLB MHABCMLHCGD = 2; // offset: 16
	uint32 JJGKIPDGOGP = 4; // offset: 60
	uint32 BHEJCEJHLIB = 5; // offset: 68
	repeated TrainPartyArea area_list = 6; // offset: 40
	repeated HELJNONBKPH FOOPKFCIHBA = 7; // offset: 24
	uint32 BKPFHFGIEPE = 8; // offset: 56
	OIIPJFDNPAH CMCNNJKJNPK = 11; // offset: 32
	uint32 cur_fund = 14; // offset: 72
	bool IEEAPCFKOJC = 15; // offset: 76
}
message TrainPartyData {
	TrainPartyInfo train_party_info = 6; // offset: 40
	EPHKIEHONGB HCJJPLKELGC = 7; // offset: 16
	uint32 record_id = 8; // offset: 52
	TrainPartyPassengerInfo passenger_info = 9; // offset: 24
	uint32 unlock_area_num = 11; // offset: 48
	bool LNMFDPFOKFF = 15; // offset: 56
}
message EPHKIEHONGB {
	HJLECIIEKGI KAIDKOHAAGI = 5; // offset: 16
	uint32 IDBDBICPBBG = 7; // offset: 56
	AAAKPGJDCFJ NIMJPDMFBHN = 11; // offset: 48
	PNLLCBKLBLE HEBCOOCAHOL = 14; // offset: 24
	HOKCDEEABII LDAEAHOHMBB = 15; // offset: 32
}

// Obf: NNOICNIGEBC
// Type: Req
// CmdID: 8025
message TrainPartyGetDataCsReq {
}

// Obf: JBGGLDILCLK
// Type: Rsp
// CmdID: 8078
message TrainPartyGetDataScRsp {
	TrainPartyData train_party_data = 7; // offset: 24
	uint32 retcode = 9; // offset: 32
}

// Obf: DAKMNFLCCMJ
// Type: Req
// CmdID: 8093
message TrainPartyUseCardCsReq {
	uint32 FGIHKKKOGJD = 5; // offset: 24
}

// Obf: OKFKNBCEGPL
// Type: Rsp
// CmdID: 8058
message TrainPartyUseCardScRsp {
	uint32 retcode = 1; // offset: 24
	uint32 FGIHKKKOGJD = 5; // offset: 28
}

// Obf: GNHEKLOMECL
// Type: Notify
// CmdID: 8088
message TrainPartyMoveScNotify {
	repeated CNLAOMCKFKD JABPLBJAKKM = 6; // offset: 24
	uint32 DNGKGLFMGGE = 14; // offset: 32
}

// Obf: HILKDNFLNLL
// Type: Notify
// CmdID: 8086
message TrainPartySettleNotify {
	uint32 FGIHKKKOGJD = 6; // offset: 32
	HLNFNACOFFF CBFPJAJAKGI = 12; // offset: 24
}
message HLNFNACOFFF {
	repeated CEFEIJFPCKE DICAIJCHICB = 2; // offset: 32
	uint32 KHFHCLBHAPD = 5; // offset: 40
	repeated KICEGHDKACP CFHOJCBDFPE = 6; // offset: 24
}
message CEFEIJFPCKE {
	repeated uint32 switch_list = 3; // offset: 16
	uint32 MNLAMKJIAOC = 9; // offset: 32
}
message LMAKFCIHCMA {
	JCPMKHCPCPN GNBKDCHLDGL = 7; // offset: 16
	uint32 passenger_id = 13; // offset: 32
}
message HBACEFIACOI {
	repeated LMAKFCIHCMA EBAIMMGLGFO = 11; // offset: 16
}
message HPAGFCCNCHE {
	HJLECIIEKGI FMIGOKIDKJL = 15; // offset: 24
}
message MJMPOLBBFNA {
	uint32 EAFFACCBAAA = 1; // offset: 24
}
message DMFMMKJOCNJ {
	LMKECAPDMAC CBKINAFEDJC = 6; // offset: 24
}
message FLPMBEPBPGN {
	repeated LMKECAPDMAC skill_list = 7; // offset: 16
}
message MGOLOIGOAMB {
	TrainPartyPassenger IALIECEAFJB = 5; // offset: 24
}
message EMEEKFKDPFD {
	repeated uint32 GHPFANGEMAN = 12; // offset: 16
}
message MEDCHLCIOEI {
	repeated CNLAOMCKFKD IEDKELDFHLP = 13; // offset: 16
}
message BHBJLGFHLHM {
	uint32 LNLOHDJIFPK = 2; // offset: 44
	bool DOFBGHGHDJA = 7; // offset: 40
	IEDLKIGJLEM EMGMFOBLAFN = 9; // offset: 32
	ECDINHEHKOJ KNMADMBFEDB = 10; // offset: 16
}
message GMCPCKHHPOB {
	MKIIBIMNIGK src = 4; // offset: 36
	oneof MNLCHEJKDHO {
		IEDLKIGJLEM EMGMFOBLAFN = 1049; // offset: 16
		HBACEFIACOI BEEMEFMJEAA = 1178; // offset: 16
		HPAGFCCNCHE BPNEOPLHEBK = 1432; // offset: 16
		MJMPOLBBFNA OEDJEOAECAC = 1139; // offset: 16
		MEDCHLCIOEI JPBBDGJBHKN = 1877; // offset: 16
		DMFMMKJOCNJ CNLGPLJFMKA = 146; // offset: 16
		BHBJLGFHLHM BELKGEJFOIF = 1321; // offset: 16
		FLPMBEPBPGN EFJKKFNNCGN = 609; // offset: 16
		MGOLOIGOAMB KEOOMCJAHMG = 1998; // offset: 16
		EMEEKFKDPFD HOHNMNGNCMG = 1852; // offset: 16
	}
}

// Obf: AHKPAKFGGGG
// Type: Notify
// CmdID: 8026
message TrainPartySyncUpdateScNotify {
	repeated GMCPCKHHPOB JKPJFKCBIEM = 13; // offset: 24
}
message HJLECIIEKGI {
	uint32 queue_position = 13; // offset: 32
	oneof FGLIODAJFML {
		AMEJEFBKPCH KLONPDNKBJF = 628; // offset: 24
		OGAFHKMJELA AKDJGIJMHPJ = 668; // offset: 24
		JEBGFIJPAPG LGBJDFHBIND = 1733; // offset: 24
	}
}
message MDJAPHPOABA {
	bool is_selected = 2; // offset: 28
	uint32 HAFOKMHCGFM = 3; // offset: 24
}
message AMEJEFBKPCH {
	uint32 event_id = 4; // offset: 36
	repeated MDJAPHPOABA KFNMIEMBJGD = 12; // offset: 16
	LHLBGJLFFKK event_type = 13; // offset: 32
}
message MDOIMCNFDLC {
	uint32 event_id = 12; // offset: 24
}
message OLBKADIKIGL {
	HLNFNACOFFF CBFPJAJAKGI = 14; // offset: 24
}
message GOKOIADHFCN {
	uint32 max_level = 7; // offset: 28
	uint32 skill_id = 9; // offset: 32
	uint32 level = 14; // offset: 24
}
message LKIOMEBIICO {
	uint32 passenger_id = 6; // offset: 32
	repeated GOKOIADHFCN FLHHBLAFJLF = 11; // offset: 16
}
message JEBGFIJPAPG {
	repeated LMKECAPDMAC PBLDCDDFKIE = 8; // offset: 16
	uint32 JGHCFCGEIEO = 12; // offset: 32
}
message PFAIANENDEE {
	uint32 BFPAFELCMGF = 6; // offset: 24
}
message KDBJBEJPGOO {
	repeated LMKECAPDMAC skill_list = 15; // offset: 16
}
message ELBILFGFDHA {
	uint32 passenger_id = 4; // offset: 28
	uint32 GPIGNHPKFFB = 8; // offset: 32
	uint32 unique_id = 13; // offset: 24
}
message DKIGCLFPGFO {
	uint32 num = 3; // offset: 28
	uint32 passenger_id = 8; // offset: 24
}
message OGAFHKMJELA {
	uint32 total_score = 2; // offset: 60
	uint32 reach_point = 7; // offset: 56
	uint32 CLMFKHAJKLH = 9; // offset: 48
	repeated DKIGCLFPGFO COBENBOBPKD = 10; // offset: 32
	uint32 CELHPMMLHGL = 11; // offset: 52
	uint32 OENPDHNALLA = 12; // offset: 64
	repeated DJBJMHKMOMB JPOOHONHFJI = 14; // offset: 24
	repeated ELBILFGFDHA EEOEFLKFNIM = 15; // offset: 16
}
message BDGGEHGLFAC {
	TrainPartyMtSkillBriefType skill_type = 6; // offset: 28
	uint32 KLKAIFEDLNK = 12; // offset: 24
	uint32 skill_id = 15; // offset: 32
}
message CPKCMMPFCGE {
	repeated BDGGEHGLFAC PBFNPODNDID = 8; // offset: 16
	uint32 DDAGDNNDCDI = 10; // offset: 36
	uint32 unique_id = 11; // offset: 32
}
message CAIHACOKAJO {
	repeated uint32 AEGPLACJFIO = 2; // offset: 24
	uint32 ODOBGIEGGEO = 5; // offset: 40
	ItemList ELMCGFMGILI = 6; // offset: 32
}
message CKPNGMLENFA {
	repeated uint32 LKNGKJCFFBH = 1; // offset: 24
}
message AHHMLENLDEF {
	repeated ELBILFGFDHA EEOEFLKFNIM = 3; // offset: 64
	ECDINHEHKOJ KNMADMBFEDB = 4; // offset: 56
	BGPPDMIPDDH category = 6; // offset: 84
	repeated CPKCMMPFCGE LICJODMHBHA = 7; // offset: 32
	repeated DKIGCLFPGFO COBENBOBPKD = 8; // offset: 24
	CAIHACOKAJO KIOEJHHABKC = 9; // offset: 40
	repeated BDGGEHGLFAC JHFBMEKEMMK = 11; // offset: 48
	uint32 CELHPMMLHGL = 13; // offset: 76
	uint32 total_score = 14; // offset: 72
	uint32 score_id = 15; // offset: 80
}
message MOCNDOCEOJM {
	repeated uint32 LKNGKJCFFBH = 14; // offset: 24
}
message DJKACFOFFAH {
	repeated ELBILFGFDHA EEOEFLKFNIM = 1; // offset: 40
	repeated DKIGCLFPGFO COBENBOBPKD = 7; // offset: 16
	uint32 OENPDHNALLA = 10; // offset: 48
	repeated BDGGEHGLFAC CIKDPHGPIGK = 15; // offset: 32
}

// Obf: JOCFCCGIPEA
// Type: Req
// CmdID: 8071
message TrainPartyHandlePendingActionCsReq {
	uint32 queue_position = 6; // offset: 32
	oneof KILBFAAFDPD {
		MDOIMCNFDLC KLONPDNKBJF = 1533; // offset: 24
		PFAIANENDEE LGBJDFHBIND = 352; // offset: 24
		CKPNGMLENFA NELLGPKHIKE = 1642; // offset: 24
		MOCNDOCEOJM NMEFKABDHAN = 795; // offset: 24
	}
}

// Obf: POOMINFCCKG
// Type: Rsp
// CmdID: 8040
message TrainPartyHandlePendingActionScRsp {
	uint32 queue_position = 1; // offset: 44
	HLNFNACOFFF CBFPJAJAKGI = 7; // offset: 32
	uint32 retcode = 11; // offset: 48
	bool HMNAOPOKLGE = 14; // offset: 40
	oneof KILBFAAFDPD {
		OLBKADIKIGL EEBFCLFOBPG = 1482; // offset: 16
		KDBJBEJPGOO OMLNCJEGJAC = 1711; // offset: 16
		AHHMLENLDEF BHMJDNEOBNK = 744; // offset: 16
		DJKACFOFFAH IGMEPOBLFFB = 1305; // offset: 16
	}
}

// Obf: OOCLLLOHBGK
// Type: Req
// CmdID: 8033
message TrainPartyBuildStartStepCsReq {
	uint32 DNLIGEOFPEL = 1; // offset: 36
	uint32 area_id = 2; // offset: 40
	uint32 GKENFCLLLJC = 3; // offset: 32
	AreaDynamicInfo PFICNBHIHBA = 15; // offset: 16
}

// Obf: DCJNIPEPHAM
// Type: Rsp
// CmdID: 8038
message TrainPartyBuildStartStepScRsp {
	uint32 cur_fund = 1; // offset: 24
	uint32 retcode = 4; // offset: 28
}
message BHOPIKPAMPJ {
	uint32 area_id = 7; // offset: 32
	AreaDynamicInfo OOFPPPCEIDP = 10; // offset: 16
}

// Obf: JOJAAMHMCAB
// Type: Req
// CmdID: 8039
message TrainPartyBuildDiyCsReq {
	uint32 diy_dynamic_id = 2; // offset: 24
	uint32 dice_slot_id = 3; // offset: 28
	uint32 area_id = 6; // offset: 32
}

// Obf: MELNFDAIHIL
// Type: Rsp
// CmdID: 8004
message TrainPartyBuildDiyScRsp {
	uint32 area_id = 5; // offset: 32
	uint32 retcode = 9; // offset: 36
	repeated BHOPIKPAMPJ JKPJFKCBIEM = 10; // offset: 24
}
message PPLKBFMCGLD {
	repeated IDBCDHIOKEG FOOMIPJJKOG = 6; // offset: 24
	uint32 BPGBEEOHPLJ = 7; // offset: 32
}
message AIOCPFLCNLB {
	repeated IDBCDHIOKEG FOOMIPJJKOG = 1; // offset: 16
	uint32 progress = 2; // offset: 32
	uint32 area_id = 7; // offset: 36
	uint32 GKENFCLLLJC = 10; // offset: 40
}
message DOCMDCPJIEH {
	uint32 star_num = 13; // offset: 24
	uint32 BHEJCEJHLIB = 14; // offset: 28
}
message NFNKNNFJILK {
	uint32 IOJOIOHIEAB = 2; // offset: 24
}
message CNFPBAJNIEL {
	uint32 area_id = 5; // offset: 28
	uint32 JBEEKBJMIIA = 13; // offset: 24
}
message IOJLDHECLIH {
	uint32 diy_dynamic_id = 3; // offset: 32
	int64 time = 8; // offset: 24
}
message FAHBCNPNBNC {
	uint32 NLJMJCGFFMD = 11; // offset: 24
}
message BAKFOMADBCJ {
	uint32 BKPFHFGIEPE = 15; // offset: 24
}
message CBJGONHJAAC {
	repeated uint32 FOOMIPJJKOG = 14; // offset: 24
	uint32 area_id = 15; // offset: 32
}
message IGNNGONLFAJ {
	repeated CBJGONHJAAC area_list = 3; // offset: 16
}
message FFMMFBMOBEG {
	oneof MNLCHEJKDHO {
		FAHBCNPNBNC CNGOKIKBGAJ = 1891; // offset: 16
		PPLKBFMCGLD LLCOCEJHKLD = 110; // offset: 16
		AIOCPFLCNLB MFNELHNLNGI = 684; // offset: 16
		DOCMDCPJIEH FHBMGFFBOLP = 725; // offset: 16
		NFNKNNFJILK FCKNCNDEKAE = 1269; // offset: 16
		CNFPBAJNIEL NEFBGMNGKBN = 1783; // offset: 16
		IOJLDHECLIH BJMFDAFLNEC = 231; // offset: 16
		BAKFOMADBCJ LCNJLPDDFEE = 1182; // offset: 16
		IGNNGONLFAJ FPMNNMMPOKL = 100; // offset: 16
		OIIPJFDNPAH ODGCBIDOGND = 1822; // offset: 16
	}
}

// Obf: LFHAFKOJBAB
// Type: Notify
// CmdID: 8011
message TrainPartyBuildingUpdateNotify {
	repeated FFMMFBMOBEG OOABOBHEKEH = 15; // offset: 24
}

// Type: Req
// CmdID: 8048
message FHLHOEPCKAG {
}

// Type: Rsp
// CmdID: 8045
message FDDJJCFNFOJ {
	uint32 retcode = 14; // offset: 24
}

// Type: Req
// CmdID: 8069
message AMDOMPIGBPG {
}

// Type: Rsp
// CmdID: 8065
message DBGHCHPONOH {
	uint32 retcode = 14; // offset: 24
}
message DJBJMHKMOMB {
	BGPPDMIPDDH JAPPKIFAHPH = 3; // offset: 28
	uint32 level = 4; // offset: 24
}

// Obf: GNFJOHCLDFE
// Type: Notify
// CmdID: 8005
message TrainPartyGamePlaySettleNotify {
	TrainPartyPassengerInfo ENBJCMPCMLK = 3; // offset: 16
	uint32 unlock_area_num = 6; // offset: 40
	repeated uint32 CEJPCMHEEMN = 10; // offset: 24
	uint32 record_id = 12; // offset: 44
}

// Obf: BAMIHIIOBNM
// Type: Req
// CmdID: 8084
message TrainPartyGamePlayStartCsReq {
	uint32 IDBDBICPBBG = 10; // offset: 24
}

// Obf: IJMCKLDMLDL
// Type: Rsp
// CmdID: 8021
message TrainPartyGamePlayStartScRsp {
	EPHKIEHONGB FJKHJADDKLD = 7; // offset: 24
	uint32 retcode = 13; // offset: 32
}

// Type: Req
// CmdID: 8034
message IBNCBEPCAPF {
}

// Type: Rsp
// CmdID: 8096
message DNIAFCGKEOP {
	uint32 retcode = 8; // offset: 28
	uint32 buff_id = 10; // offset: 24
}

// Obf: IADPNINDFOK
// Type: Req
// CmdID: 8029
message TrainPartyTakeBuildLevelAwardCsReq {
}

// Obf: LACGKNHJGKN
// Type: Rsp
// CmdID: 8063
message TrainPartyTakeBuildLevelAwardScRsp {
	uint32 retcode = 7; // offset: 32
	uint32 FPHFHCGNNGM = 8; // offset: 36
	ItemList item_list = 12; // offset: 24
}

// Obf: AMABCENGLBJ
// Type: Req
// CmdID: 8015
message TrainPartyBuildSelfDisplayAreaDiyCsReq {
	OIIPJFDNPAH ACLKMFCDMED = 11; // offset: 24
}

// Obf: DJNFKMCDDCM
// Type: Rsp
// CmdID: 8018
message TrainPartyBuildSelfDisplayAreaDiyScRsp {
	OIIPJFDNPAH ACLKMFCDMED = 1; // offset: 16
	uint32 retcode = 4; // offset: 32
}
message HELJNONBKPH {
	int64 expire_time = 2; // offset: 24
	uint32 EIKLMFPMJJD = 8; // offset: 32
}

// Obf: BPMHNPHIHHF
// Type: Notify
// CmdID: 8053
message TrainPartyBuildSelfDisplayAreaDiyScNotify {
	TrainPartyInfo train_party_data = 2; // offset: 24
}

// Obf: HHDHGGCAJJL
// Type: Req
// CmdID: 8052
message TrainPartySetBadgeAutoFillCsReq {
	bool PELJACANAFH = 6; // offset: 24
}

// Obf: MOMHHDACBOF
// Type: Rsp
// CmdID: 8020
message TrainPartySetBadgeAutoFillScRsp {
	bool PELJACANAFH = 2; // offset: 28
	uint32 retcode = 13; // offset: 24
}

// Obf: PBNHNKPGIPL
enum CmdTrainVisitorType {
	PBNHNKPGIPL_NLCDGIPGFDJ = 0;
	PBNHNKPGIPL_GGFOFBFAEIN = 3793;
	CmdTrainRefreshTimeNotify = 3788;
	CmdTrainVisitorBehaviorFinishScRsp = 3778;
	CmdOBICGCEFCCI = 3740;
	CmdEIDKOEHEAAA = 3758;
	CmdGetTrainVisitorRegisterCsReq = 3786;
	CmdTrainVisitorRewardSendNotify = 3781;
	CmdNNAHGDGNOEK = 3771;
	CmdTrainVisitorBehaviorFinishCsReq = 3725;
	CmdGetTrainVisitorRegisterScRsp = 3747;
	CmdTakeTrainVisitorBehaviorRewardCsReq = 3726;
	CmdTakeTrainVisitorBehaviorRewardScRsp = 3713;
}

enum CFCPOEDPPKB {
	CFCPOEDPPKB_ABECLEIGDEF = 0;
	CFCPOEDPPKB_CINLJPPIINL = 1;
	CFCPOEDPPKB_CHBNBPFIJPG = 2;
}

// Obf: LDMCCFPAPOL
enum TrainVisitorStatus {
	LDMCCFPAPOL_NLCDGIPGFDJ = 0;
	LDMCCFPAPOL_KPJGDHLENIP = 1;
	LDMCCFPAPOL_PGAACLCKFFO = 2;
	LDMCCFPAPOL_FBAEFCEPHHI = 3;
	LDMCCFPAPOL_HKMJGGPKGIM = 4;
}

enum ACKPCFFEMHB {
	ACKPCFFEMHB_NLCDGIPGFDJ = 0;
	ACKPCFFEMHB_GGEOGCBGEIH = 1;
	ACKPCFFEMHB_CNPNACJBHJG = 2;
}
message DEFFFLGJAEM {
	uint32 DOOACEHOPEE = 6; // offset: 28
	bool is_meet = 7; // offset: 24
}

// Obf: KGONMGJNBLA
// Type: Req
// CmdID: 3725
message TrainVisitorBehaviorFinishCsReq {
	uint32 DOOACEHOPEE = 13; // offset: 24
}

// Obf: AJGFHIIBNGP
// Type: Rsp
// CmdID: 3778
message TrainVisitorBehaviorFinishScRsp {
	uint32 retcode = 3; // offset: 32
	ItemList reward = 9; // offset: 24
	uint32 DOOACEHOPEE = 12; // offset: 36
}
message NPEBOLNHFAL {
	repeated uint32 MPNDOLJMBFH = 13; // offset: 24
}

// Type: Rsp
// CmdID: 3758
message EIDKOEHEAAA {
	repeated DEFFFLGJAEM LPOLKFNCEAB = 3; // offset: 16
	uint32 retcode = 11; // offset: 32
}

// Obf: JGBPIBNACKP
// Type: Notify
// CmdID: 3788
message TrainRefreshTimeNotify {
	uint64 IAMKNFKCLCH = 10; // offset: 24
}

// Obf: DKMMAPLHFOA
// Type: Notify
// CmdID: 3781
message TrainVisitorRewardSendNotify {
	CFCPOEDPPKB type = 7; // offset: 36
	uint32 DOOACEHOPEE = 8; // offset: 32
	ItemList reward = 10; // offset: 16
}
message MNKGDKAIELH {
	repeated uint32 HBGLEOAJJGE = 2; // offset: 16
	uint32 DOOACEHOPEE = 5; // offset: 36
	TrainVisitorStatus status = 6; // offset: 40
	uint32 IMHLMHKOPLD = 8; // offset: 44
	bool LHNHMFEKNDJ = 13; // offset: 32
}

// Obf: OGBKODNDKEN
// Type: Req
// CmdID: 3786
message GetTrainVisitorRegisterCsReq {
	ACKPCFFEMHB type = 6; // offset: 24
}

// Obf: GMBECKPIIHH
// Type: Rsp
// CmdID: 3747
message GetTrainVisitorRegisterScRsp {
	uint32 retcode = 1; // offset: 40
	repeated uint32 BLKHPCPALDN = 6; // offset: 24
	repeated MNKGDKAIELH NEDBIFJPBDJ = 15; // offset: 16
}

// Obf: FMIGHLPJAME
// Type: Req
// CmdID: 3726
message TakeTrainVisitorBehaviorRewardCsReq {
	uint32 DOOACEHOPEE = 12; // offset: 24
}

// Obf: NEGJACBFGHB
// Type: Rsp
// CmdID: 3713
message TakeTrainVisitorBehaviorRewardScRsp {
	uint32 DOOACEHOPEE = 8; // offset: 32
	uint32 retcode = 12; // offset: 36
	repeated uint32 HBGLEOAJJGE = 14; // offset: 16
}

// Type: Req
// CmdID: 3771
message NNAHGDGNOEK {
	repeated uint32 BLKHPCPALDN = 6; // offset: 24
}

// Type: Rsp
// CmdID: 3740
message OBICGCEFCCI {
	uint32 retcode = 5; // offset: 24
}

// Obf: CJBNLBINFJJ
enum CmdTravelBrochureType {
	CJBNLBINFJJ_NFDNDMDGICK = 0;
	CmdTravelBrochurePageUnlockScNotify = 6493;
	CmdTravelBrochurePageResetScRsp = 6445;
	CmdFPGBALIKPDE = 6436;
	CmdAKGFMPCFOOK = 6413;
	CmdTravelBrochureSelectMessageScRsp = 6481;
	CmdGNILAAACODB = 6426;
	CmdTravelBrochureApplyPasterListScRsp = 6465;
	CmdTravelBrochureSelectMessageCsReq = 6488;
	CmdDDHIIJAJIOO = 6433;
	CmdTravelBrochurePageResetCsReq = 6448;
	CmdTravelBrochureGetDataScRsp = 6478;
	CmdBAHMABONKBP = 6471;
	CmdTravelBrochureApplyPasterListCsReq = 6469;
	CmdTravelBrochureGetDataCsReq = 6425;
	CmdMLADIJBBLPN = 6404;
	CmdOHMIEPPCKBJ = 6411;
	CmdIDNIEAKJMCF = 6440;
	CmdHPGIGEEAGHL = 6439;
}

enum OLBNNJKCMAI {
	OLBNNJKCMAI_NJBGKCIGOJE = 0;
	OLBNNJKCMAI_GPNIFHBEHNB = 1;
	OLBNNJKCMAI_KCEHIDFLKLM = 2;
}

enum OFLKOBJHFKH {
	OFLKOBJHFKH_CHDLPMPJLOJ = 0;
	OFLKOBJHFKH_IFEOKEGHLBL = 1;
	OFLKOBJHFKH_MDGOCIEKFJB = 2;
}
message NGIOBCJINOG {
	int32 KNKFPENAPBF = 2; // offset: 28
	uint32 rotation = 3; // offset: 32
	int32 APHMBADNMPH = 4; // offset: 48
	uint32 EPLJKOLIPCI = 10; // offset: 24
	uint64 unique_id = 11; // offset: 40
	uint32 item_id = 15; // offset: 52
}
message KJMKOJEHMII {
	OFLKOBJHFKH BEANBFLJELP = 2; // offset: 36
	uint32 DCIJEFMACME = 4; // offset: 32
	repeated NGIOBCJINOG LFDLFDDEACA = 6; // offset: 24
	OLBNNJKCMAI PFOLIDBBHJN = 11; // offset: 44
	uint32 CFCICBNEOJB = 13; // offset: 40
}

// Obf: OMAFHCAGGCC
// Type: Req
// CmdID: 6425
message TravelBrochureGetDataCsReq {
}

// Obf: JLJDPMBGLEP
// Type: Rsp
// CmdID: 6478
message TravelBrochureGetDataScRsp {
	uint32 custom_value = 4; // offset: 40
	map<uint32, uint32> NNIDCBOKHFK = 7; // offset: 24
	map<uint32, KJMKOJEHMII> HJNJNFIBMEL = 10; // offset: 32
	uint32 retcode = 12; // offset: 44
}

// Obf: BMLNJOPALPJ
// Type: Notify
// CmdID: 6493
message TravelBrochurePageUnlockScNotify {
	uint32 DCIJEFMACME = 6; // offset: 24
}

// Obf: MFBNEECALDM
// Type: Req
// CmdID: 6488
message TravelBrochureSelectMessageCsReq {
	uint32 DCIJEFMACME = 3; // offset: 28
	uint32 CFCICBNEOJB = 6; // offset: 24
}

// Obf: MEEPKLELIKK
// Type: Rsp
// CmdID: 6481
message TravelBrochureSelectMessageScRsp {
	uint32 retcode = 3; // offset: 40
	KJMKOJEHMII EDLLNJIEFBO = 8; // offset: 16
	ItemList reward = 9; // offset: 24
}

// Type: Req
// CmdID: 6426
message GNILAAACODB {
	uint64 unique_id = 5; // offset: 24
	uint32 DCIJEFMACME = 11; // offset: 36
	uint32 item_id = 15; // offset: 32
}

// Type: Rsp
// CmdID: 6413
message AKGFMPCFOOK {
	KJMKOJEHMII EDLLNJIEFBO = 9; // offset: 24
	uint32 retcode = 14; // offset: 32
}

// Type: Req
// CmdID: 6471
message BAHMABONKBP {
	uint32 EPLJKOLIPCI = 2; // offset: 28
	uint32 DCIJEFMACME = 4; // offset: 24
	uint64 unique_id = 7; // offset: 32
	int32 APHMBADNMPH = 8; // offset: 48
	uint32 item_id = 11; // offset: 44
	uint32 rotation = 14; // offset: 52
	int32 KNKFPENAPBF = 15; // offset: 40
}

// Type: Rsp
// CmdID: 6440
message IDNIEAKJMCF {
	uint32 retcode = 13; // offset: 32
	KJMKOJEHMII EDLLNJIEFBO = 14; // offset: 16
}

// Type: Notify
// CmdID: 6433
message DDHIIJAJIOO {
	uint32 num = 3; // offset: 24
}
message CCHMHOONEGG {
	uint32 num = 4; // offset: 28
	uint32 OCJLBKDCKHL = 5; // offset: 24
}

// Type: Req
// CmdID: 6439
message HPGIGEEAGHL {
	uint32 value = 6; // offset: 24
}

// Type: Rsp
// CmdID: 6404
message MLADIJBBLPN {
	uint32 retcode = 7; // offset: 24
}

// Type: Req
// CmdID: 6411
message OHMIEPPCKBJ {
	uint32 DCIJEFMACME = 1; // offset: 28
	OFLKOBJHFKH DEBPJKJGCIE = 11; // offset: 24
}

// Type: Rsp
// CmdID: 6436
message FPGBALIKPDE {
	uint32 retcode = 4; // offset: 24
}

// Obf: MANBMLIGMLD
// Type: Req
// CmdID: 6448
message TravelBrochurePageResetCsReq {
	uint32 DCIJEFMACME = 3; // offset: 24
}

// Obf: AINBIAHAJKH
// Type: Rsp
// CmdID: 6445
message TravelBrochurePageResetScRsp {
	KJMKOJEHMII EDLLNJIEFBO = 12; // offset: 24
	uint32 retcode = 14; // offset: 32
}
message DEDKIIFNECM {
	uint32 item_id = 1; // offset: 28
	uint32 EPLJKOLIPCI = 3; // offset: 24
	uint32 rotation = 4; // offset: 40
	int32 KNKFPENAPBF = 11; // offset: 36
	int32 APHMBADNMPH = 12; // offset: 32
}

// Obf: GHONBGEKOAI
// Type: Req
// CmdID: 6469
message TravelBrochureApplyPasterListCsReq {
	repeated DEDKIIFNECM GMLEOJCLCFB = 1; // offset: 24
	uint32 DCIJEFMACME = 5; // offset: 32
}

// Obf: FEEHNCGHLEO
// Type: Rsp
// CmdID: 6465
message TravelBrochureApplyPasterListScRsp {
	uint32 retcode = 1; // offset: 32
	KJMKOJEHMII EDLLNJIEFBO = 15; // offset: 16
}

// Obf: POKAGMCAJAI
enum CmdTreasureDungeonType {
	POKAGMCAJAI_NLCDGIPGFDJ = 0;
	CmdPNOEINCJCLO = 4442;
	CmdFightTreasureDungeonMonsterCsReq = 4411;
	CmdInteractTreasureDungeonGridCsReq = 4448;
	CmdEnterTreasureDungeonScRsp = 4438;
	CmdEnterTreasureDungeonCsReq = 4433;
	CmdGetTreasureDungeonActivityDataCsReq = 4471;
	CmdOMKAKFPOGDA = 4430;
	CmdTreasureDungeonDataScNotify = 4425;
	CmdUseTreasureDungeonItemScRsp = 4465;
	CmdInteractTreasureDungeonGridScRsp = 4445;
	CmdOpenTreasureDungeonGridCsReq = 4439;
	CmdGetTreasureDungeonActivityDataScRsp = 4440;
	CmdUseTreasureDungeonItemCsReq = 4469;
	CmdTreasureDungeonFinishScNotify = 4478;
	CmdFightTreasureDungeonMonsterScRsp = 4436;
	CmdOpenTreasureDungeonGridScRsp = 4404;
}

// Obf: EFPHNJOBNOE
enum TreasureDungeonRecordType {
	EFPHNJOBNOE_OMCKGLPAFKD = 0;
	EFPHNJOBNOE_FODBJHOOFPM = 1;
	EFPHNJOBNOE_NABDFPOENLO = 2;
	EFPHNJOBNOE_MCCEHCFBJIN = 3;
	EFPHNJOBNOE_BIOMGOMBLDF = 5;
	EFPHNJOBNOE_GEJMKIIFPCC = 6;
	EFPHNJOBNOE_GDHPEOLINMK = 9;
	EFPHNJOBNOE_BNHOJCLEEGP = 10;
	EFPHNJOBNOE_AJCDJLJKENM = 11;
	EFPHNJOBNOE_IBMOENFPGIL = 15;
	EFPHNJOBNOE_MDNAACINPCG = 16;
	EFPHNJOBNOE_IMJMFNFFEEN = 20;
	EFPHNJOBNOE_FFPLPCNKFDG = 24;
	EFPHNJOBNOE_HNCLHIGBGJO = 25;
	EFPHNJOBNOE_FDAHDJMCCKI = 27;
	EFPHNJOBNOE_OJLMPNNFJKH = 28;
	EFPHNJOBNOE_LLFIDACCHCP = 29;
	EFPHNJOBNOE_BJGOKLLNBPI = 30;
	EFPHNJOBNOE_ANOJJCDMBND = 31;
	EFPHNJOBNOE_GLDJBCFAFDK = 33;
	EFPHNJOBNOE_IPIPHHCEFAN = 34;
	EFPHNJOBNOE_GPNOIFPMBCP = 35;
	EFPHNJOBNOE_OPMONHDOGCJ = 36;
	EFPHNJOBNOE_KDIAJHKPIPH = 37;
	EFPHNJOBNOE_NMHHODNLGCL = 40;
	EFPHNJOBNOE_FCNGBPIJNHC = 41;
	EFPHNJOBNOE_HDKLLEOGJNH = 42;
	EFPHNJOBNOE_JPLKJJPMLCM = 43;
}
message ENGHACADBKI {
	uint32 LDMHLKGILOD = 1; // offset: 32
	uint32 FFKDFODDBDN = 7; // offset: 40
	uint32 EGKLFMCHLCO = 10; // offset: 28
	uint32 FMIFPFAHFBL = 11; // offset: 24
	TreasureDungeonRecordType type = 13; // offset: 36
}

// Obf: OLJMFHFEBAI
// Type: Notify
// CmdID: 4425
message TreasureDungeonDataScNotify {
	PPONNIHFJAP IMHNGDFGJJA = 5; // offset: 16
}

// Obf: KENIHFGIDEO
// Type: Notify
// CmdID: 4478
message TreasureDungeonFinishScNotify {
	uint32 EICEKDBENKM = 1; // offset: 44
	uint32 MIAFMBHCMOG = 3; // offset: 56
	map<uint32, uint32> NLMHKDPJEFO = 6; // offset: 24
	uint32 DJCNKLMCABG = 10; // offset: 48
	map<uint32, uint32> IMALNDJDDNO = 11; // offset: 32
	uint32 DEHGKCLNNAP = 14; // offset: 40
	bool is_win = 15; // offset: 52
}
message PPONNIHFJAP {
	uint32 DIPLENNGJII = 1; // offset: 100
	uint32 EICEKDBENKM = 2; // offset: 84
	repeated IHBMPCIIGJD IEDKELDFHLP = 3; // offset: 72
	repeated ENGHACADBKI HFLOPHNBKGN = 5; // offset: 56
	uint32 KJNKBKLCGHJ = 7; // offset: 96
	uint32 defence_add = 8; // offset: 112
	uint32 MIAFMBHCMOG = 10; // offset: 108
	uint32 attack_add = 14; // offset: 80
	uint32 map_id = 15; // offset: 104
	repeated JGNNOJEEBLP buff_list = 94; // offset: 24
	repeated FFMOAGPPHGP PBNEHHOBBFC = 343; // offset: 48
	repeated JDLIPNFGEID FDOILGLIFIB = 375; // offset: 16
	repeated FFMOAGPPHGP avatar_list = 484; // offset: 32
	bool IGJCGAGHDPP = 631; // offset: 89
	bool NBNPGEAMFJP = 949; // offset: 90
	repeated NPPFFMBNGBP item_list = 993; // offset: 40
	bool MNEIFMEDFGC = 1148; // offset: 88
	uint32 HCEGFNHMMOD = 1507; // offset: 92
}
message NPPFFMBNGBP {
	uint32 item_count = 9; // offset: 24
	uint32 item_id = 15; // offset: 28
}
message FFMOAGPPHGP {
	uint32 avatar_id = 1; // offset: 36
	uint32 KHJKDLNAMIP = 2; // offset: 40
	uint32 avatar_type = 5; // offset: 44
	SpBarInfo sp_bar = 7; // offset: 24
	uint32 hp = 10; // offset: 32
}
message JDLIPNFGEID {
	uint32 avatar_type = 6; // offset: 24
	uint32 avatar_id = 13; // offset: 28
}
message JGNNOJEEBLP {
	uint32 buff_id = 2; // offset: 28
	uint32 MODPKCCOAJL = 9; // offset: 24
}
message IHBMPCIIGJD {
	bool DBMFBJCHNKN = 1; // offset: 32
	bool can_interact = 4; // offset: 34
	uint32 GDNEHLEOMOM = 5; // offset: 40
	uint32 OHCCEFIALGL = 6; // offset: 44
	bool BBBINMPJCGI = 8; // offset: 35
	uint32 EILBAOLILAM = 9; // offset: 36
	bool is_locked = 12; // offset: 33
	repeated KMCCCOKIOFD buff_list = 1568; // offset: 16
}
message KMCCCOKIOFD {
	uint32 GDNEHLEOMOM = 2; // offset: 32
	uint32 FBNBPPHOGLI = 3; // offset: 40
	uint32 EGKLFMCHLCO = 6; // offset: 24
	uint32 buff_id = 8; // offset: 28
	uint32 JBGENFIKGGF = 9; // offset: 36
}
message DCMCLHJINBD {
	uint32 defence_add = 1; // offset: 28
	bool has_passed = 2; // offset: 25
	uint32 attack_add = 5; // offset: 36
	uint32 EICEKDBENKM = 6; // offset: 32
	bool is_entered = 7; // offset: 24
	uint32 MIAFMBHCMOG = 11; // offset: 40
	uint32 NKMNCCFFBAB = 13; // offset: 44
}

// Obf: MBDAPMIPEON
// Type: Req
// CmdID: 4471
message GetTreasureDungeonActivityDataCsReq {
}

// Obf: MHMEJAECMMA
// Type: Rsp
// CmdID: 4440
message GetTreasureDungeonActivityDataScRsp {
	repeated DCMCLHJINBD NFEJLHOCFMC = 10; // offset: 16
	uint32 retcode = 12; // offset: 32
}

// Obf: KBCNABANJLF
// Type: Req
// CmdID: 4433
message EnterTreasureDungeonCsReq {
	uint32 EICEKDBENKM = 10; // offset: 32
	repeated IOKGDDDHHPD avatar_list = 14; // offset: 16
}

// Obf: FKHNMKLEMPL
// Type: Rsp
// CmdID: 4438
message EnterTreasureDungeonScRsp {
	uint32 retcode = 3; // offset: 32
	PPONNIHFJAP IMHNGDFGJJA = 15; // offset: 16
}

// Obf: DNOLOCILBDG
// Type: Req
// CmdID: 4439
message OpenTreasureDungeonGridCsReq {
	uint32 GDNEHLEOMOM = 3; // offset: 28
	uint32 EICEKDBENKM = 10; // offset: 24
}

// Obf: EICJHGLMLIK
// Type: Rsp
// CmdID: 4404
message OpenTreasureDungeonGridScRsp {
	uint32 retcode = 10; // offset: 32
	PPONNIHFJAP IMHNGDFGJJA = 13; // offset: 24
}

// Obf: BLLCDNDBMFC
// Type: Req
// CmdID: 4448
message InteractTreasureDungeonGridCsReq {
	uint32 GDNEHLEOMOM = 2; // offset: 32
	uint32 param = 7; // offset: 28
	uint32 EICEKDBENKM = 13; // offset: 24
}

// Obf: PBIACLDGHLJ
// Type: Rsp
// CmdID: 4445
message InteractTreasureDungeonGridScRsp {
	uint32 retcode = 8; // offset: 32
	PPONNIHFJAP IMHNGDFGJJA = 14; // offset: 16
}

// Obf: GPDIOLFJBDA
// Type: Req
// CmdID: 4469
message UseTreasureDungeonItemCsReq {
	uint32 EICEKDBENKM = 4; // offset: 32
	uint32 item_id = 5; // offset: 24
	uint32 GDNEHLEOMOM = 11; // offset: 28
}

// Obf: CAEINBAOLLG
// Type: Rsp
// CmdID: 4465
message UseTreasureDungeonItemScRsp {
	uint32 retcode = 1; // offset: 32
	PPONNIHFJAP IMHNGDFGJJA = 7; // offset: 24
}
message IOKGDDDHHPD {
	AvatarType avatar_type = 2; // offset: 28
	uint32 avatar_id = 10; // offset: 24
}

// Obf: LPKMOEFJGGC
// Type: Req
// CmdID: 4411
message FightTreasureDungeonMonsterCsReq {
	uint32 GDNEHLEOMOM = 2; // offset: 32
	repeated IOKGDDDHHPD avatar_list = 5; // offset: 16
	uint32 EICEKDBENKM = 8; // offset: 36
}

// Obf: GAKDIMFCIIL
// Type: Rsp
// CmdID: 4436
message FightTreasureDungeonMonsterScRsp {
	uint32 retcode = 6; // offset: 32
	SceneBattleInfo battle_info = 10; // offset: 16
}

// Type: Req
// CmdID: 4430
message OMKAKFPOGDA {
	uint32 EICEKDBENKM = 3; // offset: 28
	bool KEAAGAIAHLA = 9; // offset: 24
}

// Type: Rsp
// CmdID: 4442
message PNOEINCJCLO {
	uint32 retcode = 12; // offset: 24
}

// Obf: KAAMCALPIPD
enum CmdTutorialType {
	KAAMCALPIPD_NLCDGIPGFDJ = 0;
	CmdUnlockTutorialGuideCsReq = 1686;
	CmdUnlockTutorialScRsp = 1681;
	CmdFinishTutorialCsReq = 1626;
	CmdUnlockTutorialCsReq = 1688;
	CmdFinishTutorialScRsp = 1613;
	CmdGetTutorialGuideCsReq = 1693;
	CmdUnlockTutorialGuideScRsp = 1647;
	CmdGetTutorialGuideScRsp = 1658;
	CmdFinishTutorialGuideCsReq = 1671;
	CmdFinishTutorialGuideScRsp = 1640;
	CmdGetTutorialCsReq = 1625;
	CmdGetTutorialScRsp = 1678;
}

// Obf: HHJGMFEALEB
enum TutorialStatus {
	TUTORIAL_NONE = 0;
	TUTORIAL_UNLOCK = 1;
	TUTORIAL_FINISH = 2;
}

// Obf: CEBJAAAIPDA
enum TutorialFinishType {
	CEBJAAAIPDA_NLCDGIPGFDJ = 0;
	CEBJAAAIPDA_CNPNACJBHJG = 1;
	CEBJAAAIPDA_NNAIDJINDHO = 2;
}

// Obf: AOCCEBGNPJA
enum TutorialGuideType {
	AOCCEBGNPJA_GINFCGDDDOM = 0;
	AOCCEBGNPJA_JLOAFBAGFHG = 1;
}
message Tutorial {
	TutorialStatus status = 3; // offset: 24
	uint32 id = 10; // offset: 28
}
message TutorialGuide {
	uint32 id = 1; // offset: 28
	TutorialStatus status = 2; // offset: 24
	TutorialGuideType type = 7; // offset: 32
}

// Type: Req
// CmdID: 1625
message GetTutorialCsReq {
}

// Type: Rsp
// CmdID: 1678
message GetTutorialScRsp {
	uint32 retcode = 3; // offset: 32
	repeated Tutorial tutorial_list = 5; // offset: 24
}

// Type: Req
// CmdID: 1693
message GetTutorialGuideCsReq {
}

// Type: Rsp
// CmdID: 1658
message GetTutorialGuideScRsp {
	repeated TutorialGuide tutorial_guide_list = 1; // offset: 24
	uint32 retcode = 5; // offset: 32
}

// Type: Req
// CmdID: 1688
message UnlockTutorialCsReq {
	uint32 tutorial_id = 6; // offset: 24
}

// Type: Rsp
// CmdID: 1681
message UnlockTutorialScRsp {
	Tutorial tutorial = 9; // offset: 16
	uint32 retcode = 13; // offset: 32
}

// Type: Req
// CmdID: 1686
message UnlockTutorialGuideCsReq {
	uint32 group_id = 5; // offset: 24
	TutorialGuideType type = 13; // offset: 28
}

// Type: Rsp
// CmdID: 1647
message UnlockTutorialGuideScRsp {
	uint32 retcode = 11; // offset: 32
	TutorialGuide tutorial_guide = 12; // offset: 16
}

// Type: Req
// CmdID: 1626
message FinishTutorialCsReq {
	uint32 tutorial_id = 10; // offset: 24
	TutorialFinishType HFIBLHAFONM = 11; // offset: 28
}

// Type: Rsp
// CmdID: 1613
message FinishTutorialScRsp {
	Tutorial tutorial = 2; // offset: 24
	uint32 retcode = 9; // offset: 32
}

// Type: Req
// CmdID: 1671
message FinishTutorialGuideCsReq {
	TutorialGuideType type = 13; // offset: 28
	uint32 group_id = 14; // offset: 24
}

// Type: Rsp
// CmdID: 1640
message FinishTutorialGuideScRsp {
	uint32 retcode = 1; // offset: 40
	ItemList reward = 2; // offset: 32
	TutorialGuide tutorial_guide = 12; // offset: 24
}

// Obf: CHLEIBCFDBO
enum CmdWaypointType {
	CHLEIBCFDBO_NLCDGIPGFDJ = 0;
	CmdGMCAGPOHKJJ = 478;
	CmdMKEPKKAJONE = 481;
	CHLEIBCFDBO_KNFMJKOGEGF = 425;
	CHLEIBCFDBO_DDKCNBCOELM = 488;
}

enum JPLMLOIHNIC {
	JPLMLOIHNIC_NLCDGIPGFDJ = 0;
	JPLMLOIHNIC_PPANBKDPFFK = 1;
	JPLMLOIHNIC_JPHLNOJLIAM = 2;
}

enum OMCNFMGPDAP {
	OMCNFMGPDAP_IAIMDIAFCNL = 0;
	OMCNFMGPDAP_AGBGJCINDCP = 1;
	OMCNFMGPDAP_MDPIBJPHMGJ = 2;
}
message HEGGPIEGBIN {
	bool is_new = 2; // offset: 24
	uint32 FHNNGNBDGHO = 9; // offset: 28
	uint32 id = 12; // offset: 32
}
message FDECDCEDPNM {
	uint32 BGMFEHBEABC = 3; // offset: 32
	repeated uint32 ICCCHCCDKND = 4; // offset: 16
	uint32 id = 9; // offset: 36
	bool is_new = 13; // offset: 40
}
message GAKJMHLEJMD {
	repeated HEGGPIEGBIN HCBJONGPJFD = 1; // offset: 24
}
message LKJFAOIDNNF {
	uint32 DCAHJELNJNP = 2; // offset: 24
}

// Type: Rsp
// CmdID: 478
message GMCAGPOHKJJ {
	uint32 retcode = 3; // offset: 32
	GAKJMHLEJMD KEDNGHIEOBB = 11; // offset: 16
}
message JBAEGHHHDNH {
}

// Type: Rsp
// CmdID: 481
message MKEPKKAJONE {
	repeated FDECDCEDPNM LPBLEICPFPD = 1; // offset: 16
	uint32 retcode = 14; // offset: 32
}

// Obf: DPDIGMLGDOI
enum CmdWolfBroType {
	DPDIGMLGDOI_NLCDGIPGFDJ = 0;
	CmdJOHDLJLGNHL = 6537;
	CmdKDMANLNDIOA = 6507;
	CmdPHPEPPKFMJO = 6506;
	CmdLJEFFBCJJEM = 6524;
	CmdNHLGEDLKOKI = 6509;
	CmdOKEFGCNNEKI = 6520;
	CmdAJDPPONBABG = 6529;
	CmdCPKCMNJKPOE = 6544;
	CmdLBMFCJLHNAA = 6514;
	CmdBPPICAMLGNB = 6548;
	CmdDKJBGINLBPP = 6503;
	CmdHKPFPMJBNEP = 6502;
	CmdMDDFDNHFCIL = 6521;
	CmdHFJCGEMMPKB = 6535;
	CmdDEAHIAKBGMJ = 6533;
	CmdLIKMPNFOKFF = 6510;
	CmdNHIGCJFJGPF = 6517;
	CmdLJFEONHOKAG = 6519;
	CmdENPJFKDKLOB = 6523;
}
message KDFPANILFOH {
	repeated Vector PAOEJKABFEP = 6; // offset: 16
	bool is_bullet_activated = 9; // offset: 44
	MotionInfo motion = 13; // offset: 24
	uint32 CHCOPKAKBNO = 15; // offset: 40
}
message GGHOBPBFFOB {
	repeated Vector PAOEJKABFEP = 1; // offset: 40
	bool is_bullet_activated = 5; // offset: 52
	KDFPANILFOH BBEMIGELGJC = 7; // offset: 16
	string uuid = 9; // offset: 24
	uint32 id = 10; // offset: 56
	uint32 CHCOPKAKBNO = 11; // offset: 48
}

// Type: Req
// CmdID: 6509
message NHLGEDLKOKI {
	MotionInfo motion = 3; // offset: 32
	uint32 id = 6; // offset: 40
	GroupStateInfo group_state_info = 9; // offset: 24
}

// Type: Rsp
// CmdID: 6523
message ENPJFKDKLOB {
	GGHOBPBFFOB game_data = 6; // offset: 16
	uint32 retcode = 12; // offset: 32
}

// Type: Req
// CmdID: 6537
message JOHDLJLGNHL {
	uint32 id = 1; // offset: 32
	MotionInfo motion = 5; // offset: 24
}

// Type: Rsp
// CmdID: 6544
message CPKCMNJKPOE {
	uint32 retcode = 4; // offset: 32
	GGHOBPBFFOB game_data = 8; // offset: 24
}

// Type: Req
// CmdID: 6519
message LJFEONHOKAG {
	uint32 id = 8; // offset: 24
}

// Type: Rsp
// CmdID: 6548
message BPPICAMLGNB {
	GGHOBPBFFOB game_data = 1; // offset: 16
	uint32 retcode = 6; // offset: 32
}

// Type: Req
// CmdID: 6503
message DKJBGINLBPP {
	uint32 id = 10; // offset: 24
}

// Type: Rsp
// CmdID: 6507
message KDMANLNDIOA {
	GGHOBPBFFOB game_data = 1; // offset: 24
	uint32 retcode = 4; // offset: 32
}

// Type: Req
// CmdID: 6510
message LIKMPNFOKFF {
	uint32 id = 13; // offset: 24
}

// Type: Rsp
// CmdID: 6521
message MDDFDNHFCIL {
	uint32 retcode = 5; // offset: 32
	GGHOBPBFFOB game_data = 9; // offset: 16
}

// Type: Notify
// CmdID: 6524
message LJEFFBCJJEM {
	GGHOBPBFFOB game_data = 11; // offset: 24
}

// Type: Req
// CmdID: 6520
message OKEFGCNNEKI {
	repeated uint32 assist_monster_entity_id_list = 10; // offset: 32
	Vector GGDCDJDBCCN = 15; // offset: 24
}

// Type: Rsp
// CmdID: 6517
message NHIGCJFJGPF {
	uint32 retcode = 10; // offset: 32
	GGHOBPBFFOB game_data = 15; // offset: 16
}

// Type: Req
// CmdID: 6529
message AJDPPONBABG {
	Vector GGDCDJDBCCN = 1; // offset: 16
}

// Type: Rsp
// CmdID: 6533
message DEAHIAKBGMJ {
	GGHOBPBFFOB game_data = 9; // offset: 16
	uint32 retcode = 13; // offset: 32
}

// Type: Req
// CmdID: 6506
message PHPEPPKFMJO {
	uint32 group_id = 8; // offset: 28
	uint32 config_id = 14; // offset: 24
}

// Type: Rsp
// CmdID: 6502
message HKPFPMJBNEP {
	uint32 retcode = 9; // offset: 24
}

// Type: Req
// CmdID: 6514
message LBMFCJLHNAA {
	repeated uint32 assist_monster_entity_id_list = 11; // offset: 16
}

// Type: Rsp
// CmdID: 6535
message HFJCGEMMPKB {
	uint32 retcode = 11; // offset: 24
}

// Obf: LLHKMPCLGON
enum CmdWorldUnlockType {
	LLHKMPCLGON_NLCDGIPGFDJ = 0;
	CmdWorldUnlockCsReq = 7626;
	CmdWorldUnlockScRsp = 7627;
}

// Obf: NBGLFOIBBLL
// Type: Req
// CmdID: 7626
message WorldUnlockCsReq {
	uint32 CFDCEEMIOCO = 4; // offset: 24
}

// Obf: ALJGINBMLKB
// Type: Rsp
// CmdID: 7627
message WorldUnlockScRsp {
	uint32 CFDCEEMIOCO = 7; // offset: 28
	uint32 retcode = 9; // offset: 24
}

enum EKIGHMCPKGE {
	EKIGHMCPKGE_NLCDGIPGFDJ = 0;
	EKIGHMCPKGE_JHNAAFBKPOE = 1;
	EKIGHMCPKGE_LEDNKHGENAF = 2;
	EKIGHMCPKGE_IEGKOOKJCBB = 3;
	EKIGHMCPKGE_NCBNJDINFLF = 4;
	EKIGHMCPKGE_BLEJILFLDGK = 5;
	EKIGHMCPKGE_CGCCKNEDGHH = 6;
	EKIGHMCPKGE_BNBABBMFELI = 7;
	EKIGHMCPKGE_BCAFBAFEOBP = 8;
}
message GOCBELPFLHO {
	uint32 DLAIECHBNPP = 1; // offset: 48
	uint32 authkey_ver = 2; // offset: 88
	uint32 FCFKGLPCPOP = 3; // offset: 72
	uint32 BMGBBEMHLIG = 4; // offset: 92
	uint32 EKBJCBFIIEP = 5; // offset: 60
	uint32 LMFFKMPOMGD = 6; // offset: 76
	uint32 IMPOOGJHDMF = 7; // offset: 36
	uint32 JPKIHONCCNN = 8; // offset: 80
	uint64 DGAFIHGCAPC = 9; // offset: 40
	uint32 MLOMBDFHLMN = 10; // offset: 32
	uint32 id = 11; // offset: 52
	uint32 MJKFODFJGKO = 12; // offset: 84
	uint32 NLGHMPMHMEF = 13; // offset: 64
	string OMCBHEFBEIO = 14; // offset: 16
	uint32 IGKOLFOCNOD = 15; // offset: 56
	uint32 PMDNFENHOBE = 16; // offset: 68
	uint64 LLIOEMOBFGD = 17; // offset: 96
}


