// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: dota_commonmessages.proto

package com.dota2.proto;

public final class DotaCommonmessages {
  private DotaCommonmessages() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
  }
  /**
   * Protobuf enum {@code EDOTAChatWheelMessage}
   */
  public enum EDOTAChatWheelMessage
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * <code>k_EDOTA_CW_Ok = 0;</code>
     */
    k_EDOTA_CW_Ok(0, 0),
    /**
     * <code>k_EDOTA_CW_Care = 1;</code>
     */
    k_EDOTA_CW_Care(1, 1),
    /**
     * <code>k_EDOTA_CW_GetBack = 2;</code>
     */
    k_EDOTA_CW_GetBack(2, 2),
    /**
     * <code>k_EDOTA_CW_NeedWards = 3;</code>
     */
    k_EDOTA_CW_NeedWards(3, 3),
    /**
     * <code>k_EDOTA_CW_Stun = 4;</code>
     */
    k_EDOTA_CW_Stun(4, 4),
    /**
     * <code>k_EDOTA_CW_Help = 5;</code>
     */
    k_EDOTA_CW_Help(5, 5),
    /**
     * <code>k_EDOTA_CW_Push = 6;</code>
     */
    k_EDOTA_CW_Push(6, 6),
    /**
     * <code>k_EDOTA_CW_GoodJob = 7;</code>
     */
    k_EDOTA_CW_GoodJob(7, 7),
    /**
     * <code>k_EDOTA_CW_Missing = 8;</code>
     */
    k_EDOTA_CW_Missing(8, 8),
    /**
     * <code>k_EDOTA_CW_Missing_Top = 9;</code>
     */
    k_EDOTA_CW_Missing_Top(9, 9),
    /**
     * <code>k_EDOTA_CW_Missing_Mid = 10;</code>
     */
    k_EDOTA_CW_Missing_Mid(10, 10),
    /**
     * <code>k_EDOTA_CW_Missing_Bottom = 11;</code>
     */
    k_EDOTA_CW_Missing_Bottom(11, 11),
    /**
     * <code>k_EDOTA_CW_Go = 12;</code>
     */
    k_EDOTA_CW_Go(12, 12),
    /**
     * <code>k_EDOTA_CW_Initiate = 13;</code>
     */
    k_EDOTA_CW_Initiate(13, 13),
    /**
     * <code>k_EDOTA_CW_Follow = 14;</code>
     */
    k_EDOTA_CW_Follow(14, 14),
    /**
     * <code>k_EDOTA_CW_Group_Up = 15;</code>
     */
    k_EDOTA_CW_Group_Up(15, 15),
    /**
     * <code>k_EDOTA_CW_Spread_Out = 16;</code>
     */
    k_EDOTA_CW_Spread_Out(16, 16),
    /**
     * <code>k_EDOTA_CW_Split_Farm = 17;</code>
     */
    k_EDOTA_CW_Split_Farm(17, 17),
    /**
     * <code>k_EDOTA_CW_Attack = 18;</code>
     */
    k_EDOTA_CW_Attack(18, 18),
    /**
     * <code>k_EDOTA_CW_BRB = 19;</code>
     */
    k_EDOTA_CW_BRB(19, 19),
    /**
     * <code>k_EDOTA_CW_Dive = 20;</code>
     */
    k_EDOTA_CW_Dive(20, 20),
    /**
     * <code>k_EDOTA_CW_OMW = 21;</code>
     */
    k_EDOTA_CW_OMW(21, 21),
    /**
     * <code>k_EDOTA_CW_Get_Ready = 22;</code>
     */
    k_EDOTA_CW_Get_Ready(22, 22),
    /**
     * <code>k_EDOTA_CW_Bait = 23;</code>
     */
    k_EDOTA_CW_Bait(23, 23),
    /**
     * <code>k_EDOTA_CW_Heal = 24;</code>
     */
    k_EDOTA_CW_Heal(24, 24),
    /**
     * <code>k_EDOTA_CW_Mana = 25;</code>
     */
    k_EDOTA_CW_Mana(25, 25),
    /**
     * <code>k_EDOTA_CW_OOM = 26;</code>
     */
    k_EDOTA_CW_OOM(26, 26),
    /**
     * <code>k_EDOTA_CW_Skill_Cooldown = 27;</code>
     */
    k_EDOTA_CW_Skill_Cooldown(27, 27),
    /**
     * <code>k_EDOTA_CW_Ulti_Ready = 28;</code>
     */
    k_EDOTA_CW_Ulti_Ready(28, 28),
    /**
     * <code>k_EDOTA_CW_Enemy_Returned = 29;</code>
     */
    k_EDOTA_CW_Enemy_Returned(29, 29),
    /**
     * <code>k_EDOTA_CW_All_Missing = 30;</code>
     */
    k_EDOTA_CW_All_Missing(30, 30),
    /**
     * <code>k_EDOTA_CW_Enemy_Incoming = 31;</code>
     */
    k_EDOTA_CW_Enemy_Incoming(31, 31),
    /**
     * <code>k_EDOTA_CW_Invis_Enemy = 32;</code>
     */
    k_EDOTA_CW_Invis_Enemy(32, 32),
    /**
     * <code>k_EDOTA_CW_Enemy_Had_Rune = 33;</code>
     */
    k_EDOTA_CW_Enemy_Had_Rune(33, 33),
    /**
     * <code>k_EDOTA_CW_Split_Push = 34;</code>
     */
    k_EDOTA_CW_Split_Push(34, 34),
    /**
     * <code>k_EDOTA_CW_Coming_To_Gank = 35;</code>
     */
    k_EDOTA_CW_Coming_To_Gank(35, 35),
    /**
     * <code>k_EDOTA_CW_Request_Gank = 36;</code>
     */
    k_EDOTA_CW_Request_Gank(36, 36),
    /**
     * <code>k_EDOTA_CW_Fight_Under_Tower = 37;</code>
     */
    k_EDOTA_CW_Fight_Under_Tower(37, 37),
    /**
     * <code>k_EDOTA_CW_Deny_Tower = 38;</code>
     */
    k_EDOTA_CW_Deny_Tower(38, 38),
    /**
     * <code>k_EDOTA_CW_Buy_Courier = 39;</code>
     */
    k_EDOTA_CW_Buy_Courier(39, 39),
    /**
     * <code>k_EDOTA_CW_Upgrade_Courier = 40;</code>
     */
    k_EDOTA_CW_Upgrade_Courier(40, 40),
    /**
     * <code>k_EDOTA_CW_Need_Detection = 41;</code>
     */
    k_EDOTA_CW_Need_Detection(41, 41),
    /**
     * <code>k_EDOTA_CW_They_Have_Detection = 42;</code>
     */
    k_EDOTA_CW_They_Have_Detection(42, 42),
    /**
     * <code>k_EDOTA_CW_Buy_TP = 43;</code>
     */
    k_EDOTA_CW_Buy_TP(43, 43),
    /**
     * <code>k_EDOTA_CW_Reuse_Courier = 44;</code>
     */
    k_EDOTA_CW_Reuse_Courier(44, 44),
    /**
     * <code>k_EDOTA_CW_Deward = 45;</code>
     */
    k_EDOTA_CW_Deward(45, 45),
    /**
     * <code>k_EDOTA_CW_Building_Mek = 46;</code>
     */
    k_EDOTA_CW_Building_Mek(46, 46),
    /**
     * <code>k_EDOTA_CW_Building_Pipe = 47;</code>
     */
    k_EDOTA_CW_Building_Pipe(47, 47),
    /**
     * <code>k_EDOTA_CW_Stack_And_Pull = 48;</code>
     */
    k_EDOTA_CW_Stack_And_Pull(48, 48),
    /**
     * <code>k_EDOTA_CW_Pull = 49;</code>
     */
    k_EDOTA_CW_Pull(49, 49),
    /**
     * <code>k_EDOTA_CW_Pulling = 50;</code>
     */
    k_EDOTA_CW_Pulling(50, 50),
    /**
     * <code>k_EDOTA_CW_Stack = 51;</code>
     */
    k_EDOTA_CW_Stack(51, 51),
    /**
     * <code>k_EDOTA_CW_Jungling = 52;</code>
     */
    k_EDOTA_CW_Jungling(52, 52),
    /**
     * <code>k_EDOTA_CW_Roshan = 53;</code>
     */
    k_EDOTA_CW_Roshan(53, 53),
    /**
     * <code>k_EDOTA_CW_Affirmative = 54;</code>
     */
    k_EDOTA_CW_Affirmative(54, 54),
    /**
     * <code>k_EDOTA_CW_Wait = 55;</code>
     */
    k_EDOTA_CW_Wait(55, 55),
    /**
     * <code>k_EDOTA_CW_Pause = 56;</code>
     */
    k_EDOTA_CW_Pause(56, 56),
    /**
     * <code>k_EDOTA_CW_Current_Time = 57;</code>
     */
    k_EDOTA_CW_Current_Time(57, 57),
    /**
     * <code>k_EDOTA_CW_Check_Runes = 58;</code>
     */
    k_EDOTA_CW_Check_Runes(58, 58),
    /**
     * <code>k_EDOTA_CW_Smoke_Gank = 59;</code>
     */
    k_EDOTA_CW_Smoke_Gank(59, 59),
    /**
     * <code>k_EDOTA_CW_GLHF = 60;</code>
     */
    k_EDOTA_CW_GLHF(60, 60),
    /**
     * <code>k_EDOTA_CW_Nice = 61;</code>
     */
    k_EDOTA_CW_Nice(61, 61),
    /**
     * <code>k_EDOTA_CW_Thanks = 62;</code>
     */
    k_EDOTA_CW_Thanks(62, 62),
    /**
     * <code>k_EDOTA_CW_Sorry = 63;</code>
     */
    k_EDOTA_CW_Sorry(63, 63),
    /**
     * <code>k_EDOTA_CW_No_Give_Up = 64;</code>
     */
    k_EDOTA_CW_No_Give_Up(64, 64),
    /**
     * <code>k_EDOTA_CW_Just_Happened = 65;</code>
     */
    k_EDOTA_CW_Just_Happened(65, 65),
    /**
     * <code>k_EDOTA_CW_Game_Is_Hard = 66;</code>
     */
    k_EDOTA_CW_Game_Is_Hard(66, 66),
    /**
     * <code>k_EDOTA_CW_New_Meta = 67;</code>
     */
    k_EDOTA_CW_New_Meta(67, 67),
    /**
     * <code>k_EDOTA_CW_My_Bad = 68;</code>
     */
    k_EDOTA_CW_My_Bad(68, 68),
    /**
     * <code>k_EDOTA_CW_Regret = 69;</code>
     */
    k_EDOTA_CW_Regret(69, 69),
    /**
     * <code>k_EDOTA_CW_Relax = 70;</code>
     */
    k_EDOTA_CW_Relax(70, 70),
    /**
     * <code>k_EDOTA_CW_MissingHero = 71;</code>
     */
    k_EDOTA_CW_MissingHero(71, 71),
    ;

    /**
     * <code>k_EDOTA_CW_Ok = 0;</code>
     */
    public static final int k_EDOTA_CW_Ok_VALUE = 0;
    /**
     * <code>k_EDOTA_CW_Care = 1;</code>
     */
    public static final int k_EDOTA_CW_Care_VALUE = 1;
    /**
     * <code>k_EDOTA_CW_GetBack = 2;</code>
     */
    public static final int k_EDOTA_CW_GetBack_VALUE = 2;
    /**
     * <code>k_EDOTA_CW_NeedWards = 3;</code>
     */
    public static final int k_EDOTA_CW_NeedWards_VALUE = 3;
    /**
     * <code>k_EDOTA_CW_Stun = 4;</code>
     */
    public static final int k_EDOTA_CW_Stun_VALUE = 4;
    /**
     * <code>k_EDOTA_CW_Help = 5;</code>
     */
    public static final int k_EDOTA_CW_Help_VALUE = 5;
    /**
     * <code>k_EDOTA_CW_Push = 6;</code>
     */
    public static final int k_EDOTA_CW_Push_VALUE = 6;
    /**
     * <code>k_EDOTA_CW_GoodJob = 7;</code>
     */
    public static final int k_EDOTA_CW_GoodJob_VALUE = 7;
    /**
     * <code>k_EDOTA_CW_Missing = 8;</code>
     */
    public static final int k_EDOTA_CW_Missing_VALUE = 8;
    /**
     * <code>k_EDOTA_CW_Missing_Top = 9;</code>
     */
    public static final int k_EDOTA_CW_Missing_Top_VALUE = 9;
    /**
     * <code>k_EDOTA_CW_Missing_Mid = 10;</code>
     */
    public static final int k_EDOTA_CW_Missing_Mid_VALUE = 10;
    /**
     * <code>k_EDOTA_CW_Missing_Bottom = 11;</code>
     */
    public static final int k_EDOTA_CW_Missing_Bottom_VALUE = 11;
    /**
     * <code>k_EDOTA_CW_Go = 12;</code>
     */
    public static final int k_EDOTA_CW_Go_VALUE = 12;
    /**
     * <code>k_EDOTA_CW_Initiate = 13;</code>
     */
    public static final int k_EDOTA_CW_Initiate_VALUE = 13;
    /**
     * <code>k_EDOTA_CW_Follow = 14;</code>
     */
    public static final int k_EDOTA_CW_Follow_VALUE = 14;
    /**
     * <code>k_EDOTA_CW_Group_Up = 15;</code>
     */
    public static final int k_EDOTA_CW_Group_Up_VALUE = 15;
    /**
     * <code>k_EDOTA_CW_Spread_Out = 16;</code>
     */
    public static final int k_EDOTA_CW_Spread_Out_VALUE = 16;
    /**
     * <code>k_EDOTA_CW_Split_Farm = 17;</code>
     */
    public static final int k_EDOTA_CW_Split_Farm_VALUE = 17;
    /**
     * <code>k_EDOTA_CW_Attack = 18;</code>
     */
    public static final int k_EDOTA_CW_Attack_VALUE = 18;
    /**
     * <code>k_EDOTA_CW_BRB = 19;</code>
     */
    public static final int k_EDOTA_CW_BRB_VALUE = 19;
    /**
     * <code>k_EDOTA_CW_Dive = 20;</code>
     */
    public static final int k_EDOTA_CW_Dive_VALUE = 20;
    /**
     * <code>k_EDOTA_CW_OMW = 21;</code>
     */
    public static final int k_EDOTA_CW_OMW_VALUE = 21;
    /**
     * <code>k_EDOTA_CW_Get_Ready = 22;</code>
     */
    public static final int k_EDOTA_CW_Get_Ready_VALUE = 22;
    /**
     * <code>k_EDOTA_CW_Bait = 23;</code>
     */
    public static final int k_EDOTA_CW_Bait_VALUE = 23;
    /**
     * <code>k_EDOTA_CW_Heal = 24;</code>
     */
    public static final int k_EDOTA_CW_Heal_VALUE = 24;
    /**
     * <code>k_EDOTA_CW_Mana = 25;</code>
     */
    public static final int k_EDOTA_CW_Mana_VALUE = 25;
    /**
     * <code>k_EDOTA_CW_OOM = 26;</code>
     */
    public static final int k_EDOTA_CW_OOM_VALUE = 26;
    /**
     * <code>k_EDOTA_CW_Skill_Cooldown = 27;</code>
     */
    public static final int k_EDOTA_CW_Skill_Cooldown_VALUE = 27;
    /**
     * <code>k_EDOTA_CW_Ulti_Ready = 28;</code>
     */
    public static final int k_EDOTA_CW_Ulti_Ready_VALUE = 28;
    /**
     * <code>k_EDOTA_CW_Enemy_Returned = 29;</code>
     */
    public static final int k_EDOTA_CW_Enemy_Returned_VALUE = 29;
    /**
     * <code>k_EDOTA_CW_All_Missing = 30;</code>
     */
    public static final int k_EDOTA_CW_All_Missing_VALUE = 30;
    /**
     * <code>k_EDOTA_CW_Enemy_Incoming = 31;</code>
     */
    public static final int k_EDOTA_CW_Enemy_Incoming_VALUE = 31;
    /**
     * <code>k_EDOTA_CW_Invis_Enemy = 32;</code>
     */
    public static final int k_EDOTA_CW_Invis_Enemy_VALUE = 32;
    /**
     * <code>k_EDOTA_CW_Enemy_Had_Rune = 33;</code>
     */
    public static final int k_EDOTA_CW_Enemy_Had_Rune_VALUE = 33;
    /**
     * <code>k_EDOTA_CW_Split_Push = 34;</code>
     */
    public static final int k_EDOTA_CW_Split_Push_VALUE = 34;
    /**
     * <code>k_EDOTA_CW_Coming_To_Gank = 35;</code>
     */
    public static final int k_EDOTA_CW_Coming_To_Gank_VALUE = 35;
    /**
     * <code>k_EDOTA_CW_Request_Gank = 36;</code>
     */
    public static final int k_EDOTA_CW_Request_Gank_VALUE = 36;
    /**
     * <code>k_EDOTA_CW_Fight_Under_Tower = 37;</code>
     */
    public static final int k_EDOTA_CW_Fight_Under_Tower_VALUE = 37;
    /**
     * <code>k_EDOTA_CW_Deny_Tower = 38;</code>
     */
    public static final int k_EDOTA_CW_Deny_Tower_VALUE = 38;
    /**
     * <code>k_EDOTA_CW_Buy_Courier = 39;</code>
     */
    public static final int k_EDOTA_CW_Buy_Courier_VALUE = 39;
    /**
     * <code>k_EDOTA_CW_Upgrade_Courier = 40;</code>
     */
    public static final int k_EDOTA_CW_Upgrade_Courier_VALUE = 40;
    /**
     * <code>k_EDOTA_CW_Need_Detection = 41;</code>
     */
    public static final int k_EDOTA_CW_Need_Detection_VALUE = 41;
    /**
     * <code>k_EDOTA_CW_They_Have_Detection = 42;</code>
     */
    public static final int k_EDOTA_CW_They_Have_Detection_VALUE = 42;
    /**
     * <code>k_EDOTA_CW_Buy_TP = 43;</code>
     */
    public static final int k_EDOTA_CW_Buy_TP_VALUE = 43;
    /**
     * <code>k_EDOTA_CW_Reuse_Courier = 44;</code>
     */
    public static final int k_EDOTA_CW_Reuse_Courier_VALUE = 44;
    /**
     * <code>k_EDOTA_CW_Deward = 45;</code>
     */
    public static final int k_EDOTA_CW_Deward_VALUE = 45;
    /**
     * <code>k_EDOTA_CW_Building_Mek = 46;</code>
     */
    public static final int k_EDOTA_CW_Building_Mek_VALUE = 46;
    /**
     * <code>k_EDOTA_CW_Building_Pipe = 47;</code>
     */
    public static final int k_EDOTA_CW_Building_Pipe_VALUE = 47;
    /**
     * <code>k_EDOTA_CW_Stack_And_Pull = 48;</code>
     */
    public static final int k_EDOTA_CW_Stack_And_Pull_VALUE = 48;
    /**
     * <code>k_EDOTA_CW_Pull = 49;</code>
     */
    public static final int k_EDOTA_CW_Pull_VALUE = 49;
    /**
     * <code>k_EDOTA_CW_Pulling = 50;</code>
     */
    public static final int k_EDOTA_CW_Pulling_VALUE = 50;
    /**
     * <code>k_EDOTA_CW_Stack = 51;</code>
     */
    public static final int k_EDOTA_CW_Stack_VALUE = 51;
    /**
     * <code>k_EDOTA_CW_Jungling = 52;</code>
     */
    public static final int k_EDOTA_CW_Jungling_VALUE = 52;
    /**
     * <code>k_EDOTA_CW_Roshan = 53;</code>
     */
    public static final int k_EDOTA_CW_Roshan_VALUE = 53;
    /**
     * <code>k_EDOTA_CW_Affirmative = 54;</code>
     */
    public static final int k_EDOTA_CW_Affirmative_VALUE = 54;
    /**
     * <code>k_EDOTA_CW_Wait = 55;</code>
     */
    public static final int k_EDOTA_CW_Wait_VALUE = 55;
    /**
     * <code>k_EDOTA_CW_Pause = 56;</code>
     */
    public static final int k_EDOTA_CW_Pause_VALUE = 56;
    /**
     * <code>k_EDOTA_CW_Current_Time = 57;</code>
     */
    public static final int k_EDOTA_CW_Current_Time_VALUE = 57;
    /**
     * <code>k_EDOTA_CW_Check_Runes = 58;</code>
     */
    public static final int k_EDOTA_CW_Check_Runes_VALUE = 58;
    /**
     * <code>k_EDOTA_CW_Smoke_Gank = 59;</code>
     */
    public static final int k_EDOTA_CW_Smoke_Gank_VALUE = 59;
    /**
     * <code>k_EDOTA_CW_GLHF = 60;</code>
     */
    public static final int k_EDOTA_CW_GLHF_VALUE = 60;
    /**
     * <code>k_EDOTA_CW_Nice = 61;</code>
     */
    public static final int k_EDOTA_CW_Nice_VALUE = 61;
    /**
     * <code>k_EDOTA_CW_Thanks = 62;</code>
     */
    public static final int k_EDOTA_CW_Thanks_VALUE = 62;
    /**
     * <code>k_EDOTA_CW_Sorry = 63;</code>
     */
    public static final int k_EDOTA_CW_Sorry_VALUE = 63;
    /**
     * <code>k_EDOTA_CW_No_Give_Up = 64;</code>
     */
    public static final int k_EDOTA_CW_No_Give_Up_VALUE = 64;
    /**
     * <code>k_EDOTA_CW_Just_Happened = 65;</code>
     */
    public static final int k_EDOTA_CW_Just_Happened_VALUE = 65;
    /**
     * <code>k_EDOTA_CW_Game_Is_Hard = 66;</code>
     */
    public static final int k_EDOTA_CW_Game_Is_Hard_VALUE = 66;
    /**
     * <code>k_EDOTA_CW_New_Meta = 67;</code>
     */
    public static final int k_EDOTA_CW_New_Meta_VALUE = 67;
    /**
     * <code>k_EDOTA_CW_My_Bad = 68;</code>
     */
    public static final int k_EDOTA_CW_My_Bad_VALUE = 68;
    /**
     * <code>k_EDOTA_CW_Regret = 69;</code>
     */
    public static final int k_EDOTA_CW_Regret_VALUE = 69;
    /**
     * <code>k_EDOTA_CW_Relax = 70;</code>
     */
    public static final int k_EDOTA_CW_Relax_VALUE = 70;
    /**
     * <code>k_EDOTA_CW_MissingHero = 71;</code>
     */
    public static final int k_EDOTA_CW_MissingHero_VALUE = 71;


    public final int getNumber() { return value; }

    public static EDOTAChatWheelMessage valueOf(int value) {
      switch (value) {
        case 0: return k_EDOTA_CW_Ok;
        case 1: return k_EDOTA_CW_Care;
        case 2: return k_EDOTA_CW_GetBack;
        case 3: return k_EDOTA_CW_NeedWards;
        case 4: return k_EDOTA_CW_Stun;
        case 5: return k_EDOTA_CW_Help;
        case 6: return k_EDOTA_CW_Push;
        case 7: return k_EDOTA_CW_GoodJob;
        case 8: return k_EDOTA_CW_Missing;
        case 9: return k_EDOTA_CW_Missing_Top;
        case 10: return k_EDOTA_CW_Missing_Mid;
        case 11: return k_EDOTA_CW_Missing_Bottom;
        case 12: return k_EDOTA_CW_Go;
        case 13: return k_EDOTA_CW_Initiate;
        case 14: return k_EDOTA_CW_Follow;
        case 15: return k_EDOTA_CW_Group_Up;
        case 16: return k_EDOTA_CW_Spread_Out;
        case 17: return k_EDOTA_CW_Split_Farm;
        case 18: return k_EDOTA_CW_Attack;
        case 19: return k_EDOTA_CW_BRB;
        case 20: return k_EDOTA_CW_Dive;
        case 21: return k_EDOTA_CW_OMW;
        case 22: return k_EDOTA_CW_Get_Ready;
        case 23: return k_EDOTA_CW_Bait;
        case 24: return k_EDOTA_CW_Heal;
        case 25: return k_EDOTA_CW_Mana;
        case 26: return k_EDOTA_CW_OOM;
        case 27: return k_EDOTA_CW_Skill_Cooldown;
        case 28: return k_EDOTA_CW_Ulti_Ready;
        case 29: return k_EDOTA_CW_Enemy_Returned;
        case 30: return k_EDOTA_CW_All_Missing;
        case 31: return k_EDOTA_CW_Enemy_Incoming;
        case 32: return k_EDOTA_CW_Invis_Enemy;
        case 33: return k_EDOTA_CW_Enemy_Had_Rune;
        case 34: return k_EDOTA_CW_Split_Push;
        case 35: return k_EDOTA_CW_Coming_To_Gank;
        case 36: return k_EDOTA_CW_Request_Gank;
        case 37: return k_EDOTA_CW_Fight_Under_Tower;
        case 38: return k_EDOTA_CW_Deny_Tower;
        case 39: return k_EDOTA_CW_Buy_Courier;
        case 40: return k_EDOTA_CW_Upgrade_Courier;
        case 41: return k_EDOTA_CW_Need_Detection;
        case 42: return k_EDOTA_CW_They_Have_Detection;
        case 43: return k_EDOTA_CW_Buy_TP;
        case 44: return k_EDOTA_CW_Reuse_Courier;
        case 45: return k_EDOTA_CW_Deward;
        case 46: return k_EDOTA_CW_Building_Mek;
        case 47: return k_EDOTA_CW_Building_Pipe;
        case 48: return k_EDOTA_CW_Stack_And_Pull;
        case 49: return k_EDOTA_CW_Pull;
        case 50: return k_EDOTA_CW_Pulling;
        case 51: return k_EDOTA_CW_Stack;
        case 52: return k_EDOTA_CW_Jungling;
        case 53: return k_EDOTA_CW_Roshan;
        case 54: return k_EDOTA_CW_Affirmative;
        case 55: return k_EDOTA_CW_Wait;
        case 56: return k_EDOTA_CW_Pause;
        case 57: return k_EDOTA_CW_Current_Time;
        case 58: return k_EDOTA_CW_Check_Runes;
        case 59: return k_EDOTA_CW_Smoke_Gank;
        case 60: return k_EDOTA_CW_GLHF;
        case 61: return k_EDOTA_CW_Nice;
        case 62: return k_EDOTA_CW_Thanks;
        case 63: return k_EDOTA_CW_Sorry;
        case 64: return k_EDOTA_CW_No_Give_Up;
        case 65: return k_EDOTA_CW_Just_Happened;
        case 66: return k_EDOTA_CW_Game_Is_Hard;
        case 67: return k_EDOTA_CW_New_Meta;
        case 68: return k_EDOTA_CW_My_Bad;
        case 69: return k_EDOTA_CW_Regret;
        case 70: return k_EDOTA_CW_Relax;
        case 71: return k_EDOTA_CW_MissingHero;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<EDOTAChatWheelMessage>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap<EDOTAChatWheelMessage>
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<EDOTAChatWheelMessage>() {
            public EDOTAChatWheelMessage findValueByNumber(int number) {
              return EDOTAChatWheelMessage.valueOf(number);
            }
          };

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(index);
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return com.dota2.proto.DotaCommonmessages.getDescriptor().getEnumTypes().get(0);
    }

    private static final EDOTAChatWheelMessage[] VALUES = values();

    public static EDOTAChatWheelMessage valueOf(
        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
      if (desc.getType() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "EnumValueDescriptor is not for this type.");
      }
      return VALUES[desc.getIndex()];
    }

    private final int index;
    private final int value;

    private EDOTAChatWheelMessage(int index, int value) {
      this.index = index;
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:EDOTAChatWheelMessage)
  }

  /**
   * Protobuf enum {@code EDOTAStatPopupTypes}
   */
  public enum EDOTAStatPopupTypes
      implements com.google.protobuf.ProtocolMessageEnum {
    /**
     * <code>k_EDOTA_SPT_Textline = 0;</code>
     */
    k_EDOTA_SPT_Textline(0, 0),
    /**
     * <code>k_EDOTA_SPT_Basic = 1;</code>
     */
    k_EDOTA_SPT_Basic(1, 1),
    /**
     * <code>k_EDOTA_SPT_Poll = 2;</code>
     */
    k_EDOTA_SPT_Poll(2, 2),
    ;

    /**
     * <code>k_EDOTA_SPT_Textline = 0;</code>
     */
    public static final int k_EDOTA_SPT_Textline_VALUE = 0;
    /**
     * <code>k_EDOTA_SPT_Basic = 1;</code>
     */
    public static final int k_EDOTA_SPT_Basic_VALUE = 1;
    /**
     * <code>k_EDOTA_SPT_Poll = 2;</code>
     */
    public static final int k_EDOTA_SPT_Poll_VALUE = 2;


    public final int getNumber() { return value; }

    public static EDOTAStatPopupTypes valueOf(int value) {
      switch (value) {
        case 0: return k_EDOTA_SPT_Textline;
        case 1: return k_EDOTA_SPT_Basic;
        case 2: return k_EDOTA_SPT_Poll;
        default: return null;
      }
    }

    public static com.google.protobuf.Internal.EnumLiteMap<EDOTAStatPopupTypes>
        internalGetValueMap() {
      return internalValueMap;
    }
    private static com.google.protobuf.Internal.EnumLiteMap<EDOTAStatPopupTypes>
        internalValueMap =
          new com.google.protobuf.Internal.EnumLiteMap<EDOTAStatPopupTypes>() {
            public EDOTAStatPopupTypes findValueByNumber(int number) {
              return EDOTAStatPopupTypes.valueOf(number);
            }
          };

    public final com.google.protobuf.Descriptors.EnumValueDescriptor
        getValueDescriptor() {
      return getDescriptor().getValues().get(index);
    }
    public final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptorForType() {
      return getDescriptor();
    }
    public static final com.google.protobuf.Descriptors.EnumDescriptor
        getDescriptor() {
      return com.dota2.proto.DotaCommonmessages.getDescriptor().getEnumTypes().get(1);
    }

    private static final EDOTAStatPopupTypes[] VALUES = values();

    public static EDOTAStatPopupTypes valueOf(
        com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
      if (desc.getType() != getDescriptor()) {
        throw new java.lang.IllegalArgumentException(
          "EnumValueDescriptor is not for this type.");
      }
      return VALUES[desc.getIndex()];
    }

    private final int index;
    private final int value;

    private EDOTAStatPopupTypes(int index, int value) {
      this.index = index;
      this.value = value;
    }

    // @@protoc_insertion_point(enum_scope:EDOTAStatPopupTypes)
  }

  public interface CDOTAMsg_LocationPingOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 x = 1;
    /**
     * <code>optional int32 x = 1;</code>
     */
    boolean hasX();
    /**
     * <code>optional int32 x = 1;</code>
     */
    int getX();

    // optional int32 y = 2;
    /**
     * <code>optional int32 y = 2;</code>
     */
    boolean hasY();
    /**
     * <code>optional int32 y = 2;</code>
     */
    int getY();

    // optional int32 target = 3;
    /**
     * <code>optional int32 target = 3;</code>
     */
    boolean hasTarget();
    /**
     * <code>optional int32 target = 3;</code>
     */
    int getTarget();

    // optional bool direct_ping = 4;
    /**
     * <code>optional bool direct_ping = 4;</code>
     */
    boolean hasDirectPing();
    /**
     * <code>optional bool direct_ping = 4;</code>
     */
    boolean getDirectPing();

    // optional int32 type = 5;
    /**
     * <code>optional int32 type = 5;</code>
     */
    boolean hasType();
    /**
     * <code>optional int32 type = 5;</code>
     */
    int getType();
  }
  /**
   * Protobuf type {@code CDOTAMsg_LocationPing}
   */
  public static final class CDOTAMsg_LocationPing extends
      com.google.protobuf.GeneratedMessage
      implements CDOTAMsg_LocationPingOrBuilder {
    // Use CDOTAMsg_LocationPing.newBuilder() to construct.
    private CDOTAMsg_LocationPing(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CDOTAMsg_LocationPing(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CDOTAMsg_LocationPing defaultInstance;
    public static CDOTAMsg_LocationPing getDefaultInstance() {
      return defaultInstance;
    }

    public CDOTAMsg_LocationPing getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CDOTAMsg_LocationPing(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              x_ = input.readInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              y_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              target_ = input.readInt32();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              directPing_ = input.readBool();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              type_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_LocationPing_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_LocationPing_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing.class, com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing.Builder.class);
    }

    public static com.google.protobuf.Parser<CDOTAMsg_LocationPing> PARSER =
        new com.google.protobuf.AbstractParser<CDOTAMsg_LocationPing>() {
      public CDOTAMsg_LocationPing parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CDOTAMsg_LocationPing(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<CDOTAMsg_LocationPing> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional int32 x = 1;
    public static final int X_FIELD_NUMBER = 1;
    private int x_;
    /**
     * <code>optional int32 x = 1;</code>
     */
    public boolean hasX() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional int32 x = 1;</code>
     */
    public int getX() {
      return x_;
    }

    // optional int32 y = 2;
    public static final int Y_FIELD_NUMBER = 2;
    private int y_;
    /**
     * <code>optional int32 y = 2;</code>
     */
    public boolean hasY() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional int32 y = 2;</code>
     */
    public int getY() {
      return y_;
    }

    // optional int32 target = 3;
    public static final int TARGET_FIELD_NUMBER = 3;
    private int target_;
    /**
     * <code>optional int32 target = 3;</code>
     */
    public boolean hasTarget() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional int32 target = 3;</code>
     */
    public int getTarget() {
      return target_;
    }

    // optional bool direct_ping = 4;
    public static final int DIRECT_PING_FIELD_NUMBER = 4;
    private boolean directPing_;
    /**
     * <code>optional bool direct_ping = 4;</code>
     */
    public boolean hasDirectPing() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>optional bool direct_ping = 4;</code>
     */
    public boolean getDirectPing() {
      return directPing_;
    }

    // optional int32 type = 5;
    public static final int TYPE_FIELD_NUMBER = 5;
    private int type_;
    /**
     * <code>optional int32 type = 5;</code>
     */
    public boolean hasType() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <code>optional int32 type = 5;</code>
     */
    public int getType() {
      return type_;
    }

    private void initFields() {
      x_ = 0;
      y_ = 0;
      target_ = 0;
      directPing_ = false;
      type_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, x_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, y_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(3, target_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeBool(4, directPing_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeInt32(5, type_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, x_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, y_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, target_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(4, directPing_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(5, type_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CDOTAMsg_LocationPing}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPingOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_LocationPing_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_LocationPing_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing.class, com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing.Builder.class);
      }

      // Construct using com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        x_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        y_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        target_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        directPing_ = false;
        bitField0_ = (bitField0_ & ~0x00000008);
        type_ = 0;
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_LocationPing_descriptor;
      }

      public com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing getDefaultInstanceForType() {
        return com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing.getDefaultInstance();
      }

      public com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing build() {
        com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing buildPartial() {
        com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing result = new com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.x_ = x_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.y_ = y_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.target_ = target_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.directPing_ = directPing_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.type_ = type_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing) {
          return mergeFrom((com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing other) {
        if (other == com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing.getDefaultInstance()) return this;
        if (other.hasX()) {
          setX(other.getX());
        }
        if (other.hasY()) {
          setY(other.getY());
        }
        if (other.hasTarget()) {
          setTarget(other.getTarget());
        }
        if (other.hasDirectPing()) {
          setDirectPing(other.getDirectPing());
        }
        if (other.hasType()) {
          setType(other.getType());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.DotaCommonmessages.CDOTAMsg_LocationPing) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 x = 1;
      private int x_ ;
      /**
       * <code>optional int32 x = 1;</code>
       */
      public boolean hasX() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional int32 x = 1;</code>
       */
      public int getX() {
        return x_;
      }
      /**
       * <code>optional int32 x = 1;</code>
       */
      public Builder setX(int value) {
        bitField0_ |= 0x00000001;
        x_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 x = 1;</code>
       */
      public Builder clearX() {
        bitField0_ = (bitField0_ & ~0x00000001);
        x_ = 0;
        onChanged();
        return this;
      }

      // optional int32 y = 2;
      private int y_ ;
      /**
       * <code>optional int32 y = 2;</code>
       */
      public boolean hasY() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional int32 y = 2;</code>
       */
      public int getY() {
        return y_;
      }
      /**
       * <code>optional int32 y = 2;</code>
       */
      public Builder setY(int value) {
        bitField0_ |= 0x00000002;
        y_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 y = 2;</code>
       */
      public Builder clearY() {
        bitField0_ = (bitField0_ & ~0x00000002);
        y_ = 0;
        onChanged();
        return this;
      }

      // optional int32 target = 3;
      private int target_ ;
      /**
       * <code>optional int32 target = 3;</code>
       */
      public boolean hasTarget() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional int32 target = 3;</code>
       */
      public int getTarget() {
        return target_;
      }
      /**
       * <code>optional int32 target = 3;</code>
       */
      public Builder setTarget(int value) {
        bitField0_ |= 0x00000004;
        target_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 target = 3;</code>
       */
      public Builder clearTarget() {
        bitField0_ = (bitField0_ & ~0x00000004);
        target_ = 0;
        onChanged();
        return this;
      }

      // optional bool direct_ping = 4;
      private boolean directPing_ ;
      /**
       * <code>optional bool direct_ping = 4;</code>
       */
      public boolean hasDirectPing() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional bool direct_ping = 4;</code>
       */
      public boolean getDirectPing() {
        return directPing_;
      }
      /**
       * <code>optional bool direct_ping = 4;</code>
       */
      public Builder setDirectPing(boolean value) {
        bitField0_ |= 0x00000008;
        directPing_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool direct_ping = 4;</code>
       */
      public Builder clearDirectPing() {
        bitField0_ = (bitField0_ & ~0x00000008);
        directPing_ = false;
        onChanged();
        return this;
      }

      // optional int32 type = 5;
      private int type_ ;
      /**
       * <code>optional int32 type = 5;</code>
       */
      public boolean hasType() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional int32 type = 5;</code>
       */
      public int getType() {
        return type_;
      }
      /**
       * <code>optional int32 type = 5;</code>
       */
      public Builder setType(int value) {
        bitField0_ |= 0x00000010;
        type_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 type = 5;</code>
       */
      public Builder clearType() {
        bitField0_ = (bitField0_ & ~0x00000010);
        type_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CDOTAMsg_LocationPing)
    }

    static {
      defaultInstance = new CDOTAMsg_LocationPing(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CDOTAMsg_LocationPing)
  }

  public interface CDOTAMsg_ItemAlertOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 x = 1;
    /**
     * <code>optional int32 x = 1;</code>
     */
    boolean hasX();
    /**
     * <code>optional int32 x = 1;</code>
     */
    int getX();

    // optional int32 y = 2;
    /**
     * <code>optional int32 y = 2;</code>
     */
    boolean hasY();
    /**
     * <code>optional int32 y = 2;</code>
     */
    int getY();

    // optional int32 itemid = 3;
    /**
     * <code>optional int32 itemid = 3;</code>
     */
    boolean hasItemid();
    /**
     * <code>optional int32 itemid = 3;</code>
     */
    int getItemid();
  }
  /**
   * Protobuf type {@code CDOTAMsg_ItemAlert}
   */
  public static final class CDOTAMsg_ItemAlert extends
      com.google.protobuf.GeneratedMessage
      implements CDOTAMsg_ItemAlertOrBuilder {
    // Use CDOTAMsg_ItemAlert.newBuilder() to construct.
    private CDOTAMsg_ItemAlert(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CDOTAMsg_ItemAlert(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CDOTAMsg_ItemAlert defaultInstance;
    public static CDOTAMsg_ItemAlert getDefaultInstance() {
      return defaultInstance;
    }

    public CDOTAMsg_ItemAlert getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CDOTAMsg_ItemAlert(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              x_ = input.readInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              y_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              itemid_ = input.readInt32();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_ItemAlert_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_ItemAlert_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert.class, com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert.Builder.class);
    }

    public static com.google.protobuf.Parser<CDOTAMsg_ItemAlert> PARSER =
        new com.google.protobuf.AbstractParser<CDOTAMsg_ItemAlert>() {
      public CDOTAMsg_ItemAlert parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CDOTAMsg_ItemAlert(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<CDOTAMsg_ItemAlert> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional int32 x = 1;
    public static final int X_FIELD_NUMBER = 1;
    private int x_;
    /**
     * <code>optional int32 x = 1;</code>
     */
    public boolean hasX() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional int32 x = 1;</code>
     */
    public int getX() {
      return x_;
    }

    // optional int32 y = 2;
    public static final int Y_FIELD_NUMBER = 2;
    private int y_;
    /**
     * <code>optional int32 y = 2;</code>
     */
    public boolean hasY() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional int32 y = 2;</code>
     */
    public int getY() {
      return y_;
    }

    // optional int32 itemid = 3;
    public static final int ITEMID_FIELD_NUMBER = 3;
    private int itemid_;
    /**
     * <code>optional int32 itemid = 3;</code>
     */
    public boolean hasItemid() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional int32 itemid = 3;</code>
     */
    public int getItemid() {
      return itemid_;
    }

    private void initFields() {
      x_ = 0;
      y_ = 0;
      itemid_ = 0;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, x_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, y_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(3, itemid_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, x_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, y_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, itemid_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CDOTAMsg_ItemAlert}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlertOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_ItemAlert_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_ItemAlert_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert.class, com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert.Builder.class);
      }

      // Construct using com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        x_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        y_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        itemid_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_ItemAlert_descriptor;
      }

      public com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert getDefaultInstanceForType() {
        return com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert.getDefaultInstance();
      }

      public com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert build() {
        com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert buildPartial() {
        com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert result = new com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.x_ = x_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.y_ = y_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.itemid_ = itemid_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert) {
          return mergeFrom((com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert other) {
        if (other == com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert.getDefaultInstance()) return this;
        if (other.hasX()) {
          setX(other.getX());
        }
        if (other.hasY()) {
          setY(other.getY());
        }
        if (other.hasItemid()) {
          setItemid(other.getItemid());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.DotaCommonmessages.CDOTAMsg_ItemAlert) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 x = 1;
      private int x_ ;
      /**
       * <code>optional int32 x = 1;</code>
       */
      public boolean hasX() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional int32 x = 1;</code>
       */
      public int getX() {
        return x_;
      }
      /**
       * <code>optional int32 x = 1;</code>
       */
      public Builder setX(int value) {
        bitField0_ |= 0x00000001;
        x_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 x = 1;</code>
       */
      public Builder clearX() {
        bitField0_ = (bitField0_ & ~0x00000001);
        x_ = 0;
        onChanged();
        return this;
      }

      // optional int32 y = 2;
      private int y_ ;
      /**
       * <code>optional int32 y = 2;</code>
       */
      public boolean hasY() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional int32 y = 2;</code>
       */
      public int getY() {
        return y_;
      }
      /**
       * <code>optional int32 y = 2;</code>
       */
      public Builder setY(int value) {
        bitField0_ |= 0x00000002;
        y_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 y = 2;</code>
       */
      public Builder clearY() {
        bitField0_ = (bitField0_ & ~0x00000002);
        y_ = 0;
        onChanged();
        return this;
      }

      // optional int32 itemid = 3;
      private int itemid_ ;
      /**
       * <code>optional int32 itemid = 3;</code>
       */
      public boolean hasItemid() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional int32 itemid = 3;</code>
       */
      public int getItemid() {
        return itemid_;
      }
      /**
       * <code>optional int32 itemid = 3;</code>
       */
      public Builder setItemid(int value) {
        bitField0_ |= 0x00000004;
        itemid_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 itemid = 3;</code>
       */
      public Builder clearItemid() {
        bitField0_ = (bitField0_ & ~0x00000004);
        itemid_ = 0;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CDOTAMsg_ItemAlert)
    }

    static {
      defaultInstance = new CDOTAMsg_ItemAlert(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CDOTAMsg_ItemAlert)
  }

  public interface CDOTAMsg_MapLineOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 x = 1;
    /**
     * <code>optional int32 x = 1;</code>
     */
    boolean hasX();
    /**
     * <code>optional int32 x = 1;</code>
     */
    int getX();

    // optional int32 y = 2;
    /**
     * <code>optional int32 y = 2;</code>
     */
    boolean hasY();
    /**
     * <code>optional int32 y = 2;</code>
     */
    int getY();

    // optional bool initial = 3;
    /**
     * <code>optional bool initial = 3;</code>
     */
    boolean hasInitial();
    /**
     * <code>optional bool initial = 3;</code>
     */
    boolean getInitial();
  }
  /**
   * Protobuf type {@code CDOTAMsg_MapLine}
   */
  public static final class CDOTAMsg_MapLine extends
      com.google.protobuf.GeneratedMessage
      implements CDOTAMsg_MapLineOrBuilder {
    // Use CDOTAMsg_MapLine.newBuilder() to construct.
    private CDOTAMsg_MapLine(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CDOTAMsg_MapLine(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CDOTAMsg_MapLine defaultInstance;
    public static CDOTAMsg_MapLine getDefaultInstance() {
      return defaultInstance;
    }

    public CDOTAMsg_MapLine getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CDOTAMsg_MapLine(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              x_ = input.readInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              y_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              initial_ = input.readBool();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_MapLine_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_MapLine_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine.class, com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine.Builder.class);
    }

    public static com.google.protobuf.Parser<CDOTAMsg_MapLine> PARSER =
        new com.google.protobuf.AbstractParser<CDOTAMsg_MapLine>() {
      public CDOTAMsg_MapLine parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CDOTAMsg_MapLine(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<CDOTAMsg_MapLine> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional int32 x = 1;
    public static final int X_FIELD_NUMBER = 1;
    private int x_;
    /**
     * <code>optional int32 x = 1;</code>
     */
    public boolean hasX() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional int32 x = 1;</code>
     */
    public int getX() {
      return x_;
    }

    // optional int32 y = 2;
    public static final int Y_FIELD_NUMBER = 2;
    private int y_;
    /**
     * <code>optional int32 y = 2;</code>
     */
    public boolean hasY() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional int32 y = 2;</code>
     */
    public int getY() {
      return y_;
    }

    // optional bool initial = 3;
    public static final int INITIAL_FIELD_NUMBER = 3;
    private boolean initial_;
    /**
     * <code>optional bool initial = 3;</code>
     */
    public boolean hasInitial() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional bool initial = 3;</code>
     */
    public boolean getInitial() {
      return initial_;
    }

    private void initFields() {
      x_ = 0;
      y_ = 0;
      initial_ = false;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, x_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, y_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBool(3, initial_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, x_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, y_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(3, initial_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CDOTAMsg_MapLine}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLineOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_MapLine_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_MapLine_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine.class, com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine.Builder.class);
      }

      // Construct using com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        x_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        y_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        initial_ = false;
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_MapLine_descriptor;
      }

      public com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine getDefaultInstanceForType() {
        return com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine.getDefaultInstance();
      }

      public com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine build() {
        com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine buildPartial() {
        com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine result = new com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.x_ = x_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.y_ = y_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.initial_ = initial_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine) {
          return mergeFrom((com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine other) {
        if (other == com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine.getDefaultInstance()) return this;
        if (other.hasX()) {
          setX(other.getX());
        }
        if (other.hasY()) {
          setY(other.getY());
        }
        if (other.hasInitial()) {
          setInitial(other.getInitial());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.DotaCommonmessages.CDOTAMsg_MapLine) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 x = 1;
      private int x_ ;
      /**
       * <code>optional int32 x = 1;</code>
       */
      public boolean hasX() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional int32 x = 1;</code>
       */
      public int getX() {
        return x_;
      }
      /**
       * <code>optional int32 x = 1;</code>
       */
      public Builder setX(int value) {
        bitField0_ |= 0x00000001;
        x_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 x = 1;</code>
       */
      public Builder clearX() {
        bitField0_ = (bitField0_ & ~0x00000001);
        x_ = 0;
        onChanged();
        return this;
      }

      // optional int32 y = 2;
      private int y_ ;
      /**
       * <code>optional int32 y = 2;</code>
       */
      public boolean hasY() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional int32 y = 2;</code>
       */
      public int getY() {
        return y_;
      }
      /**
       * <code>optional int32 y = 2;</code>
       */
      public Builder setY(int value) {
        bitField0_ |= 0x00000002;
        y_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 y = 2;</code>
       */
      public Builder clearY() {
        bitField0_ = (bitField0_ & ~0x00000002);
        y_ = 0;
        onChanged();
        return this;
      }

      // optional bool initial = 3;
      private boolean initial_ ;
      /**
       * <code>optional bool initial = 3;</code>
       */
      public boolean hasInitial() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional bool initial = 3;</code>
       */
      public boolean getInitial() {
        return initial_;
      }
      /**
       * <code>optional bool initial = 3;</code>
       */
      public Builder setInitial(boolean value) {
        bitField0_ |= 0x00000004;
        initial_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool initial = 3;</code>
       */
      public Builder clearInitial() {
        bitField0_ = (bitField0_ & ~0x00000004);
        initial_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CDOTAMsg_MapLine)
    }

    static {
      defaultInstance = new CDOTAMsg_MapLine(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CDOTAMsg_MapLine)
  }

  public interface CDOTAMsg_WorldLineOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional int32 x = 1;
    /**
     * <code>optional int32 x = 1;</code>
     */
    boolean hasX();
    /**
     * <code>optional int32 x = 1;</code>
     */
    int getX();

    // optional int32 y = 2;
    /**
     * <code>optional int32 y = 2;</code>
     */
    boolean hasY();
    /**
     * <code>optional int32 y = 2;</code>
     */
    int getY();

    // optional int32 z = 3;
    /**
     * <code>optional int32 z = 3;</code>
     */
    boolean hasZ();
    /**
     * <code>optional int32 z = 3;</code>
     */
    int getZ();

    // optional bool initial = 4;
    /**
     * <code>optional bool initial = 4;</code>
     */
    boolean hasInitial();
    /**
     * <code>optional bool initial = 4;</code>
     */
    boolean getInitial();

    // optional bool end = 5;
    /**
     * <code>optional bool end = 5;</code>
     */
    boolean hasEnd();
    /**
     * <code>optional bool end = 5;</code>
     */
    boolean getEnd();
  }
  /**
   * Protobuf type {@code CDOTAMsg_WorldLine}
   */
  public static final class CDOTAMsg_WorldLine extends
      com.google.protobuf.GeneratedMessage
      implements CDOTAMsg_WorldLineOrBuilder {
    // Use CDOTAMsg_WorldLine.newBuilder() to construct.
    private CDOTAMsg_WorldLine(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CDOTAMsg_WorldLine(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CDOTAMsg_WorldLine defaultInstance;
    public static CDOTAMsg_WorldLine getDefaultInstance() {
      return defaultInstance;
    }

    public CDOTAMsg_WorldLine getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CDOTAMsg_WorldLine(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              x_ = input.readInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              y_ = input.readInt32();
              break;
            }
            case 24: {
              bitField0_ |= 0x00000004;
              z_ = input.readInt32();
              break;
            }
            case 32: {
              bitField0_ |= 0x00000008;
              initial_ = input.readBool();
              break;
            }
            case 40: {
              bitField0_ |= 0x00000010;
              end_ = input.readBool();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_WorldLine_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_WorldLine_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine.class, com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine.Builder.class);
    }

    public static com.google.protobuf.Parser<CDOTAMsg_WorldLine> PARSER =
        new com.google.protobuf.AbstractParser<CDOTAMsg_WorldLine>() {
      public CDOTAMsg_WorldLine parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CDOTAMsg_WorldLine(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<CDOTAMsg_WorldLine> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional int32 x = 1;
    public static final int X_FIELD_NUMBER = 1;
    private int x_;
    /**
     * <code>optional int32 x = 1;</code>
     */
    public boolean hasX() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional int32 x = 1;</code>
     */
    public int getX() {
      return x_;
    }

    // optional int32 y = 2;
    public static final int Y_FIELD_NUMBER = 2;
    private int y_;
    /**
     * <code>optional int32 y = 2;</code>
     */
    public boolean hasY() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional int32 y = 2;</code>
     */
    public int getY() {
      return y_;
    }

    // optional int32 z = 3;
    public static final int Z_FIELD_NUMBER = 3;
    private int z_;
    /**
     * <code>optional int32 z = 3;</code>
     */
    public boolean hasZ() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional int32 z = 3;</code>
     */
    public int getZ() {
      return z_;
    }

    // optional bool initial = 4;
    public static final int INITIAL_FIELD_NUMBER = 4;
    private boolean initial_;
    /**
     * <code>optional bool initial = 4;</code>
     */
    public boolean hasInitial() {
      return ((bitField0_ & 0x00000008) == 0x00000008);
    }
    /**
     * <code>optional bool initial = 4;</code>
     */
    public boolean getInitial() {
      return initial_;
    }

    // optional bool end = 5;
    public static final int END_FIELD_NUMBER = 5;
    private boolean end_;
    /**
     * <code>optional bool end = 5;</code>
     */
    public boolean hasEnd() {
      return ((bitField0_ & 0x00000010) == 0x00000010);
    }
    /**
     * <code>optional bool end = 5;</code>
     */
    public boolean getEnd() {
      return end_;
    }

    private void initFields() {
      x_ = 0;
      y_ = 0;
      z_ = 0;
      initial_ = false;
      end_ = false;
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeInt32(1, x_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeInt32(2, y_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeInt32(3, z_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        output.writeBool(4, initial_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        output.writeBool(5, end_);
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(1, x_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(2, y_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeInt32Size(3, z_);
      }
      if (((bitField0_ & 0x00000008) == 0x00000008)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(4, initial_);
      }
      if (((bitField0_ & 0x00000010) == 0x00000010)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBoolSize(5, end_);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CDOTAMsg_WorldLine}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLineOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_WorldLine_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_WorldLine_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine.class, com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine.Builder.class);
      }

      // Construct using com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        x_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        y_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        z_ = 0;
        bitField0_ = (bitField0_ & ~0x00000004);
        initial_ = false;
        bitField0_ = (bitField0_ & ~0x00000008);
        end_ = false;
        bitField0_ = (bitField0_ & ~0x00000010);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_WorldLine_descriptor;
      }

      public com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine getDefaultInstanceForType() {
        return com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine.getDefaultInstance();
      }

      public com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine build() {
        com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine buildPartial() {
        com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine result = new com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.x_ = x_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.y_ = y_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.z_ = z_;
        if (((from_bitField0_ & 0x00000008) == 0x00000008)) {
          to_bitField0_ |= 0x00000008;
        }
        result.initial_ = initial_;
        if (((from_bitField0_ & 0x00000010) == 0x00000010)) {
          to_bitField0_ |= 0x00000010;
        }
        result.end_ = end_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine) {
          return mergeFrom((com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine other) {
        if (other == com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine.getDefaultInstance()) return this;
        if (other.hasX()) {
          setX(other.getX());
        }
        if (other.hasY()) {
          setY(other.getY());
        }
        if (other.hasZ()) {
          setZ(other.getZ());
        }
        if (other.hasInitial()) {
          setInitial(other.getInitial());
        }
        if (other.hasEnd()) {
          setEnd(other.getEnd());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.DotaCommonmessages.CDOTAMsg_WorldLine) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional int32 x = 1;
      private int x_ ;
      /**
       * <code>optional int32 x = 1;</code>
       */
      public boolean hasX() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional int32 x = 1;</code>
       */
      public int getX() {
        return x_;
      }
      /**
       * <code>optional int32 x = 1;</code>
       */
      public Builder setX(int value) {
        bitField0_ |= 0x00000001;
        x_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 x = 1;</code>
       */
      public Builder clearX() {
        bitField0_ = (bitField0_ & ~0x00000001);
        x_ = 0;
        onChanged();
        return this;
      }

      // optional int32 y = 2;
      private int y_ ;
      /**
       * <code>optional int32 y = 2;</code>
       */
      public boolean hasY() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional int32 y = 2;</code>
       */
      public int getY() {
        return y_;
      }
      /**
       * <code>optional int32 y = 2;</code>
       */
      public Builder setY(int value) {
        bitField0_ |= 0x00000002;
        y_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 y = 2;</code>
       */
      public Builder clearY() {
        bitField0_ = (bitField0_ & ~0x00000002);
        y_ = 0;
        onChanged();
        return this;
      }

      // optional int32 z = 3;
      private int z_ ;
      /**
       * <code>optional int32 z = 3;</code>
       */
      public boolean hasZ() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional int32 z = 3;</code>
       */
      public int getZ() {
        return z_;
      }
      /**
       * <code>optional int32 z = 3;</code>
       */
      public Builder setZ(int value) {
        bitField0_ |= 0x00000004;
        z_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional int32 z = 3;</code>
       */
      public Builder clearZ() {
        bitField0_ = (bitField0_ & ~0x00000004);
        z_ = 0;
        onChanged();
        return this;
      }

      // optional bool initial = 4;
      private boolean initial_ ;
      /**
       * <code>optional bool initial = 4;</code>
       */
      public boolean hasInitial() {
        return ((bitField0_ & 0x00000008) == 0x00000008);
      }
      /**
       * <code>optional bool initial = 4;</code>
       */
      public boolean getInitial() {
        return initial_;
      }
      /**
       * <code>optional bool initial = 4;</code>
       */
      public Builder setInitial(boolean value) {
        bitField0_ |= 0x00000008;
        initial_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool initial = 4;</code>
       */
      public Builder clearInitial() {
        bitField0_ = (bitField0_ & ~0x00000008);
        initial_ = false;
        onChanged();
        return this;
      }

      // optional bool end = 5;
      private boolean end_ ;
      /**
       * <code>optional bool end = 5;</code>
       */
      public boolean hasEnd() {
        return ((bitField0_ & 0x00000010) == 0x00000010);
      }
      /**
       * <code>optional bool end = 5;</code>
       */
      public boolean getEnd() {
        return end_;
      }
      /**
       * <code>optional bool end = 5;</code>
       */
      public Builder setEnd(boolean value) {
        bitField0_ |= 0x00000010;
        end_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional bool end = 5;</code>
       */
      public Builder clearEnd() {
        bitField0_ = (bitField0_ & ~0x00000010);
        end_ = false;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CDOTAMsg_WorldLine)
    }

    static {
      defaultInstance = new CDOTAMsg_WorldLine(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CDOTAMsg_WorldLine)
  }

  public interface CDOTAMsg_SendStatPopupOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional .EDOTAStatPopupTypes style = 1 [default = k_EDOTA_SPT_Textline];
    /**
     * <code>optional .EDOTAStatPopupTypes style = 1 [default = k_EDOTA_SPT_Textline];</code>
     */
    boolean hasStyle();
    /**
     * <code>optional .EDOTAStatPopupTypes style = 1 [default = k_EDOTA_SPT_Textline];</code>
     */
    com.dota2.proto.DotaCommonmessages.EDOTAStatPopupTypes getStyle();

    // repeated string stat_strings = 2;
    /**
     * <code>repeated string stat_strings = 2;</code>
     */
    java.util.List<java.lang.String>
    getStatStringsList();
    /**
     * <code>repeated string stat_strings = 2;</code>
     */
    int getStatStringsCount();
    /**
     * <code>repeated string stat_strings = 2;</code>
     */
    java.lang.String getStatStrings(int index);
    /**
     * <code>repeated string stat_strings = 2;</code>
     */
    com.google.protobuf.ByteString
        getStatStringsBytes(int index);

    // repeated int32 stat_images = 3;
    /**
     * <code>repeated int32 stat_images = 3;</code>
     */
    java.util.List<java.lang.Integer> getStatImagesList();
    /**
     * <code>repeated int32 stat_images = 3;</code>
     */
    int getStatImagesCount();
    /**
     * <code>repeated int32 stat_images = 3;</code>
     */
    int getStatImages(int index);
  }
  /**
   * Protobuf type {@code CDOTAMsg_SendStatPopup}
   */
  public static final class CDOTAMsg_SendStatPopup extends
      com.google.protobuf.GeneratedMessage
      implements CDOTAMsg_SendStatPopupOrBuilder {
    // Use CDOTAMsg_SendStatPopup.newBuilder() to construct.
    private CDOTAMsg_SendStatPopup(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CDOTAMsg_SendStatPopup(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CDOTAMsg_SendStatPopup defaultInstance;
    public static CDOTAMsg_SendStatPopup getDefaultInstance() {
      return defaultInstance;
    }

    public CDOTAMsg_SendStatPopup getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CDOTAMsg_SendStatPopup(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              int rawValue = input.readEnum();
              com.dota2.proto.DotaCommonmessages.EDOTAStatPopupTypes value = com.dota2.proto.DotaCommonmessages.EDOTAStatPopupTypes.valueOf(rawValue);
              if (value == null) {
                unknownFields.mergeVarintField(1, rawValue);
              } else {
                bitField0_ |= 0x00000001;
                style_ = value;
              }
              break;
            }
            case 18: {
              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
                statStrings_ = new com.google.protobuf.LazyStringArrayList();
                mutable_bitField0_ |= 0x00000002;
              }
              statStrings_.add(input.readBytes());
              break;
            }
            case 24: {
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
                statImages_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000004;
              }
              statImages_.add(input.readInt32());
              break;
            }
            case 26: {
              int length = input.readRawVarint32();
              int limit = input.pushLimit(length);
              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004) && input.getBytesUntilLimit() > 0) {
                statImages_ = new java.util.ArrayList<java.lang.Integer>();
                mutable_bitField0_ |= 0x00000004;
              }
              while (input.getBytesUntilLimit() > 0) {
                statImages_.add(input.readInt32());
              }
              input.popLimit(limit);
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
          statStrings_ = new com.google.protobuf.UnmodifiableLazyStringList(statStrings_);
        }
        if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
          statImages_ = java.util.Collections.unmodifiableList(statImages_);
        }
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_SendStatPopup_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_SendStatPopup_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup.class, com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup.Builder.class);
    }

    public static com.google.protobuf.Parser<CDOTAMsg_SendStatPopup> PARSER =
        new com.google.protobuf.AbstractParser<CDOTAMsg_SendStatPopup>() {
      public CDOTAMsg_SendStatPopup parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CDOTAMsg_SendStatPopup(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<CDOTAMsg_SendStatPopup> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional .EDOTAStatPopupTypes style = 1 [default = k_EDOTA_SPT_Textline];
    public static final int STYLE_FIELD_NUMBER = 1;
    private com.dota2.proto.DotaCommonmessages.EDOTAStatPopupTypes style_;
    /**
     * <code>optional .EDOTAStatPopupTypes style = 1 [default = k_EDOTA_SPT_Textline];</code>
     */
    public boolean hasStyle() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional .EDOTAStatPopupTypes style = 1 [default = k_EDOTA_SPT_Textline];</code>
     */
    public com.dota2.proto.DotaCommonmessages.EDOTAStatPopupTypes getStyle() {
      return style_;
    }

    // repeated string stat_strings = 2;
    public static final int STAT_STRINGS_FIELD_NUMBER = 2;
    private com.google.protobuf.LazyStringList statStrings_;
    /**
     * <code>repeated string stat_strings = 2;</code>
     */
    public java.util.List<java.lang.String>
        getStatStringsList() {
      return statStrings_;
    }
    /**
     * <code>repeated string stat_strings = 2;</code>
     */
    public int getStatStringsCount() {
      return statStrings_.size();
    }
    /**
     * <code>repeated string stat_strings = 2;</code>
     */
    public java.lang.String getStatStrings(int index) {
      return statStrings_.get(index);
    }
    /**
     * <code>repeated string stat_strings = 2;</code>
     */
    public com.google.protobuf.ByteString
        getStatStringsBytes(int index) {
      return statStrings_.getByteString(index);
    }

    // repeated int32 stat_images = 3;
    public static final int STAT_IMAGES_FIELD_NUMBER = 3;
    private java.util.List<java.lang.Integer> statImages_;
    /**
     * <code>repeated int32 stat_images = 3;</code>
     */
    public java.util.List<java.lang.Integer>
        getStatImagesList() {
      return statImages_;
    }
    /**
     * <code>repeated int32 stat_images = 3;</code>
     */
    public int getStatImagesCount() {
      return statImages_.size();
    }
    /**
     * <code>repeated int32 stat_images = 3;</code>
     */
    public int getStatImages(int index) {
      return statImages_.get(index);
    }

    private void initFields() {
      style_ = com.dota2.proto.DotaCommonmessages.EDOTAStatPopupTypes.k_EDOTA_SPT_Textline;
      statStrings_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      statImages_ = java.util.Collections.emptyList();
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeEnum(1, style_.getNumber());
      }
      for (int i = 0; i < statStrings_.size(); i++) {
        output.writeBytes(2, statStrings_.getByteString(i));
      }
      for (int i = 0; i < statImages_.size(); i++) {
        output.writeInt32(3, statImages_.get(i));
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeEnumSize(1, style_.getNumber());
      }
      {
        int dataSize = 0;
        for (int i = 0; i < statStrings_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeBytesSizeNoTag(statStrings_.getByteString(i));
        }
        size += dataSize;
        size += 1 * getStatStringsList().size();
      }
      {
        int dataSize = 0;
        for (int i = 0; i < statImages_.size(); i++) {
          dataSize += com.google.protobuf.CodedOutputStream
            .computeInt32SizeNoTag(statImages_.get(i));
        }
        size += dataSize;
        size += 1 * getStatImagesList().size();
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CDOTAMsg_SendStatPopup}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopupOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_SendStatPopup_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_SendStatPopup_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup.class, com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup.Builder.class);
      }

      // Construct using com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        style_ = com.dota2.proto.DotaCommonmessages.EDOTAStatPopupTypes.k_EDOTA_SPT_Textline;
        bitField0_ = (bitField0_ & ~0x00000001);
        statStrings_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        statImages_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_SendStatPopup_descriptor;
      }

      public com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup getDefaultInstanceForType() {
        return com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup.getDefaultInstance();
      }

      public com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup build() {
        com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup buildPartial() {
        com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup result = new com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.style_ = style_;
        if (((bitField0_ & 0x00000002) == 0x00000002)) {
          statStrings_ = new com.google.protobuf.UnmodifiableLazyStringList(
              statStrings_);
          bitField0_ = (bitField0_ & ~0x00000002);
        }
        result.statStrings_ = statStrings_;
        if (((bitField0_ & 0x00000004) == 0x00000004)) {
          statImages_ = java.util.Collections.unmodifiableList(statImages_);
          bitField0_ = (bitField0_ & ~0x00000004);
        }
        result.statImages_ = statImages_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup) {
          return mergeFrom((com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup other) {
        if (other == com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup.getDefaultInstance()) return this;
        if (other.hasStyle()) {
          setStyle(other.getStyle());
        }
        if (!other.statStrings_.isEmpty()) {
          if (statStrings_.isEmpty()) {
            statStrings_ = other.statStrings_;
            bitField0_ = (bitField0_ & ~0x00000002);
          } else {
            ensureStatStringsIsMutable();
            statStrings_.addAll(other.statStrings_);
          }
          onChanged();
        }
        if (!other.statImages_.isEmpty()) {
          if (statImages_.isEmpty()) {
            statImages_ = other.statImages_;
            bitField0_ = (bitField0_ & ~0x00000004);
          } else {
            ensureStatImagesIsMutable();
            statImages_.addAll(other.statImages_);
          }
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.DotaCommonmessages.CDOTAMsg_SendStatPopup) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional .EDOTAStatPopupTypes style = 1 [default = k_EDOTA_SPT_Textline];
      private com.dota2.proto.DotaCommonmessages.EDOTAStatPopupTypes style_ = com.dota2.proto.DotaCommonmessages.EDOTAStatPopupTypes.k_EDOTA_SPT_Textline;
      /**
       * <code>optional .EDOTAStatPopupTypes style = 1 [default = k_EDOTA_SPT_Textline];</code>
       */
      public boolean hasStyle() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional .EDOTAStatPopupTypes style = 1 [default = k_EDOTA_SPT_Textline];</code>
       */
      public com.dota2.proto.DotaCommonmessages.EDOTAStatPopupTypes getStyle() {
        return style_;
      }
      /**
       * <code>optional .EDOTAStatPopupTypes style = 1 [default = k_EDOTA_SPT_Textline];</code>
       */
      public Builder setStyle(com.dota2.proto.DotaCommonmessages.EDOTAStatPopupTypes value) {
        if (value == null) {
          throw new NullPointerException();
        }
        bitField0_ |= 0x00000001;
        style_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional .EDOTAStatPopupTypes style = 1 [default = k_EDOTA_SPT_Textline];</code>
       */
      public Builder clearStyle() {
        bitField0_ = (bitField0_ & ~0x00000001);
        style_ = com.dota2.proto.DotaCommonmessages.EDOTAStatPopupTypes.k_EDOTA_SPT_Textline;
        onChanged();
        return this;
      }

      // repeated string stat_strings = 2;
      private com.google.protobuf.LazyStringList statStrings_ = com.google.protobuf.LazyStringArrayList.EMPTY;
      private void ensureStatStringsIsMutable() {
        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
          statStrings_ = new com.google.protobuf.LazyStringArrayList(statStrings_);
          bitField0_ |= 0x00000002;
         }
      }
      /**
       * <code>repeated string stat_strings = 2;</code>
       */
      public java.util.List<java.lang.String>
          getStatStringsList() {
        return java.util.Collections.unmodifiableList(statStrings_);
      }
      /**
       * <code>repeated string stat_strings = 2;</code>
       */
      public int getStatStringsCount() {
        return statStrings_.size();
      }
      /**
       * <code>repeated string stat_strings = 2;</code>
       */
      public java.lang.String getStatStrings(int index) {
        return statStrings_.get(index);
      }
      /**
       * <code>repeated string stat_strings = 2;</code>
       */
      public com.google.protobuf.ByteString
          getStatStringsBytes(int index) {
        return statStrings_.getByteString(index);
      }
      /**
       * <code>repeated string stat_strings = 2;</code>
       */
      public Builder setStatStrings(
          int index, java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureStatStringsIsMutable();
        statStrings_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string stat_strings = 2;</code>
       */
      public Builder addStatStrings(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureStatStringsIsMutable();
        statStrings_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string stat_strings = 2;</code>
       */
      public Builder addAllStatStrings(
          java.lang.Iterable<java.lang.String> values) {
        ensureStatStringsIsMutable();
        super.addAll(values, statStrings_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string stat_strings = 2;</code>
       */
      public Builder clearStatStrings() {
        statStrings_ = com.google.protobuf.LazyStringArrayList.EMPTY;
        bitField0_ = (bitField0_ & ~0x00000002);
        onChanged();
        return this;
      }
      /**
       * <code>repeated string stat_strings = 2;</code>
       */
      public Builder addStatStringsBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  ensureStatStringsIsMutable();
        statStrings_.add(value);
        onChanged();
        return this;
      }

      // repeated int32 stat_images = 3;
      private java.util.List<java.lang.Integer> statImages_ = java.util.Collections.emptyList();
      private void ensureStatImagesIsMutable() {
        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
          statImages_ = new java.util.ArrayList<java.lang.Integer>(statImages_);
          bitField0_ |= 0x00000004;
         }
      }
      /**
       * <code>repeated int32 stat_images = 3;</code>
       */
      public java.util.List<java.lang.Integer>
          getStatImagesList() {
        return java.util.Collections.unmodifiableList(statImages_);
      }
      /**
       * <code>repeated int32 stat_images = 3;</code>
       */
      public int getStatImagesCount() {
        return statImages_.size();
      }
      /**
       * <code>repeated int32 stat_images = 3;</code>
       */
      public int getStatImages(int index) {
        return statImages_.get(index);
      }
      /**
       * <code>repeated int32 stat_images = 3;</code>
       */
      public Builder setStatImages(
          int index, int value) {
        ensureStatImagesIsMutable();
        statImages_.set(index, value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated int32 stat_images = 3;</code>
       */
      public Builder addStatImages(int value) {
        ensureStatImagesIsMutable();
        statImages_.add(value);
        onChanged();
        return this;
      }
      /**
       * <code>repeated int32 stat_images = 3;</code>
       */
      public Builder addAllStatImages(
          java.lang.Iterable<? extends java.lang.Integer> values) {
        ensureStatImagesIsMutable();
        super.addAll(values, statImages_);
        onChanged();
        return this;
      }
      /**
       * <code>repeated int32 stat_images = 3;</code>
       */
      public Builder clearStatImages() {
        statImages_ = java.util.Collections.emptyList();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CDOTAMsg_SendStatPopup)
    }

    static {
      defaultInstance = new CDOTAMsg_SendStatPopup(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CDOTAMsg_SendStatPopup)
  }

  public interface CDOTAMsg_CoachHUDPingOrBuilder
      extends com.google.protobuf.MessageOrBuilder {

    // optional uint32 x = 1;
    /**
     * <code>optional uint32 x = 1;</code>
     */
    boolean hasX();
    /**
     * <code>optional uint32 x = 1;</code>
     */
    int getX();

    // optional uint32 y = 2;
    /**
     * <code>optional uint32 y = 2;</code>
     */
    boolean hasY();
    /**
     * <code>optional uint32 y = 2;</code>
     */
    int getY();

    // optional string tgtpath = 3;
    /**
     * <code>optional string tgtpath = 3;</code>
     */
    boolean hasTgtpath();
    /**
     * <code>optional string tgtpath = 3;</code>
     */
    java.lang.String getTgtpath();
    /**
     * <code>optional string tgtpath = 3;</code>
     */
    com.google.protobuf.ByteString
        getTgtpathBytes();
  }
  /**
   * Protobuf type {@code CDOTAMsg_CoachHUDPing}
   */
  public static final class CDOTAMsg_CoachHUDPing extends
      com.google.protobuf.GeneratedMessage
      implements CDOTAMsg_CoachHUDPingOrBuilder {
    // Use CDOTAMsg_CoachHUDPing.newBuilder() to construct.
    private CDOTAMsg_CoachHUDPing(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
      super(builder);
      this.unknownFields = builder.getUnknownFields();
    }
    private CDOTAMsg_CoachHUDPing(boolean noInit) { this.unknownFields = com.google.protobuf.UnknownFieldSet.getDefaultInstance(); }

    private static final CDOTAMsg_CoachHUDPing defaultInstance;
    public static CDOTAMsg_CoachHUDPing getDefaultInstance() {
      return defaultInstance;
    }

    public CDOTAMsg_CoachHUDPing getDefaultInstanceForType() {
      return defaultInstance;
    }

    private final com.google.protobuf.UnknownFieldSet unknownFields;
    @java.lang.Override
    public final com.google.protobuf.UnknownFieldSet
        getUnknownFields() {
      return this.unknownFields;
    }
    private CDOTAMsg_CoachHUDPing(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      initFields();
      int mutable_bitField0_ = 0;
      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
          com.google.protobuf.UnknownFieldSet.newBuilder();
      try {
        boolean done = false;
        while (!done) {
          int tag = input.readTag();
          switch (tag) {
            case 0:
              done = true;
              break;
            default: {
              if (!parseUnknownField(input, unknownFields,
                                     extensionRegistry, tag)) {
                done = true;
              }
              break;
            }
            case 8: {
              bitField0_ |= 0x00000001;
              x_ = input.readUInt32();
              break;
            }
            case 16: {
              bitField0_ |= 0x00000002;
              y_ = input.readUInt32();
              break;
            }
            case 26: {
              bitField0_ |= 0x00000004;
              tgtpath_ = input.readBytes();
              break;
            }
          }
        }
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        throw e.setUnfinishedMessage(this);
      } catch (java.io.IOException e) {
        throw new com.google.protobuf.InvalidProtocolBufferException(
            e.getMessage()).setUnfinishedMessage(this);
      } finally {
        this.unknownFields = unknownFields.build();
        makeExtensionsImmutable();
      }
    }
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_CoachHUDPing_descriptor;
    }

    protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_CoachHUDPing_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing.class, com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing.Builder.class);
    }

    public static com.google.protobuf.Parser<CDOTAMsg_CoachHUDPing> PARSER =
        new com.google.protobuf.AbstractParser<CDOTAMsg_CoachHUDPing>() {
      public CDOTAMsg_CoachHUDPing parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return new CDOTAMsg_CoachHUDPing(input, extensionRegistry);
      }
    };

    @java.lang.Override
    public com.google.protobuf.Parser<CDOTAMsg_CoachHUDPing> getParserForType() {
      return PARSER;
    }

    private int bitField0_;
    // optional uint32 x = 1;
    public static final int X_FIELD_NUMBER = 1;
    private int x_;
    /**
     * <code>optional uint32 x = 1;</code>
     */
    public boolean hasX() {
      return ((bitField0_ & 0x00000001) == 0x00000001);
    }
    /**
     * <code>optional uint32 x = 1;</code>
     */
    public int getX() {
      return x_;
    }

    // optional uint32 y = 2;
    public static final int Y_FIELD_NUMBER = 2;
    private int y_;
    /**
     * <code>optional uint32 y = 2;</code>
     */
    public boolean hasY() {
      return ((bitField0_ & 0x00000002) == 0x00000002);
    }
    /**
     * <code>optional uint32 y = 2;</code>
     */
    public int getY() {
      return y_;
    }

    // optional string tgtpath = 3;
    public static final int TGTPATH_FIELD_NUMBER = 3;
    private java.lang.Object tgtpath_;
    /**
     * <code>optional string tgtpath = 3;</code>
     */
    public boolean hasTgtpath() {
      return ((bitField0_ & 0x00000004) == 0x00000004);
    }
    /**
     * <code>optional string tgtpath = 3;</code>
     */
    public java.lang.String getTgtpath() {
      java.lang.Object ref = tgtpath_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        if (bs.isValidUtf8()) {
          tgtpath_ = s;
        }
        return s;
      }
    }
    /**
     * <code>optional string tgtpath = 3;</code>
     */
    public com.google.protobuf.ByteString
        getTgtpathBytes() {
      java.lang.Object ref = tgtpath_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        tgtpath_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    private void initFields() {
      x_ = 0;
      y_ = 0;
      tgtpath_ = "";
    }
    private byte memoizedIsInitialized = -1;
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized != -1) return isInitialized == 1;

      memoizedIsInitialized = 1;
      return true;
    }

    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      getSerializedSize();
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        output.writeUInt32(1, x_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        output.writeUInt32(2, y_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        output.writeBytes(3, getTgtpathBytes());
      }
      getUnknownFields().writeTo(output);
    }

    private int memoizedSerializedSize = -1;
    public int getSerializedSize() {
      int size = memoizedSerializedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) == 0x00000001)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(1, x_);
      }
      if (((bitField0_ & 0x00000002) == 0x00000002)) {
        size += com.google.protobuf.CodedOutputStream
          .computeUInt32Size(2, y_);
      }
      if (((bitField0_ & 0x00000004) == 0x00000004)) {
        size += com.google.protobuf.CodedOutputStream
          .computeBytesSize(3, getTgtpathBytes());
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSerializedSize = size;
      return size;
    }

    private static final long serialVersionUID = 0L;
    @java.lang.Override
    protected java.lang.Object writeReplace()
        throws java.io.ObjectStreamException {
      return super.writeReplace();
    }

    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseDelimitedFrom(input, extensionRegistry);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return PARSER.parseFrom(input);
    }
    public static com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return PARSER.parseFrom(input, extensionRegistry);
    }

    public static Builder newBuilder() { return Builder.create(); }
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder(com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing prototype) {
      return newBuilder().mergeFrom(prototype);
    }
    public Builder toBuilder() { return newBuilder(this); }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessage.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * Protobuf type {@code CDOTAMsg_CoachHUDPing}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessage.Builder<Builder>
       implements com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPingOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_CoachHUDPing_descriptor;
      }

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_CoachHUDPing_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing.class, com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing.Builder.class);
      }

      // Construct using com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessage.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
        }
      }
      private static Builder create() {
        return new Builder();
      }

      public Builder clear() {
        super.clear();
        x_ = 0;
        bitField0_ = (bitField0_ & ~0x00000001);
        y_ = 0;
        bitField0_ = (bitField0_ & ~0x00000002);
        tgtpath_ = "";
        bitField0_ = (bitField0_ & ~0x00000004);
        return this;
      }

      public Builder clone() {
        return create().mergeFrom(buildPartial());
      }

      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return com.dota2.proto.DotaCommonmessages.internal_static_CDOTAMsg_CoachHUDPing_descriptor;
      }

      public com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing getDefaultInstanceForType() {
        return com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing.getDefaultInstance();
      }

      public com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing build() {
        com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      public com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing buildPartial() {
        com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing result = new com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing(this);
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) == 0x00000001)) {
          to_bitField0_ |= 0x00000001;
        }
        result.x_ = x_;
        if (((from_bitField0_ & 0x00000002) == 0x00000002)) {
          to_bitField0_ |= 0x00000002;
        }
        result.y_ = y_;
        if (((from_bitField0_ & 0x00000004) == 0x00000004)) {
          to_bitField0_ |= 0x00000004;
        }
        result.tgtpath_ = tgtpath_;
        result.bitField0_ = to_bitField0_;
        onBuilt();
        return result;
      }

      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing) {
          return mergeFrom((com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing other) {
        if (other == com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing.getDefaultInstance()) return this;
        if (other.hasX()) {
          setX(other.getX());
        }
        if (other.hasY()) {
          setY(other.getY());
        }
        if (other.hasTgtpath()) {
          bitField0_ |= 0x00000004;
          tgtpath_ = other.tgtpath_;
          onChanged();
        }
        this.mergeUnknownFields(other.getUnknownFields());
        return this;
      }

      public final boolean isInitialized() {
        return true;
      }

      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing parsedMessage = null;
        try {
          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          parsedMessage = (com.dota2.proto.DotaCommonmessages.CDOTAMsg_CoachHUDPing) e.getUnfinishedMessage();
          throw e;
        } finally {
          if (parsedMessage != null) {
            mergeFrom(parsedMessage);
          }
        }
        return this;
      }
      private int bitField0_;

      // optional uint32 x = 1;
      private int x_ ;
      /**
       * <code>optional uint32 x = 1;</code>
       */
      public boolean hasX() {
        return ((bitField0_ & 0x00000001) == 0x00000001);
      }
      /**
       * <code>optional uint32 x = 1;</code>
       */
      public int getX() {
        return x_;
      }
      /**
       * <code>optional uint32 x = 1;</code>
       */
      public Builder setX(int value) {
        bitField0_ |= 0x00000001;
        x_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 x = 1;</code>
       */
      public Builder clearX() {
        bitField0_ = (bitField0_ & ~0x00000001);
        x_ = 0;
        onChanged();
        return this;
      }

      // optional uint32 y = 2;
      private int y_ ;
      /**
       * <code>optional uint32 y = 2;</code>
       */
      public boolean hasY() {
        return ((bitField0_ & 0x00000002) == 0x00000002);
      }
      /**
       * <code>optional uint32 y = 2;</code>
       */
      public int getY() {
        return y_;
      }
      /**
       * <code>optional uint32 y = 2;</code>
       */
      public Builder setY(int value) {
        bitField0_ |= 0x00000002;
        y_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional uint32 y = 2;</code>
       */
      public Builder clearY() {
        bitField0_ = (bitField0_ & ~0x00000002);
        y_ = 0;
        onChanged();
        return this;
      }

      // optional string tgtpath = 3;
      private java.lang.Object tgtpath_ = "";
      /**
       * <code>optional string tgtpath = 3;</code>
       */
      public boolean hasTgtpath() {
        return ((bitField0_ & 0x00000004) == 0x00000004);
      }
      /**
       * <code>optional string tgtpath = 3;</code>
       */
      public java.lang.String getTgtpath() {
        java.lang.Object ref = tgtpath_;
        if (!(ref instanceof java.lang.String)) {
          java.lang.String s = ((com.google.protobuf.ByteString) ref)
              .toStringUtf8();
          tgtpath_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>optional string tgtpath = 3;</code>
       */
      public com.google.protobuf.ByteString
          getTgtpathBytes() {
        java.lang.Object ref = tgtpath_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          tgtpath_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>optional string tgtpath = 3;</code>
       */
      public Builder setTgtpath(
          java.lang.String value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        tgtpath_ = value;
        onChanged();
        return this;
      }
      /**
       * <code>optional string tgtpath = 3;</code>
       */
      public Builder clearTgtpath() {
        bitField0_ = (bitField0_ & ~0x00000004);
        tgtpath_ = getDefaultInstance().getTgtpath();
        onChanged();
        return this;
      }
      /**
       * <code>optional string tgtpath = 3;</code>
       */
      public Builder setTgtpathBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) {
    throw new NullPointerException();
  }
  bitField0_ |= 0x00000004;
        tgtpath_ = value;
        onChanged();
        return this;
      }

      // @@protoc_insertion_point(builder_scope:CDOTAMsg_CoachHUDPing)
    }

    static {
      defaultInstance = new CDOTAMsg_CoachHUDPing(true);
      defaultInstance.initFields();
    }

    // @@protoc_insertion_point(class_scope:CDOTAMsg_CoachHUDPing)
  }

  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CDOTAMsg_LocationPing_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CDOTAMsg_LocationPing_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CDOTAMsg_ItemAlert_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CDOTAMsg_ItemAlert_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CDOTAMsg_MapLine_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CDOTAMsg_MapLine_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CDOTAMsg_WorldLine_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CDOTAMsg_WorldLine_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CDOTAMsg_SendStatPopup_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CDOTAMsg_SendStatPopup_fieldAccessorTable;
  private static com.google.protobuf.Descriptors.Descriptor
    internal_static_CDOTAMsg_CoachHUDPing_descriptor;
  private static
    com.google.protobuf.GeneratedMessage.FieldAccessorTable
      internal_static_CDOTAMsg_CoachHUDPing_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n\031dota_commonmessages.proto\032 google/prot" +
      "obuf/descriptor.proto\032\026networkbasetypes." +
      "proto\"`\n\025CDOTAMsg_LocationPing\022\t\n\001x\030\001 \001(" +
      "\005\022\t\n\001y\030\002 \001(\005\022\016\n\006target\030\003 \001(\005\022\023\n\013direct_p" +
      "ing\030\004 \001(\010\022\014\n\004type\030\005 \001(\005\":\n\022CDOTAMsg_Item" +
      "Alert\022\t\n\001x\030\001 \001(\005\022\t\n\001y\030\002 \001(\005\022\016\n\006itemid\030\003 " +
      "\001(\005\"9\n\020CDOTAMsg_MapLine\022\t\n\001x\030\001 \001(\005\022\t\n\001y\030" +
      "\002 \001(\005\022\017\n\007initial\030\003 \001(\010\"S\n\022CDOTAMsg_World" +
      "Line\022\t\n\001x\030\001 \001(\005\022\t\n\001y\030\002 \001(\005\022\t\n\001z\030\003 \001(\005\022\017\n" +
      "\007initial\030\004 \001(\010\022\013\n\003end\030\005 \001(\010\"~\n\026CDOTAMsg_",
      "SendStatPopup\0229\n\005style\030\001 \001(\0162\024.EDOTAStat" +
      "PopupTypes:\024k_EDOTA_SPT_Textline\022\024\n\014stat" +
      "_strings\030\002 \003(\t\022\023\n\013stat_images\030\003 \003(\005\">\n\025C" +
      "DOTAMsg_CoachHUDPing\022\t\n\001x\030\001 \001(\r\022\t\n\001y\030\002 \001" +
      "(\r\022\017\n\007tgtpath\030\003 \001(\t*\306\016\n\025EDOTAChatWheelMe" +
      "ssage\022\021\n\rk_EDOTA_CW_Ok\020\000\022\023\n\017k_EDOTA_CW_C" +
      "are\020\001\022\026\n\022k_EDOTA_CW_GetBack\020\002\022\030\n\024k_EDOTA" +
      "_CW_NeedWards\020\003\022\023\n\017k_EDOTA_CW_Stun\020\004\022\023\n\017" +
      "k_EDOTA_CW_Help\020\005\022\023\n\017k_EDOTA_CW_Push\020\006\022\026" +
      "\n\022k_EDOTA_CW_GoodJob\020\007\022\026\n\022k_EDOTA_CW_Mis",
      "sing\020\010\022\032\n\026k_EDOTA_CW_Missing_Top\020\t\022\032\n\026k_" +
      "EDOTA_CW_Missing_Mid\020\n\022\035\n\031k_EDOTA_CW_Mis" +
      "sing_Bottom\020\013\022\021\n\rk_EDOTA_CW_Go\020\014\022\027\n\023k_ED" +
      "OTA_CW_Initiate\020\r\022\025\n\021k_EDOTA_CW_Follow\020\016" +
      "\022\027\n\023k_EDOTA_CW_Group_Up\020\017\022\031\n\025k_EDOTA_CW_" +
      "Spread_Out\020\020\022\031\n\025k_EDOTA_CW_Split_Farm\020\021\022" +
      "\025\n\021k_EDOTA_CW_Attack\020\022\022\022\n\016k_EDOTA_CW_BRB" +
      "\020\023\022\023\n\017k_EDOTA_CW_Dive\020\024\022\022\n\016k_EDOTA_CW_OM" +
      "W\020\025\022\030\n\024k_EDOTA_CW_Get_Ready\020\026\022\023\n\017k_EDOTA" +
      "_CW_Bait\020\027\022\023\n\017k_EDOTA_CW_Heal\020\030\022\023\n\017k_EDO",
      "TA_CW_Mana\020\031\022\022\n\016k_EDOTA_CW_OOM\020\032\022\035\n\031k_ED" +
      "OTA_CW_Skill_Cooldown\020\033\022\031\n\025k_EDOTA_CW_Ul" +
      "ti_Ready\020\034\022\035\n\031k_EDOTA_CW_Enemy_Returned\020" +
      "\035\022\032\n\026k_EDOTA_CW_All_Missing\020\036\022\035\n\031k_EDOTA" +
      "_CW_Enemy_Incoming\020\037\022\032\n\026k_EDOTA_CW_Invis" +
      "_Enemy\020 \022\035\n\031k_EDOTA_CW_Enemy_Had_Rune\020!\022" +
      "\031\n\025k_EDOTA_CW_Split_Push\020\"\022\035\n\031k_EDOTA_CW" +
      "_Coming_To_Gank\020#\022\033\n\027k_EDOTA_CW_Request_" +
      "Gank\020$\022 \n\034k_EDOTA_CW_Fight_Under_Tower\020%" +
      "\022\031\n\025k_EDOTA_CW_Deny_Tower\020&\022\032\n\026k_EDOTA_C",
      "W_Buy_Courier\020\'\022\036\n\032k_EDOTA_CW_Upgrade_Co" +
      "urier\020(\022\035\n\031k_EDOTA_CW_Need_Detection\020)\022\"" +
      "\n\036k_EDOTA_CW_They_Have_Detection\020*\022\025\n\021k_" +
      "EDOTA_CW_Buy_TP\020+\022\034\n\030k_EDOTA_CW_Reuse_Co" +
      "urier\020,\022\025\n\021k_EDOTA_CW_Deward\020-\022\033\n\027k_EDOT" +
      "A_CW_Building_Mek\020.\022\034\n\030k_EDOTA_CW_Buildi" +
      "ng_Pipe\020/\022\035\n\031k_EDOTA_CW_Stack_And_Pull\0200" +
      "\022\023\n\017k_EDOTA_CW_Pull\0201\022\026\n\022k_EDOTA_CW_Pull" +
      "ing\0202\022\024\n\020k_EDOTA_CW_Stack\0203\022\027\n\023k_EDOTA_C" +
      "W_Jungling\0204\022\025\n\021k_EDOTA_CW_Roshan\0205\022\032\n\026k",
      "_EDOTA_CW_Affirmative\0206\022\023\n\017k_EDOTA_CW_Wa" +
      "it\0207\022\024\n\020k_EDOTA_CW_Pause\0208\022\033\n\027k_EDOTA_CW" +
      "_Current_Time\0209\022\032\n\026k_EDOTA_CW_Check_Rune" +
      "s\020:\022\031\n\025k_EDOTA_CW_Smoke_Gank\020;\022\023\n\017k_EDOT" +
      "A_CW_GLHF\020<\022\023\n\017k_EDOTA_CW_Nice\020=\022\025\n\021k_ED" +
      "OTA_CW_Thanks\020>\022\024\n\020k_EDOTA_CW_Sorry\020?\022\031\n" +
      "\025k_EDOTA_CW_No_Give_Up\020@\022\034\n\030k_EDOTA_CW_J" +
      "ust_Happened\020A\022\033\n\027k_EDOTA_CW_Game_Is_Har" +
      "d\020B\022\027\n\023k_EDOTA_CW_New_Meta\020C\022\025\n\021k_EDOTA_" +
      "CW_My_Bad\020D\022\025\n\021k_EDOTA_CW_Regret\020E\022\024\n\020k_",
      "EDOTA_CW_Relax\020F\022\032\n\026k_EDOTA_CW_MissingHe" +
      "ro\020G*\\\n\023EDOTAStatPopupTypes\022\030\n\024k_EDOTA_S" +
      "PT_Textline\020\000\022\025\n\021k_EDOTA_SPT_Basic\020\001\022\024\n\020" +
      "k_EDOTA_SPT_Poll\020\002B\021\n\017com.dota2.proto"
    };
    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
      new com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner() {
        public com.google.protobuf.ExtensionRegistry assignDescriptors(
            com.google.protobuf.Descriptors.FileDescriptor root) {
          descriptor = root;
          internal_static_CDOTAMsg_LocationPing_descriptor =
            getDescriptor().getMessageTypes().get(0);
          internal_static_CDOTAMsg_LocationPing_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CDOTAMsg_LocationPing_descriptor,
              new java.lang.String[] { "X", "Y", "Target", "DirectPing", "Type", });
          internal_static_CDOTAMsg_ItemAlert_descriptor =
            getDescriptor().getMessageTypes().get(1);
          internal_static_CDOTAMsg_ItemAlert_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CDOTAMsg_ItemAlert_descriptor,
              new java.lang.String[] { "X", "Y", "Itemid", });
          internal_static_CDOTAMsg_MapLine_descriptor =
            getDescriptor().getMessageTypes().get(2);
          internal_static_CDOTAMsg_MapLine_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CDOTAMsg_MapLine_descriptor,
              new java.lang.String[] { "X", "Y", "Initial", });
          internal_static_CDOTAMsg_WorldLine_descriptor =
            getDescriptor().getMessageTypes().get(3);
          internal_static_CDOTAMsg_WorldLine_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CDOTAMsg_WorldLine_descriptor,
              new java.lang.String[] { "X", "Y", "Z", "Initial", "End", });
          internal_static_CDOTAMsg_SendStatPopup_descriptor =
            getDescriptor().getMessageTypes().get(4);
          internal_static_CDOTAMsg_SendStatPopup_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CDOTAMsg_SendStatPopup_descriptor,
              new java.lang.String[] { "Style", "StatStrings", "StatImages", });
          internal_static_CDOTAMsg_CoachHUDPing_descriptor =
            getDescriptor().getMessageTypes().get(5);
          internal_static_CDOTAMsg_CoachHUDPing_fieldAccessorTable = new
            com.google.protobuf.GeneratedMessage.FieldAccessorTable(
              internal_static_CDOTAMsg_CoachHUDPing_descriptor,
              new java.lang.String[] { "X", "Y", "Tgtpath", });
          return null;
        }
      };
    com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          com.google.protobuf.DescriptorProtos.getDescriptor(),
          com.dota2.proto.Networkbasetypes.getDescriptor(),
        }, assigner);
  }

  // @@protoc_insertion_point(outer_class_scope)
}
