// <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_match_metadata.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 CDOTAMatchMetadataFile : 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 int version { get; set; }

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

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

        [global::ProtoBuf.ProtoMember(5)]
        public byte[] private_metadata
        {
            get => __pbn__private_metadata;
            set => __pbn__private_metadata = value;
        }
        public bool ShouldSerializeprivate_metadata() => __pbn__private_metadata != null;
        public void Resetprivate_metadata() => __pbn__private_metadata = null;
        private byte[] __pbn__private_metadata;

    }

    [global::ProtoBuf.ProtoContract()]
    public partial class CDOTAMatchMetadata : 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<Team> teams { get; } = new global::System.Collections.Generic.List<Team>();

        [global::ProtoBuf.ProtoMember(3, 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(4, DataFormat = global::ProtoBuf.DataFormat.FixedSize)]
        public ulong report_until_time
        {
            get => __pbn__report_until_time.GetValueOrDefault();
            set => __pbn__report_until_time = value;
        }
        public bool ShouldSerializereport_until_time() => __pbn__report_until_time != null;
        public void Resetreport_until_time() => __pbn__report_until_time = null;
        private ulong? __pbn__report_until_time;

        [global::ProtoBuf.ProtoMember(5)]
        public byte[] event_game_custom_table
        {
            get => __pbn__event_game_custom_table;
            set => __pbn__event_game_custom_table = value;
        }
        public bool ShouldSerializeevent_game_custom_table() => __pbn__event_game_custom_table != null;
        public void Resetevent_game_custom_table() => __pbn__event_game_custom_table = null;
        private byte[] __pbn__event_game_custom_table;

        [global::ProtoBuf.ProtoMember(6)]
        public uint primary_event_id
        {
            get => __pbn__primary_event_id.GetValueOrDefault();
            set => __pbn__primary_event_id = value;
        }
        public bool ShouldSerializeprimary_event_id() => __pbn__primary_event_id != null;
        public void Resetprimary_event_id() => __pbn__primary_event_id = null;
        private uint? __pbn__primary_event_id;

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

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

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

        [global::ProtoBuf.ProtoMember(11)]
        public byte[] custom_post_game_table
        {
            get => __pbn__custom_post_game_table;
            set => __pbn__custom_post_game_table = value;
        }
        public bool ShouldSerializecustom_post_game_table() => __pbn__custom_post_game_table != null;
        public void Resetcustom_post_game_table() => __pbn__custom_post_game_table = null;
        private byte[] __pbn__custom_post_game_table;

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

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

        [global::ProtoBuf.ProtoContract()]
        public partial class EconItem : 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 def_index
            {
                get => __pbn__def_index.GetValueOrDefault();
                set => __pbn__def_index = value;
            }
            public bool ShouldSerializedef_index() => __pbn__def_index != null;
            public void Resetdef_index() => __pbn__def_index = null;
            private uint? __pbn__def_index;

            [global::ProtoBuf.ProtoMember(2)]
            [global::System.ComponentModel.DefaultValue(4u)]
            public uint quality
            {
                get => __pbn__quality ?? 4u;
                set => __pbn__quality = value;
            }
            public bool ShouldSerializequality() => __pbn__quality != null;
            public void Resetquality() => __pbn__quality = null;
            private uint? __pbn__quality;

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

            [global::ProtoBuf.ProtoMember(4)]
            [global::System.ComponentModel.DefaultValue(0u)]
            public uint style
            {
                get => __pbn__style ?? 0u;
                set => __pbn__style = value;
            }
            public bool ShouldSerializestyle() => __pbn__style != null;
            public void Resetstyle() => __pbn__style = null;
            private uint? __pbn__style;

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

        }

        [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 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 global::System.Collections.Generic.List<Player> players { get; } = new global::System.Collections.Generic.List<Player>();

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

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

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

            [global::ProtoBuf.ProtoMember(6)]
            public bool cm_first_pick
            {
                get => __pbn__cm_first_pick.GetValueOrDefault();
                set => __pbn__cm_first_pick = value;
            }
            public bool ShouldSerializecm_first_pick() => __pbn__cm_first_pick != null;
            public void Resetcm_first_pick() => __pbn__cm_first_pick = null;
            private bool? __pbn__cm_first_pick;

            [global::ProtoBuf.ProtoMember(7)]
            [global::System.ComponentModel.DefaultValue(-1)]
            public int cm_captain_player_id
            {
                get => __pbn__cm_captain_player_id ?? -1;
                set => __pbn__cm_captain_player_id = value;
            }
            public bool ShouldSerializecm_captain_player_id() => __pbn__cm_captain_player_id != null;
            public void Resetcm_captain_player_id() => __pbn__cm_captain_player_id = null;
            private int? __pbn__cm_captain_player_id;

            [global::ProtoBuf.ProtoMember(10)]
            public uint cm_penalty
            {
                get => __pbn__cm_penalty.GetValueOrDefault();
                set => __pbn__cm_penalty = value;
            }
            public bool ShouldSerializecm_penalty() => __pbn__cm_penalty != null;
            public void Resetcm_penalty() => __pbn__cm_penalty = null;
            private uint? __pbn__cm_penalty;

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

            [global::ProtoBuf.ProtoContract()]
            public partial class PlayerKill : 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 victim_slot
                {
                    get => __pbn__victim_slot.GetValueOrDefault();
                    set => __pbn__victim_slot = value;
                }
                public bool ShouldSerializevictim_slot() => __pbn__victim_slot != null;
                public void Resetvictim_slot() => __pbn__victim_slot = null;
                private uint? __pbn__victim_slot;

                [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 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_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 int purchase_time
                {
                    get => __pbn__purchase_time.GetValueOrDefault();
                    set => __pbn__purchase_time = value;
                }
                public bool ShouldSerializepurchase_time() => __pbn__purchase_time != null;
                public void Resetpurchase_time() => __pbn__purchase_time = null;
                private int? __pbn__purchase_time;

            }

            [global::ProtoBuf.ProtoContract()]
            public partial class InventorySnapshot : 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_id { get; } = new global::System.Collections.Generic.List<int>();

                [global::ProtoBuf.ProtoMember(2)]
                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(3)]
                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(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 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(6)]
                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(7)]
                public global::System.Collections.Generic.List<int> backpack_item_id { get; } = new global::System.Collections.Generic.List<int>();

                [global::ProtoBuf.ProtoMember(8)]
                [global::System.ComponentModel.DefaultValue(-1)]
                public int neutral_item_id
                {
                    get => __pbn__neutral_item_id ?? -1;
                    set => __pbn__neutral_item_id = value;
                }
                public bool ShouldSerializeneutral_item_id() => __pbn__neutral_item_id != null;
                public void Resetneutral_item_id() => __pbn__neutral_item_id = null;
                private int? __pbn__neutral_item_id;

            }

            [global::ProtoBuf.ProtoContract()]
            public partial class AutoStyleCriteria : 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 name_token
                {
                    get => __pbn__name_token.GetValueOrDefault();
                    set => __pbn__name_token = value;
                }
                public bool ShouldSerializename_token() => __pbn__name_token != null;
                public void Resetname_token() => __pbn__name_token = null;
                private uint? __pbn__name_token;

                [global::ProtoBuf.ProtoMember(2)]
                public float value
                {
                    get => __pbn__value.GetValueOrDefault();
                    set => __pbn__value = value;
                }
                public bool ShouldSerializevalue() => __pbn__value != null;
                public void Resetvalue() => __pbn__value = null;
                private float? __pbn__value;

            }

            [global::ProtoBuf.ProtoContract()]
            public partial class StrangeGemProgress : 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 kill_eater_type
                {
                    get => __pbn__kill_eater_type.GetValueOrDefault();
                    set => __pbn__kill_eater_type = value;
                }
                public bool ShouldSerializekill_eater_type() => __pbn__kill_eater_type != null;
                public void Resetkill_eater_type() => __pbn__kill_eater_type = null;
                private uint? __pbn__kill_eater_type;

                [global::ProtoBuf.ProtoMember(2)]
                public uint gem_item_def_index
                {
                    get => __pbn__gem_item_def_index.GetValueOrDefault();
                    set => __pbn__gem_item_def_index = value;
                }
                public bool ShouldSerializegem_item_def_index() => __pbn__gem_item_def_index != null;
                public void Resetgem_item_def_index() => __pbn__gem_item_def_index = null;
                private uint? __pbn__gem_item_def_index;

                [global::ProtoBuf.ProtoMember(3)]
                public int required_hero_id
                {
                    get => __pbn__required_hero_id.GetValueOrDefault();
                    set => __pbn__required_hero_id = value;
                }
                public bool ShouldSerializerequired_hero_id() => __pbn__required_hero_id != null;
                public void Resetrequired_hero_id() => __pbn__required_hero_id = null;
                private int? __pbn__required_hero_id;

                [global::ProtoBuf.ProtoMember(4)]
                public uint starting_value
                {
                    get => __pbn__starting_value.GetValueOrDefault();
                    set => __pbn__starting_value = value;
                }
                public bool ShouldSerializestarting_value() => __pbn__starting_value != null;
                public void Resetstarting_value() => __pbn__starting_value = null;
                private uint? __pbn__starting_value;

                [global::ProtoBuf.ProtoMember(5)]
                public uint ending_value
                {
                    get => __pbn__ending_value.GetValueOrDefault();
                    set => __pbn__ending_value = value;
                }
                public bool ShouldSerializeending_value() => __pbn__ending_value != null;
                public void Resetending_value() => __pbn__ending_value = null;
                private uint? __pbn__ending_value;

                [global::ProtoBuf.ProtoMember(6)]
                public uint owner_item_def_index
                {
                    get => __pbn__owner_item_def_index.GetValueOrDefault();
                    set => __pbn__owner_item_def_index = value;
                }
                public bool ShouldSerializeowner_item_def_index() => __pbn__owner_item_def_index != null;
                public void Resetowner_item_def_index() => __pbn__owner_item_def_index = null;
                private uint? __pbn__owner_item_def_index;

                [global::ProtoBuf.ProtoMember(7)]
                public ulong owner_item_id
                {
                    get => __pbn__owner_item_id.GetValueOrDefault();
                    set => __pbn__owner_item_id = value;
                }
                public bool ShouldSerializeowner_item_id() => __pbn__owner_item_id != null;
                public void Resetowner_item_id() => __pbn__owner_item_id = null;
                private ulong? __pbn__owner_item_id;

            }

            [global::ProtoBuf.ProtoContract()]
            public partial class VictoryPrediction : 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_index
                {
                    get => __pbn__item_def_index.GetValueOrDefault();
                    set => __pbn__item_def_index = value;
                }
                public bool ShouldSerializeitem_def_index() => __pbn__item_def_index != null;
                public void Resetitem_def_index() => __pbn__item_def_index = null;
                private uint? __pbn__item_def_index;

                [global::ProtoBuf.ProtoMember(3)]
                public uint starting_value
                {
                    get => __pbn__starting_value.GetValueOrDefault();
                    set => __pbn__starting_value = value;
                }
                public bool ShouldSerializestarting_value() => __pbn__starting_value != null;
                public void Resetstarting_value() => __pbn__starting_value = null;
                private uint? __pbn__starting_value;

                [global::ProtoBuf.ProtoMember(4)]
                public bool is_victory
                {
                    get => __pbn__is_victory.GetValueOrDefault();
                    set => __pbn__is_victory = value;
                }
                public bool ShouldSerializeis_victory() => __pbn__is_victory != null;
                public void Resetis_victory() => __pbn__is_victory = null;
                private bool? __pbn__is_victory;

            }

            [global::ProtoBuf.ProtoContract()]
            public partial class SubChallenge : 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 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(2)]
                public uint start_value
                {
                    get => __pbn__start_value.GetValueOrDefault();
                    set => __pbn__start_value = value;
                }
                public bool ShouldSerializestart_value() => __pbn__start_value != null;
                public void Resetstart_value() => __pbn__start_value = null;
                private uint? __pbn__start_value;

                [global::ProtoBuf.ProtoMember(3)]
                public uint end_value
                {
                    get => __pbn__end_value.GetValueOrDefault();
                    set => __pbn__end_value = value;
                }
                public bool ShouldSerializeend_value() => __pbn__end_value != null;
                public void Resetend_value() => __pbn__end_value = null;
                private uint? __pbn__end_value;

                [global::ProtoBuf.ProtoMember(4)]
                public bool completed
                {
                    get => __pbn__completed.GetValueOrDefault();
                    set => __pbn__completed = value;
                }
                public bool ShouldSerializecompleted() => __pbn__completed != null;
                public void Resetcompleted() => __pbn__completed = null;
                private bool? __pbn__completed;

            }

            [global::ProtoBuf.ProtoContract()]
            public partial class CavernChallengeResult : 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 completed_path_id
                {
                    get => __pbn__completed_path_id ?? 255u;
                    set => __pbn__completed_path_id = value;
                }
                public bool ShouldSerializecompleted_path_id() => __pbn__completed_path_id != null;
                public void Resetcompleted_path_id() => __pbn__completed_path_id = null;
                private uint? __pbn__completed_path_id;

                [global::ProtoBuf.ProtoMember(2)]
                [global::System.ComponentModel.DefaultValue(255u)]
                public uint claimed_room_id
                {
                    get => __pbn__claimed_room_id ?? 255u;
                    set => __pbn__claimed_room_id = value;
                }
                public bool ShouldSerializeclaimed_room_id() => __pbn__claimed_room_id != null;
                public void Resetclaimed_room_id() => __pbn__claimed_room_id = null;
                private uint? __pbn__claimed_room_id;

            }

            [global::ProtoBuf.ProtoContract()]
            public partial class ActionGrant : 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 action_id
                {
                    get => __pbn__action_id.GetValueOrDefault();
                    set => __pbn__action_id = value;
                }
                public bool ShouldSerializeaction_id() => __pbn__action_id != null;
                public void Resetaction_id() => __pbn__action_id = null;
                private uint? __pbn__action_id;

                [global::ProtoBuf.ProtoMember(2)]
                public uint quantity
                {
                    get => __pbn__quantity.GetValueOrDefault();
                    set => __pbn__quantity = value;
                }
                public bool ShouldSerializequantity() => __pbn__quantity != null;
                public void Resetquantity() => __pbn__quantity = null;
                private uint? __pbn__quantity;

                [global::ProtoBuf.ProtoMember(3)]
                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.ProtoMember(5)]
                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.ProtoContract()]
            public partial class CandyGrant : 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 points
                {
                    get => __pbn__points.GetValueOrDefault();
                    set => __pbn__points = value;
                }
                public bool ShouldSerializepoints() => __pbn__points != null;
                public void Resetpoints() => __pbn__points = null;
                private uint? __pbn__points;

                [global::ProtoBuf.ProtoMember(2)]
                public uint reason
                {
                    get => __pbn__reason.GetValueOrDefault();
                    set => __pbn__reason = value;
                }
                public bool ShouldSerializereason() => __pbn__reason != null;
                public void Resetreason() => __pbn__reason = null;
                private uint? __pbn__reason;

            }

            [global::ProtoBuf.ProtoContract()]
            public partial class PeriodicResourceData : 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 periodic_resource_id
                {
                    get => __pbn__periodic_resource_id.GetValueOrDefault();
                    set => __pbn__periodic_resource_id = value;
                }
                public bool ShouldSerializeperiodic_resource_id() => __pbn__periodic_resource_id != null;
                public void Resetperiodic_resource_id() => __pbn__periodic_resource_id = null;
                private uint? __pbn__periodic_resource_id;

                [global::ProtoBuf.ProtoMember(2)]
                public uint remaining
                {
                    get => __pbn__remaining.GetValueOrDefault();
                    set => __pbn__remaining = value;
                }
                public bool ShouldSerializeremaining() => __pbn__remaining != null;
                public void Resetremaining() => __pbn__remaining = null;
                private uint? __pbn__remaining;

                [global::ProtoBuf.ProtoMember(3)]
                public uint max
                {
                    get => __pbn__max.GetValueOrDefault();
                    set => __pbn__max = value;
                }
                public bool ShouldSerializemax() => __pbn__max != null;
                public void Resetmax() => __pbn__max = null;
                private uint? __pbn__max;

            }

            [global::ProtoBuf.ProtoContract()]
            public partial class EventData : 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 event_points
                {
                    get => __pbn__event_points.GetValueOrDefault();
                    set => __pbn__event_points = value;
                }
                public bool ShouldSerializeevent_points() => __pbn__event_points != null;
                public void Resetevent_points() => __pbn__event_points = null;
                private uint? __pbn__event_points;

                [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_quest_id
                {
                    get => __pbn__challenge_quest_id.GetValueOrDefault();
                    set => __pbn__challenge_quest_id = value;
                }
                public bool ShouldSerializechallenge_quest_id() => __pbn__challenge_quest_id != null;
                public void Resetchallenge_quest_id() => __pbn__challenge_quest_id = null;
                private uint? __pbn__challenge_quest_id;

                [global::ProtoBuf.ProtoMember(5)]
                public uint challenge_quest_challenge_id
                {
                    get => __pbn__challenge_quest_challenge_id.GetValueOrDefault();
                    set => __pbn__challenge_quest_challenge_id = value;
                }
                public bool ShouldSerializechallenge_quest_challenge_id() => __pbn__challenge_quest_challenge_id != null;
                public void Resetchallenge_quest_challenge_id() => __pbn__challenge_quest_challenge_id = null;
                private uint? __pbn__challenge_quest_challenge_id;

                [global::ProtoBuf.ProtoMember(6)]
                public bool challenge_completed
                {
                    get => __pbn__challenge_completed.GetValueOrDefault();
                    set => __pbn__challenge_completed = value;
                }
                public bool ShouldSerializechallenge_completed() => __pbn__challenge_completed != null;
                public void Resetchallenge_completed() => __pbn__challenge_completed = null;
                private bool? __pbn__challenge_completed;

                [global::ProtoBuf.ProtoMember(7)]
                public uint challenge_rank_completed
                {
                    get => __pbn__challenge_rank_completed.GetValueOrDefault();
                    set => __pbn__challenge_rank_completed = value;
                }
                public bool ShouldSerializechallenge_rank_completed() => __pbn__challenge_rank_completed != null;
                public void Resetchallenge_rank_completed() => __pbn__challenge_rank_completed = null;
                private uint? __pbn__challenge_rank_completed;

                [global::ProtoBuf.ProtoMember(8)]
                public uint challenge_rank_previously_completed
                {
                    get => __pbn__challenge_rank_previously_completed.GetValueOrDefault();
                    set => __pbn__challenge_rank_previously_completed = value;
                }
                public bool ShouldSerializechallenge_rank_previously_completed() => __pbn__challenge_rank_previously_completed != null;
                public void Resetchallenge_rank_previously_completed() => __pbn__challenge_rank_previously_completed = null;
                private uint? __pbn__challenge_rank_previously_completed;

                [global::ProtoBuf.ProtoMember(9)]
                public bool event_owned
                {
                    get => __pbn__event_owned.GetValueOrDefault();
                    set => __pbn__event_owned = value;
                }
                public bool ShouldSerializeevent_owned() => __pbn__event_owned != null;
                public void Resetevent_owned() => __pbn__event_owned = null;
                private bool? __pbn__event_owned;

                [global::ProtoBuf.ProtoMember(10)]
                public global::System.Collections.Generic.List<CDOTAMatchMetadata.Team.SubChallenge> sub_challenges_with_progress { get; } = new global::System.Collections.Generic.List<CDOTAMatchMetadata.Team.SubChallenge>();

                [global::ProtoBuf.ProtoMember(11)]
                public uint wager_winnings
                {
                    get => __pbn__wager_winnings.GetValueOrDefault();
                    set => __pbn__wager_winnings = value;
                }
                public bool ShouldSerializewager_winnings() => __pbn__wager_winnings != null;
                public void Resetwager_winnings() => __pbn__wager_winnings = null;
                private uint? __pbn__wager_winnings;

                [global::ProtoBuf.ProtoMember(12)]
                public bool cavern_challenge_active
                {
                    get => __pbn__cavern_challenge_active.GetValueOrDefault();
                    set => __pbn__cavern_challenge_active = value;
                }
                public bool ShouldSerializecavern_challenge_active() => __pbn__cavern_challenge_active != null;
                public void Resetcavern_challenge_active() => __pbn__cavern_challenge_active = null;
                private bool? __pbn__cavern_challenge_active;

                [global::ProtoBuf.ProtoMember(13)]
                public uint cavern_challenge_winnings
                {
                    get => __pbn__cavern_challenge_winnings.GetValueOrDefault();
                    set => __pbn__cavern_challenge_winnings = value;
                }
                public bool ShouldSerializecavern_challenge_winnings() => __pbn__cavern_challenge_winnings != null;
                public void Resetcavern_challenge_winnings() => __pbn__cavern_challenge_winnings = null;
                private uint? __pbn__cavern_challenge_winnings;

                [global::ProtoBuf.ProtoMember(14)]
                public uint amount_wagered
                {
                    get => __pbn__amount_wagered.GetValueOrDefault();
                    set => __pbn__amount_wagered = value;
                }
                public bool ShouldSerializeamount_wagered() => __pbn__amount_wagered != null;
                public void Resetamount_wagered() => __pbn__amount_wagered = null;
                private uint? __pbn__amount_wagered;

                [global::ProtoBuf.ProtoMember(16)]
                public uint periodic_point_adjustments
                {
                    get => __pbn__periodic_point_adjustments.GetValueOrDefault();
                    set => __pbn__periodic_point_adjustments = value;
                }
                public bool ShouldSerializeperiodic_point_adjustments() => __pbn__periodic_point_adjustments != null;
                public void Resetperiodic_point_adjustments() => __pbn__periodic_point_adjustments = null;
                private uint? __pbn__periodic_point_adjustments;

                [global::ProtoBuf.ProtoMember(17)]
                public global::System.Collections.Generic.List<CDOTAMatchMetadata.Team.CavernChallengeResult> cavern_challenge_map_results { get; } = new global::System.Collections.Generic.List<CDOTAMatchMetadata.Team.CavernChallengeResult>();

                [global::ProtoBuf.ProtoMember(18)]
                public uint cavern_challenge_plus_shard_winnings
                {
                    get => __pbn__cavern_challenge_plus_shard_winnings.GetValueOrDefault();
                    set => __pbn__cavern_challenge_plus_shard_winnings = value;
                }
                public bool ShouldSerializecavern_challenge_plus_shard_winnings() => __pbn__cavern_challenge_plus_shard_winnings != null;
                public void Resetcavern_challenge_plus_shard_winnings() => __pbn__cavern_challenge_plus_shard_winnings = null;
                private uint? __pbn__cavern_challenge_plus_shard_winnings;

                [global::ProtoBuf.ProtoMember(19)]
                public global::System.Collections.Generic.List<CDOTAMatchMetadata.Team.ActionGrant> actions_granted { get; } = new global::System.Collections.Generic.List<CDOTAMatchMetadata.Team.ActionGrant>();

                [global::ProtoBuf.ProtoMember(20)]
                [global::System.ComponentModel.DefaultValue(255u)]
                public uint cavern_crawl_map_variant
                {
                    get => __pbn__cavern_crawl_map_variant ?? 255u;
                    set => __pbn__cavern_crawl_map_variant = value;
                }
                public bool ShouldSerializecavern_crawl_map_variant() => __pbn__cavern_crawl_map_variant != null;
                public void Resetcavern_crawl_map_variant() => __pbn__cavern_crawl_map_variant = null;
                private uint? __pbn__cavern_crawl_map_variant;

                [global::ProtoBuf.ProtoMember(21)]
                public uint team_wager_bonus_pct
                {
                    get => __pbn__team_wager_bonus_pct.GetValueOrDefault();
                    set => __pbn__team_wager_bonus_pct = value;
                }
                public bool ShouldSerializeteam_wager_bonus_pct() => __pbn__team_wager_bonus_pct != null;
                public void Resetteam_wager_bonus_pct() => __pbn__team_wager_bonus_pct = null;
                private uint? __pbn__team_wager_bonus_pct;

                [global::ProtoBuf.ProtoMember(22)]
                public uint wager_streak_pct
                {
                    get => __pbn__wager_streak_pct.GetValueOrDefault();
                    set => __pbn__wager_streak_pct = value;
                }
                public bool ShouldSerializewager_streak_pct() => __pbn__wager_streak_pct != null;
                public void Resetwager_streak_pct() => __pbn__wager_streak_pct = null;
                private uint? __pbn__wager_streak_pct;

                [global::ProtoBuf.ProtoMember(23)]
                public global::System.Collections.Generic.List<CDOTAMatchMetadata.Team.CandyGrant> candy_points_granted { get; } = new global::System.Collections.Generic.List<CDOTAMatchMetadata.Team.CandyGrant>();

                [global::ProtoBuf.ProtoMember(24)]
                public uint active_season_id
                {
                    get => __pbn__active_season_id.GetValueOrDefault();
                    set => __pbn__active_season_id = value;
                }
                public bool ShouldSerializeactive_season_id() => __pbn__active_season_id != null;
                public void Resetactive_season_id() => __pbn__active_season_id = null;
                private uint? __pbn__active_season_id;

                [global::ProtoBuf.ProtoMember(25)]
                public bool cavern_crawl_half_credit
                {
                    get => __pbn__cavern_crawl_half_credit.GetValueOrDefault();
                    set => __pbn__cavern_crawl_half_credit = value;
                }
                public bool ShouldSerializecavern_crawl_half_credit() => __pbn__cavern_crawl_half_credit != null;
                public void Resetcavern_crawl_half_credit() => __pbn__cavern_crawl_half_credit = null;
                private bool? __pbn__cavern_crawl_half_credit;

                [global::ProtoBuf.ProtoMember(26)]
                public global::System.Collections.Generic.List<CDOTAMatchMetadata.Team.PeriodicResourceData> periodic_resources { get; } = new global::System.Collections.Generic.List<CDOTAMatchMetadata.Team.PeriodicResourceData>();

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

            }

            [global::ProtoBuf.ProtoContract()]
            public partial class FeaturedGamemodeProgress : 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 start_value
                {
                    get => __pbn__start_value.GetValueOrDefault();
                    set => __pbn__start_value = value;
                }
                public bool ShouldSerializestart_value() => __pbn__start_value != null;
                public void Resetstart_value() => __pbn__start_value = null;
                private uint? __pbn__start_value;

                [global::ProtoBuf.ProtoMember(2)]
                public uint end_value
                {
                    get => __pbn__end_value.GetValueOrDefault();
                    set => __pbn__end_value = value;
                }
                public bool ShouldSerializeend_value() => __pbn__end_value != null;
                public void Resetend_value() => __pbn__end_value = null;
                private uint? __pbn__end_value;

                [global::ProtoBuf.ProtoMember(3)]
                public uint max_value
                {
                    get => __pbn__max_value.GetValueOrDefault();
                    set => __pbn__max_value = value;
                }
                public bool ShouldSerializemax_value() => __pbn__max_value != null;
                public void Resetmax_value() => __pbn__max_value = null;
                private uint? __pbn__max_value;

            }

            [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(2)]
                public global::System.Collections.Generic.List<int> ability_upgrades { get; } = new global::System.Collections.Generic.List<int>();

                [global::ProtoBuf.ProtoMember(3)]
                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(5)]
                public global::System.Collections.Generic.List<CDOTAMatchMetadata.Team.PlayerKill> kills { get; } = new global::System.Collections.Generic.List<CDOTAMatchMetadata.Team.PlayerKill>();

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

                [global::ProtoBuf.ProtoMember(7)]
                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(8)]
                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(9)]
                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(10)]
                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(11)]
                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(12)]
                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(13)]
                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(14)]
                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(15)]
                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(16)]
                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(17)]
                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(18)]
                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(19)]
                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(20)]
                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(21)]
                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(22)]
                public global::System.Collections.Generic.List<uint> level_up_times { get; } = new global::System.Collections.Generic.List<uint>();

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

                [global::ProtoBuf.ProtoMember(24)]
                public global::System.Collections.Generic.List<CDOTAMatchMetadata.Team.InventorySnapshot> inventory_snapshot { get; } = new global::System.Collections.Generic.List<CDOTAMatchMetadata.Team.InventorySnapshot>();

                [global::ProtoBuf.ProtoMember(25)]
                public bool avg_stats_calibrated
                {
                    get => __pbn__avg_stats_calibrated.GetValueOrDefault();
                    set => __pbn__avg_stats_calibrated = value;
                }
                public bool ShouldSerializeavg_stats_calibrated() => __pbn__avg_stats_calibrated != null;
                public void Resetavg_stats_calibrated() => __pbn__avg_stats_calibrated = null;
                private bool? __pbn__avg_stats_calibrated;

                [global::ProtoBuf.ProtoMember(26)]
                public global::System.Collections.Generic.List<CDOTAMatchMetadata.Team.AutoStyleCriteria> auto_style_criteria { get; } = new global::System.Collections.Generic.List<CDOTAMatchMetadata.Team.AutoStyleCriteria>();

                [global::ProtoBuf.ProtoMember(29)]
                public global::System.Collections.Generic.List<CDOTAMatchMetadata.Team.EventData> event_data { get; } = new global::System.Collections.Generic.List<CDOTAMatchMetadata.Team.EventData>();

                [global::ProtoBuf.ProtoMember(30)]
                public global::System.Collections.Generic.List<CDOTAMatchMetadata.Team.StrangeGemProgress> strange_gem_progress { get; } = new global::System.Collections.Generic.List<CDOTAMatchMetadata.Team.StrangeGemProgress>();

                [global::ProtoBuf.ProtoMember(31)]
                public uint hero_xp
                {
                    get => __pbn__hero_xp.GetValueOrDefault();
                    set => __pbn__hero_xp = value;
                }
                public bool ShouldSerializehero_xp() => __pbn__hero_xp != null;
                public void Resethero_xp() => __pbn__hero_xp = null;
                private uint? __pbn__hero_xp;

                [global::ProtoBuf.ProtoMember(32)]
                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(33)]
                public global::System.Collections.Generic.List<CDOTAMatchMetadata.Team.VictoryPrediction> victory_prediction { get; } = new global::System.Collections.Generic.List<CDOTAMatchMetadata.Team.VictoryPrediction>();

                [global::ProtoBuf.ProtoMember(34)]
                public uint lane_selection_flags
                {
                    get => __pbn__lane_selection_flags.GetValueOrDefault();
                    set => __pbn__lane_selection_flags = value;
                }
                public bool ShouldSerializelane_selection_flags() => __pbn__lane_selection_flags != null;
                public void Resetlane_selection_flags() => __pbn__lane_selection_flags = null;
                private uint? __pbn__lane_selection_flags;

                [global::ProtoBuf.ProtoMember(35)]
                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(36)]
                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(37)]
                public uint aegis_snatched
                {
                    get => __pbn__aegis_snatched.GetValueOrDefault();
                    set => __pbn__aegis_snatched = value;
                }
                public bool ShouldSerializeaegis_snatched() => __pbn__aegis_snatched != null;
                public void Resetaegis_snatched() => __pbn__aegis_snatched = null;
                private uint? __pbn__aegis_snatched;

                [global::ProtoBuf.ProtoMember(38)]
                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(39)]
                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(40)]
                public uint net_worth_rank
                {
                    get => __pbn__net_worth_rank.GetValueOrDefault();
                    set => __pbn__net_worth_rank = value;
                }
                public bool ShouldSerializenet_worth_rank() => __pbn__net_worth_rank != null;
                public void Resetnet_worth_rank() => __pbn__net_worth_rank = null;
                private uint? __pbn__net_worth_rank;

                [global::ProtoBuf.ProtoMember(41)]
                public uint 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 uint? __pbn__support_gold_spent;

                [global::ProtoBuf.ProtoMember(42)]
                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(43)]
                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(44)]
                public uint wards_dewarded
                {
                    get => __pbn__wards_dewarded.GetValueOrDefault();
                    set => __pbn__wards_dewarded = value;
                }
                public bool ShouldSerializewards_dewarded() => __pbn__wards_dewarded != null;
                public void Resetwards_dewarded() => __pbn__wards_dewarded = null;
                private uint? __pbn__wards_dewarded;

                [global::ProtoBuf.ProtoMember(45)]
                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(46)]
                [global::System.ComponentModel.DefaultValue(EDOTAMMRBoostType.k_EDOTAMMRBoostType_None)]
                public EDOTAMMRBoostType rank_mmr_boost_type
                {
                    get => __pbn__rank_mmr_boost_type ?? EDOTAMMRBoostType.k_EDOTAMMRBoostType_None;
                    set => __pbn__rank_mmr_boost_type = value;
                }
                public bool ShouldSerializerank_mmr_boost_type() => __pbn__rank_mmr_boost_type != null;
                public void Resetrank_mmr_boost_type() => __pbn__rank_mmr_boost_type = null;
                private EDOTAMMRBoostType? __pbn__rank_mmr_boost_type;

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

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

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

                [global::ProtoBuf.ProtoMember(51)]
                [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(52)]
                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(53)]
                public CDOTAMatchMetadata.Team.FeaturedGamemodeProgress featured_gamemode_progress { get; set; }

                [global::ProtoBuf.ProtoMember(54)]
                public uint featured_hero_sticker_index
                {
                    get => __pbn__featured_hero_sticker_index.GetValueOrDefault();
                    set => __pbn__featured_hero_sticker_index = value;
                }
                public bool ShouldSerializefeatured_hero_sticker_index() => __pbn__featured_hero_sticker_index != null;
                public void Resetfeatured_hero_sticker_index() => __pbn__featured_hero_sticker_index = null;
                private uint? __pbn__featured_hero_sticker_index;

                [global::ProtoBuf.ProtoMember(55)]
                public uint featured_hero_sticker_quality
                {
                    get => __pbn__featured_hero_sticker_quality.GetValueOrDefault();
                    set => __pbn__featured_hero_sticker_quality = value;
                }
                public bool ShouldSerializefeatured_hero_sticker_quality() => __pbn__featured_hero_sticker_quality != null;
                public void Resetfeatured_hero_sticker_quality() => __pbn__featured_hero_sticker_quality = null;
                private uint? __pbn__featured_hero_sticker_quality;

                [global::ProtoBuf.ProtoMember(56)]
                public global::System.Collections.Generic.List<CDOTAMatchMetadata.EconItem> equipped_econ_items { get; } = new global::System.Collections.Generic.List<CDOTAMatchMetadata.EconItem>();

                [global::ProtoBuf.ProtoMember(57)]
                [global::System.ComponentModel.DefaultValue(-1)]
                public int game_player_id
                {
                    get => __pbn__game_player_id ?? -1;
                    set => __pbn__game_player_id = value;
                }
                public bool ShouldSerializegame_player_id() => __pbn__game_player_id != null;
                public void Resetgame_player_id() => __pbn__game_player_id = null;
                private int? __pbn__game_player_id;

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

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

                [global::ProtoBuf.ProtoContract()]
                public partial class ContractProgress : 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_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(5)]
                    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(6)]
                    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.ProtoMember(7)]
                    public bool completed
                    {
                        get => __pbn__completed.GetValueOrDefault();
                        set => __pbn__completed = value;
                    }
                    public bool ShouldSerializecompleted() => __pbn__completed != null;
                    public void Resetcompleted() => __pbn__completed = null;
                    private bool? __pbn__completed;

                }

                [global::ProtoBuf.ProtoContract()]
                public partial class OverworldRewards : 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 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(2)]
                    public CMsgOverworldTokenQuantity tokens { get; set; }

                }

            }

        }

        [global::ProtoBuf.ProtoContract()]
        public partial class GuildChallengeProgress : 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)]
            [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 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_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(5)]
            public uint challenge_timestamp
            {
                get => __pbn__challenge_timestamp.GetValueOrDefault();
                set => __pbn__challenge_timestamp = value;
            }
            public bool ShouldSerializechallenge_timestamp() => __pbn__challenge_timestamp != null;
            public void Resetchallenge_timestamp() => __pbn__challenge_timestamp = null;
            private uint? __pbn__challenge_timestamp;

            [global::ProtoBuf.ProtoMember(6)]
            public uint challenge_progress_at_start
            {
                get => __pbn__challenge_progress_at_start.GetValueOrDefault();
                set => __pbn__challenge_progress_at_start = value;
            }
            public bool ShouldSerializechallenge_progress_at_start() => __pbn__challenge_progress_at_start != null;
            public void Resetchallenge_progress_at_start() => __pbn__challenge_progress_at_start = null;
            private uint? __pbn__challenge_progress_at_start;

            [global::ProtoBuf.ProtoMember(7)]
            public uint challenge_progress_accumulated
            {
                get => __pbn__challenge_progress_accumulated.GetValueOrDefault();
                set => __pbn__challenge_progress_accumulated = value;
            }
            public bool ShouldSerializechallenge_progress_accumulated() => __pbn__challenge_progress_accumulated != null;
            public void Resetchallenge_progress_accumulated() => __pbn__challenge_progress_accumulated = null;
            private uint? __pbn__challenge_progress_accumulated;

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

            [global::ProtoBuf.ProtoContract()]
            public partial class IndividualProgress : 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 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(3)]
                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.ProtoContract()]
        public partial class Tip : 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_player_slot
            {
                get => __pbn__source_player_slot.GetValueOrDefault();
                set => __pbn__source_player_slot = value;
            }
            public bool ShouldSerializesource_player_slot() => __pbn__source_player_slot != null;
            public void Resetsource_player_slot() => __pbn__source_player_slot = null;
            private uint? __pbn__source_player_slot;

            [global::ProtoBuf.ProtoMember(2)]
            public uint target_player_slot
            {
                get => __pbn__target_player_slot.GetValueOrDefault();
                set => __pbn__target_player_slot = value;
            }
            public bool ShouldSerializetarget_player_slot() => __pbn__target_player_slot != null;
            public void Resettarget_player_slot() => __pbn__target_player_slot = null;
            private uint? __pbn__target_player_slot;

            [global::ProtoBuf.ProtoMember(3)]
            public uint tip_amount
            {
                get => __pbn__tip_amount.GetValueOrDefault();
                set => __pbn__tip_amount = value;
            }
            public bool ShouldSerializetip_amount() => __pbn__tip_amount != null;
            public void Resettip_amount() => __pbn__tip_amount = null;
            private uint? __pbn__tip_amount;

            [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.ProtoContract()]
    public partial class CDOTAMatchPrivateMetadata : 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<Team> teams { get; } = new global::System.Collections.Generic.List<Team>();

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

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

        [global::ProtoBuf.ProtoContract()]
        public partial class StringName : 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)]
            [global::System.ComponentModel.DefaultValue("")]
            public string name
            {
                get => __pbn__name ?? "";
                set => __pbn__name = value;
            }
            public bool ShouldSerializename() => __pbn__name != null;
            public void Resetname() => __pbn__name = null;
            private string __pbn__name;

        }

        [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 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 global::System.Collections.Generic.List<Player> players { get; } = new global::System.Collections.Generic.List<Player>();

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

            [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(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 byte[] position_stream
                {
                    get => __pbn__position_stream;
                    set => __pbn__position_stream = value;
                }
                public bool ShouldSerializeposition_stream() => __pbn__position_stream != null;
                public void Resetposition_stream() => __pbn__position_stream = null;
                private byte[] __pbn__position_stream;

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

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

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

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

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

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

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

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

                [global::ProtoBuf.ProtoMember(12)]
                public GoldReceived gold_received { get; set; }

                [global::ProtoBuf.ProtoMember(13)]
                public XPReceived xp_received { get; set; }

                [global::ProtoBuf.ProtoMember(14)]
                [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(15)]
                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.ProtoContract()]
                public partial class CombatSegment : 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 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(2)]
                    public global::System.Collections.Generic.List<DamageByAbility> damage_by_ability { get; } = new global::System.Collections.Generic.List<DamageByAbility>();

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

                    [global::ProtoBuf.ProtoContract()]
                    public partial class DamageByAbility : 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(3)]
                        public uint source_unit_index
                        {
                            get => __pbn__source_unit_index.GetValueOrDefault();
                            set => __pbn__source_unit_index = value;
                        }
                        public bool ShouldSerializesource_unit_index() => __pbn__source_unit_index != null;
                        public void Resetsource_unit_index() => __pbn__source_unit_index = null;
                        private uint? __pbn__source_unit_index;

                        [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<ByHeroTarget> by_hero_targets { get; } = new global::System.Collections.Generic.List<ByHeroTarget>();

                        [global::ProtoBuf.ProtoContract()]
                        public partial class ByHeroTarget : 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 damage
                            {
                                get => __pbn__damage.GetValueOrDefault();
                                set => __pbn__damage = value;
                            }
                            public bool ShouldSerializedamage() => __pbn__damage != null;
                            public void Resetdamage() => __pbn__damage = null;
                            private uint? __pbn__damage;

                        }

                    }

                    [global::ProtoBuf.ProtoContract()]
                    public partial class HealingByAbility : 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(3)]
                        public uint source_unit_index
                        {
                            get => __pbn__source_unit_index.GetValueOrDefault();
                            set => __pbn__source_unit_index = value;
                        }
                        public bool ShouldSerializesource_unit_index() => __pbn__source_unit_index != null;
                        public void Resetsource_unit_index() => __pbn__source_unit_index = null;
                        private uint? __pbn__source_unit_index;

                        [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<ByHeroTarget> by_hero_targets { get; } = new global::System.Collections.Generic.List<ByHeroTarget>();

                        [global::ProtoBuf.ProtoContract()]
                        public partial class ByHeroTarget : 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 healing
                            {
                                get => __pbn__healing.GetValueOrDefault();
                                set => __pbn__healing = value;
                            }
                            public bool ShouldSerializehealing() => __pbn__healing != null;
                            public void Resethealing() => __pbn__healing = null;
                            private uint? __pbn__healing;

                        }

                    }

                }

                [global::ProtoBuf.ProtoContract()]
                public partial class BuffRecord : 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 buff_ability_id
                    {
                        get => __pbn__buff_ability_id ?? -1;
                        set => __pbn__buff_ability_id = value;
                    }
                    public bool ShouldSerializebuff_ability_id() => __pbn__buff_ability_id != null;
                    public void Resetbuff_ability_id() => __pbn__buff_ability_id = null;
                    private int? __pbn__buff_ability_id;

                    [global::ProtoBuf.ProtoMember(3)]
                    [global::System.ComponentModel.DefaultValue("")]
                    public string buff_modifier_name
                    {
                        get => __pbn__buff_modifier_name ?? "";
                        set => __pbn__buff_modifier_name = value;
                    }
                    public bool ShouldSerializebuff_modifier_name() => __pbn__buff_modifier_name != null;
                    public void Resetbuff_modifier_name() => __pbn__buff_modifier_name = null;
                    private string __pbn__buff_modifier_name;

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

                    [global::ProtoBuf.ProtoContract()]
                    public partial class ByHeroTarget : 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 float elapsed_duration
                        {
                            get => __pbn__elapsed_duration.GetValueOrDefault();
                            set => __pbn__elapsed_duration = value;
                        }
                        public bool ShouldSerializeelapsed_duration() => __pbn__elapsed_duration != null;
                        public void Resetelapsed_duration() => __pbn__elapsed_duration = null;
                        private float? __pbn__elapsed_duration;

                        [global::ProtoBuf.ProtoMember(3)]
                        public bool is_hidden
                        {
                            get => __pbn__is_hidden.GetValueOrDefault();
                            set => __pbn__is_hidden = value;
                        }
                        public bool ShouldSerializeis_hidden() => __pbn__is_hidden != null;
                        public void Resetis_hidden() => __pbn__is_hidden = null;
                        private bool? __pbn__is_hidden;

                    }

                }

                [global::ProtoBuf.ProtoContract()]
                public partial class GoldReceived : 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 creep
                    {
                        get => __pbn__creep.GetValueOrDefault();
                        set => __pbn__creep = value;
                    }
                    public bool ShouldSerializecreep() => __pbn__creep != null;
                    public void Resetcreep() => __pbn__creep = null;
                    private uint? __pbn__creep;

                    [global::ProtoBuf.ProtoMember(2)]
                    public uint heroes
                    {
                        get => __pbn__heroes.GetValueOrDefault();
                        set => __pbn__heroes = value;
                    }
                    public bool ShouldSerializeheroes() => __pbn__heroes != null;
                    public void Resetheroes() => __pbn__heroes = null;
                    private uint? __pbn__heroes;

                    [global::ProtoBuf.ProtoMember(3)]
                    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(4)]
                    public uint passive
                    {
                        get => __pbn__passive.GetValueOrDefault();
                        set => __pbn__passive = value;
                    }
                    public bool ShouldSerializepassive() => __pbn__passive != null;
                    public void Resetpassive() => __pbn__passive = null;
                    private uint? __pbn__passive;

                    [global::ProtoBuf.ProtoMember(5)]
                    public uint buildings
                    {
                        get => __pbn__buildings.GetValueOrDefault();
                        set => __pbn__buildings = value;
                    }
                    public bool ShouldSerializebuildings() => __pbn__buildings != null;
                    public void Resetbuildings() => __pbn__buildings = null;
                    private uint? __pbn__buildings;

                    [global::ProtoBuf.ProtoMember(6)]
                    public uint abilities
                    {
                        get => __pbn__abilities.GetValueOrDefault();
                        set => __pbn__abilities = value;
                    }
                    public bool ShouldSerializeabilities() => __pbn__abilities != null;
                    public void Resetabilities() => __pbn__abilities = null;
                    private uint? __pbn__abilities;

                    [global::ProtoBuf.ProtoMember(7)]
                    public uint wards
                    {
                        get => __pbn__wards.GetValueOrDefault();
                        set => __pbn__wards = value;
                    }
                    public bool ShouldSerializewards() => __pbn__wards != null;
                    public void Resetwards() => __pbn__wards = null;
                    private uint? __pbn__wards;

                    [global::ProtoBuf.ProtoMember(8)]
                    public uint other
                    {
                        get => __pbn__other.GetValueOrDefault();
                        set => __pbn__other = value;
                    }
                    public bool ShouldSerializeother() => __pbn__other != null;
                    public void Resetother() => __pbn__other = null;
                    private uint? __pbn__other;

                }

                [global::ProtoBuf.ProtoContract()]
                public partial class XPReceived : 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 creep
                    {
                        get => __pbn__creep.GetValueOrDefault();
                        set => __pbn__creep = value;
                    }
                    public bool ShouldSerializecreep() => __pbn__creep != null;
                    public void Resetcreep() => __pbn__creep = null;
                    private uint? __pbn__creep;

                    [global::ProtoBuf.ProtoMember(2)]
                    public uint heroes
                    {
                        get => __pbn__heroes.GetValueOrDefault();
                        set => __pbn__heroes = value;
                    }
                    public bool ShouldSerializeheroes() => __pbn__heroes != null;
                    public void Resetheroes() => __pbn__heroes = null;
                    private uint? __pbn__heroes;

                    [global::ProtoBuf.ProtoMember(3)]
                    public uint roshan
                    {
                        get => __pbn__roshan.GetValueOrDefault();
                        set => __pbn__roshan = value;
                    }
                    public bool ShouldSerializeroshan() => __pbn__roshan != null;
                    public void Resetroshan() => __pbn__roshan = null;
                    private uint? __pbn__roshan;

                    [global::ProtoBuf.ProtoMember(4)]
                    public uint tome_of_knowledge
                    {
                        get => __pbn__tome_of_knowledge.GetValueOrDefault();
                        set => __pbn__tome_of_knowledge = value;
                    }
                    public bool ShouldSerializetome_of_knowledge() => __pbn__tome_of_knowledge != null;
                    public void Resettome_of_knowledge() => __pbn__tome_of_knowledge = null;
                    private uint? __pbn__tome_of_knowledge;

                    [global::ProtoBuf.ProtoMember(5)]
                    public uint outpost
                    {
                        get => __pbn__outpost.GetValueOrDefault();
                        set => __pbn__outpost = value;
                    }
                    public bool ShouldSerializeoutpost() => __pbn__outpost != null;
                    public void Resetoutpost() => __pbn__outpost = null;
                    private uint? __pbn__outpost;

                    [global::ProtoBuf.ProtoMember(6)]
                    public uint other
                    {
                        get => __pbn__other.GetValueOrDefault();
                        set => __pbn__other = value;
                    }
                    public bool ShouldSerializeother() => __pbn__other != null;
                    public void Resetother() => __pbn__other = null;
                    private uint? __pbn__other;

                    [global::ProtoBuf.ProtoMember(7)]
                    public uint abilities
                    {
                        get => __pbn__abilities.GetValueOrDefault();
                        set => __pbn__abilities = value;
                    }
                    public bool ShouldSerializeabilities() => __pbn__abilities != null;
                    public void Resetabilities() => __pbn__abilities = null;
                    private uint? __pbn__abilities;

                }

            }

            [global::ProtoBuf.ProtoContract()]
            public partial class Building : 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 unit_name
                {
                    get => __pbn__unit_name ?? "";
                    set => __pbn__unit_name = value;
                }
                public bool ShouldSerializeunit_name() => __pbn__unit_name != null;
                public void Resetunit_name() => __pbn__unit_name = null;
                private string __pbn__unit_name;

                [global::ProtoBuf.ProtoMember(2)]
                public uint position_quant_x
                {
                    get => __pbn__position_quant_x.GetValueOrDefault();
                    set => __pbn__position_quant_x = value;
                }
                public bool ShouldSerializeposition_quant_x() => __pbn__position_quant_x != null;
                public void Resetposition_quant_x() => __pbn__position_quant_x = null;
                private uint? __pbn__position_quant_x;

                [global::ProtoBuf.ProtoMember(3)]
                public uint position_quant_y
                {
                    get => __pbn__position_quant_y.GetValueOrDefault();
                    set => __pbn__position_quant_y = value;
                }
                public bool ShouldSerializeposition_quant_y() => __pbn__position_quant_y != null;
                public void Resetposition_quant_y() => __pbn__position_quant_y = null;
                private uint? __pbn__position_quant_y;

                [global::ProtoBuf.ProtoMember(4)]
                public float death_time
                {
                    get => __pbn__death_time.GetValueOrDefault();
                    set => __pbn__death_time = value;
                }
                public bool ShouldSerializedeath_time() => __pbn__death_time != null;
                public void Resetdeath_time() => __pbn__death_time = null;
                private float? __pbn__death_time;

            }

        }

    }

}

#pragma warning restore CS0612, CS0618, CS1591, CS3021, IDE0079, IDE1006, RCS1036, RCS1057, RCS1085, RCS1192
#endregion
