// <auto-generated>
//   This file was generated by a tool; you should avoid making direct changes.
//   Consider using 'partial classes' to extend these types
//   Input: dota_gcmessages_server.proto
// </auto-generated>

#region Designer generated code
#pragma warning disable CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192
namespace SteamKit2.GC.Dota.Internal
{

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgPoorNetworkConditions : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(EPoorNetworkConditionsType.k_EPoorNetworkConditions_None)]
        public EPoorNetworkConditionsType detection_type
        {
            get => __pbn__detection_type ?? EPoorNetworkConditionsType.k_EPoorNetworkConditions_None;
            set => __pbn__detection_type = value;
        }
        public bool ShouldSerializedetection_type() => __pbn__detection_type != null;
        public void Resetdetection_type() => __pbn__detection_type = null;
        private EPoorNetworkConditionsType? __pbn__detection_type;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<Player> players { get; } = new global::System.Collections.Generic.List<Player>();

        [global::ProtoBuf.ProtoContract()]
        public partial class Player : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            [global::System.ComponentModel.DefaultValue(ENetworkDisconnectionReason.NETWORK_DISCONNECT_INVALID)]
            public ENetworkDisconnectionReason disconnect_reason
            {
                get => __pbn__disconnect_reason ?? ENetworkDisconnectionReason.NETWORK_DISCONNECT_INVALID;
                set => __pbn__disconnect_reason = value;
            }
            public bool ShouldSerializedisconnect_reason() => __pbn__disconnect_reason != null;
            public void Resetdisconnect_reason() => __pbn__disconnect_reason = null;
            private ENetworkDisconnectionReason? __pbn__disconnect_reason;

            [global::ProtoBuf.ProtoMember(3)]
            public uint num_bad_intervals
            {
                get => __pbn__num_bad_intervals.GetValueOrDefault();
                set => __pbn__num_bad_intervals = value;
            }
            public bool ShouldSerializenum_bad_intervals() => __pbn__num_bad_intervals != null;
            public void Resetnum_bad_intervals() => __pbn__num_bad_intervals = null;
            private uint? __pbn__num_bad_intervals;

            [global::ProtoBuf.ProtoMember(4)]
            public uint peak_loss_pct
            {
                get => __pbn__peak_loss_pct.GetValueOrDefault();
                set => __pbn__peak_loss_pct = value;
            }
            public bool ShouldSerializepeak_loss_pct() => __pbn__peak_loss_pct != null;
            public void Resetpeak_loss_pct() => __pbn__peak_loss_pct = null;
            private uint? __pbn__peak_loss_pct;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameserverCrash : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong lobby_id
        {
            get => __pbn__lobby_id.GetValueOrDefault();
            set => __pbn__lobby_id = value;
        }
        public bool ShouldSerializelobby_id() => __pbn__lobby_id != null;
        public void Resetlobby_id() => __pbn__lobby_id = null;
        private ulong? __pbn__lobby_id;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue(DOTA_GameState.DOTA_GAMERULES_STATE_INIT)]
        public DOTA_GameState game_state
        {
            get => __pbn__game_state ?? DOTA_GameState.DOTA_GAMERULES_STATE_INIT;
            set => __pbn__game_state = value;
        }
        public bool ShouldSerializegame_state() => __pbn__game_state != null;
        public void Resetgame_state() => __pbn__game_state = null;
        private DOTA_GameState? __pbn__game_state;

        [global::ProtoBuf.ProtoMember(4, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint sentinel_save_time
        {
            get => __pbn__sentinel_save_time.GetValueOrDefault();
            set => __pbn__sentinel_save_time = value;
        }
        public bool ShouldSerializesentinel_save_time() => __pbn__sentinel_save_time != null;
        public void Resetsentinel_save_time() => __pbn__sentinel_save_time = null;
        private uint? __pbn__sentinel_save_time;

        [global::ProtoBuf.ProtoMember(11, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong custom_game_id
        {
            get => __pbn__custom_game_id.GetValueOrDefault();
            set => __pbn__custom_game_id = value;
        }
        public bool ShouldSerializecustom_game_id() => __pbn__custom_game_id != null;
        public void Resetcustom_game_id() => __pbn__custom_game_id = null;
        private ulong? __pbn__custom_game_id;

        [global::ProtoBuf.ProtoMember(12)]
        public uint tournament_id
        {
            get => __pbn__tournament_id.GetValueOrDefault();
            set => __pbn__tournament_id = value;
        }
        public bool ShouldSerializetournament_id() => __pbn__tournament_id != null;
        public void Resettournament_id() => __pbn__tournament_id = null;
        private uint? __pbn__tournament_id;

        [global::ProtoBuf.ProtoMember(5, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong server_steam_id
        {
            get => __pbn__server_steam_id.GetValueOrDefault();
            set => __pbn__server_steam_id = value;
        }
        public bool ShouldSerializeserver_steam_id() => __pbn__server_steam_id != null;
        public void Resetserver_steam_id() => __pbn__server_steam_id = null;
        private ulong? __pbn__server_steam_id;

        [global::ProtoBuf.ProtoMember(6, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint server_public_ip_addr
        {
            get => __pbn__server_public_ip_addr.GetValueOrDefault();
            set => __pbn__server_public_ip_addr = value;
        }
        public bool ShouldSerializeserver_public_ip_addr() => __pbn__server_public_ip_addr != null;
        public void Resetserver_public_ip_addr() => __pbn__server_public_ip_addr = null;
        private uint? __pbn__server_public_ip_addr;

        [global::ProtoBuf.ProtoMember(7)]
        public uint server_port
        {
            get => __pbn__server_port.GetValueOrDefault();
            set => __pbn__server_port = value;
        }
        public bool ShouldSerializeserver_port() => __pbn__server_port != null;
        public void Resetserver_port() => __pbn__server_port = null;
        private uint? __pbn__server_port;

        [global::ProtoBuf.ProtoMember(8)]
        public uint server_cluster
        {
            get => __pbn__server_cluster.GetValueOrDefault();
            set => __pbn__server_cluster = value;
        }
        public bool ShouldSerializeserver_cluster() => __pbn__server_cluster != null;
        public void Resetserver_cluster() => __pbn__server_cluster = null;
        private uint? __pbn__server_cluster;

        [global::ProtoBuf.ProtoMember(9)]
        public uint pid
        {
            get => __pbn__pid.GetValueOrDefault();
            set => __pbn__pid = value;
        }
        public bool ShouldSerializepid() => __pbn__pid != null;
        public void Resetpid() => __pbn__pid = null;
        private uint? __pbn__pid;

        [global::ProtoBuf.ProtoMember(10)]
        public uint engine
        {
            get => __pbn__engine.GetValueOrDefault();
            set => __pbn__engine = value;
        }
        public bool ShouldSerializeengine() => __pbn__engine != null;
        public void Resetengine() => __pbn__engine = null;
        private uint? __pbn__engine;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgConnectedPlayers : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<Player> connected_players { get; } = new global::System.Collections.Generic.List<Player>();

        [global::ProtoBuf.ProtoMember(7)]
        public global::System.Collections.Generic.List<Player> disconnected_players { get; } = new global::System.Collections.Generic.List<Player>();

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(DOTA_GameState.DOTA_GAMERULES_STATE_INIT)]
        public DOTA_GameState game_state
        {
            get => __pbn__game_state ?? DOTA_GameState.DOTA_GAMERULES_STATE_INIT;
            set => __pbn__game_state = value;
        }
        public bool ShouldSerializegame_state() => __pbn__game_state != null;
        public void Resetgame_state() => __pbn__game_state = null;
        private DOTA_GameState? __pbn__game_state;

        [global::ProtoBuf.ProtoMember(6)]
        public bool first_blood_happened
        {
            get => __pbn__first_blood_happened.GetValueOrDefault();
            set => __pbn__first_blood_happened = value;
        }
        public bool ShouldSerializefirst_blood_happened() => __pbn__first_blood_happened != null;
        public void Resetfirst_blood_happened() => __pbn__first_blood_happened = null;
        private bool? __pbn__first_blood_happened;

        [global::ProtoBuf.ProtoMember(10)]
        public CMsgPoorNetworkConditions poor_network_conditions { get; set; }

        [global::ProtoBuf.ProtoMember(8)]
        [global::System.ComponentModel.DefaultValue(SendReason.INVALID)]
        public SendReason send_reason
        {
            get => __pbn__send_reason ?? SendReason.INVALID;
            set => __pbn__send_reason = value;
        }
        public bool ShouldSerializesend_reason() => __pbn__send_reason != null;
        public void Resetsend_reason() => __pbn__send_reason = null;
        private SendReason? __pbn__send_reason;

        [global::ProtoBuf.ProtoMember(11)]
        public uint radiant_kills
        {
            get => __pbn__radiant_kills.GetValueOrDefault();
            set => __pbn__radiant_kills = value;
        }
        public bool ShouldSerializeradiant_kills() => __pbn__radiant_kills != null;
        public void Resetradiant_kills() => __pbn__radiant_kills = null;
        private uint? __pbn__radiant_kills;

        [global::ProtoBuf.ProtoMember(12)]
        public uint dire_kills
        {
            get => __pbn__dire_kills.GetValueOrDefault();
            set => __pbn__dire_kills = value;
        }
        public bool ShouldSerializedire_kills() => __pbn__dire_kills != null;
        public void Resetdire_kills() => __pbn__dire_kills = null;
        private uint? __pbn__dire_kills;

        [global::ProtoBuf.ProtoMember(14)]
        public int radiant_lead
        {
            get => __pbn__radiant_lead.GetValueOrDefault();
            set => __pbn__radiant_lead = value;
        }
        public bool ShouldSerializeradiant_lead() => __pbn__radiant_lead != null;
        public void Resetradiant_lead() => __pbn__radiant_lead = null;
        private int? __pbn__radiant_lead;

        [global::ProtoBuf.ProtoMember(15)]
        public uint building_state
        {
            get => __pbn__building_state.GetValueOrDefault();
            set => __pbn__building_state = value;
        }
        public bool ShouldSerializebuilding_state() => __pbn__building_state != null;
        public void Resetbuilding_state() => __pbn__building_state = null;
        private uint? __pbn__building_state;

        [global::ProtoBuf.ProtoMember(16)]
        public global::System.Collections.Generic.List<PlayerDraft> player_draft { get; } = new global::System.Collections.Generic.List<PlayerDraft>();

        [global::ProtoBuf.ProtoContract()]
        public partial class Player : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
            public ulong steam_id
            {
                get => __pbn__steam_id.GetValueOrDefault();
                set => __pbn__steam_id = value;
            }
            public bool ShouldSerializesteam_id() => __pbn__steam_id != null;
            public void Resetsteam_id() => __pbn__steam_id = null;
            private ulong? __pbn__steam_id;

            [global::ProtoBuf.ProtoMember(2)]
            public int hero_id
            {
                get => __pbn__hero_id.GetValueOrDefault();
                set => __pbn__hero_id = value;
            }
            public bool ShouldSerializehero_id() => __pbn__hero_id != null;
            public void Resethero_id() => __pbn__hero_id = null;
            private int? __pbn__hero_id;

            [global::ProtoBuf.ProtoMember(3)]
            public CMsgLeaverState leaver_state { get; set; }

            [global::ProtoBuf.ProtoMember(4)]
            [global::System.ComponentModel.DefaultValue(ENetworkDisconnectionReason.NETWORK_DISCONNECT_INVALID)]
            public ENetworkDisconnectionReason disconnect_reason
            {
                get => __pbn__disconnect_reason ?? ENetworkDisconnectionReason.NETWORK_DISCONNECT_INVALID;
                set => __pbn__disconnect_reason = value;
            }
            public bool ShouldSerializedisconnect_reason() => __pbn__disconnect_reason != null;
            public void Resetdisconnect_reason() => __pbn__disconnect_reason = null;
            private ENetworkDisconnectionReason? __pbn__disconnect_reason;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class PlayerDraft : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
            public ulong steam_id
            {
                get => __pbn__steam_id.GetValueOrDefault();
                set => __pbn__steam_id = value;
            }
            public bool ShouldSerializesteam_id() => __pbn__steam_id != null;
            public void Resetsteam_id() => __pbn__steam_id = null;
            private ulong? __pbn__steam_id;

            [global::ProtoBuf.ProtoMember(2)]
            [global::System.ComponentModel.DefaultValue(DOTA_GC_TEAM.DOTA_GC_TEAM_GOOD_GUYS)]
            public DOTA_GC_TEAM team
            {
                get => __pbn__team ?? DOTA_GC_TEAM.DOTA_GC_TEAM_GOOD_GUYS;
                set => __pbn__team = value;
            }
            public bool ShouldSerializeteam() => __pbn__team != null;
            public void Resetteam() => __pbn__team = null;
            private DOTA_GC_TEAM? __pbn__team;

            [global::ProtoBuf.ProtoMember(3)]
            public int team_slot
            {
                get => __pbn__team_slot.GetValueOrDefault();
                set => __pbn__team_slot = value;
            }
            public bool ShouldSerializeteam_slot() => __pbn__team_slot != null;
            public void Resetteam_slot() => __pbn__team_slot = null;
            private int? __pbn__team_slot;

        }

        [global::ProtoBuf.ProtoContract()]
        public enum SendReason
        {
            INVALID = 0,
            HEARTBEAT = 1,
            GAME_STATE = 2,
            FIRST_BLOOD = 3,
            PLAYER_CONNECTED = 4,
            PLAYER_HERO = 5,
            PLAYER_DISCONNECTED_CONSEQUENCES = 6,
            PLAYER_DISCONNECTED_NOCONSEQUENCES = 7,
            GAMESTATE_TIMEOUT = 10,
            MASS_DISCONNECT = 11,
            KILLS = 13,
            BUILDING_STATE = 14,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameServerInfo : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint server_public_ip_addr
        {
            get => __pbn__server_public_ip_addr.GetValueOrDefault();
            set => __pbn__server_public_ip_addr = value;
        }
        public bool ShouldSerializeserver_public_ip_addr() => __pbn__server_public_ip_addr != null;
        public void Resetserver_public_ip_addr() => __pbn__server_public_ip_addr = null;
        private uint? __pbn__server_public_ip_addr;

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint server_private_ip_addr
        {
            get => __pbn__server_private_ip_addr.GetValueOrDefault();
            set => __pbn__server_private_ip_addr = value;
        }
        public bool ShouldSerializeserver_private_ip_addr() => __pbn__server_private_ip_addr != null;
        public void Resetserver_private_ip_addr() => __pbn__server_private_ip_addr = null;
        private uint? __pbn__server_private_ip_addr;

        [global::ProtoBuf.ProtoMember(3)]
        public uint server_port
        {
            get => __pbn__server_port.GetValueOrDefault();
            set => __pbn__server_port = value;
        }
        public bool ShouldSerializeserver_port() => __pbn__server_port != null;
        public void Resetserver_port() => __pbn__server_port = null;
        private uint? __pbn__server_port;

        [global::ProtoBuf.ProtoMember(4)]
        public uint server_tv_port
        {
            get => __pbn__server_tv_port.GetValueOrDefault();
            set => __pbn__server_tv_port = value;
        }
        public bool ShouldSerializeserver_tv_port() => __pbn__server_tv_port != null;
        public void Resetserver_tv_port() => __pbn__server_tv_port = null;
        private uint? __pbn__server_tv_port;

        [global::ProtoBuf.ProtoMember(22)]
        public uint assigned_server_tv_port
        {
            get => __pbn__assigned_server_tv_port.GetValueOrDefault();
            set => __pbn__assigned_server_tv_port = value;
        }
        public bool ShouldSerializeassigned_server_tv_port() => __pbn__assigned_server_tv_port != null;
        public void Resetassigned_server_tv_port() => __pbn__assigned_server_tv_port = null;
        private uint? __pbn__assigned_server_tv_port;

        [global::ProtoBuf.ProtoMember(27)]
        public byte[] legacy_server_steamdatagram_address
        {
            get => __pbn__legacy_server_steamdatagram_address;
            set => __pbn__legacy_server_steamdatagram_address = value;
        }
        public bool ShouldSerializelegacy_server_steamdatagram_address() => __pbn__legacy_server_steamdatagram_address != null;
        public void Resetlegacy_server_steamdatagram_address() => __pbn__legacy_server_steamdatagram_address = null;
        private byte[] __pbn__legacy_server_steamdatagram_address;

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue("")]
        public string server_key
        {
            get => __pbn__server_key ?? "";
            set => __pbn__server_key = value;
        }
        public bool ShouldSerializeserver_key() => __pbn__server_key != null;
        public void Resetserver_key() => __pbn__server_key = null;
        private string __pbn__server_key;

        [global::ProtoBuf.ProtoMember(6)]
        public bool server_hibernation
        {
            get => __pbn__server_hibernation.GetValueOrDefault();
            set => __pbn__server_hibernation = value;
        }
        public bool ShouldSerializeserver_hibernation() => __pbn__server_hibernation != null;
        public void Resetserver_hibernation() => __pbn__server_hibernation = null;
        private bool? __pbn__server_hibernation;

        [global::ProtoBuf.ProtoMember(7)]
        [global::System.ComponentModel.DefaultValue(ServerType.UNSPECIFIED)]
        public ServerType server_type
        {
            get => __pbn__server_type ?? ServerType.UNSPECIFIED;
            set => __pbn__server_type = value;
        }
        public bool ShouldSerializeserver_type() => __pbn__server_type != null;
        public void Resetserver_type() => __pbn__server_type = null;
        private ServerType? __pbn__server_type;

        [global::ProtoBuf.ProtoMember(8)]
        public uint server_region
        {
            get => __pbn__server_region.GetValueOrDefault();
            set => __pbn__server_region = value;
        }
        public bool ShouldSerializeserver_region() => __pbn__server_region != null;
        public void Resetserver_region() => __pbn__server_region = null;
        private uint? __pbn__server_region;

        [global::ProtoBuf.ProtoMember(9)]
        public float server_loadavg
        {
            get => __pbn__server_loadavg.GetValueOrDefault();
            set => __pbn__server_loadavg = value;
        }
        public bool ShouldSerializeserver_loadavg() => __pbn__server_loadavg != null;
        public void Resetserver_loadavg() => __pbn__server_loadavg = null;
        private float? __pbn__server_loadavg;

        [global::ProtoBuf.ProtoMember(10)]
        public float server_tv_broadcast_time
        {
            get => __pbn__server_tv_broadcast_time.GetValueOrDefault();
            set => __pbn__server_tv_broadcast_time = value;
        }
        public bool ShouldSerializeserver_tv_broadcast_time() => __pbn__server_tv_broadcast_time != null;
        public void Resetserver_tv_broadcast_time() => __pbn__server_tv_broadcast_time = null;
        private float? __pbn__server_tv_broadcast_time;

        [global::ProtoBuf.ProtoMember(11)]
        public float server_game_time
        {
            get => __pbn__server_game_time.GetValueOrDefault();
            set => __pbn__server_game_time = value;
        }
        public bool ShouldSerializeserver_game_time() => __pbn__server_game_time != null;
        public void Resetserver_game_time() => __pbn__server_game_time = null;
        private float? __pbn__server_game_time;

        [global::ProtoBuf.ProtoMember(12, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong server_relay_connected_steam_id
        {
            get => __pbn__server_relay_connected_steam_id.GetValueOrDefault();
            set => __pbn__server_relay_connected_steam_id = value;
        }
        public bool ShouldSerializeserver_relay_connected_steam_id() => __pbn__server_relay_connected_steam_id != null;
        public void Resetserver_relay_connected_steam_id() => __pbn__server_relay_connected_steam_id = null;
        private ulong? __pbn__server_relay_connected_steam_id;

        [global::ProtoBuf.ProtoMember(13)]
        public uint relay_slots_max
        {
            get => __pbn__relay_slots_max.GetValueOrDefault();
            set => __pbn__relay_slots_max = value;
        }
        public bool ShouldSerializerelay_slots_max() => __pbn__relay_slots_max != null;
        public void Resetrelay_slots_max() => __pbn__relay_slots_max = null;
        private uint? __pbn__relay_slots_max;

        [global::ProtoBuf.ProtoMember(14)]
        public int relays_connected
        {
            get => __pbn__relays_connected.GetValueOrDefault();
            set => __pbn__relays_connected = value;
        }
        public bool ShouldSerializerelays_connected() => __pbn__relays_connected != null;
        public void Resetrelays_connected() => __pbn__relays_connected = null;
        private int? __pbn__relays_connected;

        [global::ProtoBuf.ProtoMember(15)]
        public int relay_clients_connected
        {
            get => __pbn__relay_clients_connected.GetValueOrDefault();
            set => __pbn__relay_clients_connected = value;
        }
        public bool ShouldSerializerelay_clients_connected() => __pbn__relay_clients_connected != null;
        public void Resetrelay_clients_connected() => __pbn__relay_clients_connected = null;
        private int? __pbn__relay_clients_connected;

        [global::ProtoBuf.ProtoMember(16, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong relayed_game_server_steam_id
        {
            get => __pbn__relayed_game_server_steam_id.GetValueOrDefault();
            set => __pbn__relayed_game_server_steam_id = value;
        }
        public bool ShouldSerializerelayed_game_server_steam_id() => __pbn__relayed_game_server_steam_id != null;
        public void Resetrelayed_game_server_steam_id() => __pbn__relayed_game_server_steam_id = null;
        private ulong? __pbn__relayed_game_server_steam_id;

        [global::ProtoBuf.ProtoMember(17)]
        public uint parent_relay_count
        {
            get => __pbn__parent_relay_count.GetValueOrDefault();
            set => __pbn__parent_relay_count = value;
        }
        public bool ShouldSerializeparent_relay_count() => __pbn__parent_relay_count != null;
        public void Resetparent_relay_count() => __pbn__parent_relay_count = null;
        private uint? __pbn__parent_relay_count;

        [global::ProtoBuf.ProtoMember(18, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong tv_secret_code
        {
            get => __pbn__tv_secret_code.GetValueOrDefault();
            set => __pbn__tv_secret_code = value;
        }
        public bool ShouldSerializetv_secret_code() => __pbn__tv_secret_code != null;
        public void Resettv_secret_code() => __pbn__tv_secret_code = null;
        private ulong? __pbn__tv_secret_code;

        [global::ProtoBuf.ProtoMember(19)]
        public uint server_version
        {
            get => __pbn__server_version.GetValueOrDefault();
            set => __pbn__server_version = value;
        }
        public bool ShouldSerializeserver_version() => __pbn__server_version != null;
        public void Resetserver_version() => __pbn__server_version = null;
        private uint? __pbn__server_version;

        [global::ProtoBuf.ProtoMember(20)]
        public uint server_cluster
        {
            get => __pbn__server_cluster.GetValueOrDefault();
            set => __pbn__server_cluster = value;
        }
        public bool ShouldSerializeserver_cluster() => __pbn__server_cluster != null;
        public void Resetserver_cluster() => __pbn__server_cluster = null;
        private uint? __pbn__server_cluster;

        [global::ProtoBuf.ProtoMember(23)]
        [global::System.ComponentModel.DefaultValue(CustomGames.BOTH)]
        public CustomGames allow_custom_games
        {
            get => __pbn__allow_custom_games ?? CustomGames.BOTH;
            set => __pbn__allow_custom_games = value;
        }
        public bool ShouldSerializeallow_custom_games() => __pbn__allow_custom_games != null;
        public void Resetallow_custom_games() => __pbn__allow_custom_games = null;
        private CustomGames? __pbn__allow_custom_games;

        [global::ProtoBuf.ProtoMember(24)]
        public uint build_version
        {
            get => __pbn__build_version.GetValueOrDefault();
            set => __pbn__build_version = value;
        }
        public bool ShouldSerializebuild_version() => __pbn__build_version != null;
        public void Resetbuild_version() => __pbn__build_version = null;
        private uint? __pbn__build_version;

        [global::ProtoBuf.ProtoMember(26)]
        public uint srcds_instance
        {
            get => __pbn__srcds_instance.GetValueOrDefault();
            set => __pbn__srcds_instance = value;
        }
        public bool ShouldSerializesrcds_instance() => __pbn__srcds_instance != null;
        public void Resetsrcds_instance() => __pbn__srcds_instance = null;
        private uint? __pbn__srcds_instance;

        [global::ProtoBuf.ProtoMember(28)]
        public bool dev_force_server_type
        {
            get => __pbn__dev_force_server_type.GetValueOrDefault();
            set => __pbn__dev_force_server_type = value;
        }
        public bool ShouldSerializedev_force_server_type() => __pbn__dev_force_server_type != null;
        public void Resetdev_force_server_type() => __pbn__dev_force_server_type = null;
        private bool? __pbn__dev_force_server_type;

        [global::ProtoBuf.ProtoMember(29)]
        public bool is_recording_match_training_data
        {
            get => __pbn__is_recording_match_training_data.GetValueOrDefault();
            set => __pbn__is_recording_match_training_data = value;
        }
        public bool ShouldSerializeis_recording_match_training_data() => __pbn__is_recording_match_training_data != null;
        public void Resetis_recording_match_training_data() => __pbn__is_recording_match_training_data = null;
        private bool? __pbn__is_recording_match_training_data;

        [global::ProtoBuf.ProtoContract()]
        public enum ServerType
        {
            UNSPECIFIED = 0,
            GAME = 1,
            PROXY = 2,
            DOTA_ONLY = 4,
            CUSTOM_GAME_ONLY = 5,
            EVENT_GAME_ONLY = 6,
        }

        [global::ProtoBuf.ProtoContract()]
        public enum CustomGames
        {
            BOTH = 0,
            NONE = 1,
            ONLY = 2,
            EVENT = 3,
        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgLeaverDetected : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong steam_id
        {
            get => __pbn__steam_id.GetValueOrDefault();
            set => __pbn__steam_id = value;
        }
        public bool ShouldSerializesteam_id() => __pbn__steam_id != null;
        public void Resetsteam_id() => __pbn__steam_id = null;
        private ulong? __pbn__steam_id;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(DOTALeaverStatus_t.DOTA_LEAVER_NONE)]
        public DOTALeaverStatus_t leaver_status
        {
            get => __pbn__leaver_status ?? DOTALeaverStatus_t.DOTA_LEAVER_NONE;
            set => __pbn__leaver_status = value;
        }
        public bool ShouldSerializeleaver_status() => __pbn__leaver_status != null;
        public void Resetleaver_status() => __pbn__leaver_status = null;
        private DOTALeaverStatus_t? __pbn__leaver_status;

        [global::ProtoBuf.ProtoMember(4)]
        public CMsgLeaverState leaver_state { get; set; }

        [global::ProtoBuf.ProtoMember(5)]
        public uint server_cluster
        {
            get => __pbn__server_cluster.GetValueOrDefault();
            set => __pbn__server_cluster = value;
        }
        public bool ShouldSerializeserver_cluster() => __pbn__server_cluster != null;
        public void Resetserver_cluster() => __pbn__server_cluster = null;
        private uint? __pbn__server_cluster;

        [global::ProtoBuf.ProtoMember(6)]
        [global::System.ComponentModel.DefaultValue(ENetworkDisconnectionReason.NETWORK_DISCONNECT_INVALID)]
        public ENetworkDisconnectionReason disconnect_reason
        {
            get => __pbn__disconnect_reason ?? ENetworkDisconnectionReason.NETWORK_DISCONNECT_INVALID;
            set => __pbn__disconnect_reason = value;
        }
        public bool ShouldSerializedisconnect_reason() => __pbn__disconnect_reason != null;
        public void Resetdisconnect_reason() => __pbn__disconnect_reason = null;
        private ENetworkDisconnectionReason? __pbn__disconnect_reason;

        [global::ProtoBuf.ProtoMember(7)]
        public CMsgPoorNetworkConditions poor_network_conditions { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgLeaverDetectedResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint result
        {
            get => __pbn__result.GetValueOrDefault();
            set => __pbn__result = value;
        }
        public bool ShouldSerializeresult() => __pbn__result != null;
        public void Resetresult() => __pbn__result = null;
        private uint? __pbn__result;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTAFantasyFinalPlayerStats : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<CMsgDOTAFantasyPlayerStats> stats { get; } = new global::System.Collections.Generic.List<CMsgDOTAFantasyPlayerStats>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTAFantasyLivePlayerStats : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<CMsgDOTAFantasyPlayerStats> stats { get; } = new global::System.Collections.Generic.List<CMsgDOTAFantasyPlayerStats>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCRealtimeStats : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public CMsgDOTARealtimeGameStatsTerse delayed { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToServerRealtimeStatsStartStop : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public bool delayed
        {
            get => __pbn__delayed.GetValueOrDefault();
            set => __pbn__delayed = value;
        }
        public bool ShouldSerializedelayed() => __pbn__delayed != null;
        public void Resetdelayed() => __pbn__delayed = null;
        private bool? __pbn__delayed;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToServerUpdateSteamBroadcasting : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public bool active
        {
            get => __pbn__active.GetValueOrDefault();
            set => __pbn__active = value;
        }
        public bool ShouldSerializeactive() => __pbn__active != null;
        public void Resetactive() => __pbn__active = null;
        private bool? __pbn__active;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutGameplayStats : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<CTeam> teams { get; } = new global::System.Collections.Generic.List<CTeam>();

        [global::ProtoBuf.ProtoContract()]
        public partial class CPlayer : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
            public ulong steam_id
            {
                get => __pbn__steam_id.GetValueOrDefault();
                set => __pbn__steam_id = value;
            }
            public bool ShouldSerializesteam_id() => __pbn__steam_id != null;
            public void Resetsteam_id() => __pbn__steam_id = null;
            private ulong? __pbn__steam_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint player_slot
            {
                get => __pbn__player_slot.GetValueOrDefault();
                set => __pbn__player_slot = value;
            }
            public bool ShouldSerializeplayer_slot() => __pbn__player_slot != null;
            public void Resetplayer_slot() => __pbn__player_slot = null;
            private uint? __pbn__player_slot;

            [global::ProtoBuf.ProtoMember(3)]
            public int hero_id
            {
                get => __pbn__hero_id.GetValueOrDefault();
                set => __pbn__hero_id = value;
            }
            public bool ShouldSerializehero_id() => __pbn__hero_id != null;
            public void Resethero_id() => __pbn__hero_id = null;
            private int? __pbn__hero_id;

            [global::ProtoBuf.ProtoMember(4)]
            public global::System.Collections.Generic.List<CMatchPlayerTimedStats> timed_player_stats { get; } = new global::System.Collections.Generic.List<CMatchPlayerTimedStats>();

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class CTeam : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public bool is_winning_team
            {
                get => __pbn__is_winning_team.GetValueOrDefault();
                set => __pbn__is_winning_team = value;
            }
            public bool ShouldSerializeis_winning_team() => __pbn__is_winning_team != null;
            public void Resetis_winning_team() => __pbn__is_winning_team = null;
            private bool? __pbn__is_winning_team;

            [global::ProtoBuf.ProtoMember(2)]
            public bool is_radiant_team
            {
                get => __pbn__is_radiant_team.GetValueOrDefault();
                set => __pbn__is_radiant_team = value;
            }
            public bool ShouldSerializeis_radiant_team() => __pbn__is_radiant_team != null;
            public void Resetis_radiant_team() => __pbn__is_radiant_team = null;
            private bool? __pbn__is_radiant_team;

            [global::ProtoBuf.ProtoMember(3)]
            public global::System.Collections.Generic.List<CMatchTeamTimedStats> timed_team_stats { get; } = new global::System.Collections.Generic.List<CMatchTeamTimedStats>();

            [global::ProtoBuf.ProtoMember(4)]
            public global::System.Collections.Generic.List<CMsgSignOutGameplayStats.CPlayer> players { get; } = new global::System.Collections.Generic.List<CMsgSignOutGameplayStats.CPlayer>();

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameMatchSignOut : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint duration
        {
            get => __pbn__duration.GetValueOrDefault();
            set => __pbn__duration = value;
        }
        public bool ShouldSerializeduration() => __pbn__duration != null;
        public void Resetduration() => __pbn__duration = null;
        private uint? __pbn__duration;

        [global::ProtoBuf.ProtoMember(3)]
        public bool good_guys_win
        {
            get => __pbn__good_guys_win.GetValueOrDefault();
            set => __pbn__good_guys_win = value;
        }
        public bool ShouldSerializegood_guys_win() => __pbn__good_guys_win != null;
        public void Resetgood_guys_win() => __pbn__good_guys_win = null;
        private bool? __pbn__good_guys_win;

        [global::ProtoBuf.ProtoMember(4, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint date
        {
            get => __pbn__date.GetValueOrDefault();
            set => __pbn__date = value;
        }
        public bool ShouldSerializedate() => __pbn__date != null;
        public void Resetdate() => __pbn__date = null;
        private uint? __pbn__date;

        [global::ProtoBuf.ProtoMember(6)]
        public global::System.Collections.Generic.List<CTeam> teams { get; } = new global::System.Collections.Generic.List<CTeam>();

        [global::ProtoBuf.ProtoMember(8)]
        public global::System.Collections.Generic.List<uint> tower_status { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(9)]
        public global::System.Collections.Generic.List<uint> barracks_status { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(10)]
        public uint cluster
        {
            get => __pbn__cluster.GetValueOrDefault();
            set => __pbn__cluster = value;
        }
        public bool ShouldSerializecluster() => __pbn__cluster != null;
        public void Resetcluster() => __pbn__cluster = null;
        private uint? __pbn__cluster;

        [global::ProtoBuf.ProtoMember(11)]
        [global::System.ComponentModel.DefaultValue("")]
        public string server_addr
        {
            get => __pbn__server_addr ?? "";
            set => __pbn__server_addr = value;
        }
        public bool ShouldSerializeserver_addr() => __pbn__server_addr != null;
        public void Resetserver_addr() => __pbn__server_addr = null;
        private string __pbn__server_addr;

        [global::ProtoBuf.ProtoMember(12)]
        public uint first_blood_time
        {
            get => __pbn__first_blood_time.GetValueOrDefault();
            set => __pbn__first_blood_time = value;
        }
        public bool ShouldSerializefirst_blood_time() => __pbn__first_blood_time != null;
        public void Resetfirst_blood_time() => __pbn__first_blood_time = null;
        private uint? __pbn__first_blood_time;

        [global::ProtoBuf.ProtoMember(14)]
        public uint event_score
        {
            get => __pbn__event_score.GetValueOrDefault();
            set => __pbn__event_score = value;
        }
        public bool ShouldSerializeevent_score() => __pbn__event_score != null;
        public void Resetevent_score() => __pbn__event_score = null;
        private uint? __pbn__event_score;

        [global::ProtoBuf.ProtoMember(41)]
        public global::System.Collections.Generic.List<CMsgDOTAFantasyPlayerStats> fantasy_stats { get; } = new global::System.Collections.Generic.List<CMsgDOTAFantasyPlayerStats>();

        [global::ProtoBuf.ProtoMember(17)]
        public global::System.Collections.Generic.List<CMsgEconPlayerStrangeCountAdjustment> player_strange_count_adjustments { get; } = new global::System.Collections.Generic.List<CMsgEconPlayerStrangeCountAdjustment>();

        [global::ProtoBuf.ProtoMember(18)]
        public bool automatic_surrender
        {
            get => __pbn__automatic_surrender.GetValueOrDefault();
            set => __pbn__automatic_surrender = value;
        }
        public bool ShouldSerializeautomatic_surrender() => __pbn__automatic_surrender != null;
        public void Resetautomatic_surrender() => __pbn__automatic_surrender = null;
        private bool? __pbn__automatic_surrender;

        [global::ProtoBuf.ProtoMember(19)]
        public uint server_version
        {
            get => __pbn__server_version.GetValueOrDefault();
            set => __pbn__server_version = value;
        }
        public bool ShouldSerializeserver_version() => __pbn__server_version != null;
        public void Resetserver_version() => __pbn__server_version = null;
        private uint? __pbn__server_version;

        [global::ProtoBuf.ProtoMember(35)]
        public CMsgPoorNetworkConditions poor_network_conditions { get; set; }

        [global::ProtoBuf.ProtoMember(20)]
        public global::System.Collections.Generic.List<CAdditionalSignoutMsg> additional_msgs { get; } = new global::System.Collections.Generic.List<CAdditionalSignoutMsg>();

        [global::ProtoBuf.ProtoMember(36)]
        public global::System.Collections.Generic.List<CSocialFeedMatchEvent> social_feed_events { get; } = new global::System.Collections.Generic.List<CSocialFeedMatchEvent>();

        [global::ProtoBuf.ProtoMember(22, DataFormat = global::ProtoBuf.DataFormat.ZigZag)]
        public int average_networth_delta
        {
            get => __pbn__average_networth_delta.GetValueOrDefault();
            set => __pbn__average_networth_delta = value;
        }
        public bool ShouldSerializeaverage_networth_delta() => __pbn__average_networth_delta != null;
        public void Resetaverage_networth_delta() => __pbn__average_networth_delta = null;
        private int? __pbn__average_networth_delta;

        [global::ProtoBuf.ProtoMember(37)]
        public CCustomGameData custom_game_data { get; set; }

        [global::ProtoBuf.ProtoMember(38)]
        public uint match_flags
        {
            get => __pbn__match_flags.GetValueOrDefault();
            set => __pbn__match_flags = value;
        }
        public bool ShouldSerializematch_flags() => __pbn__match_flags != null;
        public void Resetmatch_flags() => __pbn__match_flags = null;
        private uint? __pbn__match_flags;

        [global::ProtoBuf.ProtoMember(39)]
        public global::System.Collections.Generic.List<uint> team_scores { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(40)]
        public uint pre_game_duration
        {
            get => __pbn__pre_game_duration.GetValueOrDefault();
            set => __pbn__pre_game_duration = value;
        }
        public bool ShouldSerializepre_game_duration() => __pbn__pre_game_duration != null;
        public void Resetpre_game_duration() => __pbn__pre_game_duration = null;
        private uint? __pbn__pre_game_duration;

        [global::ProtoBuf.ProtoMember(42)]
        public global::System.Collections.Generic.List<EventGameLeaderboardEntry> event_game_leaderboard_entries { get; } = new global::System.Collections.Generic.List<EventGameLeaderboardEntry>();

        [global::ProtoBuf.ProtoMember(43)]
        public global::System.Collections.Generic.List<WardPlacement> ward_placements { get; } = new global::System.Collections.Generic.List<WardPlacement>();

        [global::ProtoBuf.ProtoMember(44)]
        public CMsgSignOutGameplayStats gameplay_stats { get; set; }

        [global::ProtoBuf.ProtoMember(54)]
        public global::System.Collections.Generic.List<CExtraMsgBlock> extra_messages { get; } = new global::System.Collections.Generic.List<CExtraMsgBlock>();

        [global::ProtoBuf.ProtoMember(55)]
        public bool training_data_recorded
        {
            get => __pbn__training_data_recorded.GetValueOrDefault();
            set => __pbn__training_data_recorded = value;
        }
        public bool ShouldSerializetraining_data_recorded() => __pbn__training_data_recorded != null;
        public void Resettraining_data_recorded() => __pbn__training_data_recorded = null;
        private bool? __pbn__training_data_recorded;

        [global::ProtoBuf.ProtoMember(56)]
        [global::System.ComponentModel.DefaultValue(DOTA_GC_TEAM.DOTA_GC_TEAM_GOOD_GUYS)]
        public DOTA_GC_TEAM winning_team
        {
            get => __pbn__winning_team ?? DOTA_GC_TEAM.DOTA_GC_TEAM_GOOD_GUYS;
            set => __pbn__winning_team = value;
        }
        public bool ShouldSerializewinning_team() => __pbn__winning_team != null;
        public void Resetwinning_team() => __pbn__winning_team = null;
        private DOTA_GC_TEAM? __pbn__winning_team;

        [global::ProtoBuf.ProtoMember(57)]
        public float normalized_win_probability_diff
        {
            get => __pbn__normalized_win_probability_diff.GetValueOrDefault();
            set => __pbn__normalized_win_probability_diff = value;
        }
        public bool ShouldSerializenormalized_win_probability_diff() => __pbn__normalized_win_probability_diff != null;
        public void Resetnormalized_win_probability_diff() => __pbn__normalized_win_probability_diff = null;
        private float? __pbn__normalized_win_probability_diff;

        [global::ProtoBuf.ProtoMember(58)]
        public global::System.Collections.Generic.List<CMsgTrackedStat> match_tracked_stats { get; } = new global::System.Collections.Generic.List<CMsgTrackedStat>();

        [global::ProtoBuf.ProtoContract()]
        public partial class CTeam : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public global::System.Collections.Generic.List<CPlayer> players { get; } = new global::System.Collections.Generic.List<CPlayer>();

            [global::ProtoBuf.ProtoMember(2)]
            public global::System.Collections.Generic.List<CMsgTrackedStat> team_tracked_stats { get; } = new global::System.Collections.Generic.List<CMsgTrackedStat>();

            [global::ProtoBuf.ProtoContract()]
            public partial class CPlayer : global::ProtoBuf.IExtensible
            {
                private global::ProtoBuf.IExtension __pbn__extensionData;
                global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                    => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

                [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
                public ulong steam_id
                {
                    get => __pbn__steam_id.GetValueOrDefault();
                    set => __pbn__steam_id = value;
                }
                public bool ShouldSerializesteam_id() => __pbn__steam_id != null;
                public void Resetsteam_id() => __pbn__steam_id = null;
                private ulong? __pbn__steam_id;

                [global::ProtoBuf.ProtoMember(3)]
                public int hero_id
                {
                    get => __pbn__hero_id.GetValueOrDefault();
                    set => __pbn__hero_id = value;
                }
                public bool ShouldSerializehero_id() => __pbn__hero_id != null;
                public void Resethero_id() => __pbn__hero_id = null;
                private int? __pbn__hero_id;

                [global::ProtoBuf.ProtoMember(4)]
                public global::System.Collections.Generic.List<int> items { get; } = new global::System.Collections.Generic.List<int>();

                [global::ProtoBuf.ProtoMember(63)]
                public global::System.Collections.Generic.List<uint> item_purchase_times { get; } = new global::System.Collections.Generic.List<uint>();

                [global::ProtoBuf.ProtoMember(5)]
                public uint gold
                {
                    get => __pbn__gold.GetValueOrDefault();
                    set => __pbn__gold = value;
                }
                public bool ShouldSerializegold() => __pbn__gold != null;
                public void Resetgold() => __pbn__gold = null;
                private uint? __pbn__gold;

                [global::ProtoBuf.ProtoMember(6)]
                public uint kills
                {
                    get => __pbn__kills.GetValueOrDefault();
                    set => __pbn__kills = value;
                }
                public bool ShouldSerializekills() => __pbn__kills != null;
                public void Resetkills() => __pbn__kills = null;
                private uint? __pbn__kills;

                [global::ProtoBuf.ProtoMember(7)]
                public uint deaths
                {
                    get => __pbn__deaths.GetValueOrDefault();
                    set => __pbn__deaths = value;
                }
                public bool ShouldSerializedeaths() => __pbn__deaths != null;
                public void Resetdeaths() => __pbn__deaths = null;
                private uint? __pbn__deaths;

                [global::ProtoBuf.ProtoMember(8)]
                public uint assists
                {
                    get => __pbn__assists.GetValueOrDefault();
                    set => __pbn__assists = value;
                }
                public bool ShouldSerializeassists() => __pbn__assists != null;
                public void Resetassists() => __pbn__assists = null;
                private uint? __pbn__assists;

                [global::ProtoBuf.ProtoMember(9)]
                public uint leaver_status
                {
                    get => __pbn__leaver_status.GetValueOrDefault();
                    set => __pbn__leaver_status = value;
                }
                public bool ShouldSerializeleaver_status() => __pbn__leaver_status != null;
                public void Resetleaver_status() => __pbn__leaver_status = null;
                private uint? __pbn__leaver_status;

                [global::ProtoBuf.ProtoMember(10)]
                public uint last_hits
                {
                    get => __pbn__last_hits.GetValueOrDefault();
                    set => __pbn__last_hits = value;
                }
                public bool ShouldSerializelast_hits() => __pbn__last_hits != null;
                public void Resetlast_hits() => __pbn__last_hits = null;
                private uint? __pbn__last_hits;

                [global::ProtoBuf.ProtoMember(11)]
                public uint denies
                {
                    get => __pbn__denies.GetValueOrDefault();
                    set => __pbn__denies = value;
                }
                public bool ShouldSerializedenies() => __pbn__denies != null;
                public void Resetdenies() => __pbn__denies = null;
                private uint? __pbn__denies;

                [global::ProtoBuf.ProtoMember(12)]
                public uint gold_per_min
                {
                    get => __pbn__gold_per_min.GetValueOrDefault();
                    set => __pbn__gold_per_min = value;
                }
                public bool ShouldSerializegold_per_min() => __pbn__gold_per_min != null;
                public void Resetgold_per_min() => __pbn__gold_per_min = null;
                private uint? __pbn__gold_per_min;

                [global::ProtoBuf.ProtoMember(13)]
                public uint xp_per_minute
                {
                    get => __pbn__xp_per_minute.GetValueOrDefault();
                    set => __pbn__xp_per_minute = value;
                }
                public bool ShouldSerializexp_per_minute() => __pbn__xp_per_minute != null;
                public void Resetxp_per_minute() => __pbn__xp_per_minute = null;
                private uint? __pbn__xp_per_minute;

                [global::ProtoBuf.ProtoMember(14)]
                public uint gold_spent
                {
                    get => __pbn__gold_spent.GetValueOrDefault();
                    set => __pbn__gold_spent = value;
                }
                public bool ShouldSerializegold_spent() => __pbn__gold_spent != null;
                public void Resetgold_spent() => __pbn__gold_spent = null;
                private uint? __pbn__gold_spent;

                [global::ProtoBuf.ProtoMember(15)]
                public uint level
                {
                    get => __pbn__level.GetValueOrDefault();
                    set => __pbn__level = value;
                }
                public bool ShouldSerializelevel() => __pbn__level != null;
                public void Resetlevel() => __pbn__level = null;
                private uint? __pbn__level;

                [global::ProtoBuf.ProtoMember(16)]
                public uint scaled_hero_damage
                {
                    get => __pbn__scaled_hero_damage.GetValueOrDefault();
                    set => __pbn__scaled_hero_damage = value;
                }
                public bool ShouldSerializescaled_hero_damage() => __pbn__scaled_hero_damage != null;
                public void Resetscaled_hero_damage() => __pbn__scaled_hero_damage = null;
                private uint? __pbn__scaled_hero_damage;

                [global::ProtoBuf.ProtoMember(17)]
                public uint scaled_tower_damage
                {
                    get => __pbn__scaled_tower_damage.GetValueOrDefault();
                    set => __pbn__scaled_tower_damage = value;
                }
                public bool ShouldSerializescaled_tower_damage() => __pbn__scaled_tower_damage != null;
                public void Resetscaled_tower_damage() => __pbn__scaled_tower_damage = null;
                private uint? __pbn__scaled_tower_damage;

                [global::ProtoBuf.ProtoMember(18)]
                public uint scaled_hero_healing
                {
                    get => __pbn__scaled_hero_healing.GetValueOrDefault();
                    set => __pbn__scaled_hero_healing = value;
                }
                public bool ShouldSerializescaled_hero_healing() => __pbn__scaled_hero_healing != null;
                public void Resetscaled_hero_healing() => __pbn__scaled_hero_healing = null;
                private uint? __pbn__scaled_hero_healing;

                [global::ProtoBuf.ProtoMember(19)]
                public uint time_last_seen
                {
                    get => __pbn__time_last_seen.GetValueOrDefault();
                    set => __pbn__time_last_seen = value;
                }
                public bool ShouldSerializetime_last_seen() => __pbn__time_last_seen != null;
                public void Resettime_last_seen() => __pbn__time_last_seen = null;
                private uint? __pbn__time_last_seen;

                [global::ProtoBuf.ProtoMember(20)]
                public uint support_ability_value
                {
                    get => __pbn__support_ability_value.GetValueOrDefault();
                    set => __pbn__support_ability_value = value;
                }
                public bool ShouldSerializesupport_ability_value() => __pbn__support_ability_value != null;
                public void Resetsupport_ability_value() => __pbn__support_ability_value = null;
                private uint? __pbn__support_ability_value;

                [global::ProtoBuf.ProtoMember(21)]
                public ulong party_id
                {
                    get => __pbn__party_id.GetValueOrDefault();
                    set => __pbn__party_id = value;
                }
                public bool ShouldSerializeparty_id() => __pbn__party_id != null;
                public void Resetparty_id() => __pbn__party_id = null;
                private ulong? __pbn__party_id;

                [global::ProtoBuf.ProtoMember(27)]
                public uint claimed_farm_gold
                {
                    get => __pbn__claimed_farm_gold.GetValueOrDefault();
                    set => __pbn__claimed_farm_gold = value;
                }
                public bool ShouldSerializeclaimed_farm_gold() => __pbn__claimed_farm_gold != null;
                public void Resetclaimed_farm_gold() => __pbn__claimed_farm_gold = null;
                private uint? __pbn__claimed_farm_gold;

                [global::ProtoBuf.ProtoMember(28)]
                public uint support_gold
                {
                    get => __pbn__support_gold.GetValueOrDefault();
                    set => __pbn__support_gold = value;
                }
                public bool ShouldSerializesupport_gold() => __pbn__support_gold != null;
                public void Resetsupport_gold() => __pbn__support_gold = null;
                private uint? __pbn__support_gold;

                [global::ProtoBuf.ProtoMember(29)]
                public uint claimed_denies
                {
                    get => __pbn__claimed_denies.GetValueOrDefault();
                    set => __pbn__claimed_denies = value;
                }
                public bool ShouldSerializeclaimed_denies() => __pbn__claimed_denies != null;
                public void Resetclaimed_denies() => __pbn__claimed_denies = null;
                private uint? __pbn__claimed_denies;

                [global::ProtoBuf.ProtoMember(30)]
                public uint claimed_misses
                {
                    get => __pbn__claimed_misses.GetValueOrDefault();
                    set => __pbn__claimed_misses = value;
                }
                public bool ShouldSerializeclaimed_misses() => __pbn__claimed_misses != null;
                public void Resetclaimed_misses() => __pbn__claimed_misses = null;
                private uint? __pbn__claimed_misses;

                [global::ProtoBuf.ProtoMember(31)]
                public uint misses
                {
                    get => __pbn__misses.GetValueOrDefault();
                    set => __pbn__misses = value;
                }
                public bool ShouldSerializemisses() => __pbn__misses != null;
                public void Resetmisses() => __pbn__misses = null;
                private uint? __pbn__misses;

                [global::ProtoBuf.ProtoMember(34)]
                public uint net_worth
                {
                    get => __pbn__net_worth.GetValueOrDefault();
                    set => __pbn__net_worth = value;
                }
                public bool ShouldSerializenet_worth() => __pbn__net_worth != null;
                public void Resetnet_worth() => __pbn__net_worth = null;
                private uint? __pbn__net_worth;

                [global::ProtoBuf.ProtoMember(37)]
                public uint hero_damage
                {
                    get => __pbn__hero_damage.GetValueOrDefault();
                    set => __pbn__hero_damage = value;
                }
                public bool ShouldSerializehero_damage() => __pbn__hero_damage != null;
                public void Resethero_damage() => __pbn__hero_damage = null;
                private uint? __pbn__hero_damage;

                [global::ProtoBuf.ProtoMember(38)]
                public uint tower_damage
                {
                    get => __pbn__tower_damage.GetValueOrDefault();
                    set => __pbn__tower_damage = value;
                }
                public bool ShouldSerializetower_damage() => __pbn__tower_damage != null;
                public void Resettower_damage() => __pbn__tower_damage = null;
                private uint? __pbn__tower_damage;

                [global::ProtoBuf.ProtoMember(39)]
                public uint hero_healing
                {
                    get => __pbn__hero_healing.GetValueOrDefault();
                    set => __pbn__hero_healing = value;
                }
                public bool ShouldSerializehero_healing() => __pbn__hero_healing != null;
                public void Resethero_healing() => __pbn__hero_healing = null;
                private uint? __pbn__hero_healing;

                [global::ProtoBuf.ProtoMember(32)]
                public global::System.Collections.Generic.List<CMatchPlayerAbilityUpgrade> ability_upgrades { get; } = new global::System.Collections.Generic.List<CMatchPlayerAbilityUpgrade>();

                [global::ProtoBuf.ProtoMember(33)]
                public global::System.Collections.Generic.List<CMatchAdditionalUnitInventory> additional_units_inventory { get; } = new global::System.Collections.Generic.List<CMatchAdditionalUnitInventory>();

                [global::ProtoBuf.ProtoMember(40)]
                public global::System.Collections.Generic.List<CMatchPlayerPermanentBuff> permanent_buffs { get; } = new global::System.Collections.Generic.List<CMatchPlayerPermanentBuff>();

                [global::ProtoBuf.ProtoMember(35)]
                public CCustomGameData custom_game_data { get; set; }

                [global::ProtoBuf.ProtoMember(36)]
                public uint match_player_flags
                {
                    get => __pbn__match_player_flags.GetValueOrDefault();
                    set => __pbn__match_player_flags = value;
                }
                public bool ShouldSerializematch_player_flags() => __pbn__match_player_flags != null;
                public void Resetmatch_player_flags() => __pbn__match_player_flags = null;
                private uint? __pbn__match_player_flags;

                [global::ProtoBuf.ProtoMember(41)]
                public global::System.Collections.Generic.List<int> talent_ability_ids { get; } = new global::System.Collections.Generic.List<int>();

                [global::ProtoBuf.ProtoMember(42)]
                public uint hero_pick_order
                {
                    get => __pbn__hero_pick_order.GetValueOrDefault();
                    set => __pbn__hero_pick_order = value;
                }
                public bool ShouldSerializehero_pick_order() => __pbn__hero_pick_order != null;
                public void Resethero_pick_order() => __pbn__hero_pick_order = null;
                private uint? __pbn__hero_pick_order;

                [global::ProtoBuf.ProtoMember(43)]
                public bool hero_was_randomed
                {
                    get => __pbn__hero_was_randomed.GetValueOrDefault();
                    set => __pbn__hero_was_randomed = value;
                }
                public bool ShouldSerializehero_was_randomed() => __pbn__hero_was_randomed != null;
                public void Resethero_was_randomed() => __pbn__hero_was_randomed = null;
                private bool? __pbn__hero_was_randomed;

                [global::ProtoBuf.ProtoMember(50)]
                public bool hero_was_dota_plus_suggestion
                {
                    get => __pbn__hero_was_dota_plus_suggestion.GetValueOrDefault();
                    set => __pbn__hero_was_dota_plus_suggestion = value;
                }
                public bool ShouldSerializehero_was_dota_plus_suggestion() => __pbn__hero_was_dota_plus_suggestion != null;
                public void Resethero_was_dota_plus_suggestion() => __pbn__hero_was_dota_plus_suggestion = null;
                private bool? __pbn__hero_was_dota_plus_suggestion;

                [global::ProtoBuf.ProtoMember(45)]
                public uint lane
                {
                    get => __pbn__lane.GetValueOrDefault();
                    set => __pbn__lane = value;
                }
                public bool ShouldSerializelane() => __pbn__lane != null;
                public void Resetlane() => __pbn__lane = null;
                private uint? __pbn__lane;

                [global::ProtoBuf.ProtoMember(47)]
                public bool is_using_plus_guide
                {
                    get => __pbn__is_using_plus_guide.GetValueOrDefault();
                    set => __pbn__is_using_plus_guide = value;
                }
                public bool ShouldSerializeis_using_plus_guide() => __pbn__is_using_plus_guide != null;
                public void Resetis_using_plus_guide() => __pbn__is_using_plus_guide = null;
                private bool? __pbn__is_using_plus_guide;

                [global::ProtoBuf.ProtoMember(48)]
                public global::System.Collections.Generic.List<HeroDamageReceived> hero_damage_received { get; } = new global::System.Collections.Generic.List<HeroDamageReceived>();

                [global::ProtoBuf.ProtoMember(64)]
                public global::System.Collections.Generic.List<HeroDamageReceived> hero_damage_dealt { get; } = new global::System.Collections.Generic.List<HeroDamageReceived>();

                [global::ProtoBuf.ProtoMember(51)]
                public uint seconds_dead
                {
                    get => __pbn__seconds_dead.GetValueOrDefault();
                    set => __pbn__seconds_dead = value;
                }
                public bool ShouldSerializeseconds_dead() => __pbn__seconds_dead != null;
                public void Resetseconds_dead() => __pbn__seconds_dead = null;
                private uint? __pbn__seconds_dead;

                [global::ProtoBuf.ProtoMember(52)]
                public uint gold_lost_to_death
                {
                    get => __pbn__gold_lost_to_death.GetValueOrDefault();
                    set => __pbn__gold_lost_to_death = value;
                }
                public bool ShouldSerializegold_lost_to_death() => __pbn__gold_lost_to_death != null;
                public void Resetgold_lost_to_death() => __pbn__gold_lost_to_death = null;
                private uint? __pbn__gold_lost_to_death;

                [global::ProtoBuf.ProtoMember(53)]
                public uint command_count
                {
                    get => __pbn__command_count.GetValueOrDefault();
                    set => __pbn__command_count = value;
                }
                public bool ShouldSerializecommand_count() => __pbn__command_count != null;
                public void Resetcommand_count() => __pbn__command_count = null;
                private uint? __pbn__command_count;

                [global::ProtoBuf.ProtoMember(54)]
                public uint mouse_click_cast_command_count
                {
                    get => __pbn__mouse_click_cast_command_count.GetValueOrDefault();
                    set => __pbn__mouse_click_cast_command_count = value;
                }
                public bool ShouldSerializemouse_click_cast_command_count() => __pbn__mouse_click_cast_command_count != null;
                public void Resetmouse_click_cast_command_count() => __pbn__mouse_click_cast_command_count = null;
                private uint? __pbn__mouse_click_cast_command_count;

                [global::ProtoBuf.ProtoMember(55)]
                public uint teleports_used
                {
                    get => __pbn__teleports_used.GetValueOrDefault();
                    set => __pbn__teleports_used = value;
                }
                public bool ShouldSerializeteleports_used() => __pbn__teleports_used != null;
                public void Resetteleports_used() => __pbn__teleports_used = null;
                private uint? __pbn__teleports_used;

                [global::ProtoBuf.ProtoMember(56)]
                [global::System.ComponentModel.DefaultValue(255u)]
                public uint cavern_crawl_preferred_map_variant
                {
                    get => __pbn__cavern_crawl_preferred_map_variant ?? 255u;
                    set => __pbn__cavern_crawl_preferred_map_variant = value;
                }
                public bool ShouldSerializecavern_crawl_preferred_map_variant() => __pbn__cavern_crawl_preferred_map_variant != null;
                public void Resetcavern_crawl_preferred_map_variant() => __pbn__cavern_crawl_preferred_map_variant = null;
                private uint? __pbn__cavern_crawl_preferred_map_variant;

                [global::ProtoBuf.ProtoMember(57)]
                public uint bounty_runes
                {
                    get => __pbn__bounty_runes.GetValueOrDefault();
                    set => __pbn__bounty_runes = value;
                }
                public bool ShouldSerializebounty_runes() => __pbn__bounty_runes != null;
                public void Resetbounty_runes() => __pbn__bounty_runes = null;
                private uint? __pbn__bounty_runes;

                [global::ProtoBuf.ProtoMember(58)]
                public uint outposts_captured
                {
                    get => __pbn__outposts_captured.GetValueOrDefault();
                    set => __pbn__outposts_captured = value;
                }
                public bool ShouldSerializeoutposts_captured() => __pbn__outposts_captured != null;
                public void Resetoutposts_captured() => __pbn__outposts_captured = null;
                private uint? __pbn__outposts_captured;

                [global::ProtoBuf.ProtoMember(59)]
                public uint dewards
                {
                    get => __pbn__dewards.GetValueOrDefault();
                    set => __pbn__dewards = value;
                }
                public bool ShouldSerializedewards() => __pbn__dewards != null;
                public void Resetdewards() => __pbn__dewards = null;
                private uint? __pbn__dewards;

                [global::ProtoBuf.ProtoMember(60)]
                public uint wards_placed
                {
                    get => __pbn__wards_placed.GetValueOrDefault();
                    set => __pbn__wards_placed = value;
                }
                public bool ShouldSerializewards_placed() => __pbn__wards_placed != null;
                public void Resetwards_placed() => __pbn__wards_placed = null;
                private uint? __pbn__wards_placed;

                [global::ProtoBuf.ProtoMember(61)]
                public uint camps_stacked
                {
                    get => __pbn__camps_stacked.GetValueOrDefault();
                    set => __pbn__camps_stacked = value;
                }
                public bool ShouldSerializecamps_stacked() => __pbn__camps_stacked != null;
                public void Resetcamps_stacked() => __pbn__camps_stacked = null;
                private uint? __pbn__camps_stacked;

                [global::ProtoBuf.ProtoMember(62)]
                public uint player_slot
                {
                    get => __pbn__player_slot.GetValueOrDefault();
                    set => __pbn__player_slot = value;
                }
                public bool ShouldSerializeplayer_slot() => __pbn__player_slot != null;
                public void Resetplayer_slot() => __pbn__player_slot = null;
                private uint? __pbn__player_slot;

                [global::ProtoBuf.ProtoMember(66)]
                public uint predicted_position
                {
                    get => __pbn__predicted_position.GetValueOrDefault();
                    set => __pbn__predicted_position = value;
                }
                public bool ShouldSerializepredicted_position() => __pbn__predicted_position != null;
                public void Resetpredicted_position() => __pbn__predicted_position = null;
                private uint? __pbn__predicted_position;

                [global::ProtoBuf.ProtoMember(67)]
                [global::System.ComponentModel.DefaultValue(255u)]
                public uint lane_outcomes
                {
                    get => __pbn__lane_outcomes ?? 255u;
                    set => __pbn__lane_outcomes = value;
                }
                public bool ShouldSerializelane_outcomes() => __pbn__lane_outcomes != null;
                public void Resetlane_outcomes() => __pbn__lane_outcomes = null;
                private uint? __pbn__lane_outcomes;

                [global::ProtoBuf.ProtoMember(68)]
                public uint friendly_t1_destroyed_time
                {
                    get => __pbn__friendly_t1_destroyed_time.GetValueOrDefault();
                    set => __pbn__friendly_t1_destroyed_time = value;
                }
                public bool ShouldSerializefriendly_t1_destroyed_time() => __pbn__friendly_t1_destroyed_time != null;
                public void Resetfriendly_t1_destroyed_time() => __pbn__friendly_t1_destroyed_time = null;
                private uint? __pbn__friendly_t1_destroyed_time;

                [global::ProtoBuf.ProtoMember(69)]
                public uint enemy_t1_destroyed_time
                {
                    get => __pbn__enemy_t1_destroyed_time.GetValueOrDefault();
                    set => __pbn__enemy_t1_destroyed_time = value;
                }
                public bool ShouldSerializeenemy_t1_destroyed_time() => __pbn__enemy_t1_destroyed_time != null;
                public void Resetenemy_t1_destroyed_time() => __pbn__enemy_t1_destroyed_time = null;
                private uint? __pbn__enemy_t1_destroyed_time;

                [global::ProtoBuf.ProtoMember(70)]
                public uint friendly_roshan_kills
                {
                    get => __pbn__friendly_roshan_kills.GetValueOrDefault();
                    set => __pbn__friendly_roshan_kills = value;
                }
                public bool ShouldSerializefriendly_roshan_kills() => __pbn__friendly_roshan_kills != null;
                public void Resetfriendly_roshan_kills() => __pbn__friendly_roshan_kills = null;
                private uint? __pbn__friendly_roshan_kills;

                [global::ProtoBuf.ProtoMember(71)]
                public uint enemy_roshan_kills
                {
                    get => __pbn__enemy_roshan_kills.GetValueOrDefault();
                    set => __pbn__enemy_roshan_kills = value;
                }
                public bool ShouldSerializeenemy_roshan_kills() => __pbn__enemy_roshan_kills != null;
                public void Resetenemy_roshan_kills() => __pbn__enemy_roshan_kills = null;
                private uint? __pbn__enemy_roshan_kills;

                [global::ProtoBuf.ProtoMember(72)]
                public uint power_runes
                {
                    get => __pbn__power_runes.GetValueOrDefault();
                    set => __pbn__power_runes = value;
                }
                public bool ShouldSerializepower_runes() => __pbn__power_runes != null;
                public void Resetpower_runes() => __pbn__power_runes = null;
                private uint? __pbn__power_runes;

                [global::ProtoBuf.ProtoMember(73)]
                public uint water_runes
                {
                    get => __pbn__water_runes.GetValueOrDefault();
                    set => __pbn__water_runes = value;
                }
                public bool ShouldSerializewater_runes() => __pbn__water_runes != null;
                public void Resetwater_runes() => __pbn__water_runes = null;
                private uint? __pbn__water_runes;

                [global::ProtoBuf.ProtoMember(74)]
                public float stun_duration
                {
                    get => __pbn__stun_duration.GetValueOrDefault();
                    set => __pbn__stun_duration = value;
                }
                public bool ShouldSerializestun_duration() => __pbn__stun_duration != null;
                public void Resetstun_duration() => __pbn__stun_duration = null;
                private float? __pbn__stun_duration;

                [global::ProtoBuf.ProtoMember(75)]
                [global::System.ComponentModel.DefaultValue(DOTA_GC_TEAM.DOTA_GC_TEAM_GOOD_GUYS)]
                public DOTA_GC_TEAM team_number
                {
                    get => __pbn__team_number ?? DOTA_GC_TEAM.DOTA_GC_TEAM_GOOD_GUYS;
                    set => __pbn__team_number = value;
                }
                public bool ShouldSerializeteam_number() => __pbn__team_number != null;
                public void Resetteam_number() => __pbn__team_number = null;
                private DOTA_GC_TEAM? __pbn__team_number;

                [global::ProtoBuf.ProtoMember(76)]
                public uint team_slot
                {
                    get => __pbn__team_slot.GetValueOrDefault();
                    set => __pbn__team_slot = value;
                }
                public bool ShouldSerializeteam_slot() => __pbn__team_slot != null;
                public void Resetteam_slot() => __pbn__team_slot = null;
                private uint? __pbn__team_slot;

                [global::ProtoBuf.ProtoMember(77)]
                public uint time_purchased_shard
                {
                    get => __pbn__time_purchased_shard.GetValueOrDefault();
                    set => __pbn__time_purchased_shard = value;
                }
                public bool ShouldSerializetime_purchased_shard() => __pbn__time_purchased_shard != null;
                public void Resettime_purchased_shard() => __pbn__time_purchased_shard = null;
                private uint? __pbn__time_purchased_shard;

                [global::ProtoBuf.ProtoMember(78)]
                public uint time_purchased_aghs
                {
                    get => __pbn__time_purchased_aghs.GetValueOrDefault();
                    set => __pbn__time_purchased_aghs = value;
                }
                public bool ShouldSerializetime_purchased_aghs() => __pbn__time_purchased_aghs != null;
                public void Resettime_purchased_aghs() => __pbn__time_purchased_aghs = null;
                private uint? __pbn__time_purchased_aghs;

                [global::ProtoBuf.ProtoMember(79)]
                public global::System.Collections.Generic.List<int> ability_draft_abilities { get; } = new global::System.Collections.Generic.List<int>();

                [global::ProtoBuf.ProtoMember(80)]
                public global::System.Collections.Generic.List<CMsgTrackedStat> player_tracked_stats { get; } = new global::System.Collections.Generic.List<CMsgTrackedStat>();

                [global::ProtoBuf.ProtoMember(81)]
                public uint predicted_rank
                {
                    get => __pbn__predicted_rank.GetValueOrDefault();
                    set => __pbn__predicted_rank = value;
                }
                public bool ShouldSerializepredicted_rank() => __pbn__predicted_rank != null;
                public void Resetpredicted_rank() => __pbn__predicted_rank = null;
                private uint? __pbn__predicted_rank;

                [global::ProtoBuf.ProtoMember(82)]
                public uint selected_facet
                {
                    get => __pbn__selected_facet.GetValueOrDefault();
                    set => __pbn__selected_facet = value;
                }
                public bool ShouldSerializeselected_facet() => __pbn__selected_facet != null;
                public void Resetselected_facet() => __pbn__selected_facet = null;
                private uint? __pbn__selected_facet;

                [global::ProtoBuf.ProtoContract()]
                public partial class CCustomGameData : global::ProtoBuf.IExtensible
                {
                    private global::ProtoBuf.IExtension __pbn__extensionData;
                    global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                        => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

                    [global::ProtoBuf.ProtoMember(1)]
                    public uint dota_team
                    {
                        get => __pbn__dota_team.GetValueOrDefault();
                        set => __pbn__dota_team = value;
                    }
                    public bool ShouldSerializedota_team() => __pbn__dota_team != null;
                    public void Resetdota_team() => __pbn__dota_team = null;
                    private uint? __pbn__dota_team;

                    [global::ProtoBuf.ProtoMember(2)]
                    public bool winner
                    {
                        get => __pbn__winner.GetValueOrDefault();
                        set => __pbn__winner = value;
                    }
                    public bool ShouldSerializewinner() => __pbn__winner != null;
                    public void Resetwinner() => __pbn__winner = null;
                    private bool? __pbn__winner;

                }

                [global::ProtoBuf.ProtoContract()]
                public partial class HeroDamageReceived : global::ProtoBuf.IExtensible
                {
                    private global::ProtoBuf.IExtension __pbn__extensionData;
                    global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                        => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

                    [global::ProtoBuf.ProtoMember(1)]
                    public uint pre_reduction
                    {
                        get => __pbn__pre_reduction.GetValueOrDefault();
                        set => __pbn__pre_reduction = value;
                    }
                    public bool ShouldSerializepre_reduction() => __pbn__pre_reduction != null;
                    public void Resetpre_reduction() => __pbn__pre_reduction = null;
                    private uint? __pbn__pre_reduction;

                    [global::ProtoBuf.ProtoMember(2)]
                    public uint post_reduction
                    {
                        get => __pbn__post_reduction.GetValueOrDefault();
                        set => __pbn__post_reduction = value;
                    }
                    public bool ShouldSerializepost_reduction() => __pbn__post_reduction != null;
                    public void Resetpost_reduction() => __pbn__post_reduction = null;
                    private uint? __pbn__post_reduction;

                    [global::ProtoBuf.ProtoMember(3)]
                    [global::System.ComponentModel.DefaultValue(CMsgGameMatchSignOut.CTeam.CPlayer.HeroDamageType.HERO_DAMAGE_PHYSICAL)]
                    public CMsgGameMatchSignOut.CTeam.CPlayer.HeroDamageType damage_type
                    {
                        get => __pbn__damage_type ?? CMsgGameMatchSignOut.CTeam.CPlayer.HeroDamageType.HERO_DAMAGE_PHYSICAL;
                        set => __pbn__damage_type = value;
                    }
                    public bool ShouldSerializedamage_type() => __pbn__damage_type != null;
                    public void Resetdamage_type() => __pbn__damage_type = null;
                    private CMsgGameMatchSignOut.CTeam.CPlayer.HeroDamageType? __pbn__damage_type;

                }

                [global::ProtoBuf.ProtoContract()]
                public enum HeroDamageType
                {
                    HERO_DAMAGE_PHYSICAL = 0,
                    HERO_DAMAGE_MAGICAL = 1,
                    HERO_DAMAGE_PURE = 2,
                }

            }

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class CAdditionalSignoutMsg : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint id
            {
                get => __pbn__id.GetValueOrDefault();
                set => __pbn__id = value;
            }
            public bool ShouldSerializeid() => __pbn__id != null;
            public void Resetid() => __pbn__id = null;
            private uint? __pbn__id;

            [global::ProtoBuf.ProtoMember(2)]
            public byte[] contents
            {
                get => __pbn__contents;
                set => __pbn__contents = value;
            }
            public bool ShouldSerializecontents() => __pbn__contents != null;
            public void Resetcontents() => __pbn__contents = null;
            private byte[] __pbn__contents;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class CSocialFeedMatchEvent : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint timestamp
            {
                get => __pbn__timestamp.GetValueOrDefault();
                set => __pbn__timestamp = value;
            }
            public bool ShouldSerializetimestamp() => __pbn__timestamp != null;
            public void Resettimestamp() => __pbn__timestamp = null;
            private uint? __pbn__timestamp;

            [global::ProtoBuf.ProtoMember(3)]
            public uint event_type
            {
                get => __pbn__event_type.GetValueOrDefault();
                set => __pbn__event_type = value;
            }
            public bool ShouldSerializeevent_type() => __pbn__event_type != null;
            public void Resetevent_type() => __pbn__event_type = null;
            private uint? __pbn__event_type;

            [global::ProtoBuf.ProtoMember(4)]
            public int game_time
            {
                get => __pbn__game_time.GetValueOrDefault();
                set => __pbn__game_time = value;
            }
            public bool ShouldSerializegame_time() => __pbn__game_time != null;
            public void Resetgame_time() => __pbn__game_time = null;
            private int? __pbn__game_time;

            [global::ProtoBuf.ProtoMember(5)]
            public uint replay_time
            {
                get => __pbn__replay_time.GetValueOrDefault();
                set => __pbn__replay_time = value;
            }
            public bool ShouldSerializereplay_time() => __pbn__replay_time != null;
            public void Resetreplay_time() => __pbn__replay_time = null;
            private uint? __pbn__replay_time;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class CCustomGameData : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint publish_timestamp
            {
                get => __pbn__publish_timestamp.GetValueOrDefault();
                set => __pbn__publish_timestamp = value;
            }
            public bool ShouldSerializepublish_timestamp() => __pbn__publish_timestamp != null;
            public void Resetpublish_timestamp() => __pbn__publish_timestamp = null;
            private uint? __pbn__publish_timestamp;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class EventGameLeaderboardEntry : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            [global::System.ComponentModel.DefaultValue("")]
            public string name_suffix
            {
                get => __pbn__name_suffix ?? "";
                set => __pbn__name_suffix = value;
            }
            public bool ShouldSerializename_suffix() => __pbn__name_suffix != null;
            public void Resetname_suffix() => __pbn__name_suffix = null;
            private string __pbn__name_suffix;

            [global::ProtoBuf.ProtoMember(2)]
            public int score
            {
                get => __pbn__score.GetValueOrDefault();
                set => __pbn__score = value;
            }
            public bool ShouldSerializescore() => __pbn__score != null;
            public void Resetscore() => __pbn__score = null;
            private int? __pbn__score;

            [global::ProtoBuf.ProtoMember(3)]
            public uint extra_data_1
            {
                get => __pbn__extra_data_1.GetValueOrDefault();
                set => __pbn__extra_data_1 = value;
            }
            public bool ShouldSerializeextra_data_1() => __pbn__extra_data_1 != null;
            public void Resetextra_data_1() => __pbn__extra_data_1 = null;
            private uint? __pbn__extra_data_1;

            [global::ProtoBuf.ProtoMember(4)]
            public uint extra_data_2
            {
                get => __pbn__extra_data_2.GetValueOrDefault();
                set => __pbn__extra_data_2 = value;
            }
            public bool ShouldSerializeextra_data_2() => __pbn__extra_data_2 != null;
            public void Resetextra_data_2() => __pbn__extra_data_2 = null;
            private uint? __pbn__extra_data_2;

            [global::ProtoBuf.ProtoMember(5)]
            public uint extra_data_3
            {
                get => __pbn__extra_data_3.GetValueOrDefault();
                set => __pbn__extra_data_3 = value;
            }
            public bool ShouldSerializeextra_data_3() => __pbn__extra_data_3 != null;
            public void Resetextra_data_3() => __pbn__extra_data_3 = null;
            private uint? __pbn__extra_data_3;

            [global::ProtoBuf.ProtoMember(6)]
            public uint extra_data_4
            {
                get => __pbn__extra_data_4.GetValueOrDefault();
                set => __pbn__extra_data_4 = value;
            }
            public bool ShouldSerializeextra_data_4() => __pbn__extra_data_4 != null;
            public void Resetextra_data_4() => __pbn__extra_data_4 = null;
            private uint? __pbn__extra_data_4;

            [global::ProtoBuf.ProtoMember(7)]
            public uint extra_data_5
            {
                get => __pbn__extra_data_5.GetValueOrDefault();
                set => __pbn__extra_data_5 = value;
            }
            public bool ShouldSerializeextra_data_5() => __pbn__extra_data_5 != null;
            public void Resetextra_data_5() => __pbn__extra_data_5 = null;
            private uint? __pbn__extra_data_5;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class WardPlacement : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            [global::System.ComponentModel.DefaultValue(-1)]
            public int player_id
            {
                get => __pbn__player_id ?? -1;
                set => __pbn__player_id = value;
            }
            public bool ShouldSerializeplayer_id() => __pbn__player_id != null;
            public void Resetplayer_id() => __pbn__player_id = null;
            private int? __pbn__player_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint team_id
            {
                get => __pbn__team_id.GetValueOrDefault();
                set => __pbn__team_id = value;
            }
            public bool ShouldSerializeteam_id() => __pbn__team_id != null;
            public void Resetteam_id() => __pbn__team_id = null;
            private uint? __pbn__team_id;

            [global::ProtoBuf.ProtoMember(3)]
            public uint placed_time
            {
                get => __pbn__placed_time.GetValueOrDefault();
                set => __pbn__placed_time = value;
            }
            public bool ShouldSerializeplaced_time() => __pbn__placed_time != null;
            public void Resetplaced_time() => __pbn__placed_time = null;
            private uint? __pbn__placed_time;

            [global::ProtoBuf.ProtoMember(4)]
            public uint building_state
            {
                get => __pbn__building_state.GetValueOrDefault();
                set => __pbn__building_state = value;
            }
            public bool ShouldSerializebuilding_state() => __pbn__building_state != null;
            public void Resetbuilding_state() => __pbn__building_state = null;
            private uint? __pbn__building_state;

            [global::ProtoBuf.ProtoMember(5)]
            public uint creep_state
            {
                get => __pbn__creep_state.GetValueOrDefault();
                set => __pbn__creep_state = value;
            }
            public bool ShouldSerializecreep_state() => __pbn__creep_state != null;
            public void Resetcreep_state() => __pbn__creep_state = null;
            private uint? __pbn__creep_state;

            [global::ProtoBuf.ProtoMember(6)]
            public bool roshan_alive
            {
                get => __pbn__roshan_alive.GetValueOrDefault();
                set => __pbn__roshan_alive = value;
            }
            public bool ShouldSerializeroshan_alive() => __pbn__roshan_alive != null;
            public void Resetroshan_alive() => __pbn__roshan_alive = null;
            private bool? __pbn__roshan_alive;

            [global::ProtoBuf.ProtoMember(7)]
            public uint position_x
            {
                get => __pbn__position_x.GetValueOrDefault();
                set => __pbn__position_x = value;
            }
            public bool ShouldSerializeposition_x() => __pbn__position_x != null;
            public void Resetposition_x() => __pbn__position_x = null;
            private uint? __pbn__position_x;

            [global::ProtoBuf.ProtoMember(8)]
            public uint position_y
            {
                get => __pbn__position_y.GetValueOrDefault();
                set => __pbn__position_y = value;
            }
            public bool ShouldSerializeposition_y() => __pbn__position_y != null;
            public void Resetposition_y() => __pbn__position_y = null;
            private uint? __pbn__position_y;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutDraftInfo : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint radiant_captain_account_id
        {
            get => __pbn__radiant_captain_account_id.GetValueOrDefault();
            set => __pbn__radiant_captain_account_id = value;
        }
        public bool ShouldSerializeradiant_captain_account_id() => __pbn__radiant_captain_account_id != null;
        public void Resetradiant_captain_account_id() => __pbn__radiant_captain_account_id = null;
        private uint? __pbn__radiant_captain_account_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint dire_captain_account_id
        {
            get => __pbn__dire_captain_account_id.GetValueOrDefault();
            set => __pbn__dire_captain_account_id = value;
        }
        public bool ShouldSerializedire_captain_account_id() => __pbn__dire_captain_account_id != null;
        public void Resetdire_captain_account_id() => __pbn__dire_captain_account_id = null;
        private uint? __pbn__dire_captain_account_id;

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<CMatchHeroSelectEvent> picks_bans { get; } = new global::System.Collections.Generic.List<CMatchHeroSelectEvent>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutBotInfo : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public bool allow_cheats
        {
            get => __pbn__allow_cheats.GetValueOrDefault();
            set => __pbn__allow_cheats = value;
        }
        public bool ShouldSerializeallow_cheats() => __pbn__allow_cheats != null;
        public void Resetallow_cheats() => __pbn__allow_cheats = null;
        private bool? __pbn__allow_cheats;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(DOTABotDifficulty.BOT_DIFFICULTY_PASSIVE)]
        public DOTABotDifficulty bot_difficulty_radiant
        {
            get => __pbn__bot_difficulty_radiant ?? DOTABotDifficulty.BOT_DIFFICULTY_PASSIVE;
            set => __pbn__bot_difficulty_radiant = value;
        }
        public bool ShouldSerializebot_difficulty_radiant() => __pbn__bot_difficulty_radiant != null;
        public void Resetbot_difficulty_radiant() => __pbn__bot_difficulty_radiant = null;
        private DOTABotDifficulty? __pbn__bot_difficulty_radiant;

        [global::ProtoBuf.ProtoMember(3)]
        public bool created_lobby
        {
            get => __pbn__created_lobby.GetValueOrDefault();
            set => __pbn__created_lobby = value;
        }
        public bool ShouldSerializecreated_lobby() => __pbn__created_lobby != null;
        public void Resetcreated_lobby() => __pbn__created_lobby = null;
        private bool? __pbn__created_lobby;

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue(DOTABotDifficulty.BOT_DIFFICULTY_PASSIVE)]
        public DOTABotDifficulty bot_difficulty_dire
        {
            get => __pbn__bot_difficulty_dire ?? DOTABotDifficulty.BOT_DIFFICULTY_PASSIVE;
            set => __pbn__bot_difficulty_dire = value;
        }
        public bool ShouldSerializebot_difficulty_dire() => __pbn__bot_difficulty_dire != null;
        public void Resetbot_difficulty_dire() => __pbn__bot_difficulty_dire = null;
        private DOTABotDifficulty? __pbn__bot_difficulty_dire;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutTextMuteInfo : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<TextMuteMessage> text_mute_messages { get; } = new global::System.Collections.Generic.List<TextMuteMessage>();

        [global::ProtoBuf.ProtoContract()]
        public partial class TextMuteMessage : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint region
            {
                get => __pbn__region.GetValueOrDefault();
                set => __pbn__region = value;
            }
            public bool ShouldSerializeregion() => __pbn__region != null;
            public void Resetregion() => __pbn__region = null;
            private uint? __pbn__region;

            [global::ProtoBuf.ProtoMember(2)]
            public bool caused_text_mute
            {
                get => __pbn__caused_text_mute.GetValueOrDefault();
                set => __pbn__caused_text_mute = value;
            }
            public bool ShouldSerializecaused_text_mute() => __pbn__caused_text_mute != null;
            public void Resetcaused_text_mute() => __pbn__caused_text_mute = null;
            private bool? __pbn__caused_text_mute;

            [global::ProtoBuf.ProtoMember(3)]
            [global::System.ComponentModel.DefaultValue("")]
            public string chat_message
            {
                get => __pbn__chat_message ?? "";
                set => __pbn__chat_message = value;
            }
            public bool ShouldSerializechat_message() => __pbn__chat_message != null;
            public void Resetchat_message() => __pbn__chat_message = null;
            private string __pbn__chat_message;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutPlayerStats : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public int account_id
        {
            get => __pbn__account_id.GetValueOrDefault();
            set => __pbn__account_id = value;
        }
        public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
        public void Resetaccount_id() => __pbn__account_id = null;
        private int? __pbn__account_id;

        [global::ProtoBuf.ProtoMember(2)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(3)]
        public uint rank
        {
            get => __pbn__rank.GetValueOrDefault();
            set => __pbn__rank = value;
        }
        public bool ShouldSerializerank() => __pbn__rank != null;
        public void Resetrank() => __pbn__rank = null;
        private uint? __pbn__rank;

        [global::ProtoBuf.ProtoMember(4)]
        public int hero_id
        {
            get => __pbn__hero_id.GetValueOrDefault();
            set => __pbn__hero_id = value;
        }
        public bool ShouldSerializehero_id() => __pbn__hero_id != null;
        public void Resethero_id() => __pbn__hero_id = null;
        private int? __pbn__hero_id;

        [global::ProtoBuf.ProtoMember(5)]
        public uint rampages
        {
            get => __pbn__rampages.GetValueOrDefault();
            set => __pbn__rampages = value;
        }
        public bool ShouldSerializerampages() => __pbn__rampages != null;
        public void Resetrampages() => __pbn__rampages = null;
        private uint? __pbn__rampages;

        [global::ProtoBuf.ProtoMember(6)]
        public uint triple_kills
        {
            get => __pbn__triple_kills.GetValueOrDefault();
            set => __pbn__triple_kills = value;
        }
        public bool ShouldSerializetriple_kills() => __pbn__triple_kills != null;
        public void Resettriple_kills() => __pbn__triple_kills = null;
        private uint? __pbn__triple_kills;

        [global::ProtoBuf.ProtoMember(7)]
        public uint first_blood_claimed
        {
            get => __pbn__first_blood_claimed.GetValueOrDefault();
            set => __pbn__first_blood_claimed = value;
        }
        public bool ShouldSerializefirst_blood_claimed() => __pbn__first_blood_claimed != null;
        public void Resetfirst_blood_claimed() => __pbn__first_blood_claimed = null;
        private uint? __pbn__first_blood_claimed;

        [global::ProtoBuf.ProtoMember(8)]
        public uint first_blood_given
        {
            get => __pbn__first_blood_given.GetValueOrDefault();
            set => __pbn__first_blood_given = value;
        }
        public bool ShouldSerializefirst_blood_given() => __pbn__first_blood_given != null;
        public void Resetfirst_blood_given() => __pbn__first_blood_given = null;
        private uint? __pbn__first_blood_given;

        [global::ProtoBuf.ProtoMember(9)]
        public uint couriers_killed
        {
            get => __pbn__couriers_killed.GetValueOrDefault();
            set => __pbn__couriers_killed = value;
        }
        public bool ShouldSerializecouriers_killed() => __pbn__couriers_killed != null;
        public void Resetcouriers_killed() => __pbn__couriers_killed = null;
        private uint? __pbn__couriers_killed;

        [global::ProtoBuf.ProtoMember(10)]
        public uint aegises_snatched
        {
            get => __pbn__aegises_snatched.GetValueOrDefault();
            set => __pbn__aegises_snatched = value;
        }
        public bool ShouldSerializeaegises_snatched() => __pbn__aegises_snatched != null;
        public void Resetaegises_snatched() => __pbn__aegises_snatched = null;
        private uint? __pbn__aegises_snatched;

        [global::ProtoBuf.ProtoMember(11)]
        public uint cheeses_eaten
        {
            get => __pbn__cheeses_eaten.GetValueOrDefault();
            set => __pbn__cheeses_eaten = value;
        }
        public bool ShouldSerializecheeses_eaten() => __pbn__cheeses_eaten != null;
        public void Resetcheeses_eaten() => __pbn__cheeses_eaten = null;
        private uint? __pbn__cheeses_eaten;

        [global::ProtoBuf.ProtoMember(12)]
        public uint creeps_stacked
        {
            get => __pbn__creeps_stacked.GetValueOrDefault();
            set => __pbn__creeps_stacked = value;
        }
        public bool ShouldSerializecreeps_stacked() => __pbn__creeps_stacked != null;
        public void Resetcreeps_stacked() => __pbn__creeps_stacked = null;
        private uint? __pbn__creeps_stacked;

        [global::ProtoBuf.ProtoMember(13)]
        public float fight_score
        {
            get => __pbn__fight_score.GetValueOrDefault();
            set => __pbn__fight_score = value;
        }
        public bool ShouldSerializefight_score() => __pbn__fight_score != null;
        public void Resetfight_score() => __pbn__fight_score = null;
        private float? __pbn__fight_score;

        [global::ProtoBuf.ProtoMember(14)]
        public float farm_score
        {
            get => __pbn__farm_score.GetValueOrDefault();
            set => __pbn__farm_score = value;
        }
        public bool ShouldSerializefarm_score() => __pbn__farm_score != null;
        public void Resetfarm_score() => __pbn__farm_score = null;
        private float? __pbn__farm_score;

        [global::ProtoBuf.ProtoMember(15)]
        public float support_score
        {
            get => __pbn__support_score.GetValueOrDefault();
            set => __pbn__support_score = value;
        }
        public bool ShouldSerializesupport_score() => __pbn__support_score != null;
        public void Resetsupport_score() => __pbn__support_score = null;
        private float? __pbn__support_score;

        [global::ProtoBuf.ProtoMember(16)]
        public float push_score
        {
            get => __pbn__push_score.GetValueOrDefault();
            set => __pbn__push_score = value;
        }
        public bool ShouldSerializepush_score() => __pbn__push_score != null;
        public void Resetpush_score() => __pbn__push_score = null;
        private float? __pbn__push_score;

        [global::ProtoBuf.ProtoMember(17)]
        public uint kills
        {
            get => __pbn__kills.GetValueOrDefault();
            set => __pbn__kills = value;
        }
        public bool ShouldSerializekills() => __pbn__kills != null;
        public void Resetkills() => __pbn__kills = null;
        private uint? __pbn__kills;

        [global::ProtoBuf.ProtoMember(18)]
        public uint deaths
        {
            get => __pbn__deaths.GetValueOrDefault();
            set => __pbn__deaths = value;
        }
        public bool ShouldSerializedeaths() => __pbn__deaths != null;
        public void Resetdeaths() => __pbn__deaths = null;
        private uint? __pbn__deaths;

        [global::ProtoBuf.ProtoMember(19)]
        public uint assists
        {
            get => __pbn__assists.GetValueOrDefault();
            set => __pbn__assists = value;
        }
        public bool ShouldSerializeassists() => __pbn__assists != null;
        public void Resetassists() => __pbn__assists = null;
        private uint? __pbn__assists;

        [global::ProtoBuf.ProtoMember(20)]
        public uint last_hits
        {
            get => __pbn__last_hits.GetValueOrDefault();
            set => __pbn__last_hits = value;
        }
        public bool ShouldSerializelast_hits() => __pbn__last_hits != null;
        public void Resetlast_hits() => __pbn__last_hits = null;
        private uint? __pbn__last_hits;

        [global::ProtoBuf.ProtoMember(21)]
        public uint denies
        {
            get => __pbn__denies.GetValueOrDefault();
            set => __pbn__denies = value;
        }
        public bool ShouldSerializedenies() => __pbn__denies != null;
        public void Resetdenies() => __pbn__denies = null;
        private uint? __pbn__denies;

        [global::ProtoBuf.ProtoMember(22)]
        public float gpm
        {
            get => __pbn__gpm.GetValueOrDefault();
            set => __pbn__gpm = value;
        }
        public bool ShouldSerializegpm() => __pbn__gpm != null;
        public void Resetgpm() => __pbn__gpm = null;
        private float? __pbn__gpm;

        [global::ProtoBuf.ProtoMember(23)]
        public float xppm
        {
            get => __pbn__xppm.GetValueOrDefault();
            set => __pbn__xppm = value;
        }
        public bool ShouldSerializexppm() => __pbn__xppm != null;
        public void Resetxppm() => __pbn__xppm = null;
        private float? __pbn__xppm;

        [global::ProtoBuf.ProtoMember(24)]
        public float net_worth
        {
            get => __pbn__net_worth.GetValueOrDefault();
            set => __pbn__net_worth = value;
        }
        public bool ShouldSerializenet_worth() => __pbn__net_worth != null;
        public void Resetnet_worth() => __pbn__net_worth = null;
        private float? __pbn__net_worth;

        [global::ProtoBuf.ProtoMember(25)]
        public float damage
        {
            get => __pbn__damage.GetValueOrDefault();
            set => __pbn__damage = value;
        }
        public bool ShouldSerializedamage() => __pbn__damage != null;
        public void Resetdamage() => __pbn__damage = null;
        private float? __pbn__damage;

        [global::ProtoBuf.ProtoMember(26)]
        public float heals
        {
            get => __pbn__heals.GetValueOrDefault();
            set => __pbn__heals = value;
        }
        public bool ShouldSerializeheals() => __pbn__heals != null;
        public void Resetheals() => __pbn__heals = null;
        private float? __pbn__heals;

        [global::ProtoBuf.ProtoMember(27)]
        public uint rapiers_purchased
        {
            get => __pbn__rapiers_purchased.GetValueOrDefault();
            set => __pbn__rapiers_purchased = value;
        }
        public bool ShouldSerializerapiers_purchased() => __pbn__rapiers_purchased != null;
        public void Resetrapiers_purchased() => __pbn__rapiers_purchased = null;
        private uint? __pbn__rapiers_purchased;

        [global::ProtoBuf.ProtoMember(28)]
        public uint observer_wards_placed
        {
            get => __pbn__observer_wards_placed.GetValueOrDefault();
            set => __pbn__observer_wards_placed = value;
        }
        public bool ShouldSerializeobserver_wards_placed() => __pbn__observer_wards_placed != null;
        public void Resetobserver_wards_placed() => __pbn__observer_wards_placed = null;
        private uint? __pbn__observer_wards_placed;

        [global::ProtoBuf.ProtoMember(29)]
        public uint wards_destroyed
        {
            get => __pbn__wards_destroyed.GetValueOrDefault();
            set => __pbn__wards_destroyed = value;
        }
        public bool ShouldSerializewards_destroyed() => __pbn__wards_destroyed != null;
        public void Resetwards_destroyed() => __pbn__wards_destroyed = null;
        private uint? __pbn__wards_destroyed;

        [global::ProtoBuf.ProtoMember(30)]
        public uint lobby_type
        {
            get => __pbn__lobby_type.GetValueOrDefault();
            set => __pbn__lobby_type = value;
        }
        public bool ShouldSerializelobby_type() => __pbn__lobby_type != null;
        public void Resetlobby_type() => __pbn__lobby_type = null;
        private uint? __pbn__lobby_type;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutCommunicationSummary : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<PlayerCommunication> players { get; } = new global::System.Collections.Generic.List<PlayerCommunication>();

        [global::ProtoBuf.ProtoContract()]
        public partial class PlayerCommunication : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint pings
            {
                get => __pbn__pings.GetValueOrDefault();
                set => __pbn__pings = value;
            }
            public bool ShouldSerializepings() => __pbn__pings != null;
            public void Resetpings() => __pbn__pings = null;
            private uint? __pbn__pings;

            [global::ProtoBuf.ProtoMember(3)]
            public uint max_pings_per_interval
            {
                get => __pbn__max_pings_per_interval.GetValueOrDefault();
                set => __pbn__max_pings_per_interval = value;
            }
            public bool ShouldSerializemax_pings_per_interval() => __pbn__max_pings_per_interval != null;
            public void Resetmax_pings_per_interval() => __pbn__max_pings_per_interval = null;
            private uint? __pbn__max_pings_per_interval;

            [global::ProtoBuf.ProtoMember(4)]
            public uint teammate_pings
            {
                get => __pbn__teammate_pings.GetValueOrDefault();
                set => __pbn__teammate_pings = value;
            }
            public bool ShouldSerializeteammate_pings() => __pbn__teammate_pings != null;
            public void Resetteammate_pings() => __pbn__teammate_pings = null;
            private uint? __pbn__teammate_pings;

            [global::ProtoBuf.ProtoMember(5)]
            public uint max_teammate_pings_per_interval
            {
                get => __pbn__max_teammate_pings_per_interval.GetValueOrDefault();
                set => __pbn__max_teammate_pings_per_interval = value;
            }
            public bool ShouldSerializemax_teammate_pings_per_interval() => __pbn__max_teammate_pings_per_interval != null;
            public void Resetmax_teammate_pings_per_interval() => __pbn__max_teammate_pings_per_interval = null;
            private uint? __pbn__max_teammate_pings_per_interval;

            [global::ProtoBuf.ProtoMember(6)]
            public uint team_chat_messages
            {
                get => __pbn__team_chat_messages.GetValueOrDefault();
                set => __pbn__team_chat_messages = value;
            }
            public bool ShouldSerializeteam_chat_messages() => __pbn__team_chat_messages != null;
            public void Resetteam_chat_messages() => __pbn__team_chat_messages = null;
            private uint? __pbn__team_chat_messages;

            [global::ProtoBuf.ProtoMember(7)]
            public uint all_chat_messages
            {
                get => __pbn__all_chat_messages.GetValueOrDefault();
                set => __pbn__all_chat_messages = value;
            }
            public bool ShouldSerializeall_chat_messages() => __pbn__all_chat_messages != null;
            public void Resetall_chat_messages() => __pbn__all_chat_messages = null;
            private uint? __pbn__all_chat_messages;

            [global::ProtoBuf.ProtoMember(8)]
            public uint chat_wheel_messages
            {
                get => __pbn__chat_wheel_messages.GetValueOrDefault();
                set => __pbn__chat_wheel_messages = value;
            }
            public bool ShouldSerializechat_wheel_messages() => __pbn__chat_wheel_messages != null;
            public void Resetchat_wheel_messages() => __pbn__chat_wheel_messages = null;
            private uint? __pbn__chat_wheel_messages;

            [global::ProtoBuf.ProtoMember(9)]
            public uint pauses
            {
                get => __pbn__pauses.GetValueOrDefault();
                set => __pbn__pauses = value;
            }
            public bool ShouldSerializepauses() => __pbn__pauses != null;
            public void Resetpauses() => __pbn__pauses = null;
            private uint? __pbn__pauses;

            [global::ProtoBuf.ProtoMember(10)]
            public uint unpauses
            {
                get => __pbn__unpauses.GetValueOrDefault();
                set => __pbn__unpauses = value;
            }
            public bool ShouldSerializeunpauses() => __pbn__unpauses != null;
            public void Resetunpauses() => __pbn__unpauses = null;
            private uint? __pbn__unpauses;

            [global::ProtoBuf.ProtoMember(11)]
            public uint lines_drawn
            {
                get => __pbn__lines_drawn.GetValueOrDefault();
                set => __pbn__lines_drawn = value;
            }
            public bool ShouldSerializelines_drawn() => __pbn__lines_drawn != null;
            public void Resetlines_drawn() => __pbn__lines_drawn = null;
            private uint? __pbn__lines_drawn;

            [global::ProtoBuf.ProtoMember(12)]
            public uint voice_chat_seconds
            {
                get => __pbn__voice_chat_seconds.GetValueOrDefault();
                set => __pbn__voice_chat_seconds = value;
            }
            public bool ShouldSerializevoice_chat_seconds() => __pbn__voice_chat_seconds != null;
            public void Resetvoice_chat_seconds() => __pbn__voice_chat_seconds = null;
            private uint? __pbn__voice_chat_seconds;

            [global::ProtoBuf.ProtoMember(13)]
            public uint chat_mutes
            {
                get => __pbn__chat_mutes.GetValueOrDefault();
                set => __pbn__chat_mutes = value;
            }
            public bool ShouldSerializechat_mutes() => __pbn__chat_mutes != null;
            public void Resetchat_mutes() => __pbn__chat_mutes = null;
            private uint? __pbn__chat_mutes;

            [global::ProtoBuf.ProtoMember(14)]
            public uint voice_mutes
            {
                get => __pbn__voice_mutes.GetValueOrDefault();
                set => __pbn__voice_mutes = value;
            }
            public bool ShouldSerializevoice_mutes() => __pbn__voice_mutes != null;
            public void Resetvoice_mutes() => __pbn__voice_mutes = null;
            private uint? __pbn__voice_mutes;

            [global::ProtoBuf.ProtoMember(15)]
            public global::System.Collections.Generic.List<PingDetail> ping_details { get; } = new global::System.Collections.Generic.List<PingDetail>();

            [global::ProtoBuf.ProtoMember(16)]
            public uint comms_blocks_solo
            {
                get => __pbn__comms_blocks_solo.GetValueOrDefault();
                set => __pbn__comms_blocks_solo = value;
            }
            public bool ShouldSerializecomms_blocks_solo() => __pbn__comms_blocks_solo != null;
            public void Resetcomms_blocks_solo() => __pbn__comms_blocks_solo = null;
            private uint? __pbn__comms_blocks_solo;

            [global::ProtoBuf.ProtoMember(17)]
            public uint comms_blocks_mass
            {
                get => __pbn__comms_blocks_mass.GetValueOrDefault();
                set => __pbn__comms_blocks_mass = value;
            }
            public bool ShouldSerializecomms_blocks_mass() => __pbn__comms_blocks_mass != null;
            public void Resetcomms_blocks_mass() => __pbn__comms_blocks_mass = null;
            private uint? __pbn__comms_blocks_mass;

            [global::ProtoBuf.ProtoMember(18)]
            public global::System.Collections.Generic.List<string> chat_log { get; } = new global::System.Collections.Generic.List<string>();

            [global::ProtoBuf.ProtoContract()]
            public partial class PingDetail : global::ProtoBuf.IExtensible
            {
                private global::ProtoBuf.IExtension __pbn__extensionData;
                global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                    => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

                [global::ProtoBuf.ProtoMember(1)]
                [global::System.ComponentModel.DefaultValue(4294967295u)]
                public uint type
                {
                    get => __pbn__type ?? 4294967295u;
                    set => __pbn__type = value;
                }
                public bool ShouldSerializetype() => __pbn__type != null;
                public void Resettype() => __pbn__type = null;
                private uint? __pbn__type;

                [global::ProtoBuf.ProtoMember(2)]
                public uint count
                {
                    get => __pbn__count.GetValueOrDefault();
                    set => __pbn__count = value;
                }
                public bool ShouldSerializecount() => __pbn__count != null;
                public void Resetcount() => __pbn__count = null;
                private uint? __pbn__count;

            }

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameMatchSignoutResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint replay_salt
        {
            get => __pbn__replay_salt.GetValueOrDefault();
            set => __pbn__replay_salt = value;
        }
        public bool ShouldSerializereplay_salt() => __pbn__replay_salt != null;
        public void Resetreplay_salt() => __pbn__replay_salt = null;
        private uint? __pbn__replay_salt;

        [global::ProtoBuf.ProtoMember(5)]
        public uint leagueid
        {
            get => __pbn__leagueid.GetValueOrDefault();
            set => __pbn__leagueid = value;
        }
        public bool ShouldSerializeleagueid() => __pbn__leagueid != null;
        public void Resetleagueid() => __pbn__leagueid = null;
        private uint? __pbn__leagueid;

        [global::ProtoBuf.ProtoMember(7, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint metadata_private_key
        {
            get => __pbn__metadata_private_key.GetValueOrDefault();
            set => __pbn__metadata_private_key = value;
        }
        public bool ShouldSerializemetadata_private_key() => __pbn__metadata_private_key != null;
        public void Resetmetadata_private_key() => __pbn__metadata_private_key = null;
        private uint? __pbn__metadata_private_key;

        [global::ProtoBuf.ProtoMember(8)]
        public CMsgDOTAMatch match_details { get; set; }

        [global::ProtoBuf.ProtoMember(9)]
        public global::System.Collections.Generic.List<PlayerMetadata> players_metadata { get; } = new global::System.Collections.Generic.List<PlayerMetadata>();

        [global::ProtoBuf.ProtoMember(10)]
        public CMvpData mvp_data { get; set; }

        [global::ProtoBuf.ProtoMember(11, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong ow_private_key
        {
            get => __pbn__ow_private_key.GetValueOrDefault();
            set => __pbn__ow_private_key = value;
        }
        public bool ShouldSerializeow_private_key() => __pbn__ow_private_key != null;
        public void Resetow_private_key() => __pbn__ow_private_key = null;
        private ulong? __pbn__ow_private_key;

        [global::ProtoBuf.ProtoMember(12, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint ow_salt
        {
            get => __pbn__ow_salt.GetValueOrDefault();
            set => __pbn__ow_salt = value;
        }
        public bool ShouldSerializeow_salt() => __pbn__ow_salt != null;
        public void Resetow_salt() => __pbn__ow_salt = null;
        private uint? __pbn__ow_salt;

        [global::ProtoBuf.ProtoMember(13)]
        public ulong ow_replay_id
        {
            get => __pbn__ow_replay_id.GetValueOrDefault();
            set => __pbn__ow_replay_id = value;
        }
        public bool ShouldSerializeow_replay_id() => __pbn__ow_replay_id != null;
        public void Resetow_replay_id() => __pbn__ow_replay_id = null;
        private ulong? __pbn__ow_replay_id;

        [global::ProtoBuf.ProtoMember(14)]
        public CMsgOverworldMatchRewards overworld_rewards { get; set; }

        [global::ProtoBuf.ProtoContract()]
        public partial class PlayerMetadata : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public int hero_id
            {
                get => __pbn__hero_id.GetValueOrDefault();
                set => __pbn__hero_id = value;
            }
            public bool ShouldSerializehero_id() => __pbn__hero_id != null;
            public void Resethero_id() => __pbn__hero_id = null;
            private int? __pbn__hero_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint avg_kills_x16
            {
                get => __pbn__avg_kills_x16.GetValueOrDefault();
                set => __pbn__avg_kills_x16 = value;
            }
            public bool ShouldSerializeavg_kills_x16() => __pbn__avg_kills_x16 != null;
            public void Resetavg_kills_x16() => __pbn__avg_kills_x16 = null;
            private uint? __pbn__avg_kills_x16;

            [global::ProtoBuf.ProtoMember(3)]
            public uint avg_deaths_x16
            {
                get => __pbn__avg_deaths_x16.GetValueOrDefault();
                set => __pbn__avg_deaths_x16 = value;
            }
            public bool ShouldSerializeavg_deaths_x16() => __pbn__avg_deaths_x16 != null;
            public void Resetavg_deaths_x16() => __pbn__avg_deaths_x16 = null;
            private uint? __pbn__avg_deaths_x16;

            [global::ProtoBuf.ProtoMember(4)]
            public uint avg_assists_x16
            {
                get => __pbn__avg_assists_x16.GetValueOrDefault();
                set => __pbn__avg_assists_x16 = value;
            }
            public bool ShouldSerializeavg_assists_x16() => __pbn__avg_assists_x16 != null;
            public void Resetavg_assists_x16() => __pbn__avg_assists_x16 = null;
            private uint? __pbn__avg_assists_x16;

            [global::ProtoBuf.ProtoMember(5)]
            public uint avg_gpm_x16
            {
                get => __pbn__avg_gpm_x16.GetValueOrDefault();
                set => __pbn__avg_gpm_x16 = value;
            }
            public bool ShouldSerializeavg_gpm_x16() => __pbn__avg_gpm_x16 != null;
            public void Resetavg_gpm_x16() => __pbn__avg_gpm_x16 = null;
            private uint? __pbn__avg_gpm_x16;

            [global::ProtoBuf.ProtoMember(6)]
            public uint avg_xpm_x16
            {
                get => __pbn__avg_xpm_x16.GetValueOrDefault();
                set => __pbn__avg_xpm_x16 = value;
            }
            public bool ShouldSerializeavg_xpm_x16() => __pbn__avg_xpm_x16 != null;
            public void Resetavg_xpm_x16() => __pbn__avg_xpm_x16 = null;
            private uint? __pbn__avg_xpm_x16;

            [global::ProtoBuf.ProtoMember(7)]
            public uint best_kills_x16
            {
                get => __pbn__best_kills_x16.GetValueOrDefault();
                set => __pbn__best_kills_x16 = value;
            }
            public bool ShouldSerializebest_kills_x16() => __pbn__best_kills_x16 != null;
            public void Resetbest_kills_x16() => __pbn__best_kills_x16 = null;
            private uint? __pbn__best_kills_x16;

            [global::ProtoBuf.ProtoMember(8)]
            public uint best_assists_x16
            {
                get => __pbn__best_assists_x16.GetValueOrDefault();
                set => __pbn__best_assists_x16 = value;
            }
            public bool ShouldSerializebest_assists_x16() => __pbn__best_assists_x16 != null;
            public void Resetbest_assists_x16() => __pbn__best_assists_x16 = null;
            private uint? __pbn__best_assists_x16;

            [global::ProtoBuf.ProtoMember(9)]
            public uint best_gpm_x16
            {
                get => __pbn__best_gpm_x16.GetValueOrDefault();
                set => __pbn__best_gpm_x16 = value;
            }
            public bool ShouldSerializebest_gpm_x16() => __pbn__best_gpm_x16 != null;
            public void Resetbest_gpm_x16() => __pbn__best_gpm_x16 = null;
            private uint? __pbn__best_gpm_x16;

            [global::ProtoBuf.ProtoMember(10)]
            public uint best_xpm_x16
            {
                get => __pbn__best_xpm_x16.GetValueOrDefault();
                set => __pbn__best_xpm_x16 = value;
            }
            public bool ShouldSerializebest_xpm_x16() => __pbn__best_xpm_x16 != null;
            public void Resetbest_xpm_x16() => __pbn__best_xpm_x16 = null;
            private uint? __pbn__best_xpm_x16;

            [global::ProtoBuf.ProtoMember(11)]
            public uint win_streak
            {
                get => __pbn__win_streak.GetValueOrDefault();
                set => __pbn__win_streak = value;
            }
            public bool ShouldSerializewin_streak() => __pbn__win_streak != null;
            public void Resetwin_streak() => __pbn__win_streak = null;
            private uint? __pbn__win_streak;

            [global::ProtoBuf.ProtoMember(12)]
            public uint best_win_streak
            {
                get => __pbn__best_win_streak.GetValueOrDefault();
                set => __pbn__best_win_streak = value;
            }
            public bool ShouldSerializebest_win_streak() => __pbn__best_win_streak != null;
            public void Resetbest_win_streak() => __pbn__best_win_streak = null;
            private uint? __pbn__best_win_streak;

            [global::ProtoBuf.ProtoMember(13)]
            public uint games_played
            {
                get => __pbn__games_played.GetValueOrDefault();
                set => __pbn__games_played = value;
            }
            public bool ShouldSerializegames_played() => __pbn__games_played != null;
            public void Resetgames_played() => __pbn__games_played = null;
            private uint? __pbn__games_played;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameMatchSignOutPermissionRequest : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint server_version
        {
            get => __pbn__server_version.GetValueOrDefault();
            set => __pbn__server_version = value;
        }
        public bool ShouldSerializeserver_version() => __pbn__server_version != null;
        public void Resetserver_version() => __pbn__server_version = null;
        private uint? __pbn__server_version;

        [global::ProtoBuf.ProtoMember(2)]
        public uint local_attempt
        {
            get => __pbn__local_attempt.GetValueOrDefault();
            set => __pbn__local_attempt = value;
        }
        public bool ShouldSerializelocal_attempt() => __pbn__local_attempt != null;
        public void Resetlocal_attempt() => __pbn__local_attempt = null;
        private uint? __pbn__local_attempt;

        [global::ProtoBuf.ProtoMember(3)]
        public uint total_attempt
        {
            get => __pbn__total_attempt.GetValueOrDefault();
            set => __pbn__total_attempt = value;
        }
        public bool ShouldSerializetotal_attempt() => __pbn__total_attempt != null;
        public void Resettotal_attempt() => __pbn__total_attempt = null;
        private uint? __pbn__total_attempt;

        [global::ProtoBuf.ProtoMember(4)]
        public uint seconds_waited
        {
            get => __pbn__seconds_waited.GetValueOrDefault();
            set => __pbn__seconds_waited = value;
        }
        public bool ShouldSerializeseconds_waited() => __pbn__seconds_waited != null;
        public void Resetseconds_waited() => __pbn__seconds_waited = null;
        private uint? __pbn__seconds_waited;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameMatchSignOutPermissionResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool permission_granted
        {
            get => __pbn__permission_granted ?? false;
            set => __pbn__permission_granted = value;
        }
        public bool ShouldSerializepermission_granted() => __pbn__permission_granted != null;
        public void Resetpermission_granted() => __pbn__permission_granted = null;
        private bool? __pbn__permission_granted;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(false)]
        public bool abandon_signout
        {
            get => __pbn__abandon_signout ?? false;
            set => __pbn__abandon_signout = value;
        }
        public bool ShouldSerializeabandon_signout() => __pbn__abandon_signout != null;
        public void Resetabandon_signout() => __pbn__abandon_signout = null;
        private bool? __pbn__abandon_signout;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue(0u)]
        public uint retry_delay_seconds
        {
            get => __pbn__retry_delay_seconds ?? 0u;
            set => __pbn__retry_delay_seconds = value;
        }
        public bool ShouldSerializeretry_delay_seconds() => __pbn__retry_delay_seconds != null;
        public void Resetretry_delay_seconds() => __pbn__retry_delay_seconds = null;
        private uint? __pbn__retry_delay_seconds;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameMatchSignOutEventGameData : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(EEvent.EVENT_ID_NONE)]
        public EEvent event_id
        {
            get => __pbn__event_id ?? EEvent.EVENT_ID_NONE;
            set => __pbn__event_id = value;
        }
        public bool ShouldSerializeevent_id() => __pbn__event_id != null;
        public void Resetevent_id() => __pbn__event_id = null;
        private EEvent? __pbn__event_id;

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue("")]
        public string game_name
        {
            get => __pbn__game_name ?? "";
            set => __pbn__game_name = value;
        }
        public bool ShouldSerializegame_name() => __pbn__game_name != null;
        public void Resetgame_name() => __pbn__game_name = null;
        private string __pbn__game_name;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue("")]
        public string map_name
        {
            get => __pbn__map_name ?? "";
            set => __pbn__map_name = value;
        }
        public bool ShouldSerializemap_name() => __pbn__map_name != null;
        public void Resetmap_name() => __pbn__map_name = null;
        private string __pbn__map_name;

        [global::ProtoBuf.ProtoMember(4)]
        public byte[] event_game_data
        {
            get => __pbn__event_game_data;
            set => __pbn__event_game_data = value;
        }
        public bool ShouldSerializeevent_game_data() => __pbn__event_game_data != null;
        public void Resetevent_game_data() => __pbn__event_game_data = null;
        private byte[] __pbn__event_game_data;

        [global::ProtoBuf.ProtoMember(5)]
        public uint start_time
        {
            get => __pbn__start_time.GetValueOrDefault();
            set => __pbn__start_time = value;
        }
        public bool ShouldSerializestart_time() => __pbn__start_time != null;
        public void Resetstart_time() => __pbn__start_time = null;
        private uint? __pbn__start_time;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameMatchSignOutPerfData : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<float> average_frame_time { get; } = new global::System.Collections.Generic.List<float>();

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<float> max_frame_time { get; } = new global::System.Collections.Generic.List<float>();

        [global::ProtoBuf.ProtoMember(3)]
        public float server_average_frame_time
        {
            get => __pbn__server_average_frame_time.GetValueOrDefault();
            set => __pbn__server_average_frame_time = value;
        }
        public bool ShouldSerializeserver_average_frame_time() => __pbn__server_average_frame_time != null;
        public void Resetserver_average_frame_time() => __pbn__server_average_frame_time = null;
        private float? __pbn__server_average_frame_time;

        [global::ProtoBuf.ProtoMember(4)]
        public float server_max_frame_time
        {
            get => __pbn__server_max_frame_time.GetValueOrDefault();
            set => __pbn__server_max_frame_time = value;
        }
        public bool ShouldSerializeserver_max_frame_time() => __pbn__server_max_frame_time != null;
        public void Resetserver_max_frame_time() => __pbn__server_max_frame_time = null;
        private float? __pbn__server_max_frame_time;

        [global::ProtoBuf.ProtoMember(5)]
        public global::System.Collections.Generic.List<float> average_compute_time { get; } = new global::System.Collections.Generic.List<float>();

        [global::ProtoBuf.ProtoMember(6)]
        public global::System.Collections.Generic.List<float> max_compute_time { get; } = new global::System.Collections.Generic.List<float>();

        [global::ProtoBuf.ProtoMember(7)]
        public global::System.Collections.Generic.List<float> average_client_tick_time { get; } = new global::System.Collections.Generic.List<float>();

        [global::ProtoBuf.ProtoMember(8)]
        public global::System.Collections.Generic.List<float> max_client_tick_time { get; } = new global::System.Collections.Generic.List<float>();

        [global::ProtoBuf.ProtoMember(9)]
        public global::System.Collections.Generic.List<float> average_client_simulate_time { get; } = new global::System.Collections.Generic.List<float>();

        [global::ProtoBuf.ProtoMember(10)]
        public global::System.Collections.Generic.List<float> max_client_simulate_time { get; } = new global::System.Collections.Generic.List<float>();

        [global::ProtoBuf.ProtoMember(11)]
        public global::System.Collections.Generic.List<float> average_output_time { get; } = new global::System.Collections.Generic.List<float>();

        [global::ProtoBuf.ProtoMember(12)]
        public global::System.Collections.Generic.List<float> max_output_time { get; } = new global::System.Collections.Generic.List<float>();

        [global::ProtoBuf.ProtoMember(13)]
        public global::System.Collections.Generic.List<float> average_wait_for_rendering_to_complete_time { get; } = new global::System.Collections.Generic.List<float>();

        [global::ProtoBuf.ProtoMember(14)]
        public global::System.Collections.Generic.List<float> max_wait_for_rendering_to_complete_time { get; } = new global::System.Collections.Generic.List<float>();

        [global::ProtoBuf.ProtoMember(15)]
        public global::System.Collections.Generic.List<float> average_swap_time { get; } = new global::System.Collections.Generic.List<float>();

        [global::ProtoBuf.ProtoMember(16)]
        public global::System.Collections.Generic.List<float> max_swap_time { get; } = new global::System.Collections.Generic.List<float>();

        [global::ProtoBuf.ProtoMember(17)]
        public global::System.Collections.Generic.List<float> average_frame_update_time { get; } = new global::System.Collections.Generic.List<float>();

        [global::ProtoBuf.ProtoMember(18)]
        public global::System.Collections.Generic.List<float> max_frame_update_time { get; } = new global::System.Collections.Generic.List<float>();

        [global::ProtoBuf.ProtoMember(19)]
        public global::System.Collections.Generic.List<float> average_idle_time { get; } = new global::System.Collections.Generic.List<float>();

        [global::ProtoBuf.ProtoMember(20)]
        public global::System.Collections.Generic.List<float> max_idle_time { get; } = new global::System.Collections.Generic.List<float>();

        [global::ProtoBuf.ProtoMember(21)]
        public global::System.Collections.Generic.List<float> average_input_processing_time { get; } = new global::System.Collections.Generic.List<float>();

        [global::ProtoBuf.ProtoMember(22)]
        public global::System.Collections.Generic.List<float> max_input_processing_time { get; } = new global::System.Collections.Generic.List<float>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGameMatchSignOutBanData : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<int> hero_bans { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<int> hero_ban_votes { get; } = new global::System.Collections.Generic.List<int>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTALiveScoreboardUpdate : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint tournament_id
        {
            get => __pbn__tournament_id.GetValueOrDefault();
            set => __pbn__tournament_id = value;
        }
        public bool ShouldSerializetournament_id() => __pbn__tournament_id != null;
        public void Resettournament_id() => __pbn__tournament_id = null;
        private uint? __pbn__tournament_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint tournament_game_id
        {
            get => __pbn__tournament_game_id.GetValueOrDefault();
            set => __pbn__tournament_game_id = value;
        }
        public bool ShouldSerializetournament_game_id() => __pbn__tournament_game_id != null;
        public void Resettournament_game_id() => __pbn__tournament_game_id = null;
        private uint? __pbn__tournament_game_id;

        [global::ProtoBuf.ProtoMember(3)]
        public float duration
        {
            get => __pbn__duration.GetValueOrDefault();
            set => __pbn__duration = value;
        }
        public bool ShouldSerializeduration() => __pbn__duration != null;
        public void Resetduration() => __pbn__duration = null;
        private float? __pbn__duration;

        [global::ProtoBuf.ProtoMember(4)]
        public int hltv_delay
        {
            get => __pbn__hltv_delay.GetValueOrDefault();
            set => __pbn__hltv_delay = value;
        }
        public bool ShouldSerializehltv_delay() => __pbn__hltv_delay != null;
        public void Resethltv_delay() => __pbn__hltv_delay = null;
        private int? __pbn__hltv_delay;

        [global::ProtoBuf.ProtoMember(5)]
        public Team team_good { get; set; }

        [global::ProtoBuf.ProtoMember(6)]
        public Team team_bad { get; set; }

        [global::ProtoBuf.ProtoMember(7)]
        public uint roshan_respawn_timer
        {
            get => __pbn__roshan_respawn_timer.GetValueOrDefault();
            set => __pbn__roshan_respawn_timer = value;
        }
        public bool ShouldSerializeroshan_respawn_timer() => __pbn__roshan_respawn_timer != null;
        public void Resetroshan_respawn_timer() => __pbn__roshan_respawn_timer = null;
        private uint? __pbn__roshan_respawn_timer;

        [global::ProtoBuf.ProtoMember(8)]
        public uint league_id
        {
            get => __pbn__league_id.GetValueOrDefault();
            set => __pbn__league_id = value;
        }
        public bool ShouldSerializeleague_id() => __pbn__league_id != null;
        public void Resetleague_id() => __pbn__league_id = null;
        private uint? __pbn__league_id;

        [global::ProtoBuf.ProtoMember(9)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoContract()]
        public partial class Team : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public global::System.Collections.Generic.List<Player> players { get; } = new global::System.Collections.Generic.List<Player>();

            [global::ProtoBuf.ProtoMember(2)]
            public uint score
            {
                get => __pbn__score.GetValueOrDefault();
                set => __pbn__score = value;
            }
            public bool ShouldSerializescore() => __pbn__score != null;
            public void Resetscore() => __pbn__score = null;
            private uint? __pbn__score;

            [global::ProtoBuf.ProtoMember(3)]
            public uint tower_state
            {
                get => __pbn__tower_state.GetValueOrDefault();
                set => __pbn__tower_state = value;
            }
            public bool ShouldSerializetower_state() => __pbn__tower_state != null;
            public void Resettower_state() => __pbn__tower_state = null;
            private uint? __pbn__tower_state;

            [global::ProtoBuf.ProtoMember(4)]
            public uint barracks_state
            {
                get => __pbn__barracks_state.GetValueOrDefault();
                set => __pbn__barracks_state = value;
            }
            public bool ShouldSerializebarracks_state() => __pbn__barracks_state != null;
            public void Resetbarracks_state() => __pbn__barracks_state = null;
            private uint? __pbn__barracks_state;

            [global::ProtoBuf.ProtoMember(5)]
            public global::System.Collections.Generic.List<int> hero_picks { get; } = new global::System.Collections.Generic.List<int>();

            [global::ProtoBuf.ProtoMember(6)]
            public global::System.Collections.Generic.List<int> hero_bans { get; } = new global::System.Collections.Generic.List<int>();

            [global::ProtoBuf.ProtoContract()]
            public partial class Player : global::ProtoBuf.IExtensible
            {
                private global::ProtoBuf.IExtension __pbn__extensionData;
                global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                    => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

                [global::ProtoBuf.ProtoMember(1)]
                public uint player_slot
                {
                    get => __pbn__player_slot.GetValueOrDefault();
                    set => __pbn__player_slot = value;
                }
                public bool ShouldSerializeplayer_slot() => __pbn__player_slot != null;
                public void Resetplayer_slot() => __pbn__player_slot = null;
                private uint? __pbn__player_slot;

                [global::ProtoBuf.ProtoMember(2)]
                [global::System.ComponentModel.DefaultValue("")]
                public string player_name
                {
                    get => __pbn__player_name ?? "";
                    set => __pbn__player_name = value;
                }
                public bool ShouldSerializeplayer_name() => __pbn__player_name != null;
                public void Resetplayer_name() => __pbn__player_name = null;
                private string __pbn__player_name;

                [global::ProtoBuf.ProtoMember(3)]
                [global::System.ComponentModel.DefaultValue("")]
                public string hero_name
                {
                    get => __pbn__hero_name ?? "";
                    set => __pbn__hero_name = value;
                }
                public bool ShouldSerializehero_name() => __pbn__hero_name != null;
                public void Resethero_name() => __pbn__hero_name = null;
                private string __pbn__hero_name;

                [global::ProtoBuf.ProtoMember(4)]
                public int hero_id
                {
                    get => __pbn__hero_id.GetValueOrDefault();
                    set => __pbn__hero_id = value;
                }
                public bool ShouldSerializehero_id() => __pbn__hero_id != null;
                public void Resethero_id() => __pbn__hero_id = null;
                private int? __pbn__hero_id;

                [global::ProtoBuf.ProtoMember(5)]
                public uint kills
                {
                    get => __pbn__kills.GetValueOrDefault();
                    set => __pbn__kills = value;
                }
                public bool ShouldSerializekills() => __pbn__kills != null;
                public void Resetkills() => __pbn__kills = null;
                private uint? __pbn__kills;

                [global::ProtoBuf.ProtoMember(6)]
                public uint deaths
                {
                    get => __pbn__deaths.GetValueOrDefault();
                    set => __pbn__deaths = value;
                }
                public bool ShouldSerializedeaths() => __pbn__deaths != null;
                public void Resetdeaths() => __pbn__deaths = null;
                private uint? __pbn__deaths;

                [global::ProtoBuf.ProtoMember(7)]
                public uint assists
                {
                    get => __pbn__assists.GetValueOrDefault();
                    set => __pbn__assists = value;
                }
                public bool ShouldSerializeassists() => __pbn__assists != null;
                public void Resetassists() => __pbn__assists = null;
                private uint? __pbn__assists;

                [global::ProtoBuf.ProtoMember(8)]
                public uint last_hits
                {
                    get => __pbn__last_hits.GetValueOrDefault();
                    set => __pbn__last_hits = value;
                }
                public bool ShouldSerializelast_hits() => __pbn__last_hits != null;
                public void Resetlast_hits() => __pbn__last_hits = null;
                private uint? __pbn__last_hits;

                [global::ProtoBuf.ProtoMember(9)]
                public uint denies
                {
                    get => __pbn__denies.GetValueOrDefault();
                    set => __pbn__denies = value;
                }
                public bool ShouldSerializedenies() => __pbn__denies != null;
                public void Resetdenies() => __pbn__denies = null;
                private uint? __pbn__denies;

                [global::ProtoBuf.ProtoMember(10)]
                public uint gold
                {
                    get => __pbn__gold.GetValueOrDefault();
                    set => __pbn__gold = value;
                }
                public bool ShouldSerializegold() => __pbn__gold != null;
                public void Resetgold() => __pbn__gold = null;
                private uint? __pbn__gold;

                [global::ProtoBuf.ProtoMember(11)]
                public uint level
                {
                    get => __pbn__level.GetValueOrDefault();
                    set => __pbn__level = value;
                }
                public bool ShouldSerializelevel() => __pbn__level != null;
                public void Resetlevel() => __pbn__level = null;
                private uint? __pbn__level;

                [global::ProtoBuf.ProtoMember(12)]
                public float gold_per_min
                {
                    get => __pbn__gold_per_min.GetValueOrDefault();
                    set => __pbn__gold_per_min = value;
                }
                public bool ShouldSerializegold_per_min() => __pbn__gold_per_min != null;
                public void Resetgold_per_min() => __pbn__gold_per_min = null;
                private float? __pbn__gold_per_min;

                [global::ProtoBuf.ProtoMember(13)]
                public float xp_per_min
                {
                    get => __pbn__xp_per_min.GetValueOrDefault();
                    set => __pbn__xp_per_min = value;
                }
                public bool ShouldSerializexp_per_min() => __pbn__xp_per_min != null;
                public void Resetxp_per_min() => __pbn__xp_per_min = null;
                private float? __pbn__xp_per_min;

                [global::ProtoBuf.ProtoMember(14)]
                [global::System.ComponentModel.DefaultValue(DOTAUltimateState.k_EDOTAUltimateStateNotLearned)]
                public DOTAUltimateState ultimate_state
                {
                    get => __pbn__ultimate_state ?? DOTAUltimateState.k_EDOTAUltimateStateNotLearned;
                    set => __pbn__ultimate_state = value;
                }
                public bool ShouldSerializeultimate_state() => __pbn__ultimate_state != null;
                public void Resetultimate_state() => __pbn__ultimate_state = null;
                private DOTAUltimateState? __pbn__ultimate_state;

                [global::ProtoBuf.ProtoMember(15)]
                public float ultimate_cooldown
                {
                    get => __pbn__ultimate_cooldown.GetValueOrDefault();
                    set => __pbn__ultimate_cooldown = value;
                }
                public bool ShouldSerializeultimate_cooldown() => __pbn__ultimate_cooldown != null;
                public void Resetultimate_cooldown() => __pbn__ultimate_cooldown = null;
                private float? __pbn__ultimate_cooldown;

                [global::ProtoBuf.ProtoMember(16)]
                [global::System.ComponentModel.DefaultValue(-1)]
                public int item0
                {
                    get => __pbn__item0 ?? -1;
                    set => __pbn__item0 = value;
                }
                public bool ShouldSerializeitem0() => __pbn__item0 != null;
                public void Resetitem0() => __pbn__item0 = null;
                private int? __pbn__item0;

                [global::ProtoBuf.ProtoMember(17)]
                [global::System.ComponentModel.DefaultValue(-1)]
                public int item1
                {
                    get => __pbn__item1 ?? -1;
                    set => __pbn__item1 = value;
                }
                public bool ShouldSerializeitem1() => __pbn__item1 != null;
                public void Resetitem1() => __pbn__item1 = null;
                private int? __pbn__item1;

                [global::ProtoBuf.ProtoMember(18)]
                [global::System.ComponentModel.DefaultValue(-1)]
                public int item2
                {
                    get => __pbn__item2 ?? -1;
                    set => __pbn__item2 = value;
                }
                public bool ShouldSerializeitem2() => __pbn__item2 != null;
                public void Resetitem2() => __pbn__item2 = null;
                private int? __pbn__item2;

                [global::ProtoBuf.ProtoMember(19)]
                [global::System.ComponentModel.DefaultValue(-1)]
                public int item3
                {
                    get => __pbn__item3 ?? -1;
                    set => __pbn__item3 = value;
                }
                public bool ShouldSerializeitem3() => __pbn__item3 != null;
                public void Resetitem3() => __pbn__item3 = null;
                private int? __pbn__item3;

                [global::ProtoBuf.ProtoMember(20)]
                [global::System.ComponentModel.DefaultValue(-1)]
                public int item4
                {
                    get => __pbn__item4 ?? -1;
                    set => __pbn__item4 = value;
                }
                public bool ShouldSerializeitem4() => __pbn__item4 != null;
                public void Resetitem4() => __pbn__item4 = null;
                private int? __pbn__item4;

                [global::ProtoBuf.ProtoMember(21)]
                [global::System.ComponentModel.DefaultValue(-1)]
                public int item5
                {
                    get => __pbn__item5 ?? -1;
                    set => __pbn__item5 = value;
                }
                public bool ShouldSerializeitem5() => __pbn__item5 != null;
                public void Resetitem5() => __pbn__item5 = null;
                private int? __pbn__item5;

                [global::ProtoBuf.ProtoMember(22)]
                public uint respawn_timer
                {
                    get => __pbn__respawn_timer.GetValueOrDefault();
                    set => __pbn__respawn_timer = value;
                }
                public bool ShouldSerializerespawn_timer() => __pbn__respawn_timer != null;
                public void Resetrespawn_timer() => __pbn__respawn_timer = null;
                private uint? __pbn__respawn_timer;

                [global::ProtoBuf.ProtoMember(23)]
                public uint account_id
                {
                    get => __pbn__account_id.GetValueOrDefault();
                    set => __pbn__account_id = value;
                }
                public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
                public void Resetaccount_id() => __pbn__account_id = null;
                private uint? __pbn__account_id;

                [global::ProtoBuf.ProtoMember(24)]
                public float position_x
                {
                    get => __pbn__position_x.GetValueOrDefault();
                    set => __pbn__position_x = value;
                }
                public bool ShouldSerializeposition_x() => __pbn__position_x != null;
                public void Resetposition_x() => __pbn__position_x = null;
                private float? __pbn__position_x;

                [global::ProtoBuf.ProtoMember(25)]
                public float position_y
                {
                    get => __pbn__position_y.GetValueOrDefault();
                    set => __pbn__position_y = value;
                }
                public bool ShouldSerializeposition_y() => __pbn__position_y != null;
                public void Resetposition_y() => __pbn__position_y = null;
                private float? __pbn__position_y;

                [global::ProtoBuf.ProtoMember(26)]
                public uint net_worth
                {
                    get => __pbn__net_worth.GetValueOrDefault();
                    set => __pbn__net_worth = value;
                }
                public bool ShouldSerializenet_worth() => __pbn__net_worth != null;
                public void Resetnet_worth() => __pbn__net_worth = null;
                private uint? __pbn__net_worth;

                [global::ProtoBuf.ProtoMember(27)]
                public global::System.Collections.Generic.List<HeroAbility> abilities { get; } = new global::System.Collections.Generic.List<HeroAbility>();

                [global::ProtoBuf.ProtoContract()]
                public partial class HeroAbility : global::ProtoBuf.IExtensible
                {
                    private global::ProtoBuf.IExtension __pbn__extensionData;
                    global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                        => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

                    [global::ProtoBuf.ProtoMember(1)]
                    [global::System.ComponentModel.DefaultValue(-1)]
                    public int ability_id
                    {
                        get => __pbn__ability_id ?? -1;
                        set => __pbn__ability_id = value;
                    }
                    public bool ShouldSerializeability_id() => __pbn__ability_id != null;
                    public void Resetability_id() => __pbn__ability_id = null;
                    private int? __pbn__ability_id;

                    [global::ProtoBuf.ProtoMember(2)]
                    public uint ability_level
                    {
                        get => __pbn__ability_level.GetValueOrDefault();
                        set => __pbn__ability_level = value;
                    }
                    public bool ShouldSerializeability_level() => __pbn__ability_level != null;
                    public void Resetability_level() => __pbn__ability_level = null;
                    private uint? __pbn__ability_level;

                }

                [global::ProtoBuf.ProtoContract()]
                public enum DOTAUltimateState
                {
                    k_EDOTAUltimateStateNotLearned = 0,
                    k_EDOTAUltimateStateCooldown = 1,
                    k_EDOTAUltimateStateNeedsMana = 2,
                    k_EDOTAUltimateStateReady = 3,
                }

            }

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCRequestBatchPlayerResources : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, IsPacked = true)]
        public global::System.Collections.Generic.List<uint> account_ids { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(4, IsPacked = true)]
        public global::System.Collections.Generic.List<uint> rank_types { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(5)]
        public int lobby_type
        {
            get => __pbn__lobby_type.GetValueOrDefault();
            set => __pbn__lobby_type = value;
        }
        public bool ShouldSerializelobby_type() => __pbn__lobby_type != null;
        public void Resetlobby_type() => __pbn__lobby_type = null;
        private int? __pbn__lobby_type;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCRequestBatchPlayerResourcesResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(6)]
        public global::System.Collections.Generic.List<Result> results { get; } = new global::System.Collections.Generic.List<Result>();

        [global::ProtoBuf.ProtoContract()]
        public partial class Result : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(4)]
            public uint rank
            {
                get => __pbn__rank.GetValueOrDefault();
                set => __pbn__rank = value;
            }
            public bool ShouldSerializerank() => __pbn__rank != null;
            public void Resetrank() => __pbn__rank = null;
            private uint? __pbn__rank;

            [global::ProtoBuf.ProtoMember(5)]
            public bool rank_calibrated
            {
                get => __pbn__rank_calibrated.GetValueOrDefault();
                set => __pbn__rank_calibrated = value;
            }
            public bool ShouldSerializerank_calibrated() => __pbn__rank_calibrated != null;
            public void Resetrank_calibrated() => __pbn__rank_calibrated = null;
            private bool? __pbn__rank_calibrated;

            [global::ProtoBuf.ProtoMember(6)]
            public bool low_priority
            {
                get => __pbn__low_priority.GetValueOrDefault();
                set => __pbn__low_priority = value;
            }
            public bool ShouldSerializelow_priority() => __pbn__low_priority != null;
            public void Resetlow_priority() => __pbn__low_priority = null;
            private bool? __pbn__low_priority;

            [global::ProtoBuf.ProtoMember(7)]
            public bool is_new_player
            {
                get => __pbn__is_new_player.GetValueOrDefault();
                set => __pbn__is_new_player = value;
            }
            public bool ShouldSerializeis_new_player() => __pbn__is_new_player != null;
            public void Resetis_new_player() => __pbn__is_new_player = null;
            private bool? __pbn__is_new_player;

            [global::ProtoBuf.ProtoMember(8)]
            public bool is_guide_player
            {
                get => __pbn__is_guide_player.GetValueOrDefault();
                set => __pbn__is_guide_player = value;
            }
            public bool ShouldSerializeis_guide_player() => __pbn__is_guide_player != null;
            public void Resetis_guide_player() => __pbn__is_guide_player = null;
            private bool? __pbn__is_guide_player;

            [global::ProtoBuf.ProtoMember(9)]
            public int comm_level
            {
                get => __pbn__comm_level.GetValueOrDefault();
                set => __pbn__comm_level = value;
            }
            public bool ShouldSerializecomm_level() => __pbn__comm_level != null;
            public void Resetcomm_level() => __pbn__comm_level = null;
            private int? __pbn__comm_level;

            [global::ProtoBuf.ProtoMember(10)]
            public int behavior_level
            {
                get => __pbn__behavior_level.GetValueOrDefault();
                set => __pbn__behavior_level = value;
            }
            public bool ShouldSerializebehavior_level() => __pbn__behavior_level != null;
            public void Resetbehavior_level() => __pbn__behavior_level = null;
            private int? __pbn__behavior_level;

            [global::ProtoBuf.ProtoMember(11)]
            public int wins
            {
                get => __pbn__wins.GetValueOrDefault();
                set => __pbn__wins = value;
            }
            public bool ShouldSerializewins() => __pbn__wins != null;
            public void Resetwins() => __pbn__wins = null;
            private int? __pbn__wins;

            [global::ProtoBuf.ProtoMember(12)]
            public int losses
            {
                get => __pbn__losses.GetValueOrDefault();
                set => __pbn__losses = value;
            }
            public bool ShouldSerializelosses() => __pbn__losses != null;
            public void Resetlosses() => __pbn__losses = null;
            private int? __pbn__losses;

            [global::ProtoBuf.ProtoMember(13)]
            public int smurf_category
            {
                get => __pbn__smurf_category.GetValueOrDefault();
                set => __pbn__smurf_category = value;
            }
            public bool ShouldSerializesmurf_category() => __pbn__smurf_category != null;
            public void Resetsmurf_category() => __pbn__smurf_category = null;
            private int? __pbn__smurf_category;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTAPlayerFailedToConnect : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public global::System.Collections.Generic.List<ulong> failed_loaders { get; } = new global::System.Collections.Generic.List<ulong>();

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public global::System.Collections.Generic.List<ulong> abandoned_loaders { get; } = new global::System.Collections.Generic.List<ulong>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToRelayConnect : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint source_tv_public_addr
        {
            get => __pbn__source_tv_public_addr.GetValueOrDefault();
            set => __pbn__source_tv_public_addr = value;
        }
        public bool ShouldSerializesource_tv_public_addr() => __pbn__source_tv_public_addr != null;
        public void Resetsource_tv_public_addr() => __pbn__source_tv_public_addr = null;
        private uint? __pbn__source_tv_public_addr;

        [global::ProtoBuf.ProtoMember(2)]
        public uint source_tv_private_addr
        {
            get => __pbn__source_tv_private_addr.GetValueOrDefault();
            set => __pbn__source_tv_private_addr = value;
        }
        public bool ShouldSerializesource_tv_private_addr() => __pbn__source_tv_private_addr != null;
        public void Resetsource_tv_private_addr() => __pbn__source_tv_private_addr = null;
        private uint? __pbn__source_tv_private_addr;

        [global::ProtoBuf.ProtoMember(3)]
        public uint source_tv_port
        {
            get => __pbn__source_tv_port.GetValueOrDefault();
            set => __pbn__source_tv_port = value;
        }
        public bool ShouldSerializesource_tv_port() => __pbn__source_tv_port != null;
        public void Resetsource_tv_port() => __pbn__source_tv_port = null;
        private uint? __pbn__source_tv_port;

        [global::ProtoBuf.ProtoMember(4)]
        public ulong game_server_steam_id
        {
            get => __pbn__game_server_steam_id.GetValueOrDefault();
            set => __pbn__game_server_steam_id = value;
        }
        public bool ShouldSerializegame_server_steam_id() => __pbn__game_server_steam_id != null;
        public void Resetgame_server_steam_id() => __pbn__game_server_steam_id = null;
        private ulong? __pbn__game_server_steam_id;

        [global::ProtoBuf.ProtoMember(5)]
        public uint parent_count
        {
            get => __pbn__parent_count.GetValueOrDefault();
            set => __pbn__parent_count = value;
        }
        public bool ShouldSerializeparent_count() => __pbn__parent_count != null;
        public void Resetparent_count() => __pbn__parent_count = null;
        private uint? __pbn__parent_count;

        [global::ProtoBuf.ProtoMember(6, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong tv_unique_secret_code
        {
            get => __pbn__tv_unique_secret_code.GetValueOrDefault();
            set => __pbn__tv_unique_secret_code = value;
        }
        public bool ShouldSerializetv_unique_secret_code() => __pbn__tv_unique_secret_code != null;
        public void Resettv_unique_secret_code() => __pbn__tv_unique_secret_code = null;
        private ulong? __pbn__tv_unique_secret_code;

        [global::ProtoBuf.ProtoMember(7, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong source_tv_steamid
        {
            get => __pbn__source_tv_steamid.GetValueOrDefault();
            set => __pbn__source_tv_steamid = value;
        }
        public bool ShouldSerializesource_tv_steamid() => __pbn__source_tv_steamid != null;
        public void Resetsource_tv_steamid() => __pbn__source_tv_steamid = null;
        private ulong? __pbn__source_tv_steamid;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCGCToLANServerRelayConnect : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong relay_steamid
        {
            get => __pbn__relay_steamid.GetValueOrDefault();
            set => __pbn__relay_steamid = value;
        }
        public bool ShouldSerializerelay_steamid() => __pbn__relay_steamid != null;
        public void Resetrelay_steamid() => __pbn__relay_steamid = null;
        private ulong? __pbn__relay_steamid;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCBanStatusRequest : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint account_id
        {
            get => __pbn__account_id.GetValueOrDefault();
            set => __pbn__account_id = value;
        }
        public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
        public void Resetaccount_id() => __pbn__account_id = null;
        private uint? __pbn__account_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCBanStatusResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint result
        {
            get => __pbn__result.GetValueOrDefault();
            set => __pbn__result = value;
        }
        public bool ShouldSerializeresult() => __pbn__result != null;
        public void Resetresult() => __pbn__result = null;
        private uint? __pbn__result;

        [global::ProtoBuf.ProtoMember(2)]
        public bool low_priority
        {
            get => __pbn__low_priority.GetValueOrDefault();
            set => __pbn__low_priority = value;
        }
        public bool ShouldSerializelow_priority() => __pbn__low_priority != null;
        public void Resetlow_priority() => __pbn__low_priority = null;
        private bool? __pbn__low_priority;

        [global::ProtoBuf.ProtoMember(3)]
        public bool text_chat_banned
        {
            get => __pbn__text_chat_banned.GetValueOrDefault();
            set => __pbn__text_chat_banned = value;
        }
        public bool ShouldSerializetext_chat_banned() => __pbn__text_chat_banned != null;
        public void Resettext_chat_banned() => __pbn__text_chat_banned = null;
        private bool? __pbn__text_chat_banned;

        [global::ProtoBuf.ProtoMember(4)]
        public bool voice_chat_banned
        {
            get => __pbn__voice_chat_banned.GetValueOrDefault();
            set => __pbn__voice_chat_banned = value;
        }
        public bool ShouldSerializevoice_chat_banned() => __pbn__voice_chat_banned != null;
        public void Resetvoice_chat_banned() => __pbn__voice_chat_banned = null;
        private bool? __pbn__voice_chat_banned;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgTournamentItemEvent : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint killer_account_id
        {
            get => __pbn__killer_account_id.GetValueOrDefault();
            set => __pbn__killer_account_id = value;
        }
        public bool ShouldSerializekiller_account_id() => __pbn__killer_account_id != null;
        public void Resetkiller_account_id() => __pbn__killer_account_id = null;
        private uint? __pbn__killer_account_id;

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public uint victim_account_id
        {
            get => __pbn__victim_account_id.GetValueOrDefault();
            set => __pbn__victim_account_id = value;
        }
        public bool ShouldSerializevictim_account_id() => __pbn__victim_account_id != null;
        public void Resetvictim_account_id() => __pbn__victim_account_id = null;
        private uint? __pbn__victim_account_id;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue(DOTA_TournamentEvents.TE_FIRST_BLOOD)]
        public DOTA_TournamentEvents event_type
        {
            get => __pbn__event_type ?? DOTA_TournamentEvents.TE_FIRST_BLOOD;
            set => __pbn__event_type = value;
        }
        public bool ShouldSerializeevent_type() => __pbn__event_type != null;
        public void Resetevent_type() => __pbn__event_type = null;
        private DOTA_TournamentEvents? __pbn__event_type;

        [global::ProtoBuf.ProtoMember(4)]
        public int tv_delay
        {
            get => __pbn__tv_delay.GetValueOrDefault();
            set => __pbn__tv_delay = value;
        }
        public bool ShouldSerializetv_delay() => __pbn__tv_delay != null;
        public void Resettv_delay() => __pbn__tv_delay = null;
        private int? __pbn__tv_delay;

        [global::ProtoBuf.ProtoMember(5)]
        public int dota_time
        {
            get => __pbn__dota_time.GetValueOrDefault();
            set => __pbn__dota_time = value;
        }
        public bool ShouldSerializedota_time() => __pbn__dota_time != null;
        public void Resetdota_time() => __pbn__dota_time = null;
        private int? __pbn__dota_time;

        [global::ProtoBuf.ProtoMember(6)]
        public float replay_time
        {
            get => __pbn__replay_time.GetValueOrDefault();
            set => __pbn__replay_time = value;
        }
        public bool ShouldSerializereplay_time() => __pbn__replay_time != null;
        public void Resetreplay_time() => __pbn__replay_time = null;
        private float? __pbn__replay_time;

        [global::ProtoBuf.ProtoMember(7)]
        [global::System.ComponentModel.DefaultValue("")]
        public string loot_list
        {
            get => __pbn__loot_list ?? "";
            set => __pbn__loot_list = value;
        }
        public bool ShouldSerializeloot_list() => __pbn__loot_list != null;
        public void Resetloot_list() => __pbn__loot_list = null;
        private string __pbn__loot_list;

        [global::ProtoBuf.ProtoMember(8)]
        public uint event_team
        {
            get => __pbn__event_team.GetValueOrDefault();
            set => __pbn__event_team = value;
        }
        public bool ShouldSerializeevent_team() => __pbn__event_team != null;
        public void Resetevent_team() => __pbn__event_team = null;
        private uint? __pbn__event_team;

        [global::ProtoBuf.ProtoMember(9)]
        public uint multi_kill_count
        {
            get => __pbn__multi_kill_count.GetValueOrDefault();
            set => __pbn__multi_kill_count = value;
        }
        public bool ShouldSerializemulti_kill_count() => __pbn__multi_kill_count != null;
        public void Resetmulti_kill_count() => __pbn__multi_kill_count = null;
        private uint? __pbn__multi_kill_count;

        [global::ProtoBuf.ProtoMember(10)]
        public uint winner_score
        {
            get => __pbn__winner_score.GetValueOrDefault();
            set => __pbn__winner_score = value;
        }
        public bool ShouldSerializewinner_score() => __pbn__winner_score != null;
        public void Resetwinner_score() => __pbn__winner_score = null;
        private uint? __pbn__winner_score;

        [global::ProtoBuf.ProtoMember(11)]
        public uint loser_score
        {
            get => __pbn__loser_score.GetValueOrDefault();
            set => __pbn__loser_score = value;
        }
        public bool ShouldSerializeloser_score() => __pbn__loser_score != null;
        public void Resetloser_score() => __pbn__loser_score = null;
        private uint? __pbn__loser_score;

        [global::ProtoBuf.ProtoMember(12)]
        public global::System.Collections.Generic.List<CProtoItemHeroStatue> hero_statues { get; } = new global::System.Collections.Generic.List<CProtoItemHeroStatue>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgTournamentItemEventResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(DOTA_TournamentEvents.TE_FIRST_BLOOD)]
        public DOTA_TournamentEvents event_type
        {
            get => __pbn__event_type ?? DOTA_TournamentEvents.TE_FIRST_BLOOD;
            set => __pbn__event_type = value;
        }
        public bool ShouldSerializeevent_type() => __pbn__event_type != null;
        public void Resetevent_type() => __pbn__event_type = null;
        private DOTA_TournamentEvents? __pbn__event_type;

        [global::ProtoBuf.ProtoMember(6)]
        public uint viewers_granted
        {
            get => __pbn__viewers_granted.GetValueOrDefault();
            set => __pbn__viewers_granted = value;
        }
        public bool ShouldSerializeviewers_granted() => __pbn__viewers_granted != null;
        public void Resetviewers_granted() => __pbn__viewers_granted = null;
        private uint? __pbn__viewers_granted;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgTeamFanfare : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgResponseTeamFanfare : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint fanfare_goodguys
        {
            get => __pbn__fanfare_goodguys.GetValueOrDefault();
            set => __pbn__fanfare_goodguys = value;
        }
        public bool ShouldSerializefanfare_goodguys() => __pbn__fanfare_goodguys != null;
        public void Resetfanfare_goodguys() => __pbn__fanfare_goodguys = null;
        private uint? __pbn__fanfare_goodguys;

        [global::ProtoBuf.ProtoMember(2)]
        public uint fanfare_badguys
        {
            get => __pbn__fanfare_badguys.GetValueOrDefault();
            set => __pbn__fanfare_badguys = value;
        }
        public bool ShouldSerializefanfare_badguys() => __pbn__fanfare_badguys != null;
        public void Resetfanfare_badguys() => __pbn__fanfare_badguys = null;
        private uint? __pbn__fanfare_badguys;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgDOTAAwardEventPoints : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<AwardPoints> award_points { get; } = new global::System.Collections.Generic.List<AwardPoints>();

        [global::ProtoBuf.ProtoMember(2)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(4)]
        [global::System.ComponentModel.DefaultValue(EEvent.EVENT_ID_NONE)]
        public EEvent event_id
        {
            get => __pbn__event_id ?? EEvent.EVENT_ID_NONE;
            set => __pbn__event_id = value;
        }
        public bool ShouldSerializeevent_id() => __pbn__event_id != null;
        public void Resetevent_id() => __pbn__event_id = null;
        private EEvent? __pbn__event_id;

        [global::ProtoBuf.ProtoMember(5)]
        public uint timestamp
        {
            get => __pbn__timestamp.GetValueOrDefault();
            set => __pbn__timestamp = value;
        }
        public bool ShouldSerializetimestamp() => __pbn__timestamp != null;
        public void Resettimestamp() => __pbn__timestamp = null;
        private uint? __pbn__timestamp;

        [global::ProtoBuf.ProtoMember(6)]
        public uint audit_action
        {
            get => __pbn__audit_action.GetValueOrDefault();
            set => __pbn__audit_action = value;
        }
        public bool ShouldSerializeaudit_action() => __pbn__audit_action != null;
        public void Resetaudit_action() => __pbn__audit_action = null;
        private uint? __pbn__audit_action;

        [global::ProtoBuf.ProtoContract()]
        public partial class AwardPoints : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public int points
            {
                get => __pbn__points.GetValueOrDefault();
                set => __pbn__points = value;
            }
            public bool ShouldSerializepoints() => __pbn__points != null;
            public void Resetpoints() => __pbn__points = null;
            private int? __pbn__points;

            [global::ProtoBuf.ProtoMember(3)]
            public int premium_points
            {
                get => __pbn__premium_points.GetValueOrDefault();
                set => __pbn__premium_points = value;
            }
            public bool ShouldSerializepremium_points() => __pbn__premium_points != null;
            public void Resetpremium_points() => __pbn__premium_points = null;
            private int? __pbn__premium_points;

            [global::ProtoBuf.ProtoMember(5)]
            public uint trade_ban_time
            {
                get => __pbn__trade_ban_time.GetValueOrDefault();
                set => __pbn__trade_ban_time = value;
            }
            public bool ShouldSerializetrade_ban_time() => __pbn__trade_ban_time != null;
            public void Resettrade_ban_time() => __pbn__trade_ban_time = null;
            private uint? __pbn__trade_ban_time;

            [global::ProtoBuf.ProtoMember(6)]
            [global::System.ComponentModel.DefaultValue(false)]
            public bool eligible_for_periodic_adjustment
            {
                get => __pbn__eligible_for_periodic_adjustment ?? false;
                set => __pbn__eligible_for_periodic_adjustment = value;
            }
            public bool ShouldSerializeeligible_for_periodic_adjustment() => __pbn__eligible_for_periodic_adjustment != null;
            public void Reseteligible_for_periodic_adjustment() => __pbn__eligible_for_periodic_adjustment = null;
            private bool? __pbn__eligible_for_periodic_adjustment;

            [global::ProtoBuf.ProtoMember(7)]
            public uint point_cap_periodic_resource_id
            {
                get => __pbn__point_cap_periodic_resource_id.GetValueOrDefault();
                set => __pbn__point_cap_periodic_resource_id = value;
            }
            public bool ShouldSerializepoint_cap_periodic_resource_id() => __pbn__point_cap_periodic_resource_id != null;
            public void Resetpoint_cap_periodic_resource_id() => __pbn__point_cap_periodic_resource_id = null;
            private uint? __pbn__point_cap_periodic_resource_id;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToServerPingRequest : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong request_id
        {
            get => __pbn__request_id.GetValueOrDefault();
            set => __pbn__request_id = value;
        }
        public bool ShouldSerializerequest_id() => __pbn__request_id != null;
        public void Resetrequest_id() => __pbn__request_id = null;
        private ulong? __pbn__request_id;

        [global::ProtoBuf.ProtoMember(2)]
        public ulong request_time
        {
            get => __pbn__request_time.GetValueOrDefault();
            set => __pbn__request_time = value;
        }
        public bool ShouldSerializerequest_time() => __pbn__request_time != null;
        public void Resetrequest_time() => __pbn__request_time = null;
        private ulong? __pbn__request_time;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToServerPingResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong request_id
        {
            get => __pbn__request_id.GetValueOrDefault();
            set => __pbn__request_id = value;
        }
        public bool ShouldSerializerequest_id() => __pbn__request_id != null;
        public void Resetrequest_id() => __pbn__request_id = null;
        private ulong? __pbn__request_id;

        [global::ProtoBuf.ProtoMember(2)]
        public ulong request_time
        {
            get => __pbn__request_time.GetValueOrDefault();
            set => __pbn__request_time = value;
        }
        public bool ShouldSerializerequest_time() => __pbn__request_time != null;
        public void Resetrequest_time() => __pbn__request_time = null;
        private ulong? __pbn__request_time;

        [global::ProtoBuf.ProtoMember(3)]
        public uint cluster
        {
            get => __pbn__cluster.GetValueOrDefault();
            set => __pbn__cluster = value;
        }
        public bool ShouldSerializecluster() => __pbn__cluster != null;
        public void Resetcluster() => __pbn__cluster = null;
        private uint? __pbn__cluster;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCMatchConnectionStats : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint region_id
        {
            get => __pbn__region_id.GetValueOrDefault();
            set => __pbn__region_id = value;
        }
        public bool ShouldSerializeregion_id() => __pbn__region_id != null;
        public void Resetregion_id() => __pbn__region_id = null;
        private uint? __pbn__region_id;

        [global::ProtoBuf.ProtoMember(3)]
        public uint league_id
        {
            get => __pbn__league_id.GetValueOrDefault();
            set => __pbn__league_id = value;
        }
        public bool ShouldSerializeleague_id() => __pbn__league_id != null;
        public void Resetleague_id() => __pbn__league_id = null;
        private uint? __pbn__league_id;

        [global::ProtoBuf.ProtoMember(4)]
        public global::System.Collections.Generic.List<Player> players { get; } = new global::System.Collections.Generic.List<Player>();

        [global::ProtoBuf.ProtoMember(5)]
        public uint cluster_id
        {
            get => __pbn__cluster_id.GetValueOrDefault();
            set => __pbn__cluster_id = value;
        }
        public bool ShouldSerializecluster_id() => __pbn__cluster_id != null;
        public void Resetcluster_id() => __pbn__cluster_id = null;
        private uint? __pbn__cluster_id;

        [global::ProtoBuf.ProtoContract()]
        public partial class Player : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
            public uint ip
            {
                get => __pbn__ip.GetValueOrDefault();
                set => __pbn__ip = value;
            }
            public bool ShouldSerializeip() => __pbn__ip != null;
            public void Resetip() => __pbn__ip = null;
            private uint? __pbn__ip;

            [global::ProtoBuf.ProtoMember(3)]
            public uint avg_ping_ms
            {
                get => __pbn__avg_ping_ms.GetValueOrDefault();
                set => __pbn__avg_ping_ms = value;
            }
            public bool ShouldSerializeavg_ping_ms() => __pbn__avg_ping_ms != null;
            public void Resetavg_ping_ms() => __pbn__avg_ping_ms = null;
            private uint? __pbn__avg_ping_ms;

            [global::ProtoBuf.ProtoMember(5)]
            public float packet_loss
            {
                get => __pbn__packet_loss.GetValueOrDefault();
                set => __pbn__packet_loss = value;
            }
            public bool ShouldSerializepacket_loss() => __pbn__packet_loss != null;
            public void Resetpacket_loss() => __pbn__packet_loss = null;
            private float? __pbn__packet_loss;

            [global::ProtoBuf.ProtoMember(6)]
            public float ping_deviation
            {
                get => __pbn__ping_deviation.GetValueOrDefault();
                set => __pbn__ping_deviation = value;
            }
            public bool ShouldSerializeping_deviation() => __pbn__ping_deviation != null;
            public void Resetping_deviation() => __pbn__ping_deviation = null;
            private float? __pbn__ping_deviation;

            [global::ProtoBuf.ProtoMember(7)]
            public uint full_resends
            {
                get => __pbn__full_resends.GetValueOrDefault();
                set => __pbn__full_resends = value;
            }
            public bool ShouldSerializefull_resends() => __pbn__full_resends != null;
            public void Resetfull_resends() => __pbn__full_resends = null;
            private uint? __pbn__full_resends;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerGCUpdateSpectatorCount : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint spectator_count
        {
            get => __pbn__spectator_count.GetValueOrDefault();
            set => __pbn__spectator_count = value;
        }
        public bool ShouldSerializespectator_count() => __pbn__spectator_count != null;
        public void Resetspectator_count() => __pbn__spectator_count = null;
        private uint? __pbn__spectator_count;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CSerializedCombatLog : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint version
        {
            get => __pbn__version.GetValueOrDefault();
            set => __pbn__version = value;
        }
        public bool ShouldSerializeversion() => __pbn__version != null;
        public void Resetversion() => __pbn__version = null;
        private uint? __pbn__version;

        [global::ProtoBuf.ProtoMember(2)]
        public Dictionary dictionary { get; set; }

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<CMsgDOTACombatLogEntry> entries { get; } = new global::System.Collections.Generic.List<CMsgDOTACombatLogEntry>();

        [global::ProtoBuf.ProtoContract()]
        public partial class Dictionary : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public global::System.Collections.Generic.List<DictString> strings { get; } = new global::System.Collections.Generic.List<DictString>();

            [global::ProtoBuf.ProtoContract()]
            public partial class DictString : global::ProtoBuf.IExtensible
            {
                private global::ProtoBuf.IExtension __pbn__extensionData;
                global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                    => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

                [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
                public uint id { get; set; }

                [global::ProtoBuf.ProtoMember(2, IsRequired = true)]
                public string value { get; set; }

            }

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCVictoryPredictions : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<Record> records { get; } = new global::System.Collections.Generic.List<Record>();

        [global::ProtoBuf.ProtoContract()]
        public partial class PredictionItem : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public ulong item_id
            {
                get => __pbn__item_id.GetValueOrDefault();
                set => __pbn__item_id = value;
            }
            public bool ShouldSerializeitem_id() => __pbn__item_id != null;
            public void Resetitem_id() => __pbn__item_id = null;
            private ulong? __pbn__item_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint item_def
            {
                get => __pbn__item_def.GetValueOrDefault();
                set => __pbn__item_def = value;
            }
            public bool ShouldSerializeitem_def() => __pbn__item_def != null;
            public void Resetitem_def() => __pbn__item_def = null;
            private uint? __pbn__item_def;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class Record : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(5)]
            public global::System.Collections.Generic.List<ulong> item_ids { get; } = new global::System.Collections.Generic.List<ulong>();

            [global::ProtoBuf.ProtoMember(6)]
            public global::System.Collections.Generic.List<CMsgServerToGCVictoryPredictions.PredictionItem> prediction_items { get; } = new global::System.Collections.Generic.List<CMsgServerToGCVictoryPredictions.PredictionItem>();

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCRequestStatus : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCRequestStatus_Response : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint response
        {
            get => __pbn__response.GetValueOrDefault();
            set => __pbn__response = value;
        }
        public bool ShouldSerializeresponse() => __pbn__response != null;
        public void Resetresponse() => __pbn__response = null;
        private uint? __pbn__response;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToServerEvaluateToxicChat : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint target_account_id
        {
            get => __pbn__target_account_id.GetValueOrDefault();
            set => __pbn__target_account_id = value;
        }
        public bool ShouldSerializetarget_account_id() => __pbn__target_account_id != null;
        public void Resettarget_account_id() => __pbn__target_account_id = null;
        private uint? __pbn__target_account_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint reporter_account_id
        {
            get => __pbn__reporter_account_id.GetValueOrDefault();
            set => __pbn__reporter_account_id = value;
        }
        public bool ShouldSerializereporter_account_id() => __pbn__reporter_account_id != null;
        public void Resetreporter_account_id() => __pbn__reporter_account_id = null;
        private uint? __pbn__reporter_account_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCEvaluateToxicChat : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint target_account_id
        {
            get => __pbn__target_account_id.GetValueOrDefault();
            set => __pbn__target_account_id = value;
        }
        public bool ShouldSerializetarget_account_id() => __pbn__target_account_id != null;
        public void Resettarget_account_id() => __pbn__target_account_id = null;
        private uint? __pbn__target_account_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint reporter_account_id
        {
            get => __pbn__reporter_account_id.GetValueOrDefault();
            set => __pbn__reporter_account_id = value;
        }
        public bool ShouldSerializereporter_account_id() => __pbn__reporter_account_id != null;
        public void Resetreporter_account_id() => __pbn__reporter_account_id = null;
        private uint? __pbn__reporter_account_id;

        [global::ProtoBuf.ProtoMember(3, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(4)]
        public global::System.Collections.Generic.List<uint> timestamp { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(5)]
        public global::System.Collections.Generic.List<string> line { get; } = new global::System.Collections.Generic.List<string>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCEvaluateToxicChatResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint target_account_id
        {
            get => __pbn__target_account_id.GetValueOrDefault();
            set => __pbn__target_account_id = value;
        }
        public bool ShouldSerializetarget_account_id() => __pbn__target_account_id != null;
        public void Resettarget_account_id() => __pbn__target_account_id = null;
        private uint? __pbn__target_account_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint reporter_account_id
        {
            get => __pbn__reporter_account_id.GetValueOrDefault();
            set => __pbn__reporter_account_id = value;
        }
        public bool ShouldSerializereporter_account_id() => __pbn__reporter_account_id != null;
        public void Resetreporter_account_id() => __pbn__reporter_account_id = null;
        private uint? __pbn__reporter_account_id;

        [global::ProtoBuf.ProtoMember(3)]
        public uint ban_reason
        {
            get => __pbn__ban_reason.GetValueOrDefault();
            set => __pbn__ban_reason = value;
        }
        public bool ShouldSerializeban_reason() => __pbn__ban_reason != null;
        public void Resetban_reason() => __pbn__ban_reason = null;
        private uint? __pbn__ban_reason;

        [global::ProtoBuf.ProtoMember(4)]
        public uint ban_duration
        {
            get => __pbn__ban_duration.GetValueOrDefault();
            set => __pbn__ban_duration = value;
        }
        public bool ShouldSerializeban_duration() => __pbn__ban_duration != null;
        public void Resetban_duration() => __pbn__ban_duration = null;
        private uint? __pbn__ban_duration;

        [global::ProtoBuf.ProtoMember(5)]
        public float toxicity_score
        {
            get => __pbn__toxicity_score.GetValueOrDefault();
            set => __pbn__toxicity_score = value;
        }
        public bool ShouldSerializetoxicity_score() => __pbn__toxicity_score != null;
        public void Resettoxicity_score() => __pbn__toxicity_score = null;
        private float? __pbn__toxicity_score;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutAssassinMiniGameInfo : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public global::System.Collections.Generic.List<ulong> winning_players { get; } = new global::System.Collections.Generic.List<ulong>();

        [global::ProtoBuf.ProtoMember(2, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public global::System.Collections.Generic.List<ulong> losing_players { get; } = new global::System.Collections.Generic.List<ulong>();

        [global::ProtoBuf.ProtoMember(3, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public global::System.Collections.Generic.List<ulong> arcana_owners { get; } = new global::System.Collections.Generic.List<ulong>();

        [global::ProtoBuf.ProtoMember(4)]
        public bool assassin_won
        {
            get => __pbn__assassin_won.GetValueOrDefault();
            set => __pbn__assassin_won = value;
        }
        public bool ShouldSerializeassassin_won() => __pbn__assassin_won != null;
        public void Resetassassin_won() => __pbn__assassin_won = null;
        private bool? __pbn__assassin_won;

        [global::ProtoBuf.ProtoMember(5)]
        public int target_hero_id
        {
            get => __pbn__target_hero_id.GetValueOrDefault();
            set => __pbn__target_hero_id = value;
        }
        public bool ShouldSerializetarget_hero_id() => __pbn__target_hero_id != null;
        public void Resettarget_hero_id() => __pbn__target_hero_id = null;
        private int? __pbn__target_hero_id;

        [global::ProtoBuf.ProtoMember(6)]
        public bool contract_completed
        {
            get => __pbn__contract_completed.GetValueOrDefault();
            set => __pbn__contract_completed = value;
        }
        public bool ShouldSerializecontract_completed() => __pbn__contract_completed != null;
        public void Resetcontract_completed() => __pbn__contract_completed = null;
        private bool? __pbn__contract_completed;

        [global::ProtoBuf.ProtoMember(7)]
        public float contract_complete_time
        {
            get => __pbn__contract_complete_time.GetValueOrDefault();
            set => __pbn__contract_complete_time = value;
        }
        public bool ShouldSerializecontract_complete_time() => __pbn__contract_complete_time != null;
        public void Resetcontract_complete_time() => __pbn__contract_complete_time = null;
        private float? __pbn__contract_complete_time;

        [global::ProtoBuf.ProtoMember(8)]
        public bool pa_is_radiant
        {
            get => __pbn__pa_is_radiant.GetValueOrDefault();
            set => __pbn__pa_is_radiant = value;
        }
        public bool ShouldSerializepa_is_radiant() => __pbn__pa_is_radiant != null;
        public void Resetpa_is_radiant() => __pbn__pa_is_radiant = null;
        private bool? __pbn__pa_is_radiant;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCKillSummaries : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint ingameevent_id
        {
            get => __pbn__ingameevent_id.GetValueOrDefault();
            set => __pbn__ingameevent_id = value;
        }
        public bool ShouldSerializeingameevent_id() => __pbn__ingameevent_id != null;
        public void Resetingameevent_id() => __pbn__ingameevent_id = null;
        private uint? __pbn__ingameevent_id;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<KillSummary> summaries { get; } = new global::System.Collections.Generic.List<KillSummary>();

        [global::ProtoBuf.ProtoContract()]
        public partial class KillSummary : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint killer_hero_id
            {
                get => __pbn__killer_hero_id.GetValueOrDefault();
                set => __pbn__killer_hero_id = value;
            }
            public bool ShouldSerializekiller_hero_id() => __pbn__killer_hero_id != null;
            public void Resetkiller_hero_id() => __pbn__killer_hero_id = null;
            private uint? __pbn__killer_hero_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint victim_hero_id
            {
                get => __pbn__victim_hero_id.GetValueOrDefault();
                set => __pbn__victim_hero_id = value;
            }
            public bool ShouldSerializevictim_hero_id() => __pbn__victim_hero_id != null;
            public void Resetvictim_hero_id() => __pbn__victim_hero_id = null;
            private uint? __pbn__victim_hero_id;

            [global::ProtoBuf.ProtoMember(3)]
            public uint kill_count
            {
                get => __pbn__kill_count.GetValueOrDefault();
                set => __pbn__kill_count = value;
            }
            public bool ShouldSerializekill_count() => __pbn__kill_count != null;
            public void Resetkill_count() => __pbn__kill_count = null;
            private uint? __pbn__kill_count;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCLockCharmTrading : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint account_id
        {
            get => __pbn__account_id.GetValueOrDefault();
            set => __pbn__account_id = value;
        }
        public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
        public void Resetaccount_id() => __pbn__account_id = null;
        private uint? __pbn__account_id;

        [global::ProtoBuf.ProtoMember(2)]
        public ulong item_id
        {
            get => __pbn__item_id.GetValueOrDefault();
            set => __pbn__item_id = value;
        }
        public bool ShouldSerializeitem_id() => __pbn__item_id != null;
        public void Resetitem_id() => __pbn__item_id = null;
        private ulong? __pbn__item_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutUpdatePlayerChallenge : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint account_id
        {
            get => __pbn__account_id.GetValueOrDefault();
            set => __pbn__account_id = value;
        }
        public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
        public void Resetaccount_id() => __pbn__account_id = null;
        private uint? __pbn__account_id;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<Challenge> completed { get; } = new global::System.Collections.Generic.List<Challenge>();

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<Challenge> rerolled { get; } = new global::System.Collections.Generic.List<Challenge>();

        [global::ProtoBuf.ProtoMember(4)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(5)]
        public int hero_id
        {
            get => __pbn__hero_id.GetValueOrDefault();
            set => __pbn__hero_id = value;
        }
        public bool ShouldSerializehero_id() => __pbn__hero_id != null;
        public void Resethero_id() => __pbn__hero_id = null;
        private int? __pbn__hero_id;

        [global::ProtoBuf.ProtoContract()]
        public partial class Challenge : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            [global::System.ComponentModel.DefaultValue(EEvent.EVENT_ID_NONE)]
            public EEvent event_id
            {
                get => __pbn__event_id ?? EEvent.EVENT_ID_NONE;
                set => __pbn__event_id = value;
            }
            public bool ShouldSerializeevent_id() => __pbn__event_id != null;
            public void Resetevent_id() => __pbn__event_id = null;
            private EEvent? __pbn__event_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint slot_id
            {
                get => __pbn__slot_id.GetValueOrDefault();
                set => __pbn__slot_id = value;
            }
            public bool ShouldSerializeslot_id() => __pbn__slot_id != null;
            public void Resetslot_id() => __pbn__slot_id = null;
            private uint? __pbn__slot_id;

            [global::ProtoBuf.ProtoMember(3)]
            public uint sequence_id
            {
                get => __pbn__sequence_id.GetValueOrDefault();
                set => __pbn__sequence_id = value;
            }
            public bool ShouldSerializesequence_id() => __pbn__sequence_id != null;
            public void Resetsequence_id() => __pbn__sequence_id = null;
            private uint? __pbn__sequence_id;

            [global::ProtoBuf.ProtoMember(4)]
            public uint progress
            {
                get => __pbn__progress.GetValueOrDefault();
                set => __pbn__progress = value;
            }
            public bool ShouldSerializeprogress() => __pbn__progress != null;
            public void Resetprogress() => __pbn__progress = null;
            private uint? __pbn__progress;

            [global::ProtoBuf.ProtoMember(5)]
            public uint challenge_rank
            {
                get => __pbn__challenge_rank.GetValueOrDefault();
                set => __pbn__challenge_rank = value;
            }
            public bool ShouldSerializechallenge_rank() => __pbn__challenge_rank != null;
            public void Resetchallenge_rank() => __pbn__challenge_rank = null;
            private uint? __pbn__challenge_rank;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCRerollPlayerChallenge : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint account_id
        {
            get => __pbn__account_id.GetValueOrDefault();
            set => __pbn__account_id = value;
        }
        public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
        public void Resetaccount_id() => __pbn__account_id = null;
        private uint? __pbn__account_id;

        [global::ProtoBuf.ProtoMember(2)]
        public CMsgClientToGCRerollPlayerChallenge reroll_msg { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSpendWager : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<Player> players { get; } = new global::System.Collections.Generic.List<Player>();

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(EEvent.EVENT_ID_NONE)]
        public EEvent event_id
        {
            get => __pbn__event_id ?? EEvent.EVENT_ID_NONE;
            set => __pbn__event_id = value;
        }
        public bool ShouldSerializeevent_id() => __pbn__event_id != null;
        public void Resetevent_id() => __pbn__event_id = null;
        private EEvent? __pbn__event_id;

        [global::ProtoBuf.ProtoMember(3)]
        public uint timestamp
        {
            get => __pbn__timestamp.GetValueOrDefault();
            set => __pbn__timestamp = value;
        }
        public bool ShouldSerializetimestamp() => __pbn__timestamp != null;
        public void Resettimestamp() => __pbn__timestamp = null;
        private uint? __pbn__timestamp;

        [global::ProtoBuf.ProtoMember(4)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(5)]
        public ulong server_steam_id
        {
            get => __pbn__server_steam_id.GetValueOrDefault();
            set => __pbn__server_steam_id = value;
        }
        public bool ShouldSerializeserver_steam_id() => __pbn__server_steam_id != null;
        public void Resetserver_steam_id() => __pbn__server_steam_id = null;
        private ulong? __pbn__server_steam_id;

        [global::ProtoBuf.ProtoContract()]
        public partial class Player : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint wager
            {
                get => __pbn__wager.GetValueOrDefault();
                set => __pbn__wager = value;
            }
            public bool ShouldSerializewager() => __pbn__wager != null;
            public void Resetwager() => __pbn__wager = null;
            private uint? __pbn__wager;

            [global::ProtoBuf.ProtoMember(3)]
            public ulong wager_token_item_id
            {
                get => __pbn__wager_token_item_id.GetValueOrDefault();
                set => __pbn__wager_token_item_id = value;
            }
            public bool ShouldSerializewager_token_item_id() => __pbn__wager_token_item_id != null;
            public void Resetwager_token_item_id() => __pbn__wager_token_item_id = null;
            private ulong? __pbn__wager_token_item_id;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutXPCoins : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<Player> players { get; } = new global::System.Collections.Generic.List<Player>();

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(EEvent.EVENT_ID_NONE)]
        public EEvent event_id
        {
            get => __pbn__event_id ?? EEvent.EVENT_ID_NONE;
            set => __pbn__event_id = value;
        }
        public bool ShouldSerializeevent_id() => __pbn__event_id != null;
        public void Resetevent_id() => __pbn__event_id = null;
        private EEvent? __pbn__event_id;

        [global::ProtoBuf.ProtoMember(3)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(4)]
        public uint timestamp
        {
            get => __pbn__timestamp.GetValueOrDefault();
            set => __pbn__timestamp = value;
        }
        public bool ShouldSerializetimestamp() => __pbn__timestamp != null;
        public void Resettimestamp() => __pbn__timestamp = null;
        private uint? __pbn__timestamp;

        [global::ProtoBuf.ProtoContract()]
        public partial class Player : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint xp_gained
            {
                get => __pbn__xp_gained.GetValueOrDefault();
                set => __pbn__xp_gained = value;
            }
            public bool ShouldSerializexp_gained() => __pbn__xp_gained != null;
            public void Resetxp_gained() => __pbn__xp_gained = null;
            private uint? __pbn__xp_gained;

            [global::ProtoBuf.ProtoMember(3)]
            public uint coins_spent
            {
                get => __pbn__coins_spent.GetValueOrDefault();
                set => __pbn__coins_spent = value;
            }
            public bool ShouldSerializecoins_spent() => __pbn__coins_spent != null;
            public void Resetcoins_spent() => __pbn__coins_spent = null;
            private uint? __pbn__coins_spent;

            [global::ProtoBuf.ProtoMember(4)]
            public ulong wager_token_item_id
            {
                get => __pbn__wager_token_item_id.GetValueOrDefault();
                set => __pbn__wager_token_item_id = value;
            }
            public bool ShouldSerializewager_token_item_id() => __pbn__wager_token_item_id != null;
            public void Resetwager_token_item_id() => __pbn__wager_token_item_id = null;
            private ulong? __pbn__wager_token_item_id;

            [global::ProtoBuf.ProtoMember(5)]
            public uint rank_wager
            {
                get => __pbn__rank_wager.GetValueOrDefault();
                set => __pbn__rank_wager = value;
            }
            public bool ShouldSerializerank_wager() => __pbn__rank_wager != null;
            public void Resetrank_wager() => __pbn__rank_wager = null;
            private uint? __pbn__rank_wager;

            [global::ProtoBuf.ProtoMember(6)]
            public uint wager_streak
            {
                get => __pbn__wager_streak.GetValueOrDefault();
                set => __pbn__wager_streak = value;
            }
            public bool ShouldSerializewager_streak() => __pbn__wager_streak != null;
            public void Resetwager_streak() => __pbn__wager_streak = null;
            private uint? __pbn__wager_streak;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutBounties : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<Bounty> bounties { get; } = new global::System.Collections.Generic.List<Bounty>();

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(EEvent.EVENT_ID_NONE)]
        public EEvent event_id
        {
            get => __pbn__event_id ?? EEvent.EVENT_ID_NONE;
            set => __pbn__event_id = value;
        }
        public bool ShouldSerializeevent_id() => __pbn__event_id != null;
        public void Resetevent_id() => __pbn__event_id = null;
        private EEvent? __pbn__event_id;

        [global::ProtoBuf.ProtoMember(3)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(4)]
        public uint timestamp
        {
            get => __pbn__timestamp.GetValueOrDefault();
            set => __pbn__timestamp = value;
        }
        public bool ShouldSerializetimestamp() => __pbn__timestamp != null;
        public void Resettimestamp() => __pbn__timestamp = null;
        private uint? __pbn__timestamp;

        [global::ProtoBuf.ProtoContract()]
        public partial class Bounty : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint issuer_account_id
            {
                get => __pbn__issuer_account_id.GetValueOrDefault();
                set => __pbn__issuer_account_id = value;
            }
            public bool ShouldSerializeissuer_account_id() => __pbn__issuer_account_id != null;
            public void Resetissuer_account_id() => __pbn__issuer_account_id = null;
            private uint? __pbn__issuer_account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint completer_account_id
            {
                get => __pbn__completer_account_id.GetValueOrDefault();
                set => __pbn__completer_account_id = value;
            }
            public bool ShouldSerializecompleter_account_id() => __pbn__completer_account_id != null;
            public void Resetcompleter_account_id() => __pbn__completer_account_id = null;
            private uint? __pbn__completer_account_id;

            [global::ProtoBuf.ProtoMember(3)]
            public uint target_account_id
            {
                get => __pbn__target_account_id.GetValueOrDefault();
                set => __pbn__target_account_id = value;
            }
            public bool ShouldSerializetarget_account_id() => __pbn__target_account_id != null;
            public void Resettarget_account_id() => __pbn__target_account_id = null;
            private uint? __pbn__target_account_id;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutCommunityGoalProgress : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(EEvent.EVENT_ID_NONE)]
        public EEvent event_id
        {
            get => __pbn__event_id ?? EEvent.EVENT_ID_NONE;
            set => __pbn__event_id = value;
        }
        public bool ShouldSerializeevent_id() => __pbn__event_id != null;
        public void Resetevent_id() => __pbn__event_id = null;
        private EEvent? __pbn__event_id;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<EventGoalIncrement> event_increments { get; } = new global::System.Collections.Generic.List<EventGoalIncrement>();

        [global::ProtoBuf.ProtoContract()]
        public partial class EventGoalIncrement : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint event_goal_id
            {
                get => __pbn__event_goal_id.GetValueOrDefault();
                set => __pbn__event_goal_id = value;
            }
            public bool ShouldSerializeevent_goal_id() => __pbn__event_goal_id != null;
            public void Resetevent_goal_id() => __pbn__event_goal_id = null;
            private uint? __pbn__event_goal_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint increment_amount
            {
                get => __pbn__increment_amount.GetValueOrDefault();
                set => __pbn__increment_amount = value;
            }
            public bool ShouldSerializeincrement_amount() => __pbn__increment_amount != null;
            public void Resetincrement_amount() => __pbn__increment_amount = null;
            private uint? __pbn__increment_amount;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCCloseCompendiumInGamePredictionVoting : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint hltv_delay
        {
            get => __pbn__hltv_delay.GetValueOrDefault();
            set => __pbn__hltv_delay = value;
        }
        public bool ShouldSerializehltv_delay() => __pbn__hltv_delay != null;
        public void Resethltv_delay() => __pbn__hltv_delay = null;
        private uint? __pbn__hltv_delay;

        [global::ProtoBuf.ProtoMember(3)]
        public uint league_id
        {
            get => __pbn__league_id.GetValueOrDefault();
            set => __pbn__league_id = value;
        }
        public bool ShouldSerializeleague_id() => __pbn__league_id != null;
        public void Resetleague_id() => __pbn__league_id = null;
        private uint? __pbn__league_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCCloseCompendiumInGamePredictionVotingResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public bool result
        {
            get => __pbn__result.GetValueOrDefault();
            set => __pbn__result = value;
        }
        public bool ShouldSerializeresult() => __pbn__result != null;
        public void Resetresult() => __pbn__result = null;
        private bool? __pbn__result;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCCompendiumInGamePredictionResults : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<PredictionResult> results { get; } = new global::System.Collections.Generic.List<PredictionResult>();

        [global::ProtoBuf.ProtoMember(3)]
        public uint league_id
        {
            get => __pbn__league_id.GetValueOrDefault();
            set => __pbn__league_id = value;
        }
        public bool ShouldSerializeleague_id() => __pbn__league_id != null;
        public void Resetleague_id() => __pbn__league_id = null;
        private uint? __pbn__league_id;

        [global::ProtoBuf.ProtoMember(4)]
        public uint league_node_id
        {
            get => __pbn__league_node_id.GetValueOrDefault();
            set => __pbn__league_node_id = value;
        }
        public bool ShouldSerializeleague_node_id() => __pbn__league_node_id != null;
        public void Resetleague_node_id() => __pbn__league_node_id = null;
        private uint? __pbn__league_node_id;

        [global::ProtoBuf.ProtoContract()]
        public partial class PredictionResult : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint prediction_id
            {
                get => __pbn__prediction_id.GetValueOrDefault();
                set => __pbn__prediction_id = value;
            }
            public bool ShouldSerializeprediction_id() => __pbn__prediction_id != null;
            public void Resetprediction_id() => __pbn__prediction_id = null;
            private uint? __pbn__prediction_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint prediction_value
            {
                get => __pbn__prediction_value.GetValueOrDefault();
                set => __pbn__prediction_value = value;
            }
            public bool ShouldSerializeprediction_value() => __pbn__prediction_value != null;
            public void Resetprediction_value() => __pbn__prediction_value = null;
            private uint? __pbn__prediction_value;

            [global::ProtoBuf.ProtoMember(3)]
            public bool prediction_value_is_mask
            {
                get => __pbn__prediction_value_is_mask.GetValueOrDefault();
                set => __pbn__prediction_value_is_mask = value;
            }
            public bool ShouldSerializeprediction_value_is_mask() => __pbn__prediction_value_is_mask != null;
            public void Resetprediction_value_is_mask() => __pbn__prediction_value_is_mask = null;
            private bool? __pbn__prediction_value_is_mask;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCCompendiumChosenInGamePredictions : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<Prediction> predictions_chosen { get; } = new global::System.Collections.Generic.List<Prediction>();

        [global::ProtoBuf.ProtoMember(3)]
        public uint league_id
        {
            get => __pbn__league_id.GetValueOrDefault();
            set => __pbn__league_id = value;
        }
        public bool ShouldSerializeleague_id() => __pbn__league_id != null;
        public void Resetleague_id() => __pbn__league_id = null;
        private uint? __pbn__league_id;

        [global::ProtoBuf.ProtoContract()]
        public partial class Prediction : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint prediction_id
            {
                get => __pbn__prediction_id.GetValueOrDefault();
                set => __pbn__prediction_id = value;
            }
            public bool ShouldSerializeprediction_id() => __pbn__prediction_id != null;
            public void Resetprediction_id() => __pbn__prediction_id = null;
            private uint? __pbn__prediction_id;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToGCCompendiumInGamePredictionResults : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public CMsgServerToGCCompendiumInGamePredictionResults results { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCMatchPlayerItemPurchaseHistory : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint mmr
        {
            get => __pbn__mmr.GetValueOrDefault();
            set => __pbn__mmr = value;
        }
        public bool ShouldSerializemmr() => __pbn__mmr != null;
        public void Resetmmr() => __pbn__mmr = null;
        private uint? __pbn__mmr;

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<Player> players { get; } = new global::System.Collections.Generic.List<Player>();

        [global::ProtoBuf.ProtoContract()]
        public partial class ItemPurchase : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            [global::System.ComponentModel.DefaultValue(-1)]
            public int item
            {
                get => __pbn__item ?? -1;
                set => __pbn__item = value;
            }
            public bool ShouldSerializeitem() => __pbn__item != null;
            public void Resetitem() => __pbn__item = null;
            private int? __pbn__item;

            [global::ProtoBuf.ProtoMember(2)]
            public uint gold
            {
                get => __pbn__gold.GetValueOrDefault();
                set => __pbn__gold = value;
            }
            public bool ShouldSerializegold() => __pbn__gold != null;
            public void Resetgold() => __pbn__gold = null;
            private uint? __pbn__gold;

            [global::ProtoBuf.ProtoMember(3)]
            public uint net_worth
            {
                get => __pbn__net_worth.GetValueOrDefault();
                set => __pbn__net_worth = value;
            }
            public bool ShouldSerializenet_worth() => __pbn__net_worth != null;
            public void Resetnet_worth() => __pbn__net_worth = null;
            private uint? __pbn__net_worth;

            [global::ProtoBuf.ProtoMember(4)]
            public uint game_time
            {
                get => __pbn__game_time.GetValueOrDefault();
                set => __pbn__game_time = value;
            }
            public bool ShouldSerializegame_time() => __pbn__game_time != null;
            public void Resetgame_time() => __pbn__game_time = null;
            private uint? __pbn__game_time;

            [global::ProtoBuf.ProtoMember(5)]
            public global::System.Collections.Generic.List<int> inventory_items { get; } = new global::System.Collections.Generic.List<int>();

            [global::ProtoBuf.ProtoMember(7)]
            public global::System.Collections.Generic.List<bool> talents_skilled { get; } = new global::System.Collections.Generic.List<bool>();

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class Player : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint player_slot
            {
                get => __pbn__player_slot.GetValueOrDefault();
                set => __pbn__player_slot = value;
            }
            public bool ShouldSerializeplayer_slot() => __pbn__player_slot != null;
            public void Resetplayer_slot() => __pbn__player_slot = null;
            private uint? __pbn__player_slot;

            [global::ProtoBuf.ProtoMember(2)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(3)]
            public int hero_id
            {
                get => __pbn__hero_id.GetValueOrDefault();
                set => __pbn__hero_id = value;
            }
            public bool ShouldSerializehero_id() => __pbn__hero_id != null;
            public void Resethero_id() => __pbn__hero_id = null;
            private int? __pbn__hero_id;

            [global::ProtoBuf.ProtoMember(4)]
            public global::System.Collections.Generic.List<int> allied_hero_ids { get; } = new global::System.Collections.Generic.List<int>();

            [global::ProtoBuf.ProtoMember(5)]
            public global::System.Collections.Generic.List<int> enemy_hero_ids { get; } = new global::System.Collections.Generic.List<int>();

            [global::ProtoBuf.ProtoMember(6)]
            public global::System.Collections.Generic.List<CMsgServerToGCMatchPlayerItemPurchaseHistory.ItemPurchase> item_purchases { get; } = new global::System.Collections.Generic.List<CMsgServerToGCMatchPlayerItemPurchaseHistory.ItemPurchase>();

            [global::ProtoBuf.ProtoMember(7)]
            public uint lane
            {
                get => __pbn__lane.GetValueOrDefault();
                set => __pbn__lane = value;
            }
            public bool ShouldSerializelane() => __pbn__lane != null;
            public void Resetlane() => __pbn__lane = null;
            private uint? __pbn__lane;

            [global::ProtoBuf.ProtoMember(8)]
            public bool is_winner
            {
                get => __pbn__is_winner.GetValueOrDefault();
                set => __pbn__is_winner = value;
            }
            public bool ShouldSerializeis_winner() => __pbn__is_winner != null;
            public void Resetis_winner() => __pbn__is_winner = null;
            private bool? __pbn__is_winner;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCMatchPlayerNeutralItemEquipHistory : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<Player> players { get; } = new global::System.Collections.Generic.List<Player>();

        [global::ProtoBuf.ProtoContract()]
        public partial class ItemEquip : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            [global::System.ComponentModel.DefaultValue(-1)]
            public int item
            {
                get => __pbn__item ?? -1;
                set => __pbn__item = value;
            }
            public bool ShouldSerializeitem() => __pbn__item != null;
            public void Resetitem() => __pbn__item = null;
            private int? __pbn__item;

            [global::ProtoBuf.ProtoMember(2)]
            public uint game_time
            {
                get => __pbn__game_time.GetValueOrDefault();
                set => __pbn__game_time = value;
            }
            public bool ShouldSerializegame_time() => __pbn__game_time != null;
            public void Resetgame_time() => __pbn__game_time = null;
            private uint? __pbn__game_time;

            [global::ProtoBuf.ProtoMember(3)]
            public global::System.Collections.Generic.List<int> inventory_items { get; } = new global::System.Collections.Generic.List<int>();

            [global::ProtoBuf.ProtoMember(4)]
            public global::System.Collections.Generic.List<bool> talents_skilled { get; } = new global::System.Collections.Generic.List<bool>();

            [global::ProtoBuf.ProtoMember(5)]
            public global::System.Collections.Generic.List<int> available_neutral_items { get; } = new global::System.Collections.Generic.List<int>();

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class Player : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public global::System.Collections.Generic.List<int> allied_hero_ids { get; } = new global::System.Collections.Generic.List<int>();

            [global::ProtoBuf.ProtoMember(3)]
            public global::System.Collections.Generic.List<int> enemy_hero_ids { get; } = new global::System.Collections.Generic.List<int>();

            [global::ProtoBuf.ProtoMember(4)]
            public global::System.Collections.Generic.List<CMsgServerToGCMatchPlayerNeutralItemEquipHistory.ItemEquip> item_equips { get; } = new global::System.Collections.Generic.List<CMsgServerToGCMatchPlayerNeutralItemEquipHistory.ItemEquip>();

            [global::ProtoBuf.ProtoMember(5)]
            public bool is_winner
            {
                get => __pbn__is_winner.GetValueOrDefault();
                set => __pbn__is_winner = value;
            }
            public bool ShouldSerializeis_winner() => __pbn__is_winner != null;
            public void Resetis_winner() => __pbn__is_winner = null;
            private bool? __pbn__is_winner;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCMatchStateHistory : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(2)]
        public bool radiant_won
        {
            get => __pbn__radiant_won.GetValueOrDefault();
            set => __pbn__radiant_won = value;
        }
        public bool ShouldSerializeradiant_won() => __pbn__radiant_won != null;
        public void Resetradiant_won() => __pbn__radiant_won = null;
        private bool? __pbn__radiant_won;

        [global::ProtoBuf.ProtoMember(3)]
        public uint mmr
        {
            get => __pbn__mmr.GetValueOrDefault();
            set => __pbn__mmr = value;
        }
        public bool ShouldSerializemmr() => __pbn__mmr != null;
        public void Resetmmr() => __pbn__mmr = null;
        private uint? __pbn__mmr;

        [global::ProtoBuf.ProtoMember(4)]
        public global::System.Collections.Generic.List<MatchState> match_states { get; } = new global::System.Collections.Generic.List<MatchState>();

        [global::ProtoBuf.ProtoContract()]
        public partial class PlayerState : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public int hero_id
            {
                get => __pbn__hero_id.GetValueOrDefault();
                set => __pbn__hero_id = value;
            }
            public bool ShouldSerializehero_id() => __pbn__hero_id != null;
            public void Resethero_id() => __pbn__hero_id = null;
            private int? __pbn__hero_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint net_worth
            {
                get => __pbn__net_worth.GetValueOrDefault();
                set => __pbn__net_worth = value;
            }
            public bool ShouldSerializenet_worth() => __pbn__net_worth != null;
            public void Resetnet_worth() => __pbn__net_worth = null;
            private uint? __pbn__net_worth;

            [global::ProtoBuf.ProtoMember(3)]
            public uint level
            {
                get => __pbn__level.GetValueOrDefault();
                set => __pbn__level = value;
            }
            public bool ShouldSerializelevel() => __pbn__level != null;
            public void Resetlevel() => __pbn__level = null;
            private uint? __pbn__level;

            [global::ProtoBuf.ProtoMember(4)]
            public uint deaths
            {
                get => __pbn__deaths.GetValueOrDefault();
                set => __pbn__deaths = value;
            }
            public bool ShouldSerializedeaths() => __pbn__deaths != null;
            public void Resetdeaths() => __pbn__deaths = null;
            private uint? __pbn__deaths;

            [global::ProtoBuf.ProtoMember(5)]
            public uint respawn_time
            {
                get => __pbn__respawn_time.GetValueOrDefault();
                set => __pbn__respawn_time = value;
            }
            public bool ShouldSerializerespawn_time() => __pbn__respawn_time != null;
            public void Resetrespawn_time() => __pbn__respawn_time = null;
            private uint? __pbn__respawn_time;

            [global::ProtoBuf.ProtoMember(6)]
            public bool has_buyback
            {
                get => __pbn__has_buyback.GetValueOrDefault();
                set => __pbn__has_buyback = value;
            }
            public bool ShouldSerializehas_buyback() => __pbn__has_buyback != null;
            public void Resethas_buyback() => __pbn__has_buyback = null;
            private bool? __pbn__has_buyback;

            [global::ProtoBuf.ProtoMember(7)]
            public bool has_aegis
            {
                get => __pbn__has_aegis.GetValueOrDefault();
                set => __pbn__has_aegis = value;
            }
            public bool ShouldSerializehas_aegis() => __pbn__has_aegis != null;
            public void Resethas_aegis() => __pbn__has_aegis = null;
            private bool? __pbn__has_aegis;

            [global::ProtoBuf.ProtoMember(8)]
            public bool has_rapier
            {
                get => __pbn__has_rapier.GetValueOrDefault();
                set => __pbn__has_rapier = value;
            }
            public bool ShouldSerializehas_rapier() => __pbn__has_rapier != null;
            public void Resethas_rapier() => __pbn__has_rapier = null;
            private bool? __pbn__has_rapier;

            [global::ProtoBuf.ProtoMember(9)]
            public uint distance
            {
                get => __pbn__distance.GetValueOrDefault();
                set => __pbn__distance = value;
            }
            public bool ShouldSerializedistance() => __pbn__distance != null;
            public void Resetdistance() => __pbn__distance = null;
            private uint? __pbn__distance;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class TeamState : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint team
            {
                get => __pbn__team.GetValueOrDefault();
                set => __pbn__team = value;
            }
            public bool ShouldSerializeteam() => __pbn__team != null;
            public void Resetteam() => __pbn__team = null;
            private uint? __pbn__team;

            [global::ProtoBuf.ProtoMember(2)]
            public global::System.Collections.Generic.List<CMsgServerToGCMatchStateHistory.PlayerState> player_states { get; } = new global::System.Collections.Generic.List<CMsgServerToGCMatchStateHistory.PlayerState>();

            [global::ProtoBuf.ProtoMember(3)]
            public global::System.Collections.Generic.List<uint> tower_health_pct { get; } = new global::System.Collections.Generic.List<uint>();

            [global::ProtoBuf.ProtoMember(4)]
            public global::System.Collections.Generic.List<uint> barracks_health_pct { get; } = new global::System.Collections.Generic.List<uint>();

            [global::ProtoBuf.ProtoMember(5)]
            public uint ancient_health_pct
            {
                get => __pbn__ancient_health_pct.GetValueOrDefault();
                set => __pbn__ancient_health_pct = value;
            }
            public bool ShouldSerializeancient_health_pct() => __pbn__ancient_health_pct != null;
            public void Resetancient_health_pct() => __pbn__ancient_health_pct = null;
            private uint? __pbn__ancient_health_pct;

            [global::ProtoBuf.ProtoMember(6)]
            public uint glyph_cooldown
            {
                get => __pbn__glyph_cooldown.GetValueOrDefault();
                set => __pbn__glyph_cooldown = value;
            }
            public bool ShouldSerializeglyph_cooldown() => __pbn__glyph_cooldown != null;
            public void Resetglyph_cooldown() => __pbn__glyph_cooldown = null;
            private uint? __pbn__glyph_cooldown;

            [global::ProtoBuf.ProtoMember(7)]
            public uint kills
            {
                get => __pbn__kills.GetValueOrDefault();
                set => __pbn__kills = value;
            }
            public bool ShouldSerializekills() => __pbn__kills != null;
            public void Resetkills() => __pbn__kills = null;
            private uint? __pbn__kills;

            [global::ProtoBuf.ProtoMember(8)]
            public uint creep_distance_safe
            {
                get => __pbn__creep_distance_safe.GetValueOrDefault();
                set => __pbn__creep_distance_safe = value;
            }
            public bool ShouldSerializecreep_distance_safe() => __pbn__creep_distance_safe != null;
            public void Resetcreep_distance_safe() => __pbn__creep_distance_safe = null;
            private uint? __pbn__creep_distance_safe;

            [global::ProtoBuf.ProtoMember(9)]
            public uint creep_distance_mid
            {
                get => __pbn__creep_distance_mid.GetValueOrDefault();
                set => __pbn__creep_distance_mid = value;
            }
            public bool ShouldSerializecreep_distance_mid() => __pbn__creep_distance_mid != null;
            public void Resetcreep_distance_mid() => __pbn__creep_distance_mid = null;
            private uint? __pbn__creep_distance_mid;

            [global::ProtoBuf.ProtoMember(10)]
            public uint creep_distance_off
            {
                get => __pbn__creep_distance_off.GetValueOrDefault();
                set => __pbn__creep_distance_off = value;
            }
            public bool ShouldSerializecreep_distance_off() => __pbn__creep_distance_off != null;
            public void Resetcreep_distance_off() => __pbn__creep_distance_off = null;
            private uint? __pbn__creep_distance_off;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class MatchState : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint game_time
            {
                get => __pbn__game_time.GetValueOrDefault();
                set => __pbn__game_time = value;
            }
            public bool ShouldSerializegame_time() => __pbn__game_time != null;
            public void Resetgame_time() => __pbn__game_time = null;
            private uint? __pbn__game_time;

            [global::ProtoBuf.ProtoMember(2)]
            public CMsgServerToGCMatchStateHistory.TeamState radiant_state { get; set; }

            [global::ProtoBuf.ProtoMember(3)]
            public CMsgServerToGCMatchStateHistory.TeamState dire_state { get; set; }

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgMatchStateSteamMLEntry : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public CMsgServerToGCMatchStateHistory.MatchState match_state { get; set; }

        [global::ProtoBuf.ProtoMember(2)]
        public uint mmr
        {
            get => __pbn__mmr.GetValueOrDefault();
            set => __pbn__mmr = value;
        }
        public bool ShouldSerializemmr() => __pbn__mmr != null;
        public void Resetmmr() => __pbn__mmr = null;
        private uint? __pbn__mmr;

        [global::ProtoBuf.ProtoMember(3)]
        public bool radiant_won
        {
            get => __pbn__radiant_won.GetValueOrDefault();
            set => __pbn__radiant_won = value;
        }
        public bool ShouldSerializeradiant_won() => __pbn__radiant_won != null;
        public void Resetradiant_won() => __pbn__radiant_won = null;
        private bool? __pbn__radiant_won;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgLaneSelectionSteamMLEntry : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<int> hero_ids { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<uint> lanes { get; } = new global::System.Collections.Generic.List<uint>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgAbilitySelectionSteamMLEntry : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint mmr
        {
            get => __pbn__mmr.GetValueOrDefault();
            set => __pbn__mmr = value;
        }
        public bool ShouldSerializemmr() => __pbn__mmr != null;
        public void Resetmmr() => __pbn__mmr = null;
        private uint? __pbn__mmr;

        [global::ProtoBuf.ProtoMember(2)]
        public int hero_id
        {
            get => __pbn__hero_id.GetValueOrDefault();
            set => __pbn__hero_id = value;
        }
        public bool ShouldSerializehero_id() => __pbn__hero_id != null;
        public void Resethero_id() => __pbn__hero_id = null;
        private int? __pbn__hero_id;

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<int> enemy_hero_ids { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(4)]
        public uint lane
        {
            get => __pbn__lane.GetValueOrDefault();
            set => __pbn__lane = value;
        }
        public bool ShouldSerializelane() => __pbn__lane != null;
        public void Resetlane() => __pbn__lane = null;
        private uint? __pbn__lane;

        [global::ProtoBuf.ProtoMember(5)]
        public global::System.Collections.Generic.List<int> abilities { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(6)]
        [global::System.ComponentModel.DefaultValue(-1)]
        public int selected_ability
        {
            get => __pbn__selected_ability ?? -1;
            set => __pbn__selected_ability = value;
        }
        public bool ShouldSerializeselected_ability() => __pbn__selected_ability != null;
        public void Resetselected_ability() => __pbn__selected_ability = null;
        private int? __pbn__selected_ability;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgItemPurchasePregameSteamMLEntry : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint mmr
        {
            get => __pbn__mmr.GetValueOrDefault();
            set => __pbn__mmr = value;
        }
        public bool ShouldSerializemmr() => __pbn__mmr != null;
        public void Resetmmr() => __pbn__mmr = null;
        private uint? __pbn__mmr;

        [global::ProtoBuf.ProtoMember(2)]
        public uint lane
        {
            get => __pbn__lane.GetValueOrDefault();
            set => __pbn__lane = value;
        }
        public bool ShouldSerializelane() => __pbn__lane != null;
        public void Resetlane() => __pbn__lane = null;
        private uint? __pbn__lane;

        [global::ProtoBuf.ProtoMember(3)]
        public float balance
        {
            get => __pbn__balance.GetValueOrDefault();
            set => __pbn__balance = value;
        }
        public bool ShouldSerializebalance() => __pbn__balance != null;
        public void Resetbalance() => __pbn__balance = null;
        private float? __pbn__balance;

        [global::ProtoBuf.ProtoMember(4)]
        public int hero_id
        {
            get => __pbn__hero_id.GetValueOrDefault();
            set => __pbn__hero_id = value;
        }
        public bool ShouldSerializehero_id() => __pbn__hero_id != null;
        public void Resethero_id() => __pbn__hero_id = null;
        private int? __pbn__hero_id;

        [global::ProtoBuf.ProtoMember(5)]
        public global::System.Collections.Generic.List<int> allied_hero_ids { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(6)]
        public global::System.Collections.Generic.List<int> enemy_hero_ids { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(7)]
        public global::System.Collections.Generic.List<int> items { get; } = new global::System.Collections.Generic.List<int>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgItemPurchaseSteamMLEntry : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint mmr
        {
            get => __pbn__mmr.GetValueOrDefault();
            set => __pbn__mmr = value;
        }
        public bool ShouldSerializemmr() => __pbn__mmr != null;
        public void Resetmmr() => __pbn__mmr = null;
        private uint? __pbn__mmr;

        [global::ProtoBuf.ProtoMember(2)]
        public uint lane
        {
            get => __pbn__lane.GetValueOrDefault();
            set => __pbn__lane = value;
        }
        public bool ShouldSerializelane() => __pbn__lane != null;
        public void Resetlane() => __pbn__lane = null;
        private uint? __pbn__lane;

        [global::ProtoBuf.ProtoMember(3)]
        public int hero_id
        {
            get => __pbn__hero_id.GetValueOrDefault();
            set => __pbn__hero_id = value;
        }
        public bool ShouldSerializehero_id() => __pbn__hero_id != null;
        public void Resethero_id() => __pbn__hero_id = null;
        private int? __pbn__hero_id;

        [global::ProtoBuf.ProtoMember(4)]
        public global::System.Collections.Generic.List<int> allied_hero_ids { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(5)]
        public global::System.Collections.Generic.List<int> enemy_hero_ids { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(6)]
        public global::System.Collections.Generic.List<int> items { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(7)]
        public global::System.Collections.Generic.List<int> items_to_be_purchased { get; } = new global::System.Collections.Generic.List<int>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgItemPurchaseSequenceSteamMLEntry : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint mmr
        {
            get => __pbn__mmr.GetValueOrDefault();
            set => __pbn__mmr = value;
        }
        public bool ShouldSerializemmr() => __pbn__mmr != null;
        public void Resetmmr() => __pbn__mmr = null;
        private uint? __pbn__mmr;

        [global::ProtoBuf.ProtoMember(2)]
        public uint lane
        {
            get => __pbn__lane.GetValueOrDefault();
            set => __pbn__lane = value;
        }
        public bool ShouldSerializelane() => __pbn__lane != null;
        public void Resetlane() => __pbn__lane = null;
        private uint? __pbn__lane;

        [global::ProtoBuf.ProtoMember(3)]
        public int hero_id
        {
            get => __pbn__hero_id.GetValueOrDefault();
            set => __pbn__hero_id = value;
        }
        public bool ShouldSerializehero_id() => __pbn__hero_id != null;
        public void Resethero_id() => __pbn__hero_id = null;
        private int? __pbn__hero_id;

        [global::ProtoBuf.ProtoMember(4)]
        public global::System.Collections.Generic.List<int> allied_hero_ids { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(5)]
        public global::System.Collections.Generic.List<int> enemy_hero_ids { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(6)]
        public global::System.Collections.Generic.List<int> items { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(7)]
        [global::System.ComponentModel.DefaultValue(-1)]
        public int item_to_be_purchased
        {
            get => __pbn__item_to_be_purchased ?? -1;
            set => __pbn__item_to_be_purchased = value;
        }
        public bool ShouldSerializeitem_to_be_purchased() => __pbn__item_to_be_purchased != null;
        public void Resetitem_to_be_purchased() => __pbn__item_to_be_purchased = null;
        private int? __pbn__item_to_be_purchased;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCCavernCrawlIsHeroActive : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint event_id
        {
            get => __pbn__event_id.GetValueOrDefault();
            set => __pbn__event_id = value;
        }
        public bool ShouldSerializeevent_id() => __pbn__event_id != null;
        public void Resetevent_id() => __pbn__event_id = null;
        private uint? __pbn__event_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint account_id
        {
            get => __pbn__account_id.GetValueOrDefault();
            set => __pbn__account_id = value;
        }
        public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
        public void Resetaccount_id() => __pbn__account_id = null;
        private uint? __pbn__account_id;

        [global::ProtoBuf.ProtoMember(3)]
        [global::System.ComponentModel.DefaultValue(255u)]
        public uint preferred_map_variant
        {
            get => __pbn__preferred_map_variant ?? 255u;
            set => __pbn__preferred_map_variant = value;
        }
        public bool ShouldSerializepreferred_map_variant() => __pbn__preferred_map_variant != null;
        public void Resetpreferred_map_variant() => __pbn__preferred_map_variant = null;
        private uint? __pbn__preferred_map_variant;

        [global::ProtoBuf.ProtoMember(4)]
        public int hero_id
        {
            get => __pbn__hero_id.GetValueOrDefault();
            set => __pbn__hero_id = value;
        }
        public bool ShouldSerializehero_id() => __pbn__hero_id != null;
        public void Resethero_id() => __pbn__hero_id = null;
        private int? __pbn__hero_id;

        [global::ProtoBuf.ProtoMember(5)]
        public bool turbo_mode
        {
            get => __pbn__turbo_mode.GetValueOrDefault();
            set => __pbn__turbo_mode = value;
        }
        public bool ShouldSerializeturbo_mode() => __pbn__turbo_mode != null;
        public void Resetturbo_mode() => __pbn__turbo_mode = null;
        private bool? __pbn__turbo_mode;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCPlayerChallengeHistory : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint average_rank
        {
            get => __pbn__average_rank.GetValueOrDefault();
            set => __pbn__average_rank = value;
        }
        public bool ShouldSerializeaverage_rank() => __pbn__average_rank != null;
        public void Resetaverage_rank() => __pbn__average_rank = null;
        private uint? __pbn__average_rank;

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<PlayerChallenge> challenge_records { get; } = new global::System.Collections.Generic.List<PlayerChallenge>();

        [global::ProtoBuf.ProtoContract()]
        public partial class PlayerChallenge : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            [global::System.ComponentModel.DefaultValue(EPlayerChallengeHistoryType.k_EPlayerChallengeHistoryType_Invalid)]
            public EPlayerChallengeHistoryType challenge_type
            {
                get => __pbn__challenge_type ?? EPlayerChallengeHistoryType.k_EPlayerChallengeHistoryType_Invalid;
                set => __pbn__challenge_type = value;
            }
            public bool ShouldSerializechallenge_type() => __pbn__challenge_type != null;
            public void Resetchallenge_type() => __pbn__challenge_type = null;
            private EPlayerChallengeHistoryType? __pbn__challenge_type;

            [global::ProtoBuf.ProtoMember(3)]
            public uint challenge_id1
            {
                get => __pbn__challenge_id1.GetValueOrDefault();
                set => __pbn__challenge_id1 = value;
            }
            public bool ShouldSerializechallenge_id1() => __pbn__challenge_id1 != null;
            public void Resetchallenge_id1() => __pbn__challenge_id1 = null;
            private uint? __pbn__challenge_id1;

            [global::ProtoBuf.ProtoMember(4)]
            public uint challenge_id2
            {
                get => __pbn__challenge_id2.GetValueOrDefault();
                set => __pbn__challenge_id2 = value;
            }
            public bool ShouldSerializechallenge_id2() => __pbn__challenge_id2 != null;
            public void Resetchallenge_id2() => __pbn__challenge_id2 = null;
            private uint? __pbn__challenge_id2;

            [global::ProtoBuf.ProtoMember(5)]
            public uint progress_value_start
            {
                get => __pbn__progress_value_start.GetValueOrDefault();
                set => __pbn__progress_value_start = value;
            }
            public bool ShouldSerializeprogress_value_start() => __pbn__progress_value_start != null;
            public void Resetprogress_value_start() => __pbn__progress_value_start = null;
            private uint? __pbn__progress_value_start;

            [global::ProtoBuf.ProtoMember(6)]
            public uint progress_value_end
            {
                get => __pbn__progress_value_end.GetValueOrDefault();
                set => __pbn__progress_value_end = value;
            }
            public bool ShouldSerializeprogress_value_end() => __pbn__progress_value_end != null;
            public void Resetprogress_value_end() => __pbn__progress_value_end = null;
            private uint? __pbn__progress_value_end;

            [global::ProtoBuf.ProtoMember(7)]
            public bool team_won
            {
                get => __pbn__team_won.GetValueOrDefault();
                set => __pbn__team_won = value;
            }
            public bool ShouldSerializeteam_won() => __pbn__team_won != null;
            public void Resetteam_won() => __pbn__team_won = null;
            private bool? __pbn__team_won;

            [global::ProtoBuf.ProtoMember(8)]
            public ulong audit_data
            {
                get => __pbn__audit_data.GetValueOrDefault();
                set => __pbn__audit_data = value;
            }
            public bool ShouldSerializeaudit_data() => __pbn__audit_data != null;
            public void Resetaudit_data() => __pbn__audit_data = null;
            private ulong? __pbn__audit_data;

            [global::ProtoBuf.ProtoMember(9)]
            public int hero_id
            {
                get => __pbn__hero_id.GetValueOrDefault();
                set => __pbn__hero_id = value;
            }
            public bool ShouldSerializehero_id() => __pbn__hero_id != null;
            public void Resethero_id() => __pbn__hero_id = null;
            private int? __pbn__hero_id;

            [global::ProtoBuf.ProtoMember(10)]
            public uint rank_completed
            {
                get => __pbn__rank_completed.GetValueOrDefault();
                set => __pbn__rank_completed = value;
            }
            public bool ShouldSerializerank_completed() => __pbn__rank_completed != null;
            public void Resetrank_completed() => __pbn__rank_completed = null;
            private uint? __pbn__rank_completed;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCCavernCrawlIsHeroActiveResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public bool result
        {
            get => __pbn__result.GetValueOrDefault();
            set => __pbn__result = value;
        }
        public bool ShouldSerializeresult() => __pbn__result != null;
        public void Resetresult() => __pbn__result = null;
        private bool? __pbn__result;

        [global::ProtoBuf.ProtoMember(5)]
        [global::System.ComponentModel.DefaultValue(255u)]
        public uint map_variant
        {
            get => __pbn__map_variant ?? 255u;
            set => __pbn__map_variant = value;
        }
        public bool ShouldSerializemap_variant() => __pbn__map_variant != null;
        public void Resetmap_variant() => __pbn__map_variant = null;
        private uint? __pbn__map_variant;

        [global::ProtoBuf.ProtoMember(2)]
        public uint potential_winnings
        {
            get => __pbn__potential_winnings.GetValueOrDefault();
            set => __pbn__potential_winnings = value;
        }
        public bool ShouldSerializepotential_winnings() => __pbn__potential_winnings != null;
        public void Resetpotential_winnings() => __pbn__potential_winnings = null;
        private uint? __pbn__potential_winnings;

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<MapResults> map_results { get; } = new global::System.Collections.Generic.List<MapResults>();

        [global::ProtoBuf.ProtoMember(4)]
        public uint potential_plus_shard_winnings
        {
            get => __pbn__potential_plus_shard_winnings.GetValueOrDefault();
            set => __pbn__potential_plus_shard_winnings = value;
        }
        public bool ShouldSerializepotential_plus_shard_winnings() => __pbn__potential_plus_shard_winnings != null;
        public void Resetpotential_plus_shard_winnings() => __pbn__potential_plus_shard_winnings = null;
        private uint? __pbn__potential_plus_shard_winnings;

        [global::ProtoBuf.ProtoContract()]
        public partial class MapResults : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            [global::System.ComponentModel.DefaultValue(255u)]
            public uint path_id_completed
            {
                get => __pbn__path_id_completed ?? 255u;
                set => __pbn__path_id_completed = value;
            }
            public bool ShouldSerializepath_id_completed() => __pbn__path_id_completed != null;
            public void Resetpath_id_completed() => __pbn__path_id_completed = null;
            private uint? __pbn__path_id_completed;

            [global::ProtoBuf.ProtoMember(2)]
            [global::System.ComponentModel.DefaultValue(255u)]
            public uint room_id_claimed
            {
                get => __pbn__room_id_claimed ?? 255u;
                set => __pbn__room_id_claimed = value;
            }
            public bool ShouldSerializeroom_id_claimed() => __pbn__room_id_claimed != null;
            public void Resetroom_id_claimed() => __pbn__room_id_claimed = null;
            private uint? __pbn__room_id_claimed;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgNeutralItemStats : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<NeutralItem> neutral_items { get; } = new global::System.Collections.Generic.List<NeutralItem>();

        [global::ProtoBuf.ProtoContract()]
        public partial class NeutralItem : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            [global::System.ComponentModel.DefaultValue(-1)]
            public int item_id
            {
                get => __pbn__item_id ?? -1;
                set => __pbn__item_id = value;
            }
            public bool ShouldSerializeitem_id() => __pbn__item_id != null;
            public void Resetitem_id() => __pbn__item_id = null;
            private int? __pbn__item_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint time_dropped
            {
                get => __pbn__time_dropped.GetValueOrDefault();
                set => __pbn__time_dropped = value;
            }
            public bool ShouldSerializetime_dropped() => __pbn__time_dropped != null;
            public void Resettime_dropped() => __pbn__time_dropped = null;
            private uint? __pbn__time_dropped;

            [global::ProtoBuf.ProtoMember(3)]
            public uint team
            {
                get => __pbn__team.GetValueOrDefault();
                set => __pbn__team = value;
            }
            public bool ShouldSerializeteam() => __pbn__team != null;
            public void Resetteam() => __pbn__team = null;
            private uint? __pbn__team;

            [global::ProtoBuf.ProtoMember(4)]
            public uint time_last_equipped
            {
                get => __pbn__time_last_equipped.GetValueOrDefault();
                set => __pbn__time_last_equipped = value;
            }
            public bool ShouldSerializetime_last_equipped() => __pbn__time_last_equipped != null;
            public void Resettime_last_equipped() => __pbn__time_last_equipped = null;
            private uint? __pbn__time_last_equipped;

            [global::ProtoBuf.ProtoMember(5)]
            public uint time_last_unequipped
            {
                get => __pbn__time_last_unequipped.GetValueOrDefault();
                set => __pbn__time_last_unequipped = value;
            }
            public bool ShouldSerializetime_last_unequipped() => __pbn__time_last_unequipped != null;
            public void Resettime_last_unequipped() => __pbn__time_last_unequipped = null;
            private uint? __pbn__time_last_unequipped;

            [global::ProtoBuf.ProtoMember(6)]
            public uint duration_equipped
            {
                get => __pbn__duration_equipped.GetValueOrDefault();
                set => __pbn__duration_equipped = value;
            }
            public bool ShouldSerializeduration_equipped() => __pbn__duration_equipped != null;
            public void Resetduration_equipped() => __pbn__duration_equipped = null;
            private uint? __pbn__duration_equipped;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToServerLobbyHeroBanRates : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<HeroBanEntry> ban_data { get; } = new global::System.Collections.Generic.List<HeroBanEntry>();

        [global::ProtoBuf.ProtoContract()]
        public partial class HeroBanEntry : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public int hero_id
            {
                get => __pbn__hero_id.GetValueOrDefault();
                set => __pbn__hero_id = value;
            }
            public bool ShouldSerializehero_id() => __pbn__hero_id != null;
            public void Resethero_id() => __pbn__hero_id = null;
            private int? __pbn__hero_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint ban_count
            {
                get => __pbn__ban_count.GetValueOrDefault();
                set => __pbn__ban_count = value;
            }
            public bool ShouldSerializeban_count() => __pbn__ban_count != null;
            public void Resetban_count() => __pbn__ban_count = null;
            private uint? __pbn__ban_count;

            [global::ProtoBuf.ProtoMember(3)]
            public uint pick_count
            {
                get => __pbn__pick_count.GetValueOrDefault();
                set => __pbn__pick_count = value;
            }
            public bool ShouldSerializepick_count() => __pbn__pick_count != null;
            public void Resetpick_count() => __pbn__pick_count = null;
            private uint? __pbn__pick_count;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutGuildContractProgress : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<PlayerContract> player_contracts { get; } = new global::System.Collections.Generic.List<PlayerContract>();

        [global::ProtoBuf.ProtoContract()]
        public partial class CompletedGuildEventContracts : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint guild_id
            {
                get => __pbn__guild_id.GetValueOrDefault();
                set => __pbn__guild_id = value;
            }
            public bool ShouldSerializeguild_id() => __pbn__guild_id != null;
            public void Resetguild_id() => __pbn__guild_id = null;
            private uint? __pbn__guild_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint event_id
            {
                get => __pbn__event_id.GetValueOrDefault();
                set => __pbn__event_id = value;
            }
            public bool ShouldSerializeevent_id() => __pbn__event_id != null;
            public void Resetevent_id() => __pbn__event_id = null;
            private uint? __pbn__event_id;

            [global::ProtoBuf.ProtoMember(3)]
            public global::System.Collections.Generic.List<ulong> contracts { get; } = new global::System.Collections.Generic.List<ulong>();

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class PlayerContract : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public global::System.Collections.Generic.List<CMsgSignOutGuildContractProgress.CompletedGuildEventContracts> completed_contracts { get; } = new global::System.Collections.Generic.List<CMsgSignOutGuildContractProgress.CompletedGuildEventContracts>();

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutGuildChallengeProgress : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<ChallengeProgress> guild_challenges_progresses { get; } = new global::System.Collections.Generic.List<ChallengeProgress>();

        [global::ProtoBuf.ProtoContract()]
        public partial class ChallengeProgress : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint guild_id
            {
                get => __pbn__guild_id.GetValueOrDefault();
                set => __pbn__guild_id = value;
            }
            public bool ShouldSerializeguild_id() => __pbn__guild_id != null;
            public void Resetguild_id() => __pbn__guild_id = null;
            private uint? __pbn__guild_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint event_id
            {
                get => __pbn__event_id.GetValueOrDefault();
                set => __pbn__event_id = value;
            }
            public bool ShouldSerializeevent_id() => __pbn__event_id != null;
            public void Resetevent_id() => __pbn__event_id = null;
            private uint? __pbn__event_id;

            [global::ProtoBuf.ProtoMember(3)]
            public uint challenge_instance_id
            {
                get => __pbn__challenge_instance_id.GetValueOrDefault();
                set => __pbn__challenge_instance_id = value;
            }
            public bool ShouldSerializechallenge_instance_id() => __pbn__challenge_instance_id != null;
            public void Resetchallenge_instance_id() => __pbn__challenge_instance_id = null;
            private uint? __pbn__challenge_instance_id;

            [global::ProtoBuf.ProtoMember(4)]
            public uint challenge_instance_timestamp
            {
                get => __pbn__challenge_instance_timestamp.GetValueOrDefault();
                set => __pbn__challenge_instance_timestamp = value;
            }
            public bool ShouldSerializechallenge_instance_timestamp() => __pbn__challenge_instance_timestamp != null;
            public void Resetchallenge_instance_timestamp() => __pbn__challenge_instance_timestamp = null;
            private uint? __pbn__challenge_instance_timestamp;

            [global::ProtoBuf.ProtoMember(5)]
            public uint challenge_period_serial
            {
                get => __pbn__challenge_period_serial.GetValueOrDefault();
                set => __pbn__challenge_period_serial = value;
            }
            public bool ShouldSerializechallenge_period_serial() => __pbn__challenge_period_serial != null;
            public void Resetchallenge_period_serial() => __pbn__challenge_period_serial = null;
            private uint? __pbn__challenge_period_serial;

            [global::ProtoBuf.ProtoMember(6)]
            public uint progress
            {
                get => __pbn__progress.GetValueOrDefault();
                set => __pbn__progress = value;
            }
            public bool ShouldSerializeprogress() => __pbn__progress != null;
            public void Resetprogress() => __pbn__progress = null;
            private uint? __pbn__progress;

            [global::ProtoBuf.ProtoMember(7)]
            public uint challenge_parameter
            {
                get => __pbn__challenge_parameter.GetValueOrDefault();
                set => __pbn__challenge_parameter = value;
            }
            public bool ShouldSerializechallenge_parameter() => __pbn__challenge_parameter != null;
            public void Resetchallenge_parameter() => __pbn__challenge_parameter = null;
            private uint? __pbn__challenge_parameter;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutMVPStats : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public ulong match_id
        {
            get => __pbn__match_id.GetValueOrDefault();
            set => __pbn__match_id = value;
        }
        public bool ShouldSerializematch_id() => __pbn__match_id != null;
        public void Resetmatch_id() => __pbn__match_id = null;
        private ulong? __pbn__match_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint game_mode
        {
            get => __pbn__game_mode.GetValueOrDefault();
            set => __pbn__game_mode = value;
        }
        public bool ShouldSerializegame_mode() => __pbn__game_mode != null;
        public void Resetgame_mode() => __pbn__game_mode = null;
        private uint? __pbn__game_mode;

        [global::ProtoBuf.ProtoMember(3)]
        public uint winning_team
        {
            get => __pbn__winning_team.GetValueOrDefault();
            set => __pbn__winning_team = value;
        }
        public bool ShouldSerializewinning_team() => __pbn__winning_team != null;
        public void Resetwinning_team() => __pbn__winning_team = null;
        private uint? __pbn__winning_team;

        [global::ProtoBuf.ProtoMember(4)]
        public float game_time
        {
            get => __pbn__game_time.GetValueOrDefault();
            set => __pbn__game_time = value;
        }
        public bool ShouldSerializegame_time() => __pbn__game_time != null;
        public void Resetgame_time() => __pbn__game_time = null;
        private float? __pbn__game_time;

        [global::ProtoBuf.ProtoMember(5)]
        public global::System.Collections.Generic.List<Player> players { get; } = new global::System.Collections.Generic.List<Player>();

        [global::ProtoBuf.ProtoContract()]
        public partial class Player : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint team_id
            {
                get => __pbn__team_id.GetValueOrDefault();
                set => __pbn__team_id = value;
            }
            public bool ShouldSerializeteam_id() => __pbn__team_id != null;
            public void Resetteam_id() => __pbn__team_id = null;
            private uint? __pbn__team_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint team_networth_rank
            {
                get => __pbn__team_networth_rank.GetValueOrDefault();
                set => __pbn__team_networth_rank = value;
            }
            public bool ShouldSerializeteam_networth_rank() => __pbn__team_networth_rank != null;
            public void Resetteam_networth_rank() => __pbn__team_networth_rank = null;
            private uint? __pbn__team_networth_rank;

            [global::ProtoBuf.ProtoMember(3)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(32)]
            public uint player_slot
            {
                get => __pbn__player_slot.GetValueOrDefault();
                set => __pbn__player_slot = value;
            }
            public bool ShouldSerializeplayer_slot() => __pbn__player_slot != null;
            public void Resetplayer_slot() => __pbn__player_slot = null;
            private uint? __pbn__player_slot;

            [global::ProtoBuf.ProtoMember(33)]
            public uint rank
            {
                get => __pbn__rank.GetValueOrDefault();
                set => __pbn__rank = value;
            }
            public bool ShouldSerializerank() => __pbn__rank != null;
            public void Resetrank() => __pbn__rank = null;
            private uint? __pbn__rank;

            [global::ProtoBuf.ProtoMember(4)]
            public int hero_id
            {
                get => __pbn__hero_id.GetValueOrDefault();
                set => __pbn__hero_id = value;
            }
            public bool ShouldSerializehero_id() => __pbn__hero_id != null;
            public void Resethero_id() => __pbn__hero_id = null;
            private int? __pbn__hero_id;

            [global::ProtoBuf.ProtoMember(5)]
            public uint role
            {
                get => __pbn__role.GetValueOrDefault();
                set => __pbn__role = value;
            }
            public bool ShouldSerializerole() => __pbn__role != null;
            public void Resetrole() => __pbn__role = null;
            private uint? __pbn__role;

            [global::ProtoBuf.ProtoMember(6)]
            public int kills
            {
                get => __pbn__kills.GetValueOrDefault();
                set => __pbn__kills = value;
            }
            public bool ShouldSerializekills() => __pbn__kills != null;
            public void Resetkills() => __pbn__kills = null;
            private int? __pbn__kills;

            [global::ProtoBuf.ProtoMember(7)]
            public int deaths
            {
                get => __pbn__deaths.GetValueOrDefault();
                set => __pbn__deaths = value;
            }
            public bool ShouldSerializedeaths() => __pbn__deaths != null;
            public void Resetdeaths() => __pbn__deaths = null;
            private int? __pbn__deaths;

            [global::ProtoBuf.ProtoMember(8)]
            public int assists
            {
                get => __pbn__assists.GetValueOrDefault();
                set => __pbn__assists = value;
            }
            public bool ShouldSerializeassists() => __pbn__assists != null;
            public void Resetassists() => __pbn__assists = null;
            private int? __pbn__assists;

            [global::ProtoBuf.ProtoMember(9)]
            public int xp
            {
                get => __pbn__xp.GetValueOrDefault();
                set => __pbn__xp = value;
            }
            public bool ShouldSerializexp() => __pbn__xp != null;
            public void Resetxp() => __pbn__xp = null;
            private int? __pbn__xp;

            [global::ProtoBuf.ProtoMember(10)]
            public int net_worth
            {
                get => __pbn__net_worth.GetValueOrDefault();
                set => __pbn__net_worth = value;
            }
            public bool ShouldSerializenet_worth() => __pbn__net_worth != null;
            public void Resetnet_worth() => __pbn__net_worth = null;
            private int? __pbn__net_worth;

            [global::ProtoBuf.ProtoMember(12)]
            public int support_gold_spent
            {
                get => __pbn__support_gold_spent.GetValueOrDefault();
                set => __pbn__support_gold_spent = value;
            }
            public bool ShouldSerializesupport_gold_spent() => __pbn__support_gold_spent != null;
            public void Resetsupport_gold_spent() => __pbn__support_gold_spent = null;
            private int? __pbn__support_gold_spent;

            [global::ProtoBuf.ProtoMember(13)]
            public int wards_placed
            {
                get => __pbn__wards_placed.GetValueOrDefault();
                set => __pbn__wards_placed = value;
            }
            public bool ShouldSerializewards_placed() => __pbn__wards_placed != null;
            public void Resetwards_placed() => __pbn__wards_placed = null;
            private int? __pbn__wards_placed;

            [global::ProtoBuf.ProtoMember(14)]
            public int wards_spotted_for_dewarding
            {
                get => __pbn__wards_spotted_for_dewarding.GetValueOrDefault();
                set => __pbn__wards_spotted_for_dewarding = value;
            }
            public bool ShouldSerializewards_spotted_for_dewarding() => __pbn__wards_spotted_for_dewarding != null;
            public void Resetwards_spotted_for_dewarding() => __pbn__wards_spotted_for_dewarding = null;
            private int? __pbn__wards_spotted_for_dewarding;

            [global::ProtoBuf.ProtoMember(15)]
            public int camps_stacked
            {
                get => __pbn__camps_stacked.GetValueOrDefault();
                set => __pbn__camps_stacked = value;
            }
            public bool ShouldSerializecamps_stacked() => __pbn__camps_stacked != null;
            public void Resetcamps_stacked() => __pbn__camps_stacked = null;
            private int? __pbn__camps_stacked;

            [global::ProtoBuf.ProtoMember(16)]
            public int last_hits
            {
                get => __pbn__last_hits.GetValueOrDefault();
                set => __pbn__last_hits = value;
            }
            public bool ShouldSerializelast_hits() => __pbn__last_hits != null;
            public void Resetlast_hits() => __pbn__last_hits = null;
            private int? __pbn__last_hits;

            [global::ProtoBuf.ProtoMember(17)]
            public int denies
            {
                get => __pbn__denies.GetValueOrDefault();
                set => __pbn__denies = value;
            }
            public bool ShouldSerializedenies() => __pbn__denies != null;
            public void Resetdenies() => __pbn__denies = null;
            private int? __pbn__denies;

            [global::ProtoBuf.ProtoMember(19)]
            public int building_damage
            {
                get => __pbn__building_damage.GetValueOrDefault();
                set => __pbn__building_damage = value;
            }
            public bool ShouldSerializebuilding_damage() => __pbn__building_damage != null;
            public void Resetbuilding_damage() => __pbn__building_damage = null;
            private int? __pbn__building_damage;

            [global::ProtoBuf.ProtoMember(20)]
            public int other_damage
            {
                get => __pbn__other_damage.GetValueOrDefault();
                set => __pbn__other_damage = value;
            }
            public bool ShouldSerializeother_damage() => __pbn__other_damage != null;
            public void Resetother_damage() => __pbn__other_damage = null;
            private int? __pbn__other_damage;

            [global::ProtoBuf.ProtoMember(26)]
            public int triple_kills
            {
                get => __pbn__triple_kills.GetValueOrDefault();
                set => __pbn__triple_kills = value;
            }
            public bool ShouldSerializetriple_kills() => __pbn__triple_kills != null;
            public void Resettriple_kills() => __pbn__triple_kills = null;
            private int? __pbn__triple_kills;

            [global::ProtoBuf.ProtoMember(28)]
            public int rampages
            {
                get => __pbn__rampages.GetValueOrDefault();
                set => __pbn__rampages = value;
            }
            public bool ShouldSerializerampages() => __pbn__rampages != null;
            public void Resetrampages() => __pbn__rampages = null;
            private int? __pbn__rampages;

            [global::ProtoBuf.ProtoMember(31)]
            public int first_blood
            {
                get => __pbn__first_blood.GetValueOrDefault();
                set => __pbn__first_blood = value;
            }
            public bool ShouldSerializefirst_blood() => __pbn__first_blood != null;
            public void Resetfirst_blood() => __pbn__first_blood = null;
            private int? __pbn__first_blood;

            [global::ProtoBuf.ProtoMember(34)]
            public global::System.Collections.Generic.List<KillEaterEvent> kill_eater_events { get; } = new global::System.Collections.Generic.List<KillEaterEvent>();

            [global::ProtoBuf.ProtoMember(35)]
            public uint highest_killstreak
            {
                get => __pbn__highest_killstreak.GetValueOrDefault();
                set => __pbn__highest_killstreak = value;
            }
            public bool ShouldSerializehighest_killstreak() => __pbn__highest_killstreak != null;
            public void Resethighest_killstreak() => __pbn__highest_killstreak = null;
            private uint? __pbn__highest_killstreak;

            [global::ProtoBuf.ProtoContract()]
            public partial class KillEaterEvent : global::ProtoBuf.IExtensible
            {
                private global::ProtoBuf.IExtension __pbn__extensionData;
                global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                    => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

                [global::ProtoBuf.ProtoMember(1, IsRequired = true)]
                public uint event_type { get; set; }

                [global::ProtoBuf.ProtoMember(2, IsRequired = true)]
                public uint amount { get; set; }

            }

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToServerRecordTrainingData : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public bool enable
        {
            get => __pbn__enable.GetValueOrDefault();
            set => __pbn__enable = value;
        }
        public bool ShouldSerializeenable() => __pbn__enable != null;
        public void Resetenable() => __pbn__enable = null;
        private bool? __pbn__enable;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCGetGuildContracts : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<uint> account_ids { get; } = new global::System.Collections.Generic.List<uint>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCGetGuildContractsResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<Player> player_contracts { get; } = new global::System.Collections.Generic.List<Player>();

        [global::ProtoBuf.ProtoContract()]
        public partial class ContractDetails : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public ulong contract_id
            {
                get => __pbn__contract_id.GetValueOrDefault();
                set => __pbn__contract_id = value;
            }
            public bool ShouldSerializecontract_id() => __pbn__contract_id != null;
            public void Resetcontract_id() => __pbn__contract_id = null;
            private ulong? __pbn__contract_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint challenge_instance_id
            {
                get => __pbn__challenge_instance_id.GetValueOrDefault();
                set => __pbn__challenge_instance_id = value;
            }
            public bool ShouldSerializechallenge_instance_id() => __pbn__challenge_instance_id != null;
            public void Resetchallenge_instance_id() => __pbn__challenge_instance_id = null;
            private uint? __pbn__challenge_instance_id;

            [global::ProtoBuf.ProtoMember(3)]
            public uint challenge_parameter
            {
                get => __pbn__challenge_parameter.GetValueOrDefault();
                set => __pbn__challenge_parameter = value;
            }
            public bool ShouldSerializechallenge_parameter() => __pbn__challenge_parameter != null;
            public void Resetchallenge_parameter() => __pbn__challenge_parameter = null;
            private uint? __pbn__challenge_parameter;

            [global::ProtoBuf.ProtoMember(4)]
            public uint contract_stars
            {
                get => __pbn__contract_stars.GetValueOrDefault();
                set => __pbn__contract_stars = value;
            }
            public bool ShouldSerializecontract_stars() => __pbn__contract_stars != null;
            public void Resetcontract_stars() => __pbn__contract_stars = null;
            private uint? __pbn__contract_stars;

            [global::ProtoBuf.ProtoMember(5)]
            public uint contract_slot
            {
                get => __pbn__contract_slot.GetValueOrDefault();
                set => __pbn__contract_slot = value;
            }
            public bool ShouldSerializecontract_slot() => __pbn__contract_slot != null;
            public void Resetcontract_slot() => __pbn__contract_slot = null;
            private uint? __pbn__contract_slot;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class Player : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint guild_id
            {
                get => __pbn__guild_id.GetValueOrDefault();
                set => __pbn__guild_id = value;
            }
            public bool ShouldSerializeguild_id() => __pbn__guild_id != null;
            public void Resetguild_id() => __pbn__guild_id = null;
            private uint? __pbn__guild_id;

            [global::ProtoBuf.ProtoMember(3)]
            [global::System.ComponentModel.DefaultValue(EEvent.EVENT_ID_NONE)]
            public EEvent event_id
            {
                get => __pbn__event_id ?? EEvent.EVENT_ID_NONE;
                set => __pbn__event_id = value;
            }
            public bool ShouldSerializeevent_id() => __pbn__event_id != null;
            public void Resetevent_id() => __pbn__event_id = null;
            private EEvent? __pbn__event_id;

            [global::ProtoBuf.ProtoMember(4)]
            public global::System.Collections.Generic.List<CMsgServerToGCGetGuildContractsResponse.ContractDetails> contracts { get; } = new global::System.Collections.Generic.List<CMsgServerToGCGetGuildContractsResponse.ContractDetails>();

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgMatchDiretideCandy : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<PlayerCandy> player_candy_data { get; } = new global::System.Collections.Generic.List<PlayerCandy>();

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(EEvent.EVENT_ID_NONE)]
        public EEvent event_id
        {
            get => __pbn__event_id ?? EEvent.EVENT_ID_NONE;
            set => __pbn__event_id = value;
        }
        public bool ShouldSerializeevent_id() => __pbn__event_id != null;
        public void Resetevent_id() => __pbn__event_id = null;
        private EEvent? __pbn__event_id;

        [global::ProtoBuf.ProtoContract()]
        public partial class CandyDetails : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint amount
            {
                get => __pbn__amount.GetValueOrDefault();
                set => __pbn__amount = value;
            }
            public bool ShouldSerializeamount() => __pbn__amount != null;
            public void Resetamount() => __pbn__amount = null;
            private uint? __pbn__amount;

            [global::ProtoBuf.ProtoMember(2)]
            public uint audit
            {
                get => __pbn__audit.GetValueOrDefault();
                set => __pbn__audit = value;
            }
            public bool ShouldSerializeaudit() => __pbn__audit != null;
            public void Resetaudit() => __pbn__audit = null;
            private uint? __pbn__audit;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class PlayerCandy : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(3)]
            public uint candy_amount
            {
                get => __pbn__candy_amount.GetValueOrDefault();
                set => __pbn__candy_amount = value;
            }
            public bool ShouldSerializecandy_amount() => __pbn__candy_amount != null;
            public void Resetcandy_amount() => __pbn__candy_amount = null;
            private uint? __pbn__candy_amount;

            [global::ProtoBuf.ProtoMember(4)]
            public bool consumes_periodic_resource
            {
                get => __pbn__consumes_periodic_resource.GetValueOrDefault();
                set => __pbn__consumes_periodic_resource = value;
            }
            public bool ShouldSerializeconsumes_periodic_resource() => __pbn__consumes_periodic_resource != null;
            public void Resetconsumes_periodic_resource() => __pbn__consumes_periodic_resource = null;
            private bool? __pbn__consumes_periodic_resource;

            [global::ProtoBuf.ProtoMember(5)]
            public global::System.Collections.Generic.List<CMsgMatchDiretideCandy.CandyDetails> candy_breakdown { get; } = new global::System.Collections.Generic.List<CMsgMatchDiretideCandy.CandyDetails>();

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToServerCheerData : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<CheerTypeCount> cheer_types { get; } = new global::System.Collections.Generic.List<CheerTypeCount>();

        [global::ProtoBuf.ProtoContract()]
        public partial class CheerTypeCount : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint cheer_type
            {
                get => __pbn__cheer_type.GetValueOrDefault();
                set => __pbn__cheer_type = value;
            }
            public bool ShouldSerializecheer_type() => __pbn__cheer_type != null;
            public void Resetcheer_type() => __pbn__cheer_type = null;
            private uint? __pbn__cheer_type;

            [global::ProtoBuf.ProtoMember(2)]
            public uint cheer_count
            {
                get => __pbn__cheer_count.GetValueOrDefault();
                set => __pbn__cheer_count = value;
            }
            public bool ShouldSerializecheer_count() => __pbn__cheer_count != null;
            public void Resetcheer_count() => __pbn__cheer_count = null;
            private uint? __pbn__cheer_count;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCheerConfig : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public bool cheers_enabled
        {
            get => __pbn__cheers_enabled.GetValueOrDefault();
            set => __pbn__cheers_enabled = value;
        }
        public bool ShouldSerializecheers_enabled() => __pbn__cheers_enabled != null;
        public void Resetcheers_enabled() => __pbn__cheers_enabled = null;
        private bool? __pbn__cheers_enabled;

        [global::ProtoBuf.ProtoMember(2)]
        public bool is_valid_league_id
        {
            get => __pbn__is_valid_league_id.GetValueOrDefault();
            set => __pbn__is_valid_league_id = value;
        }
        public bool ShouldSerializeis_valid_league_id() => __pbn__is_valid_league_id != null;
        public void Resetis_valid_league_id() => __pbn__is_valid_league_id = null;
        private bool? __pbn__is_valid_league_id;

        [global::ProtoBuf.ProtoMember(3)]
        public float window_duration
        {
            get => __pbn__window_duration.GetValueOrDefault();
            set => __pbn__window_duration = value;
        }
        public bool ShouldSerializewindow_duration() => __pbn__window_duration != null;
        public void Resetwindow_duration() => __pbn__window_duration = null;
        private float? __pbn__window_duration;

        [global::ProtoBuf.ProtoMember(4)]
        public uint window_bucket_count
        {
            get => __pbn__window_bucket_count.GetValueOrDefault();
            set => __pbn__window_bucket_count = value;
        }
        public bool ShouldSerializewindow_bucket_count() => __pbn__window_bucket_count != null;
        public void Resetwindow_bucket_count() => __pbn__window_bucket_count = null;
        private uint? __pbn__window_bucket_count;

        [global::ProtoBuf.ProtoMember(6)]
        public float crowd_level_push_time
        {
            get => __pbn__crowd_level_push_time.GetValueOrDefault();
            set => __pbn__crowd_level_push_time = value;
        }
        public bool ShouldSerializecrowd_level_push_time() => __pbn__crowd_level_push_time != null;
        public void Resetcrowd_level_push_time() => __pbn__crowd_level_push_time = null;
        private float? __pbn__crowd_level_push_time;

        [global::ProtoBuf.ProtoMember(10)]
        public uint crowd_level_low
        {
            get => __pbn__crowd_level_low.GetValueOrDefault();
            set => __pbn__crowd_level_low = value;
        }
        public bool ShouldSerializecrowd_level_low() => __pbn__crowd_level_low != null;
        public void Resetcrowd_level_low() => __pbn__crowd_level_low = null;
        private uint? __pbn__crowd_level_low;

        [global::ProtoBuf.ProtoMember(11)]
        public uint crowd_level_medium
        {
            get => __pbn__crowd_level_medium.GetValueOrDefault();
            set => __pbn__crowd_level_medium = value;
        }
        public bool ShouldSerializecrowd_level_medium() => __pbn__crowd_level_medium != null;
        public void Resetcrowd_level_medium() => __pbn__crowd_level_medium = null;
        private uint? __pbn__crowd_level_medium;

        [global::ProtoBuf.ProtoMember(12)]
        public uint crowd_level_high
        {
            get => __pbn__crowd_level_high.GetValueOrDefault();
            set => __pbn__crowd_level_high = value;
        }
        public bool ShouldSerializecrowd_level_high() => __pbn__crowd_level_high != null;
        public void Resetcrowd_level_high() => __pbn__crowd_level_high = null;
        private uint? __pbn__crowd_level_high;

        [global::ProtoBuf.ProtoMember(13)]
        public float cheer_scale_start
        {
            get => __pbn__cheer_scale_start.GetValueOrDefault();
            set => __pbn__cheer_scale_start = value;
        }
        public bool ShouldSerializecheer_scale_start() => __pbn__cheer_scale_start != null;
        public void Resetcheer_scale_start() => __pbn__cheer_scale_start = null;
        private float? __pbn__cheer_scale_start;

        [global::ProtoBuf.ProtoMember(14)]
        public float cheer_scale_speed
        {
            get => __pbn__cheer_scale_speed.GetValueOrDefault();
            set => __pbn__cheer_scale_speed = value;
        }
        public bool ShouldSerializecheer_scale_speed() => __pbn__cheer_scale_speed != null;
        public void Resetcheer_scale_speed() => __pbn__cheer_scale_speed = null;
        private float? __pbn__cheer_scale_speed;

        [global::ProtoBuf.ProtoMember(15)]
        public uint cheer_scale_push_mark
        {
            get => __pbn__cheer_scale_push_mark.GetValueOrDefault();
            set => __pbn__cheer_scale_push_mark = value;
        }
        public bool ShouldSerializecheer_scale_push_mark() => __pbn__cheer_scale_push_mark != null;
        public void Resetcheer_scale_push_mark() => __pbn__cheer_scale_push_mark = null;
        private uint? __pbn__cheer_scale_push_mark;

        [global::ProtoBuf.ProtoMember(16)]
        public uint cheer_scale_pull_mark
        {
            get => __pbn__cheer_scale_pull_mark.GetValueOrDefault();
            set => __pbn__cheer_scale_pull_mark = value;
        }
        public bool ShouldSerializecheer_scale_pull_mark() => __pbn__cheer_scale_pull_mark != null;
        public void Resetcheer_scale_pull_mark() => __pbn__cheer_scale_pull_mark = null;
        private uint? __pbn__cheer_scale_pull_mark;

        [global::ProtoBuf.ProtoMember(17)]
        public float cheer_scale_pct_of_max_cps_clamp
        {
            get => __pbn__cheer_scale_pct_of_max_cps_clamp.GetValueOrDefault();
            set => __pbn__cheer_scale_pct_of_max_cps_clamp = value;
        }
        public bool ShouldSerializecheer_scale_pct_of_max_cps_clamp() => __pbn__cheer_scale_pct_of_max_cps_clamp != null;
        public void Resetcheer_scale_pct_of_max_cps_clamp() => __pbn__cheer_scale_pct_of_max_cps_clamp = null;
        private float? __pbn__cheer_scale_pct_of_max_cps_clamp;

        [global::ProtoBuf.ProtoMember(21)]
        public float cheer_scale_dampener_value
        {
            get => __pbn__cheer_scale_dampener_value.GetValueOrDefault();
            set => __pbn__cheer_scale_dampener_value = value;
        }
        public bool ShouldSerializecheer_scale_dampener_value() => __pbn__cheer_scale_dampener_value != null;
        public void Resetcheer_scale_dampener_value() => __pbn__cheer_scale_dampener_value = null;
        private float? __pbn__cheer_scale_dampener_value;

        [global::ProtoBuf.ProtoMember(22)]
        public uint cheer_scale_dampener_lerp_time
        {
            get => __pbn__cheer_scale_dampener_lerp_time.GetValueOrDefault();
            set => __pbn__cheer_scale_dampener_lerp_time = value;
        }
        public bool ShouldSerializecheer_scale_dampener_lerp_time() => __pbn__cheer_scale_dampener_lerp_time != null;
        public void Resetcheer_scale_dampener_lerp_time() => __pbn__cheer_scale_dampener_lerp_time = null;
        private uint? __pbn__cheer_scale_dampener_lerp_time;

        [global::ProtoBuf.ProtoMember(18)]
        public float cheer_factor_bronze
        {
            get => __pbn__cheer_factor_bronze.GetValueOrDefault();
            set => __pbn__cheer_factor_bronze = value;
        }
        public bool ShouldSerializecheer_factor_bronze() => __pbn__cheer_factor_bronze != null;
        public void Resetcheer_factor_bronze() => __pbn__cheer_factor_bronze = null;
        private float? __pbn__cheer_factor_bronze;

        [global::ProtoBuf.ProtoMember(19)]
        public float cheer_factor_silver
        {
            get => __pbn__cheer_factor_silver.GetValueOrDefault();
            set => __pbn__cheer_factor_silver = value;
        }
        public bool ShouldSerializecheer_factor_silver() => __pbn__cheer_factor_silver != null;
        public void Resetcheer_factor_silver() => __pbn__cheer_factor_silver = null;
        private float? __pbn__cheer_factor_silver;

        [global::ProtoBuf.ProtoMember(20)]
        public float cheer_factor_gold
        {
            get => __pbn__cheer_factor_gold.GetValueOrDefault();
            set => __pbn__cheer_factor_gold = value;
        }
        public bool ShouldSerializecheer_factor_gold() => __pbn__cheer_factor_gold != null;
        public void Resetcheer_factor_gold() => __pbn__cheer_factor_gold = null;
        private float? __pbn__cheer_factor_gold;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToServerCheerConfig : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public CMsgCheerConfig cheer_config { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCGetCheerConfig : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint league_id
        {
            get => __pbn__league_id.GetValueOrDefault();
            set => __pbn__league_id = value;
        }
        public bool ShouldSerializeleague_id() => __pbn__league_id != null;
        public void Resetleague_id() => __pbn__league_id = null;
        private uint? __pbn__league_id;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCGetCheerConfigResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(2)]
        public CMsgCheerConfig cheer_config { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToServerCheerScalesOverride : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<float> scales { get; } = new global::System.Collections.Generic.List<float>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgGCToServerGetCheerState : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCheerTypeState : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<uint> cheer_counts { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(2)]
        public float max_per_second
        {
            get => __pbn__max_per_second.GetValueOrDefault();
            set => __pbn__max_per_second = value;
        }
        public bool ShouldSerializemax_per_second() => __pbn__max_per_second != null;
        public void Resetmax_per_second() => __pbn__max_per_second = null;
        private float? __pbn__max_per_second;

        [global::ProtoBuf.ProtoMember(3)]
        public float cheer_scale
        {
            get => __pbn__cheer_scale.GetValueOrDefault();
            set => __pbn__cheer_scale = value;
        }
        public bool ShouldSerializecheer_scale() => __pbn__cheer_scale != null;
        public void Resetcheer_scale() => __pbn__cheer_scale = null;
        private float? __pbn__cheer_scale;

        [global::ProtoBuf.ProtoMember(4)]
        public float override_scale
        {
            get => __pbn__override_scale.GetValueOrDefault();
            set => __pbn__override_scale = value;
        }
        public bool ShouldSerializeoverride_scale() => __pbn__override_scale != null;
        public void Resetoverride_scale() => __pbn__override_scale = null;
        private float? __pbn__override_scale;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgCheerState : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<CMsgCheerTypeState> cheer_types { get; } = new global::System.Collections.Generic.List<CMsgCheerTypeState>();

        [global::ProtoBuf.ProtoMember(2)]
        public uint radiant_crowd_level
        {
            get => __pbn__radiant_crowd_level.GetValueOrDefault();
            set => __pbn__radiant_crowd_level = value;
        }
        public bool ShouldSerializeradiant_crowd_level() => __pbn__radiant_crowd_level != null;
        public void Resetradiant_crowd_level() => __pbn__radiant_crowd_level = null;
        private uint? __pbn__radiant_crowd_level;

        [global::ProtoBuf.ProtoMember(3)]
        public uint dire_crowd_level
        {
            get => __pbn__dire_crowd_level.GetValueOrDefault();
            set => __pbn__dire_crowd_level = value;
        }
        public bool ShouldSerializedire_crowd_level() => __pbn__dire_crowd_level != null;
        public void Resetdire_crowd_level() => __pbn__dire_crowd_level = null;
        private uint? __pbn__dire_crowd_level;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCReportCheerState : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public CMsgCheerConfig cheer_config { get; set; }

        [global::ProtoBuf.ProtoMember(2)]
        public CMsgCheerState cheer_state { get; set; }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCGetStickerHeroes : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<uint> account_ids { get; } = new global::System.Collections.Generic.List<uint>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCGetStickerHeroesResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<Player> players { get; } = new global::System.Collections.Generic.List<Player>();

        [global::ProtoBuf.ProtoContract()]
        public partial class Player : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public CMsgStickerHeroes stickers { get; set; }

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSteamLearnMatchInfo : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint average_mmr
        {
            get => __pbn__average_mmr.GetValueOrDefault();
            set => __pbn__average_mmr = value;
        }
        public bool ShouldSerializeaverage_mmr() => __pbn__average_mmr != null;
        public void Resetaverage_mmr() => __pbn__average_mmr = null;
        private uint? __pbn__average_mmr;

        [global::ProtoBuf.ProtoMember(2)]
        public bool radiant_won
        {
            get => __pbn__radiant_won.GetValueOrDefault();
            set => __pbn__radiant_won = value;
        }
        public bool ShouldSerializeradiant_won() => __pbn__radiant_won != null;
        public void Resetradiant_won() => __pbn__radiant_won = null;
        private bool? __pbn__radiant_won;

        [global::ProtoBuf.ProtoMember(3)]
        public uint duration
        {
            get => __pbn__duration.GetValueOrDefault();
            set => __pbn__duration = value;
        }
        public bool ShouldSerializeduration() => __pbn__duration != null;
        public void Resetduration() => __pbn__duration = null;
        private uint? __pbn__duration;

        [global::ProtoBuf.ProtoMember(4)]
        public uint game_mode
        {
            get => __pbn__game_mode.GetValueOrDefault();
            set => __pbn__game_mode = value;
        }
        public bool ShouldSerializegame_mode() => __pbn__game_mode != null;
        public void Resetgame_mode() => __pbn__game_mode = null;
        private uint? __pbn__game_mode;

        [global::ProtoBuf.ProtoMember(5)]
        public uint lobby_type
        {
            get => __pbn__lobby_type.GetValueOrDefault();
            set => __pbn__lobby_type = value;
        }
        public bool ShouldSerializelobby_type() => __pbn__lobby_type != null;
        public void Resetlobby_type() => __pbn__lobby_type = null;
        private uint? __pbn__lobby_type;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSteamLearnMatchInfoPlayer : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint average_mmr
        {
            get => __pbn__average_mmr.GetValueOrDefault();
            set => __pbn__average_mmr = value;
        }
        public bool ShouldSerializeaverage_mmr() => __pbn__average_mmr != null;
        public void Resetaverage_mmr() => __pbn__average_mmr = null;
        private uint? __pbn__average_mmr;

        [global::ProtoBuf.ProtoMember(2)]
        public bool team_won
        {
            get => __pbn__team_won.GetValueOrDefault();
            set => __pbn__team_won = value;
        }
        public bool ShouldSerializeteam_won() => __pbn__team_won != null;
        public void Resetteam_won() => __pbn__team_won = null;
        private bool? __pbn__team_won;

        [global::ProtoBuf.ProtoMember(3)]
        public uint duration
        {
            get => __pbn__duration.GetValueOrDefault();
            set => __pbn__duration = value;
        }
        public bool ShouldSerializeduration() => __pbn__duration != null;
        public void Resetduration() => __pbn__duration = null;
        private uint? __pbn__duration;

        [global::ProtoBuf.ProtoMember(4)]
        public uint game_mode
        {
            get => __pbn__game_mode.GetValueOrDefault();
            set => __pbn__game_mode = value;
        }
        public bool ShouldSerializegame_mode() => __pbn__game_mode != null;
        public void Resetgame_mode() => __pbn__game_mode = null;
        private uint? __pbn__game_mode;

        [global::ProtoBuf.ProtoMember(5)]
        public uint lobby_type
        {
            get => __pbn__lobby_type.GetValueOrDefault();
            set => __pbn__lobby_type = value;
        }
        public bool ShouldSerializelobby_type() => __pbn__lobby_type != null;
        public void Resetlobby_type() => __pbn__lobby_type = null;
        private uint? __pbn__lobby_type;

        [global::ProtoBuf.ProtoMember(6)]
        public uint player_mmr
        {
            get => __pbn__player_mmr.GetValueOrDefault();
            set => __pbn__player_mmr = value;
        }
        public bool ShouldSerializeplayer_mmr() => __pbn__player_mmr != null;
        public void Resetplayer_mmr() => __pbn__player_mmr = null;
        private uint? __pbn__player_mmr;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSteamLearnMatchHeroesV3 : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<int> radiant_hero_ids { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<int> dire_hero_ids { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<uint> radiant_lanes { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(4)]
        public global::System.Collections.Generic.List<uint> dire_lanes { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(5)]
        public global::System.Collections.Generic.List<uint> radiant_hero_facets { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(6)]
        public global::System.Collections.Generic.List<uint> dire_hero_facets { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(7)]
        public global::System.Collections.Generic.List<uint> radiant_positions { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(8)]
        public global::System.Collections.Generic.List<uint> dire_positions { get; } = new global::System.Collections.Generic.List<uint>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSteamLearnMatchHeroV3 : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public int hero_id
        {
            get => __pbn__hero_id.GetValueOrDefault();
            set => __pbn__hero_id = value;
        }
        public bool ShouldSerializehero_id() => __pbn__hero_id != null;
        public void Resethero_id() => __pbn__hero_id = null;
        private int? __pbn__hero_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint lane
        {
            get => __pbn__lane.GetValueOrDefault();
            set => __pbn__lane = value;
        }
        public bool ShouldSerializelane() => __pbn__lane != null;
        public void Resetlane() => __pbn__lane = null;
        private uint? __pbn__lane;

        [global::ProtoBuf.ProtoMember(8)]
        public uint position
        {
            get => __pbn__position.GetValueOrDefault();
            set => __pbn__position = value;
        }
        public bool ShouldSerializeposition() => __pbn__position != null;
        public void Resetposition() => __pbn__position = null;
        private uint? __pbn__position;

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<int> allied_hero_ids { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(4)]
        public global::System.Collections.Generic.List<int> enemy_hero_ids { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(5)]
        public uint hero_facet
        {
            get => __pbn__hero_facet.GetValueOrDefault();
            set => __pbn__hero_facet = value;
        }
        public bool ShouldSerializehero_facet() => __pbn__hero_facet != null;
        public void Resethero_facet() => __pbn__hero_facet = null;
        private uint? __pbn__hero_facet;

        [global::ProtoBuf.ProtoMember(6)]
        public global::System.Collections.Generic.List<uint> allied_hero_facets { get; } = new global::System.Collections.Generic.List<uint>();

        [global::ProtoBuf.ProtoMember(7)]
        public global::System.Collections.Generic.List<uint> enemy_herofacets { get; } = new global::System.Collections.Generic.List<uint>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSteamLearnPlayerTimedStats : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<StatBucket> stat_buckets { get; } = new global::System.Collections.Generic.List<StatBucket>();

        [global::ProtoBuf.ProtoContract()]
        public partial class StatBucket : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public float game_time
            {
                get => __pbn__game_time.GetValueOrDefault();
                set => __pbn__game_time = value;
            }
            public bool ShouldSerializegame_time() => __pbn__game_time != null;
            public void Resetgame_time() => __pbn__game_time = null;
            private float? __pbn__game_time;

            [global::ProtoBuf.ProtoMember(2)]
            public uint kills
            {
                get => __pbn__kills.GetValueOrDefault();
                set => __pbn__kills = value;
            }
            public bool ShouldSerializekills() => __pbn__kills != null;
            public void Resetkills() => __pbn__kills = null;
            private uint? __pbn__kills;

            [global::ProtoBuf.ProtoMember(3)]
            public uint deaths
            {
                get => __pbn__deaths.GetValueOrDefault();
                set => __pbn__deaths = value;
            }
            public bool ShouldSerializedeaths() => __pbn__deaths != null;
            public void Resetdeaths() => __pbn__deaths = null;
            private uint? __pbn__deaths;

            [global::ProtoBuf.ProtoMember(4)]
            public uint assists
            {
                get => __pbn__assists.GetValueOrDefault();
                set => __pbn__assists = value;
            }
            public bool ShouldSerializeassists() => __pbn__assists != null;
            public void Resetassists() => __pbn__assists = null;
            private uint? __pbn__assists;

            [global::ProtoBuf.ProtoMember(5)]
            public uint experience
            {
                get => __pbn__experience.GetValueOrDefault();
                set => __pbn__experience = value;
            }
            public bool ShouldSerializeexperience() => __pbn__experience != null;
            public void Resetexperience() => __pbn__experience = null;
            private uint? __pbn__experience;

            [global::ProtoBuf.ProtoMember(6)]
            public uint last_hits
            {
                get => __pbn__last_hits.GetValueOrDefault();
                set => __pbn__last_hits = value;
            }
            public bool ShouldSerializelast_hits() => __pbn__last_hits != null;
            public void Resetlast_hits() => __pbn__last_hits = null;
            private uint? __pbn__last_hits;

            [global::ProtoBuf.ProtoMember(7)]
            public uint denies
            {
                get => __pbn__denies.GetValueOrDefault();
                set => __pbn__denies = value;
            }
            public bool ShouldSerializedenies() => __pbn__denies != null;
            public void Resetdenies() => __pbn__denies = null;
            private uint? __pbn__denies;

            [global::ProtoBuf.ProtoMember(8)]
            public uint net_worth
            {
                get => __pbn__net_worth.GetValueOrDefault();
                set => __pbn__net_worth = value;
            }
            public bool ShouldSerializenet_worth() => __pbn__net_worth != null;
            public void Resetnet_worth() => __pbn__net_worth = null;
            private uint? __pbn__net_worth;

            [global::ProtoBuf.ProtoMember(9)]
            public float idle_time
            {
                get => __pbn__idle_time.GetValueOrDefault();
                set => __pbn__idle_time = value;
            }
            public bool ShouldSerializeidle_time() => __pbn__idle_time != null;
            public void Resetidle_time() => __pbn__idle_time = null;
            private float? __pbn__idle_time;

            [global::ProtoBuf.ProtoMember(10)]
            public uint commands_issued
            {
                get => __pbn__commands_issued.GetValueOrDefault();
                set => __pbn__commands_issued = value;
            }
            public bool ShouldSerializecommands_issued() => __pbn__commands_issued != null;
            public void Resetcommands_issued() => __pbn__commands_issued = null;
            private uint? __pbn__commands_issued;

            [global::ProtoBuf.ProtoMember(11)]
            public uint sentry_wards_placed
            {
                get => __pbn__sentry_wards_placed.GetValueOrDefault();
                set => __pbn__sentry_wards_placed = value;
            }
            public bool ShouldSerializesentry_wards_placed() => __pbn__sentry_wards_placed != null;
            public void Resetsentry_wards_placed() => __pbn__sentry_wards_placed = null;
            private uint? __pbn__sentry_wards_placed;

            [global::ProtoBuf.ProtoMember(12)]
            public uint observer_wards_placed
            {
                get => __pbn__observer_wards_placed.GetValueOrDefault();
                set => __pbn__observer_wards_placed = value;
            }
            public bool ShouldSerializeobserver_wards_placed() => __pbn__observer_wards_placed != null;
            public void Resetobserver_wards_placed() => __pbn__observer_wards_placed = null;
            private uint? __pbn__observer_wards_placed;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSteamLearnMatchStateV5 : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public float game_time
        {
            get => __pbn__game_time.GetValueOrDefault();
            set => __pbn__game_time = value;
        }
        public bool ShouldSerializegame_time() => __pbn__game_time != null;
        public void Resetgame_time() => __pbn__game_time = null;
        private float? __pbn__game_time;

        [global::ProtoBuf.ProtoMember(2)]
        public TeamState radiant_state { get; set; }

        [global::ProtoBuf.ProtoMember(3)]
        public TeamState dire_state { get; set; }

        [global::ProtoBuf.ProtoContract()]
        public partial class PlayerState : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public int hero_id
            {
                get => __pbn__hero_id.GetValueOrDefault();
                set => __pbn__hero_id = value;
            }
            public bool ShouldSerializehero_id() => __pbn__hero_id != null;
            public void Resethero_id() => __pbn__hero_id = null;
            private int? __pbn__hero_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint net_worth
            {
                get => __pbn__net_worth.GetValueOrDefault();
                set => __pbn__net_worth = value;
            }
            public bool ShouldSerializenet_worth() => __pbn__net_worth != null;
            public void Resetnet_worth() => __pbn__net_worth = null;
            private uint? __pbn__net_worth;

            [global::ProtoBuf.ProtoMember(3)]
            public uint level
            {
                get => __pbn__level.GetValueOrDefault();
                set => __pbn__level = value;
            }
            public bool ShouldSerializelevel() => __pbn__level != null;
            public void Resetlevel() => __pbn__level = null;
            private uint? __pbn__level;

            [global::ProtoBuf.ProtoMember(4)]
            public uint deaths
            {
                get => __pbn__deaths.GetValueOrDefault();
                set => __pbn__deaths = value;
            }
            public bool ShouldSerializedeaths() => __pbn__deaths != null;
            public void Resetdeaths() => __pbn__deaths = null;
            private uint? __pbn__deaths;

            [global::ProtoBuf.ProtoMember(5)]
            public uint respawn_time
            {
                get => __pbn__respawn_time.GetValueOrDefault();
                set => __pbn__respawn_time = value;
            }
            public bool ShouldSerializerespawn_time() => __pbn__respawn_time != null;
            public void Resetrespawn_time() => __pbn__respawn_time = null;
            private uint? __pbn__respawn_time;

            [global::ProtoBuf.ProtoMember(6)]
            public bool has_buyback
            {
                get => __pbn__has_buyback.GetValueOrDefault();
                set => __pbn__has_buyback = value;
            }
            public bool ShouldSerializehas_buyback() => __pbn__has_buyback != null;
            public void Resethas_buyback() => __pbn__has_buyback = null;
            private bool? __pbn__has_buyback;

            [global::ProtoBuf.ProtoMember(7)]
            public bool has_aegis
            {
                get => __pbn__has_aegis.GetValueOrDefault();
                set => __pbn__has_aegis = value;
            }
            public bool ShouldSerializehas_aegis() => __pbn__has_aegis != null;
            public void Resethas_aegis() => __pbn__has_aegis = null;
            private bool? __pbn__has_aegis;

            [global::ProtoBuf.ProtoMember(8)]
            public bool has_rapier
            {
                get => __pbn__has_rapier.GetValueOrDefault();
                set => __pbn__has_rapier = value;
            }
            public bool ShouldSerializehas_rapier() => __pbn__has_rapier != null;
            public void Resethas_rapier() => __pbn__has_rapier = null;
            private bool? __pbn__has_rapier;

            [global::ProtoBuf.ProtoMember(9)]
            public uint distance
            {
                get => __pbn__distance.GetValueOrDefault();
                set => __pbn__distance = value;
            }
            public bool ShouldSerializedistance() => __pbn__distance != null;
            public void Resetdistance() => __pbn__distance = null;
            private uint? __pbn__distance;

            [global::ProtoBuf.ProtoMember(10)]
            public uint hero_facet
            {
                get => __pbn__hero_facet.GetValueOrDefault();
                set => __pbn__hero_facet = value;
            }
            public bool ShouldSerializehero_facet() => __pbn__hero_facet != null;
            public void Resethero_facet() => __pbn__hero_facet = null;
            private uint? __pbn__hero_facet;

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class TeamState : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint team
            {
                get => __pbn__team.GetValueOrDefault();
                set => __pbn__team = value;
            }
            public bool ShouldSerializeteam() => __pbn__team != null;
            public void Resetteam() => __pbn__team = null;
            private uint? __pbn__team;

            [global::ProtoBuf.ProtoMember(2)]
            public global::System.Collections.Generic.List<CMsgSteamLearnMatchStateV5.PlayerState> player_states { get; } = new global::System.Collections.Generic.List<CMsgSteamLearnMatchStateV5.PlayerState>();

            [global::ProtoBuf.ProtoMember(3)]
            public global::System.Collections.Generic.List<uint> tower_health_pct { get; } = new global::System.Collections.Generic.List<uint>();

            [global::ProtoBuf.ProtoMember(4)]
            public global::System.Collections.Generic.List<uint> barracks_health_pct { get; } = new global::System.Collections.Generic.List<uint>();

            [global::ProtoBuf.ProtoMember(5)]
            public uint ancient_health_pct
            {
                get => __pbn__ancient_health_pct.GetValueOrDefault();
                set => __pbn__ancient_health_pct = value;
            }
            public bool ShouldSerializeancient_health_pct() => __pbn__ancient_health_pct != null;
            public void Resetancient_health_pct() => __pbn__ancient_health_pct = null;
            private uint? __pbn__ancient_health_pct;

            [global::ProtoBuf.ProtoMember(6)]
            public uint glyph_cooldown
            {
                get => __pbn__glyph_cooldown.GetValueOrDefault();
                set => __pbn__glyph_cooldown = value;
            }
            public bool ShouldSerializeglyph_cooldown() => __pbn__glyph_cooldown != null;
            public void Resetglyph_cooldown() => __pbn__glyph_cooldown = null;
            private uint? __pbn__glyph_cooldown;

            [global::ProtoBuf.ProtoMember(7)]
            public uint kills
            {
                get => __pbn__kills.GetValueOrDefault();
                set => __pbn__kills = value;
            }
            public bool ShouldSerializekills() => __pbn__kills != null;
            public void Resetkills() => __pbn__kills = null;
            private uint? __pbn__kills;

            [global::ProtoBuf.ProtoMember(8)]
            public uint creep_distance_safe
            {
                get => __pbn__creep_distance_safe.GetValueOrDefault();
                set => __pbn__creep_distance_safe = value;
            }
            public bool ShouldSerializecreep_distance_safe() => __pbn__creep_distance_safe != null;
            public void Resetcreep_distance_safe() => __pbn__creep_distance_safe = null;
            private uint? __pbn__creep_distance_safe;

            [global::ProtoBuf.ProtoMember(9)]
            public uint creep_distance_mid
            {
                get => __pbn__creep_distance_mid.GetValueOrDefault();
                set => __pbn__creep_distance_mid = value;
            }
            public bool ShouldSerializecreep_distance_mid() => __pbn__creep_distance_mid != null;
            public void Resetcreep_distance_mid() => __pbn__creep_distance_mid = null;
            private uint? __pbn__creep_distance_mid;

            [global::ProtoBuf.ProtoMember(10)]
            public uint creep_distance_off
            {
                get => __pbn__creep_distance_off.GetValueOrDefault();
                set => __pbn__creep_distance_off = value;
            }
            public bool ShouldSerializecreep_distance_off() => __pbn__creep_distance_off != null;
            public void Resetcreep_distance_off() => __pbn__creep_distance_off = null;
            private uint? __pbn__creep_distance_off;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSteamLearnItemPurchase : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(-1)]
        public int item_id
        {
            get => __pbn__item_id ?? -1;
            set => __pbn__item_id = value;
        }
        public bool ShouldSerializeitem_id() => __pbn__item_id != null;
        public void Resetitem_id() => __pbn__item_id = null;
        private int? __pbn__item_id;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<int> inventory_items { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<int> purchase_history { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(4)]
        public uint gold
        {
            get => __pbn__gold.GetValueOrDefault();
            set => __pbn__gold = value;
        }
        public bool ShouldSerializegold() => __pbn__gold != null;
        public void Resetgold() => __pbn__gold = null;
        private uint? __pbn__gold;

        [global::ProtoBuf.ProtoMember(5)]
        public uint net_worth
        {
            get => __pbn__net_worth.GetValueOrDefault();
            set => __pbn__net_worth = value;
        }
        public bool ShouldSerializenet_worth() => __pbn__net_worth != null;
        public void Resetnet_worth() => __pbn__net_worth = null;
        private uint? __pbn__net_worth;

        [global::ProtoBuf.ProtoMember(6)]
        public uint is_radiant_team
        {
            get => __pbn__is_radiant_team.GetValueOrDefault();
            set => __pbn__is_radiant_team = value;
        }
        public bool ShouldSerializeis_radiant_team() => __pbn__is_radiant_team != null;
        public void Resetis_radiant_team() => __pbn__is_radiant_team = null;
        private uint? __pbn__is_radiant_team;

        [global::ProtoBuf.ProtoMember(7)]
        public float game_time
        {
            get => __pbn__game_time.GetValueOrDefault();
            set => __pbn__game_time = value;
        }
        public bool ShouldSerializegame_time() => __pbn__game_time != null;
        public void Resetgame_time() => __pbn__game_time = null;
        private float? __pbn__game_time;

        [global::ProtoBuf.ProtoMember(8)]
        public bool is_using_dota_plus
        {
            get => __pbn__is_using_dota_plus.GetValueOrDefault();
            set => __pbn__is_using_dota_plus = value;
        }
        public bool ShouldSerializeis_using_dota_plus() => __pbn__is_using_dota_plus != null;
        public void Resetis_using_dota_plus() => __pbn__is_using_dota_plus = null;
        private bool? __pbn__is_using_dota_plus;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSteamLearnPreGameItemPurchases : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<int> item_ids { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(2)]
        public uint is_radiant_team
        {
            get => __pbn__is_radiant_team.GetValueOrDefault();
            set => __pbn__is_radiant_team = value;
        }
        public bool ShouldSerializeis_radiant_team() => __pbn__is_radiant_team != null;
        public void Resetis_radiant_team() => __pbn__is_radiant_team = null;
        private uint? __pbn__is_radiant_team;

        [global::ProtoBuf.ProtoMember(3)]
        public bool is_using_dota_plus
        {
            get => __pbn__is_using_dota_plus.GetValueOrDefault();
            set => __pbn__is_using_dota_plus = value;
        }
        public bool ShouldSerializeis_using_dota_plus() => __pbn__is_using_dota_plus != null;
        public void Resetis_using_dota_plus() => __pbn__is_using_dota_plus = null;
        private bool? __pbn__is_using_dota_plus;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSteamLearnNeutralItemPurchase : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(-1)]
        public int item_id
        {
            get => __pbn__item_id ?? -1;
            set => __pbn__item_id = value;
        }
        public bool ShouldSerializeitem_id() => __pbn__item_id != null;
        public void Resetitem_id() => __pbn__item_id = null;
        private int? __pbn__item_id;

        [global::ProtoBuf.ProtoMember(2)]
        public uint tier
        {
            get => __pbn__tier.GetValueOrDefault();
            set => __pbn__tier = value;
        }
        public bool ShouldSerializetier() => __pbn__tier != null;
        public void Resettier() => __pbn__tier = null;
        private uint? __pbn__tier;

        [global::ProtoBuf.ProtoMember(3)]
        public uint is_radiant_team
        {
            get => __pbn__is_radiant_team.GetValueOrDefault();
            set => __pbn__is_radiant_team = value;
        }
        public bool ShouldSerializeis_radiant_team() => __pbn__is_radiant_team != null;
        public void Resetis_radiant_team() => __pbn__is_radiant_team = null;
        private uint? __pbn__is_radiant_team;

        [global::ProtoBuf.ProtoMember(4)]
        public bool is_using_dota_plus
        {
            get => __pbn__is_using_dota_plus.GetValueOrDefault();
            set => __pbn__is_using_dota_plus = value;
        }
        public bool ShouldSerializeis_using_dota_plus() => __pbn__is_using_dota_plus != null;
        public void Resetis_using_dota_plus() => __pbn__is_using_dota_plus = null;
        private bool? __pbn__is_using_dota_plus;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSteamLearnAbilitySkill : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(-1)]
        public int ability_id
        {
            get => __pbn__ability_id ?? -1;
            set => __pbn__ability_id = value;
        }
        public bool ShouldSerializeability_id() => __pbn__ability_id != null;
        public void Resetability_id() => __pbn__ability_id = null;
        private int? __pbn__ability_id;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<int> skilled_abilities { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(3)]
        public float game_time
        {
            get => __pbn__game_time.GetValueOrDefault();
            set => __pbn__game_time = value;
        }
        public bool ShouldSerializegame_time() => __pbn__game_time != null;
        public void Resetgame_time() => __pbn__game_time = null;
        private float? __pbn__game_time;

        [global::ProtoBuf.ProtoMember(4)]
        public bool is_using_dota_plus
        {
            get => __pbn__is_using_dota_plus.GetValueOrDefault();
            set => __pbn__is_using_dota_plus = value;
        }
        public bool ShouldSerializeis_using_dota_plus() => __pbn__is_using_dota_plus != null;
        public void Resetis_using_dota_plus() => __pbn__is_using_dota_plus = null;
        private bool? __pbn__is_using_dota_plus;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSteamLearnEarlyGameItemPurchasesV2 : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<int> item_ids { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<int> other_item_ids { get; } = new global::System.Collections.Generic.List<int>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSteamLearnLateGameItemPurchasesV2 : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<int> item_ids { get; } = new global::System.Collections.Generic.List<int>();

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<int> other_item_ids { get; } = new global::System.Collections.Generic.List<int>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSteamLearnMainGameItemPurchases : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<int> item_ids { get; } = new global::System.Collections.Generic.List<int>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSteamLearnWardPlacement : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public Location ward_loc { get; set; }

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<Location> existing_ward_locs { get; } = new global::System.Collections.Generic.List<Location>();

        [global::ProtoBuf.ProtoMember(3)]
        public uint team
        {
            get => __pbn__team.GetValueOrDefault();
            set => __pbn__team = value;
        }
        public bool ShouldSerializeteam() => __pbn__team != null;
        public void Resetteam() => __pbn__team = null;
        private uint? __pbn__team;

        [global::ProtoBuf.ProtoContract()]
        public partial class Location : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public float x
            {
                get => __pbn__x.GetValueOrDefault();
                set => __pbn__x = value;
            }
            public bool ShouldSerializex() => __pbn__x != null;
            public void Resetx() => __pbn__x = null;
            private float? __pbn__x;

            [global::ProtoBuf.ProtoMember(2)]
            public float y
            {
                get => __pbn__y.GetValueOrDefault();
                set => __pbn__y = value;
            }
            public bool ShouldSerializey() => __pbn__y != null;
            public void Resety() => __pbn__y = null;
            private float? __pbn__y;

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutMuertaMinigame : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public byte[] event_game_data
        {
            get => __pbn__event_game_data;
            set => __pbn__event_game_data = value;
        }
        public bool ShouldSerializeevent_game_data() => __pbn__event_game_data != null;
        public void Resetevent_game_data() => __pbn__event_game_data = null;
        private byte[] __pbn__event_game_data;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutMapStats : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<Player> players { get; } = new global::System.Collections.Generic.List<Player>();

        [global::ProtoBuf.ProtoMember(2)]
        public CMsgMapStatsSnapshot global_stats { get; set; }

        [global::ProtoBuf.ProtoContract()]
        public partial class Player : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public CMsgMapStatsSnapshot personal_stats { get; set; }

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCNewBloomGift : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public uint defindex
        {
            get => __pbn__defindex.GetValueOrDefault();
            set => __pbn__defindex = value;
        }
        public bool ShouldSerializedefindex() => __pbn__defindex != null;
        public void Resetdefindex() => __pbn__defindex = null;
        private uint? __pbn__defindex;

        [global::ProtoBuf.ProtoMember(2)]
        public uint gifter_account_id
        {
            get => __pbn__gifter_account_id.GetValueOrDefault();
            set => __pbn__gifter_account_id = value;
        }
        public bool ShouldSerializegifter_account_id() => __pbn__gifter_account_id != null;
        public void Resetgifter_account_id() => __pbn__gifter_account_id = null;
        private uint? __pbn__gifter_account_id;

        [global::ProtoBuf.ProtoMember(3)]
        public global::System.Collections.Generic.List<uint> target_account_ids { get; } = new global::System.Collections.Generic.List<uint>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgServerToGCNewBloomGiftResponse : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        [global::System.ComponentModel.DefaultValue(ENewBloomGiftingResponse.kENewBloomGifting_UnknownFailure)]
        public ENewBloomGiftingResponse result
        {
            get => __pbn__result ?? ENewBloomGiftingResponse.kENewBloomGifting_UnknownFailure;
            set => __pbn__result = value;
        }
        public bool ShouldSerializeresult() => __pbn__result != null;
        public void Resetresult() => __pbn__result = null;
        private ENewBloomGiftingResponse? __pbn__result;

        [global::ProtoBuf.ProtoMember(2)]
        public global::System.Collections.Generic.List<uint> received_account_ids { get; } = new global::System.Collections.Generic.List<uint>();

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CMsgSignOutOverworld : global::ProtoBuf.IExtensible
    {
        private global::ProtoBuf.IExtension __pbn__extensionData;
        global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
            => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

        [global::ProtoBuf.ProtoMember(1)]
        public global::System.Collections.Generic.List<Player> players { get; } = new global::System.Collections.Generic.List<Player>();

        [global::ProtoBuf.ProtoMember(2)]
        [global::System.ComponentModel.DefaultValue(EEvent.EVENT_ID_NONE)]
        public EEvent event_id
        {
            get => __pbn__event_id ?? EEvent.EVENT_ID_NONE;
            set => __pbn__event_id = value;
        }
        public bool ShouldSerializeevent_id() => __pbn__event_id != null;
        public void Resetevent_id() => __pbn__event_id = null;
        private EEvent? __pbn__event_id;

        [global::ProtoBuf.ProtoContract()]
        public partial class Player : global::ProtoBuf.IExtensible
        {
            private global::ProtoBuf.IExtension __pbn__extensionData;
            global::ProtoBuf.IExtension global::ProtoBuf.IExtensible.GetExtensionObject(bool createIfMissing)
                => global::ProtoBuf.Extensible.GetExtensionObject(ref __pbn__extensionData, createIfMissing);

            [global::ProtoBuf.ProtoMember(1)]
            public uint account_id
            {
                get => __pbn__account_id.GetValueOrDefault();
                set => __pbn__account_id = value;
            }
            public bool ShouldSerializeaccount_id() => __pbn__account_id != null;
            public void Resetaccount_id() => __pbn__account_id = null;
            private uint? __pbn__account_id;

            [global::ProtoBuf.ProtoMember(2)]
            public uint overworld_id
            {
                get => __pbn__overworld_id.GetValueOrDefault();
                set => __pbn__overworld_id = value;
            }
            public bool ShouldSerializeoverworld_id() => __pbn__overworld_id != null;
            public void Resetoverworld_id() => __pbn__overworld_id = null;
            private uint? __pbn__overworld_id;

            [global::ProtoBuf.ProtoMember(3)]
            public global::System.Collections.Generic.List<uint> desired_token_rewards { get; } = new global::System.Collections.Generic.List<uint>();

        }

    }

    [global::ProtoBuf.ProtoContract()]
    public enum EPoorNetworkConditionsType
    {
        k_EPoorNetworkConditions_None = 0,
        k_EPoorNetworkConditions_Unknown = 1,
        k_EPoorNetworkConditions_MassDisconnect = 2,
        k_EPoorNetworkConditions_ExcessBadQosIntervals = 3,
    }

}

#pragma warning restore CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192
#endregion
