// Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.28.0 // protoc v3.21.2 // source: netmessages.proto package demo import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" sync "sync" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type CLC_Messages int32 const ( CLC_Messages_clc_ClientInfo CLC_Messages = 20 CLC_Messages_clc_Move CLC_Messages = 21 CLC_Messages_clc_VoiceData CLC_Messages = 22 CLC_Messages_clc_BaselineAck CLC_Messages = 23 CLC_Messages_clc_ListenEvents CLC_Messages = 24 CLC_Messages_clc_RespondCvarValue CLC_Messages = 25 CLC_Messages_clc_FileCRCCheck CLC_Messages = 26 CLC_Messages_clc_LoadingProgress CLC_Messages = 27 CLC_Messages_clc_SplitPlayerConnect CLC_Messages = 28 CLC_Messages_clc_ClientMessage CLC_Messages = 29 CLC_Messages_clc_SplitPlayerDisconnect CLC_Messages = 30 CLC_Messages_clc_ServerStatus CLC_Messages = 31 CLC_Messages_clc_ServerPing CLC_Messages = 32 CLC_Messages_clc_RequestPause CLC_Messages = 33 CLC_Messages_clc_CmdKeyValues CLC_Messages = 34 CLC_Messages_clc_RconServerDetails CLC_Messages = 35 CLC_Messages_clc_HltvReplay CLC_Messages = 36 ) // Enum value maps for CLC_Messages. var ( CLC_Messages_name = map[int32]string{ 20: "clc_ClientInfo", 21: "clc_Move", 22: "clc_VoiceData", 23: "clc_BaselineAck", 24: "clc_ListenEvents", 25: "clc_RespondCvarValue", 26: "clc_FileCRCCheck", 27: "clc_LoadingProgress", 28: "clc_SplitPlayerConnect", 29: "clc_ClientMessage", 30: "clc_SplitPlayerDisconnect", 31: "clc_ServerStatus", 32: "clc_ServerPing", 33: "clc_RequestPause", 34: "clc_CmdKeyValues", 35: "clc_RconServerDetails", 36: "clc_HltvReplay", } CLC_Messages_value = map[string]int32{ "clc_ClientInfo": 20, "clc_Move": 21, "clc_VoiceData": 22, "clc_BaselineAck": 23, "clc_ListenEvents": 24, "clc_RespondCvarValue": 25, "clc_FileCRCCheck": 26, "clc_LoadingProgress": 27, "clc_SplitPlayerConnect": 28, "clc_ClientMessage": 29, "clc_SplitPlayerDisconnect": 30, "clc_ServerStatus": 31, "clc_ServerPing": 32, "clc_RequestPause": 33, "clc_CmdKeyValues": 34, "clc_RconServerDetails": 35, "clc_HltvReplay": 36, } ) func (x CLC_Messages) Enum() *CLC_Messages { p := new(CLC_Messages) *p = x return p } func (x CLC_Messages) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (CLC_Messages) Descriptor() protoreflect.EnumDescriptor { return file_netmessages_proto_enumTypes[0].Descriptor() } func (CLC_Messages) Type() protoreflect.EnumType { return &file_netmessages_proto_enumTypes[0] } func (x CLC_Messages) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. func (x *CLC_Messages) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } *x = CLC_Messages(num) return nil } // Deprecated: Use CLC_Messages.Descriptor instead. func (CLC_Messages) EnumDescriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{0} } type SVC_Messages int32 const ( SVC_Messages_svc_ServerInfo SVC_Messages = 40 SVC_Messages_svc_FlattenedSerializer SVC_Messages = 41 SVC_Messages_svc_ClassInfo SVC_Messages = 42 SVC_Messages_svc_SetPause SVC_Messages = 43 SVC_Messages_svc_CreateStringTable SVC_Messages = 44 SVC_Messages_svc_UpdateStringTable SVC_Messages = 45 SVC_Messages_svc_VoiceInit SVC_Messages = 46 SVC_Messages_svc_VoiceData SVC_Messages = 47 SVC_Messages_svc_Print SVC_Messages = 48 SVC_Messages_svc_Sounds SVC_Messages = 49 SVC_Messages_svc_SetView SVC_Messages = 50 SVC_Messages_svc_ClearAllStringTables SVC_Messages = 51 SVC_Messages_svc_CmdKeyValues SVC_Messages = 52 SVC_Messages_svc_BSPDecal SVC_Messages = 53 SVC_Messages_svc_SplitScreen SVC_Messages = 54 SVC_Messages_svc_PacketEntities SVC_Messages = 55 SVC_Messages_svc_Prefetch SVC_Messages = 56 SVC_Messages_svc_Menu SVC_Messages = 57 SVC_Messages_svc_GetCvarValue SVC_Messages = 58 SVC_Messages_svc_StopSound SVC_Messages = 59 SVC_Messages_svc_PeerList SVC_Messages = 60 SVC_Messages_svc_PacketReliable SVC_Messages = 61 SVC_Messages_svc_HLTVStatus SVC_Messages = 62 SVC_Messages_svc_ServerSteamID SVC_Messages = 63 SVC_Messages_svc_FullFrameSplit SVC_Messages = 70 SVC_Messages_svc_RconServerDetails SVC_Messages = 71 SVC_Messages_svc_UserMessage SVC_Messages = 72 SVC_Messages_svc_HltvReplay SVC_Messages = 73 SVC_Messages_svc_Broadcast_Command SVC_Messages = 74 SVC_Messages_svc_HltvFixupOperatorStatus SVC_Messages = 75 ) // Enum value maps for SVC_Messages. var ( SVC_Messages_name = map[int32]string{ 40: "svc_ServerInfo", 41: "svc_FlattenedSerializer", 42: "svc_ClassInfo", 43: "svc_SetPause", 44: "svc_CreateStringTable", 45: "svc_UpdateStringTable", 46: "svc_VoiceInit", 47: "svc_VoiceData", 48: "svc_Print", 49: "svc_Sounds", 50: "svc_SetView", 51: "svc_ClearAllStringTables", 52: "svc_CmdKeyValues", 53: "svc_BSPDecal", 54: "svc_SplitScreen", 55: "svc_PacketEntities", 56: "svc_Prefetch", 57: "svc_Menu", 58: "svc_GetCvarValue", 59: "svc_StopSound", 60: "svc_PeerList", 61: "svc_PacketReliable", 62: "svc_HLTVStatus", 63: "svc_ServerSteamID", 70: "svc_FullFrameSplit", 71: "svc_RconServerDetails", 72: "svc_UserMessage", 73: "svc_HltvReplay", 74: "svc_Broadcast_Command", 75: "svc_HltvFixupOperatorStatus", } SVC_Messages_value = map[string]int32{ "svc_ServerInfo": 40, "svc_FlattenedSerializer": 41, "svc_ClassInfo": 42, "svc_SetPause": 43, "svc_CreateStringTable": 44, "svc_UpdateStringTable": 45, "svc_VoiceInit": 46, "svc_VoiceData": 47, "svc_Print": 48, "svc_Sounds": 49, "svc_SetView": 50, "svc_ClearAllStringTables": 51, "svc_CmdKeyValues": 52, "svc_BSPDecal": 53, "svc_SplitScreen": 54, "svc_PacketEntities": 55, "svc_Prefetch": 56, "svc_Menu": 57, "svc_GetCvarValue": 58, "svc_StopSound": 59, "svc_PeerList": 60, "svc_PacketReliable": 61, "svc_HLTVStatus": 62, "svc_ServerSteamID": 63, "svc_FullFrameSplit": 70, "svc_RconServerDetails": 71, "svc_UserMessage": 72, "svc_HltvReplay": 73, "svc_Broadcast_Command": 74, "svc_HltvFixupOperatorStatus": 75, } ) func (x SVC_Messages) Enum() *SVC_Messages { p := new(SVC_Messages) *p = x return p } func (x SVC_Messages) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (SVC_Messages) Descriptor() protoreflect.EnumDescriptor { return file_netmessages_proto_enumTypes[1].Descriptor() } func (SVC_Messages) Type() protoreflect.EnumType { return &file_netmessages_proto_enumTypes[1] } func (x SVC_Messages) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. func (x *SVC_Messages) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } *x = SVC_Messages(num) return nil } // Deprecated: Use SVC_Messages.Descriptor instead. func (SVC_Messages) EnumDescriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{1} } type VoiceDataFormatT int32 const ( VoiceDataFormatT_VOICEDATA_FORMAT_STEAM VoiceDataFormatT = 0 VoiceDataFormatT_VOICEDATA_FORMAT_ENGINE VoiceDataFormatT = 1 ) // Enum value maps for VoiceDataFormatT. var ( VoiceDataFormatT_name = map[int32]string{ 0: "VOICEDATA_FORMAT_STEAM", 1: "VOICEDATA_FORMAT_ENGINE", } VoiceDataFormatT_value = map[string]int32{ "VOICEDATA_FORMAT_STEAM": 0, "VOICEDATA_FORMAT_ENGINE": 1, } ) func (x VoiceDataFormatT) Enum() *VoiceDataFormatT { p := new(VoiceDataFormatT) *p = x return p } func (x VoiceDataFormatT) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (VoiceDataFormatT) Descriptor() protoreflect.EnumDescriptor { return file_netmessages_proto_enumTypes[2].Descriptor() } func (VoiceDataFormatT) Type() protoreflect.EnumType { return &file_netmessages_proto_enumTypes[2] } func (x VoiceDataFormatT) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. func (x *VoiceDataFormatT) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } *x = VoiceDataFormatT(num) return nil } // Deprecated: Use VoiceDataFormatT.Descriptor instead. func (VoiceDataFormatT) EnumDescriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{2} } type RequestPauseT int32 const ( RequestPauseT_RP_PAUSE RequestPauseT = 0 RequestPauseT_RP_UNPAUSE RequestPauseT = 1 RequestPauseT_RP_TOGGLEPAUSE RequestPauseT = 2 ) // Enum value maps for RequestPauseT. var ( RequestPauseT_name = map[int32]string{ 0: "RP_PAUSE", 1: "RP_UNPAUSE", 2: "RP_TOGGLEPAUSE", } RequestPauseT_value = map[string]int32{ "RP_PAUSE": 0, "RP_UNPAUSE": 1, "RP_TOGGLEPAUSE": 2, } ) func (x RequestPauseT) Enum() *RequestPauseT { p := new(RequestPauseT) *p = x return p } func (x RequestPauseT) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (RequestPauseT) Descriptor() protoreflect.EnumDescriptor { return file_netmessages_proto_enumTypes[3].Descriptor() } func (RequestPauseT) Type() protoreflect.EnumType { return &file_netmessages_proto_enumTypes[3] } func (x RequestPauseT) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. func (x *RequestPauseT) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } *x = RequestPauseT(num) return nil } // Deprecated: Use RequestPauseT.Descriptor instead. func (RequestPauseT) EnumDescriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{3} } type PrefetchType int32 const ( PrefetchType_PFT_SOUND PrefetchType = 0 ) // Enum value maps for PrefetchType. var ( PrefetchType_name = map[int32]string{ 0: "PFT_SOUND", } PrefetchType_value = map[string]int32{ "PFT_SOUND": 0, } ) func (x PrefetchType) Enum() *PrefetchType { p := new(PrefetchType) *p = x return p } func (x PrefetchType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (PrefetchType) Descriptor() protoreflect.EnumDescriptor { return file_netmessages_proto_enumTypes[4].Descriptor() } func (PrefetchType) Type() protoreflect.EnumType { return &file_netmessages_proto_enumTypes[4] } func (x PrefetchType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. func (x *PrefetchType) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } *x = PrefetchType(num) return nil } // Deprecated: Use PrefetchType.Descriptor instead. func (PrefetchType) EnumDescriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{4} } type ESplitScreenMessageType int32 const ( ESplitScreenMessageType_MSG_SPLITSCREEN_ADDUSER ESplitScreenMessageType = 0 ESplitScreenMessageType_MSG_SPLITSCREEN_REMOVEUSER ESplitScreenMessageType = 1 ) // Enum value maps for ESplitScreenMessageType. var ( ESplitScreenMessageType_name = map[int32]string{ 0: "MSG_SPLITSCREEN_ADDUSER", 1: "MSG_SPLITSCREEN_REMOVEUSER", } ESplitScreenMessageType_value = map[string]int32{ "MSG_SPLITSCREEN_ADDUSER": 0, "MSG_SPLITSCREEN_REMOVEUSER": 1, } ) func (x ESplitScreenMessageType) Enum() *ESplitScreenMessageType { p := new(ESplitScreenMessageType) *p = x return p } func (x ESplitScreenMessageType) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ESplitScreenMessageType) Descriptor() protoreflect.EnumDescriptor { return file_netmessages_proto_enumTypes[5].Descriptor() } func (ESplitScreenMessageType) Type() protoreflect.EnumType { return &file_netmessages_proto_enumTypes[5] } func (x ESplitScreenMessageType) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. func (x *ESplitScreenMessageType) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } *x = ESplitScreenMessageType(num) return nil } // Deprecated: Use ESplitScreenMessageType.Descriptor instead. func (ESplitScreenMessageType) EnumDescriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{5} } type EQueryCvarValueStatus int32 const ( EQueryCvarValueStatus_eQueryCvarValueStatus_ValueIntact EQueryCvarValueStatus = 0 EQueryCvarValueStatus_eQueryCvarValueStatus_CvarNotFound EQueryCvarValueStatus = 1 EQueryCvarValueStatus_eQueryCvarValueStatus_NotACvar EQueryCvarValueStatus = 2 EQueryCvarValueStatus_eQueryCvarValueStatus_CvarProtected EQueryCvarValueStatus = 3 ) // Enum value maps for EQueryCvarValueStatus. var ( EQueryCvarValueStatus_name = map[int32]string{ 0: "eQueryCvarValueStatus_ValueIntact", 1: "eQueryCvarValueStatus_CvarNotFound", 2: "eQueryCvarValueStatus_NotACvar", 3: "eQueryCvarValueStatus_CvarProtected", } EQueryCvarValueStatus_value = map[string]int32{ "eQueryCvarValueStatus_ValueIntact": 0, "eQueryCvarValueStatus_CvarNotFound": 1, "eQueryCvarValueStatus_NotACvar": 2, "eQueryCvarValueStatus_CvarProtected": 3, } ) func (x EQueryCvarValueStatus) Enum() *EQueryCvarValueStatus { p := new(EQueryCvarValueStatus) *p = x return p } func (x EQueryCvarValueStatus) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (EQueryCvarValueStatus) Descriptor() protoreflect.EnumDescriptor { return file_netmessages_proto_enumTypes[6].Descriptor() } func (EQueryCvarValueStatus) Type() protoreflect.EnumType { return &file_netmessages_proto_enumTypes[6] } func (x EQueryCvarValueStatus) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. func (x *EQueryCvarValueStatus) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } *x = EQueryCvarValueStatus(num) return nil } // Deprecated: Use EQueryCvarValueStatus.Descriptor instead. func (EQueryCvarValueStatus) EnumDescriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{6} } type DIALOG_TYPE int32 const ( DIALOG_TYPE_DIALOG_MSG DIALOG_TYPE = 0 DIALOG_TYPE_DIALOG_MENU DIALOG_TYPE = 1 DIALOG_TYPE_DIALOG_TEXT DIALOG_TYPE = 2 DIALOG_TYPE_DIALOG_ENTRY DIALOG_TYPE = 3 DIALOG_TYPE_DIALOG_ASKCONNECT DIALOG_TYPE = 4 ) // Enum value maps for DIALOG_TYPE. var ( DIALOG_TYPE_name = map[int32]string{ 0: "DIALOG_MSG", 1: "DIALOG_MENU", 2: "DIALOG_TEXT", 3: "DIALOG_ENTRY", 4: "DIALOG_ASKCONNECT", } DIALOG_TYPE_value = map[string]int32{ "DIALOG_MSG": 0, "DIALOG_MENU": 1, "DIALOG_TEXT": 2, "DIALOG_ENTRY": 3, "DIALOG_ASKCONNECT": 4, } ) func (x DIALOG_TYPE) Enum() *DIALOG_TYPE { p := new(DIALOG_TYPE) *p = x return p } func (x DIALOG_TYPE) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (DIALOG_TYPE) Descriptor() protoreflect.EnumDescriptor { return file_netmessages_proto_enumTypes[7].Descriptor() } func (DIALOG_TYPE) Type() protoreflect.EnumType { return &file_netmessages_proto_enumTypes[7] } func (x DIALOG_TYPE) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. func (x *DIALOG_TYPE) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } *x = DIALOG_TYPE(num) return nil } // Deprecated: Use DIALOG_TYPE.Descriptor instead. func (DIALOG_TYPE) EnumDescriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{7} } type SVC_Messages_LowFrequency int32 const ( SVC_Messages_LowFrequency_svc_dummy SVC_Messages_LowFrequency = 600 ) // Enum value maps for SVC_Messages_LowFrequency. var ( SVC_Messages_LowFrequency_name = map[int32]string{ 600: "svc_dummy", } SVC_Messages_LowFrequency_value = map[string]int32{ "svc_dummy": 600, } ) func (x SVC_Messages_LowFrequency) Enum() *SVC_Messages_LowFrequency { p := new(SVC_Messages_LowFrequency) *p = x return p } func (x SVC_Messages_LowFrequency) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (SVC_Messages_LowFrequency) Descriptor() protoreflect.EnumDescriptor { return file_netmessages_proto_enumTypes[8].Descriptor() } func (SVC_Messages_LowFrequency) Type() protoreflect.EnumType { return &file_netmessages_proto_enumTypes[8] } func (x SVC_Messages_LowFrequency) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. func (x *SVC_Messages_LowFrequency) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } *x = SVC_Messages_LowFrequency(num) return nil } // Deprecated: Use SVC_Messages_LowFrequency.Descriptor instead. func (SVC_Messages_LowFrequency) EnumDescriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{8} } type Bidirectional_Messages int32 const ( Bidirectional_Messages_bi_RebroadcastGameEvent Bidirectional_Messages = 16 Bidirectional_Messages_bi_RebroadcastSource Bidirectional_Messages = 17 Bidirectional_Messages_bi_GameEvent Bidirectional_Messages = 18 ) // Enum value maps for Bidirectional_Messages. var ( Bidirectional_Messages_name = map[int32]string{ 16: "bi_RebroadcastGameEvent", 17: "bi_RebroadcastSource", 18: "bi_GameEvent", } Bidirectional_Messages_value = map[string]int32{ "bi_RebroadcastGameEvent": 16, "bi_RebroadcastSource": 17, "bi_GameEvent": 18, } ) func (x Bidirectional_Messages) Enum() *Bidirectional_Messages { p := new(Bidirectional_Messages) *p = x return p } func (x Bidirectional_Messages) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Bidirectional_Messages) Descriptor() protoreflect.EnumDescriptor { return file_netmessages_proto_enumTypes[9].Descriptor() } func (Bidirectional_Messages) Type() protoreflect.EnumType { return &file_netmessages_proto_enumTypes[9] } func (x Bidirectional_Messages) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. func (x *Bidirectional_Messages) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } *x = Bidirectional_Messages(num) return nil } // Deprecated: Use Bidirectional_Messages.Descriptor instead. func (Bidirectional_Messages) EnumDescriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{9} } type Bidirectional_Messages_LowFrequency int32 const ( Bidirectional_Messages_LowFrequency_bi_RelayInfo Bidirectional_Messages_LowFrequency = 700 Bidirectional_Messages_LowFrequency_bi_RelayPacket Bidirectional_Messages_LowFrequency = 701 ) // Enum value maps for Bidirectional_Messages_LowFrequency. var ( Bidirectional_Messages_LowFrequency_name = map[int32]string{ 700: "bi_RelayInfo", 701: "bi_RelayPacket", } Bidirectional_Messages_LowFrequency_value = map[string]int32{ "bi_RelayInfo": 700, "bi_RelayPacket": 701, } ) func (x Bidirectional_Messages_LowFrequency) Enum() *Bidirectional_Messages_LowFrequency { p := new(Bidirectional_Messages_LowFrequency) *p = x return p } func (x Bidirectional_Messages_LowFrequency) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (Bidirectional_Messages_LowFrequency) Descriptor() protoreflect.EnumDescriptor { return file_netmessages_proto_enumTypes[10].Descriptor() } func (Bidirectional_Messages_LowFrequency) Type() protoreflect.EnumType { return &file_netmessages_proto_enumTypes[10] } func (x Bidirectional_Messages_LowFrequency) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. func (x *Bidirectional_Messages_LowFrequency) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } *x = Bidirectional_Messages_LowFrequency(num) return nil } // Deprecated: Use Bidirectional_Messages_LowFrequency.Descriptor instead. func (Bidirectional_Messages_LowFrequency) EnumDescriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{10} } type ReplayEventTypeT int32 const ( ReplayEventTypeT_REPLAY_EVENT_CANCEL ReplayEventTypeT = 0 ReplayEventTypeT_REPLAY_EVENT_DEATH ReplayEventTypeT = 1 ReplayEventTypeT_REPLAY_EVENT_GENERIC ReplayEventTypeT = 2 ReplayEventTypeT_REPLAY_EVENT_STUCK_NEED_FULL_UPDATE ReplayEventTypeT = 3 ReplayEventTypeT_REPLAY_EVENT_VICTORY ReplayEventTypeT = 4 ) // Enum value maps for ReplayEventTypeT. var ( ReplayEventTypeT_name = map[int32]string{ 0: "REPLAY_EVENT_CANCEL", 1: "REPLAY_EVENT_DEATH", 2: "REPLAY_EVENT_GENERIC", 3: "REPLAY_EVENT_STUCK_NEED_FULL_UPDATE", 4: "REPLAY_EVENT_VICTORY", } ReplayEventTypeT_value = map[string]int32{ "REPLAY_EVENT_CANCEL": 0, "REPLAY_EVENT_DEATH": 1, "REPLAY_EVENT_GENERIC": 2, "REPLAY_EVENT_STUCK_NEED_FULL_UPDATE": 3, "REPLAY_EVENT_VICTORY": 4, } ) func (x ReplayEventTypeT) Enum() *ReplayEventTypeT { p := new(ReplayEventTypeT) *p = x return p } func (x ReplayEventTypeT) String() string { return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) } func (ReplayEventTypeT) Descriptor() protoreflect.EnumDescriptor { return file_netmessages_proto_enumTypes[11].Descriptor() } func (ReplayEventTypeT) Type() protoreflect.EnumType { return &file_netmessages_proto_enumTypes[11] } func (x ReplayEventTypeT) Number() protoreflect.EnumNumber { return protoreflect.EnumNumber(x) } // Deprecated: Do not use. func (x *ReplayEventTypeT) UnmarshalJSON(b []byte) error { num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) if err != nil { return err } *x = ReplayEventTypeT(num) return nil } // Deprecated: Use ReplayEventTypeT.Descriptor instead. func (ReplayEventTypeT) EnumDescriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{11} } type CCLCMsg_ClientInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SendTableCrc *uint32 `protobuf:"fixed32,1,opt,name=send_table_crc,json=sendTableCrc" json:"send_table_crc,omitempty"` ServerCount *uint32 `protobuf:"varint,2,opt,name=server_count,json=serverCount" json:"server_count,omitempty"` IsHltv *bool `protobuf:"varint,3,opt,name=is_hltv,json=isHltv" json:"is_hltv,omitempty"` FriendsId *uint32 `protobuf:"varint,5,opt,name=friends_id,json=friendsId" json:"friends_id,omitempty"` FriendsName *string `protobuf:"bytes,6,opt,name=friends_name,json=friendsName" json:"friends_name,omitempty"` } func (x *CCLCMsg_ClientInfo) Reset() { *x = CCLCMsg_ClientInfo{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CCLCMsg_ClientInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*CCLCMsg_ClientInfo) ProtoMessage() {} func (x *CCLCMsg_ClientInfo) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CCLCMsg_ClientInfo.ProtoReflect.Descriptor instead. func (*CCLCMsg_ClientInfo) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{0} } func (x *CCLCMsg_ClientInfo) GetSendTableCrc() uint32 { if x != nil && x.SendTableCrc != nil { return *x.SendTableCrc } return 0 } func (x *CCLCMsg_ClientInfo) GetServerCount() uint32 { if x != nil && x.ServerCount != nil { return *x.ServerCount } return 0 } func (x *CCLCMsg_ClientInfo) GetIsHltv() bool { if x != nil && x.IsHltv != nil { return *x.IsHltv } return false } func (x *CCLCMsg_ClientInfo) GetFriendsId() uint32 { if x != nil && x.FriendsId != nil { return *x.FriendsId } return 0 } func (x *CCLCMsg_ClientInfo) GetFriendsName() string { if x != nil && x.FriendsName != nil { return *x.FriendsName } return "" } type CCLCMsg_Move struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data []byte `protobuf:"bytes,3,opt,name=data" json:"data,omitempty"` CommandNumber *uint32 `protobuf:"varint,4,opt,name=command_number,json=commandNumber" json:"command_number,omitempty"` NumCommands *uint32 `protobuf:"varint,5,opt,name=num_commands,json=numCommands" json:"num_commands,omitempty"` } func (x *CCLCMsg_Move) Reset() { *x = CCLCMsg_Move{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CCLCMsg_Move) String() string { return protoimpl.X.MessageStringOf(x) } func (*CCLCMsg_Move) ProtoMessage() {} func (x *CCLCMsg_Move) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CCLCMsg_Move.ProtoReflect.Descriptor instead. func (*CCLCMsg_Move) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{1} } func (x *CCLCMsg_Move) GetData() []byte { if x != nil { return x.Data } return nil } func (x *CCLCMsg_Move) GetCommandNumber() uint32 { if x != nil && x.CommandNumber != nil { return *x.CommandNumber } return 0 } func (x *CCLCMsg_Move) GetNumCommands() uint32 { if x != nil && x.NumCommands != nil { return *x.NumCommands } return 0 } type CMsgVoiceAudio struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Format *VoiceDataFormatT `protobuf:"varint,1,opt,name=format,enum=VoiceDataFormatT,def=0" json:"format,omitempty"` VoiceData []byte `protobuf:"bytes,2,opt,name=voice_data,json=voiceData" json:"voice_data,omitempty"` SequenceBytes *int32 `protobuf:"varint,3,opt,name=sequence_bytes,json=sequenceBytes" json:"sequence_bytes,omitempty"` SectionNumber *uint32 `protobuf:"varint,4,opt,name=section_number,json=sectionNumber" json:"section_number,omitempty"` SampleRate *uint32 `protobuf:"varint,5,opt,name=sample_rate,json=sampleRate" json:"sample_rate,omitempty"` UncompressedSampleOffset *uint32 `protobuf:"varint,6,opt,name=uncompressed_sample_offset,json=uncompressedSampleOffset" json:"uncompressed_sample_offset,omitempty"` } // Default values for CMsgVoiceAudio fields. const ( Default_CMsgVoiceAudio_Format = VoiceDataFormatT_VOICEDATA_FORMAT_STEAM ) func (x *CMsgVoiceAudio) Reset() { *x = CMsgVoiceAudio{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CMsgVoiceAudio) String() string { return protoimpl.X.MessageStringOf(x) } func (*CMsgVoiceAudio) ProtoMessage() {} func (x *CMsgVoiceAudio) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CMsgVoiceAudio.ProtoReflect.Descriptor instead. func (*CMsgVoiceAudio) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{2} } func (x *CMsgVoiceAudio) GetFormat() VoiceDataFormatT { if x != nil && x.Format != nil { return *x.Format } return Default_CMsgVoiceAudio_Format } func (x *CMsgVoiceAudio) GetVoiceData() []byte { if x != nil { return x.VoiceData } return nil } func (x *CMsgVoiceAudio) GetSequenceBytes() int32 { if x != nil && x.SequenceBytes != nil { return *x.SequenceBytes } return 0 } func (x *CMsgVoiceAudio) GetSectionNumber() uint32 { if x != nil && x.SectionNumber != nil { return *x.SectionNumber } return 0 } func (x *CMsgVoiceAudio) GetSampleRate() uint32 { if x != nil && x.SampleRate != nil { return *x.SampleRate } return 0 } func (x *CMsgVoiceAudio) GetUncompressedSampleOffset() uint32 { if x != nil && x.UncompressedSampleOffset != nil { return *x.UncompressedSampleOffset } return 0 } type CCLCMsg_VoiceData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Audio *CMsgVoiceAudio `protobuf:"bytes,1,opt,name=audio" json:"audio,omitempty"` Xuid *uint64 `protobuf:"fixed64,2,opt,name=xuid" json:"xuid,omitempty"` Tick *uint32 `protobuf:"varint,3,opt,name=tick" json:"tick,omitempty"` } func (x *CCLCMsg_VoiceData) Reset() { *x = CCLCMsg_VoiceData{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CCLCMsg_VoiceData) String() string { return protoimpl.X.MessageStringOf(x) } func (*CCLCMsg_VoiceData) ProtoMessage() {} func (x *CCLCMsg_VoiceData) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CCLCMsg_VoiceData.ProtoReflect.Descriptor instead. func (*CCLCMsg_VoiceData) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{3} } func (x *CCLCMsg_VoiceData) GetAudio() *CMsgVoiceAudio { if x != nil { return x.Audio } return nil } func (x *CCLCMsg_VoiceData) GetXuid() uint64 { if x != nil && x.Xuid != nil { return *x.Xuid } return 0 } func (x *CCLCMsg_VoiceData) GetTick() uint32 { if x != nil && x.Tick != nil { return *x.Tick } return 0 } type CCLCMsg_BaselineAck struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields BaselineTick *int32 `protobuf:"varint,1,opt,name=baseline_tick,json=baselineTick" json:"baseline_tick,omitempty"` BaselineNr *int32 `protobuf:"varint,2,opt,name=baseline_nr,json=baselineNr" json:"baseline_nr,omitempty"` } func (x *CCLCMsg_BaselineAck) Reset() { *x = CCLCMsg_BaselineAck{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CCLCMsg_BaselineAck) String() string { return protoimpl.X.MessageStringOf(x) } func (*CCLCMsg_BaselineAck) ProtoMessage() {} func (x *CCLCMsg_BaselineAck) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CCLCMsg_BaselineAck.ProtoReflect.Descriptor instead. func (*CCLCMsg_BaselineAck) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{4} } func (x *CCLCMsg_BaselineAck) GetBaselineTick() int32 { if x != nil && x.BaselineTick != nil { return *x.BaselineTick } return 0 } func (x *CCLCMsg_BaselineAck) GetBaselineNr() int32 { if x != nil && x.BaselineNr != nil { return *x.BaselineNr } return 0 } type CCLCMsg_ListenEvents struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields EventMask []uint32 `protobuf:"fixed32,1,rep,name=event_mask,json=eventMask" json:"event_mask,omitempty"` } func (x *CCLCMsg_ListenEvents) Reset() { *x = CCLCMsg_ListenEvents{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CCLCMsg_ListenEvents) String() string { return protoimpl.X.MessageStringOf(x) } func (*CCLCMsg_ListenEvents) ProtoMessage() {} func (x *CCLCMsg_ListenEvents) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CCLCMsg_ListenEvents.ProtoReflect.Descriptor instead. func (*CCLCMsg_ListenEvents) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{5} } func (x *CCLCMsg_ListenEvents) GetEventMask() []uint32 { if x != nil { return x.EventMask } return nil } type CCLCMsg_RespondCvarValue struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Cookie *int32 `protobuf:"varint,1,opt,name=cookie" json:"cookie,omitempty"` StatusCode *int32 `protobuf:"varint,2,opt,name=status_code,json=statusCode" json:"status_code,omitempty"` Name *string `protobuf:"bytes,3,opt,name=name" json:"name,omitempty"` Value *string `protobuf:"bytes,4,opt,name=value" json:"value,omitempty"` } func (x *CCLCMsg_RespondCvarValue) Reset() { *x = CCLCMsg_RespondCvarValue{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CCLCMsg_RespondCvarValue) String() string { return protoimpl.X.MessageStringOf(x) } func (*CCLCMsg_RespondCvarValue) ProtoMessage() {} func (x *CCLCMsg_RespondCvarValue) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CCLCMsg_RespondCvarValue.ProtoReflect.Descriptor instead. func (*CCLCMsg_RespondCvarValue) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{6} } func (x *CCLCMsg_RespondCvarValue) GetCookie() int32 { if x != nil && x.Cookie != nil { return *x.Cookie } return 0 } func (x *CCLCMsg_RespondCvarValue) GetStatusCode() int32 { if x != nil && x.StatusCode != nil { return *x.StatusCode } return 0 } func (x *CCLCMsg_RespondCvarValue) GetName() string { if x != nil && x.Name != nil { return *x.Name } return "" } func (x *CCLCMsg_RespondCvarValue) GetValue() string { if x != nil && x.Value != nil { return *x.Value } return "" } type CCLCMsg_FileCRCCheck struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CodePath *int32 `protobuf:"varint,1,opt,name=code_path,json=codePath" json:"code_path,omitempty"` Path *string `protobuf:"bytes,2,opt,name=path" json:"path,omitempty"` CodeFilename *int32 `protobuf:"varint,3,opt,name=code_filename,json=codeFilename" json:"code_filename,omitempty"` Filename *string `protobuf:"bytes,4,opt,name=filename" json:"filename,omitempty"` Crc *uint32 `protobuf:"fixed32,5,opt,name=crc" json:"crc,omitempty"` } func (x *CCLCMsg_FileCRCCheck) Reset() { *x = CCLCMsg_FileCRCCheck{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CCLCMsg_FileCRCCheck) String() string { return protoimpl.X.MessageStringOf(x) } func (*CCLCMsg_FileCRCCheck) ProtoMessage() {} func (x *CCLCMsg_FileCRCCheck) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CCLCMsg_FileCRCCheck.ProtoReflect.Descriptor instead. func (*CCLCMsg_FileCRCCheck) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{7} } func (x *CCLCMsg_FileCRCCheck) GetCodePath() int32 { if x != nil && x.CodePath != nil { return *x.CodePath } return 0 } func (x *CCLCMsg_FileCRCCheck) GetPath() string { if x != nil && x.Path != nil { return *x.Path } return "" } func (x *CCLCMsg_FileCRCCheck) GetCodeFilename() int32 { if x != nil && x.CodeFilename != nil { return *x.CodeFilename } return 0 } func (x *CCLCMsg_FileCRCCheck) GetFilename() string { if x != nil && x.Filename != nil { return *x.Filename } return "" } func (x *CCLCMsg_FileCRCCheck) GetCrc() uint32 { if x != nil && x.Crc != nil { return *x.Crc } return 0 } type CCLCMsg_LoadingProgress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Progress *int32 `protobuf:"varint,1,opt,name=progress" json:"progress,omitempty"` } func (x *CCLCMsg_LoadingProgress) Reset() { *x = CCLCMsg_LoadingProgress{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CCLCMsg_LoadingProgress) String() string { return protoimpl.X.MessageStringOf(x) } func (*CCLCMsg_LoadingProgress) ProtoMessage() {} func (x *CCLCMsg_LoadingProgress) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CCLCMsg_LoadingProgress.ProtoReflect.Descriptor instead. func (*CCLCMsg_LoadingProgress) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{8} } func (x *CCLCMsg_LoadingProgress) GetProgress() int32 { if x != nil && x.Progress != nil { return *x.Progress } return 0 } type CCLCMsg_SplitPlayerConnect struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Playername *string `protobuf:"bytes,1,opt,name=playername" json:"playername,omitempty"` } func (x *CCLCMsg_SplitPlayerConnect) Reset() { *x = CCLCMsg_SplitPlayerConnect{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CCLCMsg_SplitPlayerConnect) String() string { return protoimpl.X.MessageStringOf(x) } func (*CCLCMsg_SplitPlayerConnect) ProtoMessage() {} func (x *CCLCMsg_SplitPlayerConnect) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CCLCMsg_SplitPlayerConnect.ProtoReflect.Descriptor instead. func (*CCLCMsg_SplitPlayerConnect) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{9} } func (x *CCLCMsg_SplitPlayerConnect) GetPlayername() string { if x != nil && x.Playername != nil { return *x.Playername } return "" } type CCLCMsg_ClientMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MsgType *int32 `protobuf:"varint,1,opt,name=msg_type,json=msgType" json:"msg_type,omitempty"` Data []byte `protobuf:"bytes,2,opt,name=data" json:"data,omitempty"` } func (x *CCLCMsg_ClientMessage) Reset() { *x = CCLCMsg_ClientMessage{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CCLCMsg_ClientMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*CCLCMsg_ClientMessage) ProtoMessage() {} func (x *CCLCMsg_ClientMessage) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CCLCMsg_ClientMessage.ProtoReflect.Descriptor instead. func (*CCLCMsg_ClientMessage) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{10} } func (x *CCLCMsg_ClientMessage) GetMsgType() int32 { if x != nil && x.MsgType != nil { return *x.MsgType } return 0 } func (x *CCLCMsg_ClientMessage) GetData() []byte { if x != nil { return x.Data } return nil } type CCLCMsg_SplitPlayerDisconnect struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Slot *int32 `protobuf:"varint,1,opt,name=slot" json:"slot,omitempty"` } func (x *CCLCMsg_SplitPlayerDisconnect) Reset() { *x = CCLCMsg_SplitPlayerDisconnect{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CCLCMsg_SplitPlayerDisconnect) String() string { return protoimpl.X.MessageStringOf(x) } func (*CCLCMsg_SplitPlayerDisconnect) ProtoMessage() {} func (x *CCLCMsg_SplitPlayerDisconnect) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CCLCMsg_SplitPlayerDisconnect.ProtoReflect.Descriptor instead. func (*CCLCMsg_SplitPlayerDisconnect) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{11} } func (x *CCLCMsg_SplitPlayerDisconnect) GetSlot() int32 { if x != nil && x.Slot != nil { return *x.Slot } return 0 } type CCLCMsg_ServerStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Simplified *bool `protobuf:"varint,1,opt,name=simplified" json:"simplified,omitempty"` } func (x *CCLCMsg_ServerStatus) Reset() { *x = CCLCMsg_ServerStatus{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CCLCMsg_ServerStatus) String() string { return protoimpl.X.MessageStringOf(x) } func (*CCLCMsg_ServerStatus) ProtoMessage() {} func (x *CCLCMsg_ServerStatus) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CCLCMsg_ServerStatus.ProtoReflect.Descriptor instead. func (*CCLCMsg_ServerStatus) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{12} } func (x *CCLCMsg_ServerStatus) GetSimplified() bool { if x != nil && x.Simplified != nil { return *x.Simplified } return false } type CCLCMsg_ServerPing struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields } func (x *CCLCMsg_ServerPing) Reset() { *x = CCLCMsg_ServerPing{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CCLCMsg_ServerPing) String() string { return protoimpl.X.MessageStringOf(x) } func (*CCLCMsg_ServerPing) ProtoMessage() {} func (x *CCLCMsg_ServerPing) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CCLCMsg_ServerPing.ProtoReflect.Descriptor instead. func (*CCLCMsg_ServerPing) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{13} } type CCLCMsg_RequestPause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PauseType *RequestPauseT `protobuf:"varint,1,opt,name=pause_type,json=pauseType,enum=RequestPauseT,def=0" json:"pause_type,omitempty"` PauseGroup *int32 `protobuf:"varint,2,opt,name=pause_group,json=pauseGroup" json:"pause_group,omitempty"` } // Default values for CCLCMsg_RequestPause fields. const ( Default_CCLCMsg_RequestPause_PauseType = RequestPauseT_RP_PAUSE ) func (x *CCLCMsg_RequestPause) Reset() { *x = CCLCMsg_RequestPause{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CCLCMsg_RequestPause) String() string { return protoimpl.X.MessageStringOf(x) } func (*CCLCMsg_RequestPause) ProtoMessage() {} func (x *CCLCMsg_RequestPause) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CCLCMsg_RequestPause.ProtoReflect.Descriptor instead. func (*CCLCMsg_RequestPause) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{14} } func (x *CCLCMsg_RequestPause) GetPauseType() RequestPauseT { if x != nil && x.PauseType != nil { return *x.PauseType } return Default_CCLCMsg_RequestPause_PauseType } func (x *CCLCMsg_RequestPause) GetPauseGroup() int32 { if x != nil && x.PauseGroup != nil { return *x.PauseGroup } return 0 } type CCLCMsg_CmdKeyValues struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data []byte `protobuf:"bytes,1,opt,name=data" json:"data,omitempty"` } func (x *CCLCMsg_CmdKeyValues) Reset() { *x = CCLCMsg_CmdKeyValues{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CCLCMsg_CmdKeyValues) String() string { return protoimpl.X.MessageStringOf(x) } func (*CCLCMsg_CmdKeyValues) ProtoMessage() {} func (x *CCLCMsg_CmdKeyValues) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CCLCMsg_CmdKeyValues.ProtoReflect.Descriptor instead. func (*CCLCMsg_CmdKeyValues) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{15} } func (x *CCLCMsg_CmdKeyValues) GetData() []byte { if x != nil { return x.Data } return nil } type CCLCMsg_RconServerDetails struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Token []byte `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` } func (x *CCLCMsg_RconServerDetails) Reset() { *x = CCLCMsg_RconServerDetails{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CCLCMsg_RconServerDetails) String() string { return protoimpl.X.MessageStringOf(x) } func (*CCLCMsg_RconServerDetails) ProtoMessage() {} func (x *CCLCMsg_RconServerDetails) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CCLCMsg_RconServerDetails.ProtoReflect.Descriptor instead. func (*CCLCMsg_RconServerDetails) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{16} } func (x *CCLCMsg_RconServerDetails) GetToken() []byte { if x != nil { return x.Token } return nil } type CSVCMsg_ServerInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Protocol *int32 `protobuf:"varint,1,opt,name=protocol" json:"protocol,omitempty"` ServerCount *int32 `protobuf:"varint,2,opt,name=server_count,json=serverCount" json:"server_count,omitempty"` IsDedicated *bool `protobuf:"varint,3,opt,name=is_dedicated,json=isDedicated" json:"is_dedicated,omitempty"` IsHltv *bool `protobuf:"varint,4,opt,name=is_hltv,json=isHltv" json:"is_hltv,omitempty"` COs *int32 `protobuf:"varint,6,opt,name=c_os,json=cOs" json:"c_os,omitempty"` MaxClients *int32 `protobuf:"varint,10,opt,name=max_clients,json=maxClients" json:"max_clients,omitempty"` MaxClasses *int32 `protobuf:"varint,11,opt,name=max_classes,json=maxClasses" json:"max_classes,omitempty"` PlayerSlot *int32 `protobuf:"varint,12,opt,name=player_slot,json=playerSlot" json:"player_slot,omitempty"` TickInterval *float32 `protobuf:"fixed32,13,opt,name=tick_interval,json=tickInterval" json:"tick_interval,omitempty"` GameDir *string `protobuf:"bytes,14,opt,name=game_dir,json=gameDir" json:"game_dir,omitempty"` MapName *string `protobuf:"bytes,15,opt,name=map_name,json=mapName" json:"map_name,omitempty"` SkyName *string `protobuf:"bytes,16,opt,name=sky_name,json=skyName" json:"sky_name,omitempty"` HostName *string `protobuf:"bytes,17,opt,name=host_name,json=hostName" json:"host_name,omitempty"` AddonName *string `protobuf:"bytes,18,opt,name=addon_name,json=addonName" json:"addon_name,omitempty"` GameSessionConfig *CSVCMsg_GameSessionConfiguration `protobuf:"bytes,19,opt,name=game_session_config,json=gameSessionConfig" json:"game_session_config,omitempty"` GameSessionManifest []byte `protobuf:"bytes,20,opt,name=game_session_manifest,json=gameSessionManifest" json:"game_session_manifest,omitempty"` } func (x *CSVCMsg_ServerInfo) Reset() { *x = CSVCMsg_ServerInfo{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_ServerInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_ServerInfo) ProtoMessage() {} func (x *CSVCMsg_ServerInfo) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_ServerInfo.ProtoReflect.Descriptor instead. func (*CSVCMsg_ServerInfo) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{17} } func (x *CSVCMsg_ServerInfo) GetProtocol() int32 { if x != nil && x.Protocol != nil { return *x.Protocol } return 0 } func (x *CSVCMsg_ServerInfo) GetServerCount() int32 { if x != nil && x.ServerCount != nil { return *x.ServerCount } return 0 } func (x *CSVCMsg_ServerInfo) GetIsDedicated() bool { if x != nil && x.IsDedicated != nil { return *x.IsDedicated } return false } func (x *CSVCMsg_ServerInfo) GetIsHltv() bool { if x != nil && x.IsHltv != nil { return *x.IsHltv } return false } func (x *CSVCMsg_ServerInfo) GetCOs() int32 { if x != nil && x.COs != nil { return *x.COs } return 0 } func (x *CSVCMsg_ServerInfo) GetMaxClients() int32 { if x != nil && x.MaxClients != nil { return *x.MaxClients } return 0 } func (x *CSVCMsg_ServerInfo) GetMaxClasses() int32 { if x != nil && x.MaxClasses != nil { return *x.MaxClasses } return 0 } func (x *CSVCMsg_ServerInfo) GetPlayerSlot() int32 { if x != nil && x.PlayerSlot != nil { return *x.PlayerSlot } return 0 } func (x *CSVCMsg_ServerInfo) GetTickInterval() float32 { if x != nil && x.TickInterval != nil { return *x.TickInterval } return 0 } func (x *CSVCMsg_ServerInfo) GetGameDir() string { if x != nil && x.GameDir != nil { return *x.GameDir } return "" } func (x *CSVCMsg_ServerInfo) GetMapName() string { if x != nil && x.MapName != nil { return *x.MapName } return "" } func (x *CSVCMsg_ServerInfo) GetSkyName() string { if x != nil && x.SkyName != nil { return *x.SkyName } return "" } func (x *CSVCMsg_ServerInfo) GetHostName() string { if x != nil && x.HostName != nil { return *x.HostName } return "" } func (x *CSVCMsg_ServerInfo) GetAddonName() string { if x != nil && x.AddonName != nil { return *x.AddonName } return "" } func (x *CSVCMsg_ServerInfo) GetGameSessionConfig() *CSVCMsg_GameSessionConfiguration { if x != nil { return x.GameSessionConfig } return nil } func (x *CSVCMsg_ServerInfo) GetGameSessionManifest() []byte { if x != nil { return x.GameSessionManifest } return nil } type CSVCMsg_ClassInfo struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CreateOnClient *bool `protobuf:"varint,1,opt,name=create_on_client,json=createOnClient" json:"create_on_client,omitempty"` Classes []*CSVCMsg_ClassInfoClassT `protobuf:"bytes,2,rep,name=classes" json:"classes,omitempty"` } func (x *CSVCMsg_ClassInfo) Reset() { *x = CSVCMsg_ClassInfo{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_ClassInfo) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_ClassInfo) ProtoMessage() {} func (x *CSVCMsg_ClassInfo) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_ClassInfo.ProtoReflect.Descriptor instead. func (*CSVCMsg_ClassInfo) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{18} } func (x *CSVCMsg_ClassInfo) GetCreateOnClient() bool { if x != nil && x.CreateOnClient != nil { return *x.CreateOnClient } return false } func (x *CSVCMsg_ClassInfo) GetClasses() []*CSVCMsg_ClassInfoClassT { if x != nil { return x.Classes } return nil } type CSVCMsg_SetPause struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Paused *bool `protobuf:"varint,1,opt,name=paused" json:"paused,omitempty"` } func (x *CSVCMsg_SetPause) Reset() { *x = CSVCMsg_SetPause{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_SetPause) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_SetPause) ProtoMessage() {} func (x *CSVCMsg_SetPause) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_SetPause.ProtoReflect.Descriptor instead. func (*CSVCMsg_SetPause) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{19} } func (x *CSVCMsg_SetPause) GetPaused() bool { if x != nil && x.Paused != nil { return *x.Paused } return false } type CSVCMsg_VoiceInit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Quality *int32 `protobuf:"varint,1,opt,name=quality" json:"quality,omitempty"` Codec *string `protobuf:"bytes,2,opt,name=codec" json:"codec,omitempty"` Version *int32 `protobuf:"varint,3,opt,name=version,def=0" json:"version,omitempty"` } // Default values for CSVCMsg_VoiceInit fields. const ( Default_CSVCMsg_VoiceInit_Version = int32(0) ) func (x *CSVCMsg_VoiceInit) Reset() { *x = CSVCMsg_VoiceInit{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_VoiceInit) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_VoiceInit) ProtoMessage() {} func (x *CSVCMsg_VoiceInit) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_VoiceInit.ProtoReflect.Descriptor instead. func (*CSVCMsg_VoiceInit) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{20} } func (x *CSVCMsg_VoiceInit) GetQuality() int32 { if x != nil && x.Quality != nil { return *x.Quality } return 0 } func (x *CSVCMsg_VoiceInit) GetCodec() string { if x != nil && x.Codec != nil { return *x.Codec } return "" } func (x *CSVCMsg_VoiceInit) GetVersion() int32 { if x != nil && x.Version != nil { return *x.Version } return Default_CSVCMsg_VoiceInit_Version } type CSVCMsg_Print struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Text *string `protobuf:"bytes,1,opt,name=text" json:"text,omitempty"` } func (x *CSVCMsg_Print) Reset() { *x = CSVCMsg_Print{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_Print) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_Print) ProtoMessage() {} func (x *CSVCMsg_Print) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_Print.ProtoReflect.Descriptor instead. func (*CSVCMsg_Print) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{21} } func (x *CSVCMsg_Print) GetText() string { if x != nil && x.Text != nil { return *x.Text } return "" } type CSVCMsg_Sounds struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ReliableSound *bool `protobuf:"varint,1,opt,name=reliable_sound,json=reliableSound" json:"reliable_sound,omitempty"` Sounds []*CSVCMsg_SoundsSounddataT `protobuf:"bytes,2,rep,name=sounds" json:"sounds,omitempty"` } func (x *CSVCMsg_Sounds) Reset() { *x = CSVCMsg_Sounds{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_Sounds) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_Sounds) ProtoMessage() {} func (x *CSVCMsg_Sounds) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_Sounds.ProtoReflect.Descriptor instead. func (*CSVCMsg_Sounds) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{22} } func (x *CSVCMsg_Sounds) GetReliableSound() bool { if x != nil && x.ReliableSound != nil { return *x.ReliableSound } return false } func (x *CSVCMsg_Sounds) GetSounds() []*CSVCMsg_SoundsSounddataT { if x != nil { return x.Sounds } return nil } type CSVCMsg_Prefetch struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SoundIndex *int32 `protobuf:"varint,1,opt,name=sound_index,json=soundIndex" json:"sound_index,omitempty"` ResourceType *PrefetchType `protobuf:"varint,2,opt,name=resource_type,json=resourceType,enum=PrefetchType,def=0" json:"resource_type,omitempty"` } // Default values for CSVCMsg_Prefetch fields. const ( Default_CSVCMsg_Prefetch_ResourceType = PrefetchType_PFT_SOUND ) func (x *CSVCMsg_Prefetch) Reset() { *x = CSVCMsg_Prefetch{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_Prefetch) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_Prefetch) ProtoMessage() {} func (x *CSVCMsg_Prefetch) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_Prefetch.ProtoReflect.Descriptor instead. func (*CSVCMsg_Prefetch) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{23} } func (x *CSVCMsg_Prefetch) GetSoundIndex() int32 { if x != nil && x.SoundIndex != nil { return *x.SoundIndex } return 0 } func (x *CSVCMsg_Prefetch) GetResourceType() PrefetchType { if x != nil && x.ResourceType != nil { return *x.ResourceType } return Default_CSVCMsg_Prefetch_ResourceType } type CSVCMsg_SetView struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields EntityIndex *int32 `protobuf:"varint,1,opt,name=entity_index,json=entityIndex" json:"entity_index,omitempty"` Slot *int32 `protobuf:"varint,2,opt,name=slot" json:"slot,omitempty"` } func (x *CSVCMsg_SetView) Reset() { *x = CSVCMsg_SetView{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_SetView) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_SetView) ProtoMessage() {} func (x *CSVCMsg_SetView) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_SetView.ProtoReflect.Descriptor instead. func (*CSVCMsg_SetView) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{24} } func (x *CSVCMsg_SetView) GetEntityIndex() int32 { if x != nil && x.EntityIndex != nil { return *x.EntityIndex } return 0 } func (x *CSVCMsg_SetView) GetSlot() int32 { if x != nil && x.Slot != nil { return *x.Slot } return 0 } type CSVCMsg_FixAngle struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Relative *bool `protobuf:"varint,1,opt,name=relative" json:"relative,omitempty"` Angle *CMsgQAngle `protobuf:"bytes,2,opt,name=angle" json:"angle,omitempty"` } func (x *CSVCMsg_FixAngle) Reset() { *x = CSVCMsg_FixAngle{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_FixAngle) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_FixAngle) ProtoMessage() {} func (x *CSVCMsg_FixAngle) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_FixAngle.ProtoReflect.Descriptor instead. func (*CSVCMsg_FixAngle) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{25} } func (x *CSVCMsg_FixAngle) GetRelative() bool { if x != nil && x.Relative != nil { return *x.Relative } return false } func (x *CSVCMsg_FixAngle) GetAngle() *CMsgQAngle { if x != nil { return x.Angle } return nil } type CSVCMsg_CrosshairAngle struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Angle *CMsgQAngle `protobuf:"bytes,1,opt,name=angle" json:"angle,omitempty"` } func (x *CSVCMsg_CrosshairAngle) Reset() { *x = CSVCMsg_CrosshairAngle{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_CrosshairAngle) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_CrosshairAngle) ProtoMessage() {} func (x *CSVCMsg_CrosshairAngle) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_CrosshairAngle.ProtoReflect.Descriptor instead. func (*CSVCMsg_CrosshairAngle) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{26} } func (x *CSVCMsg_CrosshairAngle) GetAngle() *CMsgQAngle { if x != nil { return x.Angle } return nil } type CSVCMsg_BSPDecal struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Pos *CMsgVector `protobuf:"bytes,1,opt,name=pos" json:"pos,omitempty"` DecalTextureIndex *int32 `protobuf:"varint,2,opt,name=decal_texture_index,json=decalTextureIndex" json:"decal_texture_index,omitempty"` EntityIndex *int32 `protobuf:"varint,3,opt,name=entity_index,json=entityIndex" json:"entity_index,omitempty"` ModelIndex *int32 `protobuf:"varint,4,opt,name=model_index,json=modelIndex" json:"model_index,omitempty"` LowPriority *bool `protobuf:"varint,5,opt,name=low_priority,json=lowPriority" json:"low_priority,omitempty"` } func (x *CSVCMsg_BSPDecal) Reset() { *x = CSVCMsg_BSPDecal{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_BSPDecal) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_BSPDecal) ProtoMessage() {} func (x *CSVCMsg_BSPDecal) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_BSPDecal.ProtoReflect.Descriptor instead. func (*CSVCMsg_BSPDecal) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{27} } func (x *CSVCMsg_BSPDecal) GetPos() *CMsgVector { if x != nil { return x.Pos } return nil } func (x *CSVCMsg_BSPDecal) GetDecalTextureIndex() int32 { if x != nil && x.DecalTextureIndex != nil { return *x.DecalTextureIndex } return 0 } func (x *CSVCMsg_BSPDecal) GetEntityIndex() int32 { if x != nil && x.EntityIndex != nil { return *x.EntityIndex } return 0 } func (x *CSVCMsg_BSPDecal) GetModelIndex() int32 { if x != nil && x.ModelIndex != nil { return *x.ModelIndex } return 0 } func (x *CSVCMsg_BSPDecal) GetLowPriority() bool { if x != nil && x.LowPriority != nil { return *x.LowPriority } return false } type CSVCMsg_SplitScreen struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Type *ESplitScreenMessageType `protobuf:"varint,1,opt,name=type,enum=ESplitScreenMessageType,def=0" json:"type,omitempty"` Slot *int32 `protobuf:"varint,2,opt,name=slot" json:"slot,omitempty"` PlayerIndex *int32 `protobuf:"varint,3,opt,name=player_index,json=playerIndex" json:"player_index,omitempty"` } // Default values for CSVCMsg_SplitScreen fields. const ( Default_CSVCMsg_SplitScreen_Type = ESplitScreenMessageType_MSG_SPLITSCREEN_ADDUSER ) func (x *CSVCMsg_SplitScreen) Reset() { *x = CSVCMsg_SplitScreen{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_SplitScreen) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_SplitScreen) ProtoMessage() {} func (x *CSVCMsg_SplitScreen) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_SplitScreen.ProtoReflect.Descriptor instead. func (*CSVCMsg_SplitScreen) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{28} } func (x *CSVCMsg_SplitScreen) GetType() ESplitScreenMessageType { if x != nil && x.Type != nil { return *x.Type } return Default_CSVCMsg_SplitScreen_Type } func (x *CSVCMsg_SplitScreen) GetSlot() int32 { if x != nil && x.Slot != nil { return *x.Slot } return 0 } func (x *CSVCMsg_SplitScreen) GetPlayerIndex() int32 { if x != nil && x.PlayerIndex != nil { return *x.PlayerIndex } return 0 } type CSVCMsg_GetCvarValue struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Cookie *int32 `protobuf:"varint,1,opt,name=cookie" json:"cookie,omitempty"` CvarName *string `protobuf:"bytes,2,opt,name=cvar_name,json=cvarName" json:"cvar_name,omitempty"` } func (x *CSVCMsg_GetCvarValue) Reset() { *x = CSVCMsg_GetCvarValue{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_GetCvarValue) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_GetCvarValue) ProtoMessage() {} func (x *CSVCMsg_GetCvarValue) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_GetCvarValue.ProtoReflect.Descriptor instead. func (*CSVCMsg_GetCvarValue) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{29} } func (x *CSVCMsg_GetCvarValue) GetCookie() int32 { if x != nil && x.Cookie != nil { return *x.Cookie } return 0 } func (x *CSVCMsg_GetCvarValue) GetCvarName() string { if x != nil && x.CvarName != nil { return *x.CvarName } return "" } type CSVCMsg_Menu struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields DialogType *int32 `protobuf:"varint,1,opt,name=dialog_type,json=dialogType" json:"dialog_type,omitempty"` MenuKeyValues []byte `protobuf:"bytes,2,opt,name=menu_key_values,json=menuKeyValues" json:"menu_key_values,omitempty"` } func (x *CSVCMsg_Menu) Reset() { *x = CSVCMsg_Menu{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_Menu) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_Menu) ProtoMessage() {} func (x *CSVCMsg_Menu) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[30] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_Menu.ProtoReflect.Descriptor instead. func (*CSVCMsg_Menu) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{30} } func (x *CSVCMsg_Menu) GetDialogType() int32 { if x != nil && x.DialogType != nil { return *x.DialogType } return 0 } func (x *CSVCMsg_Menu) GetMenuKeyValues() []byte { if x != nil { return x.MenuKeyValues } return nil } type CSVCMsg_UserMessage struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MsgType *int32 `protobuf:"varint,1,opt,name=msg_type,json=msgType" json:"msg_type,omitempty"` MsgData []byte `protobuf:"bytes,2,opt,name=msg_data,json=msgData" json:"msg_data,omitempty"` Passthrough *int32 `protobuf:"varint,3,opt,name=passthrough" json:"passthrough,omitempty"` } func (x *CSVCMsg_UserMessage) Reset() { *x = CSVCMsg_UserMessage{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_UserMessage) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_UserMessage) ProtoMessage() {} func (x *CSVCMsg_UserMessage) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[31] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_UserMessage.ProtoReflect.Descriptor instead. func (*CSVCMsg_UserMessage) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{31} } func (x *CSVCMsg_UserMessage) GetMsgType() int32 { if x != nil && x.MsgType != nil { return *x.MsgType } return 0 } func (x *CSVCMsg_UserMessage) GetMsgData() []byte { if x != nil { return x.MsgData } return nil } func (x *CSVCMsg_UserMessage) GetPassthrough() int32 { if x != nil && x.Passthrough != nil { return *x.Passthrough } return 0 } type CSVCMsg_SendTable struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields IsEnd *bool `protobuf:"varint,1,opt,name=is_end,json=isEnd" json:"is_end,omitempty"` NetTableName *string `protobuf:"bytes,2,opt,name=net_table_name,json=netTableName" json:"net_table_name,omitempty"` NeedsDecoder *bool `protobuf:"varint,3,opt,name=needs_decoder,json=needsDecoder" json:"needs_decoder,omitempty"` Props []*CSVCMsg_SendTableSendpropT `protobuf:"bytes,4,rep,name=props" json:"props,omitempty"` } func (x *CSVCMsg_SendTable) Reset() { *x = CSVCMsg_SendTable{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_SendTable) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_SendTable) ProtoMessage() {} func (x *CSVCMsg_SendTable) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[32] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_SendTable.ProtoReflect.Descriptor instead. func (*CSVCMsg_SendTable) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{32} } func (x *CSVCMsg_SendTable) GetIsEnd() bool { if x != nil && x.IsEnd != nil { return *x.IsEnd } return false } func (x *CSVCMsg_SendTable) GetNetTableName() string { if x != nil && x.NetTableName != nil { return *x.NetTableName } return "" } func (x *CSVCMsg_SendTable) GetNeedsDecoder() bool { if x != nil && x.NeedsDecoder != nil { return *x.NeedsDecoder } return false } func (x *CSVCMsg_SendTable) GetProps() []*CSVCMsg_SendTableSendpropT { if x != nil { return x.Props } return nil } type CSVCMsg_GameEventList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Descriptors []*CSVCMsg_GameEventListDescriptorT `protobuf:"bytes,1,rep,name=descriptors" json:"descriptors,omitempty"` } func (x *CSVCMsg_GameEventList) Reset() { *x = CSVCMsg_GameEventList{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_GameEventList) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_GameEventList) ProtoMessage() {} func (x *CSVCMsg_GameEventList) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[33] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_GameEventList.ProtoReflect.Descriptor instead. func (*CSVCMsg_GameEventList) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{33} } func (x *CSVCMsg_GameEventList) GetDescriptors() []*CSVCMsg_GameEventListDescriptorT { if x != nil { return x.Descriptors } return nil } type CSVCMsg_PacketEntities struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields MaxEntries *int32 `protobuf:"varint,1,opt,name=max_entries,json=maxEntries" json:"max_entries,omitempty"` UpdatedEntries *int32 `protobuf:"varint,2,opt,name=updated_entries,json=updatedEntries" json:"updated_entries,omitempty"` IsDelta *bool `protobuf:"varint,3,opt,name=is_delta,json=isDelta" json:"is_delta,omitempty"` UpdateBaseline *bool `protobuf:"varint,4,opt,name=update_baseline,json=updateBaseline" json:"update_baseline,omitempty"` Baseline *int32 `protobuf:"varint,5,opt,name=baseline" json:"baseline,omitempty"` DeltaFrom *int32 `protobuf:"varint,6,opt,name=delta_from,json=deltaFrom" json:"delta_from,omitempty"` EntityData []byte `protobuf:"bytes,7,opt,name=entity_data,json=entityData" json:"entity_data,omitempty"` PendingFullFrame *bool `protobuf:"varint,8,opt,name=pending_full_frame,json=pendingFullFrame" json:"pending_full_frame,omitempty"` ActiveSpawngroupHandle *uint32 `protobuf:"varint,9,opt,name=active_spawngroup_handle,json=activeSpawngroupHandle" json:"active_spawngroup_handle,omitempty"` MaxSpawngroupCreationsequence *uint32 `protobuf:"varint,10,opt,name=max_spawngroup_creationsequence,json=maxSpawngroupCreationsequence" json:"max_spawngroup_creationsequence,omitempty"` LastCmdNumber *uint32 `protobuf:"varint,11,opt,name=last_cmd_number,json=lastCmdNumber" json:"last_cmd_number,omitempty"` ServerTick *uint32 `protobuf:"varint,12,opt,name=server_tick,json=serverTick" json:"server_tick,omitempty"` SerializedEntities []byte `protobuf:"bytes,13,opt,name=serialized_entities,json=serializedEntities" json:"serialized_entities,omitempty"` CommandQueueInfo *CSVCMsg_PacketEntitiesCommandQueueInfoT `protobuf:"bytes,14,opt,name=command_queue_info,json=commandQueueInfo" json:"command_queue_info,omitempty"` } func (x *CSVCMsg_PacketEntities) Reset() { *x = CSVCMsg_PacketEntities{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_PacketEntities) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_PacketEntities) ProtoMessage() {} func (x *CSVCMsg_PacketEntities) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[34] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_PacketEntities.ProtoReflect.Descriptor instead. func (*CSVCMsg_PacketEntities) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{34} } func (x *CSVCMsg_PacketEntities) GetMaxEntries() int32 { if x != nil && x.MaxEntries != nil { return *x.MaxEntries } return 0 } func (x *CSVCMsg_PacketEntities) GetUpdatedEntries() int32 { if x != nil && x.UpdatedEntries != nil { return *x.UpdatedEntries } return 0 } func (x *CSVCMsg_PacketEntities) GetIsDelta() bool { if x != nil && x.IsDelta != nil { return *x.IsDelta } return false } func (x *CSVCMsg_PacketEntities) GetUpdateBaseline() bool { if x != nil && x.UpdateBaseline != nil { return *x.UpdateBaseline } return false } func (x *CSVCMsg_PacketEntities) GetBaseline() int32 { if x != nil && x.Baseline != nil { return *x.Baseline } return 0 } func (x *CSVCMsg_PacketEntities) GetDeltaFrom() int32 { if x != nil && x.DeltaFrom != nil { return *x.DeltaFrom } return 0 } func (x *CSVCMsg_PacketEntities) GetEntityData() []byte { if x != nil { return x.EntityData } return nil } func (x *CSVCMsg_PacketEntities) GetPendingFullFrame() bool { if x != nil && x.PendingFullFrame != nil { return *x.PendingFullFrame } return false } func (x *CSVCMsg_PacketEntities) GetActiveSpawngroupHandle() uint32 { if x != nil && x.ActiveSpawngroupHandle != nil { return *x.ActiveSpawngroupHandle } return 0 } func (x *CSVCMsg_PacketEntities) GetMaxSpawngroupCreationsequence() uint32 { if x != nil && x.MaxSpawngroupCreationsequence != nil { return *x.MaxSpawngroupCreationsequence } return 0 } func (x *CSVCMsg_PacketEntities) GetLastCmdNumber() uint32 { if x != nil && x.LastCmdNumber != nil { return *x.LastCmdNumber } return 0 } func (x *CSVCMsg_PacketEntities) GetServerTick() uint32 { if x != nil && x.ServerTick != nil { return *x.ServerTick } return 0 } func (x *CSVCMsg_PacketEntities) GetSerializedEntities() []byte { if x != nil { return x.SerializedEntities } return nil } func (x *CSVCMsg_PacketEntities) GetCommandQueueInfo() *CSVCMsg_PacketEntitiesCommandQueueInfoT { if x != nil { return x.CommandQueueInfo } return nil } type CSVCMsg_TempEntities struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Reliable *bool `protobuf:"varint,1,opt,name=reliable" json:"reliable,omitempty"` NumEntries *int32 `protobuf:"varint,2,opt,name=num_entries,json=numEntries" json:"num_entries,omitempty"` EntityData []byte `protobuf:"bytes,3,opt,name=entity_data,json=entityData" json:"entity_data,omitempty"` } func (x *CSVCMsg_TempEntities) Reset() { *x = CSVCMsg_TempEntities{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_TempEntities) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_TempEntities) ProtoMessage() {} func (x *CSVCMsg_TempEntities) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[35] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_TempEntities.ProtoReflect.Descriptor instead. func (*CSVCMsg_TempEntities) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{35} } func (x *CSVCMsg_TempEntities) GetReliable() bool { if x != nil && x.Reliable != nil { return *x.Reliable } return false } func (x *CSVCMsg_TempEntities) GetNumEntries() int32 { if x != nil && x.NumEntries != nil { return *x.NumEntries } return 0 } func (x *CSVCMsg_TempEntities) GetEntityData() []byte { if x != nil { return x.EntityData } return nil } type CSVCMsg_CreateStringTable struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Name *string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"` NumEntries *int32 `protobuf:"varint,2,opt,name=num_entries,json=numEntries" json:"num_entries,omitempty"` UserDataFixedSize *bool `protobuf:"varint,3,opt,name=user_data_fixed_size,json=userDataFixedSize" json:"user_data_fixed_size,omitempty"` UserDataSize *int32 `protobuf:"varint,4,opt,name=user_data_size,json=userDataSize" json:"user_data_size,omitempty"` UserDataSizeBits *int32 `protobuf:"varint,5,opt,name=user_data_size_bits,json=userDataSizeBits" json:"user_data_size_bits,omitempty"` Flags *int32 `protobuf:"varint,6,opt,name=flags" json:"flags,omitempty"` StringData []byte `protobuf:"bytes,7,opt,name=string_data,json=stringData" json:"string_data,omitempty"` UncompressedSize *int32 `protobuf:"varint,8,opt,name=uncompressed_size,json=uncompressedSize" json:"uncompressed_size,omitempty"` DataCompressed *bool `protobuf:"varint,9,opt,name=data_compressed,json=dataCompressed" json:"data_compressed,omitempty"` } func (x *CSVCMsg_CreateStringTable) Reset() { *x = CSVCMsg_CreateStringTable{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_CreateStringTable) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_CreateStringTable) ProtoMessage() {} func (x *CSVCMsg_CreateStringTable) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[36] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_CreateStringTable.ProtoReflect.Descriptor instead. func (*CSVCMsg_CreateStringTable) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{36} } func (x *CSVCMsg_CreateStringTable) GetName() string { if x != nil && x.Name != nil { return *x.Name } return "" } func (x *CSVCMsg_CreateStringTable) GetNumEntries() int32 { if x != nil && x.NumEntries != nil { return *x.NumEntries } return 0 } func (x *CSVCMsg_CreateStringTable) GetUserDataFixedSize() bool { if x != nil && x.UserDataFixedSize != nil { return *x.UserDataFixedSize } return false } func (x *CSVCMsg_CreateStringTable) GetUserDataSize() int32 { if x != nil && x.UserDataSize != nil { return *x.UserDataSize } return 0 } func (x *CSVCMsg_CreateStringTable) GetUserDataSizeBits() int32 { if x != nil && x.UserDataSizeBits != nil { return *x.UserDataSizeBits } return 0 } func (x *CSVCMsg_CreateStringTable) GetFlags() int32 { if x != nil && x.Flags != nil { return *x.Flags } return 0 } func (x *CSVCMsg_CreateStringTable) GetStringData() []byte { if x != nil { return x.StringData } return nil } func (x *CSVCMsg_CreateStringTable) GetUncompressedSize() int32 { if x != nil && x.UncompressedSize != nil { return *x.UncompressedSize } return 0 } func (x *CSVCMsg_CreateStringTable) GetDataCompressed() bool { if x != nil && x.DataCompressed != nil { return *x.DataCompressed } return false } type CSVCMsg_UpdateStringTable struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields TableId *int32 `protobuf:"varint,1,opt,name=table_id,json=tableId" json:"table_id,omitempty"` NumChangedEntries *int32 `protobuf:"varint,2,opt,name=num_changed_entries,json=numChangedEntries" json:"num_changed_entries,omitempty"` StringData []byte `protobuf:"bytes,3,opt,name=string_data,json=stringData" json:"string_data,omitempty"` } func (x *CSVCMsg_UpdateStringTable) Reset() { *x = CSVCMsg_UpdateStringTable{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_UpdateStringTable) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_UpdateStringTable) ProtoMessage() {} func (x *CSVCMsg_UpdateStringTable) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_UpdateStringTable.ProtoReflect.Descriptor instead. func (*CSVCMsg_UpdateStringTable) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{37} } func (x *CSVCMsg_UpdateStringTable) GetTableId() int32 { if x != nil && x.TableId != nil { return *x.TableId } return 0 } func (x *CSVCMsg_UpdateStringTable) GetNumChangedEntries() int32 { if x != nil && x.NumChangedEntries != nil { return *x.NumChangedEntries } return 0 } func (x *CSVCMsg_UpdateStringTable) GetStringData() []byte { if x != nil { return x.StringData } return nil } type CSVCMsg_VoiceData struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Audio *CMsgVoiceAudio `protobuf:"bytes,1,opt,name=audio" json:"audio,omitempty"` Client *int32 `protobuf:"varint,2,opt,name=client" json:"client,omitempty"` Proximity *bool `protobuf:"varint,3,opt,name=proximity" json:"proximity,omitempty"` Xuid *uint64 `protobuf:"fixed64,4,opt,name=xuid" json:"xuid,omitempty"` AudibleMask *int32 `protobuf:"varint,5,opt,name=audible_mask,json=audibleMask" json:"audible_mask,omitempty"` Tick *uint32 `protobuf:"varint,6,opt,name=tick" json:"tick,omitempty"` } func (x *CSVCMsg_VoiceData) Reset() { *x = CSVCMsg_VoiceData{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_VoiceData) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_VoiceData) ProtoMessage() {} func (x *CSVCMsg_VoiceData) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_VoiceData.ProtoReflect.Descriptor instead. func (*CSVCMsg_VoiceData) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{38} } func (x *CSVCMsg_VoiceData) GetAudio() *CMsgVoiceAudio { if x != nil { return x.Audio } return nil } func (x *CSVCMsg_VoiceData) GetClient() int32 { if x != nil && x.Client != nil { return *x.Client } return 0 } func (x *CSVCMsg_VoiceData) GetProximity() bool { if x != nil && x.Proximity != nil { return *x.Proximity } return false } func (x *CSVCMsg_VoiceData) GetXuid() uint64 { if x != nil && x.Xuid != nil { return *x.Xuid } return 0 } func (x *CSVCMsg_VoiceData) GetAudibleMask() int32 { if x != nil && x.AudibleMask != nil { return *x.AudibleMask } return 0 } func (x *CSVCMsg_VoiceData) GetTick() uint32 { if x != nil && x.Tick != nil { return *x.Tick } return 0 } type CSVCMsg_PacketReliable struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tick *int32 `protobuf:"varint,1,opt,name=tick" json:"tick,omitempty"` Messagessize *int32 `protobuf:"varint,2,opt,name=messagessize" json:"messagessize,omitempty"` State *bool `protobuf:"varint,3,opt,name=state" json:"state,omitempty"` } func (x *CSVCMsg_PacketReliable) Reset() { *x = CSVCMsg_PacketReliable{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_PacketReliable) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_PacketReliable) ProtoMessage() {} func (x *CSVCMsg_PacketReliable) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_PacketReliable.ProtoReflect.Descriptor instead. func (*CSVCMsg_PacketReliable) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{39} } func (x *CSVCMsg_PacketReliable) GetTick() int32 { if x != nil && x.Tick != nil { return *x.Tick } return 0 } func (x *CSVCMsg_PacketReliable) GetMessagessize() int32 { if x != nil && x.Messagessize != nil { return *x.Messagessize } return 0 } func (x *CSVCMsg_PacketReliable) GetState() bool { if x != nil && x.State != nil { return *x.State } return false } type CSVCMsg_FullFrameSplit struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tick *int32 `protobuf:"varint,1,opt,name=tick" json:"tick,omitempty"` Section *int32 `protobuf:"varint,2,opt,name=section" json:"section,omitempty"` Total *int32 `protobuf:"varint,3,opt,name=total" json:"total,omitempty"` Data []byte `protobuf:"bytes,4,opt,name=data" json:"data,omitempty"` } func (x *CSVCMsg_FullFrameSplit) Reset() { *x = CSVCMsg_FullFrameSplit{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_FullFrameSplit) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_FullFrameSplit) ProtoMessage() {} func (x *CSVCMsg_FullFrameSplit) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_FullFrameSplit.ProtoReflect.Descriptor instead. func (*CSVCMsg_FullFrameSplit) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{40} } func (x *CSVCMsg_FullFrameSplit) GetTick() int32 { if x != nil && x.Tick != nil { return *x.Tick } return 0 } func (x *CSVCMsg_FullFrameSplit) GetSection() int32 { if x != nil && x.Section != nil { return *x.Section } return 0 } func (x *CSVCMsg_FullFrameSplit) GetTotal() int32 { if x != nil && x.Total != nil { return *x.Total } return 0 } func (x *CSVCMsg_FullFrameSplit) GetData() []byte { if x != nil { return x.Data } return nil } type CSVCMsg_HLTVStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Master *string `protobuf:"bytes,1,opt,name=master" json:"master,omitempty"` Clients *int32 `protobuf:"varint,2,opt,name=clients" json:"clients,omitempty"` Slots *int32 `protobuf:"varint,3,opt,name=slots" json:"slots,omitempty"` Proxies *int32 `protobuf:"varint,4,opt,name=proxies" json:"proxies,omitempty"` } func (x *CSVCMsg_HLTVStatus) Reset() { *x = CSVCMsg_HLTVStatus{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_HLTVStatus) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_HLTVStatus) ProtoMessage() {} func (x *CSVCMsg_HLTVStatus) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_HLTVStatus.ProtoReflect.Descriptor instead. func (*CSVCMsg_HLTVStatus) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{41} } func (x *CSVCMsg_HLTVStatus) GetMaster() string { if x != nil && x.Master != nil { return *x.Master } return "" } func (x *CSVCMsg_HLTVStatus) GetClients() int32 { if x != nil && x.Clients != nil { return *x.Clients } return 0 } func (x *CSVCMsg_HLTVStatus) GetSlots() int32 { if x != nil && x.Slots != nil { return *x.Slots } return 0 } func (x *CSVCMsg_HLTVStatus) GetProxies() int32 { if x != nil && x.Proxies != nil { return *x.Proxies } return 0 } type CSVCMsg_ServerSteamID struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SteamId *uint64 `protobuf:"varint,1,opt,name=steam_id,json=steamId" json:"steam_id,omitempty"` } func (x *CSVCMsg_ServerSteamID) Reset() { *x = CSVCMsg_ServerSteamID{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_ServerSteamID) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_ServerSteamID) ProtoMessage() {} func (x *CSVCMsg_ServerSteamID) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_ServerSteamID.ProtoReflect.Descriptor instead. func (*CSVCMsg_ServerSteamID) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{42} } func (x *CSVCMsg_ServerSteamID) GetSteamId() uint64 { if x != nil && x.SteamId != nil { return *x.SteamId } return 0 } type CSVCMsg_CmdKeyValues struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Data []byte `protobuf:"bytes,1,opt,name=data" json:"data,omitempty"` } func (x *CSVCMsg_CmdKeyValues) Reset() { *x = CSVCMsg_CmdKeyValues{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_CmdKeyValues) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_CmdKeyValues) ProtoMessage() {} func (x *CSVCMsg_CmdKeyValues) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_CmdKeyValues.ProtoReflect.Descriptor instead. func (*CSVCMsg_CmdKeyValues) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{43} } func (x *CSVCMsg_CmdKeyValues) GetData() []byte { if x != nil { return x.Data } return nil } type CSVCMsg_RconServerDetails struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Token []byte `protobuf:"bytes,1,opt,name=token" json:"token,omitempty"` Details *string `protobuf:"bytes,2,opt,name=details" json:"details,omitempty"` } func (x *CSVCMsg_RconServerDetails) Reset() { *x = CSVCMsg_RconServerDetails{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_RconServerDetails) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_RconServerDetails) ProtoMessage() {} func (x *CSVCMsg_RconServerDetails) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_RconServerDetails.ProtoReflect.Descriptor instead. func (*CSVCMsg_RconServerDetails) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{44} } func (x *CSVCMsg_RconServerDetails) GetToken() []byte { if x != nil { return x.Token } return nil } func (x *CSVCMsg_RconServerDetails) GetDetails() string { if x != nil && x.Details != nil { return *x.Details } return "" } type CMsgIPCAddress struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ComputerGuid *uint64 `protobuf:"fixed64,1,opt,name=computer_guid,json=computerGuid" json:"computer_guid,omitempty"` ProcessId *uint32 `protobuf:"varint,2,opt,name=process_id,json=processId" json:"process_id,omitempty"` } func (x *CMsgIPCAddress) Reset() { *x = CMsgIPCAddress{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CMsgIPCAddress) String() string { return protoimpl.X.MessageStringOf(x) } func (*CMsgIPCAddress) ProtoMessage() {} func (x *CMsgIPCAddress) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CMsgIPCAddress.ProtoReflect.Descriptor instead. func (*CMsgIPCAddress) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{45} } func (x *CMsgIPCAddress) GetComputerGuid() uint64 { if x != nil && x.ComputerGuid != nil { return *x.ComputerGuid } return 0 } func (x *CMsgIPCAddress) GetProcessId() uint32 { if x != nil && x.ProcessId != nil { return *x.ProcessId } return 0 } type CMsgServerPeer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields PlayerSlot *int32 `protobuf:"varint,1,opt,name=player_slot,json=playerSlot" json:"player_slot,omitempty"` Steamid *uint64 `protobuf:"fixed64,2,opt,name=steamid" json:"steamid,omitempty"` Ipc *CMsgIPCAddress `protobuf:"bytes,3,opt,name=ipc" json:"ipc,omitempty"` TheyHearYou *bool `protobuf:"varint,4,opt,name=they_hear_you,json=theyHearYou" json:"they_hear_you,omitempty"` YouHearThem *bool `protobuf:"varint,5,opt,name=you_hear_them,json=youHearThem" json:"you_hear_them,omitempty"` IsListenserverHost *bool `protobuf:"varint,6,opt,name=is_listenserver_host,json=isListenserverHost" json:"is_listenserver_host,omitempty"` } func (x *CMsgServerPeer) Reset() { *x = CMsgServerPeer{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CMsgServerPeer) String() string { return protoimpl.X.MessageStringOf(x) } func (*CMsgServerPeer) ProtoMessage() {} func (x *CMsgServerPeer) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CMsgServerPeer.ProtoReflect.Descriptor instead. func (*CMsgServerPeer) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{46} } func (x *CMsgServerPeer) GetPlayerSlot() int32 { if x != nil && x.PlayerSlot != nil { return *x.PlayerSlot } return 0 } func (x *CMsgServerPeer) GetSteamid() uint64 { if x != nil && x.Steamid != nil { return *x.Steamid } return 0 } func (x *CMsgServerPeer) GetIpc() *CMsgIPCAddress { if x != nil { return x.Ipc } return nil } func (x *CMsgServerPeer) GetTheyHearYou() bool { if x != nil && x.TheyHearYou != nil { return *x.TheyHearYou } return false } func (x *CMsgServerPeer) GetYouHearThem() bool { if x != nil && x.YouHearThem != nil { return *x.YouHearThem } return false } func (x *CMsgServerPeer) GetIsListenserverHost() bool { if x != nil && x.IsListenserverHost != nil { return *x.IsListenserverHost } return false } type CSVCMsg_PeerList struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Peer []*CMsgServerPeer `protobuf:"bytes,1,rep,name=peer" json:"peer,omitempty"` } func (x *CSVCMsg_PeerList) Reset() { *x = CSVCMsg_PeerList{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_PeerList) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_PeerList) ProtoMessage() {} func (x *CSVCMsg_PeerList) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_PeerList.ProtoReflect.Descriptor instead. func (*CSVCMsg_PeerList) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{47} } func (x *CSVCMsg_PeerList) GetPeer() []*CMsgServerPeer { if x != nil { return x.Peer } return nil } type CSVCMsg_ClearAllStringTables struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Mapname *string `protobuf:"bytes,1,opt,name=mapname" json:"mapname,omitempty"` } func (x *CSVCMsg_ClearAllStringTables) Reset() { *x = CSVCMsg_ClearAllStringTables{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_ClearAllStringTables) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_ClearAllStringTables) ProtoMessage() {} func (x *CSVCMsg_ClearAllStringTables) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_ClearAllStringTables.ProtoReflect.Descriptor instead. func (*CSVCMsg_ClearAllStringTables) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{48} } func (x *CSVCMsg_ClearAllStringTables) GetMapname() string { if x != nil && x.Mapname != nil { return *x.Mapname } return "" } type ProtoFlattenedSerializerFieldT struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields VarTypeSym *int32 `protobuf:"varint,1,opt,name=var_type_sym,json=varTypeSym" json:"var_type_sym,omitempty"` VarNameSym *int32 `protobuf:"varint,2,opt,name=var_name_sym,json=varNameSym" json:"var_name_sym,omitempty"` BitCount *int32 `protobuf:"varint,3,opt,name=bit_count,json=bitCount" json:"bit_count,omitempty"` LowValue *float32 `protobuf:"fixed32,4,opt,name=low_value,json=lowValue" json:"low_value,omitempty"` HighValue *float32 `protobuf:"fixed32,5,opt,name=high_value,json=highValue" json:"high_value,omitempty"` EncodeFlags *int32 `protobuf:"varint,6,opt,name=encode_flags,json=encodeFlags" json:"encode_flags,omitempty"` FieldSerializerNameSym *int32 `protobuf:"varint,7,opt,name=field_serializer_name_sym,json=fieldSerializerNameSym" json:"field_serializer_name_sym,omitempty"` FieldSerializerVersion *int32 `protobuf:"varint,8,opt,name=field_serializer_version,json=fieldSerializerVersion" json:"field_serializer_version,omitempty"` SendNodeSym *int32 `protobuf:"varint,9,opt,name=send_node_sym,json=sendNodeSym" json:"send_node_sym,omitempty"` VarEncoderSym *int32 `protobuf:"varint,10,opt,name=var_encoder_sym,json=varEncoderSym" json:"var_encoder_sym,omitempty"` } func (x *ProtoFlattenedSerializerFieldT) Reset() { *x = ProtoFlattenedSerializerFieldT{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProtoFlattenedSerializerFieldT) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProtoFlattenedSerializerFieldT) ProtoMessage() {} func (x *ProtoFlattenedSerializerFieldT) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ProtoFlattenedSerializerFieldT.ProtoReflect.Descriptor instead. func (*ProtoFlattenedSerializerFieldT) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{49} } func (x *ProtoFlattenedSerializerFieldT) GetVarTypeSym() int32 { if x != nil && x.VarTypeSym != nil { return *x.VarTypeSym } return 0 } func (x *ProtoFlattenedSerializerFieldT) GetVarNameSym() int32 { if x != nil && x.VarNameSym != nil { return *x.VarNameSym } return 0 } func (x *ProtoFlattenedSerializerFieldT) GetBitCount() int32 { if x != nil && x.BitCount != nil { return *x.BitCount } return 0 } func (x *ProtoFlattenedSerializerFieldT) GetLowValue() float32 { if x != nil && x.LowValue != nil { return *x.LowValue } return 0 } func (x *ProtoFlattenedSerializerFieldT) GetHighValue() float32 { if x != nil && x.HighValue != nil { return *x.HighValue } return 0 } func (x *ProtoFlattenedSerializerFieldT) GetEncodeFlags() int32 { if x != nil && x.EncodeFlags != nil { return *x.EncodeFlags } return 0 } func (x *ProtoFlattenedSerializerFieldT) GetFieldSerializerNameSym() int32 { if x != nil && x.FieldSerializerNameSym != nil { return *x.FieldSerializerNameSym } return 0 } func (x *ProtoFlattenedSerializerFieldT) GetFieldSerializerVersion() int32 { if x != nil && x.FieldSerializerVersion != nil { return *x.FieldSerializerVersion } return 0 } func (x *ProtoFlattenedSerializerFieldT) GetSendNodeSym() int32 { if x != nil && x.SendNodeSym != nil { return *x.SendNodeSym } return 0 } func (x *ProtoFlattenedSerializerFieldT) GetVarEncoderSym() int32 { if x != nil && x.VarEncoderSym != nil { return *x.VarEncoderSym } return 0 } type ProtoFlattenedSerializerT struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields SerializerNameSym *int32 `protobuf:"varint,1,opt,name=serializer_name_sym,json=serializerNameSym" json:"serializer_name_sym,omitempty"` SerializerVersion *int32 `protobuf:"varint,2,opt,name=serializer_version,json=serializerVersion" json:"serializer_version,omitempty"` FieldsIndex []int32 `protobuf:"varint,3,rep,name=fields_index,json=fieldsIndex" json:"fields_index,omitempty"` } func (x *ProtoFlattenedSerializerT) Reset() { *x = ProtoFlattenedSerializerT{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *ProtoFlattenedSerializerT) String() string { return protoimpl.X.MessageStringOf(x) } func (*ProtoFlattenedSerializerT) ProtoMessage() {} func (x *ProtoFlattenedSerializerT) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ProtoFlattenedSerializerT.ProtoReflect.Descriptor instead. func (*ProtoFlattenedSerializerT) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{50} } func (x *ProtoFlattenedSerializerT) GetSerializerNameSym() int32 { if x != nil && x.SerializerNameSym != nil { return *x.SerializerNameSym } return 0 } func (x *ProtoFlattenedSerializerT) GetSerializerVersion() int32 { if x != nil && x.SerializerVersion != nil { return *x.SerializerVersion } return 0 } func (x *ProtoFlattenedSerializerT) GetFieldsIndex() []int32 { if x != nil { return x.FieldsIndex } return nil } type CSVCMsg_FlattenedSerializer struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Serializers []*ProtoFlattenedSerializerT `protobuf:"bytes,1,rep,name=serializers" json:"serializers,omitempty"` Symbols []string `protobuf:"bytes,2,rep,name=symbols" json:"symbols,omitempty"` Fields []*ProtoFlattenedSerializerFieldT `protobuf:"bytes,3,rep,name=fields" json:"fields,omitempty"` } func (x *CSVCMsg_FlattenedSerializer) Reset() { *x = CSVCMsg_FlattenedSerializer{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_FlattenedSerializer) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_FlattenedSerializer) ProtoMessage() {} func (x *CSVCMsg_FlattenedSerializer) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_FlattenedSerializer.ProtoReflect.Descriptor instead. func (*CSVCMsg_FlattenedSerializer) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{51} } func (x *CSVCMsg_FlattenedSerializer) GetSerializers() []*ProtoFlattenedSerializerT { if x != nil { return x.Serializers } return nil } func (x *CSVCMsg_FlattenedSerializer) GetSymbols() []string { if x != nil { return x.Symbols } return nil } func (x *CSVCMsg_FlattenedSerializer) GetFields() []*ProtoFlattenedSerializerFieldT { if x != nil { return x.Fields } return nil } type CSVCMsg_StopSound struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Guid *uint32 `protobuf:"fixed32,1,opt,name=guid" json:"guid,omitempty"` } func (x *CSVCMsg_StopSound) Reset() { *x = CSVCMsg_StopSound{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_StopSound) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_StopSound) ProtoMessage() {} func (x *CSVCMsg_StopSound) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_StopSound.ProtoReflect.Descriptor instead. func (*CSVCMsg_StopSound) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{52} } func (x *CSVCMsg_StopSound) GetGuid() uint32 { if x != nil && x.Guid != nil { return *x.Guid } return 0 } type CBidirMsg_RebroadcastGameEvent struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Posttoserver *bool `protobuf:"varint,1,opt,name=posttoserver" json:"posttoserver,omitempty"` Buftype *int32 `protobuf:"varint,2,opt,name=buftype" json:"buftype,omitempty"` Clientbitcount *uint32 `protobuf:"varint,3,opt,name=clientbitcount" json:"clientbitcount,omitempty"` Receivingclients *uint64 `protobuf:"varint,4,opt,name=receivingclients" json:"receivingclients,omitempty"` } func (x *CBidirMsg_RebroadcastGameEvent) Reset() { *x = CBidirMsg_RebroadcastGameEvent{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CBidirMsg_RebroadcastGameEvent) String() string { return protoimpl.X.MessageStringOf(x) } func (*CBidirMsg_RebroadcastGameEvent) ProtoMessage() {} func (x *CBidirMsg_RebroadcastGameEvent) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CBidirMsg_RebroadcastGameEvent.ProtoReflect.Descriptor instead. func (*CBidirMsg_RebroadcastGameEvent) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{53} } func (x *CBidirMsg_RebroadcastGameEvent) GetPosttoserver() bool { if x != nil && x.Posttoserver != nil { return *x.Posttoserver } return false } func (x *CBidirMsg_RebroadcastGameEvent) GetBuftype() int32 { if x != nil && x.Buftype != nil { return *x.Buftype } return 0 } func (x *CBidirMsg_RebroadcastGameEvent) GetClientbitcount() uint32 { if x != nil && x.Clientbitcount != nil { return *x.Clientbitcount } return 0 } func (x *CBidirMsg_RebroadcastGameEvent) GetReceivingclients() uint64 { if x != nil && x.Receivingclients != nil { return *x.Receivingclients } return 0 } type CBidirMsg_RebroadcastSource struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Eventsource *int32 `protobuf:"varint,1,opt,name=eventsource" json:"eventsource,omitempty"` } func (x *CBidirMsg_RebroadcastSource) Reset() { *x = CBidirMsg_RebroadcastSource{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CBidirMsg_RebroadcastSource) String() string { return protoimpl.X.MessageStringOf(x) } func (*CBidirMsg_RebroadcastSource) ProtoMessage() {} func (x *CBidirMsg_RebroadcastSource) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CBidirMsg_RebroadcastSource.ProtoReflect.Descriptor instead. func (*CBidirMsg_RebroadcastSource) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{54} } func (x *CBidirMsg_RebroadcastSource) GetEventsource() int32 { if x != nil && x.Eventsource != nil { return *x.Eventsource } return 0 } type CMsgServerNetworkStats struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Dedicated *bool `protobuf:"varint,1,opt,name=dedicated" json:"dedicated,omitempty"` CpuUsage *int32 `protobuf:"varint,2,opt,name=cpu_usage,json=cpuUsage" json:"cpu_usage,omitempty"` MemoryUsedMb *int32 `protobuf:"varint,3,opt,name=memory_used_mb,json=memoryUsedMb" json:"memory_used_mb,omitempty"` MemoryFreeMb *int32 `protobuf:"varint,4,opt,name=memory_free_mb,json=memoryFreeMb" json:"memory_free_mb,omitempty"` Uptime *int32 `protobuf:"varint,5,opt,name=uptime" json:"uptime,omitempty"` SpawnCount *int32 `protobuf:"varint,6,opt,name=spawn_count,json=spawnCount" json:"spawn_count,omitempty"` NumClients *int32 `protobuf:"varint,8,opt,name=num_clients,json=numClients" json:"num_clients,omitempty"` NumBots *int32 `protobuf:"varint,9,opt,name=num_bots,json=numBots" json:"num_bots,omitempty"` NumSpectators *int32 `protobuf:"varint,10,opt,name=num_spectators,json=numSpectators" json:"num_spectators,omitempty"` NumTvRelays *int32 `protobuf:"varint,11,opt,name=num_tv_relays,json=numTvRelays" json:"num_tv_relays,omitempty"` Fps *float32 `protobuf:"fixed32,12,opt,name=fps" json:"fps,omitempty"` Ports []*CMsgServerNetworkStats_Port `protobuf:"bytes,17,rep,name=ports" json:"ports,omitempty"` AvgLatencyOut *float32 `protobuf:"fixed32,18,opt,name=avg_latency_out,json=avgLatencyOut" json:"avg_latency_out,omitempty"` AvgLatencyIn *float32 `protobuf:"fixed32,19,opt,name=avg_latency_in,json=avgLatencyIn" json:"avg_latency_in,omitempty"` AvgPacketsOut *float32 `protobuf:"fixed32,20,opt,name=avg_packets_out,json=avgPacketsOut" json:"avg_packets_out,omitempty"` AvgPacketsIn *float32 `protobuf:"fixed32,21,opt,name=avg_packets_in,json=avgPacketsIn" json:"avg_packets_in,omitempty"` AvgLossOut *float32 `protobuf:"fixed32,22,opt,name=avg_loss_out,json=avgLossOut" json:"avg_loss_out,omitempty"` AvgLossIn *float32 `protobuf:"fixed32,23,opt,name=avg_loss_in,json=avgLossIn" json:"avg_loss_in,omitempty"` AvgDataOut *float32 `protobuf:"fixed32,24,opt,name=avg_data_out,json=avgDataOut" json:"avg_data_out,omitempty"` AvgDataIn *float32 `protobuf:"fixed32,25,opt,name=avg_data_in,json=avgDataIn" json:"avg_data_in,omitempty"` TotalDataIn *uint64 `protobuf:"varint,26,opt,name=total_data_in,json=totalDataIn" json:"total_data_in,omitempty"` TotalPacketsIn *uint64 `protobuf:"varint,27,opt,name=total_packets_in,json=totalPacketsIn" json:"total_packets_in,omitempty"` TotalDataOut *uint64 `protobuf:"varint,28,opt,name=total_data_out,json=totalDataOut" json:"total_data_out,omitempty"` TotalPacketsOut *uint64 `protobuf:"varint,29,opt,name=total_packets_out,json=totalPacketsOut" json:"total_packets_out,omitempty"` Players []*CMsgServerNetworkStats_Player `protobuf:"bytes,30,rep,name=players" json:"players,omitempty"` } func (x *CMsgServerNetworkStats) Reset() { *x = CMsgServerNetworkStats{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CMsgServerNetworkStats) String() string { return protoimpl.X.MessageStringOf(x) } func (*CMsgServerNetworkStats) ProtoMessage() {} func (x *CMsgServerNetworkStats) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CMsgServerNetworkStats.ProtoReflect.Descriptor instead. func (*CMsgServerNetworkStats) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{55} } func (x *CMsgServerNetworkStats) GetDedicated() bool { if x != nil && x.Dedicated != nil { return *x.Dedicated } return false } func (x *CMsgServerNetworkStats) GetCpuUsage() int32 { if x != nil && x.CpuUsage != nil { return *x.CpuUsage } return 0 } func (x *CMsgServerNetworkStats) GetMemoryUsedMb() int32 { if x != nil && x.MemoryUsedMb != nil { return *x.MemoryUsedMb } return 0 } func (x *CMsgServerNetworkStats) GetMemoryFreeMb() int32 { if x != nil && x.MemoryFreeMb != nil { return *x.MemoryFreeMb } return 0 } func (x *CMsgServerNetworkStats) GetUptime() int32 { if x != nil && x.Uptime != nil { return *x.Uptime } return 0 } func (x *CMsgServerNetworkStats) GetSpawnCount() int32 { if x != nil && x.SpawnCount != nil { return *x.SpawnCount } return 0 } func (x *CMsgServerNetworkStats) GetNumClients() int32 { if x != nil && x.NumClients != nil { return *x.NumClients } return 0 } func (x *CMsgServerNetworkStats) GetNumBots() int32 { if x != nil && x.NumBots != nil { return *x.NumBots } return 0 } func (x *CMsgServerNetworkStats) GetNumSpectators() int32 { if x != nil && x.NumSpectators != nil { return *x.NumSpectators } return 0 } func (x *CMsgServerNetworkStats) GetNumTvRelays() int32 { if x != nil && x.NumTvRelays != nil { return *x.NumTvRelays } return 0 } func (x *CMsgServerNetworkStats) GetFps() float32 { if x != nil && x.Fps != nil { return *x.Fps } return 0 } func (x *CMsgServerNetworkStats) GetPorts() []*CMsgServerNetworkStats_Port { if x != nil { return x.Ports } return nil } func (x *CMsgServerNetworkStats) GetAvgLatencyOut() float32 { if x != nil && x.AvgLatencyOut != nil { return *x.AvgLatencyOut } return 0 } func (x *CMsgServerNetworkStats) GetAvgLatencyIn() float32 { if x != nil && x.AvgLatencyIn != nil { return *x.AvgLatencyIn } return 0 } func (x *CMsgServerNetworkStats) GetAvgPacketsOut() float32 { if x != nil && x.AvgPacketsOut != nil { return *x.AvgPacketsOut } return 0 } func (x *CMsgServerNetworkStats) GetAvgPacketsIn() float32 { if x != nil && x.AvgPacketsIn != nil { return *x.AvgPacketsIn } return 0 } func (x *CMsgServerNetworkStats) GetAvgLossOut() float32 { if x != nil && x.AvgLossOut != nil { return *x.AvgLossOut } return 0 } func (x *CMsgServerNetworkStats) GetAvgLossIn() float32 { if x != nil && x.AvgLossIn != nil { return *x.AvgLossIn } return 0 } func (x *CMsgServerNetworkStats) GetAvgDataOut() float32 { if x != nil && x.AvgDataOut != nil { return *x.AvgDataOut } return 0 } func (x *CMsgServerNetworkStats) GetAvgDataIn() float32 { if x != nil && x.AvgDataIn != nil { return *x.AvgDataIn } return 0 } func (x *CMsgServerNetworkStats) GetTotalDataIn() uint64 { if x != nil && x.TotalDataIn != nil { return *x.TotalDataIn } return 0 } func (x *CMsgServerNetworkStats) GetTotalPacketsIn() uint64 { if x != nil && x.TotalPacketsIn != nil { return *x.TotalPacketsIn } return 0 } func (x *CMsgServerNetworkStats) GetTotalDataOut() uint64 { if x != nil && x.TotalDataOut != nil { return *x.TotalDataOut } return 0 } func (x *CMsgServerNetworkStats) GetTotalPacketsOut() uint64 { if x != nil && x.TotalPacketsOut != nil { return *x.TotalPacketsOut } return 0 } func (x *CMsgServerNetworkStats) GetPlayers() []*CMsgServerNetworkStats_Player { if x != nil { return x.Players } return nil } type CSVCMsg_HltvReplay struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Delay *int32 `protobuf:"varint,1,opt,name=delay" json:"delay,omitempty"` PrimaryTarget *int32 `protobuf:"varint,2,opt,name=primary_target,json=primaryTarget" json:"primary_target,omitempty"` ReplayStopAt *int32 `protobuf:"varint,3,opt,name=replay_stop_at,json=replayStopAt" json:"replay_stop_at,omitempty"` ReplayStartAt *int32 `protobuf:"varint,4,opt,name=replay_start_at,json=replayStartAt" json:"replay_start_at,omitempty"` ReplaySlowdownBegin *int32 `protobuf:"varint,5,opt,name=replay_slowdown_begin,json=replaySlowdownBegin" json:"replay_slowdown_begin,omitempty"` ReplaySlowdownEnd *int32 `protobuf:"varint,6,opt,name=replay_slowdown_end,json=replaySlowdownEnd" json:"replay_slowdown_end,omitempty"` ReplaySlowdownRate *float32 `protobuf:"fixed32,7,opt,name=replay_slowdown_rate,json=replaySlowdownRate" json:"replay_slowdown_rate,omitempty"` Reason *int32 `protobuf:"varint,8,opt,name=reason" json:"reason,omitempty"` } func (x *CSVCMsg_HltvReplay) Reset() { *x = CSVCMsg_HltvReplay{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_HltvReplay) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_HltvReplay) ProtoMessage() {} func (x *CSVCMsg_HltvReplay) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_HltvReplay.ProtoReflect.Descriptor instead. func (*CSVCMsg_HltvReplay) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{56} } func (x *CSVCMsg_HltvReplay) GetDelay() int32 { if x != nil && x.Delay != nil { return *x.Delay } return 0 } func (x *CSVCMsg_HltvReplay) GetPrimaryTarget() int32 { if x != nil && x.PrimaryTarget != nil { return *x.PrimaryTarget } return 0 } func (x *CSVCMsg_HltvReplay) GetReplayStopAt() int32 { if x != nil && x.ReplayStopAt != nil { return *x.ReplayStopAt } return 0 } func (x *CSVCMsg_HltvReplay) GetReplayStartAt() int32 { if x != nil && x.ReplayStartAt != nil { return *x.ReplayStartAt } return 0 } func (x *CSVCMsg_HltvReplay) GetReplaySlowdownBegin() int32 { if x != nil && x.ReplaySlowdownBegin != nil { return *x.ReplaySlowdownBegin } return 0 } func (x *CSVCMsg_HltvReplay) GetReplaySlowdownEnd() int32 { if x != nil && x.ReplaySlowdownEnd != nil { return *x.ReplaySlowdownEnd } return 0 } func (x *CSVCMsg_HltvReplay) GetReplaySlowdownRate() float32 { if x != nil && x.ReplaySlowdownRate != nil { return *x.ReplaySlowdownRate } return 0 } func (x *CSVCMsg_HltvReplay) GetReason() int32 { if x != nil && x.Reason != nil { return *x.Reason } return 0 } type CCLCMsg_HltvReplay struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Request *int32 `protobuf:"varint,1,opt,name=request" json:"request,omitempty"` SlowdownLength *float32 `protobuf:"fixed32,2,opt,name=slowdown_length,json=slowdownLength" json:"slowdown_length,omitempty"` SlowdownRate *float32 `protobuf:"fixed32,3,opt,name=slowdown_rate,json=slowdownRate" json:"slowdown_rate,omitempty"` PrimaryTarget *int32 `protobuf:"varint,4,opt,name=primary_target,json=primaryTarget" json:"primary_target,omitempty"` EventTime *float32 `protobuf:"fixed32,5,opt,name=event_time,json=eventTime" json:"event_time,omitempty"` } func (x *CCLCMsg_HltvReplay) Reset() { *x = CCLCMsg_HltvReplay{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CCLCMsg_HltvReplay) String() string { return protoimpl.X.MessageStringOf(x) } func (*CCLCMsg_HltvReplay) ProtoMessage() {} func (x *CCLCMsg_HltvReplay) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CCLCMsg_HltvReplay.ProtoReflect.Descriptor instead. func (*CCLCMsg_HltvReplay) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{57} } func (x *CCLCMsg_HltvReplay) GetRequest() int32 { if x != nil && x.Request != nil { return *x.Request } return 0 } func (x *CCLCMsg_HltvReplay) GetSlowdownLength() float32 { if x != nil && x.SlowdownLength != nil { return *x.SlowdownLength } return 0 } func (x *CCLCMsg_HltvReplay) GetSlowdownRate() float32 { if x != nil && x.SlowdownRate != nil { return *x.SlowdownRate } return 0 } func (x *CCLCMsg_HltvReplay) GetPrimaryTarget() int32 { if x != nil && x.PrimaryTarget != nil { return *x.PrimaryTarget } return 0 } func (x *CCLCMsg_HltvReplay) GetEventTime() float32 { if x != nil && x.EventTime != nil { return *x.EventTime } return 0 } type CSVCMsg_Broadcast_Command struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Cmd *string `protobuf:"bytes,1,opt,name=cmd" json:"cmd,omitempty"` } func (x *CSVCMsg_Broadcast_Command) Reset() { *x = CSVCMsg_Broadcast_Command{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_Broadcast_Command) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_Broadcast_Command) ProtoMessage() {} func (x *CSVCMsg_Broadcast_Command) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_Broadcast_Command.ProtoReflect.Descriptor instead. func (*CSVCMsg_Broadcast_Command) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{58} } func (x *CSVCMsg_Broadcast_Command) GetCmd() string { if x != nil && x.Cmd != nil { return *x.Cmd } return "" } type CCLCMsg_HltvFixupOperatorTick struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Tick *int32 `protobuf:"varint,1,opt,name=tick" json:"tick,omitempty"` PropsData []byte `protobuf:"bytes,2,opt,name=props_data,json=propsData" json:"props_data,omitempty"` Origin *CMsgVector `protobuf:"bytes,3,opt,name=origin" json:"origin,omitempty"` EyeAngles *CMsgQAngle `protobuf:"bytes,4,opt,name=eye_angles,json=eyeAngles" json:"eye_angles,omitempty"` ObserverMode *int32 `protobuf:"varint,5,opt,name=observer_mode,json=observerMode" json:"observer_mode,omitempty"` CameramanScoreboard *bool `protobuf:"varint,6,opt,name=cameraman_scoreboard,json=cameramanScoreboard" json:"cameraman_scoreboard,omitempty"` ObserverTarget *int32 `protobuf:"varint,7,opt,name=observer_target,json=observerTarget" json:"observer_target,omitempty"` ViewOffset *CMsgVector `protobuf:"bytes,8,opt,name=view_offset,json=viewOffset" json:"view_offset,omitempty"` } func (x *CCLCMsg_HltvFixupOperatorTick) Reset() { *x = CCLCMsg_HltvFixupOperatorTick{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CCLCMsg_HltvFixupOperatorTick) String() string { return protoimpl.X.MessageStringOf(x) } func (*CCLCMsg_HltvFixupOperatorTick) ProtoMessage() {} func (x *CCLCMsg_HltvFixupOperatorTick) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CCLCMsg_HltvFixupOperatorTick.ProtoReflect.Descriptor instead. func (*CCLCMsg_HltvFixupOperatorTick) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{59} } func (x *CCLCMsg_HltvFixupOperatorTick) GetTick() int32 { if x != nil && x.Tick != nil { return *x.Tick } return 0 } func (x *CCLCMsg_HltvFixupOperatorTick) GetPropsData() []byte { if x != nil { return x.PropsData } return nil } func (x *CCLCMsg_HltvFixupOperatorTick) GetOrigin() *CMsgVector { if x != nil { return x.Origin } return nil } func (x *CCLCMsg_HltvFixupOperatorTick) GetEyeAngles() *CMsgQAngle { if x != nil { return x.EyeAngles } return nil } func (x *CCLCMsg_HltvFixupOperatorTick) GetObserverMode() int32 { if x != nil && x.ObserverMode != nil { return *x.ObserverMode } return 0 } func (x *CCLCMsg_HltvFixupOperatorTick) GetCameramanScoreboard() bool { if x != nil && x.CameramanScoreboard != nil { return *x.CameramanScoreboard } return false } func (x *CCLCMsg_HltvFixupOperatorTick) GetObserverTarget() int32 { if x != nil && x.ObserverTarget != nil { return *x.ObserverTarget } return 0 } func (x *CCLCMsg_HltvFixupOperatorTick) GetViewOffset() *CMsgVector { if x != nil { return x.ViewOffset } return nil } type CSVCMsg_HltvFixupOperatorStatus struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Mode *uint32 `protobuf:"varint,1,opt,name=mode" json:"mode,omitempty"` OverrideOperatorName *string `protobuf:"bytes,2,opt,name=override_operator_name,json=overrideOperatorName" json:"override_operator_name,omitempty"` } func (x *CSVCMsg_HltvFixupOperatorStatus) Reset() { *x = CSVCMsg_HltvFixupOperatorStatus{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_HltvFixupOperatorStatus) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_HltvFixupOperatorStatus) ProtoMessage() {} func (x *CSVCMsg_HltvFixupOperatorStatus) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_HltvFixupOperatorStatus.ProtoReflect.Descriptor instead. func (*CSVCMsg_HltvFixupOperatorStatus) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{60} } func (x *CSVCMsg_HltvFixupOperatorStatus) GetMode() uint32 { if x != nil && x.Mode != nil { return *x.Mode } return 0 } func (x *CSVCMsg_HltvFixupOperatorStatus) GetOverrideOperatorName() string { if x != nil && x.OverrideOperatorName != nil { return *x.OverrideOperatorName } return "" } type CSVCMsg_ClassInfoClassT struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields ClassId *int32 `protobuf:"varint,1,opt,name=class_id,json=classId" json:"class_id,omitempty"` DataTableName *string `protobuf:"bytes,2,opt,name=data_table_name,json=dataTableName" json:"data_table_name,omitempty"` ClassName *string `protobuf:"bytes,3,opt,name=class_name,json=className" json:"class_name,omitempty"` } func (x *CSVCMsg_ClassInfoClassT) Reset() { *x = CSVCMsg_ClassInfoClassT{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_ClassInfoClassT) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_ClassInfoClassT) ProtoMessage() {} func (x *CSVCMsg_ClassInfoClassT) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_ClassInfoClassT.ProtoReflect.Descriptor instead. func (*CSVCMsg_ClassInfoClassT) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{18, 0} } func (x *CSVCMsg_ClassInfoClassT) GetClassId() int32 { if x != nil && x.ClassId != nil { return *x.ClassId } return 0 } func (x *CSVCMsg_ClassInfoClassT) GetDataTableName() string { if x != nil && x.DataTableName != nil { return *x.DataTableName } return "" } func (x *CSVCMsg_ClassInfoClassT) GetClassName() string { if x != nil && x.ClassName != nil { return *x.ClassName } return "" } type CSVCMsg_SoundsSounddataT struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields OriginX *int32 `protobuf:"zigzag32,1,opt,name=origin_x,json=originX" json:"origin_x,omitempty"` OriginY *int32 `protobuf:"zigzag32,2,opt,name=origin_y,json=originY" json:"origin_y,omitempty"` OriginZ *int32 `protobuf:"zigzag32,3,opt,name=origin_z,json=originZ" json:"origin_z,omitempty"` Volume *uint32 `protobuf:"varint,4,opt,name=volume" json:"volume,omitempty"` DelayValue *float32 `protobuf:"fixed32,5,opt,name=delay_value,json=delayValue" json:"delay_value,omitempty"` SequenceNumber *int32 `protobuf:"varint,6,opt,name=sequence_number,json=sequenceNumber" json:"sequence_number,omitempty"` EntityIndex *int32 `protobuf:"varint,7,opt,name=entity_index,json=entityIndex" json:"entity_index,omitempty"` Channel *int32 `protobuf:"varint,8,opt,name=channel" json:"channel,omitempty"` Pitch *int32 `protobuf:"varint,9,opt,name=pitch" json:"pitch,omitempty"` Flags *int32 `protobuf:"varint,10,opt,name=flags" json:"flags,omitempty"` SoundNum *uint32 `protobuf:"varint,11,opt,name=sound_num,json=soundNum" json:"sound_num,omitempty"` SoundNumHandle *uint32 `protobuf:"fixed32,12,opt,name=sound_num_handle,json=soundNumHandle" json:"sound_num_handle,omitempty"` SpeakerEntity *int32 `protobuf:"varint,13,opt,name=speaker_entity,json=speakerEntity" json:"speaker_entity,omitempty"` RandomSeed *int32 `protobuf:"varint,14,opt,name=random_seed,json=randomSeed" json:"random_seed,omitempty"` SoundLevel *int32 `protobuf:"varint,15,opt,name=sound_level,json=soundLevel" json:"sound_level,omitempty"` IsSentence *bool `protobuf:"varint,16,opt,name=is_sentence,json=isSentence" json:"is_sentence,omitempty"` IsAmbient *bool `protobuf:"varint,17,opt,name=is_ambient,json=isAmbient" json:"is_ambient,omitempty"` Guid *uint32 `protobuf:"varint,18,opt,name=guid" json:"guid,omitempty"` SoundResourceId *uint64 `protobuf:"fixed64,19,opt,name=sound_resource_id,json=soundResourceId" json:"sound_resource_id,omitempty"` } func (x *CSVCMsg_SoundsSounddataT) Reset() { *x = CSVCMsg_SoundsSounddataT{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_SoundsSounddataT) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_SoundsSounddataT) ProtoMessage() {} func (x *CSVCMsg_SoundsSounddataT) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_SoundsSounddataT.ProtoReflect.Descriptor instead. func (*CSVCMsg_SoundsSounddataT) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{22, 0} } func (x *CSVCMsg_SoundsSounddataT) GetOriginX() int32 { if x != nil && x.OriginX != nil { return *x.OriginX } return 0 } func (x *CSVCMsg_SoundsSounddataT) GetOriginY() int32 { if x != nil && x.OriginY != nil { return *x.OriginY } return 0 } func (x *CSVCMsg_SoundsSounddataT) GetOriginZ() int32 { if x != nil && x.OriginZ != nil { return *x.OriginZ } return 0 } func (x *CSVCMsg_SoundsSounddataT) GetVolume() uint32 { if x != nil && x.Volume != nil { return *x.Volume } return 0 } func (x *CSVCMsg_SoundsSounddataT) GetDelayValue() float32 { if x != nil && x.DelayValue != nil { return *x.DelayValue } return 0 } func (x *CSVCMsg_SoundsSounddataT) GetSequenceNumber() int32 { if x != nil && x.SequenceNumber != nil { return *x.SequenceNumber } return 0 } func (x *CSVCMsg_SoundsSounddataT) GetEntityIndex() int32 { if x != nil && x.EntityIndex != nil { return *x.EntityIndex } return 0 } func (x *CSVCMsg_SoundsSounddataT) GetChannel() int32 { if x != nil && x.Channel != nil { return *x.Channel } return 0 } func (x *CSVCMsg_SoundsSounddataT) GetPitch() int32 { if x != nil && x.Pitch != nil { return *x.Pitch } return 0 } func (x *CSVCMsg_SoundsSounddataT) GetFlags() int32 { if x != nil && x.Flags != nil { return *x.Flags } return 0 } func (x *CSVCMsg_SoundsSounddataT) GetSoundNum() uint32 { if x != nil && x.SoundNum != nil { return *x.SoundNum } return 0 } func (x *CSVCMsg_SoundsSounddataT) GetSoundNumHandle() uint32 { if x != nil && x.SoundNumHandle != nil { return *x.SoundNumHandle } return 0 } func (x *CSVCMsg_SoundsSounddataT) GetSpeakerEntity() int32 { if x != nil && x.SpeakerEntity != nil { return *x.SpeakerEntity } return 0 } func (x *CSVCMsg_SoundsSounddataT) GetRandomSeed() int32 { if x != nil && x.RandomSeed != nil { return *x.RandomSeed } return 0 } func (x *CSVCMsg_SoundsSounddataT) GetSoundLevel() int32 { if x != nil && x.SoundLevel != nil { return *x.SoundLevel } return 0 } func (x *CSVCMsg_SoundsSounddataT) GetIsSentence() bool { if x != nil && x.IsSentence != nil { return *x.IsSentence } return false } func (x *CSVCMsg_SoundsSounddataT) GetIsAmbient() bool { if x != nil && x.IsAmbient != nil { return *x.IsAmbient } return false } func (x *CSVCMsg_SoundsSounddataT) GetGuid() uint32 { if x != nil && x.Guid != nil { return *x.Guid } return 0 } func (x *CSVCMsg_SoundsSounddataT) GetSoundResourceId() uint64 { if x != nil && x.SoundResourceId != nil { return *x.SoundResourceId } return 0 } type CSVCMsg_SendTableSendpropT struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Type *int32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` VarName *string `protobuf:"bytes,2,opt,name=var_name,json=varName" json:"var_name,omitempty"` Flags *int32 `protobuf:"varint,3,opt,name=flags" json:"flags,omitempty"` Priority *int32 `protobuf:"varint,4,opt,name=priority" json:"priority,omitempty"` DtName *string `protobuf:"bytes,5,opt,name=dt_name,json=dtName" json:"dt_name,omitempty"` NumElements *int32 `protobuf:"varint,6,opt,name=num_elements,json=numElements" json:"num_elements,omitempty"` LowValue *float32 `protobuf:"fixed32,7,opt,name=low_value,json=lowValue" json:"low_value,omitempty"` HighValue *float32 `protobuf:"fixed32,8,opt,name=high_value,json=highValue" json:"high_value,omitempty"` NumBits *int32 `protobuf:"varint,9,opt,name=num_bits,json=numBits" json:"num_bits,omitempty"` } func (x *CSVCMsg_SendTableSendpropT) Reset() { *x = CSVCMsg_SendTableSendpropT{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_SendTableSendpropT) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_SendTableSendpropT) ProtoMessage() {} func (x *CSVCMsg_SendTableSendpropT) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_SendTableSendpropT.ProtoReflect.Descriptor instead. func (*CSVCMsg_SendTableSendpropT) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{32, 0} } func (x *CSVCMsg_SendTableSendpropT) GetType() int32 { if x != nil && x.Type != nil { return *x.Type } return 0 } func (x *CSVCMsg_SendTableSendpropT) GetVarName() string { if x != nil && x.VarName != nil { return *x.VarName } return "" } func (x *CSVCMsg_SendTableSendpropT) GetFlags() int32 { if x != nil && x.Flags != nil { return *x.Flags } return 0 } func (x *CSVCMsg_SendTableSendpropT) GetPriority() int32 { if x != nil && x.Priority != nil { return *x.Priority } return 0 } func (x *CSVCMsg_SendTableSendpropT) GetDtName() string { if x != nil && x.DtName != nil { return *x.DtName } return "" } func (x *CSVCMsg_SendTableSendpropT) GetNumElements() int32 { if x != nil && x.NumElements != nil { return *x.NumElements } return 0 } func (x *CSVCMsg_SendTableSendpropT) GetLowValue() float32 { if x != nil && x.LowValue != nil { return *x.LowValue } return 0 } func (x *CSVCMsg_SendTableSendpropT) GetHighValue() float32 { if x != nil && x.HighValue != nil { return *x.HighValue } return 0 } func (x *CSVCMsg_SendTableSendpropT) GetNumBits() int32 { if x != nil && x.NumBits != nil { return *x.NumBits } return 0 } type CSVCMsg_GameEventListKeyT struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Type *int32 `protobuf:"varint,1,opt,name=type" json:"type,omitempty"` Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` } func (x *CSVCMsg_GameEventListKeyT) Reset() { *x = CSVCMsg_GameEventListKeyT{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_GameEventListKeyT) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_GameEventListKeyT) ProtoMessage() {} func (x *CSVCMsg_GameEventListKeyT) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[64] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_GameEventListKeyT.ProtoReflect.Descriptor instead. func (*CSVCMsg_GameEventListKeyT) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{33, 0} } func (x *CSVCMsg_GameEventListKeyT) GetType() int32 { if x != nil && x.Type != nil { return *x.Type } return 0 } func (x *CSVCMsg_GameEventListKeyT) GetName() string { if x != nil && x.Name != nil { return *x.Name } return "" } type CSVCMsg_GameEventListDescriptorT struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Eventid *int32 `protobuf:"varint,1,opt,name=eventid" json:"eventid,omitempty"` Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` Keys []*CSVCMsg_GameEventListKeyT `protobuf:"bytes,3,rep,name=keys" json:"keys,omitempty"` } func (x *CSVCMsg_GameEventListDescriptorT) Reset() { *x = CSVCMsg_GameEventListDescriptorT{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_GameEventListDescriptorT) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_GameEventListDescriptorT) ProtoMessage() {} func (x *CSVCMsg_GameEventListDescriptorT) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_GameEventListDescriptorT.ProtoReflect.Descriptor instead. func (*CSVCMsg_GameEventListDescriptorT) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{33, 1} } func (x *CSVCMsg_GameEventListDescriptorT) GetEventid() int32 { if x != nil && x.Eventid != nil { return *x.Eventid } return 0 } func (x *CSVCMsg_GameEventListDescriptorT) GetName() string { if x != nil && x.Name != nil { return *x.Name } return "" } func (x *CSVCMsg_GameEventListDescriptorT) GetKeys() []*CSVCMsg_GameEventListKeyT { if x != nil { return x.Keys } return nil } type CSVCMsg_PacketEntitiesCommandQueueInfoT struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields CommandsQueued *uint32 `protobuf:"varint,1,opt,name=commands_queued,json=commandsQueued" json:"commands_queued,omitempty"` CommandQueueDesiredSize *uint32 `protobuf:"varint,2,opt,name=command_queue_desired_size,json=commandQueueDesiredSize" json:"command_queue_desired_size,omitempty"` StarvedCommandTicks *uint32 `protobuf:"varint,3,opt,name=starved_command_ticks,json=starvedCommandTicks" json:"starved_command_ticks,omitempty"` TimeDilationPercent *float32 `protobuf:"fixed32,4,opt,name=time_dilation_percent,json=timeDilationPercent" json:"time_dilation_percent,omitempty"` DiscardedCommandTicks *uint32 `protobuf:"varint,5,opt,name=discarded_command_ticks,json=discardedCommandTicks" json:"discarded_command_ticks,omitempty"` } func (x *CSVCMsg_PacketEntitiesCommandQueueInfoT) Reset() { *x = CSVCMsg_PacketEntitiesCommandQueueInfoT{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CSVCMsg_PacketEntitiesCommandQueueInfoT) String() string { return protoimpl.X.MessageStringOf(x) } func (*CSVCMsg_PacketEntitiesCommandQueueInfoT) ProtoMessage() {} func (x *CSVCMsg_PacketEntitiesCommandQueueInfoT) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CSVCMsg_PacketEntitiesCommandQueueInfoT.ProtoReflect.Descriptor instead. func (*CSVCMsg_PacketEntitiesCommandQueueInfoT) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{34, 0} } func (x *CSVCMsg_PacketEntitiesCommandQueueInfoT) GetCommandsQueued() uint32 { if x != nil && x.CommandsQueued != nil { return *x.CommandsQueued } return 0 } func (x *CSVCMsg_PacketEntitiesCommandQueueInfoT) GetCommandQueueDesiredSize() uint32 { if x != nil && x.CommandQueueDesiredSize != nil { return *x.CommandQueueDesiredSize } return 0 } func (x *CSVCMsg_PacketEntitiesCommandQueueInfoT) GetStarvedCommandTicks() uint32 { if x != nil && x.StarvedCommandTicks != nil { return *x.StarvedCommandTicks } return 0 } func (x *CSVCMsg_PacketEntitiesCommandQueueInfoT) GetTimeDilationPercent() float32 { if x != nil && x.TimeDilationPercent != nil { return *x.TimeDilationPercent } return 0 } func (x *CSVCMsg_PacketEntitiesCommandQueueInfoT) GetDiscardedCommandTicks() uint32 { if x != nil && x.DiscardedCommandTicks != nil { return *x.DiscardedCommandTicks } return 0 } type CMsgServerNetworkStats_Port struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Port *int32 `protobuf:"varint,1,opt,name=port" json:"port,omitempty"` Name *string `protobuf:"bytes,2,opt,name=name" json:"name,omitempty"` } func (x *CMsgServerNetworkStats_Port) Reset() { *x = CMsgServerNetworkStats_Port{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CMsgServerNetworkStats_Port) String() string { return protoimpl.X.MessageStringOf(x) } func (*CMsgServerNetworkStats_Port) ProtoMessage() {} func (x *CMsgServerNetworkStats_Port) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CMsgServerNetworkStats_Port.ProtoReflect.Descriptor instead. func (*CMsgServerNetworkStats_Port) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{55, 0} } func (x *CMsgServerNetworkStats_Port) GetPort() int32 { if x != nil && x.Port != nil { return *x.Port } return 0 } func (x *CMsgServerNetworkStats_Port) GetName() string { if x != nil && x.Name != nil { return *x.Name } return "" } type CMsgServerNetworkStats_Player struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields Steamid *uint64 `protobuf:"varint,1,opt,name=steamid" json:"steamid,omitempty"` RemoteAddr *string `protobuf:"bytes,2,opt,name=remote_addr,json=remoteAddr" json:"remote_addr,omitempty"` PingStddevMs *int32 `protobuf:"varint,3,opt,name=ping_stddev_ms,json=pingStddevMs" json:"ping_stddev_ms,omitempty"` PingAvgMs *int32 `protobuf:"varint,4,opt,name=ping_avg_ms,json=pingAvgMs" json:"ping_avg_ms,omitempty"` PacketLossPct *float32 `protobuf:"fixed32,5,opt,name=packet_loss_pct,json=packetLossPct" json:"packet_loss_pct,omitempty"` IsBot *bool `protobuf:"varint,6,opt,name=is_bot,json=isBot" json:"is_bot,omitempty"` } func (x *CMsgServerNetworkStats_Player) Reset() { *x = CMsgServerNetworkStats_Player{} if protoimpl.UnsafeEnabled { mi := &file_netmessages_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } func (x *CMsgServerNetworkStats_Player) String() string { return protoimpl.X.MessageStringOf(x) } func (*CMsgServerNetworkStats_Player) ProtoMessage() {} func (x *CMsgServerNetworkStats_Player) ProtoReflect() protoreflect.Message { mi := &file_netmessages_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CMsgServerNetworkStats_Player.ProtoReflect.Descriptor instead. func (*CMsgServerNetworkStats_Player) Descriptor() ([]byte, []int) { return file_netmessages_proto_rawDescGZIP(), []int{55, 1} } func (x *CMsgServerNetworkStats_Player) GetSteamid() uint64 { if x != nil && x.Steamid != nil { return *x.Steamid } return 0 } func (x *CMsgServerNetworkStats_Player) GetRemoteAddr() string { if x != nil && x.RemoteAddr != nil { return *x.RemoteAddr } return "" } func (x *CMsgServerNetworkStats_Player) GetPingStddevMs() int32 { if x != nil && x.PingStddevMs != nil { return *x.PingStddevMs } return 0 } func (x *CMsgServerNetworkStats_Player) GetPingAvgMs() int32 { if x != nil && x.PingAvgMs != nil { return *x.PingAvgMs } return 0 } func (x *CMsgServerNetworkStats_Player) GetPacketLossPct() float32 { if x != nil && x.PacketLossPct != nil { return *x.PacketLossPct } return 0 } func (x *CMsgServerNetworkStats_Player) GetIsBot() bool { if x != nil && x.IsBot != nil { return *x.IsBot } return false } var File_netmessages_proto protoreflect.FileDescriptor var file_netmessages_proto_rawDesc = []byte{ 0x0a, 0x11, 0x6e, 0x65, 0x74, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x62, 0x61, 0x73, 0x65, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb8, 0x01, 0x0a, 0x12, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x72, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0c, 0x73, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x72, 0x63, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x68, 0x6c, 0x74, 0x76, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x48, 0x6c, 0x74, 0x76, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x6c, 0x0a, 0x0c, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x6f, 0x76, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x22, 0xa0, 0x02, 0x0a, 0x0e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x42, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 0x2e, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x74, 0x3a, 0x16, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x76, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x61, 0x74, 0x65, 0x12, 0x3c, 0x0a, 0x1a, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x18, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x62, 0x0a, 0x11, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x52, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x78, 0x75, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x04, 0x78, 0x75, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x22, 0x5b, 0x0a, 0x13, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x41, 0x63, 0x6b, 0x12, 0x23, 0x0a, 0x0d, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x5f, 0x6e, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4e, 0x72, 0x22, 0x35, 0x0a, 0x14, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x03, 0x28, 0x07, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x7d, 0x0a, 0x18, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x9a, 0x01, 0x0a, 0x14, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x52, 0x43, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x6f, 0x64, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x63, 0x6f, 0x64, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x72, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x07, 0x52, 0x03, 0x63, 0x72, 0x63, 0x22, 0x35, 0x0a, 0x17, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x4c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x22, 0x3c, 0x0a, 0x1a, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x46, 0x0a, 0x15, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x33, 0x0a, 0x1d, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x22, 0x36, 0x0a, 0x14, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x22, 0x71, 0x0a, 0x14, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x75, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x0a, 0x70, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x3a, 0x08, 0x52, 0x50, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x52, 0x09, 0x70, 0x61, 0x75, 0x73, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x61, 0x75, 0x73, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, 0x2a, 0x0a, 0x14, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6d, 0x64, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x31, 0x0a, 0x19, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x63, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xbe, 0x04, 0x0a, 0x12, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x69, 0x73, 0x44, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x68, 0x6c, 0x74, 0x76, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x48, 0x6c, 0x74, 0x76, 0x12, 0x11, 0x0a, 0x04, 0x63, 0x5f, 0x6f, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x63, 0x4f, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x69, 0x63, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x74, 0x69, 0x63, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x64, 0x69, 0x72, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x67, 0x61, 0x6d, 0x65, 0x44, 0x69, 0x72, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x61, 0x70, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x6b, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x6b, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x64, 0x64, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x64, 0x64, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x51, 0x0a, 0x13, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x67, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x32, 0x0a, 0x15, 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x13, 0x67, 0x61, 0x6d, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x6e, 0x69, 0x66, 0x65, 0x73, 0x74, 0x22, 0xe0, 0x01, 0x0a, 0x11, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x28, 0x0a, 0x10, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x2e, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x65, 0x73, 0x1a, 0x6b, 0x0a, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x2a, 0x0a, 0x10, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x74, 0x50, 0x61, 0x75, 0x73, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x75, 0x73, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x70, 0x61, 0x75, 0x73, 0x65, 0x64, 0x22, 0x60, 0x0a, 0x11, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, 0x6f, 0x64, 0x65, 0x63, 0x12, 0x1b, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x01, 0x30, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x23, 0x0a, 0x0d, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x22, 0xc8, 0x05, 0x0a, 0x0e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x33, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x2e, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x1a, 0xd9, 0x04, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x58, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x59, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5f, 0x7a, 0x18, 0x03, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x5a, 0x12, 0x16, 0x0a, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x76, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x70, 0x69, 0x74, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x70, 0x69, 0x74, 0x63, 0x68, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0e, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x4e, 0x75, 0x6d, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x70, 0x65, 0x61, 0x6b, 0x65, 0x72, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x53, 0x65, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x53, 0x65, 0x6e, 0x74, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x61, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x41, 0x6d, 0x62, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0f, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x22, 0x72, 0x0a, 0x10, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x72, 0x65, 0x66, 0x65, 0x74, 0x63, 0x68, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x6f, 0x75, 0x6e, 0x64, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x3d, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x50, 0x72, 0x65, 0x66, 0x65, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x09, 0x50, 0x46, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x4e, 0x44, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22, 0x48, 0x0a, 0x0f, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x74, 0x56, 0x69, 0x65, 0x77, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x22, 0x51, 0x0a, 0x10, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x46, 0x69, 0x78, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x12, 0x21, 0x0a, 0x05, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x05, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x22, 0x3b, 0x0a, 0x16, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x72, 0x6f, 0x73, 0x73, 0x68, 0x61, 0x69, 0x72, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x21, 0x0a, 0x05, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x05, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x22, 0xc8, 0x01, 0x0a, 0x10, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x42, 0x53, 0x50, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x12, 0x1d, 0x0a, 0x03, 0x70, 0x6f, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x03, 0x70, 0x6f, 0x73, 0x12, 0x2e, 0x0a, 0x13, 0x64, 0x65, 0x63, 0x61, 0x6c, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x64, 0x65, 0x63, 0x61, 0x6c, 0x54, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x21, 0x0a, 0x0c, 0x6c, 0x6f, 0x77, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x6c, 0x6f, 0x77, 0x50, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x93, 0x01, 0x0a, 0x13, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x12, 0x45, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x45, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x17, 0x4d, 0x53, 0x47, 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x41, 0x44, 0x44, 0x55, 0x53, 0x45, 0x52, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x73, 0x6c, 0x6f, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0x4b, 0x0a, 0x14, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x65, 0x74, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x6f, 0x6f, 0x6b, 0x69, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x76, 0x61, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x76, 0x61, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x57, 0x0a, 0x0c, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x4d, 0x65, 0x6e, 0x75, 0x12, 0x1f, 0x0a, 0x0b, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x65, 0x6e, 0x75, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6d, 0x65, 0x6e, 0x75, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x6d, 0x0a, 0x13, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x73, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x73, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x70, 0x61, 0x73, 0x73, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x22, 0xad, 0x03, 0x0a, 0x11, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x45, 0x6e, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x65, 0x74, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6e, 0x65, 0x65, 0x64, 0x73, 0x5f, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6e, 0x65, 0x65, 0x64, 0x73, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x12, 0x33, 0x0a, 0x05, 0x70, 0x72, 0x6f, 0x70, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x6e, 0x64, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x74, 0x52, 0x05, 0x70, 0x72, 0x6f, 0x70, 0x73, 0x1a, 0x80, 0x02, 0x0a, 0x0a, 0x73, 0x65, 0x6e, 0x64, 0x70, 0x72, 0x6f, 0x70, 0x5f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x76, 0x61, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x61, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6c, 0x6f, 0x77, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x69, 0x67, 0x68, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x68, 0x69, 0x67, 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x42, 0x69, 0x74, 0x73, 0x22, 0xff, 0x01, 0x0a, 0x15, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x1a, 0x2f, 0x0a, 0x05, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x6e, 0x0a, 0x0c, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x2e, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x22, 0xa7, 0x07, 0x0a, 0x16, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x12, 0x27, 0x0a, 0x0f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x74, 0x61, 0x46, 0x72, 0x6f, 0x6d, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x12, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x66, 0x72, 0x61, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x46, 0x75, 0x6c, 0x6c, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x16, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x12, 0x46, 0x0a, 0x1f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x1d, 0x6d, 0x61, 0x78, 0x53, 0x70, 0x61, 0x77, 0x6e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x43, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x63, 0x6d, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x6d, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0a, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x2f, 0x0a, 0x13, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x5a, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x52, 0x10, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x75, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x1a, 0x9c, 0x02, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x73, 0x51, 0x75, 0x65, 0x75, 0x65, 0x64, 0x12, 0x3b, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x71, 0x75, 0x65, 0x75, 0x65, 0x5f, 0x64, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x17, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x51, 0x75, 0x65, 0x75, 0x65, 0x44, 0x65, 0x73, 0x69, 0x72, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x74, 0x61, 0x72, 0x76, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x73, 0x74, 0x61, 0x72, 0x76, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x64, 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x74, 0x69, 0x6d, 0x65, 0x44, 0x69, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x17, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x63, 0x6b, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x65, 0x64, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x54, 0x69, 0x63, 0x6b, 0x73, 0x22, 0x74, 0x0a, 0x14, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x54, 0x65, 0x6d, 0x70, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x44, 0x61, 0x74, 0x61, 0x22, 0xe3, 0x02, 0x0a, 0x19, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x14, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x75, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x46, 0x69, 0x78, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2d, 0x0a, 0x13, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x62, 0x69, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x53, 0x69, 0x7a, 0x65, 0x42, 0x69, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x11, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x75, 0x6e, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6d, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x22, 0x87, 0x01, 0x0a, 0x19, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x13, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x6e, 0x75, 0x6d, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x44, 0x61, 0x74, 0x61, 0x22, 0xbb, 0x01, 0x0a, 0x11, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x12, 0x25, 0x0a, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x52, 0x05, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x69, 0x74, 0x79, 0x12, 0x12, 0x0a, 0x04, 0x78, 0x75, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x06, 0x52, 0x04, 0x78, 0x75, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x75, 0x64, 0x69, 0x62, 0x6c, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x62, 0x6c, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x22, 0x66, 0x0a, 0x16, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0x70, 0x0a, 0x16, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x46, 0x75, 0x6c, 0x6c, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x76, 0x0a, 0x12, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x4c, 0x54, 0x56, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x73, 0x6c, 0x6f, 0x74, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x65, 0x73, 0x22, 0x32, 0x0a, 0x15, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x44, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x22, 0x2a, 0x0a, 0x14, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6d, 0x64, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x4b, 0x0a, 0x19, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x63, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x54, 0x0a, 0x0e, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x50, 0x43, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x5f, 0x67, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0c, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x72, 0x47, 0x75, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 0x22, 0xe8, 0x01, 0x0a, 0x0e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x65, 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x53, 0x6c, 0x6f, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x21, 0x0a, 0x03, 0x69, 0x70, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x49, 0x50, 0x43, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x52, 0x03, 0x69, 0x70, 0x63, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x68, 0x65, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x5f, 0x79, 0x6f, 0x75, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x74, 0x68, 0x65, 0x79, 0x48, 0x65, 0x61, 0x72, 0x59, 0x6f, 0x75, 0x12, 0x22, 0x0a, 0x0d, 0x79, 0x6f, 0x75, 0x5f, 0x68, 0x65, 0x61, 0x72, 0x5f, 0x74, 0x68, 0x65, 0x6d, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x79, 0x6f, 0x75, 0x48, 0x65, 0x61, 0x72, 0x54, 0x68, 0x65, 0x6d, 0x12, 0x30, 0x0a, 0x14, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x69, 0x73, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x48, 0x6f, 0x73, 0x74, 0x22, 0x37, 0x0a, 0x10, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x50, 0x65, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x23, 0x0a, 0x04, 0x70, 0x65, 0x65, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x65, 0x65, 0x72, 0x52, 0x04, 0x70, 0x65, 0x65, 0x72, 0x22, 0x38, 0x0a, 0x1c, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x61, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x61, 0x70, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa2, 0x03, 0x0a, 0x1f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, 0x12, 0x20, 0x0a, 0x0c, 0x76, 0x61, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x76, 0x61, 0x72, 0x54, 0x79, 0x70, 0x65, 0x53, 0x79, 0x6d, 0x12, 0x20, 0x0a, 0x0c, 0x76, 0x61, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x76, 0x61, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x79, 0x6d, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x62, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x6c, 0x6f, 0x77, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, 0x6c, 0x6f, 0x77, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x68, 0x69, 0x67, 0x68, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x68, 0x69, 0x67, 0x68, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x66, 0x6c, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x46, 0x6c, 0x61, 0x67, 0x73, 0x12, 0x39, 0x0a, 0x19, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x79, 0x6d, 0x12, 0x38, 0x0a, 0x18, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x73, 0x65, 0x6e, 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x79, 0x6d, 0x12, 0x26, 0x0a, 0x0f, 0x76, 0x61, 0x72, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x5f, 0x73, 0x79, 0x6d, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x76, 0x61, 0x72, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x72, 0x53, 0x79, 0x6d, 0x22, 0x9e, 0x01, 0x0a, 0x1a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x74, 0x12, 0x2e, 0x0a, 0x13, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x73, 0x79, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x53, 0x79, 0x6d, 0x12, 0x2d, 0x0a, 0x12, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0b, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x22, 0xb0, 0x01, 0x0a, 0x1b, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x12, 0x3d, 0x0a, 0x0b, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x5f, 0x74, 0x52, 0x0b, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x73, 0x12, 0x38, 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, 0x52, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x22, 0x27, 0x0a, 0x11, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x67, 0x75, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x04, 0x67, 0x75, 0x69, 0x64, 0x22, 0xb2, 0x01, 0x0a, 0x1e, 0x43, 0x42, 0x69, 0x64, 0x69, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0c, 0x70, 0x6f, 0x73, 0x74, 0x74, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x70, 0x6f, 0x73, 0x74, 0x74, 0x6f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x62, 0x75, 0x66, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x62, 0x75, 0x66, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x62, 0x69, 0x74, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x10, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x10, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x69, 0x6e, 0x67, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x3f, 0x0a, 0x1b, 0x43, 0x42, 0x69, 0x64, 0x69, 0x72, 0x4d, 0x73, 0x67, 0x5f, 0x52, 0x65, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x9a, 0x09, 0x0a, 0x16, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x64, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x70, 0x75, 0x5f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x63, 0x70, 0x75, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x6d, 0x62, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x55, 0x73, 0x65, 0x64, 0x4d, 0x62, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x5f, 0x66, 0x72, 0x65, 0x65, 0x5f, 0x6d, 0x62, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x46, 0x72, 0x65, 0x65, 0x4d, 0x62, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x75, 0x70, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x73, 0x70, 0x61, 0x77, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6d, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6e, 0x75, 0x6d, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6e, 0x75, 0x6d, 0x5f, 0x62, 0x6f, 0x74, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x6e, 0x75, 0x6d, 0x42, 0x6f, 0x74, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6e, 0x75, 0x6d, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6e, 0x75, 0x6d, 0x53, 0x70, 0x65, 0x63, 0x74, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x12, 0x22, 0x0a, 0x0d, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x76, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x79, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x54, 0x76, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x66, 0x70, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x03, 0x66, 0x70, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x50, 0x6f, 0x72, 0x74, 0x52, 0x05, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x76, 0x67, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x61, 0x76, 0x67, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x4f, 0x75, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x76, 0x67, 0x5f, 0x6c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x5f, 0x69, 0x6e, 0x18, 0x13, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x61, 0x76, 0x67, 0x4c, 0x61, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x49, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x61, 0x76, 0x67, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x61, 0x76, 0x67, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x75, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x61, 0x76, 0x67, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x15, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x61, 0x76, 0x67, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x49, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x61, 0x76, 0x67, 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x16, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x61, 0x76, 0x67, 0x4c, 0x6f, 0x73, 0x73, 0x4f, 0x75, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x76, 0x67, 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x17, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x61, 0x76, 0x67, 0x4c, 0x6f, 0x73, 0x73, 0x49, 0x6e, 0x12, 0x20, 0x0a, 0x0c, 0x61, 0x76, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x18, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x61, 0x76, 0x67, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x75, 0x74, 0x12, 0x1e, 0x0a, 0x0b, 0x61, 0x76, 0x67, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x61, 0x76, 0x67, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6e, 0x12, 0x22, 0x0a, 0x0d, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6e, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x69, 0x6e, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x49, 0x6e, 0x12, 0x24, 0x0a, 0x0e, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x4f, 0x75, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x5f, 0x6f, 0x75, 0x74, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x4f, 0x75, 0x74, 0x12, 0x38, 0x0a, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x18, 0x1e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x73, 0x2e, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x52, 0x07, 0x70, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x73, 0x1a, 0x2e, 0x0a, 0x04, 0x50, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xc8, 0x01, 0x0a, 0x06, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x07, 0x73, 0x74, 0x65, 0x61, 0x6d, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x41, 0x64, 0x64, 0x72, 0x12, 0x24, 0x0a, 0x0e, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x64, 0x64, 0x65, 0x76, 0x5f, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x70, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x64, 0x64, 0x65, 0x76, 0x4d, 0x73, 0x12, 0x1e, 0x0a, 0x0b, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x76, 0x67, 0x5f, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x69, 0x6e, 0x67, 0x41, 0x76, 0x67, 0x4d, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x70, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x6f, 0x73, 0x73, 0x50, 0x63, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x69, 0x73, 0x5f, 0x62, 0x6f, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x69, 0x73, 0x42, 0x6f, 0x74, 0x22, 0xcd, 0x02, 0x0a, 0x12, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x6c, 0x74, 0x76, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x24, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x74, 0x6f, 0x70, 0x41, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x74, 0x61, 0x72, 0x74, 0x41, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x13, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x42, 0x65, 0x67, 0x69, 0x6e, 0x12, 0x2e, 0x0a, 0x13, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x52, 0x11, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x45, 0x6e, 0x64, 0x12, 0x30, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x12, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x53, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xc2, 0x01, 0x0a, 0x12, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x6c, 0x74, 0x76, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x73, 0x6c, 0x6f, 0x77, 0x64, 0x6f, 0x77, 0x6e, 0x52, 0x61, 0x74, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x2d, 0x0a, 0x19, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x6d, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x63, 0x6d, 0x64, 0x22, 0xd2, 0x02, 0x0a, 0x1d, 0x43, 0x43, 0x4c, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x6c, 0x74, 0x76, 0x46, 0x69, 0x78, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x69, 0x63, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04, 0x74, 0x69, 0x63, 0x6b, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x73, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x70, 0x73, 0x44, 0x61, 0x74, 0x61, 0x12, 0x23, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x2a, 0x0a, 0x0a, 0x65, 0x79, 0x65, 0x5f, 0x61, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x51, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x52, 0x09, 0x65, 0x79, 0x65, 0x41, 0x6e, 0x67, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x31, 0x0a, 0x14, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x6d, 0x61, 0x6e, 0x5f, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x13, 0x63, 0x61, 0x6d, 0x65, 0x72, 0x61, 0x6d, 0x61, 0x6e, 0x53, 0x63, 0x6f, 0x72, 0x65, 0x62, 0x6f, 0x61, 0x72, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0e, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x2c, 0x0a, 0x0b, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x43, 0x4d, 0x73, 0x67, 0x56, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0a, 0x76, 0x69, 0x65, 0x77, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x6b, 0x0a, 0x1f, 0x43, 0x53, 0x56, 0x43, 0x4d, 0x73, 0x67, 0x5f, 0x48, 0x6c, 0x74, 0x76, 0x46, 0x69, 0x78, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x12, 0x34, 0x0a, 0x16, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x2a, 0x8e, 0x03, 0x0a, 0x0c, 0x43, 0x4c, 0x43, 0x5f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x0e, 0x63, 0x6c, 0x63, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x14, 0x12, 0x0c, 0x0a, 0x08, 0x63, 0x6c, 0x63, 0x5f, 0x4d, 0x6f, 0x76, 0x65, 0x10, 0x15, 0x12, 0x11, 0x0a, 0x0d, 0x63, 0x6c, 0x63, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x10, 0x16, 0x12, 0x13, 0x0a, 0x0f, 0x63, 0x6c, 0x63, 0x5f, 0x42, 0x61, 0x73, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x41, 0x63, 0x6b, 0x10, 0x17, 0x12, 0x14, 0x0a, 0x10, 0x63, 0x6c, 0x63, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x10, 0x18, 0x12, 0x18, 0x0a, 0x14, 0x63, 0x6c, 0x63, 0x5f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x19, 0x12, 0x14, 0x0a, 0x10, 0x63, 0x6c, 0x63, 0x5f, 0x46, 0x69, 0x6c, 0x65, 0x43, 0x52, 0x43, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x10, 0x1a, 0x12, 0x17, 0x0a, 0x13, 0x63, 0x6c, 0x63, 0x5f, 0x4c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x67, 0x72, 0x65, 0x73, 0x73, 0x10, 0x1b, 0x12, 0x1a, 0x0a, 0x16, 0x63, 0x6c, 0x63, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x10, 0x1c, 0x12, 0x15, 0x0a, 0x11, 0x63, 0x6c, 0x63, 0x5f, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x10, 0x1d, 0x12, 0x1d, 0x0a, 0x19, 0x63, 0x6c, 0x63, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x50, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x10, 0x1e, 0x12, 0x14, 0x0a, 0x10, 0x63, 0x6c, 0x63, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x1f, 0x12, 0x12, 0x0a, 0x0e, 0x63, 0x6c, 0x63, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x50, 0x69, 0x6e, 0x67, 0x10, 0x20, 0x12, 0x14, 0x0a, 0x10, 0x63, 0x6c, 0x63, 0x5f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x75, 0x73, 0x65, 0x10, 0x21, 0x12, 0x14, 0x0a, 0x10, 0x63, 0x6c, 0x63, 0x5f, 0x43, 0x6d, 0x64, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x10, 0x22, 0x12, 0x19, 0x0a, 0x15, 0x63, 0x6c, 0x63, 0x5f, 0x52, 0x63, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x10, 0x23, 0x12, 0x12, 0x0a, 0x0e, 0x63, 0x6c, 0x63, 0x5f, 0x48, 0x6c, 0x74, 0x76, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x10, 0x24, 0x2a, 0x99, 0x05, 0x0a, 0x0c, 0x53, 0x56, 0x43, 0x5f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x12, 0x0a, 0x0e, 0x73, 0x76, 0x63, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x28, 0x12, 0x1b, 0x0a, 0x17, 0x73, 0x76, 0x63, 0x5f, 0x46, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x65, 0x64, 0x53, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x72, 0x10, 0x29, 0x12, 0x11, 0x0a, 0x0d, 0x73, 0x76, 0x63, 0x5f, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0x2a, 0x12, 0x10, 0x0a, 0x0c, 0x73, 0x76, 0x63, 0x5f, 0x53, 0x65, 0x74, 0x50, 0x61, 0x75, 0x73, 0x65, 0x10, 0x2b, 0x12, 0x19, 0x0a, 0x15, 0x73, 0x76, 0x63, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x2c, 0x12, 0x19, 0x0a, 0x15, 0x73, 0x76, 0x63, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x2d, 0x12, 0x11, 0x0a, 0x0d, 0x73, 0x76, 0x63, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x49, 0x6e, 0x69, 0x74, 0x10, 0x2e, 0x12, 0x11, 0x0a, 0x0d, 0x73, 0x76, 0x63, 0x5f, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x10, 0x2f, 0x12, 0x0d, 0x0a, 0x09, 0x73, 0x76, 0x63, 0x5f, 0x50, 0x72, 0x69, 0x6e, 0x74, 0x10, 0x30, 0x12, 0x0e, 0x0a, 0x0a, 0x73, 0x76, 0x63, 0x5f, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x73, 0x10, 0x31, 0x12, 0x0f, 0x0a, 0x0b, 0x73, 0x76, 0x63, 0x5f, 0x53, 0x65, 0x74, 0x56, 0x69, 0x65, 0x77, 0x10, 0x32, 0x12, 0x1c, 0x0a, 0x18, 0x73, 0x76, 0x63, 0x5f, 0x43, 0x6c, 0x65, 0x61, 0x72, 0x41, 0x6c, 0x6c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x54, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x10, 0x33, 0x12, 0x14, 0x0a, 0x10, 0x73, 0x76, 0x63, 0x5f, 0x43, 0x6d, 0x64, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x10, 0x34, 0x12, 0x10, 0x0a, 0x0c, 0x73, 0x76, 0x63, 0x5f, 0x42, 0x53, 0x50, 0x44, 0x65, 0x63, 0x61, 0x6c, 0x10, 0x35, 0x12, 0x13, 0x0a, 0x0f, 0x73, 0x76, 0x63, 0x5f, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x10, 0x36, 0x12, 0x16, 0x0a, 0x12, 0x73, 0x76, 0x63, 0x5f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x10, 0x37, 0x12, 0x10, 0x0a, 0x0c, 0x73, 0x76, 0x63, 0x5f, 0x50, 0x72, 0x65, 0x66, 0x65, 0x74, 0x63, 0x68, 0x10, 0x38, 0x12, 0x0c, 0x0a, 0x08, 0x73, 0x76, 0x63, 0x5f, 0x4d, 0x65, 0x6e, 0x75, 0x10, 0x39, 0x12, 0x14, 0x0a, 0x10, 0x73, 0x76, 0x63, 0x5f, 0x47, 0x65, 0x74, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x10, 0x3a, 0x12, 0x11, 0x0a, 0x0d, 0x73, 0x76, 0x63, 0x5f, 0x53, 0x74, 0x6f, 0x70, 0x53, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x3b, 0x12, 0x10, 0x0a, 0x0c, 0x73, 0x76, 0x63, 0x5f, 0x50, 0x65, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x10, 0x3c, 0x12, 0x16, 0x0a, 0x12, 0x73, 0x76, 0x63, 0x5f, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x6c, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x10, 0x3d, 0x12, 0x12, 0x0a, 0x0e, 0x73, 0x76, 0x63, 0x5f, 0x48, 0x4c, 0x54, 0x56, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x3e, 0x12, 0x15, 0x0a, 0x11, 0x73, 0x76, 0x63, 0x5f, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x53, 0x74, 0x65, 0x61, 0x6d, 0x49, 0x44, 0x10, 0x3f, 0x12, 0x16, 0x0a, 0x12, 0x73, 0x76, 0x63, 0x5f, 0x46, 0x75, 0x6c, 0x6c, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x10, 0x46, 0x12, 0x19, 0x0a, 0x15, 0x73, 0x76, 0x63, 0x5f, 0x52, 0x63, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x10, 0x47, 0x12, 0x13, 0x0a, 0x0f, 0x73, 0x76, 0x63, 0x5f, 0x55, 0x73, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x10, 0x48, 0x12, 0x12, 0x0a, 0x0e, 0x73, 0x76, 0x63, 0x5f, 0x48, 0x6c, 0x74, 0x76, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x10, 0x49, 0x12, 0x19, 0x0a, 0x15, 0x73, 0x76, 0x63, 0x5f, 0x42, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x5f, 0x43, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x10, 0x4a, 0x12, 0x1f, 0x0a, 0x1b, 0x73, 0x76, 0x63, 0x5f, 0x48, 0x6c, 0x74, 0x76, 0x46, 0x69, 0x78, 0x75, 0x70, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x10, 0x4b, 0x2a, 0x4c, 0x0a, 0x11, 0x56, 0x6f, 0x69, 0x63, 0x65, 0x44, 0x61, 0x74, 0x61, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x5f, 0x74, 0x12, 0x1a, 0x0a, 0x16, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x53, 0x54, 0x45, 0x41, 0x4d, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x45, 0x4e, 0x47, 0x49, 0x4e, 0x45, 0x10, 0x01, 0x2a, 0x42, 0x0a, 0x0e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x75, 0x73, 0x65, 0x5f, 0x74, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x50, 0x5f, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x50, 0x5f, 0x55, 0x4e, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x50, 0x5f, 0x54, 0x4f, 0x47, 0x47, 0x4c, 0x45, 0x50, 0x41, 0x55, 0x53, 0x45, 0x10, 0x02, 0x2a, 0x1d, 0x0a, 0x0c, 0x50, 0x72, 0x65, 0x66, 0x65, 0x74, 0x63, 0x68, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x50, 0x46, 0x54, 0x5f, 0x53, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x00, 0x2a, 0x56, 0x0a, 0x17, 0x45, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x53, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x4d, 0x53, 0x47, 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x41, 0x44, 0x44, 0x55, 0x53, 0x45, 0x52, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x4d, 0x53, 0x47, 0x5f, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x53, 0x43, 0x52, 0x45, 0x45, 0x4e, 0x5f, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x45, 0x55, 0x53, 0x45, 0x52, 0x10, 0x01, 0x2a, 0xb3, 0x01, 0x0a, 0x15, 0x45, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x21, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x43, 0x76, 0x61, 0x72, 0x4e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x4e, 0x6f, 0x74, 0x41, 0x43, 0x76, 0x61, 0x72, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x76, 0x61, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x43, 0x76, 0x61, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x10, 0x03, 0x2a, 0x68, 0x0a, 0x0b, 0x44, 0x49, 0x41, 0x4c, 0x4f, 0x47, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x12, 0x0e, 0x0a, 0x0a, 0x44, 0x49, 0x41, 0x4c, 0x4f, 0x47, 0x5f, 0x4d, 0x53, 0x47, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x49, 0x41, 0x4c, 0x4f, 0x47, 0x5f, 0x4d, 0x45, 0x4e, 0x55, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x44, 0x49, 0x41, 0x4c, 0x4f, 0x47, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x44, 0x49, 0x41, 0x4c, 0x4f, 0x47, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x59, 0x10, 0x03, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x49, 0x41, 0x4c, 0x4f, 0x47, 0x5f, 0x41, 0x53, 0x4b, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x10, 0x04, 0x2a, 0x2b, 0x0a, 0x19, 0x53, 0x56, 0x43, 0x5f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x4c, 0x6f, 0x77, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x0e, 0x0a, 0x09, 0x73, 0x76, 0x63, 0x5f, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x10, 0xd8, 0x04, 0x2a, 0x61, 0x0a, 0x16, 0x42, 0x69, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x1b, 0x0a, 0x17, 0x62, 0x69, 0x5f, 0x52, 0x65, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x10, 0x12, 0x18, 0x0a, 0x14, 0x62, 0x69, 0x5f, 0x52, 0x65, 0x62, 0x72, 0x6f, 0x61, 0x64, 0x63, 0x61, 0x73, 0x74, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x10, 0x11, 0x12, 0x10, 0x0a, 0x0c, 0x62, 0x69, 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x10, 0x12, 0x2a, 0x4d, 0x0a, 0x23, 0x42, 0x69, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x5f, 0x4c, 0x6f, 0x77, 0x46, 0x72, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x11, 0x0a, 0x0c, 0x62, 0x69, 0x5f, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x49, 0x6e, 0x66, 0x6f, 0x10, 0xbc, 0x05, 0x12, 0x13, 0x0a, 0x0e, 0x62, 0x69, 0x5f, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x10, 0xbd, 0x05, 0x2a, 0xa1, 0x01, 0x0a, 0x11, 0x52, 0x65, 0x70, 0x6c, 0x61, 0x79, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x5f, 0x74, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x44, 0x45, 0x41, 0x54, 0x48, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x47, 0x45, 0x4e, 0x45, 0x52, 0x49, 0x43, 0x10, 0x02, 0x12, 0x27, 0x0a, 0x23, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x54, 0x55, 0x43, 0x4b, 0x5f, 0x4e, 0x45, 0x45, 0x44, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x55, 0x50, 0x44, 0x41, 0x54, 0x45, 0x10, 0x03, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x50, 0x4c, 0x41, 0x59, 0x5f, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x5f, 0x56, 0x49, 0x43, 0x54, 0x4f, 0x52, 0x59, 0x10, 0x04, 0x42, 0x0b, 0x5a, 0x06, 0x2e, 0x2f, 0x64, 0x65, 0x6d, 0x6f, 0x80, 0x01, 0x00, } var ( file_netmessages_proto_rawDescOnce sync.Once file_netmessages_proto_rawDescData = file_netmessages_proto_rawDesc ) func file_netmessages_proto_rawDescGZIP() []byte { file_netmessages_proto_rawDescOnce.Do(func() { file_netmessages_proto_rawDescData = protoimpl.X.CompressGZIP(file_netmessages_proto_rawDescData) }) return file_netmessages_proto_rawDescData } var file_netmessages_proto_enumTypes = make([]protoimpl.EnumInfo, 12) var file_netmessages_proto_msgTypes = make([]protoimpl.MessageInfo, 69) var file_netmessages_proto_goTypes = []interface{}{ (CLC_Messages)(0), // 0: CLC_Messages (SVC_Messages)(0), // 1: SVC_Messages (VoiceDataFormatT)(0), // 2: VoiceDataFormat_t (RequestPauseT)(0), // 3: RequestPause_t (PrefetchType)(0), // 4: PrefetchType (ESplitScreenMessageType)(0), // 5: ESplitScreenMessageType (EQueryCvarValueStatus)(0), // 6: EQueryCvarValueStatus (DIALOG_TYPE)(0), // 7: DIALOG_TYPE (SVC_Messages_LowFrequency)(0), // 8: SVC_Messages_LowFrequency (Bidirectional_Messages)(0), // 9: Bidirectional_Messages (Bidirectional_Messages_LowFrequency)(0), // 10: Bidirectional_Messages_LowFrequency (ReplayEventTypeT)(0), // 11: ReplayEventType_t (*CCLCMsg_ClientInfo)(nil), // 12: CCLCMsg_ClientInfo (*CCLCMsg_Move)(nil), // 13: CCLCMsg_Move (*CMsgVoiceAudio)(nil), // 14: CMsgVoiceAudio (*CCLCMsg_VoiceData)(nil), // 15: CCLCMsg_VoiceData (*CCLCMsg_BaselineAck)(nil), // 16: CCLCMsg_BaselineAck (*CCLCMsg_ListenEvents)(nil), // 17: CCLCMsg_ListenEvents (*CCLCMsg_RespondCvarValue)(nil), // 18: CCLCMsg_RespondCvarValue (*CCLCMsg_FileCRCCheck)(nil), // 19: CCLCMsg_FileCRCCheck (*CCLCMsg_LoadingProgress)(nil), // 20: CCLCMsg_LoadingProgress (*CCLCMsg_SplitPlayerConnect)(nil), // 21: CCLCMsg_SplitPlayerConnect (*CCLCMsg_ClientMessage)(nil), // 22: CCLCMsg_ClientMessage (*CCLCMsg_SplitPlayerDisconnect)(nil), // 23: CCLCMsg_SplitPlayerDisconnect (*CCLCMsg_ServerStatus)(nil), // 24: CCLCMsg_ServerStatus (*CCLCMsg_ServerPing)(nil), // 25: CCLCMsg_ServerPing (*CCLCMsg_RequestPause)(nil), // 26: CCLCMsg_RequestPause (*CCLCMsg_CmdKeyValues)(nil), // 27: CCLCMsg_CmdKeyValues (*CCLCMsg_RconServerDetails)(nil), // 28: CCLCMsg_RconServerDetails (*CSVCMsg_ServerInfo)(nil), // 29: CSVCMsg_ServerInfo (*CSVCMsg_ClassInfo)(nil), // 30: CSVCMsg_ClassInfo (*CSVCMsg_SetPause)(nil), // 31: CSVCMsg_SetPause (*CSVCMsg_VoiceInit)(nil), // 32: CSVCMsg_VoiceInit (*CSVCMsg_Print)(nil), // 33: CSVCMsg_Print (*CSVCMsg_Sounds)(nil), // 34: CSVCMsg_Sounds (*CSVCMsg_Prefetch)(nil), // 35: CSVCMsg_Prefetch (*CSVCMsg_SetView)(nil), // 36: CSVCMsg_SetView (*CSVCMsg_FixAngle)(nil), // 37: CSVCMsg_FixAngle (*CSVCMsg_CrosshairAngle)(nil), // 38: CSVCMsg_CrosshairAngle (*CSVCMsg_BSPDecal)(nil), // 39: CSVCMsg_BSPDecal (*CSVCMsg_SplitScreen)(nil), // 40: CSVCMsg_SplitScreen (*CSVCMsg_GetCvarValue)(nil), // 41: CSVCMsg_GetCvarValue (*CSVCMsg_Menu)(nil), // 42: CSVCMsg_Menu (*CSVCMsg_UserMessage)(nil), // 43: CSVCMsg_UserMessage (*CSVCMsg_SendTable)(nil), // 44: CSVCMsg_SendTable (*CSVCMsg_GameEventList)(nil), // 45: CSVCMsg_GameEventList (*CSVCMsg_PacketEntities)(nil), // 46: CSVCMsg_PacketEntities (*CSVCMsg_TempEntities)(nil), // 47: CSVCMsg_TempEntities (*CSVCMsg_CreateStringTable)(nil), // 48: CSVCMsg_CreateStringTable (*CSVCMsg_UpdateStringTable)(nil), // 49: CSVCMsg_UpdateStringTable (*CSVCMsg_VoiceData)(nil), // 50: CSVCMsg_VoiceData (*CSVCMsg_PacketReliable)(nil), // 51: CSVCMsg_PacketReliable (*CSVCMsg_FullFrameSplit)(nil), // 52: CSVCMsg_FullFrameSplit (*CSVCMsg_HLTVStatus)(nil), // 53: CSVCMsg_HLTVStatus (*CSVCMsg_ServerSteamID)(nil), // 54: CSVCMsg_ServerSteamID (*CSVCMsg_CmdKeyValues)(nil), // 55: CSVCMsg_CmdKeyValues (*CSVCMsg_RconServerDetails)(nil), // 56: CSVCMsg_RconServerDetails (*CMsgIPCAddress)(nil), // 57: CMsgIPCAddress (*CMsgServerPeer)(nil), // 58: CMsgServerPeer (*CSVCMsg_PeerList)(nil), // 59: CSVCMsg_PeerList (*CSVCMsg_ClearAllStringTables)(nil), // 60: CSVCMsg_ClearAllStringTables (*ProtoFlattenedSerializerFieldT)(nil), // 61: ProtoFlattenedSerializerField_t (*ProtoFlattenedSerializerT)(nil), // 62: ProtoFlattenedSerializer_t (*CSVCMsg_FlattenedSerializer)(nil), // 63: CSVCMsg_FlattenedSerializer (*CSVCMsg_StopSound)(nil), // 64: CSVCMsg_StopSound (*CBidirMsg_RebroadcastGameEvent)(nil), // 65: CBidirMsg_RebroadcastGameEvent (*CBidirMsg_RebroadcastSource)(nil), // 66: CBidirMsg_RebroadcastSource (*CMsgServerNetworkStats)(nil), // 67: CMsgServerNetworkStats (*CSVCMsg_HltvReplay)(nil), // 68: CSVCMsg_HltvReplay (*CCLCMsg_HltvReplay)(nil), // 69: CCLCMsg_HltvReplay (*CSVCMsg_Broadcast_Command)(nil), // 70: CSVCMsg_Broadcast_Command (*CCLCMsg_HltvFixupOperatorTick)(nil), // 71: CCLCMsg_HltvFixupOperatorTick (*CSVCMsg_HltvFixupOperatorStatus)(nil), // 72: CSVCMsg_HltvFixupOperatorStatus (*CSVCMsg_ClassInfoClassT)(nil), // 73: CSVCMsg_ClassInfo.class_t (*CSVCMsg_SoundsSounddataT)(nil), // 74: CSVCMsg_Sounds.sounddata_t (*CSVCMsg_SendTableSendpropT)(nil), // 75: CSVCMsg_SendTable.sendprop_t (*CSVCMsg_GameEventListKeyT)(nil), // 76: CSVCMsg_GameEventList.key_t (*CSVCMsg_GameEventListDescriptorT)(nil), // 77: CSVCMsg_GameEventList.descriptor_t (*CSVCMsg_PacketEntitiesCommandQueueInfoT)(nil), // 78: CSVCMsg_PacketEntities.command_queue_info_t (*CMsgServerNetworkStats_Port)(nil), // 79: CMsgServerNetworkStats.Port (*CMsgServerNetworkStats_Player)(nil), // 80: CMsgServerNetworkStats.Player (*CSVCMsg_GameSessionConfiguration)(nil), // 81: CSVCMsg_GameSessionConfiguration (*CMsgQAngle)(nil), // 82: CMsgQAngle (*CMsgVector)(nil), // 83: CMsgVector } var file_netmessages_proto_depIdxs = []int32{ 2, // 0: CMsgVoiceAudio.format:type_name -> VoiceDataFormat_t 14, // 1: CCLCMsg_VoiceData.audio:type_name -> CMsgVoiceAudio 3, // 2: CCLCMsg_RequestPause.pause_type:type_name -> RequestPause_t 81, // 3: CSVCMsg_ServerInfo.game_session_config:type_name -> CSVCMsg_GameSessionConfiguration 73, // 4: CSVCMsg_ClassInfo.classes:type_name -> CSVCMsg_ClassInfo.class_t 74, // 5: CSVCMsg_Sounds.sounds:type_name -> CSVCMsg_Sounds.sounddata_t 4, // 6: CSVCMsg_Prefetch.resource_type:type_name -> PrefetchType 82, // 7: CSVCMsg_FixAngle.angle:type_name -> CMsgQAngle 82, // 8: CSVCMsg_CrosshairAngle.angle:type_name -> CMsgQAngle 83, // 9: CSVCMsg_BSPDecal.pos:type_name -> CMsgVector 5, // 10: CSVCMsg_SplitScreen.type:type_name -> ESplitScreenMessageType 75, // 11: CSVCMsg_SendTable.props:type_name -> CSVCMsg_SendTable.sendprop_t 77, // 12: CSVCMsg_GameEventList.descriptors:type_name -> CSVCMsg_GameEventList.descriptor_t 78, // 13: CSVCMsg_PacketEntities.command_queue_info:type_name -> CSVCMsg_PacketEntities.command_queue_info_t 14, // 14: CSVCMsg_VoiceData.audio:type_name -> CMsgVoiceAudio 57, // 15: CMsgServerPeer.ipc:type_name -> CMsgIPCAddress 58, // 16: CSVCMsg_PeerList.peer:type_name -> CMsgServerPeer 62, // 17: CSVCMsg_FlattenedSerializer.serializers:type_name -> ProtoFlattenedSerializer_t 61, // 18: CSVCMsg_FlattenedSerializer.fields:type_name -> ProtoFlattenedSerializerField_t 79, // 19: CMsgServerNetworkStats.ports:type_name -> CMsgServerNetworkStats.Port 80, // 20: CMsgServerNetworkStats.players:type_name -> CMsgServerNetworkStats.Player 83, // 21: CCLCMsg_HltvFixupOperatorTick.origin:type_name -> CMsgVector 82, // 22: CCLCMsg_HltvFixupOperatorTick.eye_angles:type_name -> CMsgQAngle 83, // 23: CCLCMsg_HltvFixupOperatorTick.view_offset:type_name -> CMsgVector 76, // 24: CSVCMsg_GameEventList.descriptor_t.keys:type_name -> CSVCMsg_GameEventList.key_t 25, // [25:25] is the sub-list for method output_type 25, // [25:25] is the sub-list for method input_type 25, // [25:25] is the sub-list for extension type_name 25, // [25:25] is the sub-list for extension extendee 0, // [0:25] is the sub-list for field type_name } func init() { file_netmessages_proto_init() } func file_netmessages_proto_init() { if File_netmessages_proto != nil { return } file_networkbasetypes_proto_init() if !protoimpl.UnsafeEnabled { file_netmessages_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CCLCMsg_ClientInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CCLCMsg_Move); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgVoiceAudio); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CCLCMsg_VoiceData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CCLCMsg_BaselineAck); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CCLCMsg_ListenEvents); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CCLCMsg_RespondCvarValue); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CCLCMsg_FileCRCCheck); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CCLCMsg_LoadingProgress); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CCLCMsg_SplitPlayerConnect); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CCLCMsg_ClientMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CCLCMsg_SplitPlayerDisconnect); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CCLCMsg_ServerStatus); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CCLCMsg_ServerPing); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CCLCMsg_RequestPause); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CCLCMsg_CmdKeyValues); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CCLCMsg_RconServerDetails); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_ServerInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_ClassInfo); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_SetPause); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_VoiceInit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_Print); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_Sounds); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_Prefetch); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_SetView); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_FixAngle); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_CrosshairAngle); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_BSPDecal); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_SplitScreen); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_GetCvarValue); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_Menu); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_UserMessage); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_SendTable); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_GameEventList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_PacketEntities); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_TempEntities); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_CreateStringTable); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_UpdateStringTable); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_VoiceData); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_PacketReliable); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_FullFrameSplit); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_HLTVStatus); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_ServerSteamID); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_CmdKeyValues); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_RconServerDetails); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgIPCAddress); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgServerPeer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_PeerList); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_ClearAllStringTables); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProtoFlattenedSerializerFieldT); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProtoFlattenedSerializerT); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_FlattenedSerializer); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_StopSound); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CBidirMsg_RebroadcastGameEvent); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CBidirMsg_RebroadcastSource); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgServerNetworkStats); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_HltvReplay); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CCLCMsg_HltvReplay); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_Broadcast_Command); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CCLCMsg_HltvFixupOperatorTick); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_HltvFixupOperatorStatus); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_ClassInfoClassT); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_SoundsSounddataT); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_SendTableSendpropT); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_GameEventListKeyT); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_GameEventListDescriptorT); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CSVCMsg_PacketEntitiesCommandQueueInfoT); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgServerNetworkStats_Port); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } file_netmessages_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CMsgServerNetworkStats_Player); i { case 0: return &v.state case 1: return &v.sizeCache case 2: return &v.unknownFields default: return nil } } } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_netmessages_proto_rawDesc, NumEnums: 12, NumMessages: 69, NumExtensions: 0, NumServices: 0, }, GoTypes: file_netmessages_proto_goTypes, DependencyIndexes: file_netmessages_proto_depIdxs, EnumInfos: file_netmessages_proto_enumTypes, MessageInfos: file_netmessages_proto_msgTypes, }.Build() File_netmessages_proto = out.File file_netmessages_proto_rawDesc = nil file_netmessages_proto_goTypes = nil file_netmessages_proto_depIdxs = nil }